summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernd Zeimetz <bernd@bzed.de>2014-05-20 20:57:21 +0200
committerBernd Zeimetz <bernd@bzed.de>2014-05-20 20:57:21 +0200
commitc7c0831f5c3b6a300c0879de233835a54521a320 (patch)
tree2b7b62630950ca7ad112c0f04ad453e5c271a87d
parent953c9042354d06593f96e7de6127a741fad23594 (diff)
Imported Upstream version 1.5.1
-rw-r--r--ABOUT-NLS1068
-rw-r--r--ChangeLog694
-rw-r--r--Makefile.in18
-rw-r--r--NEWS55
-rw-r--r--README10
-rw-r--r--aclocal.m4207
-rwxr-xr-xcompile347
-rwxr-xr-xconfig.guess1558
-rwxr-xr-xconfig.rpath666
-rwxr-xr-xconfig.sub1791
-rwxr-xr-xconfigure677
-rw-r--r--configure.ac68
-rw-r--r--data/Makefile.in6
-rw-r--r--data/external_tools.xml3
-rw-r--r--data/goto_tools.xml10
-rw-r--r--data/maps.xml10
-rwxr-xr-xdepcomp455
-rw-r--r--help/C/figures/DEM_file_info_dialog.pngbin0 -> 20322 bytes
-rw-r--r--help/C/figures/LayersTracksList.pngbin0 -> 91676 bytes
-rw-r--r--help/C/figures/LayersTracksStatistics.pngbin0 -> 33593 bytes
-rw-r--r--help/C/figures/Maps_download_region_dialog.pngbin0 -> 19363 bytes
-rw-r--r--help/C/figures/Track_elevation_graph.pngbin0 -> 40044 bytes
-rw-r--r--help/C/figures/Track_properties.pngbin0 -> 34931 bytes
-rw-r--r--help/C/figures/Track_statistics.pngbin0 -> 64142 bytes
-rw-r--r--help/C/figures/Trackpoint_edit_dialog.pngbin0 -> 46249 bytes
-rw-r--r--help/C/figures/WaypointsList.pngbin0 -> 43349 bytes
-rw-r--r--help/C/viking.xml920
-rw-r--r--help/Makefile.am28
-rw-r--r--help/Makefile.in128
-rw-r--r--help/viking.xml481
-rwxr-xr-xinstall-sh14
-rw-r--r--m4/nls.m431
-rwxr-xr-xmissing414
-rwxr-xr-xmkinstalldirs4
-rw-r--r--po/ChangeLog24
-rw-r--r--po/LINGUAS3
-rw-r--r--po/POTFILES.in11
-rw-r--r--po/ast.po4744
-rw-r--r--po/cs.po2762
-rw-r--r--po/da.po2730
-rw-r--r--po/de.po2933
-rw-r--r--po/el.po2728
-rw-r--r--po/en_GB.po2720
-rw-r--r--po/es.po2746
-rw-r--r--po/eu.po4825
-rw-r--r--po/fi.po2753
-rw-r--r--po/fr.po3010
-rw-r--r--po/he.po2718
-rw-r--r--po/hu.po2748
-rw-r--r--po/id.po2734
-rw-r--r--po/it.po2808
-rw-r--r--po/ja.po2718
-rw-r--r--po/jv.po2718
-rw-r--r--po/lt.po2748
-rw-r--r--po/lv.po2718
-rw-r--r--po/nb.po2732
-rw-r--r--po/nl.po2722
-rw-r--r--po/pl.po2736
-rw-r--r--po/pt_BR.po2748
-rw-r--r--po/ru.po2756
-rw-r--r--po/sk.po4715
-rw-r--r--po/sl.po2732
-rw-r--r--po/sv.po2734
-rw-r--r--po/uk.po2718
-rw-r--r--po/zh_CN.po2734
-rw-r--r--po/zh_TW.po2734
-rw-r--r--src/Makefile.am22
-rw-r--r--src/Makefile.in242
-rw-r--r--src/acquire.c53
-rw-r--r--src/acquire.h14
-rw-r--r--src/babel.c77
-rw-r--r--src/babel.h4
-rw-r--r--src/background.c15
-rw-r--r--src/bingmapsource.c5
-rw-r--r--src/bingmapsource.h2
-rw-r--r--src/clipboard.c132
-rw-r--r--src/clipboard.h3
-rw-r--r--src/compression.c204
-rw-r--r--src/compression.h37
-rw-r--r--src/config.h28
-rw-r--r--src/config.h.in18
-rw-r--r--src/coords.c12
-rw-r--r--src/curl_download.c16
-rw-r--r--src/datasource_bfilter.c2
-rw-r--r--src/datasource_file.c27
-rw-r--r--src/datasource_gc.c32
-rw-r--r--src/datasource_geotag.c7
-rw-r--r--src/datasource_google.c125
-rw-r--r--src/datasource_gps.c188
-rw-r--r--src/datasource_osm.c15
-rw-r--r--src/datasource_osm_my_traces.c39
-rw-r--r--src/datasource_routing.c135
-rw-r--r--src/datasource_url.c161
-rw-r--r--src/datasources.h7
-rw-r--r--src/degrees_converters.c2
-rw-r--r--src/dem.c81
-rw-r--r--src/dem.h2
-rw-r--r--src/dems.h2
-rw-r--r--src/dialog.c315
-rw-r--r--src/dialog.h11
-rw-r--r--src/dir.c36
-rw-r--r--src/dir.h5
-rw-r--r--src/download.c106
-rw-r--r--src/download.h8
-rw-r--r--src/expedia.c2
-rw-r--r--src/file.c216
-rw-r--r--src/file.h7
-rw-r--r--src/fileutils.c46
-rw-r--r--src/fileutils.h32
-rw-r--r--src/garminsymbols.c581
-rw-r--r--src/garminsymbols.h1
-rw-r--r--src/geonamessearch.c7
-rw-r--r--src/geotag_exif.c1
-rw-r--r--src/globals.c196
-rw-r--r--src/globals.h49
-rw-r--r--src/google.c24
-rw-r--r--src/googlesearch.c2
-rw-r--r--src/gpspoint.c60
-rw-r--r--src/gpx.c85
-rw-r--r--src/gpx.h1
-rw-r--r--src/icons/Makefile.am2
-rw-r--r--src/icons/Makefile.in36
-rw-r--r--src/icons/icons.h2
-rw-r--r--src/icons/wp_exit_large.pngbin0 -> 640 bytes
-rw-r--r--src/icons/wp_grnd_trans_large.pngbin443 -> 423 bytes
-rw-r--r--src/icons/wp_helipad_large.pngbin0 -> 461 bytes
-rw-r--r--src/libjpeg/jpeg-data.c37
-rw-r--r--src/main.c23
-rw-r--r--src/mapcache.c2
-rw-r--r--src/maputils.c74
-rw-r--r--src/maputils.h39
-rw-r--r--src/menu.xml.h10
-rw-r--r--src/modules.c85
-rw-r--r--src/osm-traces.c92
-rw-r--r--src/osm-traces.h2
-rw-r--r--src/osm.c45
-rw-r--r--src/preferences.c123
-rw-r--r--src/preferences.h5
-rw-r--r--src/print-preview.c14
-rw-r--r--src/print.c14
-rw-r--r--src/print.h6
-rw-r--r--src/settings.c289
-rw-r--r--src/settings.h58
-rw-r--r--src/terraservermapsource.c2
-rw-r--r--src/terraservermapsource.h2
-rw-r--r--src/thumbnails.c5
-rw-r--r--src/uibuilder.c141
-rw-r--r--src/uibuilder.h154
-rw-r--r--src/util.c176
-rw-r--r--src/util.h3
-rw-r--r--src/vikaggregatelayer.c344
-rw-r--r--src/vikaggregatelayer.h10
-rw-r--r--src/vikcoordlayer.c95
-rw-r--r--src/vikcoordlayer.h9
-rw-r--r--src/vikdemlayer.c286
-rw-r--r--src/vikdemlayer.h9
-rw-r--r--src/vikexttool_datasources.c89
-rw-r--r--src/vikexttool_datasources.h40
-rw-r--r--src/vikexttools.c32
-rw-r--r--src/vikexttools.h2
-rw-r--r--src/vikfileentry.c2
-rw-r--r--src/vikfileentry.h2
-rw-r--r--src/vikfilelist.c14
-rw-r--r--src/vikfilelist.h2
-rw-r--r--src/vikgeoreflayer.c160
-rw-r--r--src/vikgobjectbuilder.c6
-rw-r--r--src/vikgobjectbuilder.h2
-rw-r--r--src/vikgoto.c246
-rw-r--r--src/vikgoto.h1
-rw-r--r--src/vikgpslayer.c267
-rw-r--r--src/viking.h3
-rw-r--r--src/viklayer.c170
-rw-r--r--src/viklayer.h38
-rw-r--r--src/viklayer_defaults.c390
-rw-r--r--src/viklayer_defaults.h40
-rw-r--r--src/viklayerspanel.c132
-rw-r--r--src/viklayerspanel.h7
-rw-r--r--src/vikmapslayer.c579
-rw-r--r--src/vikmapslayer.h3
-rw-r--r--src/vikmapslayer_compat.h4
-rw-r--r--src/vikmapsource.c2
-rw-r--r--src/vikmapsourcedefault.h2
-rw-r--r--src/vikmaptype.h2
-rw-r--r--src/vikrouting.c305
-rw-r--r--src/vikrouting.h46
-rw-r--r--src/vikroutingengine.c347
-rw-r--r--src/vikroutingengine.h75
-rw-r--r--src/vikroutingwebengine.c583
-rw-r--r--src/vikroutingwebengine.h54
-rw-r--r--src/vikslippymapsource.c48
-rw-r--r--src/vikslippymapsource.h4
-rw-r--r--src/vikstatus.c24
-rw-r--r--src/viktmsmapsource.c51
-rw-r--r--src/viktmsmapsource.h2
-rw-r--r--src/viktrack.c445
-rw-r--r--src/viktrack.h27
-rw-r--r--src/viktreeview.c244
-rw-r--r--src/viktreeview.h18
-rw-r--r--src/viktrwlayer.c2744
-rw-r--r--src/viktrwlayer.h57
-rw-r--r--src/viktrwlayer_analysis.c561
-rw-r--r--src/viktrwlayer_analysis.h41
-rw-r--r--src/viktrwlayer_geotag.c164
-rw-r--r--src/viktrwlayer_geotag.h5
-rw-r--r--src/viktrwlayer_propwin.c429
-rw-r--r--src/viktrwlayer_propwin.h2
-rw-r--r--src/viktrwlayer_tpwin.c148
-rw-r--r--src/viktrwlayer_tpwin.h2
-rw-r--r--src/viktrwlayer_tracklist.c657
-rw-r--r--src/viktrwlayer_tracklist.h38
-rw-r--r--src/viktrwlayer_waypointlist.c605
-rw-r--r--src/viktrwlayer_waypointlist.h38
-rw-r--r--src/vikutils.c443
-rw-r--r--src/vikutils.h39
-rw-r--r--src/vikviewport.c216
-rw-r--r--src/vikviewport.h2
-rw-r--r--src/vikwaypoint.c43
-rw-r--r--src/vikwaypoint.h7
-rw-r--r--src/vikwebtool_datasource.c379
-rw-r--r--src/vikwebtool_datasource.h61
-rw-r--r--src/vikwebtoolcenter.c31
-rw-r--r--src/vikwindow.c852
-rw-r--r--src/vikwindow.h5
-rw-r--r--src/vikwmscmapsource.c61
-rw-r--r--src/vikwmscmapsource.h2
-rwxr-xr-xtest-driver20
-rw-r--r--test/Makefile.in10
-rw-r--r--viking.spec10
-rw-r--r--viking.spec.in8
-rw-r--r--win32/Makefile.am2
-rw-r--r--win32/Makefile.in8
-rw-r--r--win32/README.txt3
-rw-r--r--win32/configure_and_make.bat8
-rw-r--r--win32/installer.bat25
-rw-r--r--win32/installer/Makefile.in6
-rw-r--r--win32/installer/pixmaps/Makefile.in6
-rw-r--r--win32/installer/translations/Makefile.in6
-rw-r--r--win32/installer/viking-installer.nsi2
-rw-r--r--win32/make.bat11
-rw-r--r--win32/prepare.bat69
240 files changed, 85646 insertions, 28007 deletions
diff --git a/ABOUT-NLS b/ABOUT-NLS
new file mode 100644
index 0000000..83bc72e
--- /dev/null
+++ b/ABOUT-NLS
@@ -0,0 +1,1068 @@
+1 Notes on the Free Translation Project
+***************************************
+
+Free software is going international! The Free Translation Project is
+a way to get maintainers of free software, translators, and users all
+together, so that free software will gradually become able to speak many
+languages. A few packages already provide translations for their
+messages.
+
+ If you found this `ABOUT-NLS' file inside a distribution, you may
+assume that the distributed package does use GNU `gettext' internally,
+itself available at your nearest GNU archive site. But you do _not_
+need to install GNU `gettext' prior to configuring, installing or using
+this package with messages translated.
+
+ Installers will find here some useful hints. These notes also
+explain how users should proceed for getting the programs to use the
+available translations. They tell how people wanting to contribute and
+work on translations can contact the appropriate team.
+
+ When reporting bugs in the `intl/' directory or bugs which may be
+related to internationalization, you should tell about the version of
+`gettext' which is used. The information can be found in the
+`intl/VERSION' file, in internationalized packages.
+
+1.1 Quick configuration advice
+==============================
+
+If you want to exploit the full power of internationalization, you
+should configure it using
+
+ ./configure --with-included-gettext
+
+to force usage of internationalizing routines provided within this
+package, despite the existence of internationalizing capabilities in the
+operating system where this package is being installed. So far, only
+the `gettext' implementation in the GNU C library version 2 provides as
+many features (such as locale alias, message inheritance, automatic
+charset conversion or plural form handling) as the implementation here.
+It is also not possible to offer this additional functionality on top
+of a `catgets' implementation. Future versions of GNU `gettext' will
+very likely convey even more functionality. So it might be a good idea
+to change to GNU `gettext' as soon as possible.
+
+ So you need _not_ provide this option if you are using GNU libc 2 or
+you have installed a recent copy of the GNU gettext package with the
+included `libintl'.
+
+1.2 INSTALL Matters
+===================
+
+Some packages are "localizable" when properly installed; the programs
+they contain can be made to speak your own native language. Most such
+packages use GNU `gettext'. Other packages have their own ways to
+internationalization, predating GNU `gettext'.
+
+ By default, this package will be installed to allow translation of
+messages. It will automatically detect whether the system already
+provides the GNU `gettext' functions. If not, the included GNU
+`gettext' library will be used. This library is wholly contained
+within this package, usually in the `intl/' subdirectory, so prior
+installation of the GNU `gettext' package is _not_ required.
+Installers may use special options at configuration time for changing
+the default behaviour. The commands:
+
+ ./configure --with-included-gettext
+ ./configure --disable-nls
+
+will, respectively, bypass any pre-existing `gettext' to use the
+internationalizing routines provided within this package, or else,
+_totally_ disable translation of messages.
+
+ When you already have GNU `gettext' installed on your system and run
+configure without an option for your new package, `configure' will
+probably detect the previously built and installed `libintl.a' file and
+will decide to use this. This might not be desirable. You should use
+the more recent version of the GNU `gettext' library. I.e. if the file
+`intl/VERSION' shows that the library which comes with this package is
+more recent, you should use
+
+ ./configure --with-included-gettext
+
+to prevent auto-detection.
+
+ The configuration process will not test for the `catgets' function
+and therefore it will not be used. The reason is that even an
+emulation of `gettext' on top of `catgets' could not provide all the
+extensions of the GNU `gettext' library.
+
+ Internationalized packages usually have many `po/LL.po' files, where
+LL gives an ISO 639 two-letter code identifying the language. Unless
+translations have been forbidden at `configure' time by using the
+`--disable-nls' switch, all available translations are installed
+together with the package. However, the environment variable `LINGUAS'
+may be set, prior to configuration, to limit the installed set.
+`LINGUAS' should then contain a space separated list of two-letter
+codes, stating which languages are allowed.
+
+1.3 Using This Package
+======================
+
+As a user, if your language has been installed for this package, you
+only have to set the `LANG' environment variable to the appropriate
+`LL_CC' combination. If you happen to have the `LC_ALL' or some other
+`LC_xxx' environment variables set, you should unset them before
+setting `LANG', otherwise the setting of `LANG' will not have the
+desired effect. Here `LL' is an ISO 639 two-letter language code, and
+`CC' is an ISO 3166 two-letter country code. For example, let's
+suppose that you speak German and live in Germany. At the shell
+prompt, merely execute `setenv LANG de_DE' (in `csh'),
+`export LANG; LANG=de_DE' (in `sh') or `export LANG=de_DE' (in `bash').
+This can be done from your `.login' or `.profile' file, once and for
+all.
+
+ You might think that the country code specification is redundant.
+But in fact, some languages have dialects in different countries. For
+example, `de_AT' is used for Austria, and `pt_BR' for Brazil. The
+country code serves to distinguish the dialects.
+
+ The locale naming convention of `LL_CC', with `LL' denoting the
+language and `CC' denoting the country, is the one use on systems based
+on GNU libc. On other systems, some variations of this scheme are
+used, such as `LL' or `LL_CC.ENCODING'. You can get the list of
+locales supported by your system for your language by running the
+command `locale -a | grep '^LL''.
+
+ Not all programs have translations for all languages. By default, an
+English message is shown in place of a nonexistent translation. If you
+understand other languages, you can set up a priority list of languages.
+This is done through a different environment variable, called
+`LANGUAGE'. GNU `gettext' gives preference to `LANGUAGE' over `LANG'
+for the purpose of message handling, but you still need to have `LANG'
+set to the primary language; this is required by other parts of the
+system libraries. For example, some Swedish users who would rather
+read translations in German than English for when Swedish is not
+available, set `LANGUAGE' to `sv:de' while leaving `LANG' to `sv_SE'.
+
+ Special advice for Norwegian users: The language code for Norwegian
+bokma*l changed from `no' to `nb' recently (in 2003). During the
+transition period, while some message catalogs for this language are
+installed under `nb' and some older ones under `no', it's recommended
+for Norwegian users to set `LANGUAGE' to `nb:no' so that both newer and
+older translations are used.
+
+ In the `LANGUAGE' environment variable, but not in the `LANG'
+environment variable, `LL_CC' combinations can be abbreviated as `LL'
+to denote the language's main dialect. For example, `de' is equivalent
+to `de_DE' (German as spoken in Germany), and `pt' to `pt_PT'
+(Portuguese as spoken in Portugal) in this context.
+
+1.4 Translating Teams
+=====================
+
+For the Free Translation Project to be a success, we need interested
+people who like their own language and write it well, and who are also
+able to synergize with other translators speaking the same language.
+Each translation team has its own mailing list. The up-to-date list of
+teams can be found at the Free Translation Project's homepage,
+`http://translationproject.org/', in the "Teams" area.
+
+ If you'd like to volunteer to _work_ at translating messages, you
+should become a member of the translating team for your own language.
+The subscribing address is _not_ the same as the list itself, it has
+`-request' appended. For example, speakers of Swedish can send a
+message to `sv-request@li.org', having this message body:
+
+ subscribe
+
+ Keep in mind that team members are expected to participate
+_actively_ in translations, or at solving translational difficulties,
+rather than merely lurking around. If your team does not exist yet and
+you want to start one, or if you are unsure about what to do or how to
+get started, please write to `coordinator@translationproject.org' to
+reach the coordinator for all translator teams.
+
+ The English team is special. It works at improving and uniformizing
+the terminology in use. Proven linguistic skills are praised more than
+programming skills, here.
+
+1.5 Available Packages
+======================
+
+Languages are not equally supported in all packages. The following
+matrix shows the current state of internationalization, as of November
+2007. The matrix shows, in regard of each package, for which languages
+PO files have been submitted to translation coordination, with a
+translation percentage of at least 50%.
+
+ Ready PO files af am ar az be bg bs ca cs cy da de el en en_GB eo
+ +----------------------------------------------------+
+ Compendium | [] [] [] [] |
+ a2ps | [] [] [] [] [] |
+ aegis | () |
+ ant-phone | () |
+ anubis | [] |
+ ap-utils | |
+ aspell | [] [] [] [] [] |
+ bash | [] |
+ bfd | |
+ bibshelf | [] |
+ binutils | |
+ bison | [] [] |
+ bison-runtime | [] |
+ bluez-pin | [] [] [] [] [] |
+ cflow | [] |
+ clisp | [] [] [] |
+ console-tools | [] [] |
+ coreutils | [] [] [] [] |
+ cpio | |
+ cpplib | [] [] [] |
+ cryptonit | [] |
+ dialog | |
+ diffutils | [] [] [] [] [] [] |
+ doodle | [] |
+ e2fsprogs | [] [] |
+ enscript | [] [] [] [] |
+ fetchmail | [] [] () [] [] |
+ findutils | [] |
+ findutils_stable | [] [] [] |
+ flex | [] [] [] |
+ fslint | |
+ gas | |
+ gawk | [] [] [] |
+ gcal | [] |
+ gcc | [] |
+ gettext-examples | [] [] [] [] [] |
+ gettext-runtime | [] [] [] [] [] |
+ gettext-tools | [] [] |
+ gip | [] |
+ gliv | [] [] |
+ glunarclock | [] |
+ gmult | [] [] |
+ gnubiff | () |
+ gnucash | [] [] () () [] |
+ gnuedu | |
+ gnulib | [] |
+ gnunet | |
+ gnunet-gtk | |
+ gnutls | [] |
+ gpe-aerial | [] [] |
+ gpe-beam | [] [] |
+ gpe-calendar | |
+ gpe-clock | [] [] |
+ gpe-conf | [] [] |
+ gpe-contacts | |
+ gpe-edit | [] |
+ gpe-filemanager | |
+ gpe-go | [] |
+ gpe-login | [] [] |
+ gpe-ownerinfo | [] [] |
+ gpe-package | |
+ gpe-sketchbook | [] [] |
+ gpe-su | [] [] |
+ gpe-taskmanager | [] [] |
+ gpe-timesheet | [] |
+ gpe-today | [] [] |
+ gpe-todo | |
+ gphoto2 | [] [] [] [] |
+ gprof | [] [] |
+ gpsdrive | |
+ gramadoir | [] [] |
+ grep | [] [] |
+ gretl | () |
+ gsasl | |
+ gss | |
+ gst-plugins-bad | [] [] |
+ gst-plugins-base | [] [] |
+ gst-plugins-good | [] [] [] |
+ gst-plugins-ugly | [] [] |
+ gstreamer | [] [] [] [] [] [] [] |
+ gtick | () |
+ gtkam | [] [] [] [] |
+ gtkorphan | [] [] |
+ gtkspell | [] [] [] [] |
+ gutenprint | [] |
+ hello | [] [] [] [] [] |
+ herrie | [] |
+ hylafax | |
+ idutils | [] [] |
+ indent | [] [] [] [] |
+ iso_15924 | |
+ iso_3166 | [] [] [] [] [] [] [] [] [] [] [] |
+ iso_3166_2 | |
+ iso_4217 | [] [] [] |
+ iso_639 | [] [] [] [] |
+ jpilot | [] |
+ jtag | |
+ jwhois | |
+ kbd | [] [] [] [] |
+ keytouch | [] [] |
+ keytouch-editor | [] |
+ keytouch-keyboa... | [] |
+ latrine | () |
+ ld | [] |
+ leafpad | [] [] [] [] [] |
+ libc | [] [] [] [] |
+ libexif | [] |
+ libextractor | [] |
+ libgpewidget | [] [] [] |
+ libgpg-error | [] |
+ libgphoto2 | [] [] |
+ libgphoto2_port | [] [] |
+ libgsasl | |
+ libiconv | [] [] |
+ libidn | [] [] [] |
+ lifelines | [] () |
+ lilypond | [] |
+ lingoteach | |
+ lprng | |
+ lynx | [] [] [] [] |
+ m4 | [] [] [] [] |
+ mailfromd | |
+ mailutils | [] |
+ make | [] [] |
+ man-db | [] [] [] |
+ minicom | [] [] [] |
+ nano | [] [] [] |
+ opcodes | [] |
+ parted | [] [] |
+ pilot-qof | |
+ popt | [] [] [] |
+ psmisc | [] |
+ pwdutils | |
+ qof | |
+ radius | [] |
+ recode | [] [] [] [] [] [] |
+ rpm | [] |
+ screem | |
+ scrollkeeper | [] [] [] [] [] [] [] [] |
+ sed | [] [] [] |
+ shared-mime-info | [] [] [] [] () [] [] [] |
+ sharutils | [] [] [] [] [] [] |
+ shishi | |
+ skencil | [] () |
+ solfege | |
+ soundtracker | [] [] |
+ sp | [] |
+ system-tools-ba... | [] [] [] [] [] [] [] [] [] |
+ tar | [] [] |
+ texinfo | [] [] [] |
+ tin | () () |
+ tuxpaint | [] [] [] [] [] [] |
+ unicode-han-tra... | |
+ unicode-transla... | |
+ util-linux | [] [] [] [] |
+ util-linux-ng | [] [] [] [] |
+ vorbis-tools | [] |
+ wastesedge | () |
+ wdiff | [] [] [] [] |
+ wget | [] [] [] |
+ xchat | [] [] [] [] [] [] [] |
+ xkeyboard-config | [] |
+ xpad | [] [] [] |
+ +----------------------------------------------------+
+ af am ar az be bg bs ca cs cy da de el en en_GB eo
+ 6 0 2 1 8 26 2 40 48 2 56 88 15 1 15 18
+
+ es et eu fa fi fr ga gl gu he hi hr hu id is it
+ +--------------------------------------------------+
+ Compendium | [] [] [] [] [] |
+ a2ps | [] [] [] () |
+ aegis | |
+ ant-phone | [] |
+ anubis | [] |
+ ap-utils | [] [] |
+ aspell | [] [] [] |
+ bash | [] |
+ bfd | [] [] |
+ bibshelf | [] [] [] |
+ binutils | [] [] [] |
+ bison | [] [] [] [] [] [] |
+ bison-runtime | [] [] [] [] [] |
+ bluez-pin | [] [] [] [] [] |
+ cflow | [] |
+ clisp | [] [] |
+ console-tools | |
+ coreutils | [] [] [] [] [] [] |
+ cpio | [] [] [] |
+ cpplib | [] [] |
+ cryptonit | [] |
+ dialog | [] [] [] |
+ diffutils | [] [] [] [] [] [] [] [] [] |
+ doodle | [] [] |
+ e2fsprogs | [] [] [] |
+ enscript | [] [] [] |
+ fetchmail | [] |
+ findutils | [] [] [] |
+ findutils_stable | [] [] [] [] |
+ flex | [] [] [] |
+ fslint | |
+ gas | [] [] |
+ gawk | [] [] [] [] () |
+ gcal | [] [] |
+ gcc | [] |
+ gettext-examples | [] [] [] [] [] [] [] |
+ gettext-runtime | [] [] [] [] [] [] |
+ gettext-tools | [] [] [] [] |
+ gip | [] [] [] [] |
+ gliv | () |
+ glunarclock | [] [] [] |
+ gmult | [] [] [] |
+ gnubiff | () () |
+ gnucash | () () () |
+ gnuedu | [] |
+ gnulib | [] [] [] |
+ gnunet | |
+ gnunet-gtk | |
+ gnutls | |
+ gpe-aerial | [] [] |
+ gpe-beam | [] [] |
+ gpe-calendar | |
+ gpe-clock | [] [] [] [] |
+ gpe-conf | [] |
+ gpe-contacts | [] [] |
+ gpe-edit | [] [] [] [] |
+ gpe-filemanager | [] |
+ gpe-go | [] [] [] |
+ gpe-login | [] [] [] |
+ gpe-ownerinfo | [] [] [] [] [] |
+ gpe-package | [] |
+ gpe-sketchbook | [] [] |
+ gpe-su | [] [] [] [] |
+ gpe-taskmanager | [] [] [] |
+ gpe-timesheet | [] [] [] [] |
+ gpe-today | [] [] [] [] |
+ gpe-todo | [] |
+ gphoto2 | [] [] [] [] [] |
+ gprof | [] [] [] [] [] |
+ gpsdrive | [] |
+ gramadoir | [] [] |
+ grep | [] [] [] |
+ gretl | [] [] [] () |
+ gsasl | [] [] |
+ gss | [] [] |
+ gst-plugins-bad | [] [] [] [] |
+ gst-plugins-base | [] [] [] [] |
+ gst-plugins-good | [] [] [] [] [] |
+ gst-plugins-ugly | [] [] [] [] |
+ gstreamer | [] [] [] |
+ gtick | [] [] [] |
+ gtkam | [] [] [] [] |
+ gtkorphan | [] [] |
+ gtkspell | [] [] [] [] [] [] [] |
+ gutenprint | [] |
+ hello | [] [] [] [] [] [] [] [] [] [] [] [] [] |
+ herrie | [] |
+ hylafax | |
+ idutils | [] [] [] [] [] |
+ indent | [] [] [] [] [] [] [] [] [] [] |
+ iso_15924 | [] |
+ iso_3166 | [] [] [] [] [] [] [] [] [] [] [] [] [] |
+ iso_3166_2 | [] |
+ iso_4217 | [] [] [] [] [] [] |
+ iso_639 | [] [] [] [] [] [] |
+ jpilot | [] [] |
+ jtag | [] |
+ jwhois | [] [] [] [] [] |
+ kbd | [] [] |
+ keytouch | [] [] [] |
+ keytouch-editor | [] |
+ keytouch-keyboa... | [] [] |
+ latrine | [] [] |
+ ld | [] [] [] [] |
+ leafpad | [] [] [] [] [] [] |
+ libc | [] [] [] [] [] |
+ libexif | [] |
+ libextractor | [] |
+ libgpewidget | [] [] [] [] [] |
+ libgpg-error | [] |
+ libgphoto2 | [] [] [] |
+ libgphoto2_port | [] [] |
+ libgsasl | [] [] |
+ libiconv | [] [] [] |
+ libidn | [] [] |
+ lifelines | () |
+ lilypond | [] [] [] |
+ lingoteach | [] [] [] |
+ lprng | |
+ lynx | [] [] [] |
+ m4 | [] [] [] [] |
+ mailfromd | |
+ mailutils | [] [] |
+ make | [] [] [] [] [] [] [] [] |
+ man-db | [] |
+ minicom | [] [] [] [] |
+ nano | [] [] [] [] [] [] [] |
+ opcodes | [] [] [] [] |
+ parted | [] [] [] |
+ pilot-qof | |
+ popt | [] [] [] [] |
+ psmisc | [] [] |
+ pwdutils | |
+ qof | [] |
+ radius | [] [] |
+ recode | [] [] [] [] [] [] [] [] |
+ rpm | [] [] |
+ screem | |
+ scrollkeeper | [] [] [] |
+ sed | [] [] [] [] [] |
+ shared-mime-info | [] [] [] [] [] [] |
+ sharutils | [] [] [] [] [] [] [] [] |
+ shishi | [] |
+ skencil | [] [] |
+ solfege | [] |
+ soundtracker | [] [] [] |
+ sp | [] |
+ system-tools-ba... | [] [] [] [] [] [] [] [] [] |
+ tar | [] [] [] [] [] |
+ texinfo | [] [] [] |
+ tin | [] () |
+ tuxpaint | [] [] |
+ unicode-han-tra... | |
+ unicode-transla... | [] [] |
+ util-linux | [] [] [] [] [] [] [] |
+ util-linux-ng | [] [] [] [] [] [] [] |
+ vorbis-tools | |
+ wastesedge | () |
+ wdiff | [] [] [] [] [] [] [] [] |
+ wget | [] [] [] [] [] [] [] [] |
+ xchat | [] [] [] [] [] [] [] |
+ xkeyboard-config | [] [] [] [] |
+ xpad | [] [] [] |
+ +--------------------------------------------------+
+ es et eu fa fi fr ga gl gu he hi hr hu id is it
+ 85 22 14 2 48 101 61 12 2 8 2 6 53 29 1 52
+
+ ja ka ko ku ky lg lt lv mk mn ms mt nb ne nl nn
+ +--------------------------------------------------+
+ Compendium | [] |
+ a2ps | () [] [] |
+ aegis | () |
+ ant-phone | [] |
+ anubis | [] [] [] |
+ ap-utils | [] |
+ aspell | [] [] |
+ bash | [] |
+ bfd | |
+ bibshelf | [] |
+ binutils | |
+ bison | [] [] [] |
+ bison-runtime | [] [] [] |
+ bluez-pin | [] [] [] |
+ cflow | |
+ clisp | [] |
+ console-tools | |
+ coreutils | [] |
+ cpio | [] |
+ cpplib | [] |
+ cryptonit | [] |
+ dialog | [] [] |
+ diffutils | [] [] [] |
+ doodle | |
+ e2fsprogs | [] |
+ enscript | [] |
+ fetchmail | [] [] |
+ findutils | [] |
+ findutils_stable | [] |
+ flex | [] [] |
+ fslint | |
+ gas | |
+ gawk | [] [] |
+ gcal | |
+ gcc | |
+ gettext-examples | [] [] [] |
+ gettext-runtime | [] [] [] |
+ gettext-tools | [] [] |
+ gip | [] [] |
+ gliv | [] |
+ glunarclock | [] [] |
+ gmult | [] [] [] |
+ gnubiff | |
+ gnucash | () () () |
+ gnuedu | |
+ gnulib | [] [] |
+ gnunet | |
+ gnunet-gtk | |
+ gnutls | [] |
+ gpe-aerial | [] |
+ gpe-beam | [] |
+ gpe-calendar | [] |
+ gpe-clock | [] [] [] |
+ gpe-conf | [] [] [] |
+ gpe-contacts | [] |
+ gpe-edit | [] [] [] |
+ gpe-filemanager | [] [] |
+ gpe-go | [] [] [] |
+ gpe-login | [] [] [] |
+ gpe-ownerinfo | [] [] |
+ gpe-package | [] [] |
+ gpe-sketchbook | [] [] |
+ gpe-su | [] [] [] |
+ gpe-taskmanager | [] [] [] [] |
+ gpe-timesheet | [] |
+ gpe-today | [] [] |
+ gpe-todo | [] |
+ gphoto2 | [] [] |
+ gprof | [] |
+ gpsdrive | [] |
+ gramadoir | () |
+ grep | [] [] |
+ gretl | |
+ gsasl | [] |
+ gss | |
+ gst-plugins-bad | [] |
+ gst-plugins-base | [] |
+ gst-plugins-good | [] |
+ gst-plugins-ugly | [] |
+ gstreamer | [] |
+ gtick | [] |
+ gtkam | [] [] |
+ gtkorphan | [] |
+ gtkspell | [] [] |
+ gutenprint | [] |
+ hello | [] [] [] [] [] [] [] |
+ herrie | [] |
+ hylafax | |
+ idutils | [] |
+ indent | [] [] |
+ iso_15924 | [] |
+ iso_3166 | [] [] [] [] [] [] [] [] |
+ iso_3166_2 | [] |
+ iso_4217 | [] [] [] |
+ iso_639 | [] [] [] [] |
+ jpilot | () () |
+ jtag | |
+ jwhois | [] |
+ kbd | [] |
+ keytouch | [] |
+ keytouch-editor | [] |
+ keytouch-keyboa... | |
+ latrine | [] |
+ ld | |
+ leafpad | [] [] |
+ libc | [] [] [] |
+ libexif | |
+ libextractor | |
+ libgpewidget | [] |
+ libgpg-error | |
+ libgphoto2 | [] |
+ libgphoto2_port | [] |
+ libgsasl | [] |
+ libiconv | [] |
+ libidn | [] [] |
+ lifelines | [] |
+ lilypond | [] |
+ lingoteach | [] |
+ lprng | |
+ lynx | [] [] |
+ m4 | [] [] |
+ mailfromd | |
+ mailutils | |
+ make | [] [] [] |
+ man-db | |
+ minicom | [] |
+ nano | [] [] [] |
+ opcodes | [] |
+ parted | [] [] |
+ pilot-qof | |
+ popt | [] [] [] |
+ psmisc | [] [] [] |
+ pwdutils | |
+ qof | |
+ radius | |
+ recode | [] |
+ rpm | [] [] |
+ screem | [] |
+ scrollkeeper | [] [] [] [] |
+ sed | [] [] |
+ shared-mime-info | [] [] [] [] [] [] [] |
+ sharutils | [] [] |
+ shishi | |
+ skencil | |
+ solfege | () () |
+ soundtracker | |
+ sp | () |
+ system-tools-ba... | [] [] [] [] |
+ tar | [] [] [] |
+ texinfo | [] [] |
+ tin | |
+ tuxpaint | () [] [] |
+ unicode-han-tra... | |
+ unicode-transla... | |
+ util-linux | [] [] |
+ util-linux-ng | [] [] |
+ vorbis-tools | |
+ wastesedge | [] |
+ wdiff | [] [] |
+ wget | [] [] |
+ xchat | [] [] [] [] |
+ xkeyboard-config | [] [] [] |
+ xpad | [] [] [] |
+ +--------------------------------------------------+
+ ja ka ko ku ky lg lt lv mk mn ms mt nb ne nl nn
+ 51 2 25 3 2 0 6 0 2 2 20 0 11 1 103 6
+
+ or pa pl pt pt_BR rm ro ru rw sk sl sq sr sv ta
+ +--------------------------------------------------+
+ Compendium | [] [] [] [] [] |
+ a2ps | () [] [] [] [] [] [] |
+ aegis | () () |
+ ant-phone | [] [] |
+ anubis | [] [] [] |
+ ap-utils | () |
+ aspell | [] [] [] |
+ bash | [] [] |
+ bfd | |
+ bibshelf | [] |
+ binutils | [] [] |
+ bison | [] [] [] [] [] |
+ bison-runtime | [] [] [] [] [] |
+ bluez-pin | [] [] [] [] [] [] [] [] [] |
+ cflow | [] |
+ clisp | [] |
+ console-tools | [] |
+ coreutils | [] [] [] [] |
+ cpio | [] [] [] |
+ cpplib | [] |
+ cryptonit | [] [] |
+ dialog | [] |
+ diffutils | [] [] [] [] [] [] |
+ doodle | [] [] |
+ e2fsprogs | [] [] |
+ enscript | [] [] [] [] [] |
+ fetchmail | [] [] [] |
+ findutils | [] [] [] |
+ findutils_stable | [] [] [] [] [] [] |
+ flex | [] [] [] [] [] |
+ fslint | [] |
+ gas | |
+ gawk | [] [] [] [] |
+ gcal | [] |
+ gcc | [] [] |
+ gettext-examples | [] [] [] [] [] [] [] [] |
+ gettext-runtime | [] [] [] [] [] [] [] [] |
+ gettext-tools | [] [] [] [] [] [] [] |
+ gip | [] [] [] [] |
+ gliv | [] [] [] [] [] [] |
+ glunarclock | [] [] [] [] [] [] |
+ gmult | [] [] [] [] |
+ gnubiff | () [] |
+ gnucash | () [] |
+ gnuedu | |
+ gnulib | [] [] [] |
+ gnunet | |
+ gnunet-gtk | [] |
+ gnutls | [] [] |
+ gpe-aerial | [] [] [] [] [] [] [] |
+ gpe-beam | [] [] [] [] [] [] [] |
+ gpe-calendar | [] [] [] [] |
+ gpe-clock | [] [] [] [] [] [] [] [] |
+ gpe-conf | [] [] [] [] [] [] [] |
+ gpe-contacts | [] [] [] [] [] |
+ gpe-edit | [] [] [] [] [] [] [] [] [] |
+ gpe-filemanager | [] [] |
+ gpe-go | [] [] [] [] [] [] [] [] |
+ gpe-login | [] [] [] [] [] [] [] [] |
+ gpe-ownerinfo | [] [] [] [] [] [] [] [] |
+ gpe-package | [] [] |
+ gpe-sketchbook | [] [] [] [] [] [] [] [] |
+ gpe-su | [] [] [] [] [] [] [] [] |
+ gpe-taskmanager | [] [] [] [] [] [] [] [] |
+ gpe-timesheet | [] [] [] [] [] [] [] [] |
+ gpe-today | [] [] [] [] [] [] [] [] |
+ gpe-todo | [] [] [] [] |
+ gphoto2 | [] [] [] [] [] [] |
+ gprof | [] [] [] |
+ gpsdrive | [] [] |
+ gramadoir | [] [] |
+ grep | [] [] [] [] |
+ gretl | [] [] [] |
+ gsasl | [] [] [] |
+ gss | [] [] [] [] |
+ gst-plugins-bad | [] [] [] |
+ gst-plugins-base | [] [] |
+ gst-plugins-good | [] [] |
+ gst-plugins-ugly | [] [] [] |
+ gstreamer | [] [] [] [] |
+ gtick | [] |
+ gtkam | [] [] [] [] [] |
+ gtkorphan | [] |
+ gtkspell | [] [] [] [] [] [] [] [] |
+ gutenprint | [] |
+ hello | [] [] [] [] [] [] [] [] |
+ herrie | [] [] [] |
+ hylafax | |
+ idutils | [] [] [] [] [] |
+ indent | [] [] [] [] [] [] [] |
+ iso_15924 | |
+ iso_3166 | [] [] [] [] [] [] [] [] [] [] [] [] [] |
+ iso_3166_2 | |
+ iso_4217 | [] [] [] [] [] [] [] |
+ iso_639 | [] [] [] [] [] [] [] |
+ jpilot | |
+ jtag | [] |
+ jwhois | [] [] [] [] |
+ kbd | [] [] [] |
+ keytouch | [] |
+ keytouch-editor | [] |
+ keytouch-keyboa... | [] |
+ latrine | |
+ ld | [] |
+ leafpad | [] [] [] [] [] [] |
+ libc | [] [] [] [] |
+ libexif | [] [] |
+ libextractor | [] [] |
+ libgpewidget | [] [] [] [] [] [] [] [] |
+ libgpg-error | [] [] [] |
+ libgphoto2 | [] |
+ libgphoto2_port | [] [] [] |
+ libgsasl | [] [] [] [] |
+ libiconv | [] [] [] |
+ libidn | [] [] () |
+ lifelines | [] [] |
+ lilypond | |
+ lingoteach | [] |
+ lprng | [] |
+ lynx | [] [] [] |
+ m4 | [] [] [] [] [] |
+ mailfromd | [] |
+ mailutils | [] [] [] |
+ make | [] [] [] [] |
+ man-db | [] [] [] [] |
+ minicom | [] [] [] [] [] |
+ nano | [] [] [] [] |
+ opcodes | [] [] |
+ parted | [] |
+ pilot-qof | |
+ popt | [] [] [] [] |
+ psmisc | [] [] |
+ pwdutils | [] [] |
+ qof | [] [] |
+ radius | [] [] |
+ recode | [] [] [] [] [] [] [] |
+ rpm | [] [] [] [] |
+ screem | |
+ scrollkeeper | [] [] [] [] [] [] [] |
+ sed | [] [] [] [] [] [] [] [] [] |
+ shared-mime-info | [] [] [] [] [] [] |
+ sharutils | [] [] [] [] |
+ shishi | [] |
+ skencil | [] [] [] |
+ solfege | [] |
+ soundtracker | [] [] |
+ sp | |
+ system-tools-ba... | [] [] [] [] [] [] [] [] [] |
+ tar | [] [] [] [] |
+ texinfo | [] [] [] [] |
+ tin | () |
+ tuxpaint | [] [] [] [] [] [] |
+ unicode-han-tra... | |
+ unicode-transla... | |
+ util-linux | [] [] [] [] |
+ util-linux-ng | [] [] [] [] |
+ vorbis-tools | [] |
+ wastesedge | |
+ wdiff | [] [] [] [] [] [] [] |
+ wget | [] [] [] [] |
+ xchat | [] [] [] [] [] [] [] |
+ xkeyboard-config | [] [] [] |
+ xpad | [] [] [] |
+ +--------------------------------------------------+
+ or pa pl pt pt_BR rm ro ru rw sk sl sq sr sv ta
+ 0 5 77 31 53 4 58 72 3 45 46 9 45 122 3
+
+ tg th tk tr uk ven vi wa xh zh_CN zh_HK zh_TW zu
+ +---------------------------------------------------+
+ Compendium | [] [] [] [] | 19
+ a2ps | [] [] [] | 19
+ aegis | [] | 1
+ ant-phone | [] [] | 6
+ anubis | [] [] [] | 11
+ ap-utils | () [] | 4
+ aspell | [] [] [] | 16
+ bash | [] | 6
+ bfd | | 2
+ bibshelf | [] | 7
+ binutils | [] [] [] [] | 9
+ bison | [] [] [] [] | 20
+ bison-runtime | [] [] [] [] | 18
+ bluez-pin | [] [] [] [] [] [] | 28
+ cflow | [] [] | 5
+ clisp | | 9
+ console-tools | [] [] | 5
+ coreutils | [] [] [] | 18
+ cpio | [] [] [] [] | 11
+ cpplib | [] [] [] [] [] | 12
+ cryptonit | [] | 6
+ dialog | [] [] [] | 9
+ diffutils | [] [] [] [] [] | 29
+ doodle | [] | 6
+ e2fsprogs | [] [] | 10
+ enscript | [] [] [] | 16
+ fetchmail | [] [] | 12
+ findutils | [] [] [] | 11
+ findutils_stable | [] [] [] [] | 18
+ flex | [] [] | 15
+ fslint | [] | 2
+ gas | [] | 3
+ gawk | [] [] [] | 16
+ gcal | [] | 5
+ gcc | [] [] [] | 7
+ gettext-examples | [] [] [] [] [] [] | 29
+ gettext-runtime | [] [] [] [] [] [] | 28
+ gettext-tools | [] [] [] [] [] | 20
+ gip | [] [] | 13
+ gliv | [] [] | 11
+ glunarclock | [] [] [] | 15
+ gmult | [] [] [] [] | 16
+ gnubiff | [] | 2
+ gnucash | () [] | 5
+ gnuedu | [] | 2
+ gnulib | [] | 10
+ gnunet | | 0
+ gnunet-gtk | [] [] | 3
+ gnutls | | 4
+ gpe-aerial | [] [] | 14
+ gpe-beam | [] [] | 14
+ gpe-calendar | [] [] | 7
+ gpe-clock | [] [] [] [] | 21
+ gpe-conf | [] [] [] | 16
+ gpe-contacts | [] [] | 10
+ gpe-edit | [] [] [] [] [] | 22
+ gpe-filemanager | [] [] | 7
+ gpe-go | [] [] [] [] | 19
+ gpe-login | [] [] [] [] [] | 21
+ gpe-ownerinfo | [] [] [] [] | 21
+ gpe-package | [] | 6
+ gpe-sketchbook | [] [] | 16
+ gpe-su | [] [] [] [] | 21
+ gpe-taskmanager | [] [] [] [] | 21
+ gpe-timesheet | [] [] [] [] | 18
+ gpe-today | [] [] [] [] [] | 21
+ gpe-todo | [] [] | 8
+ gphoto2 | [] [] [] [] | 21
+ gprof | [] [] | 13
+ gpsdrive | [] | 5
+ gramadoir | [] | 7
+ grep | [] | 12
+ gretl | | 6
+ gsasl | [] [] [] | 9
+ gss | [] | 7
+ gst-plugins-bad | [] [] [] | 13
+ gst-plugins-base | [] [] | 11
+ gst-plugins-good | [] [] [] [] [] | 16
+ gst-plugins-ugly | [] [] [] | 13
+ gstreamer | [] [] [] | 18
+ gtick | [] [] | 7
+ gtkam | [] | 16
+ gtkorphan | [] | 7
+ gtkspell | [] [] [] [] [] [] | 27
+ gutenprint | | 4
+ hello | [] [] [] [] [] | 38
+ herrie | [] [] | 8
+ hylafax | | 0
+ idutils | [] [] | 15
+ indent | [] [] [] [] [] | 28
+ iso_15924 | [] [] | 4
+ iso_3166 | [] [] [] [] [] [] [] [] [] | 54
+ iso_3166_2 | [] [] | 4
+ iso_4217 | [] [] [] [] [] | 24
+ iso_639 | [] [] [] [] [] | 26
+ jpilot | [] [] [] [] | 7
+ jtag | [] | 3
+ jwhois | [] [] [] | 13
+ kbd | [] [] [] | 13
+ keytouch | [] | 8
+ keytouch-editor | [] | 5
+ keytouch-keyboa... | [] | 5
+ latrine | [] [] | 5
+ ld | [] [] [] [] | 10
+ leafpad | [] [] [] [] [] | 24
+ libc | [] [] [] | 19
+ libexif | [] | 5
+ libextractor | [] | 5
+ libgpewidget | [] [] [] | 20
+ libgpg-error | [] | 6
+ libgphoto2 | [] [] | 9
+ libgphoto2_port | [] [] [] | 11
+ libgsasl | [] | 8
+ libiconv | [] [] | 11
+ libidn | [] [] | 11
+ lifelines | | 4
+ lilypond | [] | 6
+ lingoteach | [] | 6
+ lprng | [] | 2
+ lynx | [] [] [] | 15
+ m4 | [] [] [] | 18
+ mailfromd | [] [] | 3
+ mailutils | [] [] | 8
+ make | [] [] [] | 20
+ man-db | [] | 9
+ minicom | [] | 14
+ nano | [] [] [] | 20
+ opcodes | [] [] | 10
+ parted | [] [] [] | 11
+ pilot-qof | [] | 1
+ popt | [] [] [] [] | 18
+ psmisc | [] [] | 10
+ pwdutils | [] | 3
+ qof | [] | 4
+ radius | [] [] | 7
+ recode | [] [] [] | 25
+ rpm | [] [] [] [] | 13
+ screem | [] | 2
+ scrollkeeper | [] [] [] [] | 26
+ sed | [] [] [] [] | 23
+ shared-mime-info | [] [] [] | 29
+ sharutils | [] [] [] | 23
+ shishi | [] | 3
+ skencil | [] | 7
+ solfege | [] | 3
+ soundtracker | [] [] | 9
+ sp | [] | 3
+ system-tools-ba... | [] [] [] [] [] [] [] | 38
+ tar | [] [] [] | 17
+ texinfo | [] [] [] | 15
+ tin | | 1
+ tuxpaint | [] [] [] | 19
+ unicode-han-tra... | | 0
+ unicode-transla... | | 2
+ util-linux | [] [] [] | 20
+ util-linux-ng | [] [] [] | 20
+ vorbis-tools | [] [] | 4
+ wastesedge | | 1
+ wdiff | [] [] | 23
+ wget | [] [] [] | 20
+ xchat | [] [] [] [] | 29
+ xkeyboard-config | [] [] [] | 14
+ xpad | [] [] [] | 15
+ +---------------------------------------------------+
+ 76 teams tg th tk tr uk ven vi wa xh zh_CN zh_HK zh_TW zu
+ 163 domains 0 3 1 74 51 0 143 21 1 57 7 45 0 2036
+
+ Some counters in the preceding matrix are higher than the number of
+visible blocks let us expect. This is because a few extra PO files are
+used for implementing regional variants of languages, or language
+dialects.
+
+ For a PO file in the matrix above to be effective, the package to
+which it applies should also have been internationalized and
+distributed as such by its maintainer. There might be an observable
+lag between the mere existence a PO file and its wide availability in a
+distribution.
+
+ If November 2007 seems to be old, you may fetch a more recent copy
+of this `ABOUT-NLS' file on most GNU archive sites. The most
+up-to-date matrix with full percentage details can be found at
+`http://translationproject.org/extra/matrix.html'.
+
+1.6 Using `gettext' in new packages
+===================================
+
+If you are writing a freely available program and want to
+internationalize it you are welcome to use GNU `gettext' in your
+package. Of course you have to respect the GNU Library General Public
+License which covers the use of the GNU `gettext' library. This means
+in particular that even non-free programs can use `libintl' as a shared
+library, whereas only free software can use `libintl' as a static
+library or use modified versions of `libintl'.
+
+ Once the sources are changed appropriately and the setup can handle
+the use of `gettext' the only thing missing are the translations. The
+Free Translation Project is also available for packages which are not
+developed inside the GNU project. Therefore the information given above
+applies also for every other Free Software Project. Contact
+`coordinator@translationproject.org' to make the `.pot' files available
+to the translation teams.
+
diff --git a/ChangeLog b/ChangeLog
index e08403d..07237ca 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,97 +1,755 @@
-2013-07-26
+2014-03-15
Rob Norris <rw_norris@hotmail.com>:
- * Releasing Viking 1.4.2
+ * [WINDOWS] Ensure an icon is embedded in the executable.
+ * [WINDOWS] Fix opening URLs in Windows build only.
+ * Shift code around to reduce dependencies required for DEM access.
+ * SF Bugs#105: Fix Display of Lines (Clipping) at High Zoom Levels.
+ * Remove built in OpenStreetBugs datasource as this service is being phased out.
+ * Isolate Viking specific code in otherwise reusable code.
+ * Fix DEM layer URL reference output.
+ * Remove mistaken need to change directory.
+ * Remove repeating of built in types in data files.
+ * External tools don't use ids
+ * Skip etag files in mbtile converter tool
+ * Fix crashing when copying layers with null strings as parameters.
+
+2014-03-15
+Guilhem Bonnefille <guilhem.bonnefille@gmail.com>:
+ * Fix translatable string with variable argument
+ * Fix 'export_to_common' dialog
+
+2013-11-18
+Rob Norris <rw_norris@hotmail.com>:
+ * Fix needing to calculate bounds of *both* tracks when a track is split via the marker.
+
+2013-11-17
+Rob Norris <rw_norris@hotmail.com>:
+ * Fix vik_track_get_length_to_trackpoint() so with the first track point it returns zero, not the entire track length!
+
+2013-10-30
+Rob Norris <rw_norris@hotmail.com>:
+ * Fix opening files on command line in different directories.
+
+2013-10-24
+Rob Norris <rw_norris@hotmail.com>:
+ * Move man files from doc to help directory so they will be included in the output from make distcheck.
+ * Update spec file
+ * [QA] Remove build references to things that don't exist anymore.
+ * SF Bugs #104: Fix GStatBuf not available on Glib < 2.26
+ * Fix the display of speed in statusbar output.
+
+2013-10-13
+Rob Norris <rw_norris@hotmail.com>:
+ * Releasing Viking 1.5
+ * Remove OSM web link layer options so you now get what ever is the OSM default.
+ * Add beginnings of Slovak translation.
+ * Add Translation for Basque
+ * Document previous translation updates
+ * Import Launchpad translation updates
+
+2013-10-13
+Guilhem Bonnefille <guilhem.bonnefille@gmail.com>:
+ * Fix "figure" element in documentation
+ * Fix simple typo in documentation
+ * Fix missing declaration in po/POTFILES.in
+
+2013-10-10
+Rob Norris <rw_norris@hotmail.com>:
+ * Fix crashing if attempting to Extend a Route via the Route Finder when the route has no points.
+ * SF Support Requests#21: Make default print size full page.
+
+2013-10-06
+Guilhem Bonnefille <guilhem.bonnefille@gmail.com>:
+ * Fix: replace home made macro by GLib one
+ * Fix: include file.h in file.c
+
+2013-10-05
+Guilhem Bonnefille <guilhem.bonnefille@gmail.com>:
+ * Fix export dialog title
+
+2013-10-04
+Rob Norris <rw_norris@hotmail.com>:
+ * SF Features#116: Add an Acquire From URL option.
+
+2013-10-03
+Guilhem Bonnefille <guilhem.bonnefille@gmail.com>:
+ * Fix gpsbabel capabilities parsing
+ * QA: minor refactor to reduce code
+
+2013-10-02
+Rob Norris <rw_norris@hotmail.com>:
+ * SF Features#116: Add an Acquire From URL option.
+ * Fix not moving the viewport to the data when using TrackWaypoint->Acquire methods.
+ * Fix the default value for getting the GPS Protocol in acquire.
+
+2013-09-29
+Rob Norris <rw_norris@hotmail.com>:
+ * Add tooltip to help align the name in TrackWaypoint->Acquire menu to the File->Acquire menu
+
+2013-09-28
+Rob Norris <rw_norris@hotmail.com>:
+ * [DOC] Mention ability to set a waypoint's altitude from DEM data.
+ * Fix incorrectly updating files during geotagging that are read only.
+ * Update libjpeg utilities from exif command line tool to version 0.6.21
+ * SF Features#115: Part 2. Update working directory when loading images for geotagging
+ * SF Features#115: Part 1. Add the ability to Geotag multiple images against a Waypoint.
+ * [QA] Fix not showing new waypoints after geotagging due to not setting waypoint bounds.
+ * Only allow JPGs in the file selector for Geotagging.
+ * Fix broken map layer property tooltip.
+ * Add support for OSM Humanitarian (HOT) Style Map.
+ * [QA] These functions should be static to match the definition
+
+2013-09-27
+Rob Norris <rw_norris@hotmail.com>:
+ * Show Map License information for each map type only once.
+
+2013-09-21
+Rob Norris <rw_norris@hotmail.com>:
+ * Ensure consistent view of waypoint changes.
+ * Support Waypoint timestamps in .vik files.
+
+2013-09-18
+Rob Norris <rw_norris@hotmail.com>:
+ * [QA] Use specific type
+
+2013-09-14
+Rob Norris <rw_norris@hotmail.com>:
+ * Always open new .vik file in current window when no .vik file is loaded.
+ * [DOC] Images for the Track properties - since this has changed for version 1.5
+ * Allow some redirects for routing web sites by default.
+ * Improve item list dialogs to handle long text values better.
+
+2013-09-13
+Rob Norris <rw_norris@hotmail.com>:
+ * Always create a menu separator for waypoints as now there is always at least the transform menu option
+
+2013-09-11
+Rob Norris <rw_norris@hotmail.com>:
+ * Fix opening files with spaces in them when using the drag and drop mechanism
+ * [DOC] Update help with text and images for multi-layer TrackWaypoint lists and statistics dialogs.
+ * Merge branch 'WaypointsList'
+ * Use Waypoint list dialog from Aggregate Layer menus.
+ * Use Waypoint list dialog in TrackWaypoint layer menus.
+ * Add Waypoint List dialog.
+ * Expose functions for reuse and promote types.
+ * [QA] Update year values.
+ * [DOC] Transform menu help
+ * [DOC] Maps download region including image of the dialog
+ * [DOC] Improve Trackpoint edit dialog description and add example image.
+ * [DOC] Selected trackpoint operations: inserting and deleting in Track/Route menu.
+ * Actually make intended debug messages print only in debug instead of warnings.
+ * SF Features#76: Fix Trackpoint copying after the introduction of trackpoint naming.
+ * SF Features#53: Part2: Keep the size and zoom options next to each other in the Image Generation dialog.
+
+2013-09-10
+Rob Norris <rw_norris@hotmail.com>:
+ * Add some safety checks and don't add the pixbuf into the cache if it's invalid.
+ * In the Goto Lat/Lon dialog, allow the return key to accept the entry values.
+ * [QA] Include your own header file.
+ * [QA] Fixup if statement intention.
+ * [QA] Shift Viking dependent functions in 'util' to 'vikutils'
+ * SF Features#76: Add ability to handle and name trackpoints.
+ * [QA] Fix some clang compiler warnings.
+
+2013-09-05
+Rob Norris <rw_norris@hotmail.com>:
+ * Expand list of potentially used libraries.
+ * [DOC] Add help for DEM File Information dialog
+ * [DOC] Improve help for map tile information
+ * Ignore new output from autotools build system.
+ * Enable compiling with older glib versions (a function used is 2.32+ only)
+ * [WINDOWS] Installer improvement
+ * [WINDOWS] Need to specify magic database location.
+ * [WINDOWS] Add libmagic DLL 5.03 for Windows build.
+ * [WINDOWS] Add use of libbz2 (bzip2) 1.0.6 DLL for Windows build
+
+2013-09-02
+Rob Norris <rw_norris@hotmail.com>:
+ * Fix files missing for translation
+
+2013-08-30
+Rob Norris <rw_norris@hotmail.com>:
+ * [QA] Use the common map_utils_mpp_to_zoom function
+
+2013-08-29
+Rob Norris <rw_norris@hotmail.com>:
+ * Merge branch 'TrackList'
+ * [QA] Remove unused function parameter
+ * Add Track list output from aggregate layers.
+ * Add track list capability to the track sublayer container.
+ * Add Track List dialog.
+ * Functions for reuse and promote a type.
+ * Refactor track and layer list creation code for better reuse.
+
+2013-08-28
+Rob Norris <rw_norris@hotmail.com>:
+ * Fix spelling of visible.
+ * Remove compiler warning on 32bit systems.
+ * Fix statusbar info format message to not display '(null)' repeatedly at the end.
+ * Enable inserting a trackpoint before or after the selected trackpoint from the TrackWaypoint layer menu.
+ * Enable direct deletion of a selected trackpoint from the TrackWaypoint layer menu.
+ * Maintain trackpoint selected when moving it.
+ * [QA] Function should use a constant name parameter
+ * [QA] Function should use a constant name parameter
+ * Fix coord layer copying so the copied one is actually drawn.
+ * Fix crashing when attempting to download maps along a track when multiple maps are enabled.
+ * [QA] Remove unused function
+ * [QA] Remove an unused function parameter.
+ * Add option to the cache-mbtile tool to avoid optimizing the database.
+
+2013-08-27
+Guilhem Bonnefille <guilhem.bonnefille@gmail.com>:
+ * Fix missing question mark
+
+2013-08-26
+Rob Norris <rw_norris@hotmail.com>:
+ * Merge branch 'StatusBarInfoControl'
+ * Merge branch 'TrackLabelling'
+ * Merge branch 'TransformUtils'
+ * Merge branch 'DownloadDecompression'
+
+2013-07-24
+Rob Norris <rw_norris@hotmail.com>:
+ * Add 'Transform' abilities to set DEM information for Waypoints.
+ * Refactor to use the new function to get the waypoint height.
+ * Add function to set waypoint height from DEM information.
+ * Add an option to anonymize track timestamps on upload to OSM Traces.
+ * Make the anonymize timestamp method available in the GUI.
+ * Add function to anonymize timestamps of a track.
+ * Make the downloading SRTM error visible in the GUI.
+ * Add warning of when trying to apply DEM data, but no DEM layers are available.
+ * Improve options for applying DEM Data to a track/route.
+ * Make the track/route elevation smoothing methods available in the GUI.
+ * Add methods to smooth missing elevation data from tracks (or routes).
+ * Create and use new menu level 'Transform' for some track/route operations.
+
+2013-07-23
+Guilhem Bonnefille <guilhem.bonnefille@gmail.com>:
+ * Check size of route before refining it
+ * Add function to refine a route with routing service
+ * [DOC] Tag some contextual restrictions as 'note'
+ * Fix: use g_list dedicated function instead of own code
+
+2013-07-20
+Rob Norris <rw_norris@hotmail.com>:
+ * Enable optional opening of the track properties dialog on the statistics tab
+ * Move all editable properties of a track/route to a dedicated tab.
+ * Split TrackWaypoint layer tracks properties into an 'Advanced' section.
+ * [DOC] New settings value
+ * Add ability to draw track names and distance labels on the viewport.
+ * Add helper function distance_in_preferred_units()
+ * Add function to get a trackpoint by distance along a track.
2013-07-18
Rob Norris <rw_norris@hotmail.com>:
+ * [DOC] Document options for the Trackpoint message format codes.
+ * SF Features#113: Allow distance from track start to be shown in the Statusbar.
+ * SF Features#111: Add Optional Statusbar update in GPS Realtime Tracking mode.
+ * Enable following GPS realtime tracking even when no heading (course) is available.
+ * Add a common method to produce an information message string about a Trackpoint.
+ * Add a function to find out the distance along a track to a particular trackpoint.
+ * Quick hack method to enable display of compiled in libraries (albeit in the wrong section of 'Artists') in the About dialog.
+ * Support opening compressed files downloaded for the My OSM Traces feature.
+ * Unzip comment
+ * Start to make compression code more reuseable.
* Fix menu use of named own Icons since the icons were renamed some time ago.
2013-07-15
Rob Norris <rw_norris@hotmail.com>:
* [QA] Fix memory leak in drawing new tracks/routes.
+ * [QA] Fix memory leak in sorting layers.
+ * [QA] Fix name memory leaks in TrackWaypoint operations.
+ * [QA] Fix misc small memory leaks.
+ * [QA] Fix several memory leaks on program closure.
* [QA] Fix memory leak on deleting TrackWaypoint layers.
+ * [QA] Fix new tracks not shown after split called from the Track Properties dialog.
* [QA] Fix large memory leak on viewing Track Properties.
* [QA] Fix incorrect iterator usage.
+ * [QA] Fix memory leaks in usage of the clipboard.
* [QA] Fix memory leaks on reading in Viking files.
* [QA] Fix memory leak in treeview tooltips and selection.
* [QA] Fix large memory leak when removing DEM layers.
+2013-07-10
+Guilhem Bonnefille <guilhem.bonnefille@gmail.com>:
+ * QA: replace direct access to GtkWidget->window member by function call
+
2013-07-09
Rob Norris <rw_norris@hotmail.com>:
+ * Add view of course and speed properties of trackpoints.
+ * Enable control of create_label_vbox spacing and padding.
* Fix some interpolated values of a trackpoint on insertion between points.
2013-07-07
Rob Norris <rw_norris@hotmail.com>:
+ * Use the busy cursor during downloads of My OSM Traces.
* Fix handling failed downloads with the My OSM Traces method.
* SF Bugs#101: Fix Acquire from Google Directions.
-
-2013-07-06
-Rob Norris <rw_norris@hotmail.com>:
- * Fix name search using Google.
+ * Refactor Track property grid drawing into a common function.
* SF Bugs#100: Fix Crash on viewing Track Properties with extreme gradients.
+ * Add ability to use a conversion function between the displayed widget contents and the value stored internally.
* SF Bugs#97: Fix missing redownload settings of some maps in the example config
* SF Bugs#99: Increase limit for Map IDs
+ * [QA] Fix issue spotted with cppcheck 1.59
+ * SF Features#114: Increase the time limit for the Tile Age and use days in the GUI.
+
+2013-07-02
+Rob Norris <rw_norris@hotmail.com>:
+ * More reliable waypoint symbol resetting on preferences change.
+ * Fix name search using Google.
+ * Fix some layer sorting issues.
+ * [QA] Fix some issues spotted with cppcheck 1.59
+ * Make dialog shifting a bit more reliable.
+ * Use already calculated bounding box for 'maxmin' calculations.
+
+2013-06-29
+Rob Norris <rw_norris@hotmail.com>:
+ * Add statistics for all tracks within a single TRW layer.
+ * Enable all tracks statistics analysis for all TRW Layers within an Aggregate layer.
+ * Add Multiple Tracks Statistical analysis dialog.
+ * Add functions to return sublayer visibility.
+ * [DOC] Fix some incorrect docbook markup.
+ * Merge branch 'LayerSort'
+
+2013-06-23
+Guilhem Bonnefille <guilhem.bonnefille@gmail.com>:
+ * Fix documentation minor typo
+ * Generalize Acquire Directions
+ * [QA] minor doc improvment
+
+2013-06-22
+Guilhem Bonnefille <guilhem.bonnefille@gmail.com>:
+ * [QA] More minor code improving
+ * [QA] Add type checking
+ * [QA] Add minor comment
+ * Add a builder for a routing engine selector
+ * Expose a function to iterate on all registered engines
+ * [QA] Use more explicit funcion name
+ * [DOC] fix ref doc
+
+2013-06-13
+Rob Norris <rw_norris@hotmail.com>:
+ * Remove now unused alphabetical sort functions as they have been superseded.
+ * [DOC] This internal setting no longer exists.
+ * Enable TrackWaypoint sublayer alphabetical sort options.
+ * Enable Alphabetical sorting of layers within Aggregate layers
+ * Enable fast and GUI controllable alphabetical sorting of treeview layers.
+ * Merge branch 'InternalSettings+StartupPreferences'
+ * [DOC] Some words about the new Startup preferences options.
+ * [DOC] Some words about the viking.ini file
+ * Add option to control whether a periodic version check should be performed.
+ * Map data license does not need to be shown every time for the default map.
+ * On the very first startup, ask whether internet related options should default to on.
+ * Enable detection of when Viking is run for the very first time.
+ * Enable an optional automatic IP to location startup mode - mainly for new users to get going more easily.
+ * Enable Startup Method option to choose between using the home position, last position or loading a specified file.
+ * Add a startup option to load a default map (as defined by layer default for the map layer).
+ * Add preference to control whether the auto window settings should be used.
+ * Start Startup preferences
+ * Use settings to allow configuration of max background threads.
+ * Use settings to maintain the track properties dialog size between invocations.
+ * Use settings to allow configuration of hardcoded map display performance values.
+ * Use settings to save and restore Geotag values.
+ * Use settings to save and restore the Goto Provider selected.
+ * Use settings for OSM Traces visibility value.
+ * Save and restore the generate image values using the settings mechanism.
+ * [QA] Tidy up general preferences into single array
+ * Use settings to store GPS values for reuse.
+ * Alphabetized TrackWaypoint layer ordering is now a configurable run time setting.
+ * Use settings to store Window layout states
+ * First iteration of internal settings
+
+2013-06-12
+Rob Norris <rw_norris@hotmail.com>:
+ * Fix track not displayed from realtime GPS tracking.
+
+2013-06-11
+Rob Norris <rw_norris@hotmail.com>:
+ * Add a simple file properties dialog to show some details for a Viking file:
+ * Fix usage of default maps cache directory when it does not end in a separator.
+
+2013-06-09
+Guilhem Bonnefille <guilhem.bonnefille@gmail.com>:
+ * [DOC] Add documentation on new public routing function
+ * [QA] minor revision on cast operators
+
+2013-06-03
+Rob Norris <rw_norris@hotmail.com>:
+ * [QA] Fix incorrect comment
+
+2013-06-02
+Guilhem Bonnefille <guilhem.bonnefille@gmail.com>:
+ * QA: Add glib.h
+ * Ensure all buildable types are registered
+
+2013-06-01
+Guilhem Bonnefille <guilhem.bonnefille@gmail.com>:
+ * Fix doc: Replace simple quotes by DocBook tags
+
+2013-06-01
+Rob Norris <rw_norris@hotmail.com>:
+ * Add Show/Hide all Layers within an Aggregate Layer.
+ * SF#3314896: Show/Hide All Tracks (Routes+Waypoints too) of a Layer.
-2013-06-06
+2013-05-31
Rob Norris <rw_norris@hotmail.com>:
+ * [QA] Fix missing G_BEGIN/END_DECLS
* Automated check for the latest version. ATM only on Windows systems.
* Enable getting Viking Version as a number from a string to enable comparisons.
+
+2013-05-29
+Rob Norris <rw_norris@hotmail.com>:
* SF#3613971: Remove Geofabrik's OpenStreetMap WMS, as it is not for public use.
* SF#3613971: Remove Geofabrik's OpenStreetMap WMS, as it is not for public use.
+
+2013-05-27
+Guilhem Bonnefille <guilhem.bonnefille@gmail.com>:
+ * Fix GLib macros typo
+ * QA: factorize GObject cast operations (datasource_osm_my_traces.c)
+ * QA: factorize GObject cast operations (datasource_osm.c)
+ * QA: factorize GObject cast operations (datasource_google.c)
+ * QA: factorize GObject cast operations (datasource_geotag.c)
+ * QA: factorize GObject cast operations (datasource_gc.c)
+ * QA: factorize GObject cast operations (datasource_file.c)
+
+2013-05-25
+Rob Norris <rw_norris@hotmail.com>:
+ * [QA] Revise direct access for '->vbox' to use gtk_dialog_get_content_area() instead.
+ * Add ability to Download Maps for a defined region over several Zoom levels.
* Don't silently fail on attempting to split to a track.
+ * Fix selection of trackpoint via Edit Trackpoint button.
+
+2013-05-24
+Guilhem Bonnefille <guilhem.bonnefille@gmail.com>:
+ * Routing: refactor
+ * Routing: suppress Google
+ * Routing: suppress OSRM specific code
+ * Generalize routing engine
+
+2013-05-23
+Rob Norris <rw_norris@hotmail.com>:
+ * [QA] Prevent Gtk-Critical warnings on trying to use NULL strings on file entry widgets.
+ * Fix Drag and Drop file loading on Windows.
+ * Prevent gcc 4.7.3 compiler warnings for new routing code.
+ * Support new versions of depreciated g_thread_* functions for glib 2.32
+ * Allow opening of files via Drag and Drop onto the Viewport.
* Fix background thread statusbar update instability.
* Fix location of gdk_threads_enter() to be before first window creation.
* Allow Bing Map source URL to be set via the configuration XML file.
-2013-06-06
-Michael Klein <michael.klein@puffin.lb.shuttle.de>:
- * SF#3610708: Fix Failing to Load DEM files on Big Endian Systems.
+2013-05-23
+Guilhem Bonnefille <guilhem.bonnefille@gmail.com>:
+ * Doc: improve reference documentation
+ * QA: add a NULL check
+ * DOC: add classname tags
+
+2013-05-22
+Guilhem Bonnefille <guilhem.bonnefille@gmail.com>:
+ * Fix vik_routing_register: replace existing engine
+ * Remove uneeded (and wrong) finalize functions
+ * Update AC_INIT macro call
+
+2013-05-20
+Guilhem Bonnefille <guilhem.bonnefille@gmail.com>:
+ * Fix compilation warning
+ * Allow to use full URL as download parameter
+
+2013-05-16
+Guilhem Bonnefille <guilhem.bonnefille@gmail.com>:
+ * Add OSRM routing engine
+ * Generalize route finder
+ * Add a fixed combobox for string parameter
+
+2013-05-05
+Rob Norris <rw_norris@hotmail.com>:
+ * Oops! Remember to commit new files for DatasourceRemoteFile feature.
+
+2013-05-04
+Rob Norris <rw_norris@hotmail.com>:
+ * SF#3601584: Fix minimum vertical size for the track properties dialog.
+
+2013-05-03
+Rob Norris <rw_norris@hotmail.com>:
+ * Merge branch 'DatasourceRemoteFile'
+ * Add support for acquiring OpenStreetMap Notes as GPX files.
+ * [DOC] Explain datasources.xml usage.
+ * Add a new webtool datasource to allow acquiring data from URLs that return a file.
+ * Rework mpp_to_zoom() to return the actual zoom level and handle all Viking zoom levels.
+ * [DOC] Promote Extending Viking to the top level section in the manual.
+ * [DOC] Ids are not necessary in these configuration files.
+ * Make mpp_to_zoom() a generic function
+ * Prepare for dynamic VikDataSourceInterface creation/deletion.
+ * Make window related values available on acquire initialisation.
+ * Ensure string is long enough for potential dates.
+
+2013-05-01
+Rob Norris <rw_norris@hotmail.com>:
+ * Simpler and better use of time display for tracks.
+ * Simpler and better use of time display for trackpoints.
+ * Add display of Waypoint time property (only when waypoint has a time).
+
+2013-04-30
+Rob Norris <rw_norris@hotmail.com>:
+ * Add time property to Waypoints since it's in the GPX1.0 standard.
+
+2013-04-29
+Rob Norris <rw_norris@hotmail.com>:
+ * Fix waypoints may not be shown if drag copied between layers.
+ * Enable changing name of an existing waypoint in the Waypoint Properties dialog.
+ * Correct tooltip message for paste behaviour
+ * Scope to include additional menu items for an Aggregate Layer.
+ * Add simple dialog to show DEM file information.
+
+2013-04-27
+Guilhem Bonnefille <guilhem.bonnefille@gmail.com>:
+ * Relicensing source code from GPLv3+ to GPLv2+
2013-04-27
Rob Norris <rw_norris@hotmail.com>:
+ * Prevent cut/copy/paste options appearing in the popup menu from the '+' layer button.
+ * [QA] Remove spurious commented out code.
+ * Waive copyright on my accessory scripts to build Viking on Windows.
+ * Remove shell script as route capabilities are now in Viking.
+ * [QA] Protection from trying to use small values in the zoom combo box.
* Fix incorrect setting to lowest zoom value when clicking away from the statusbar zoom menu.
* [QA] Improve create zoom menu to use G_N_ELEMENTS to know array bounds.
-2013-04-08
+2013-04-27
+Guilhem Bonnefille <guilhem.bonnefille@gmail.com>:
+ * Relicensing source code from GPLv3+ to GPLv2+
+
+2013-04-26
+Guilhem Bonnefille <guilhem.bonnefille@gmail.com>:
+ * Geocaching: fix geotools call when locale is not C
+
+2013-04-22
Rob Norris <rw_norris@hotmail.com>:
- * Releasing 1.4.1
- * Document previous translation updates
- * Import Launchpad translation updates
+ * Fix may crash on exporting to GPX. Caused by recent commit.
+ * Set the generate image file filter according to the file type selected.
+
+2013-04-20
+Rob Norris <rw_norris@hotmail.com>:
+ * Fix a_vik_gpx_export_wpt_sym_name internal type
+ * Really fix showing map timestamps on Windows on the map tile info dialog.
+
+2013-04-17
+Rob Norris <rw_norris@hotmail.com>:
+ * Add 'Creation' sort option for saving GPX tracks.
+ * SF#3387591: Improve keyboard copy+paste behaviour when the editing a layer name in the treeview.
+ * SF#3608417: Add Preference option to control the display of the track creation distance tooltip.
+ * Reduce wasted space in the Preferences dialog if there are lots of tabs.
+ * SF#2998555: Control of saving Absolute vs Relative Paths in .vik files
+ * Add 'Advanced' preferences tab.
+ * Make more portable .vik file, as don't save the map cache directory if it's the map cache default directory.
+ * SF#3028797: Remember last directory used when saving / opening main files.
+
+2013-04-16
+Michael Klein <michael.klein@puffin.lb.shuttle.de>:
+ * SF#3610708: Fix Failing to Load DEM files on Big Endian Systems.
+
+2013-04-14
+Guilhem Bonnefille <guilhem.bonnefille@gmail.com>:
+ * [DOC] Minor improve
+
+2013-04-10
+Rob Norris <rw_norris@hotmail.com>:
+ * Import Launchpad translation updates for Asturian language
+
+2013-04-10
+Wolfgang Goetz <Wolfgang.ztoeG@web.de>:
+ * Fix Double defined msgid's in po-files.
+
+2013-04-10
+Rob Norris <rw_norris@hotmail.com>:
+ * Merge branch 'GTK+-Updates'
+ * Create own marshal_VOID__POINTER_POINTER function.
+ * Don't use deprecated Gtk Type Objects - use G Type Objects instead.
+ * [QA] Remove old checks for minimum GTK+2.10, since we require 2.14.
+ * If using GTK+2.24 or later don't use depreciated about dialog features as not needed any more.
+ * Rework combo boxes to work with GTK+2.24 or earlier.
+ * gtk_marshal_VOID__POINTER_UINT depreciated, use g_cclosure_marshal_VOID__UINT_POINTER instead.
+ * Use GTK+2.18 functions if available.
+ * Improved usage of GTK+2.14 features for URIs.
+ * Minimum GTK+2.14 required for the build.
+ * [QA] Better use of VikLayerTypeEnum rather than gints
+ * Merge branch 'i18n-launchpad' into master
+ * Update translations for layers menu popup which no longer have to start with '/'
+ * Remove usage of depreciated GtkItemFactory.
+ * Position Trackpoint Edit and Waypoint dialogs to not obscure the selected point.
+ * When adding layers insert 'Base' layers (i.e Maps/GeoRef/DEM) below the selected layer.
+ * Add 'Export All' functionality to convert all TrackWaypoint layers into individual GPX or KML files.
+
+2013-04-09
+Rob Norris <rw_norris@hotmail.com>:
+ * Enable opening background jobs window from the status bar by clicking on the items field.
+ * When loading unnamed items in a gpx file improve the default name.
* Fix using .vik files with 'unusual' track or waypoint names
* Fix waypoint selection when the waypoint has an image but the images are not being displayed.
+2013-04-08
+Rob Norris <rw_norris@hotmail.com>:
+ * Releasing 1.4.1
+ * Don't need specify full path for cmd.exe in using wine
+ * Use a busy cursor when exporting to a file.
+
+2013-04-07
+Rob Norris <rw_norris@hotmail.com>:
+ * Enable a busy cursor when loading and saving files as that may take some time.
+ * Improve Goto place search UI usage so one can start typing and then press return to instigate it.
+
+2013-03-29
+Rob Norris <rw_norris@hotmail.com>:
+ * Fix unintentional renames if drag dropping within the same layer
+
2013-03-24
Rob Norris <rw_norris@hotmail.com>:
- * Fix showing map timestamps on Windows on the map tile info dialog.
* SF#3608411: Part 2 - Avoid creating command window on Viking start-up.
+ * Fix showing map timestamps on Windows on the map tile info dialog.
+ * Merge branch 'WaypointSymbolImprovements'
+ * Maintain support of old waypoint symbol names with new hashed lookup method.
+ * Add preference to support writing Waypoint symbol names in Title or lower case.
+ * Add an example viking file with all the supported waypoint symbols in use.
+ * Add 'helipad' waypoint symbol.
+ * Add 'exit' waypoint symbol.
+ * Amend ground transport icon colour to differentiate between it and the school symbol.
+ * Fix incorrect GPSBabel/Garmin symbol names.
+
+2013-03-23
+Rob Norris <rw_norris@hotmail.com>:
+ * Document previous translation updates
+ * Import Launchpad translation updates
+
+2013-03-21
+Rob Norris <rw_norris@hotmail.com>:
+ * Maintain waypoint symbol .vik file compatibility with older Viking releases.
+
+2013-03-21
+Sven Eckelmann <sven@narfation.org>:
+ * Fix GPX symbol names for Garmin Oregon 450
+
+2013-03-21
+Rob Norris <rw_norris@hotmail.com>:
+ * [QA] Tidy up Coordlayer function definitions.
+ * Fix layer defaults fix, which breaks setting the layer defaults.
+
+2013-03-20
+Rob Norris <rw_norris@hotmail.com>:
+ * Fix compiling geocaches to work with updated VikLayerParam definition.
* SF#3608411: Part 1 - Avoid warning about unbuffer on Windows Systems.
* SF#3608264: Improve Statusbar Location Info Maybe Truncated
+
+2013-03-17
+Rob Norris <rw_norris@hotmail.com>:
* Prevent inputting empty names for layers and sublayers via the layers panel.
* SF#3608311: Fix crash caused by renaming blank sublayer names
+ * Correct spelling of map layer.
+ * [QA] Move file related function into file.c and rename for general reuse
+ * [QA] Better for vik_track reverse to worry about trackpoints.
+ * Merge branch 'Optimize'
+ * GeoRef layer draw: only scale the image when the image will be drawn on the viewport.
-2013-03-24
+2013-03-14
+Rob Norris <rw_norris@hotmail.com>:
+ * Optimize: Calculate associated icon of a waypoint only on change.
+ * Optimize: Only create waypoint font size string when actual setting is changed.
+ * Speed up item selection by restricting search within bounding box limits.
+ * Make vik_viewport_coord_to_screen() calculation faster.
+ * Only attempt to draw waypoints when they are in the screens bounding box.
+
+2013-03-13
+Rob Norris <rw_norris@hotmail.com>:
+ * Store track bounding box and only attempt to draw it if some part of it is visible on screen.
+
+2013-03-13
Wolfgang Goetz <Wolfgang.ztoeG@web.de>:
* Be less strigent in loading Geotagged images without optional GPS tags
-2013-03-24
+2013-03-13
+Rob Norris <rw_norris@hotmail.com>:
+ * [QA] Consistent use of *_layer_draw parameter types.
+ * [QA] Tidy up DEM layer function definitions.
+ * [QA] These GeoRef layer functions should be static.
+ * Convert GeoRef failed image loading message into a GUI message.
+ * GeoRef Layer only works in UTM Projection Mode.
+ * Fix tooltip of GeoRef northing / easting values.
+ * Improve defaults for the GeoRef layer using the current view to suggest some values.
+
+2013-03-09
+Rob Norris <rw_norris@hotmail.com>:
+ * Remove blank entry on the Tools->Webtools menu list.
+ * Change map image interpolation to a more precise one.
+ * Prevent the program grinding to a halt if trying to deal with thousands of tiles
+ * Prevent requests for downloading tiles at Zoom Level 19 and above for most map types
+ * Extend map scales down to support 1/32 zoom level.
+
+2013-03-07
Rob Norris <rw_norris@hotmail.com>:
* Fix use of scaled tile image when tile image not present.
+
+2013-03-06
+Rob Norris <rw_norris@hotmail.com>:
+ * Add Wikimedia Toolserver GeoHack as a webtool.
+
+2013-03-05
+Rob Norris <rw_norris@hotmail.com>:
+ * [QA] Add missing include as this header uses an externally defined type DownloadMapOptions.
+ * [QA] Function should have only local scope.
* Enable updating the treeview to allow setting a blank waypoint symbol.
+ * Merge pull request #2 from gdt/maxzoom
+ * Merge pull request #1 from gdt/whitespace-README
+
+2013-03-04
+Greg Troxel <gdt@lexort.com>:
+ * Allow zoom to 1/32.
+ * Wrap long lines.
+
+2013-03-03
+Rob Norris <rw_norris@hotmail.com>:
+ * Merge branch 'LayerDefaultValues'
+ * Now layer property defaults are available, improve some layer defaults.
+ * Fix usage of layer defaults when file has been manually editted and entries have been removed.
+ * [DOC] Layer property defaults.
* Improve the Waypoint tooltip to display the description if there is no comment.
+ * Remove unnecessary include statements.
* Fix datasource acquiring waypoints from geotag images.
+ * Create and use a function to detect when a TrackWaypoint layer is empty.
+ * [QA] Use vik_track function to append trackpoints from another track
+ * [QA] Simplify vik_track_steal_and_append_trackpoints()
+ * Remove direct access for '->style' and replace with gtk_widget_get_style()
+ * Don't use deprecated GtkObject - use GObject instead.
+ * gtk_object_sink() has been deprecated since GTK version 2.10, use g_object_ref_sink() instead.
+ * Replace G_CONST_RETURN with 'const'
* [QA] Remove unused variable in VikWindow.
+
+2013-02-26
+Rob Norris <rw_norris@hotmail.com>:
* Better copying of limited sized string.
* [DOC] Update the TODO file to say that it's old and superseded by the wiki.
* Updated geo-* scripts to version released on 2013/02/18
* Fix compilation with --enable-geocaches option.
-2013-03-24
+2013-02-23
Greg Troxel <gdt@ir.bbn.com>:
* help/Makefile.am: explicitly list figures.
+2013-02-17
+Rob Norris <rw_norris@hotmail.com>:
+ * Revise Layer Default icon.
+
2013-02-16
Rob Norris <rw_norris@hotmail.com>:
+ * Add default values for layers.
+ * [QA] Refactor general string processing to avoid pointer arithmetic.
+ * [QA] Simplify setting the colour in coordinate layer.
+ * [QA] Move preferences_load_parse_param() to be a general function
+ * [QA] Move VikLayerTypedParamData from preferences into viklayer header
+ * [QA] Promote layer_type_from_string to be a global function.
+ * [QA] Enumerate and use VikLayerWidgetType
+ * [QA] Enumerate and use VikLayerParamType
+ * [QA] Better usage of enumeration type to identify layers.
+ * [QA] Initialization of TrackWaypoint layer data in related part.
+ * Enable some layers to be created without needing a viewport.
* Releasing 1.4.0.1
2013-02-16
diff --git a/Makefile.in b/Makefile.in
index 1a82473..7a5381d 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.3 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2013 Free Software Foundation, Inc.
@@ -79,11 +79,13 @@ subdir = .
DIST_COMMON = INSTALL NEWS README AUTHORS ChangeLog \
$(srcdir)/Makefile.in $(srcdir)/Makefile.am \
$(top_srcdir)/configure $(am__configure_deps) mkinstalldirs \
- $(srcdir)/viking.spec.in COPYING TODO depcomp install-sh \
+ $(srcdir)/viking.spec.in ABOUT-NLS COPYING TODO compile \
+ config.guess config.rpath config.sub depcomp install-sh \
missing
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/expat.m4 \
- $(top_srcdir)/m4/libcurl.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/libcurl.m4 $(top_srcdir)/m4/nls.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
@@ -229,6 +231,7 @@ GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@
GREP = @GREP@
GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
@@ -588,10 +591,16 @@ dist-xz: distdir
$(am__post_remove_distdir)
dist-tarZ: distdir
+ @echo WARNING: "Support for shar distribution archives is" \
+ "deprecated." >&2
+ @echo WARNING: "It will be removed altogether in Automake 2.0" >&2
tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
$(am__post_remove_distdir)
dist-shar: distdir
+ @echo WARNING: "Support for distribution archives compressed with" \
+ "legacy program 'compress' is deprecated." >&2
+ @echo WARNING: "It will be removed altogether in Automake 2.0" >&2
shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
$(am__post_remove_distdir)
dist-zip: distdir
@@ -632,9 +641,10 @@ distcheck: dist
&& dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
&& am__cwd=`pwd` \
&& $(am__cd) $(distdir)/_build \
- && ../configure --srcdir=.. --prefix="$$dc_install_base" \
+ && ../configure \
$(AM_DISTCHECK_CONFIGURE_FLAGS) \
$(DISTCHECK_CONFIGURE_FLAGS) \
+ --srcdir=.. --prefix="$$dc_install_base" \
&& $(MAKE) $(AM_MAKEFLAGS) \
&& $(MAKE) $(AM_MAKEFLAGS) dvi \
&& $(MAKE) $(AM_MAKEFLAGS) check \
diff --git a/NEWS b/NEWS
index 4b35d87..75fc1fb 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,58 @@
+Viking 1.5.1.0 (2013-03-16)
+Bug Fix Release
+* [WINDOWS] Ensure an icon is embedded in the executable.
+* [WINDOWS] Fix opening URLs in Windows build only.
+* Shift code around to reduce dependencies required for DEM access.
+* SF Bugs#105: Fix Display of Lines (Clipping) at High Zoom Levels.
+* Remove built in OpenStreetBugs datasource as this service is being phased out.
+* Isolate Viking specific code in otherwise reusable code.
+* Fix DEM layer URL reference output.
+* Remove mistaken need to change directory.
+* Remove repeating of built in types in data files.
+* External tools don't use ids
+* Skip etag files in mbtile converter tool
+* Fix crashing when copying layers with null strings as parameters.
+* Fix translatable string with variable argument
+* Fix 'export_to_common' dialog
+* Fix needing to calculate bounds of *both* tracks when a track is split via the marker.
+* Fix vik_track_get_length_to_trackpoint() so with the first track point it returns zero, not the entire track length!
+* Fix opening files on command line in different directories.
+* Move man files from doc to help directory so they will be included in the output from make distcheck.
+* Update spec file
+* [QA] Remove build references to things that don't exist anymore.
+* SF Bugs #104: Fix GStatBuf not available on Glib < 2.26
+* Fix the display of speed in statusbar output.
+
+Viking 1.5 (2013-10-13)
+New features since 1.4.2
+* Startup preferences for ease of use.
+* Multi layer/track statistics.
+* Multi layer/track or waypoint detailed lists.
+* Control sorting of layers and quick show/hide all options.
+* Configurable layer defaults.
+* Optimizations when loading and drawing large numbers of tracks.
+* Allow higher zoom levels up to 1/32 (OSM z22 equivalent but maps only requested up to z19).
+* Retain internal options across sessions.
+* Selectable online router service provider (now including OSRM)
+* 'Via' points online route refining.
+* Download a file directly from an URL.
+* Datasource acquiring files from URLs related to the current view.
+* Support timestamps (read only) in waypoints.
+* Support naming trackpoints.
+* Request downloading a region of maps over multiple zoom levels.
+* Support Compressed My OSM Traces files (requires libbz2 and libmagic).
+* Support opening files drag and drop on to the viewport.
+* Support relative paths in Viking files.
+* Add support for OSM Humanitarian (HOT) Style Map.
+* Advanced preferences.
+* Optional track labelling on the viewport.
+* Translations for the Basque language.
+* Improved Help Manual.
+* Many internal improvements.
+
+Fixes since 1.4.2
+* Fix crashing if attempting to Extend a Route via the Route Finder when the route has no points.
+
Viking 1.4.2.0 (2013-07-26)
Bug Fix Release
* Fix menu use of named own Icons since the icons were renamed some time ago.
diff --git a/README b/README
index e2e86f4..9807e6f 100644
--- a/README
+++ b/README
@@ -1,4 +1,7 @@
-Viking is a free/open source program to manage GPS data. You can import, plot and create tracks and waypoints, show OSM, Terraserver and other maps, see real-time GPS position, get geocaches, control items, etc. It is written in C & the GTK+2 toolkit.
+Viking is a free/open source program to manage GPS data. You can
+import, plot and create tracks and waypoints, show OSM, Terraserver
+and other maps, see real-time GPS position, get geocaches, control
+items, etc. It is written in C & the GTK+2 toolkit.
Website: http://viking.sf.net/
@@ -23,8 +26,9 @@ Next, or if you downloaded a tarball, you have to:
$ ./configure
$ make
-Check output of "./configure --help" for configuration options.
-In particular, it is possible to disable some features, like --disable-google in order to disable any Google stuff.
+Check output of "./configure --help" for configuration options. In
+particular, it is possible to disable some features, like
+--disable-google in order to disable any Google stuff.
If you wish to install Viking, you have to (as root):
# make install
diff --git a/aclocal.m4 b/aclocal.m4
index a100cb6..24e6495 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -1,4 +1,4 @@
-# generated automatically by aclocal 1.13.3 -*- Autoconf -*-
+# generated automatically by aclocal 1.14.1 -*- Autoconf -*-
# Copyright (C) 1996-2013 Free Software Foundation, Inc.
@@ -337,7 +337,6 @@ msgstr ""
dnl
glib_DEFUN([GLIB_GNU_GETTEXT],
[AC_REQUIRE([AC_PROG_CC])dnl
- AC_REQUIRE([AC_HEADER_STDC])dnl
GLIB_LC_MESSAGES
GLIB_WITH_NLS
@@ -521,7 +520,7 @@ GNOME_DOC_DEFINES
dnl -*- mode: autoconf -*-
-# serial 1
+# serial 2
dnl Usage:
dnl GTK_DOC_CHECK([minimum-gtk-doc-version])
@@ -531,8 +530,24 @@ AC_DEFUN([GTK_DOC_CHECK],
AC_BEFORE([AC_PROG_LIBTOOL],[$0])dnl setup libtool first
AC_BEFORE([AM_PROG_LIBTOOL],[$0])dnl setup libtool first
+ ifelse([$1],[],[gtk_doc_requires="gtk-doc"],[gtk_doc_requires="gtk-doc >= $1"])
+ AC_MSG_CHECKING([for gtk-doc])
+ PKG_CHECK_EXISTS([$gtk_doc_requires],[have_gtk_doc=yes],[have_gtk_doc=no])
+ AC_MSG_RESULT($have_gtk_doc)
+
+ if test "$have_gtk_doc" = "no"; then
+ AC_MSG_WARN([
+ You will not be able to create source packages with 'make dist'
+ because $gtk_doc_requires is not found.])
+ fi
+
dnl check for tools we added during development
- AC_PATH_PROG([GTKDOC_CHECK],[gtkdoc-check])
+ dnl Use AC_CHECK_PROG to avoid the check target using an absolute path that
+ dnl may not be writable by the user. Currently, automake requires that the
+ dnl test name must end in '.test'.
+ dnl https://bugzilla.gnome.org/show_bug.cgi?id=701638
+ AC_CHECK_PROG([GTKDOC_CHECK],[gtkdoc-check],[gtkdoc-check.test])
+ AC_PATH_PROG([GTKDOC_CHECK_PATH],[gtkdoc-check])
AC_PATH_PROGS([GTKDOC_REBASE],[gtkdoc-rebase],[true])
AC_PATH_PROG([GTKDOC_MKPDF],[gtkdoc-mkpdf])
@@ -549,22 +564,22 @@ AC_DEFUN([GTK_DOC_CHECK],
[use gtk-doc to build documentation [[default=no]]]),,
[enable_gtk_doc=no])
- if test x$enable_gtk_doc = xyes; then
- ifelse([$1],[],
- [PKG_CHECK_EXISTS([gtk-doc],,
- AC_MSG_ERROR([gtk-doc not installed and --enable-gtk-doc requested]))],
- [PKG_CHECK_EXISTS([gtk-doc >= $1],,
- AC_MSG_ERROR([You need to have gtk-doc >= $1 installed to build $PACKAGE_NAME]))])
- dnl don't check for glib if we build glib
- if test "x$PACKAGE_NAME" != "xglib"; then
- dnl don't fail if someone does not have glib
- PKG_CHECK_MODULES(GTKDOC_DEPS, glib-2.0 >= 2.10.0 gobject-2.0 >= 2.10.0,,)
- fi
- fi
-
AC_MSG_CHECKING([whether to build gtk-doc documentation])
AC_MSG_RESULT($enable_gtk_doc)
+ if test "x$enable_gtk_doc" = "xyes" && test "$have_gtk_doc" = "no"; then
+ AC_MSG_ERROR([
+ You must have $gtk_doc_requires installed to build documentation for
+ $PACKAGE_NAME. Please install gtk-doc or disable building the
+ documentation by adding '--disable-gtk-doc' to '[$]0'.])
+ fi
+
+ dnl don't check for glib if we build glib
+ if test "x$PACKAGE_NAME" != "xglib"; then
+ dnl don't fail if someone does not have glib
+ PKG_CHECK_MODULES(GTKDOC_DEPS, glib-2.0 >= 2.10.0 gobject-2.0 >= 2.10.0,,[:])
+ fi
+
dnl enable/disable output formats
AC_ARG_ENABLE([gtk-doc-html],
AS_HELP_STRING([--enable-gtk-doc-html],
@@ -579,7 +594,12 @@ AC_DEFUN([GTK_DOC_CHECK],
enable_gtk_doc_pdf=no
fi
+ if test -z "$AM_DEFAULT_VERBOSITY"; then
+ AM_DEFAULT_VERBOSITY=1
+ fi
+ AC_SUBST([AM_DEFAULT_VERBOSITY])
+ AM_CONDITIONAL([HAVE_GTK_DOC], [test x$have_gtk_doc = xyes])
AM_CONDITIONAL([ENABLE_GTK_DOC], [test x$enable_gtk_doc = xyes])
AM_CONDITIONAL([GTK_DOC_BUILD_HTML], [test x$enable_gtk_doc_html = xyes])
AM_CONDITIONAL([GTK_DOC_BUILD_PDF], [test x$enable_gtk_doc_pdf = xyes])
@@ -802,39 +822,6 @@ AU_ALIAS([AC_PROG_INTLTOOL], [IT_PROG_INTLTOOL])
# AC_DEFUN([AC_PROG_INTLTOOL], ...)
-# nls.m4 serial 5 (gettext-0.18)
-dnl Copyright (C) 1995-2003, 2005-2006, 2008-2013 Free Software Foundation,
-dnl Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-dnl
-dnl This file can can be used in projects which are not available under
-dnl the GNU General Public License or the GNU Library General Public
-dnl License but which still want to provide support for the GNU gettext
-dnl functionality.
-dnl Please note that the actual code of the GNU gettext library is covered
-dnl by the GNU Library General Public License, and the rest of the GNU
-dnl gettext package package is covered by the GNU General Public License.
-dnl They are *not* in the public domain.
-
-dnl Authors:
-dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
-dnl Bruno Haible <haible@clisp.cons.org>, 2000-2003.
-
-AC_PREREQ([2.50])
-
-AC_DEFUN([AM_NLS],
-[
- AC_MSG_CHECKING([whether NLS is requested])
- dnl Default is enabled NLS
- AC_ARG_ENABLE([nls],
- [ --disable-nls do not use Native Language Support],
- USE_NLS=$enableval, USE_NLS=yes)
- AC_MSG_RESULT([$USE_NLS])
- AC_SUBST([USE_NLS])
-])
-
# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*-
# serial 1 (pkg-config-0.24)
#
@@ -1007,10 +994,10 @@ fi[]dnl
# generated from the m4 files accompanying Automake X.Y.
# (This private macro should not be called outside this file.)
AC_DEFUN([AM_AUTOMAKE_VERSION],
-[am__api_version='1.13'
+[am__api_version='1.14'
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
dnl require some minimum version. Point them to the right macro.
-m4_if([$1], [1.13.3], [],
+m4_if([$1], [1.14.1], [],
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
])
@@ -1026,7 +1013,7 @@ m4_define([_AM_AUTOCONF_VERSION], [])
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.13.3])dnl
+[AM_AUTOMAKE_VERSION([1.14.1])dnl
m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
@@ -1430,6 +1417,12 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
# This macro actually does too much. Some checks are only needed if
# your package does certain things. But this isn't really a big deal.
+dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O.
+m4_define([AC_PROG_CC],
+m4_defn([AC_PROG_CC])
+[_AM_PROG_CC_C_O
+])
+
# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
# AM_INIT_AUTOMAKE([OPTIONS])
# -----------------------------------------------
@@ -1538,6 +1531,48 @@ dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below.
AC_CONFIG_COMMANDS_PRE(dnl
[m4_provide_if([_AM_COMPILER_EXEEXT],
[AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
+
+# POSIX will say in a future version that running "rm -f" with no argument
+# is OK; and we want to be able to make that assumption in our Makefile
+# recipes. So use an aggressive probe to check that the usage we want is
+# actually supported "in the wild" to an acceptable degree.
+# See automake bug#10828.
+# To make any issue more visible, cause the running configure to be aborted
+# by default if the 'rm' program in use doesn't match our expectations; the
+# user can still override this though.
+if rm -f && rm -fr && rm -rf; then : OK; else
+ cat >&2 <<'END'
+Oops!
+
+Your 'rm' program seems unable to run without file operands specified
+on the command line, even when the '-f' option is present. This is contrary
+to the behaviour of most rm programs out there, and not conforming with
+the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
+
+Please tell bug-automake@gnu.org about your system, including the value
+of your $PATH and any error possibly output before this message. This
+can help us improve future automake versions.
+
+END
+ if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
+ echo 'Configuration will proceed anyway, since you have set the' >&2
+ echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
+ echo >&2
+ else
+ cat >&2 <<'END'
+Aborting the configuration process, to ensure you take notice of the issue.
+
+You can download and install GNU coreutils to get an 'rm' implementation
+that behaves properly: <http://www.gnu.org/software/coreutils/>.
+
+If you want to complete the configuration process using your problematic
+'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
+to "yes", and re-run configure.
+
+END
+ AC_MSG_ERROR([Your 'rm' program is bad, sorry.])
+ fi
+fi
])
dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not
@@ -1546,7 +1581,6 @@ dnl mangled by Autoconf and run in a shell conditional statement.
m4_define([_AC_COMPILER_EXEEXT],
m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
-
# When config.status generates a header, we must update the stamp-h file.
# This file resides in the same directory as the config header
# that is generated. The stamp files are numbered to have different names.
@@ -1728,6 +1762,70 @@ AC_DEFUN([_AM_SET_OPTIONS],
AC_DEFUN([_AM_IF_OPTION],
[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
+# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# _AM_PROG_CC_C_O
+# ---------------
+# Like AC_PROG_CC_C_O, but changed for automake. We rewrite AC_PROG_CC
+# to automatically call this.
+AC_DEFUN([_AM_PROG_CC_C_O],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+AC_REQUIRE_AUX_FILE([compile])dnl
+AC_LANG_PUSH([C])dnl
+AC_CACHE_CHECK(
+ [whether $CC understands -c and -o together],
+ [am_cv_prog_cc_c_o],
+ [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])])
+ # Make sure it works both with $CC and with simple cc.
+ # Following AC_PROG_CC_C_O, we do the test twice because some
+ # compilers refuse to overwrite an existing .o file with -o,
+ # though they will create one.
+ am_cv_prog_cc_c_o=yes
+ for am_i in 1 2; do
+ if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \
+ && test -f conftest2.$ac_objext; then
+ : OK
+ else
+ am_cv_prog_cc_c_o=no
+ break
+ fi
+ done
+ rm -f core conftest*
+ unset am_i])
+if test "$am_cv_prog_cc_c_o" != yes; then
+ # Losing compiler, so override with the script.
+ # FIXME: It is wrong to rewrite CC.
+ # But if we don't then we get into trouble of one sort or another.
+ # A longer-term fix would be to have automake use am__CC in this case,
+ # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
+ CC="$am_aux_dir/compile $CC"
+fi
+AC_LANG_POP([C])])
+
+# For backward compatibility.
+AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
+
+# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_RUN_LOG(COMMAND)
+# -------------------
+# Run COMMAND, save the exit status in ac_status, and log it.
+# (This has been adapted from Autoconf's _AC_RUN_LOG macro.)
+AC_DEFUN([AM_RUN_LOG],
+[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD
+ ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+ (exit $ac_status); }])
+
# Check to make sure that the build environment is sane. -*- Autoconf -*-
# Copyright (C) 1996-2013 Free Software Foundation, Inc.
@@ -2051,3 +2149,4 @@ AC_SUBST([am__untar])
m4_include([m4/expat.m4])
m4_include([m4/libcurl.m4])
+m4_include([m4/nls.m4])
diff --git a/compile b/compile
new file mode 100755
index 0000000..531136b
--- /dev/null
+++ b/compile
@@ -0,0 +1,347 @@
+#! /bin/sh
+# Wrapper for compilers which do not understand '-c -o'.
+
+scriptversion=2012-10-14.11; # UTC
+
+# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+# Written by Tom Tromey <tromey@cygnus.com>.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# This file is maintained in Automake, please report
+# bugs to <bug-automake@gnu.org> or send patches to
+# <automake-patches@gnu.org>.
+
+nl='
+'
+
+# We need space, tab and new line, in precisely that order. Quoting is
+# there to prevent tools from complaining about whitespace usage.
+IFS=" "" $nl"
+
+file_conv=
+
+# func_file_conv build_file lazy
+# Convert a $build file to $host form and store it in $file
+# Currently only supports Windows hosts. If the determined conversion
+# type is listed in (the comma separated) LAZY, no conversion will
+# take place.
+func_file_conv ()
+{
+ file=$1
+ case $file in
+ / | /[!/]*) # absolute file, and not a UNC file
+ if test -z "$file_conv"; then
+ # lazily determine how to convert abs files
+ case `uname -s` in
+ MINGW*)
+ file_conv=mingw
+ ;;
+ CYGWIN*)
+ file_conv=cygwin
+ ;;
+ *)
+ file_conv=wine
+ ;;
+ esac
+ fi
+ case $file_conv/,$2, in
+ *,$file_conv,*)
+ ;;
+ mingw/*)
+ file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
+ ;;
+ cygwin/*)
+ file=`cygpath -m "$file" || echo "$file"`
+ ;;
+ wine/*)
+ file=`winepath -w "$file" || echo "$file"`
+ ;;
+ esac
+ ;;
+ esac
+}
+
+# func_cl_dashL linkdir
+# Make cl look for libraries in LINKDIR
+func_cl_dashL ()
+{
+ func_file_conv "$1"
+ if test -z "$lib_path"; then
+ lib_path=$file
+ else
+ lib_path="$lib_path;$file"
+ fi
+ linker_opts="$linker_opts -LIBPATH:$file"
+}
+
+# func_cl_dashl library
+# Do a library search-path lookup for cl
+func_cl_dashl ()
+{
+ lib=$1
+ found=no
+ save_IFS=$IFS
+ IFS=';'
+ for dir in $lib_path $LIB
+ do
+ IFS=$save_IFS
+ if $shared && test -f "$dir/$lib.dll.lib"; then
+ found=yes
+ lib=$dir/$lib.dll.lib
+ break
+ fi
+ if test -f "$dir/$lib.lib"; then
+ found=yes
+ lib=$dir/$lib.lib
+ break
+ fi
+ if test -f "$dir/lib$lib.a"; then
+ found=yes
+ lib=$dir/lib$lib.a
+ break
+ fi
+ done
+ IFS=$save_IFS
+
+ if test "$found" != yes; then
+ lib=$lib.lib
+ fi
+}
+
+# func_cl_wrapper cl arg...
+# Adjust compile command to suit cl
+func_cl_wrapper ()
+{
+ # Assume a capable shell
+ lib_path=
+ shared=:
+ linker_opts=
+ for arg
+ do
+ if test -n "$eat"; then
+ eat=
+ else
+ case $1 in
+ -o)
+ # configure might choose to run compile as 'compile cc -o foo foo.c'.
+ eat=1
+ case $2 in
+ *.o | *.[oO][bB][jJ])
+ func_file_conv "$2"
+ set x "$@" -Fo"$file"
+ shift
+ ;;
+ *)
+ func_file_conv "$2"
+ set x "$@" -Fe"$file"
+ shift
+ ;;
+ esac
+ ;;
+ -I)
+ eat=1
+ func_file_conv "$2" mingw
+ set x "$@" -I"$file"
+ shift
+ ;;
+ -I*)
+ func_file_conv "${1#-I}" mingw
+ set x "$@" -I"$file"
+ shift
+ ;;
+ -l)
+ eat=1
+ func_cl_dashl "$2"
+ set x "$@" "$lib"
+ shift
+ ;;
+ -l*)
+ func_cl_dashl "${1#-l}"
+ set x "$@" "$lib"
+ shift
+ ;;
+ -L)
+ eat=1
+ func_cl_dashL "$2"
+ ;;
+ -L*)
+ func_cl_dashL "${1#-L}"
+ ;;
+ -static)
+ shared=false
+ ;;
+ -Wl,*)
+ arg=${1#-Wl,}
+ save_ifs="$IFS"; IFS=','
+ for flag in $arg; do
+ IFS="$save_ifs"
+ linker_opts="$linker_opts $flag"
+ done
+ IFS="$save_ifs"
+ ;;
+ -Xlinker)
+ eat=1
+ linker_opts="$linker_opts $2"
+ ;;
+ -*)
+ set x "$@" "$1"
+ shift
+ ;;
+ *.cc | *.CC | *.cxx | *.CXX | *.[cC]++)
+ func_file_conv "$1"
+ set x "$@" -Tp"$file"
+ shift
+ ;;
+ *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO])
+ func_file_conv "$1" mingw
+ set x "$@" "$file"
+ shift
+ ;;
+ *)
+ set x "$@" "$1"
+ shift
+ ;;
+ esac
+ fi
+ shift
+ done
+ if test -n "$linker_opts"; then
+ linker_opts="-link$linker_opts"
+ fi
+ exec "$@" $linker_opts
+ exit 1
+}
+
+eat=
+
+case $1 in
+ '')
+ echo "$0: No command. Try '$0 --help' for more information." 1>&2
+ exit 1;
+ ;;
+ -h | --h*)
+ cat <<\EOF
+Usage: compile [--help] [--version] PROGRAM [ARGS]
+
+Wrapper for compilers which do not understand '-c -o'.
+Remove '-o dest.o' from ARGS, run PROGRAM with the remaining
+arguments, and rename the output as expected.
+
+If you are trying to build a whole package this is not the
+right script to run: please start by reading the file 'INSTALL'.
+
+Report bugs to <bug-automake@gnu.org>.
+EOF
+ exit $?
+ ;;
+ -v | --v*)
+ echo "compile $scriptversion"
+ exit $?
+ ;;
+ cl | *[/\\]cl | cl.exe | *[/\\]cl.exe )
+ func_cl_wrapper "$@" # Doesn't return...
+ ;;
+esac
+
+ofile=
+cfile=
+
+for arg
+do
+ if test -n "$eat"; then
+ eat=
+ else
+ case $1 in
+ -o)
+ # configure might choose to run compile as 'compile cc -o foo foo.c'.
+ # So we strip '-o arg' only if arg is an object.
+ eat=1
+ case $2 in
+ *.o | *.obj)
+ ofile=$2
+ ;;
+ *)
+ set x "$@" -o "$2"
+ shift
+ ;;
+ esac
+ ;;
+ *.c)
+ cfile=$1
+ set x "$@" "$1"
+ shift
+ ;;
+ *)
+ set x "$@" "$1"
+ shift
+ ;;
+ esac
+ fi
+ shift
+done
+
+if test -z "$ofile" || test -z "$cfile"; then
+ # If no '-o' option was seen then we might have been invoked from a
+ # pattern rule where we don't need one. That is ok -- this is a
+ # normal compilation that the losing compiler can handle. If no
+ # '.c' file was seen then we are probably linking. That is also
+ # ok.
+ exec "$@"
+fi
+
+# Name of file we expect compiler to create.
+cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'`
+
+# Create the lock directory.
+# Note: use '[/\\:.-]' here to ensure that we don't use the same name
+# that we are using for the .o file. Also, base the name on the expected
+# object file name, since that is what matters with a parallel build.
+lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d
+while true; do
+ if mkdir "$lockdir" >/dev/null 2>&1; then
+ break
+ fi
+ sleep 1
+done
+# FIXME: race condition here if user kills between mkdir and trap.
+trap "rmdir '$lockdir'; exit 1" 1 2 15
+
+# Run the compile.
+"$@"
+ret=$?
+
+if test -f "$cofile"; then
+ test "$cofile" = "$ofile" || mv "$cofile" "$ofile"
+elif test -f "${cofile}bj"; then
+ test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile"
+fi
+
+rmdir "$lockdir"
+exit $ret
+
+# Local Variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
+# End:
diff --git a/config.guess b/config.guess
new file mode 100755
index 0000000..b79252d
--- /dev/null
+++ b/config.guess
@@ -0,0 +1,1558 @@
+#! /bin/sh
+# Attempt to guess a canonical system name.
+# Copyright 1992-2013 Free Software Foundation, Inc.
+
+timestamp='2013-06-10'
+
+# This file is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, see <http://www.gnu.org/licenses/>.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that
+# program. This Exception is an additional permission under section 7
+# of the GNU General Public License, version 3 ("GPLv3").
+#
+# Originally written by Per Bothner.
+#
+# You can get the latest version of this script from:
+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
+#
+# Please send patches with a ChangeLog entry to config-patches@gnu.org.
+
+
+me=`echo "$0" | sed -e 's,.*/,,'`
+
+usage="\
+Usage: $0 [OPTION]
+
+Output the configuration name of the system \`$me' is run on.
+
+Operation modes:
+ -h, --help print this help, then exit
+ -t, --time-stamp print date of last modification, then exit
+ -v, --version print version number, then exit
+
+Report bugs and patches to <config-patches@gnu.org>."
+
+version="\
+GNU config.guess ($timestamp)
+
+Originally written by Per Bothner.
+Copyright 1992-2013 Free Software Foundation, Inc.
+
+This is free software; see the source for copying conditions. There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+
+help="
+Try \`$me --help' for more information."
+
+# Parse command line
+while test $# -gt 0 ; do
+ case $1 in
+ --time-stamp | --time* | -t )
+ echo "$timestamp" ; exit ;;
+ --version | -v )
+ echo "$version" ; exit ;;
+ --help | --h* | -h )
+ echo "$usage"; exit ;;
+ -- ) # Stop option processing
+ shift; break ;;
+ - ) # Use stdin as input.
+ break ;;
+ -* )
+ echo "$me: invalid option $1$help" >&2
+ exit 1 ;;
+ * )
+ break ;;
+ esac
+done
+
+if test $# != 0; then
+ echo "$me: too many arguments$help" >&2
+ exit 1
+fi
+
+trap 'exit 1' 1 2 15
+
+# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
+# compiler to aid in system detection is discouraged as it requires
+# temporary files to be created and, as you can see below, it is a
+# headache to deal with in a portable fashion.
+
+# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
+# use `HOST_CC' if defined, but it is deprecated.
+
+# Portable tmp directory creation inspired by the Autoconf team.
+
+set_cc_for_build='
+trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
+trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
+: ${TMPDIR=/tmp} ;
+ { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
+ { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
+ { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
+ { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
+dummy=$tmp/dummy ;
+tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
+case $CC_FOR_BUILD,$HOST_CC,$CC in
+ ,,) echo "int x;" > $dummy.c ;
+ for c in cc gcc c89 c99 ; do
+ if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
+ CC_FOR_BUILD="$c"; break ;
+ fi ;
+ done ;
+ if test x"$CC_FOR_BUILD" = x ; then
+ CC_FOR_BUILD=no_compiler_found ;
+ fi
+ ;;
+ ,,*) CC_FOR_BUILD=$CC ;;
+ ,*,*) CC_FOR_BUILD=$HOST_CC ;;
+esac ; set_cc_for_build= ;'
+
+# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
+# (ghazi@noc.rutgers.edu 1994-08-24)
+if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
+ PATH=$PATH:/.attbin ; export PATH
+fi
+
+UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
+UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
+UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
+UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
+
+case "${UNAME_SYSTEM}" in
+Linux|GNU|GNU/*)
+ # If the system lacks a compiler, then just pick glibc.
+ # We could probably try harder.
+ LIBC=gnu
+
+ eval $set_cc_for_build
+ cat <<-EOF > $dummy.c
+ #include <features.h>
+ #if defined(__UCLIBC__)
+ LIBC=uclibc
+ #elif defined(__dietlibc__)
+ LIBC=dietlibc
+ #else
+ LIBC=gnu
+ #endif
+ EOF
+ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
+ ;;
+esac
+
+# Note: order is significant - the case branches are not exclusive.
+
+case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
+ *:NetBSD:*:*)
+ # NetBSD (nbsd) targets should (where applicable) match one or
+ # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
+ # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
+ # switched to ELF, *-*-netbsd* would select the old
+ # object file format. This provides both forward
+ # compatibility and a consistent mechanism for selecting the
+ # object file format.
+ #
+ # Note: NetBSD doesn't particularly care about the vendor
+ # portion of the name. We always set it to "unknown".
+ sysctl="sysctl -n hw.machine_arch"
+ UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
+ /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
+ case "${UNAME_MACHINE_ARCH}" in
+ armeb) machine=armeb-unknown ;;
+ arm*) machine=arm-unknown ;;
+ sh3el) machine=shl-unknown ;;
+ sh3eb) machine=sh-unknown ;;
+ sh5el) machine=sh5le-unknown ;;
+ *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
+ esac
+ # The Operating System including object format, if it has switched
+ # to ELF recently, or will in the future.
+ case "${UNAME_MACHINE_ARCH}" in
+ arm*|i386|m68k|ns32k|sh3*|sparc|vax)
+ eval $set_cc_for_build
+ if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
+ | grep -q __ELF__
+ then
+ # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
+ # Return netbsd for either. FIX?
+ os=netbsd
+ else
+ os=netbsdelf
+ fi
+ ;;
+ *)
+ os=netbsd
+ ;;
+ esac
+ # The OS release
+ # Debian GNU/NetBSD machines have a different userland, and
+ # thus, need a distinct triplet. However, they do not need
+ # kernel version information, so it can be replaced with a
+ # suitable tag, in the style of linux-gnu.
+ case "${UNAME_VERSION}" in
+ Debian*)
+ release='-gnu'
+ ;;
+ *)
+ release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
+ ;;
+ esac
+ # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
+ # contains redundant information, the shorter form:
+ # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
+ echo "${machine}-${os}${release}"
+ exit ;;
+ *:Bitrig:*:*)
+ UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
+ echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE}
+ exit ;;
+ *:OpenBSD:*:*)
+ UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
+ echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
+ exit ;;
+ *:ekkoBSD:*:*)
+ echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
+ exit ;;
+ *:SolidBSD:*:*)
+ echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
+ exit ;;
+ macppc:MirBSD:*:*)
+ echo powerpc-unknown-mirbsd${UNAME_RELEASE}
+ exit ;;
+ *:MirBSD:*:*)
+ echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
+ exit ;;
+ alpha:OSF1:*:*)
+ case $UNAME_RELEASE in
+ *4.0)
+ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
+ ;;
+ *5.*)
+ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
+ ;;
+ esac
+ # According to Compaq, /usr/sbin/psrinfo has been available on
+ # OSF/1 and Tru64 systems produced since 1995. I hope that
+ # covers most systems running today. This code pipes the CPU
+ # types through head -n 1, so we only detect the type of CPU 0.
+ ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1`
+ case "$ALPHA_CPU_TYPE" in
+ "EV4 (21064)")
+ UNAME_MACHINE="alpha" ;;
+ "EV4.5 (21064)")
+ UNAME_MACHINE="alpha" ;;
+ "LCA4 (21066/21068)")
+ UNAME_MACHINE="alpha" ;;
+ "EV5 (21164)")
+ UNAME_MACHINE="alphaev5" ;;
+ "EV5.6 (21164A)")
+ UNAME_MACHINE="alphaev56" ;;
+ "EV5.6 (21164PC)")
+ UNAME_MACHINE="alphapca56" ;;
+ "EV5.7 (21164PC)")
+ UNAME_MACHINE="alphapca57" ;;
+ "EV6 (21264)")
+ UNAME_MACHINE="alphaev6" ;;
+ "EV6.7 (21264A)")
+ UNAME_MACHINE="alphaev67" ;;
+ "EV6.8CB (21264C)")
+ UNAME_MACHINE="alphaev68" ;;
+ "EV6.8AL (21264B)")
+ UNAME_MACHINE="alphaev68" ;;
+ "EV6.8CX (21264D)")
+ UNAME_MACHINE="alphaev68" ;;
+ "EV6.9A (21264/EV69A)")
+ UNAME_MACHINE="alphaev69" ;;
+ "EV7 (21364)")
+ UNAME_MACHINE="alphaev7" ;;
+ "EV7.9 (21364A)")
+ UNAME_MACHINE="alphaev79" ;;
+ esac
+ # A Pn.n version is a patched version.
+ # A Vn.n version is a released version.
+ # A Tn.n version is a released field test version.
+ # A Xn.n version is an unreleased experimental baselevel.
+ # 1.2 uses "1.2" for uname -r.
+ echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+ # Reset EXIT trap before exiting to avoid spurious non-zero exit code.
+ exitcode=$?
+ trap '' 0
+ exit $exitcode ;;
+ Alpha\ *:Windows_NT*:*)
+ # How do we know it's Interix rather than the generic POSIX subsystem?
+ # Should we change UNAME_MACHINE based on the output of uname instead
+ # of the specific Alpha model?
+ echo alpha-pc-interix
+ exit ;;
+ 21064:Windows_NT:50:3)
+ echo alpha-dec-winnt3.5
+ exit ;;
+ Amiga*:UNIX_System_V:4.0:*)
+ echo m68k-unknown-sysv4
+ exit ;;
+ *:[Aa]miga[Oo][Ss]:*:*)
+ echo ${UNAME_MACHINE}-unknown-amigaos
+ exit ;;
+ *:[Mm]orph[Oo][Ss]:*:*)
+ echo ${UNAME_MACHINE}-unknown-morphos
+ exit ;;
+ *:OS/390:*:*)
+ echo i370-ibm-openedition
+ exit ;;
+ *:z/VM:*:*)
+ echo s390-ibm-zvmoe
+ exit ;;
+ *:OS400:*:*)
+ echo powerpc-ibm-os400
+ exit ;;
+ arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
+ echo arm-acorn-riscix${UNAME_RELEASE}
+ exit ;;
+ arm*:riscos:*:*|arm*:RISCOS:*:*)
+ echo arm-unknown-riscos
+ exit ;;
+ SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
+ echo hppa1.1-hitachi-hiuxmpp
+ exit ;;
+ Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
+ # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
+ if test "`(/bin/universe) 2>/dev/null`" = att ; then
+ echo pyramid-pyramid-sysv3
+ else
+ echo pyramid-pyramid-bsd
+ fi
+ exit ;;
+ NILE*:*:*:dcosx)
+ echo pyramid-pyramid-svr4
+ exit ;;
+ DRS?6000:unix:4.0:6*)
+ echo sparc-icl-nx6
+ exit ;;
+ DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
+ case `/usr/bin/uname -p` in
+ sparc) echo sparc-icl-nx7; exit ;;
+ esac ;;
+ s390x:SunOS:*:*)
+ echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
+ sun4H:SunOS:5.*:*)
+ echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
+ sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
+ echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
+ i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
+ echo i386-pc-auroraux${UNAME_RELEASE}
+ exit ;;
+ i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
+ eval $set_cc_for_build
+ SUN_ARCH="i386"
+ # If there is a compiler, see if it is configured for 64-bit objects.
+ # Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
+ # This test works for both compilers.
+ if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+ if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
+ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+ grep IS_64BIT_ARCH >/dev/null
+ then
+ SUN_ARCH="x86_64"
+ fi
+ fi
+ echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
+ sun4*:SunOS:6*:*)
+ # According to config.sub, this is the proper way to canonicalize
+ # SunOS6. Hard to guess exactly what SunOS6 will be like, but
+ # it's likely to be more like Solaris than SunOS4.
+ echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
+ sun4*:SunOS:*:*)
+ case "`/usr/bin/arch -k`" in
+ Series*|S4*)
+ UNAME_RELEASE=`uname -v`
+ ;;
+ esac
+ # Japanese Language versions have a version number like `4.1.3-JL'.
+ echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
+ exit ;;
+ sun3*:SunOS:*:*)
+ echo m68k-sun-sunos${UNAME_RELEASE}
+ exit ;;
+ sun*:*:4.2BSD:*)
+ UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
+ test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
+ case "`/bin/arch`" in
+ sun3)
+ echo m68k-sun-sunos${UNAME_RELEASE}
+ ;;
+ sun4)
+ echo sparc-sun-sunos${UNAME_RELEASE}
+ ;;
+ esac
+ exit ;;
+ aushp:SunOS:*:*)
+ echo sparc-auspex-sunos${UNAME_RELEASE}
+ exit ;;
+ # The situation for MiNT is a little confusing. The machine name
+ # can be virtually everything (everything which is not
+ # "atarist" or "atariste" at least should have a processor
+ # > m68000). The system name ranges from "MiNT" over "FreeMiNT"
+ # to the lowercase version "mint" (or "freemint"). Finally
+ # the system name "TOS" denotes a system which is actually not
+ # MiNT. But MiNT is downward compatible to TOS, so this should
+ # be no problem.
+ atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
+ echo m68k-atari-mint${UNAME_RELEASE}
+ exit ;;
+ atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
+ echo m68k-atari-mint${UNAME_RELEASE}
+ exit ;;
+ *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
+ echo m68k-atari-mint${UNAME_RELEASE}
+ exit ;;
+ milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
+ echo m68k-milan-mint${UNAME_RELEASE}
+ exit ;;
+ hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
+ echo m68k-hades-mint${UNAME_RELEASE}
+ exit ;;
+ *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
+ echo m68k-unknown-mint${UNAME_RELEASE}
+ exit ;;
+ m68k:machten:*:*)
+ echo m68k-apple-machten${UNAME_RELEASE}
+ exit ;;
+ powerpc:machten:*:*)
+ echo powerpc-apple-machten${UNAME_RELEASE}
+ exit ;;
+ RISC*:Mach:*:*)
+ echo mips-dec-mach_bsd4.3
+ exit ;;
+ RISC*:ULTRIX:*:*)
+ echo mips-dec-ultrix${UNAME_RELEASE}
+ exit ;;
+ VAX*:ULTRIX*:*:*)
+ echo vax-dec-ultrix${UNAME_RELEASE}
+ exit ;;
+ 2020:CLIX:*:* | 2430:CLIX:*:*)
+ echo clipper-intergraph-clix${UNAME_RELEASE}
+ exit ;;
+ mips:*:*:UMIPS | mips:*:*:RISCos)
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+#ifdef __cplusplus
+#include <stdio.h> /* for printf() prototype */
+ int main (int argc, char *argv[]) {
+#else
+ int main (argc, argv) int argc; char *argv[]; {
+#endif
+ #if defined (host_mips) && defined (MIPSEB)
+ #if defined (SYSTYPE_SYSV)
+ printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
+ #endif
+ #if defined (SYSTYPE_SVR4)
+ printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
+ #endif
+ #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
+ printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
+ #endif
+ #endif
+ exit (-1);
+ }
+EOF
+ $CC_FOR_BUILD -o $dummy $dummy.c &&
+ dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
+ SYSTEM_NAME=`$dummy $dummyarg` &&
+ { echo "$SYSTEM_NAME"; exit; }
+ echo mips-mips-riscos${UNAME_RELEASE}
+ exit ;;
+ Motorola:PowerMAX_OS:*:*)
+ echo powerpc-motorola-powermax
+ exit ;;
+ Motorola:*:4.3:PL8-*)
+ echo powerpc-harris-powermax
+ exit ;;
+ Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
+ echo powerpc-harris-powermax
+ exit ;;
+ Night_Hawk:Power_UNIX:*:*)
+ echo powerpc-harris-powerunix
+ exit ;;
+ m88k:CX/UX:7*:*)
+ echo m88k-harris-cxux7
+ exit ;;
+ m88k:*:4*:R4*)
+ echo m88k-motorola-sysv4
+ exit ;;
+ m88k:*:3*:R3*)
+ echo m88k-motorola-sysv3
+ exit ;;
+ AViiON:dgux:*:*)
+ # DG/UX returns AViiON for all architectures
+ UNAME_PROCESSOR=`/usr/bin/uname -p`
+ if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
+ then
+ if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
+ [ ${TARGET_BINARY_INTERFACE}x = x ]
+ then
+ echo m88k-dg-dgux${UNAME_RELEASE}
+ else
+ echo m88k-dg-dguxbcs${UNAME_RELEASE}
+ fi
+ else
+ echo i586-dg-dgux${UNAME_RELEASE}
+ fi
+ exit ;;
+ M88*:DolphinOS:*:*) # DolphinOS (SVR3)
+ echo m88k-dolphin-sysv3
+ exit ;;
+ M88*:*:R3*:*)
+ # Delta 88k system running SVR3
+ echo m88k-motorola-sysv3
+ exit ;;
+ XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
+ echo m88k-tektronix-sysv3
+ exit ;;
+ Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
+ echo m68k-tektronix-bsd
+ exit ;;
+ *:IRIX*:*:*)
+ echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
+ exit ;;
+ ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
+ echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
+ exit ;; # Note that: echo "'`uname -s`'" gives 'AIX '
+ i*86:AIX:*:*)
+ echo i386-ibm-aix
+ exit ;;
+ ia64:AIX:*:*)
+ if [ -x /usr/bin/oslevel ] ; then
+ IBM_REV=`/usr/bin/oslevel`
+ else
+ IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+ fi
+ echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
+ exit ;;
+ *:AIX:2:3)
+ if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+ #include <sys/systemcfg.h>
+
+ main()
+ {
+ if (!__power_pc())
+ exit(1);
+ puts("powerpc-ibm-aix3.2.5");
+ exit(0);
+ }
+EOF
+ if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
+ then
+ echo "$SYSTEM_NAME"
+ else
+ echo rs6000-ibm-aix3.2.5
+ fi
+ elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
+ echo rs6000-ibm-aix3.2.4
+ else
+ echo rs6000-ibm-aix3.2
+ fi
+ exit ;;
+ *:AIX:*:[4567])
+ IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
+ if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
+ IBM_ARCH=rs6000
+ else
+ IBM_ARCH=powerpc
+ fi
+ if [ -x /usr/bin/oslevel ] ; then
+ IBM_REV=`/usr/bin/oslevel`
+ else
+ IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+ fi
+ echo ${IBM_ARCH}-ibm-aix${IBM_REV}
+ exit ;;
+ *:AIX:*:*)
+ echo rs6000-ibm-aix
+ exit ;;
+ ibmrt:4.4BSD:*|romp-ibm:BSD:*)
+ echo romp-ibm-bsd4.4
+ exit ;;
+ ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
+ echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
+ exit ;; # report: romp-ibm BSD 4.3
+ *:BOSX:*:*)
+ echo rs6000-bull-bosx
+ exit ;;
+ DPX/2?00:B.O.S.:*:*)
+ echo m68k-bull-sysv3
+ exit ;;
+ 9000/[34]??:4.3bsd:1.*:*)
+ echo m68k-hp-bsd
+ exit ;;
+ hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
+ echo m68k-hp-bsd4.4
+ exit ;;
+ 9000/[34678]??:HP-UX:*:*)
+ HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+ case "${UNAME_MACHINE}" in
+ 9000/31? ) HP_ARCH=m68000 ;;
+ 9000/[34]?? ) HP_ARCH=m68k ;;
+ 9000/[678][0-9][0-9])
+ if [ -x /usr/bin/getconf ]; then
+ sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
+ sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
+ case "${sc_cpu_version}" in
+ 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
+ 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
+ 532) # CPU_PA_RISC2_0
+ case "${sc_kernel_bits}" in
+ 32) HP_ARCH="hppa2.0n" ;;
+ 64) HP_ARCH="hppa2.0w" ;;
+ '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
+ esac ;;
+ esac
+ fi
+ if [ "${HP_ARCH}" = "" ]; then
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+
+ #define _HPUX_SOURCE
+ #include <stdlib.h>
+ #include <unistd.h>
+
+ int main ()
+ {
+ #if defined(_SC_KERNEL_BITS)
+ long bits = sysconf(_SC_KERNEL_BITS);
+ #endif
+ long cpu = sysconf (_SC_CPU_VERSION);
+
+ switch (cpu)
+ {
+ case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
+ case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
+ case CPU_PA_RISC2_0:
+ #if defined(_SC_KERNEL_BITS)
+ switch (bits)
+ {
+ case 64: puts ("hppa2.0w"); break;
+ case 32: puts ("hppa2.0n"); break;
+ default: puts ("hppa2.0"); break;
+ } break;
+ #else /* !defined(_SC_KERNEL_BITS) */
+ puts ("hppa2.0"); break;
+ #endif
+ default: puts ("hppa1.0"); break;
+ }
+ exit (0);
+ }
+EOF
+ (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
+ test -z "$HP_ARCH" && HP_ARCH=hppa
+ fi ;;
+ esac
+ if [ ${HP_ARCH} = "hppa2.0w" ]
+ then
+ eval $set_cc_for_build
+
+ # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
+ # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler
+ # generating 64-bit code. GNU and HP use different nomenclature:
+ #
+ # $ CC_FOR_BUILD=cc ./config.guess
+ # => hppa2.0w-hp-hpux11.23
+ # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
+ # => hppa64-hp-hpux11.23
+
+ if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
+ grep -q __LP64__
+ then
+ HP_ARCH="hppa2.0w"
+ else
+ HP_ARCH="hppa64"
+ fi
+ fi
+ echo ${HP_ARCH}-hp-hpux${HPUX_REV}
+ exit ;;
+ ia64:HP-UX:*:*)
+ HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+ echo ia64-hp-hpux${HPUX_REV}
+ exit ;;
+ 3050*:HI-UX:*:*)
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+ #include <unistd.h>
+ int
+ main ()
+ {
+ long cpu = sysconf (_SC_CPU_VERSION);
+ /* The order matters, because CPU_IS_HP_MC68K erroneously returns
+ true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
+ results, however. */
+ if (CPU_IS_PA_RISC (cpu))
+ {
+ switch (cpu)
+ {
+ case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
+ case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
+ case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
+ default: puts ("hppa-hitachi-hiuxwe2"); break;
+ }
+ }
+ else if (CPU_IS_HP_MC68K (cpu))
+ puts ("m68k-hitachi-hiuxwe2");
+ else puts ("unknown-hitachi-hiuxwe2");
+ exit (0);
+ }
+EOF
+ $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
+ { echo "$SYSTEM_NAME"; exit; }
+ echo unknown-hitachi-hiuxwe2
+ exit ;;
+ 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
+ echo hppa1.1-hp-bsd
+ exit ;;
+ 9000/8??:4.3bsd:*:*)
+ echo hppa1.0-hp-bsd
+ exit ;;
+ *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
+ echo hppa1.0-hp-mpeix
+ exit ;;
+ hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
+ echo hppa1.1-hp-osf
+ exit ;;
+ hp8??:OSF1:*:*)
+ echo hppa1.0-hp-osf
+ exit ;;
+ i*86:OSF1:*:*)
+ if [ -x /usr/sbin/sysversion ] ; then
+ echo ${UNAME_MACHINE}-unknown-osf1mk
+ else
+ echo ${UNAME_MACHINE}-unknown-osf1
+ fi
+ exit ;;
+ parisc*:Lites*:*:*)
+ echo hppa1.1-hp-lites
+ exit ;;
+ C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
+ echo c1-convex-bsd
+ exit ;;
+ C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
+ if getsysinfo -f scalar_acc
+ then echo c32-convex-bsd
+ else echo c2-convex-bsd
+ fi
+ exit ;;
+ C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
+ echo c34-convex-bsd
+ exit ;;
+ C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
+ echo c38-convex-bsd
+ exit ;;
+ C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
+ echo c4-convex-bsd
+ exit ;;
+ CRAY*Y-MP:*:*:*)
+ echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
+ CRAY*[A-Z]90:*:*:*)
+ echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
+ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
+ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
+ -e 's/\.[^.]*$/.X/'
+ exit ;;
+ CRAY*TS:*:*:*)
+ echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
+ CRAY*T3E:*:*:*)
+ echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
+ CRAY*SV1:*:*:*)
+ echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
+ *:UNICOS/mp:*:*)
+ echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
+ F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
+ FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+ FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
+ echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+ exit ;;
+ 5000:UNIX_System_V:4.*:*)
+ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+ FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
+ echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+ exit ;;
+ i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
+ echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
+ exit ;;
+ sparc*:BSD/OS:*:*)
+ echo sparc-unknown-bsdi${UNAME_RELEASE}
+ exit ;;
+ *:BSD/OS:*:*)
+ echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
+ exit ;;
+ *:FreeBSD:*:*)
+ UNAME_PROCESSOR=`/usr/bin/uname -p`
+ case ${UNAME_PROCESSOR} in
+ amd64)
+ echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+ *)
+ echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+ esac
+ exit ;;
+ i*:CYGWIN*:*)
+ echo ${UNAME_MACHINE}-pc-cygwin
+ exit ;;
+ *:MINGW64*:*)
+ echo ${UNAME_MACHINE}-pc-mingw64
+ exit ;;
+ *:MINGW*:*)
+ echo ${UNAME_MACHINE}-pc-mingw32
+ exit ;;
+ i*:MSYS*:*)
+ echo ${UNAME_MACHINE}-pc-msys
+ exit ;;
+ i*:windows32*:*)
+ # uname -m includes "-pc" on this system.
+ echo ${UNAME_MACHINE}-mingw32
+ exit ;;
+ i*:PW*:*)
+ echo ${UNAME_MACHINE}-pc-pw32
+ exit ;;
+ *:Interix*:*)
+ case ${UNAME_MACHINE} in
+ x86)
+ echo i586-pc-interix${UNAME_RELEASE}
+ exit ;;
+ authenticamd | genuineintel | EM64T)
+ echo x86_64-unknown-interix${UNAME_RELEASE}
+ exit ;;
+ IA64)
+ echo ia64-unknown-interix${UNAME_RELEASE}
+ exit ;;
+ esac ;;
+ [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
+ echo i${UNAME_MACHINE}-pc-mks
+ exit ;;
+ 8664:Windows_NT:*)
+ echo x86_64-pc-mks
+ exit ;;
+ i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
+ # How do we know it's Interix rather than the generic POSIX subsystem?
+ # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
+ # UNAME_MACHINE based on the output of uname instead of i386?
+ echo i586-pc-interix
+ exit ;;
+ i*:UWIN*:*)
+ echo ${UNAME_MACHINE}-pc-uwin
+ exit ;;
+ amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
+ echo x86_64-unknown-cygwin
+ exit ;;
+ p*:CYGWIN*:*)
+ echo powerpcle-unknown-cygwin
+ exit ;;
+ prep*:SunOS:5.*:*)
+ echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
+ *:GNU:*:*)
+ # the GNU system
+ echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
+ exit ;;
+ *:GNU/*:*:*)
+ # other systems with GNU libc and userland
+ echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
+ exit ;;
+ i*86:Minix:*:*)
+ echo ${UNAME_MACHINE}-pc-minix
+ exit ;;
+ aarch64:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ aarch64_be:Linux:*:*)
+ UNAME_MACHINE=aarch64_be
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ alpha:Linux:*:*)
+ case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
+ EV5) UNAME_MACHINE=alphaev5 ;;
+ EV56) UNAME_MACHINE=alphaev56 ;;
+ PCA56) UNAME_MACHINE=alphapca56 ;;
+ PCA57) UNAME_MACHINE=alphapca56 ;;
+ EV6) UNAME_MACHINE=alphaev6 ;;
+ EV67) UNAME_MACHINE=alphaev67 ;;
+ EV68*) UNAME_MACHINE=alphaev68 ;;
+ esac
+ objdump --private-headers /bin/sh | grep -q ld.so.1
+ if test "$?" = 0 ; then LIBC="gnulibc1" ; fi
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ arc:Linux:*:* | arceb:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ arm*:Linux:*:*)
+ eval $set_cc_for_build
+ if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
+ | grep -q __ARM_EABI__
+ then
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ else
+ if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
+ | grep -q __ARM_PCS_VFP
+ then
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi
+ else
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf
+ fi
+ fi
+ exit ;;
+ avr32*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ cris:Linux:*:*)
+ echo ${UNAME_MACHINE}-axis-linux-${LIBC}
+ exit ;;
+ crisv32:Linux:*:*)
+ echo ${UNAME_MACHINE}-axis-linux-${LIBC}
+ exit ;;
+ frv:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ hexagon:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ i*86:Linux:*:*)
+ echo ${UNAME_MACHINE}-pc-linux-${LIBC}
+ exit ;;
+ ia64:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ m32r*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ m68*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ mips:Linux:*:* | mips64:Linux:*:*)
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+ #undef CPU
+ #undef ${UNAME_MACHINE}
+ #undef ${UNAME_MACHINE}el
+ #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
+ CPU=${UNAME_MACHINE}el
+ #else
+ #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
+ CPU=${UNAME_MACHINE}
+ #else
+ CPU=
+ #endif
+ #endif
+EOF
+ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
+ test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
+ ;;
+ or1k:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ or32:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ padre:Linux:*:*)
+ echo sparc-unknown-linux-${LIBC}
+ exit ;;
+ parisc64:Linux:*:* | hppa64:Linux:*:*)
+ echo hppa64-unknown-linux-${LIBC}
+ exit ;;
+ parisc:Linux:*:* | hppa:Linux:*:*)
+ # Look for CPU level
+ case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
+ PA7*) echo hppa1.1-unknown-linux-${LIBC} ;;
+ PA8*) echo hppa2.0-unknown-linux-${LIBC} ;;
+ *) echo hppa-unknown-linux-${LIBC} ;;
+ esac
+ exit ;;
+ ppc64:Linux:*:*)
+ echo powerpc64-unknown-linux-${LIBC}
+ exit ;;
+ ppc:Linux:*:*)
+ echo powerpc-unknown-linux-${LIBC}
+ exit ;;
+ ppc64le:Linux:*:*)
+ echo powerpc64le-unknown-linux-${LIBC}
+ exit ;;
+ ppcle:Linux:*:*)
+ echo powerpcle-unknown-linux-${LIBC}
+ exit ;;
+ s390:Linux:*:* | s390x:Linux:*:*)
+ echo ${UNAME_MACHINE}-ibm-linux-${LIBC}
+ exit ;;
+ sh64*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ sh*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ sparc:Linux:*:* | sparc64:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ tile*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ vax:Linux:*:*)
+ echo ${UNAME_MACHINE}-dec-linux-${LIBC}
+ exit ;;
+ x86_64:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ xtensa*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ i*86:DYNIX/ptx:4*:*)
+ # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
+ # earlier versions are messed up and put the nodename in both
+ # sysname and nodename.
+ echo i386-sequent-sysv4
+ exit ;;
+ i*86:UNIX_SV:4.2MP:2.*)
+ # Unixware is an offshoot of SVR4, but it has its own version
+ # number series starting with 2...
+ # I am not positive that other SVR4 systems won't match this,
+ # I just have to hope. -- rms.
+ # Use sysv4.2uw... so that sysv4* matches it.
+ echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
+ exit ;;
+ i*86:OS/2:*:*)
+ # If we were able to find `uname', then EMX Unix compatibility
+ # is probably installed.
+ echo ${UNAME_MACHINE}-pc-os2-emx
+ exit ;;
+ i*86:XTS-300:*:STOP)
+ echo ${UNAME_MACHINE}-unknown-stop
+ exit ;;
+ i*86:atheos:*:*)
+ echo ${UNAME_MACHINE}-unknown-atheos
+ exit ;;
+ i*86:syllable:*:*)
+ echo ${UNAME_MACHINE}-pc-syllable
+ exit ;;
+ i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
+ echo i386-unknown-lynxos${UNAME_RELEASE}
+ exit ;;
+ i*86:*DOS:*:*)
+ echo ${UNAME_MACHINE}-pc-msdosdjgpp
+ exit ;;
+ i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
+ UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
+ if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
+ echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
+ else
+ echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
+ fi
+ exit ;;
+ i*86:*:5:[678]*)
+ # UnixWare 7.x, OpenUNIX and OpenServer 6.
+ case `/bin/uname -X | grep "^Machine"` in
+ *486*) UNAME_MACHINE=i486 ;;
+ *Pentium) UNAME_MACHINE=i586 ;;
+ *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
+ esac
+ echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
+ exit ;;
+ i*86:*:3.2:*)
+ if test -f /usr/options/cb.name; then
+ UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
+ echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
+ elif /bin/uname -X 2>/dev/null >/dev/null ; then
+ UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
+ (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
+ (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
+ && UNAME_MACHINE=i586
+ (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
+ && UNAME_MACHINE=i686
+ (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
+ && UNAME_MACHINE=i686
+ echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
+ else
+ echo ${UNAME_MACHINE}-pc-sysv32
+ fi
+ exit ;;
+ pc:*:*:*)
+ # Left here for compatibility:
+ # uname -m prints for DJGPP always 'pc', but it prints nothing about
+ # the processor, so we play safe by assuming i586.
+ # Note: whatever this is, it MUST be the same as what config.sub
+ # prints for the "djgpp" host, or else GDB configury will decide that
+ # this is a cross-build.
+ echo i586-pc-msdosdjgpp
+ exit ;;
+ Intel:Mach:3*:*)
+ echo i386-pc-mach3
+ exit ;;
+ paragon:*:*:*)
+ echo i860-intel-osf1
+ exit ;;
+ i860:*:4.*:*) # i860-SVR4
+ if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
+ echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
+ else # Add other i860-SVR4 vendors below as they are discovered.
+ echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
+ fi
+ exit ;;
+ mini*:CTIX:SYS*5:*)
+ # "miniframe"
+ echo m68010-convergent-sysv
+ exit ;;
+ mc68k:UNIX:SYSTEM5:3.51m)
+ echo m68k-convergent-sysv
+ exit ;;
+ M680?0:D-NIX:5.3:*)
+ echo m68k-diab-dnix
+ exit ;;
+ M68*:*:R3V[5678]*:*)
+ test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
+ 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
+ OS_REL=''
+ test -r /etc/.relid \
+ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+ && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
+ /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
+ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
+ 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+ && { echo i486-ncr-sysv4; exit; } ;;
+ NCR*:*:4.2:* | MPRAS*:*:4.2:*)
+ OS_REL='.3'
+ test -r /etc/.relid \
+ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+ && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
+ /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
+ && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
+ /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
+ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
+ m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
+ echo m68k-unknown-lynxos${UNAME_RELEASE}
+ exit ;;
+ mc68030:UNIX_System_V:4.*:*)
+ echo m68k-atari-sysv4
+ exit ;;
+ TSUNAMI:LynxOS:2.*:*)
+ echo sparc-unknown-lynxos${UNAME_RELEASE}
+ exit ;;
+ rs6000:LynxOS:2.*:*)
+ echo rs6000-unknown-lynxos${UNAME_RELEASE}
+ exit ;;
+ PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
+ echo powerpc-unknown-lynxos${UNAME_RELEASE}
+ exit ;;
+ SM[BE]S:UNIX_SV:*:*)
+ echo mips-dde-sysv${UNAME_RELEASE}
+ exit ;;
+ RM*:ReliantUNIX-*:*:*)
+ echo mips-sni-sysv4
+ exit ;;
+ RM*:SINIX-*:*:*)
+ echo mips-sni-sysv4
+ exit ;;
+ *:SINIX-*:*:*)
+ if uname -p 2>/dev/null >/dev/null ; then
+ UNAME_MACHINE=`(uname -p) 2>/dev/null`
+ echo ${UNAME_MACHINE}-sni-sysv4
+ else
+ echo ns32k-sni-sysv
+ fi
+ exit ;;
+ PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
+ # says <Richard.M.Bartel@ccMail.Census.GOV>
+ echo i586-unisys-sysv4
+ exit ;;
+ *:UNIX_System_V:4*:FTX*)
+ # From Gerald Hewes <hewes@openmarket.com>.
+ # How about differentiating between stratus architectures? -djm
+ echo hppa1.1-stratus-sysv4
+ exit ;;
+ *:*:*:FTX*)
+ # From seanf@swdc.stratus.com.
+ echo i860-stratus-sysv4
+ exit ;;
+ i*86:VOS:*:*)
+ # From Paul.Green@stratus.com.
+ echo ${UNAME_MACHINE}-stratus-vos
+ exit ;;
+ *:VOS:*:*)
+ # From Paul.Green@stratus.com.
+ echo hppa1.1-stratus-vos
+ exit ;;
+ mc68*:A/UX:*:*)
+ echo m68k-apple-aux${UNAME_RELEASE}
+ exit ;;
+ news*:NEWS-OS:6*:*)
+ echo mips-sony-newsos6
+ exit ;;
+ R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
+ if [ -d /usr/nec ]; then
+ echo mips-nec-sysv${UNAME_RELEASE}
+ else
+ echo mips-unknown-sysv${UNAME_RELEASE}
+ fi
+ exit ;;
+ BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
+ echo powerpc-be-beos
+ exit ;;
+ BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
+ echo powerpc-apple-beos
+ exit ;;
+ BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
+ echo i586-pc-beos
+ exit ;;
+ BePC:Haiku:*:*) # Haiku running on Intel PC compatible.
+ echo i586-pc-haiku
+ exit ;;
+ x86_64:Haiku:*:*)
+ echo x86_64-unknown-haiku
+ exit ;;
+ SX-4:SUPER-UX:*:*)
+ echo sx4-nec-superux${UNAME_RELEASE}
+ exit ;;
+ SX-5:SUPER-UX:*:*)
+ echo sx5-nec-superux${UNAME_RELEASE}
+ exit ;;
+ SX-6:SUPER-UX:*:*)
+ echo sx6-nec-superux${UNAME_RELEASE}
+ exit ;;
+ SX-7:SUPER-UX:*:*)
+ echo sx7-nec-superux${UNAME_RELEASE}
+ exit ;;
+ SX-8:SUPER-UX:*:*)
+ echo sx8-nec-superux${UNAME_RELEASE}
+ exit ;;
+ SX-8R:SUPER-UX:*:*)
+ echo sx8r-nec-superux${UNAME_RELEASE}
+ exit ;;
+ Power*:Rhapsody:*:*)
+ echo powerpc-apple-rhapsody${UNAME_RELEASE}
+ exit ;;
+ *:Rhapsody:*:*)
+ echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
+ exit ;;
+ *:Darwin:*:*)
+ UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
+ eval $set_cc_for_build
+ if test "$UNAME_PROCESSOR" = unknown ; then
+ UNAME_PROCESSOR=powerpc
+ fi
+ if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+ if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
+ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+ grep IS_64BIT_ARCH >/dev/null
+ then
+ case $UNAME_PROCESSOR in
+ i386) UNAME_PROCESSOR=x86_64 ;;
+ powerpc) UNAME_PROCESSOR=powerpc64 ;;
+ esac
+ fi
+ fi
+ echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
+ exit ;;
+ *:procnto*:*:* | *:QNX:[0123456789]*:*)
+ UNAME_PROCESSOR=`uname -p`
+ if test "$UNAME_PROCESSOR" = "x86"; then
+ UNAME_PROCESSOR=i386
+ UNAME_MACHINE=pc
+ fi
+ echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
+ exit ;;
+ *:QNX:*:4*)
+ echo i386-pc-qnx
+ exit ;;
+ NEO-?:NONSTOP_KERNEL:*:*)
+ echo neo-tandem-nsk${UNAME_RELEASE}
+ exit ;;
+ NSE-*:NONSTOP_KERNEL:*:*)
+ echo nse-tandem-nsk${UNAME_RELEASE}
+ exit ;;
+ NSR-?:NONSTOP_KERNEL:*:*)
+ echo nsr-tandem-nsk${UNAME_RELEASE}
+ exit ;;
+ *:NonStop-UX:*:*)
+ echo mips-compaq-nonstopux
+ exit ;;
+ BS2000:POSIX*:*:*)
+ echo bs2000-siemens-sysv
+ exit ;;
+ DS/*:UNIX_System_V:*:*)
+ echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
+ exit ;;
+ *:Plan9:*:*)
+ # "uname -m" is not consistent, so use $cputype instead. 386
+ # is converted to i386 for consistency with other x86
+ # operating systems.
+ if test "$cputype" = "386"; then
+ UNAME_MACHINE=i386
+ else
+ UNAME_MACHINE="$cputype"
+ fi
+ echo ${UNAME_MACHINE}-unknown-plan9
+ exit ;;
+ *:TOPS-10:*:*)
+ echo pdp10-unknown-tops10
+ exit ;;
+ *:TENEX:*:*)
+ echo pdp10-unknown-tenex
+ exit ;;
+ KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
+ echo pdp10-dec-tops20
+ exit ;;
+ XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
+ echo pdp10-xkl-tops20
+ exit ;;
+ *:TOPS-20:*:*)
+ echo pdp10-unknown-tops20
+ exit ;;
+ *:ITS:*:*)
+ echo pdp10-unknown-its
+ exit ;;
+ SEI:*:*:SEIUX)
+ echo mips-sei-seiux${UNAME_RELEASE}
+ exit ;;
+ *:DragonFly:*:*)
+ echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+ exit ;;
+ *:*VMS:*:*)
+ UNAME_MACHINE=`(uname -p) 2>/dev/null`
+ case "${UNAME_MACHINE}" in
+ A*) echo alpha-dec-vms ; exit ;;
+ I*) echo ia64-dec-vms ; exit ;;
+ V*) echo vax-dec-vms ; exit ;;
+ esac ;;
+ *:XENIX:*:SysV)
+ echo i386-pc-xenix
+ exit ;;
+ i*86:skyos:*:*)
+ echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
+ exit ;;
+ i*86:rdos:*:*)
+ echo ${UNAME_MACHINE}-pc-rdos
+ exit ;;
+ i*86:AROS:*:*)
+ echo ${UNAME_MACHINE}-pc-aros
+ exit ;;
+ x86_64:VMkernel:*:*)
+ echo ${UNAME_MACHINE}-unknown-esx
+ exit ;;
+esac
+
+eval $set_cc_for_build
+cat >$dummy.c <<EOF
+#ifdef _SEQUENT_
+# include <sys/types.h>
+# include <sys/utsname.h>
+#endif
+main ()
+{
+#if defined (sony)
+#if defined (MIPSEB)
+ /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
+ I don't know.... */
+ printf ("mips-sony-bsd\n"); exit (0);
+#else
+#include <sys/param.h>
+ printf ("m68k-sony-newsos%s\n",
+#ifdef NEWSOS4
+ "4"
+#else
+ ""
+#endif
+ ); exit (0);
+#endif
+#endif
+
+#if defined (__arm) && defined (__acorn) && defined (__unix)
+ printf ("arm-acorn-riscix\n"); exit (0);
+#endif
+
+#if defined (hp300) && !defined (hpux)
+ printf ("m68k-hp-bsd\n"); exit (0);
+#endif
+
+#if defined (NeXT)
+#if !defined (__ARCHITECTURE__)
+#define __ARCHITECTURE__ "m68k"
+#endif
+ int version;
+ version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
+ if (version < 4)
+ printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
+ else
+ printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
+ exit (0);
+#endif
+
+#if defined (MULTIMAX) || defined (n16)
+#if defined (UMAXV)
+ printf ("ns32k-encore-sysv\n"); exit (0);
+#else
+#if defined (CMU)
+ printf ("ns32k-encore-mach\n"); exit (0);
+#else
+ printf ("ns32k-encore-bsd\n"); exit (0);
+#endif
+#endif
+#endif
+
+#if defined (__386BSD__)
+ printf ("i386-pc-bsd\n"); exit (0);
+#endif
+
+#if defined (sequent)
+#if defined (i386)
+ printf ("i386-sequent-dynix\n"); exit (0);
+#endif
+#if defined (ns32000)
+ printf ("ns32k-sequent-dynix\n"); exit (0);
+#endif
+#endif
+
+#if defined (_SEQUENT_)
+ struct utsname un;
+
+ uname(&un);
+
+ if (strncmp(un.version, "V2", 2) == 0) {
+ printf ("i386-sequent-ptx2\n"); exit (0);
+ }
+ if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
+ printf ("i386-sequent-ptx1\n"); exit (0);
+ }
+ printf ("i386-sequent-ptx\n"); exit (0);
+
+#endif
+
+#if defined (vax)
+# if !defined (ultrix)
+# include <sys/param.h>
+# if defined (BSD)
+# if BSD == 43
+ printf ("vax-dec-bsd4.3\n"); exit (0);
+# else
+# if BSD == 199006
+ printf ("vax-dec-bsd4.3reno\n"); exit (0);
+# else
+ printf ("vax-dec-bsd\n"); exit (0);
+# endif
+# endif
+# else
+ printf ("vax-dec-bsd\n"); exit (0);
+# endif
+# else
+ printf ("vax-dec-ultrix\n"); exit (0);
+# endif
+#endif
+
+#if defined (alliant) && defined (i860)
+ printf ("i860-alliant-bsd\n"); exit (0);
+#endif
+
+ exit (1);
+}
+EOF
+
+$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
+ { echo "$SYSTEM_NAME"; exit; }
+
+# Apollos put the system type in the environment.
+
+test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
+
+# Convex versions that predate uname can use getsysinfo(1)
+
+if [ -x /usr/convex/getsysinfo ]
+then
+ case `getsysinfo -f cpu_type` in
+ c1*)
+ echo c1-convex-bsd
+ exit ;;
+ c2*)
+ if getsysinfo -f scalar_acc
+ then echo c32-convex-bsd
+ else echo c2-convex-bsd
+ fi
+ exit ;;
+ c34*)
+ echo c34-convex-bsd
+ exit ;;
+ c38*)
+ echo c38-convex-bsd
+ exit ;;
+ c4*)
+ echo c4-convex-bsd
+ exit ;;
+ esac
+fi
+
+cat >&2 <<EOF
+$0: unable to guess system type
+
+This script, last modified $timestamp, has failed to recognize
+the operating system you are using. It is advised that you
+download the most up to date version of the config scripts from
+
+ http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
+and
+ http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
+
+If the version you run ($0) is already up to date, please
+send the following data and any information you think might be
+pertinent to <config-patches@gnu.org> in order to provide the needed
+information to handle your system.
+
+config.guess timestamp = $timestamp
+
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
+/bin/uname -X = `(/bin/uname -X) 2>/dev/null`
+
+hostinfo = `(hostinfo) 2>/dev/null`
+/bin/universe = `(/bin/universe) 2>/dev/null`
+/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
+/bin/arch = `(/bin/arch) 2>/dev/null`
+/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
+
+UNAME_MACHINE = ${UNAME_MACHINE}
+UNAME_RELEASE = ${UNAME_RELEASE}
+UNAME_SYSTEM = ${UNAME_SYSTEM}
+UNAME_VERSION = ${UNAME_VERSION}
+EOF
+
+exit 1
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "timestamp='"
+# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-end: "'"
+# End:
diff --git a/config.rpath b/config.rpath
new file mode 100755
index 0000000..c547c68
--- /dev/null
+++ b/config.rpath
@@ -0,0 +1,666 @@
+#! /bin/sh
+# Output a system dependent set of variables, describing how to set the
+# run time search path of shared libraries in an executable.
+#
+# Copyright 1996-2007 Free Software Foundation, Inc.
+# Taken from GNU libtool, 2001
+# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+#
+# The first argument passed to this file is the canonical host specification,
+# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
+# or
+# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
+# The environment variables CC, GCC, LDFLAGS, LD, with_gnu_ld
+# should be set by the caller.
+#
+# The set of defined variables is at the end of this script.
+
+# Known limitations:
+# - On IRIX 6.5 with CC="cc", the run time search patch must not be longer
+# than 256 bytes, otherwise the compiler driver will dump core. The only
+# known workaround is to choose shorter directory names for the build
+# directory and/or the installation directory.
+
+# All known linkers require a `.a' archive for static linking (except MSVC,
+# which needs '.lib').
+libext=a
+shrext=.so
+
+host="$1"
+host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+
+# Code taken from libtool.m4's _LT_CC_BASENAME.
+
+for cc_temp in $CC""; do
+ case $cc_temp in
+ compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+ distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+ \-*) ;;
+ *) break;;
+ esac
+done
+cc_basename=`echo "$cc_temp" | sed -e 's%^.*/%%'`
+
+# Code taken from libtool.m4's AC_LIBTOOL_PROG_COMPILER_PIC.
+
+wl=
+if test "$GCC" = yes; then
+ wl='-Wl,'
+else
+ case "$host_os" in
+ aix*)
+ wl='-Wl,'
+ ;;
+ darwin*)
+ case $cc_basename in
+ xlc*)
+ wl='-Wl,'
+ ;;
+ esac
+ ;;
+ mingw* | cygwin* | pw32* | os2*)
+ ;;
+ hpux9* | hpux10* | hpux11*)
+ wl='-Wl,'
+ ;;
+ irix5* | irix6* | nonstopux*)
+ wl='-Wl,'
+ ;;
+ newsos6)
+ ;;
+ linux* | k*bsd*-gnu)
+ case $cc_basename in
+ icc* | ecc*)
+ wl='-Wl,'
+ ;;
+ pgcc | pgf77 | pgf90)
+ wl='-Wl,'
+ ;;
+ ccc*)
+ wl='-Wl,'
+ ;;
+ como)
+ wl='-lopt='
+ ;;
+ *)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ wl='-Wl,'
+ ;;
+ esac
+ ;;
+ esac
+ ;;
+ osf3* | osf4* | osf5*)
+ wl='-Wl,'
+ ;;
+ rdos*)
+ ;;
+ solaris*)
+ wl='-Wl,'
+ ;;
+ sunos4*)
+ wl='-Qoption ld '
+ ;;
+ sysv4 | sysv4.2uw2* | sysv4.3*)
+ wl='-Wl,'
+ ;;
+ sysv4*MP*)
+ ;;
+ sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+ wl='-Wl,'
+ ;;
+ unicos*)
+ wl='-Wl,'
+ ;;
+ uts4*)
+ ;;
+ esac
+fi
+
+# Code taken from libtool.m4's AC_LIBTOOL_PROG_LD_SHLIBS.
+
+hardcode_libdir_flag_spec=
+hardcode_libdir_separator=
+hardcode_direct=no
+hardcode_minus_L=no
+
+case "$host_os" in
+ cygwin* | mingw* | pw32*)
+ # FIXME: the MSVC++ port hasn't been tested in a loooong time
+ # When not using gcc, we currently assume that we are using
+ # Microsoft Visual C++.
+ if test "$GCC" != yes; then
+ with_gnu_ld=no
+ fi
+ ;;
+ interix*)
+ # we just hope/assume this is gcc and not c89 (= MSVC++)
+ with_gnu_ld=yes
+ ;;
+ openbsd*)
+ with_gnu_ld=no
+ ;;
+esac
+
+ld_shlibs=yes
+if test "$with_gnu_ld" = yes; then
+ # Set some defaults for GNU ld with shared library support. These
+ # are reset later if shared libraries are not supported. Putting them
+ # here allows them to be overridden if necessary.
+ # Unlike libtool, we use -rpath here, not --rpath, since the documented
+ # option of GNU ld is called -rpath, not --rpath.
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ case "$host_os" in
+ aix3* | aix4* | aix5*)
+ # On AIX/PPC, the GNU linker is very broken
+ if test "$host_cpu" != ia64; then
+ ld_shlibs=no
+ fi
+ ;;
+ amigaos*)
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_minus_L=yes
+ # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports
+ # that the semantics of dynamic libraries on AmigaOS, at least up
+ # to version 4, is to share data among multiple programs linked
+ # with the same dynamic library. Since this doesn't match the
+ # behavior of shared libraries on other platforms, we cannot use
+ # them.
+ ld_shlibs=no
+ ;;
+ beos*)
+ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+ :
+ else
+ ld_shlibs=no
+ fi
+ ;;
+ cygwin* | mingw* | pw32*)
+ # hardcode_libdir_flag_spec is actually meaningless, as there is
+ # no search path for DLLs.
+ hardcode_libdir_flag_spec='-L$libdir'
+ if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
+ :
+ else
+ ld_shlibs=no
+ fi
+ ;;
+ interix[3-9]*)
+ hardcode_direct=no
+ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+ ;;
+ gnu* | linux* | k*bsd*-gnu)
+ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+ :
+ else
+ ld_shlibs=no
+ fi
+ ;;
+ netbsd*)
+ ;;
+ solaris*)
+ if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
+ ld_shlibs=no
+ elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+ :
+ else
+ ld_shlibs=no
+ fi
+ ;;
+ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
+ case `$LD -v 2>&1` in
+ *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
+ ld_shlibs=no
+ ;;
+ *)
+ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+ hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
+ else
+ ld_shlibs=no
+ fi
+ ;;
+ esac
+ ;;
+ sunos4*)
+ hardcode_direct=yes
+ ;;
+ *)
+ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+ :
+ else
+ ld_shlibs=no
+ fi
+ ;;
+ esac
+ if test "$ld_shlibs" = no; then
+ hardcode_libdir_flag_spec=
+ fi
+else
+ case "$host_os" in
+ aix3*)
+ # Note: this linker hardcodes the directories in LIBPATH if there
+ # are no directories specified by -L.
+ hardcode_minus_L=yes
+ if test "$GCC" = yes; then
+ # Neither direct hardcoding nor static linking is supported with a
+ # broken collect2.
+ hardcode_direct=unsupported
+ fi
+ ;;
+ aix4* | aix5*)
+ if test "$host_cpu" = ia64; then
+ # On IA64, the linker does run time linking by default, so we don't
+ # have to do anything special.
+ aix_use_runtimelinking=no
+ else
+ aix_use_runtimelinking=no
+ # Test if we are trying to use run time linking or normal
+ # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+ # need to do runtime linking.
+ case $host_os in aix4.[23]|aix4.[23].*|aix5*)
+ for ld_flag in $LDFLAGS; do
+ if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
+ aix_use_runtimelinking=yes
+ break
+ fi
+ done
+ ;;
+ esac
+ fi
+ hardcode_direct=yes
+ hardcode_libdir_separator=':'
+ if test "$GCC" = yes; then
+ case $host_os in aix4.[012]|aix4.[012].*)
+ collect2name=`${CC} -print-prog-name=collect2`
+ if test -f "$collect2name" && \
+ strings "$collect2name" | grep resolve_lib_name >/dev/null
+ then
+ # We have reworked collect2
+ :
+ else
+ # We have old collect2
+ hardcode_direct=unsupported
+ hardcode_minus_L=yes
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_libdir_separator=
+ fi
+ ;;
+ esac
+ fi
+ # Begin _LT_AC_SYS_LIBPATH_AIX.
+ echo 'int main () { return 0; }' > conftest.c
+ ${CC} ${LDFLAGS} conftest.c -o conftest
+ aix_libpath=`dump -H conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
+}'`
+ if test -z "$aix_libpath"; then
+ aix_libpath=`dump -HX64 conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
+}'`
+ fi
+ if test -z "$aix_libpath"; then
+ aix_libpath="/usr/lib:/lib"
+ fi
+ rm -f conftest.c conftest
+ # End _LT_AC_SYS_LIBPATH_AIX.
+ if test "$aix_use_runtimelinking" = yes; then
+ hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+ else
+ if test "$host_cpu" = ia64; then
+ hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
+ else
+ hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+ fi
+ fi
+ ;;
+ amigaos*)
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_minus_L=yes
+ # see comment about different semantics on the GNU ld section
+ ld_shlibs=no
+ ;;
+ bsdi[45]*)
+ ;;
+ cygwin* | mingw* | pw32*)
+ # When not using gcc, we currently assume that we are using
+ # Microsoft Visual C++.
+ # hardcode_libdir_flag_spec is actually meaningless, as there is
+ # no search path for DLLs.
+ hardcode_libdir_flag_spec=' '
+ libext=lib
+ ;;
+ darwin* | rhapsody*)
+ hardcode_direct=no
+ if test "$GCC" = yes ; then
+ :
+ else
+ case $cc_basename in
+ xlc*)
+ ;;
+ *)
+ ld_shlibs=no
+ ;;
+ esac
+ fi
+ ;;
+ dgux*)
+ hardcode_libdir_flag_spec='-L$libdir'
+ ;;
+ freebsd1*)
+ ld_shlibs=no
+ ;;
+ freebsd2.2*)
+ hardcode_libdir_flag_spec='-R$libdir'
+ hardcode_direct=yes
+ ;;
+ freebsd2*)
+ hardcode_direct=yes
+ hardcode_minus_L=yes
+ ;;
+ freebsd* | dragonfly*)
+ hardcode_libdir_flag_spec='-R$libdir'
+ hardcode_direct=yes
+ ;;
+ hpux9*)
+ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+ hardcode_libdir_separator=:
+ hardcode_direct=yes
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ hardcode_minus_L=yes
+ ;;
+ hpux10*)
+ if test "$with_gnu_ld" = no; then
+ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+ hardcode_libdir_separator=:
+ hardcode_direct=yes
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ hardcode_minus_L=yes
+ fi
+ ;;
+ hpux11*)
+ if test "$with_gnu_ld" = no; then
+ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+ hardcode_libdir_separator=:
+ case $host_cpu in
+ hppa*64*|ia64*)
+ hardcode_direct=no
+ ;;
+ *)
+ hardcode_direct=yes
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ hardcode_minus_L=yes
+ ;;
+ esac
+ fi
+ ;;
+ irix5* | irix6* | nonstopux*)
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator=:
+ ;;
+ netbsd*)
+ hardcode_libdir_flag_spec='-R$libdir'
+ hardcode_direct=yes
+ ;;
+ newsos6)
+ hardcode_direct=yes
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator=:
+ ;;
+ openbsd*)
+ if test -f /usr/libexec/ld.so; then
+ hardcode_direct=yes
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+ else
+ case "$host_os" in
+ openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
+ hardcode_libdir_flag_spec='-R$libdir'
+ ;;
+ *)
+ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+ ;;
+ esac
+ fi
+ else
+ ld_shlibs=no
+ fi
+ ;;
+ os2*)
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_minus_L=yes
+ ;;
+ osf3*)
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator=:
+ ;;
+ osf4* | osf5*)
+ if test "$GCC" = yes; then
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ else
+ # Both cc and cxx compiler support -rpath directly
+ hardcode_libdir_flag_spec='-rpath $libdir'
+ fi
+ hardcode_libdir_separator=:
+ ;;
+ solaris*)
+ hardcode_libdir_flag_spec='-R$libdir'
+ ;;
+ sunos4*)
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_direct=yes
+ hardcode_minus_L=yes
+ ;;
+ sysv4)
+ case $host_vendor in
+ sni)
+ hardcode_direct=yes # is this really true???
+ ;;
+ siemens)
+ hardcode_direct=no
+ ;;
+ motorola)
+ hardcode_direct=no #Motorola manual says yes, but my tests say they lie
+ ;;
+ esac
+ ;;
+ sysv4.3*)
+ ;;
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ ld_shlibs=yes
+ fi
+ ;;
+ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
+ ;;
+ sysv5* | sco3.2v5* | sco5v6*)
+ hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
+ hardcode_libdir_separator=':'
+ ;;
+ uts4*)
+ hardcode_libdir_flag_spec='-L$libdir'
+ ;;
+ *)
+ ld_shlibs=no
+ ;;
+ esac
+fi
+
+# Check dynamic linker characteristics
+# Code taken from libtool.m4's AC_LIBTOOL_SYS_DYNAMIC_LINKER.
+# Unlike libtool.m4, here we don't care about _all_ names of the library, but
+# only about the one the linker finds when passed -lNAME. This is the last
+# element of library_names_spec in libtool.m4, or possibly two of them if the
+# linker has special search rules.
+library_names_spec= # the last element of library_names_spec in libtool.m4
+libname_spec='lib$name'
+case "$host_os" in
+ aix3*)
+ library_names_spec='$libname.a'
+ ;;
+ aix4* | aix5*)
+ library_names_spec='$libname$shrext'
+ ;;
+ amigaos*)
+ library_names_spec='$libname.a'
+ ;;
+ beos*)
+ library_names_spec='$libname$shrext'
+ ;;
+ bsdi[45]*)
+ library_names_spec='$libname$shrext'
+ ;;
+ cygwin* | mingw* | pw32*)
+ shrext=.dll
+ library_names_spec='$libname.dll.a $libname.lib'
+ ;;
+ darwin* | rhapsody*)
+ shrext=.dylib
+ library_names_spec='$libname$shrext'
+ ;;
+ dgux*)
+ library_names_spec='$libname$shrext'
+ ;;
+ freebsd1*)
+ ;;
+ freebsd* | dragonfly*)
+ case "$host_os" in
+ freebsd[123]*)
+ library_names_spec='$libname$shrext$versuffix' ;;
+ *)
+ library_names_spec='$libname$shrext' ;;
+ esac
+ ;;
+ gnu*)
+ library_names_spec='$libname$shrext'
+ ;;
+ hpux9* | hpux10* | hpux11*)
+ case $host_cpu in
+ ia64*)
+ shrext=.so
+ ;;
+ hppa*64*)
+ shrext=.sl
+ ;;
+ *)
+ shrext=.sl
+ ;;
+ esac
+ library_names_spec='$libname$shrext'
+ ;;
+ interix[3-9]*)
+ library_names_spec='$libname$shrext'
+ ;;
+ irix5* | irix6* | nonstopux*)
+ library_names_spec='$libname$shrext'
+ case "$host_os" in
+ irix5* | nonstopux*)
+ libsuff= shlibsuff=
+ ;;
+ *)
+ case $LD in
+ *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= ;;
+ *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 ;;
+ *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 ;;
+ *) libsuff= shlibsuff= ;;
+ esac
+ ;;
+ esac
+ ;;
+ linux*oldld* | linux*aout* | linux*coff*)
+ ;;
+ linux* | k*bsd*-gnu)
+ library_names_spec='$libname$shrext'
+ ;;
+ knetbsd*-gnu)
+ library_names_spec='$libname$shrext'
+ ;;
+ netbsd*)
+ library_names_spec='$libname$shrext'
+ ;;
+ newsos6)
+ library_names_spec='$libname$shrext'
+ ;;
+ nto-qnx*)
+ library_names_spec='$libname$shrext'
+ ;;
+ openbsd*)
+ library_names_spec='$libname$shrext$versuffix'
+ ;;
+ os2*)
+ libname_spec='$name'
+ shrext=.dll
+ library_names_spec='$libname.a'
+ ;;
+ osf3* | osf4* | osf5*)
+ library_names_spec='$libname$shrext'
+ ;;
+ rdos*)
+ ;;
+ solaris*)
+ library_names_spec='$libname$shrext'
+ ;;
+ sunos4*)
+ library_names_spec='$libname$shrext$versuffix'
+ ;;
+ sysv4 | sysv4.3*)
+ library_names_spec='$libname$shrext'
+ ;;
+ sysv4*MP*)
+ library_names_spec='$libname$shrext'
+ ;;
+ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+ library_names_spec='$libname$shrext'
+ ;;
+ uts4*)
+ library_names_spec='$libname$shrext'
+ ;;
+esac
+
+sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
+escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"`
+shlibext=`echo "$shrext" | sed -e 's,^\.,,'`
+escaped_libname_spec=`echo "X$libname_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
+escaped_library_names_spec=`echo "X$library_names_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
+escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
+
+LC_ALL=C sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <<EOF
+
+# How to pass a linker flag through the compiler.
+wl="$escaped_wl"
+
+# Static library suffix (normally "a").
+libext="$libext"
+
+# Shared library suffix (normally "so").
+shlibext="$shlibext"
+
+# Format of library name prefix.
+libname_spec="$escaped_libname_spec"
+
+# Library names that the linker finds when passed -lNAME.
+library_names_spec="$escaped_library_names_spec"
+
+# Flag to hardcode \$libdir into a binary during linking.
+# This must work even if \$libdir does not exist.
+hardcode_libdir_flag_spec="$escaped_hardcode_libdir_flag_spec"
+
+# Whether we need a single -rpath flag with a separated argument.
+hardcode_libdir_separator="$hardcode_libdir_separator"
+
+# Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the
+# resulting binary.
+hardcode_direct="$hardcode_direct"
+
+# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
+# resulting binary.
+hardcode_minus_L="$hardcode_minus_L"
+
+EOF
diff --git a/config.sub b/config.sub
new file mode 100755
index 0000000..9633db7
--- /dev/null
+++ b/config.sub
@@ -0,0 +1,1791 @@
+#! /bin/sh
+# Configuration validation subroutine script.
+# Copyright 1992-2013 Free Software Foundation, Inc.
+
+timestamp='2013-08-10'
+
+# This file is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, see <http://www.gnu.org/licenses/>.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that
+# program. This Exception is an additional permission under section 7
+# of the GNU General Public License, version 3 ("GPLv3").
+
+
+# Please send patches with a ChangeLog entry to config-patches@gnu.org.
+#
+# Configuration subroutine to validate and canonicalize a configuration type.
+# Supply the specified configuration type as an argument.
+# If it is invalid, we print an error message on stderr and exit with code 1.
+# Otherwise, we print the canonical config type on stdout and succeed.
+
+# You can get the latest version of this script from:
+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
+
+# This file is supposed to be the same for all GNU packages
+# and recognize all the CPU types, system types and aliases
+# that are meaningful with *any* GNU software.
+# Each package is responsible for reporting which valid configurations
+# it does not support. The user should be able to distinguish
+# a failure to support a valid configuration from a meaningless
+# configuration.
+
+# The goal of this file is to map all the various variations of a given
+# machine specification into a single specification in the form:
+# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
+# or in some cases, the newer four-part form:
+# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
+# It is wrong to echo any other type of specification.
+
+me=`echo "$0" | sed -e 's,.*/,,'`
+
+usage="\
+Usage: $0 [OPTION] CPU-MFR-OPSYS
+ $0 [OPTION] ALIAS
+
+Canonicalize a configuration name.
+
+Operation modes:
+ -h, --help print this help, then exit
+ -t, --time-stamp print date of last modification, then exit
+ -v, --version print version number, then exit
+
+Report bugs and patches to <config-patches@gnu.org>."
+
+version="\
+GNU config.sub ($timestamp)
+
+Copyright 1992-2013 Free Software Foundation, Inc.
+
+This is free software; see the source for copying conditions. There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+
+help="
+Try \`$me --help' for more information."
+
+# Parse command line
+while test $# -gt 0 ; do
+ case $1 in
+ --time-stamp | --time* | -t )
+ echo "$timestamp" ; exit ;;
+ --version | -v )
+ echo "$version" ; exit ;;
+ --help | --h* | -h )
+ echo "$usage"; exit ;;
+ -- ) # Stop option processing
+ shift; break ;;
+ - ) # Use stdin as input.
+ break ;;
+ -* )
+ echo "$me: invalid option $1$help"
+ exit 1 ;;
+
+ *local*)
+ # First pass through any local machine types.
+ echo $1
+ exit ;;
+
+ * )
+ break ;;
+ esac
+done
+
+case $# in
+ 0) echo "$me: missing argument$help" >&2
+ exit 1;;
+ 1) ;;
+ *) echo "$me: too many arguments$help" >&2
+ exit 1;;
+esac
+
+# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
+# Here we must recognize all the valid KERNEL-OS combinations.
+maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
+case $maybe_os in
+ nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
+ linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
+ knetbsd*-gnu* | netbsd*-gnu* | \
+ kopensolaris*-gnu* | \
+ storm-chaos* | os2-emx* | rtmk-nova*)
+ os=-$maybe_os
+ basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
+ ;;
+ android-linux)
+ os=-linux-android
+ basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
+ ;;
+ *)
+ basic_machine=`echo $1 | sed 's/-[^-]*$//'`
+ if [ $basic_machine != $1 ]
+ then os=`echo $1 | sed 's/.*-/-/'`
+ else os=; fi
+ ;;
+esac
+
+### Let's recognize common machines as not being operating systems so
+### that things like config.sub decstation-3100 work. We also
+### recognize some manufacturers as not being operating systems, so we
+### can provide default operating systems below.
+case $os in
+ -sun*os*)
+ # Prevent following clause from handling this invalid input.
+ ;;
+ -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
+ -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
+ -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
+ -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
+ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
+ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
+ -apple | -axis | -knuth | -cray | -microblaze*)
+ os=
+ basic_machine=$1
+ ;;
+ -bluegene*)
+ os=-cnk
+ ;;
+ -sim | -cisco | -oki | -wec | -winbond)
+ os=
+ basic_machine=$1
+ ;;
+ -scout)
+ ;;
+ -wrs)
+ os=-vxworks
+ basic_machine=$1
+ ;;
+ -chorusos*)
+ os=-chorusos
+ basic_machine=$1
+ ;;
+ -chorusrdb)
+ os=-chorusrdb
+ basic_machine=$1
+ ;;
+ -hiux*)
+ os=-hiuxwe2
+ ;;
+ -sco6)
+ os=-sco5v6
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco5)
+ os=-sco3.2v5
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco4)
+ os=-sco3.2v4
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco3.2.[4-9]*)
+ os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco3.2v[4-9]*)
+ # Don't forget version if it is 3.2v4 or newer.
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco5v6*)
+ # Don't forget version if it is 3.2v4 or newer.
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco*)
+ os=-sco3.2v2
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -udk*)
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -isc)
+ os=-isc2.2
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -clix*)
+ basic_machine=clipper-intergraph
+ ;;
+ -isc*)
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -lynx*178)
+ os=-lynxos178
+ ;;
+ -lynx*5)
+ os=-lynxos5
+ ;;
+ -lynx*)
+ os=-lynxos
+ ;;
+ -ptx*)
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
+ ;;
+ -windowsnt*)
+ os=`echo $os | sed -e 's/windowsnt/winnt/'`
+ ;;
+ -psos*)
+ os=-psos
+ ;;
+ -mint | -mint[0-9]*)
+ basic_machine=m68k-atari
+ os=-mint
+ ;;
+esac
+
+# Decode aliases for certain CPU-COMPANY combinations.
+case $basic_machine in
+ # Recognize the basic CPU types without company name.
+ # Some are omitted here because they have special meanings below.
+ 1750a | 580 \
+ | a29k \
+ | aarch64 | aarch64_be \
+ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
+ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
+ | am33_2.0 \
+ | arc | arceb \
+ | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
+ | avr | avr32 \
+ | be32 | be64 \
+ | bfin \
+ | c4x | c8051 | clipper \
+ | d10v | d30v | dlx | dsp16xx \
+ | epiphany \
+ | fido | fr30 | frv \
+ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
+ | hexagon \
+ | i370 | i860 | i960 | ia64 \
+ | ip2k | iq2000 \
+ | le32 | le64 \
+ | lm32 \
+ | m32c | m32r | m32rle | m68000 | m68k | m88k \
+ | maxq | mb | microblaze | microblazeel | mcore | mep | metag \
+ | mips | mipsbe | mipseb | mipsel | mipsle \
+ | mips16 \
+ | mips64 | mips64el \
+ | mips64octeon | mips64octeonel \
+ | mips64orion | mips64orionel \
+ | mips64r5900 | mips64r5900el \
+ | mips64vr | mips64vrel \
+ | mips64vr4100 | mips64vr4100el \
+ | mips64vr4300 | mips64vr4300el \
+ | mips64vr5000 | mips64vr5000el \
+ | mips64vr5900 | mips64vr5900el \
+ | mipsisa32 | mipsisa32el \
+ | mipsisa32r2 | mipsisa32r2el \
+ | mipsisa64 | mipsisa64el \
+ | mipsisa64r2 | mipsisa64r2el \
+ | mipsisa64sb1 | mipsisa64sb1el \
+ | mipsisa64sr71k | mipsisa64sr71kel \
+ | mipsr5900 | mipsr5900el \
+ | mipstx39 | mipstx39el \
+ | mn10200 | mn10300 \
+ | moxie \
+ | mt \
+ | msp430 \
+ | nds32 | nds32le | nds32be \
+ | nios | nios2 | nios2eb | nios2el \
+ | ns16k | ns32k \
+ | open8 \
+ | or1k | or32 \
+ | pdp10 | pdp11 | pj | pjl \
+ | powerpc | powerpc64 | powerpc64le | powerpcle \
+ | pyramid \
+ | rl78 | rx \
+ | score \
+ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
+ | sh64 | sh64le \
+ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
+ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
+ | spu \
+ | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
+ | ubicom32 \
+ | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
+ | we32k \
+ | x86 | xc16x | xstormy16 | xtensa \
+ | z8k | z80)
+ basic_machine=$basic_machine-unknown
+ ;;
+ c54x)
+ basic_machine=tic54x-unknown
+ ;;
+ c55x)
+ basic_machine=tic55x-unknown
+ ;;
+ c6x)
+ basic_machine=tic6x-unknown
+ ;;
+ m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip)
+ basic_machine=$basic_machine-unknown
+ os=-none
+ ;;
+ m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
+ ;;
+ ms1)
+ basic_machine=mt-unknown
+ ;;
+
+ strongarm | thumb | xscale)
+ basic_machine=arm-unknown
+ ;;
+ xgate)
+ basic_machine=$basic_machine-unknown
+ os=-none
+ ;;
+ xscaleeb)
+ basic_machine=armeb-unknown
+ ;;
+
+ xscaleel)
+ basic_machine=armel-unknown
+ ;;
+
+ # We use `pc' rather than `unknown'
+ # because (1) that's what they normally are, and
+ # (2) the word "unknown" tends to confuse beginning users.
+ i*86 | x86_64)
+ basic_machine=$basic_machine-pc
+ ;;
+ # Object if more than one company name word.
+ *-*-*)
+ echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+ exit 1
+ ;;
+ # Recognize the basic CPU types with company name.
+ 580-* \
+ | a29k-* \
+ | aarch64-* | aarch64_be-* \
+ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
+ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
+ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
+ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \
+ | avr-* | avr32-* \
+ | be32-* | be64-* \
+ | bfin-* | bs2000-* \
+ | c[123]* | c30-* | [cjt]90-* | c4x-* \
+ | c8051-* | clipper-* | craynv-* | cydra-* \
+ | d10v-* | d30v-* | dlx-* \
+ | elxsi-* \
+ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
+ | h8300-* | h8500-* \
+ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
+ | hexagon-* \
+ | i*86-* | i860-* | i960-* | ia64-* \
+ | ip2k-* | iq2000-* \
+ | le32-* | le64-* \
+ | lm32-* \
+ | m32c-* | m32r-* | m32rle-* \
+ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
+ | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
+ | microblaze-* | microblazeel-* \
+ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
+ | mips16-* \
+ | mips64-* | mips64el-* \
+ | mips64octeon-* | mips64octeonel-* \
+ | mips64orion-* | mips64orionel-* \
+ | mips64r5900-* | mips64r5900el-* \
+ | mips64vr-* | mips64vrel-* \
+ | mips64vr4100-* | mips64vr4100el-* \
+ | mips64vr4300-* | mips64vr4300el-* \
+ | mips64vr5000-* | mips64vr5000el-* \
+ | mips64vr5900-* | mips64vr5900el-* \
+ | mipsisa32-* | mipsisa32el-* \
+ | mipsisa32r2-* | mipsisa32r2el-* \
+ | mipsisa64-* | mipsisa64el-* \
+ | mipsisa64r2-* | mipsisa64r2el-* \
+ | mipsisa64sb1-* | mipsisa64sb1el-* \
+ | mipsisa64sr71k-* | mipsisa64sr71kel-* \
+ | mipsr5900-* | mipsr5900el-* \
+ | mipstx39-* | mipstx39el-* \
+ | mmix-* \
+ | mt-* \
+ | msp430-* \
+ | nds32-* | nds32le-* | nds32be-* \
+ | nios-* | nios2-* | nios2eb-* | nios2el-* \
+ | none-* | np1-* | ns16k-* | ns32k-* \
+ | open8-* \
+ | orion-* \
+ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
+ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
+ | pyramid-* \
+ | rl78-* | romp-* | rs6000-* | rx-* \
+ | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
+ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
+ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
+ | sparclite-* \
+ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
+ | tahoe-* \
+ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
+ | tile*-* \
+ | tron-* \
+ | ubicom32-* \
+ | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
+ | vax-* \
+ | we32k-* \
+ | x86-* | x86_64-* | xc16x-* | xps100-* \
+ | xstormy16-* | xtensa*-* \
+ | ymp-* \
+ | z8k-* | z80-*)
+ ;;
+ # Recognize the basic CPU types without company name, with glob match.
+ xtensa*)
+ basic_machine=$basic_machine-unknown
+ ;;
+ # Recognize the various machine names and aliases which stand
+ # for a CPU type and a company and sometimes even an OS.
+ 386bsd)
+ basic_machine=i386-unknown
+ os=-bsd
+ ;;
+ 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
+ basic_machine=m68000-att
+ ;;
+ 3b*)
+ basic_machine=we32k-att
+ ;;
+ a29khif)
+ basic_machine=a29k-amd
+ os=-udi
+ ;;
+ abacus)
+ basic_machine=abacus-unknown
+ ;;
+ adobe68k)
+ basic_machine=m68010-adobe
+ os=-scout
+ ;;
+ alliant | fx80)
+ basic_machine=fx80-alliant
+ ;;
+ altos | altos3068)
+ basic_machine=m68k-altos
+ ;;
+ am29k)
+ basic_machine=a29k-none
+ os=-bsd
+ ;;
+ amd64)
+ basic_machine=x86_64-pc
+ ;;
+ amd64-*)
+ basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ amdahl)
+ basic_machine=580-amdahl
+ os=-sysv
+ ;;
+ amiga | amiga-*)
+ basic_machine=m68k-unknown
+ ;;
+ amigaos | amigados)
+ basic_machine=m68k-unknown
+ os=-amigaos
+ ;;
+ amigaunix | amix)
+ basic_machine=m68k-unknown
+ os=-sysv4
+ ;;
+ apollo68)
+ basic_machine=m68k-apollo
+ os=-sysv
+ ;;
+ apollo68bsd)
+ basic_machine=m68k-apollo
+ os=-bsd
+ ;;
+ aros)
+ basic_machine=i386-pc
+ os=-aros
+ ;;
+ aux)
+ basic_machine=m68k-apple
+ os=-aux
+ ;;
+ balance)
+ basic_machine=ns32k-sequent
+ os=-dynix
+ ;;
+ blackfin)
+ basic_machine=bfin-unknown
+ os=-linux
+ ;;
+ blackfin-*)
+ basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
+ os=-linux
+ ;;
+ bluegene*)
+ basic_machine=powerpc-ibm
+ os=-cnk
+ ;;
+ c54x-*)
+ basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ c55x-*)
+ basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ c6x-*)
+ basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ c90)
+ basic_machine=c90-cray
+ os=-unicos
+ ;;
+ cegcc)
+ basic_machine=arm-unknown
+ os=-cegcc
+ ;;
+ convex-c1)
+ basic_machine=c1-convex
+ os=-bsd
+ ;;
+ convex-c2)
+ basic_machine=c2-convex
+ os=-bsd
+ ;;
+ convex-c32)
+ basic_machine=c32-convex
+ os=-bsd
+ ;;
+ convex-c34)
+ basic_machine=c34-convex
+ os=-bsd
+ ;;
+ convex-c38)
+ basic_machine=c38-convex
+ os=-bsd
+ ;;
+ cray | j90)
+ basic_machine=j90-cray
+ os=-unicos
+ ;;
+ craynv)
+ basic_machine=craynv-cray
+ os=-unicosmp
+ ;;
+ cr16 | cr16-*)
+ basic_machine=cr16-unknown
+ os=-elf
+ ;;
+ crds | unos)
+ basic_machine=m68k-crds
+ ;;
+ crisv32 | crisv32-* | etraxfs*)
+ basic_machine=crisv32-axis
+ ;;
+ cris | cris-* | etrax*)
+ basic_machine=cris-axis
+ ;;
+ crx)
+ basic_machine=crx-unknown
+ os=-elf
+ ;;
+ da30 | da30-*)
+ basic_machine=m68k-da30
+ ;;
+ decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
+ basic_machine=mips-dec
+ ;;
+ decsystem10* | dec10*)
+ basic_machine=pdp10-dec
+ os=-tops10
+ ;;
+ decsystem20* | dec20*)
+ basic_machine=pdp10-dec
+ os=-tops20
+ ;;
+ delta | 3300 | motorola-3300 | motorola-delta \
+ | 3300-motorola | delta-motorola)
+ basic_machine=m68k-motorola
+ ;;
+ delta88)
+ basic_machine=m88k-motorola
+ os=-sysv3
+ ;;
+ dicos)
+ basic_machine=i686-pc
+ os=-dicos
+ ;;
+ djgpp)
+ basic_machine=i586-pc
+ os=-msdosdjgpp
+ ;;
+ dpx20 | dpx20-*)
+ basic_machine=rs6000-bull
+ os=-bosx
+ ;;
+ dpx2* | dpx2*-bull)
+ basic_machine=m68k-bull
+ os=-sysv3
+ ;;
+ ebmon29k)
+ basic_machine=a29k-amd
+ os=-ebmon
+ ;;
+ elxsi)
+ basic_machine=elxsi-elxsi
+ os=-bsd
+ ;;
+ encore | umax | mmax)
+ basic_machine=ns32k-encore
+ ;;
+ es1800 | OSE68k | ose68k | ose | OSE)
+ basic_machine=m68k-ericsson
+ os=-ose
+ ;;
+ fx2800)
+ basic_machine=i860-alliant
+ ;;
+ genix)
+ basic_machine=ns32k-ns
+ ;;
+ gmicro)
+ basic_machine=tron-gmicro
+ os=-sysv
+ ;;
+ go32)
+ basic_machine=i386-pc
+ os=-go32
+ ;;
+ h3050r* | hiux*)
+ basic_machine=hppa1.1-hitachi
+ os=-hiuxwe2
+ ;;
+ h8300hms)
+ basic_machine=h8300-hitachi
+ os=-hms
+ ;;
+ h8300xray)
+ basic_machine=h8300-hitachi
+ os=-xray
+ ;;
+ h8500hms)
+ basic_machine=h8500-hitachi
+ os=-hms
+ ;;
+ harris)
+ basic_machine=m88k-harris
+ os=-sysv3
+ ;;
+ hp300-*)
+ basic_machine=m68k-hp
+ ;;
+ hp300bsd)
+ basic_machine=m68k-hp
+ os=-bsd
+ ;;
+ hp300hpux)
+ basic_machine=m68k-hp
+ os=-hpux
+ ;;
+ hp3k9[0-9][0-9] | hp9[0-9][0-9])
+ basic_machine=hppa1.0-hp
+ ;;
+ hp9k2[0-9][0-9] | hp9k31[0-9])
+ basic_machine=m68000-hp
+ ;;
+ hp9k3[2-9][0-9])
+ basic_machine=m68k-hp
+ ;;
+ hp9k6[0-9][0-9] | hp6[0-9][0-9])
+ basic_machine=hppa1.0-hp
+ ;;
+ hp9k7[0-79][0-9] | hp7[0-79][0-9])
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k78[0-9] | hp78[0-9])
+ # FIXME: really hppa2.0-hp
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
+ # FIXME: really hppa2.0-hp
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k8[0-9][13679] | hp8[0-9][13679])
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k8[0-9][0-9] | hp8[0-9][0-9])
+ basic_machine=hppa1.0-hp
+ ;;
+ hppa-next)
+ os=-nextstep3
+ ;;
+ hppaosf)
+ basic_machine=hppa1.1-hp
+ os=-osf
+ ;;
+ hppro)
+ basic_machine=hppa1.1-hp
+ os=-proelf
+ ;;
+ i370-ibm* | ibm*)
+ basic_machine=i370-ibm
+ ;;
+ i*86v32)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+ os=-sysv32
+ ;;
+ i*86v4*)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+ os=-sysv4
+ ;;
+ i*86v)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+ os=-sysv
+ ;;
+ i*86sol2)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+ os=-solaris2
+ ;;
+ i386mach)
+ basic_machine=i386-mach
+ os=-mach
+ ;;
+ i386-vsta | vsta)
+ basic_machine=i386-unknown
+ os=-vsta
+ ;;
+ iris | iris4d)
+ basic_machine=mips-sgi
+ case $os in
+ -irix*)
+ ;;
+ *)
+ os=-irix4
+ ;;
+ esac
+ ;;
+ isi68 | isi)
+ basic_machine=m68k-isi
+ os=-sysv
+ ;;
+ m68knommu)
+ basic_machine=m68k-unknown
+ os=-linux
+ ;;
+ m68knommu-*)
+ basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
+ os=-linux
+ ;;
+ m88k-omron*)
+ basic_machine=m88k-omron
+ ;;
+ magnum | m3230)
+ basic_machine=mips-mips
+ os=-sysv
+ ;;
+ merlin)
+ basic_machine=ns32k-utek
+ os=-sysv
+ ;;
+ microblaze*)
+ basic_machine=microblaze-xilinx
+ ;;
+ mingw64)
+ basic_machine=x86_64-pc
+ os=-mingw64
+ ;;
+ mingw32)
+ basic_machine=i686-pc
+ os=-mingw32
+ ;;
+ mingw32ce)
+ basic_machine=arm-unknown
+ os=-mingw32ce
+ ;;
+ miniframe)
+ basic_machine=m68000-convergent
+ ;;
+ *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
+ basic_machine=m68k-atari
+ os=-mint
+ ;;
+ mips3*-*)
+ basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
+ ;;
+ mips3*)
+ basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
+ ;;
+ monitor)
+ basic_machine=m68k-rom68k
+ os=-coff
+ ;;
+ morphos)
+ basic_machine=powerpc-unknown
+ os=-morphos
+ ;;
+ msdos)
+ basic_machine=i386-pc
+ os=-msdos
+ ;;
+ ms1-*)
+ basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
+ ;;
+ msys)
+ basic_machine=i686-pc
+ os=-msys
+ ;;
+ mvs)
+ basic_machine=i370-ibm
+ os=-mvs
+ ;;
+ nacl)
+ basic_machine=le32-unknown
+ os=-nacl
+ ;;
+ ncr3000)
+ basic_machine=i486-ncr
+ os=-sysv4
+ ;;
+ netbsd386)
+ basic_machine=i386-unknown
+ os=-netbsd
+ ;;
+ netwinder)
+ basic_machine=armv4l-rebel
+ os=-linux
+ ;;
+ news | news700 | news800 | news900)
+ basic_machine=m68k-sony
+ os=-newsos
+ ;;
+ news1000)
+ basic_machine=m68030-sony
+ os=-newsos
+ ;;
+ news-3600 | risc-news)
+ basic_machine=mips-sony
+ os=-newsos
+ ;;
+ necv70)
+ basic_machine=v70-nec
+ os=-sysv
+ ;;
+ next | m*-next )
+ basic_machine=m68k-next
+ case $os in
+ -nextstep* )
+ ;;
+ -ns2*)
+ os=-nextstep2
+ ;;
+ *)
+ os=-nextstep3
+ ;;
+ esac
+ ;;
+ nh3000)
+ basic_machine=m68k-harris
+ os=-cxux
+ ;;
+ nh[45]000)
+ basic_machine=m88k-harris
+ os=-cxux
+ ;;
+ nindy960)
+ basic_machine=i960-intel
+ os=-nindy
+ ;;
+ mon960)
+ basic_machine=i960-intel
+ os=-mon960
+ ;;
+ nonstopux)
+ basic_machine=mips-compaq
+ os=-nonstopux
+ ;;
+ np1)
+ basic_machine=np1-gould
+ ;;
+ neo-tandem)
+ basic_machine=neo-tandem
+ ;;
+ nse-tandem)
+ basic_machine=nse-tandem
+ ;;
+ nsr-tandem)
+ basic_machine=nsr-tandem
+ ;;
+ op50n-* | op60c-*)
+ basic_machine=hppa1.1-oki
+ os=-proelf
+ ;;
+ openrisc | openrisc-*)
+ basic_machine=or32-unknown
+ ;;
+ os400)
+ basic_machine=powerpc-ibm
+ os=-os400
+ ;;
+ OSE68000 | ose68000)
+ basic_machine=m68000-ericsson
+ os=-ose
+ ;;
+ os68k)
+ basic_machine=m68k-none
+ os=-os68k
+ ;;
+ pa-hitachi)
+ basic_machine=hppa1.1-hitachi
+ os=-hiuxwe2
+ ;;
+ paragon)
+ basic_machine=i860-intel
+ os=-osf
+ ;;
+ parisc)
+ basic_machine=hppa-unknown
+ os=-linux
+ ;;
+ parisc-*)
+ basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
+ os=-linux
+ ;;
+ pbd)
+ basic_machine=sparc-tti
+ ;;
+ pbb)
+ basic_machine=m68k-tti
+ ;;
+ pc532 | pc532-*)
+ basic_machine=ns32k-pc532
+ ;;
+ pc98)
+ basic_machine=i386-pc
+ ;;
+ pc98-*)
+ basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ pentium | p5 | k5 | k6 | nexgen | viac3)
+ basic_machine=i586-pc
+ ;;
+ pentiumpro | p6 | 6x86 | athlon | athlon_*)
+ basic_machine=i686-pc
+ ;;
+ pentiumii | pentium2 | pentiumiii | pentium3)
+ basic_machine=i686-pc
+ ;;
+ pentium4)
+ basic_machine=i786-pc
+ ;;
+ pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
+ basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ pentiumpro-* | p6-* | 6x86-* | athlon-*)
+ basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
+ basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ pentium4-*)
+ basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ pn)
+ basic_machine=pn-gould
+ ;;
+ power) basic_machine=power-ibm
+ ;;
+ ppc | ppcbe) basic_machine=powerpc-unknown
+ ;;
+ ppc-* | ppcbe-*)
+ basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ ppcle | powerpclittle | ppc-le | powerpc-little)
+ basic_machine=powerpcle-unknown
+ ;;
+ ppcle-* | powerpclittle-*)
+ basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ ppc64) basic_machine=powerpc64-unknown
+ ;;
+ ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ ppc64le | powerpc64little | ppc64-le | powerpc64-little)
+ basic_machine=powerpc64le-unknown
+ ;;
+ ppc64le-* | powerpc64little-*)
+ basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ ps2)
+ basic_machine=i386-ibm
+ ;;
+ pw32)
+ basic_machine=i586-unknown
+ os=-pw32
+ ;;
+ rdos | rdos64)
+ basic_machine=x86_64-pc
+ os=-rdos
+ ;;
+ rdos32)
+ basic_machine=i386-pc
+ os=-rdos
+ ;;
+ rom68k)
+ basic_machine=m68k-rom68k
+ os=-coff
+ ;;
+ rm[46]00)
+ basic_machine=mips-siemens
+ ;;
+ rtpc | rtpc-*)
+ basic_machine=romp-ibm
+ ;;
+ s390 | s390-*)
+ basic_machine=s390-ibm
+ ;;
+ s390x | s390x-*)
+ basic_machine=s390x-ibm
+ ;;
+ sa29200)
+ basic_machine=a29k-amd
+ os=-udi
+ ;;
+ sb1)
+ basic_machine=mipsisa64sb1-unknown
+ ;;
+ sb1el)
+ basic_machine=mipsisa64sb1el-unknown
+ ;;
+ sde)
+ basic_machine=mipsisa32-sde
+ os=-elf
+ ;;
+ sei)
+ basic_machine=mips-sei
+ os=-seiux
+ ;;
+ sequent)
+ basic_machine=i386-sequent
+ ;;
+ sh)
+ basic_machine=sh-hitachi
+ os=-hms
+ ;;
+ sh5el)
+ basic_machine=sh5le-unknown
+ ;;
+ sh64)
+ basic_machine=sh64-unknown
+ ;;
+ sparclite-wrs | simso-wrs)
+ basic_machine=sparclite-wrs
+ os=-vxworks
+ ;;
+ sps7)
+ basic_machine=m68k-bull
+ os=-sysv2
+ ;;
+ spur)
+ basic_machine=spur-unknown
+ ;;
+ st2000)
+ basic_machine=m68k-tandem
+ ;;
+ stratus)
+ basic_machine=i860-stratus
+ os=-sysv4
+ ;;
+ strongarm-* | thumb-*)
+ basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ sun2)
+ basic_machine=m68000-sun
+ ;;
+ sun2os3)
+ basic_machine=m68000-sun
+ os=-sunos3
+ ;;
+ sun2os4)
+ basic_machine=m68000-sun
+ os=-sunos4
+ ;;
+ sun3os3)
+ basic_machine=m68k-sun
+ os=-sunos3
+ ;;
+ sun3os4)
+ basic_machine=m68k-sun
+ os=-sunos4
+ ;;
+ sun4os3)
+ basic_machine=sparc-sun
+ os=-sunos3
+ ;;
+ sun4os4)
+ basic_machine=sparc-sun
+ os=-sunos4
+ ;;
+ sun4sol2)
+ basic_machine=sparc-sun
+ os=-solaris2
+ ;;
+ sun3 | sun3-*)
+ basic_machine=m68k-sun
+ ;;
+ sun4)
+ basic_machine=sparc-sun
+ ;;
+ sun386 | sun386i | roadrunner)
+ basic_machine=i386-sun
+ ;;
+ sv1)
+ basic_machine=sv1-cray
+ os=-unicos
+ ;;
+ symmetry)
+ basic_machine=i386-sequent
+ os=-dynix
+ ;;
+ t3e)
+ basic_machine=alphaev5-cray
+ os=-unicos
+ ;;
+ t90)
+ basic_machine=t90-cray
+ os=-unicos
+ ;;
+ tile*)
+ basic_machine=$basic_machine-unknown
+ os=-linux-gnu
+ ;;
+ tx39)
+ basic_machine=mipstx39-unknown
+ ;;
+ tx39el)
+ basic_machine=mipstx39el-unknown
+ ;;
+ toad1)
+ basic_machine=pdp10-xkl
+ os=-tops20
+ ;;
+ tower | tower-32)
+ basic_machine=m68k-ncr
+ ;;
+ tpf)
+ basic_machine=s390x-ibm
+ os=-tpf
+ ;;
+ udi29k)
+ basic_machine=a29k-amd
+ os=-udi
+ ;;
+ ultra3)
+ basic_machine=a29k-nyu
+ os=-sym1
+ ;;
+ v810 | necv810)
+ basic_machine=v810-nec
+ os=-none
+ ;;
+ vaxv)
+ basic_machine=vax-dec
+ os=-sysv
+ ;;
+ vms)
+ basic_machine=vax-dec
+ os=-vms
+ ;;
+ vpp*|vx|vx-*)
+ basic_machine=f301-fujitsu
+ ;;
+ vxworks960)
+ basic_machine=i960-wrs
+ os=-vxworks
+ ;;
+ vxworks68)
+ basic_machine=m68k-wrs
+ os=-vxworks
+ ;;
+ vxworks29k)
+ basic_machine=a29k-wrs
+ os=-vxworks
+ ;;
+ w65*)
+ basic_machine=w65-wdc
+ os=-none
+ ;;
+ w89k-*)
+ basic_machine=hppa1.1-winbond
+ os=-proelf
+ ;;
+ xbox)
+ basic_machine=i686-pc
+ os=-mingw32
+ ;;
+ xps | xps100)
+ basic_machine=xps100-honeywell
+ ;;
+ xscale-* | xscalee[bl]-*)
+ basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
+ ;;
+ ymp)
+ basic_machine=ymp-cray
+ os=-unicos
+ ;;
+ z8k-*-coff)
+ basic_machine=z8k-unknown
+ os=-sim
+ ;;
+ z80-*-coff)
+ basic_machine=z80-unknown
+ os=-sim
+ ;;
+ none)
+ basic_machine=none-none
+ os=-none
+ ;;
+
+# Here we handle the default manufacturer of certain CPU types. It is in
+# some cases the only manufacturer, in others, it is the most popular.
+ w89k)
+ basic_machine=hppa1.1-winbond
+ ;;
+ op50n)
+ basic_machine=hppa1.1-oki
+ ;;
+ op60c)
+ basic_machine=hppa1.1-oki
+ ;;
+ romp)
+ basic_machine=romp-ibm
+ ;;
+ mmix)
+ basic_machine=mmix-knuth
+ ;;
+ rs6000)
+ basic_machine=rs6000-ibm
+ ;;
+ vax)
+ basic_machine=vax-dec
+ ;;
+ pdp10)
+ # there are many clones, so DEC is not a safe bet
+ basic_machine=pdp10-unknown
+ ;;
+ pdp11)
+ basic_machine=pdp11-dec
+ ;;
+ we32k)
+ basic_machine=we32k-att
+ ;;
+ sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
+ basic_machine=sh-unknown
+ ;;
+ sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
+ basic_machine=sparc-sun
+ ;;
+ cydra)
+ basic_machine=cydra-cydrome
+ ;;
+ orion)
+ basic_machine=orion-highlevel
+ ;;
+ orion105)
+ basic_machine=clipper-highlevel
+ ;;
+ mac | mpw | mac-mpw)
+ basic_machine=m68k-apple
+ ;;
+ pmac | pmac-mpw)
+ basic_machine=powerpc-apple
+ ;;
+ *-unknown)
+ # Make sure to match an already-canonicalized machine name.
+ ;;
+ *)
+ echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+ exit 1
+ ;;
+esac
+
+# Here we canonicalize certain aliases for manufacturers.
+case $basic_machine in
+ *-digital*)
+ basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
+ ;;
+ *-commodore*)
+ basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
+ ;;
+ *)
+ ;;
+esac
+
+# Decode manufacturer-specific aliases for certain operating systems.
+
+if [ x"$os" != x"" ]
+then
+case $os in
+ # First match some system type aliases
+ # that might get confused with valid system types.
+ # -solaris* is a basic system type, with this one exception.
+ -auroraux)
+ os=-auroraux
+ ;;
+ -solaris1 | -solaris1.*)
+ os=`echo $os | sed -e 's|solaris1|sunos4|'`
+ ;;
+ -solaris)
+ os=-solaris2
+ ;;
+ -svr4*)
+ os=-sysv4
+ ;;
+ -unixware*)
+ os=-sysv4.2uw
+ ;;
+ -gnu/linux*)
+ os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
+ ;;
+ # First accept the basic system types.
+ # The portable systems comes first.
+ # Each alternative MUST END IN A *, to match a version number.
+ # -sysv* is not here because it comes later, after sysvr4.
+ -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
+ | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
+ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
+ | -sym* | -kopensolaris* | -plan9* \
+ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
+ | -aos* | -aros* \
+ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
+ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
+ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
+ | -bitrig* | -openbsd* | -solidbsd* \
+ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
+ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
+ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
+ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
+ | -chorusos* | -chorusrdb* | -cegcc* \
+ | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
+ | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
+ | -linux-newlib* | -linux-musl* | -linux-uclibc* \
+ | -uxpv* | -beos* | -mpeix* | -udk* \
+ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
+ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
+ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
+ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
+ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
+ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
+ | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
+ # Remember, each alternative MUST END IN *, to match a version number.
+ ;;
+ -qnx*)
+ case $basic_machine in
+ x86-* | i*86-*)
+ ;;
+ *)
+ os=-nto$os
+ ;;
+ esac
+ ;;
+ -nto-qnx*)
+ ;;
+ -nto*)
+ os=`echo $os | sed -e 's|nto|nto-qnx|'`
+ ;;
+ -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
+ | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
+ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
+ ;;
+ -mac*)
+ os=`echo $os | sed -e 's|mac|macos|'`
+ ;;
+ -linux-dietlibc)
+ os=-linux-dietlibc
+ ;;
+ -linux*)
+ os=`echo $os | sed -e 's|linux|linux-gnu|'`
+ ;;
+ -sunos5*)
+ os=`echo $os | sed -e 's|sunos5|solaris2|'`
+ ;;
+ -sunos6*)
+ os=`echo $os | sed -e 's|sunos6|solaris3|'`
+ ;;
+ -opened*)
+ os=-openedition
+ ;;
+ -os400*)
+ os=-os400
+ ;;
+ -wince*)
+ os=-wince
+ ;;
+ -osfrose*)
+ os=-osfrose
+ ;;
+ -osf*)
+ os=-osf
+ ;;
+ -utek*)
+ os=-bsd
+ ;;
+ -dynix*)
+ os=-bsd
+ ;;
+ -acis*)
+ os=-aos
+ ;;
+ -atheos*)
+ os=-atheos
+ ;;
+ -syllable*)
+ os=-syllable
+ ;;
+ -386bsd)
+ os=-bsd
+ ;;
+ -ctix* | -uts*)
+ os=-sysv
+ ;;
+ -nova*)
+ os=-rtmk-nova
+ ;;
+ -ns2 )
+ os=-nextstep2
+ ;;
+ -nsk*)
+ os=-nsk
+ ;;
+ # Preserve the version number of sinix5.
+ -sinix5.*)
+ os=`echo $os | sed -e 's|sinix|sysv|'`
+ ;;
+ -sinix*)
+ os=-sysv4
+ ;;
+ -tpf*)
+ os=-tpf
+ ;;
+ -triton*)
+ os=-sysv3
+ ;;
+ -oss*)
+ os=-sysv3
+ ;;
+ -svr4)
+ os=-sysv4
+ ;;
+ -svr3)
+ os=-sysv3
+ ;;
+ -sysvr4)
+ os=-sysv4
+ ;;
+ # This must come after -sysvr4.
+ -sysv*)
+ ;;
+ -ose*)
+ os=-ose
+ ;;
+ -es1800*)
+ os=-ose
+ ;;
+ -xenix)
+ os=-xenix
+ ;;
+ -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+ os=-mint
+ ;;
+ -aros*)
+ os=-aros
+ ;;
+ -zvmoe)
+ os=-zvmoe
+ ;;
+ -dicos*)
+ os=-dicos
+ ;;
+ -nacl*)
+ ;;
+ -none)
+ ;;
+ *)
+ # Get rid of the `-' at the beginning of $os.
+ os=`echo $os | sed 's/[^-]*-//'`
+ echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
+ exit 1
+ ;;
+esac
+else
+
+# Here we handle the default operating systems that come with various machines.
+# The value should be what the vendor currently ships out the door with their
+# machine or put another way, the most popular os provided with the machine.
+
+# Note that if you're going to try to match "-MANUFACTURER" here (say,
+# "-sun"), then you have to tell the case statement up towards the top
+# that MANUFACTURER isn't an operating system. Otherwise, code above
+# will signal an error saying that MANUFACTURER isn't an operating
+# system, and we'll never get to this point.
+
+case $basic_machine in
+ score-*)
+ os=-elf
+ ;;
+ spu-*)
+ os=-elf
+ ;;
+ *-acorn)
+ os=-riscix1.2
+ ;;
+ arm*-rebel)
+ os=-linux
+ ;;
+ arm*-semi)
+ os=-aout
+ ;;
+ c4x-* | tic4x-*)
+ os=-coff
+ ;;
+ c8051-*)
+ os=-elf
+ ;;
+ hexagon-*)
+ os=-elf
+ ;;
+ tic54x-*)
+ os=-coff
+ ;;
+ tic55x-*)
+ os=-coff
+ ;;
+ tic6x-*)
+ os=-coff
+ ;;
+ # This must come before the *-dec entry.
+ pdp10-*)
+ os=-tops20
+ ;;
+ pdp11-*)
+ os=-none
+ ;;
+ *-dec | vax-*)
+ os=-ultrix4.2
+ ;;
+ m68*-apollo)
+ os=-domain
+ ;;
+ i386-sun)
+ os=-sunos4.0.2
+ ;;
+ m68000-sun)
+ os=-sunos3
+ ;;
+ m68*-cisco)
+ os=-aout
+ ;;
+ mep-*)
+ os=-elf
+ ;;
+ mips*-cisco)
+ os=-elf
+ ;;
+ mips*-*)
+ os=-elf
+ ;;
+ or1k-*)
+ os=-elf
+ ;;
+ or32-*)
+ os=-coff
+ ;;
+ *-tti) # must be before sparc entry or we get the wrong os.
+ os=-sysv3
+ ;;
+ sparc-* | *-sun)
+ os=-sunos4.1.1
+ ;;
+ *-be)
+ os=-beos
+ ;;
+ *-haiku)
+ os=-haiku
+ ;;
+ *-ibm)
+ os=-aix
+ ;;
+ *-knuth)
+ os=-mmixware
+ ;;
+ *-wec)
+ os=-proelf
+ ;;
+ *-winbond)
+ os=-proelf
+ ;;
+ *-oki)
+ os=-proelf
+ ;;
+ *-hp)
+ os=-hpux
+ ;;
+ *-hitachi)
+ os=-hiux
+ ;;
+ i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
+ os=-sysv
+ ;;
+ *-cbm)
+ os=-amigaos
+ ;;
+ *-dg)
+ os=-dgux
+ ;;
+ *-dolphin)
+ os=-sysv3
+ ;;
+ m68k-ccur)
+ os=-rtu
+ ;;
+ m88k-omron*)
+ os=-luna
+ ;;
+ *-next )
+ os=-nextstep
+ ;;
+ *-sequent)
+ os=-ptx
+ ;;
+ *-crds)
+ os=-unos
+ ;;
+ *-ns)
+ os=-genix
+ ;;
+ i370-*)
+ os=-mvs
+ ;;
+ *-next)
+ os=-nextstep3
+ ;;
+ *-gould)
+ os=-sysv
+ ;;
+ *-highlevel)
+ os=-bsd
+ ;;
+ *-encore)
+ os=-bsd
+ ;;
+ *-sgi)
+ os=-irix
+ ;;
+ *-siemens)
+ os=-sysv4
+ ;;
+ *-masscomp)
+ os=-rtu
+ ;;
+ f30[01]-fujitsu | f700-fujitsu)
+ os=-uxpv
+ ;;
+ *-rom68k)
+ os=-coff
+ ;;
+ *-*bug)
+ os=-coff
+ ;;
+ *-apple)
+ os=-macos
+ ;;
+ *-atari*)
+ os=-mint
+ ;;
+ *)
+ os=-none
+ ;;
+esac
+fi
+
+# Here we handle the case where we know the os, and the CPU type, but not the
+# manufacturer. We pick the logical manufacturer.
+vendor=unknown
+case $basic_machine in
+ *-unknown)
+ case $os in
+ -riscix*)
+ vendor=acorn
+ ;;
+ -sunos*)
+ vendor=sun
+ ;;
+ -cnk*|-aix*)
+ vendor=ibm
+ ;;
+ -beos*)
+ vendor=be
+ ;;
+ -hpux*)
+ vendor=hp
+ ;;
+ -mpeix*)
+ vendor=hp
+ ;;
+ -hiux*)
+ vendor=hitachi
+ ;;
+ -unos*)
+ vendor=crds
+ ;;
+ -dgux*)
+ vendor=dg
+ ;;
+ -luna*)
+ vendor=omron
+ ;;
+ -genix*)
+ vendor=ns
+ ;;
+ -mvs* | -opened*)
+ vendor=ibm
+ ;;
+ -os400*)
+ vendor=ibm
+ ;;
+ -ptx*)
+ vendor=sequent
+ ;;
+ -tpf*)
+ vendor=ibm
+ ;;
+ -vxsim* | -vxworks* | -windiss*)
+ vendor=wrs
+ ;;
+ -aux*)
+ vendor=apple
+ ;;
+ -hms*)
+ vendor=hitachi
+ ;;
+ -mpw* | -macos*)
+ vendor=apple
+ ;;
+ -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+ vendor=atari
+ ;;
+ -vos*)
+ vendor=stratus
+ ;;
+ esac
+ basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
+ ;;
+esac
+
+echo $basic_machine$os
+exit
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "timestamp='"
+# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-end: "'"
+# End:
diff --git a/configure b/configure
index 5e15de3..dd74b5b 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for viking 1.4.2.
+# Generated by GNU Autoconf 2.69 for viking 1.5.1.
#
#
# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
@@ -577,10 +577,10 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='viking'
PACKAGE_TARNAME='viking'
-PACKAGE_VERSION='1.4.2'
-PACKAGE_STRING='viking 1.4.2'
+PACKAGE_VERSION='1.5.1'
+PACKAGE_STRING='viking 1.5.1'
PACKAGE_BUGREPORT=''
-PACKAGE_URL=''
+PACKAGE_URL='http://viking.sf.net/'
# Factoring default headers for most tests.
ac_includes_default="\
@@ -629,6 +629,10 @@ HAVE_XSLTPROC_FALSE
HAVE_XSLTPROC_TRUE
XP
DB2MAN_XSL
+MAGIC_FALSE
+MAGIC_TRUE
+BZIP2_FALSE
+BZIP2_TRUE
REALTIME_GPS_TRACKING_FALSE
REALTIME_GPS_TRACKING_TRUE
DEM24K_FALSE
@@ -672,6 +676,8 @@ EXPAT_LIBS
EXPAT_CFLAGS
EXPAT_INSTALLED_FALSE
EXPAT_INSTALLED_TRUE
+WINDOWS_FALSE
+WINDOWS_TRUE
POW_LIB
LIBOBJS
ACLOCAL_AMFLAGS
@@ -756,11 +762,14 @@ GTK_DOC_BUILD_HTML_FALSE
GTK_DOC_BUILD_HTML_TRUE
ENABLE_GTK_DOC_FALSE
ENABLE_GTK_DOC_TRUE
+HAVE_GTK_DOC_FALSE
+HAVE_GTK_DOC_TRUE
GTKDOC_DEPS_LIBS
GTKDOC_DEPS_CFLAGS
HTML_DIR
GTKDOC_MKPDF
GTKDOC_REBASE
+GTKDOC_CHECK_PATH
GTKDOC_CHECK
PKG_CONFIG_LIBDIR
PKG_CONFIG_PATH
@@ -840,6 +849,7 @@ enable_gtk_doc_html
enable_gtk_doc_pdf
enable_dependency_tracking
enable_nls
+enable_windows
with_expat
with_libcurl
with_help_dir
@@ -847,7 +857,6 @@ with_omf_dir
with_help_formats
enable_scrollkeeper
enable_deprecations
-enable_alphabetized_trw
enable_bing
enable_google
enable_terraserver
@@ -860,6 +869,8 @@ enable_geotag
enable_spotmaps
enable_dem24k
enable_realtime_gps_tracking
+enable_bz2
+enable_magic
with_search
with_mapcache
with_tileage
@@ -1420,7 +1431,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures viking 1.4.2 to adapt to many kinds of systems.
+\`configure' configures viking 1.5.1 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1486,7 +1497,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of viking 1.4.2:";;
+ short | recursive ) echo "Configuration of viking 1.5.1:";;
esac
cat <<\_ACEOF
@@ -1504,11 +1515,9 @@ Optional Features:
--disable-dependency-tracking
speeds up one-time build
--disable-nls do not use Native Language Support
+ --enable-windows Perform specific Windows build steps (default is no)
--disable-scrollkeeper do not make updates to the scrollkeeper database
--enable-deprecations warn about deprecated usages [default=no]
- --enable-alphabetized-trw
- enable alphabetized track & waypoints (default is
- enable)
--enable-bing enable Bing stuff (default is enable)
--enable-google enable Google stuff (default is enable)
--enable-terraserver enable Terraserver stuff (default is enable)
@@ -1523,6 +1532,9 @@ Optional Features:
source. Requires dem24k.pl script in path.
--enable-realtime-gps-tracking
enable realtime GPS tracking (default is enable)
+ --enable-bzip2 enable bzip2 Support (default is enable).
+ --enable-magic enable File Magic support via libmagic (default is
+ enable).
Optional Packages:
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
@@ -1568,6 +1580,7 @@ Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations.
Report bugs to the package provider.
+viking home page: <http://viking.sf.net/>.
_ACEOF
ac_status=$?
fi
@@ -1630,7 +1643,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-viking configure 1.4.2
+viking configure 1.5.1
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1719,48 +1732,6 @@ fi
} # ac_fn_c_try_cpp
-# ac_fn_c_try_run LINENO
-# ----------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
-# that executables *can* be run.
-ac_fn_c_try_run ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
- { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then :
- ac_retval=0
-else
- $as_echo "$as_me: program exited with status $ac_status" >&5
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=$ac_status
-fi
- rm -rf conftest.dSYM conftest_ipa8_conftest.oo
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_run
-
# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
# -------------------------------------------------------
# Tests whether HEADER exists, giving a warning if it cannot be compiled using
@@ -1848,6 +1819,48 @@ fi
} # ac_fn_c_check_header_mongrel
+# ac_fn_c_try_run LINENO
+# ----------------------
+# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
+# that executables *can* be run.
+ac_fn_c_try_run ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ if { { ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
+ { { case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; }; then :
+ ac_retval=0
+else
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_retval=$ac_status
+fi
+ rm -rf conftest.dSYM conftest_ipa8_conftest.oo
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_run
+
# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
# -------------------------------------------------------
# Tests whether HEADER exists and can be compiled using the include files in
@@ -2049,7 +2062,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by viking $as_me 1.4.2, which was
+It was created by viking $as_me 1.5.1, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -2397,7 +2410,7 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $
ac_compiler_gnu=$ac_cv_c_compiler_gnu
-am__api_version='1.13'
+am__api_version='1.14'
ac_aux_dir=
for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
@@ -2912,7 +2925,7 @@ fi
# Define the identity of the package.
PACKAGE='viking'
- VERSION='1.4.2'
+ VERSION='1.5.1'
cat >>confdefs.h <<_ACEOF
@@ -2963,6 +2976,48 @@ am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'
+# POSIX will say in a future version that running "rm -f" with no argument
+# is OK; and we want to be able to make that assumption in our Makefile
+# recipes. So use an aggressive probe to check that the usage we want is
+# actually supported "in the wild" to an acceptable degree.
+# See automake bug#10828.
+# To make any issue more visible, cause the running configure to be aborted
+# by default if the 'rm' program in use doesn't match our expectations; the
+# user can still override this though.
+if rm -f && rm -fr && rm -rf; then : OK; else
+ cat >&2 <<'END'
+Oops!
+
+Your 'rm' program seems unable to run without file operands specified
+on the command line, even when the '-f' option is present. This is contrary
+to the behaviour of most rm programs out there, and not conforming with
+the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
+
+Please tell bug-automake@gnu.org about your system, including the value
+of your $PATH and any error possibly output before this message. This
+can help us improve future automake versions.
+
+END
+ if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
+ echo 'Configuration will proceed anyway, since you have set the' >&2
+ echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
+ echo >&2
+ else
+ cat >&2 <<'END'
+Aborting the configuration process, to ensure you take notice of the issue.
+
+You can download and install GNU coreutils to get an 'rm' implementation
+that behaves properly: <http://www.gnu.org/software/coreutils/>.
+
+If you want to complete the configuration process using your problematic
+'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
+to "yes", and re-run configure.
+
+END
+ as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5
+ fi
+fi
+
ac_config_headers="$ac_config_headers src/config.h"
@@ -3088,16 +3143,78 @@ fi
- # Extract the first word of "gtkdoc-check", so it can be a program name with args.
+ gtk_doc_requires="gtk-doc >= 1.0"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gtk-doc" >&5
+$as_echo_n "checking for gtk-doc... " >&6; }
+ if test -n "$PKG_CONFIG" && \
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$gtk_doc_requires\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "$gtk_doc_requires") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ have_gtk_doc=yes
+else
+ have_gtk_doc=no
+fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_gtk_doc" >&5
+$as_echo "$have_gtk_doc" >&6; }
+
+ if test "$have_gtk_doc" = "no"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING:
+ You will not be able to create source packages with 'make dist'
+ because $gtk_doc_requires is not found." >&5
+$as_echo "$as_me: WARNING:
+ You will not be able to create source packages with 'make dist'
+ because $gtk_doc_requires is not found." >&2;}
+ fi
+
+ # Extract the first word of "gtkdoc-check", so it can be a program name with args.
+set dummy gtkdoc-check; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_GTKDOC_CHECK+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$GTKDOC_CHECK"; then
+ ac_cv_prog_GTKDOC_CHECK="$GTKDOC_CHECK" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_GTKDOC_CHECK="gtkdoc-check.test"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+GTKDOC_CHECK=$ac_cv_prog_GTKDOC_CHECK
+if test -n "$GTKDOC_CHECK"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GTKDOC_CHECK" >&5
+$as_echo "$GTKDOC_CHECK" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ # Extract the first word of "gtkdoc-check", so it can be a program name with args.
set dummy gtkdoc-check; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_GTKDOC_CHECK+:} false; then :
+if ${ac_cv_path_GTKDOC_CHECK_PATH+:} false; then :
$as_echo_n "(cached) " >&6
else
- case $GTKDOC_CHECK in
+ case $GTKDOC_CHECK_PATH in
[\\/]* | ?:[\\/]*)
- ac_cv_path_GTKDOC_CHECK="$GTKDOC_CHECK" # Let the user override the test with a path.
+ ac_cv_path_GTKDOC_CHECK_PATH="$GTKDOC_CHECK_PATH" # Let the user override the test with a path.
;;
*)
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -3107,7 +3224,7 @@ do
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_path_GTKDOC_CHECK="$as_dir/$ac_word$ac_exec_ext"
+ ac_cv_path_GTKDOC_CHECK_PATH="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
@@ -3118,10 +3235,10 @@ IFS=$as_save_IFS
;;
esac
fi
-GTKDOC_CHECK=$ac_cv_path_GTKDOC_CHECK
-if test -n "$GTKDOC_CHECK"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GTKDOC_CHECK" >&5
-$as_echo "$GTKDOC_CHECK" >&6; }
+GTKDOC_CHECK_PATH=$ac_cv_path_GTKDOC_CHECK_PATH
+if test -n "$GTKDOC_CHECK_PATH"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GTKDOC_CHECK_PATH" >&5
+$as_echo "$GTKDOC_CHECK_PATH" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
@@ -3234,18 +3351,19 @@ else
fi
- if test x$enable_gtk_doc = xyes; then
- if test -n "$PKG_CONFIG" && \
- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gtk-doc >= 1.0\""; } >&5
- ($PKG_CONFIG --exists --print-errors "gtk-doc >= 1.0") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- :
-else
- as_fn_error $? "You need to have gtk-doc >= 1.0 installed to build $PACKAGE_NAME" "$LINENO" 5
-fi
- if test "x$PACKAGE_NAME" != "xglib"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build gtk-doc documentation" >&5
+$as_echo_n "checking whether to build gtk-doc documentation... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_gtk_doc" >&5
+$as_echo "$enable_gtk_doc" >&6; }
+
+ if test "x$enable_gtk_doc" = "xyes" && test "$have_gtk_doc" = "no"; then
+ as_fn_error $? "
+ You must have $gtk_doc_requires installed to build documentation for
+ $PACKAGE_NAME. Please install gtk-doc or disable building the
+ documentation by adding '--disable-gtk-doc' to '$0'." "$LINENO" 5
+ fi
+
+ if test "x$PACKAGE_NAME" != "xglib"; then
pkg_failed=no
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GTKDOC_DEPS" >&5
@@ -3305,31 +3423,11 @@ fi
# Put the nasty error message in config.log where it belongs
echo "$GTKDOC_DEPS_PKG_ERRORS" >&5
- as_fn_error $? "Package requirements (glib-2.0 >= 2.10.0 gobject-2.0 >= 2.10.0) were not met:
-
-$GTKDOC_DEPS_PKG_ERRORS
-
-Consider adjusting the PKG_CONFIG_PATH environment variable if you
-installed software in a non-standard prefix.
-
-Alternatively, you may set the environment variables GTKDOC_DEPS_CFLAGS
-and GTKDOC_DEPS_LIBS to avoid the need to call pkg-config.
-See the pkg-config man page for more details." "$LINENO" 5
+ :
elif test $pkg_failed = untried; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it
-is in your PATH or set the PKG_CONFIG environment variable to the full
-path to pkg-config.
-
-Alternatively, you may set the environment variables GTKDOC_DEPS_CFLAGS
-and GTKDOC_DEPS_LIBS to avoid the need to call pkg-config.
-See the pkg-config man page for more details.
-
-To get pkg-config, see <http://pkg-config.freedesktop.org/>.
-See \`config.log' for more details" "$LINENO" 5; }
+ :
else
GTKDOC_DEPS_CFLAGS=$pkg_cv_GTKDOC_DEPS_CFLAGS
GTKDOC_DEPS_LIBS=$pkg_cv_GTKDOC_DEPS_LIBS
@@ -3337,14 +3435,8 @@ else
$as_echo "yes" >&6; }
fi
- fi
fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build gtk-doc documentation" >&5
-$as_echo_n "checking whether to build gtk-doc documentation... " >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_gtk_doc" >&5
-$as_echo "$enable_gtk_doc" >&6; }
-
# Check whether --enable-gtk-doc-html was given.
if test "${enable_gtk_doc_html+set}" = set; then :
enableval=$enable_gtk_doc_html;
@@ -3364,6 +3456,18 @@ fi
enable_gtk_doc_pdf=no
fi
+ if test -z "$AM_DEFAULT_VERBOSITY"; then
+ AM_DEFAULT_VERBOSITY=1
+ fi
+
+
+ if test x$have_gtk_doc = xyes; then
+ HAVE_GTK_DOC_TRUE=
+ HAVE_GTK_DOC_FALSE='#'
+else
+ HAVE_GTK_DOC_TRUE='#'
+ HAVE_GTK_DOC_FALSE=
+fi
if test x$enable_gtk_doc = xyes; then
ENABLE_GTK_DOC_TRUE=
@@ -4196,6 +4300,65 @@ ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5
+$as_echo_n "checking whether $CC understands -c and -o together... " >&6; }
+if ${am_cv_prog_cc_c_o+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+ # Make sure it works both with $CC and with simple cc.
+ # Following AC_PROG_CC_C_O, we do the test twice because some
+ # compilers refuse to overwrite an existing .o file with -o,
+ # though they will create one.
+ am_cv_prog_cc_c_o=yes
+ for am_i in 1 2; do
+ if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5
+ ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } \
+ && test -f conftest2.$ac_objext; then
+ : OK
+ else
+ am_cv_prog_cc_c_o=no
+ break
+ fi
+ done
+ rm -f core conftest*
+ unset am_i
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5
+$as_echo "$am_cv_prog_cc_c_o" >&6; }
+if test "$am_cv_prog_cc_c_o" != yes; then
+ # Losing compiler, so override with the script.
+ # FIXME: It is wrong to rewrite CC.
+ # But if we don't then we get into trouble of one sort or another.
+ # A longer-term fix would be to have automake use am__CC in this case,
+ # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
+ CC="$am_aux_dir/compile $CC"
+fi
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
DEPDIR="${am__leading_dot}deps"
ac_config_commands="$ac_config_commands depfiles"
@@ -7573,6 +7736,37 @@ _ACEOF
fi
+# ATM not running automake under Windows
+#AC_CHECK_PROG(USE_WINDOWS, cmd.exe, yes, no)
+#AM_CONDITIONAL([WINDOWS], [test x$USE_WINDOWS = xyes])
+# So pass in as an option instead
+# This is only to perform slightly different build steps
+# (the code uses standard WINDOWS defines for any specific different behaviour)
+# Check whether --enable-windows was given.
+if test "${enable_windows+set}" = set; then :
+ enableval=$enable_windows; ac_cv_enable_windows=$enableval
+else
+ ac_cv_enable_windows=no
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable Windows build steps" >&5
+$as_echo_n "checking whether to enable Windows build steps... " >&6; }
+if ${ac_cv_enable_windows+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_enable_windows=no
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_enable_windows" >&5
+$as_echo "$ac_cv_enable_windows" >&6; }
+ if test x$ac_cv_enable_windows = xyes; then
+ WINDOWS_TRUE=
+ WINDOWS_FALSE='#'
+else
+ WINDOWS_TRUE='#'
+ WINDOWS_FALSE=
+fi
+
+
# Expat
# Check whether --with-expat was given.
@@ -8100,24 +8294,24 @@ if test -n "$PACKAGE_CFLAGS"; then
elif test -n "$PKG_CONFIG"; then
if test -n "$PKG_CONFIG" && \
{ { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"
- glib-2.0 >= 2.14
+ glib-2.0 >= 2.16
gthread-2.0 >= 2.2
- gtk+-2.0 >= 2.12
+ gtk+-2.0 >= 2.14
gio-2.0 >= 2.12
\""; } >&5
($PKG_CONFIG --exists --print-errors "
- glib-2.0 >= 2.14
+ glib-2.0 >= 2.16
gthread-2.0 >= 2.2
- gtk+-2.0 >= 2.12
+ gtk+-2.0 >= 2.14
gio-2.0 >= 2.12
") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
pkg_cv_PACKAGE_CFLAGS=`$PKG_CONFIG --cflags "
- glib-2.0 >= 2.14
+ glib-2.0 >= 2.16
gthread-2.0 >= 2.2
- gtk+-2.0 >= 2.12
+ gtk+-2.0 >= 2.14
gio-2.0 >= 2.12
" 2>/dev/null`
test "x$?" != "x0" && pkg_failed=yes
@@ -8132,24 +8326,24 @@ if test -n "$PACKAGE_LIBS"; then
elif test -n "$PKG_CONFIG"; then
if test -n "$PKG_CONFIG" && \
{ { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"
- glib-2.0 >= 2.14
+ glib-2.0 >= 2.16
gthread-2.0 >= 2.2
- gtk+-2.0 >= 2.12
+ gtk+-2.0 >= 2.14
gio-2.0 >= 2.12
\""; } >&5
($PKG_CONFIG --exists --print-errors "
- glib-2.0 >= 2.14
+ glib-2.0 >= 2.16
gthread-2.0 >= 2.2
- gtk+-2.0 >= 2.12
+ gtk+-2.0 >= 2.14
gio-2.0 >= 2.12
") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
pkg_cv_PACKAGE_LIBS=`$PKG_CONFIG --libs "
- glib-2.0 >= 2.14
+ glib-2.0 >= 2.16
gthread-2.0 >= 2.2
- gtk+-2.0 >= 2.12
+ gtk+-2.0 >= 2.14
gio-2.0 >= 2.12
" 2>/dev/null`
test "x$?" != "x0" && pkg_failed=yes
@@ -8173,16 +8367,16 @@ else
fi
if test $_pkg_short_errors_supported = yes; then
PACKAGE_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "
- glib-2.0 >= 2.14
+ glib-2.0 >= 2.16
gthread-2.0 >= 2.2
- gtk+-2.0 >= 2.12
+ gtk+-2.0 >= 2.14
gio-2.0 >= 2.12
" 2>&1`
else
PACKAGE_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "
- glib-2.0 >= 2.14
+ glib-2.0 >= 2.16
gthread-2.0 >= 2.2
- gtk+-2.0 >= 2.12
+ gtk+-2.0 >= 2.14
gio-2.0 >= 2.12
" 2>&1`
fi
@@ -8190,9 +8384,9 @@ fi
echo "$PACKAGE_PKG_ERRORS" >&5
as_fn_error $? "Package requirements (
- glib-2.0 >= 2.14
+ glib-2.0 >= 2.16
gthread-2.0 >= 2.2
- gtk+-2.0 >= 2.12
+ gtk+-2.0 >= 2.14
gio-2.0 >= 2.12
) were not met:
@@ -8367,30 +8561,6 @@ if test "x$ac_cv_enable_deprecations" = "xyes"; then
fi
# Options
-# Check whether --enable-alphabetized-trw was given.
-if test "${enable_alphabetized_trw+set}" = set; then :
- enableval=$enable_alphabetized_trw; ac_cv_enable_alpha_trw=$enableval
-else
- ac_cv_enable_alpha_trw=yes
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable alphabetized track & waypoint" >&5
-$as_echo_n "checking whether to enable alphabetized track & waypoint... " >&6; }
-if ${ac_cv_enable_alpha_trw+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_cv_enable_alpha_trw=yes
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_enable_alpha_trw" >&5
-$as_echo "$ac_cv_enable_alpha_trw" >&6; }
-case $ac_cv_enable_alpha_trw in
- yes)
-
-$as_echo "#define VIK_CONFIG_ALPHABETIZED_TRW /**/" >>confdefs.h
-
- ;;
-esac
-
# Check whether --enable-bing was given.
if test "${enable_bing+set}" = set; then :
enableval=$enable_bing; ac_cv_enable_bing=$enableval
@@ -8874,6 +9044,190 @@ else
fi
+# BZIP2
+# Check whether --enable-bz2 was given.
+if test "${enable_bz2+set}" = set; then :
+ enableval=$enable_bz2; ac_cv_enable_bzip2=$enableval
+else
+ ac_cv_enable_bzip2=yes
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable bzip2 Support" >&5
+$as_echo_n "checking whether to enable bzip2 Support... " >&6; }
+if ${ac_cv_enable_bzip2+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_enable_bzip2=yes
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_enable_bzip2" >&5
+$as_echo "$ac_cv_enable_bzip2" >&6; }
+case $ac_cv_enable_bzip2 in
+ yes)
+ for ac_header in bzlib.h
+do :
+ ac_fn_c_check_header_mongrel "$LINENO" "bzlib.h" "ac_cv_header_bzlib_h" "$ac_includes_default"
+if test "x$ac_cv_header_bzlib_h" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_BZLIB_H 1
+_ACEOF
+
+else
+ as_fn_error $? "bzlib.h is needed but not found - you will need to install package 'libbz2-dev' or similar. The feature can be disabled with --disable-bzip2" "$LINENO" 5
+fi
+
+done
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for BZ2_bzBuffToBuffDecompress in -lbz2" >&5
+$as_echo_n "checking for BZ2_bzBuffToBuffDecompress in -lbz2... " >&6; }
+if ${ac_cv_lib_bz2_BZ2_bzBuffToBuffDecompress+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lbz2 $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char BZ2_bzBuffToBuffDecompress ();
+int
+main ()
+{
+return BZ2_bzBuffToBuffDecompress ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_bz2_BZ2_bzBuffToBuffDecompress=yes
+else
+ ac_cv_lib_bz2_BZ2_bzBuffToBuffDecompress=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_bz2_BZ2_bzBuffToBuffDecompress" >&5
+$as_echo "$ac_cv_lib_bz2_BZ2_bzBuffToBuffDecompress" >&6; }
+if test "x$ac_cv_lib_bz2_BZ2_bzBuffToBuffDecompress" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_LIBBZ2 1
+_ACEOF
+
+ LIBS="-lbz2 $LIBS"
+
+else
+ as_fn_error $? "libbz2 is needed but not found." "$LINENO" 5
+fi
+
+ ;;
+esac
+ if test x$ac_cv_enable_bzip2 = xyes; then
+ BZIP2_TRUE=
+ BZIP2_FALSE='#'
+else
+ BZIP2_TRUE='#'
+ BZIP2_FALSE=
+fi
+
+
+# FILE MAGIC
+# Check whether --enable-magic was given.
+if test "${enable_magic+set}" = set; then :
+ enableval=$enable_magic; ac_cv_enable_magic=$enableval
+else
+ ac_cv_enable_magic=yes
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable Magic Support" >&5
+$as_echo_n "checking whether to enable Magic Support... " >&6; }
+if ${ac_cv_enable_magic+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_enable_magic=yes
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_enable_magic" >&5
+$as_echo "$ac_cv_enable_magic" >&6; }
+case $ac_cv_enable_magic in
+ yes)
+ for ac_header in magic.h
+do :
+ ac_fn_c_check_header_mongrel "$LINENO" "magic.h" "ac_cv_header_magic_h" "$ac_includes_default"
+if test "x$ac_cv_header_magic_h" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_MAGIC_H 1
+_ACEOF
+
+else
+ as_fn_error $? "magic.h is needed but not found - you will need to install package 'libmagic-dev' or similar. The feature can be disabled with --disable-magic" "$LINENO" 5
+fi
+
+done
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for magic_open in -lmagic" >&5
+$as_echo_n "checking for magic_open in -lmagic... " >&6; }
+if ${ac_cv_lib_magic_magic_open+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lmagic $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char magic_open ();
+int
+main ()
+{
+return magic_open ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_magic_magic_open=yes
+else
+ ac_cv_lib_magic_magic_open=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_magic_magic_open" >&5
+$as_echo "$ac_cv_lib_magic_magic_open" >&6; }
+if test "x$ac_cv_lib_magic_magic_open" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_LIBMAGIC 1
+_ACEOF
+
+ LIBS="-lmagic $LIBS"
+
+else
+ as_fn_error $? "libmagic is needed but not found." "$LINENO" 5
+fi
+
+ ;;
+esac
+ if test x$ac_cv_enable_magic = xyes; then
+ MAGIC_TRUE=
+ MAGIC_FALSE='#'
+else
+ MAGIC_TRUE='#'
+ MAGIC_FALSE=
+fi
+
+
+###
+
# Check whether --with-search was given.
if test "${with_search+set}" = set; then :
@@ -8949,6 +9303,9 @@ cat >>confdefs.h <<_ACEOF
_ACEOF
+$as_echo "#define HAVE_VIKING 1" >>confdefs.h
+
+
DB2MAN_XSL=/usr/share/sgml/docbook/stylesheet/xsl/nwalsh/manpages/docbook.xsl
# Extract the first word of "xsltproc", so it can be a program name with args.
@@ -9155,6 +9512,10 @@ else
am__EXEEXT_FALSE=
fi
+if test -z "${HAVE_GTK_DOC_TRUE}" && test -z "${HAVE_GTK_DOC_FALSE}"; then
+ as_fn_error $? "conditional \"HAVE_GTK_DOC\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
if test -z "${ENABLE_GTK_DOC_TRUE}" && test -z "${ENABLE_GTK_DOC_FALSE}"; then
as_fn_error $? "conditional \"ENABLE_GTK_DOC\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
@@ -9187,6 +9548,10 @@ fi
ac_config_commands="$ac_config_commands po/stamp-it"
+if test -z "${WINDOWS_TRUE}" && test -z "${WINDOWS_FALSE}"; then
+ as_fn_error $? "conditional \"WINDOWS\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
if test -z "${EXPAT_INSTALLED_TRUE}" && test -z "${EXPAT_INSTALLED_FALSE}"; then
as_fn_error $? "conditional \"EXPAT_INSTALLED\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
@@ -9247,6 +9612,14 @@ if test -z "${REALTIME_GPS_TRACKING_TRUE}" && test -z "${REALTIME_GPS_TRACKING_F
as_fn_error $? "conditional \"REALTIME_GPS_TRACKING\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
+if test -z "${BZIP2_TRUE}" && test -z "${BZIP2_FALSE}"; then
+ as_fn_error $? "conditional \"BZIP2\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${MAGIC_TRUE}" && test -z "${MAGIC_FALSE}"; then
+ as_fn_error $? "conditional \"MAGIC\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
if test -z "${HAVE_XSLTPROC_TRUE}" && test -z "${HAVE_XSLTPROC_FALSE}"; then
as_fn_error $? "conditional \"HAVE_XSLTPROC\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
@@ -9656,7 +10029,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by viking $as_me 1.4.2, which was
+This file was extended by viking $as_me 1.5.1, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -9716,13 +10089,14 @@ $config_headers
Configuration commands:
$config_commands
-Report bugs to the package provider."
+Report bugs to the package provider.
+viking home page: <http://viking.sf.net/>."
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-viking config.status 1.4.2
+viking config.status 1.5.1
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
@@ -10630,7 +11004,6 @@ echo ""
echo "==========================================="
echo "$PACKAGE $VERSION"
echo "-------------------------------------------"
-echo "Alphabetized track & waypoints : $ac_cv_enable_alpha_trw"
echo "Bing Maps : $ac_cv_enable_bing"
echo "Google : $ac_cv_enable_google"
echo "Terraserver Maps : $ac_cv_enable_terraserver"
@@ -10643,6 +11016,8 @@ echo "Geocaches Acquire : $ac_cv_enable_geocaches"
echo "Geotag Support : $ac_cv_enable_geotag"
echo "USGS 24k DEM : $ac_cv_enable_dem24k"
echo "Realtime GPS Tracking : $ac_cv_enable_realtimegpstracking"
+echo "bzip2 Support : $ac_cv_enable_bzip2"
+echo "File Magic Support : $ac_cv_enable_magic"
echo "Size of map cache (in memory) : ${VIK_CONFIG_MAPCACHE_SIZE}"
echo "Age of tiles (in seconds) : ${VIK_CONFIG_DEFAULT_TILE_AGE}"
echo "Documentation (+HTML) : ${enable_gtk_doc} (HTML: ${enable_gtk_doc_html})"
diff --git a/configure.ac b/configure.ac
index 3a4d000..30ecb59 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2,7 +2,7 @@
# Process this file with autoconf to produce a configure script.
AC_PREREQ(2.59)
-AC_INIT(viking, 1.4.2)
+AC_INIT(viking, 1.5.1, , viking, http://viking.sf.net/)
AM_INIT_AUTOMAKE([dist-bzip2 dist-zip])
dnl AC_CONFIG_SRCDIR([src/main.c])
AC_CONFIG_HEADERS([src/config.h])
@@ -47,6 +47,20 @@ AC_CHECK_LIB(m, tan)
AC_CHECK_LIB(z, inflate)
AC_CHECK_LIB(X11, XSetErrorHandler)
+# ATM not running automake under Windows
+#AC_CHECK_PROG(USE_WINDOWS, cmd.exe, yes, no)
+#AM_CONDITIONAL([WINDOWS], [test x$USE_WINDOWS = xyes])
+# So pass in as an option instead
+# This is only to perform slightly different build steps
+# (the code uses standard WINDOWS defines for any specific different behaviour)
+AC_ARG_ENABLE(windows, AC_HELP_STRING([--enable-windows],
+ [Perform specific Windows build steps (default is no)]),
+ [ac_cv_enable_windows=$enableval],
+ [ac_cv_enable_windows=no])
+AC_CACHE_CHECK([whether to enable Windows build steps],
+ [ac_cv_enable_windows], [ac_cv_enable_windows=no])
+AM_CONDITIONAL([WINDOWS], [test x$ac_cv_enable_windows = xyes])
+
# Expat
AM_WITH_EXPAT
@@ -65,9 +79,9 @@ dnl | Pkgconfig checks |---------------------------------------
dnl ------------------
PKG_CHECK_MODULES(PACKAGE, [
- glib-2.0 >= 2.14
+ glib-2.0 >= 2.16
gthread-2.0 >= 2.2
- gtk+-2.0 >= 2.12
+ gtk+-2.0 >= 2.14
gio-2.0 >= 2.12
])
@@ -104,18 +118,6 @@ if test "x$ac_cv_enable_deprecations" = "xyes"; then
fi
# Options
-AC_ARG_ENABLE(alphabetized-trw, AC_HELP_STRING([--enable-alphabetized-trw],
- [enable alphabetized track & waypoints (default is enable)]),
- [ac_cv_enable_alpha_trw=$enableval],
- [ac_cv_enable_alpha_trw=yes])
-AC_CACHE_CHECK([whether to enable alphabetized track & waypoint],
- [ac_cv_enable_alpha_trw], [ac_cv_enable_alpha_trw=yes])
-case $ac_cv_enable_alpha_trw in
- yes)
- AC_DEFINE(VIK_CONFIG_ALPHABETIZED_TRW, [], [NO ALPHABETIZED TRW])
- ;;
-esac
-
AC_ARG_ENABLE(bing, AC_HELP_STRING([--enable-bing],
[enable Bing stuff (default is enable)]),
[ac_cv_enable_bing=$enableval],
@@ -279,6 +281,38 @@ case $ac_cv_enable_realtimegpstracking in
esac
AM_CONDITIONAL([REALTIME_GPS_TRACKING], [test x$ac_cv_enable_realtimegpstracking = xyes])
+# BZIP2
+AC_ARG_ENABLE(bz2, AC_HELP_STRING([--enable-bzip2],
+ [enable bzip2 Support (default is enable).]),
+ [ac_cv_enable_bzip2=$enableval],
+ [ac_cv_enable_bzip2=yes])
+AC_CACHE_CHECK([whether to enable bzip2 Support],
+ [ac_cv_enable_bzip2], [ac_cv_enable_bzip2=yes])
+case $ac_cv_enable_bzip2 in
+ yes)
+ AC_CHECK_HEADERS([bzlib.h],[],[AC_MSG_ERROR([bzlib.h is needed but not found - you will need to install package 'libbz2-dev' or similar. The feature can be disabled with --disable-bzip2])])
+ AC_CHECK_LIB(bz2, BZ2_bzBuffToBuffDecompress, [], [AC_MSG_ERROR([libbz2 is needed but not found.])])
+ ;;
+esac
+AM_CONDITIONAL([BZIP2], [test x$ac_cv_enable_bzip2 = xyes])
+
+# FILE MAGIC
+AC_ARG_ENABLE(magic, AC_HELP_STRING([--enable-magic],
+ [enable File Magic support via libmagic (default is enable).]),
+ [ac_cv_enable_magic=$enableval],
+ [ac_cv_enable_magic=yes])
+AC_CACHE_CHECK([whether to enable Magic Support],
+ [ac_cv_enable_magic], [ac_cv_enable_magic=yes])
+case $ac_cv_enable_magic in
+ yes)
+ AC_CHECK_HEADERS([magic.h],[],[AC_MSG_ERROR([magic.h is needed but not found - you will need to install package 'libmagic-dev' or similar. The feature can be disabled with --disable-magic])])
+ AC_CHECK_LIB(magic, magic_open, [], [AC_MSG_ERROR([libmagic is needed but not found.])])
+ ;;
+esac
+AM_CONDITIONAL([MAGIC], [test x$ac_cv_enable_magic = xyes])
+
+###
+
AC_ARG_WITH(search,
[AC_HELP_STRING([--with-search],
[specify google or geonames for searching (default is google)])],
@@ -329,6 +363,7 @@ AC_ARG_WITH(tileage,
[VIK_CONFIG_DEFAULT_TILE_AGE=604800])
AC_DEFINE_UNQUOTED(VIK_CONFIG_DEFAULT_TILE_AGE, ${VIK_CONFIG_DEFAULT_TILE_AGE},
[Age of tiles before checking it (in seconds)])
+AC_DEFINE(HAVE_VIKING, 1, [Enable Viking specifics in otherwise reusable code])
dnl man pages processing
DB2MAN_XSL=/usr/share/sgml/docbook/stylesheet/xsl/nwalsh/manpages/docbook.xsl
@@ -372,7 +407,6 @@ echo ""
echo "==========================================="
echo "$PACKAGE $VERSION"
echo "-------------------------------------------"
-echo "Alphabetized track & waypoints : $ac_cv_enable_alpha_trw"
echo "Bing Maps : $ac_cv_enable_bing"
echo "Google : $ac_cv_enable_google"
echo "Terraserver Maps : $ac_cv_enable_terraserver"
@@ -385,6 +419,8 @@ echo "Geocaches Acquire : $ac_cv_enable_geocaches"
echo "Geotag Support : $ac_cv_enable_geotag"
echo "USGS 24k DEM : $ac_cv_enable_dem24k"
echo "Realtime GPS Tracking : $ac_cv_enable_realtimegpstracking"
+echo "bzip2 Support : $ac_cv_enable_bzip2"
+echo "File Magic Support : $ac_cv_enable_magic"
echo "Size of map cache (in memory) : ${VIK_CONFIG_MAPCACHE_SIZE}"
echo "Age of tiles (in seconds) : ${VIK_CONFIG_DEFAULT_TILE_AGE}"
echo "Documentation (+HTML) : ${enable_gtk_doc} (HTML: ${enable_gtk_doc_html})"
diff --git a/data/Makefile.in b/data/Makefile.in
index 83eb7ab..4ca929c 100644
--- a/data/Makefile.in
+++ b/data/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.3 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2013 Free Software Foundation, Inc.
@@ -81,7 +81,8 @@ DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
$(top_srcdir)/mkinstalldirs
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/expat.m4 \
- $(top_srcdir)/m4/libcurl.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/libcurl.m4 $(top_srcdir)/m4/nls.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -176,6 +177,7 @@ GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@
GREP = @GREP@
GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
diff --git a/data/external_tools.xml b/data/external_tools.xml
index 493fd99..f7ab45f 100644
--- a/data/external_tools.xml
+++ b/data/external_tools.xml
@@ -2,17 +2,14 @@
<object class="VikWebtoolCenter">
<property name="label">Letuffe (Hiking)</property>
<property name="url">http://beta.letuffe.org/?layers=0B000FFFFFFFFFFFF&amp;lat=%s&amp;lon=%s&amp;zoom=%d</property>
- <property name="id">42</property>
</object>
<object class="VikWebtoolCenter">
<property name="label">Osmose</property>
<property name="url">http://osmose.openstreetmap.fr/map/cgi-bin/index.py?layers=B00000FFFFFFFFFFFFT&amp;lat=%s&amp;lon=%s&amp;zoom=%d</property>
- <property name="id">43</property>
</object>
<object class="VikWebtoolCenter">
<property name="label">NLS: Historic Map of GB</property>
<property name="url">http://nls.tileserver.com?lat=%s&amp;lng=%s&amp;zoom=%d</property>
- <property name="id">44</property>
</object>
<object class="VikWebtoolCenter">
<property name="label">Yahoo! Maps</property>
diff --git a/data/goto_tools.xml b/data/goto_tools.xml
index 2da6756..e6d3bb6 100644
--- a/data/goto_tools.xml
+++ b/data/goto_tools.xml
@@ -1,12 +1,15 @@
<objects>
<!-- Latitude and longitude are XML elements -->
+<!-- Built in
<object class="VikGotoXmlTool">
<property name="label">Geonames</property>
<property name="url-format">http://ws.geonames.org/search?q=%s&amp;maxRows=1&amp;lang=es&amp;style=short</property>
<property name="lat-path">/geonames/geoname/lat</property>
<property name="lon-path">/geonames/geoname/lng</property>
</object>
+-->
<!-- Latitude and longitude are XML attributes -->
+<!-- Built in
<object class="VikGotoXmlTool">
<property name="label">Name finder</property>
<property name="url-format">http://gazetteer.openstreetmap.org/namefinder/search.xml?find=%s&amp;max=1</property>
@@ -15,13 +18,17 @@
<property name="lon-path">/searchresults/named</property>
<property name="lon-attr">lon</property>
</object>
+-->
<!-- Latitude and longitude are XML attributes (XPATH format) -->
- <object class="VikGotoXmlTool">
+<!-- Built in
+<object class="VikGotoXmlTool">
<property name="label">Nominatim</property>
<property name="url-format">http://nominatim.openstreetmap.org/search?q=%s&amp;format=xml</property>
<property name="lat-path">/searchresults/place@lat</property>
<property name="lon-path">/searchresults/place@lon</property>
</object>
+-->
+<!-- Built in
<object class="VikGotoXmlTool">
<property name="label">Mapquest Nominatim</property>
<property name="url-format">http://open.mapquestapi.com/nominatim/v1/search?format=xml&amp;limit=1&amp;q=%s</property>
@@ -30,4 +37,5 @@
<property name="lon-path">/searchresults/place</property>
<property name="lon-attr">lon</property>
</object>
+-->
</objects>
diff --git a/data/maps.xml b/data/maps.xml
index f7c7330..b3a7d78 100644
--- a/data/maps.xml
+++ b/data/maps.xml
@@ -1,5 +1,5 @@
<objects>
-<!-- Built in -->
+<!-- Built in
<object class="VikSlippyMapSource">
<property name="label">OpenStreetMap (Mapnik)</property>
<property name="hostname">tile.openstreetmap.org</property>
@@ -10,7 +10,8 @@
<property name="license-url">http://www.openstreetmap.org/copyright</property>
<property name="use-etag">TRUE</property>
</object>
-<!-- Built in -->
+-->
+<!-- Built in
<object class="VikSlippyMapSource">
<property name="label">OpenStreetMap (Cycle)</property>
<property name="hostname">b.tile.opencyclemap.org</property>
@@ -21,6 +22,8 @@
<property name="license-url">http://www.openstreetmap.org/copyright</property>
<property name="check-file-server-time">TRUE</property>
</object>
+-->
+<!-- WMSC Example - not active
<object class="VikWmscMapSource">
<property name="id">18</property>
<property name="label">OpenStreetMap (WMS)</property>
@@ -31,6 +34,7 @@
<property name="license">CC-BY-SA</property>
<property name="license-url">http://www.openstreetmap.org/copyright</property>
</object>
+-->
<object class="VikSlippyMapSource">
<property name="id">29</property>
<property name="label">CalTopo USGS 7.5" Topos</property>
@@ -40,6 +44,7 @@
<property name="license">CalTopo Terms of Use</property>
<property name="license-url">http://caltopo.com/</property>
</object>
+<!-- Built in
<object class="VikTmsMapSource">
<property name="id">50</property>
<property name="label">SPOTMaps</property>
@@ -50,6 +55,7 @@
<property name="license">CC-by-SA 2.0 / ODBl</property>
<property name="license-url">http://www.youmapps.org/licenses/EULA-OSM-en.html</property>
</object>
+-->
<object class="VikSlippyMapSource">
<property name="label">Letuffe/hiking</property>
<property name="hostname">beta.letuffe.org</property>
diff --git a/depcomp b/depcomp
index 25a39e6..4ebd5b3 100755
--- a/depcomp
+++ b/depcomp
@@ -1,10 +1,9 @@
#! /bin/sh
# depcomp - compile a program generating dependencies as side-effects
-scriptversion=2012-03-27.16; # UTC
+scriptversion=2013-05-30.07; # UTC
-# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009, 2010,
-# 2011, 2012 Free Software Foundation, Inc.
+# Copyright (C) 1999-2013 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -28,9 +27,9 @@ scriptversion=2012-03-27.16; # UTC
case $1 in
'')
- echo "$0: No command. Try '$0 --help' for more information." 1>&2
- exit 1;
- ;;
+ echo "$0: No command. Try '$0 --help' for more information." 1>&2
+ exit 1;
+ ;;
-h | --h*)
cat <<\EOF
Usage: depcomp [--help] [--version] PROGRAM [ARGS]
@@ -57,11 +56,65 @@ EOF
;;
esac
+# Get the directory component of the given path, and save it in the
+# global variables '$dir'. Note that this directory component will
+# be either empty or ending with a '/' character. This is deliberate.
+set_dir_from ()
+{
+ case $1 in
+ */*) dir=`echo "$1" | sed -e 's|/[^/]*$|/|'`;;
+ *) dir=;;
+ esac
+}
+
+# Get the suffix-stripped basename of the given path, and save it the
+# global variable '$base'.
+set_base_from ()
+{
+ base=`echo "$1" | sed -e 's|^.*/||' -e 's/\.[^.]*$//'`
+}
+
+# If no dependency file was actually created by the compiler invocation,
+# we still have to create a dummy depfile, to avoid errors with the
+# Makefile "include basename.Plo" scheme.
+make_dummy_depfile ()
+{
+ echo "#dummy" > "$depfile"
+}
+
+# Factor out some common post-processing of the generated depfile.
+# Requires the auxiliary global variable '$tmpdepfile' to be set.
+aix_post_process_depfile ()
+{
+ # If the compiler actually managed to produce a dependency file,
+ # post-process it.
+ if test -f "$tmpdepfile"; then
+ # Each line is of the form 'foo.o: dependency.h'.
+ # Do two passes, one to just change these to
+ # $object: dependency.h
+ # and one to simply output
+ # dependency.h:
+ # which is needed to avoid the deleted-header problem.
+ { sed -e "s,^.*\.[$lower]*:,$object:," < "$tmpdepfile"
+ sed -e "s,^.*\.[$lower]*:[$tab ]*,," -e 's,$,:,' < "$tmpdepfile"
+ } > "$depfile"
+ rm -f "$tmpdepfile"
+ else
+ make_dummy_depfile
+ fi
+}
+
# A tabulation character.
tab=' '
# A newline character.
nl='
'
+# Character ranges might be problematic outside the C locale.
+# These definitions help.
+upper=ABCDEFGHIJKLMNOPQRSTUVWXYZ
+lower=abcdefghijklmnopqrstuvwxyz
+digits=0123456789
+alpha=${upper}${lower}
if test -z "$depmode" || test -z "$source" || test -z "$object"; then
echo "depcomp: Variables source, object and depmode must be set" 1>&2
@@ -75,6 +128,9 @@ tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
rm -f "$tmpdepfile"
+# Avoid interferences from the environment.
+gccflag= dashmflag=
+
# Some modes work just like other modes, but use different flags. We
# parameterize here, but still list the modes in the big case below,
# to make depend.m4 easier to write. Note that we *cannot* use a case
@@ -86,32 +142,32 @@ if test "$depmode" = hp; then
fi
if test "$depmode" = dashXmstdout; then
- # This is just like dashmstdout with a different argument.
- dashmflag=-xM
- depmode=dashmstdout
+ # This is just like dashmstdout with a different argument.
+ dashmflag=-xM
+ depmode=dashmstdout
fi
cygpath_u="cygpath -u -f -"
if test "$depmode" = msvcmsys; then
- # This is just like msvisualcpp but w/o cygpath translation.
- # Just convert the backslash-escaped backslashes to single forward
- # slashes to satisfy depend.m4
- cygpath_u='sed s,\\\\,/,g'
- depmode=msvisualcpp
+ # This is just like msvisualcpp but w/o cygpath translation.
+ # Just convert the backslash-escaped backslashes to single forward
+ # slashes to satisfy depend.m4
+ cygpath_u='sed s,\\\\,/,g'
+ depmode=msvisualcpp
fi
if test "$depmode" = msvc7msys; then
- # This is just like msvc7 but w/o cygpath translation.
- # Just convert the backslash-escaped backslashes to single forward
- # slashes to satisfy depend.m4
- cygpath_u='sed s,\\\\,/,g'
- depmode=msvc7
+ # This is just like msvc7 but w/o cygpath translation.
+ # Just convert the backslash-escaped backslashes to single forward
+ # slashes to satisfy depend.m4
+ cygpath_u='sed s,\\\\,/,g'
+ depmode=msvc7
fi
if test "$depmode" = xlc; then
- # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency informations.
- gccflag=-qmakedep=gcc,-MF
- depmode=gcc
+ # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency information.
+ gccflag=-qmakedep=gcc,-MF
+ depmode=gcc
fi
case "$depmode" in
@@ -134,8 +190,7 @@ gcc3)
done
"$@"
stat=$?
- if test $stat -eq 0; then :
- else
+ if test $stat -ne 0; then
rm -f "$tmpdepfile"
exit $stat
fi
@@ -143,13 +198,17 @@ gcc3)
;;
gcc)
+## Note that this doesn't just cater to obsosete pre-3.x GCC compilers.
+## but also to in-use compilers like IMB xlc/xlC and the HP C compiler.
+## (see the conditional assignment to $gccflag above).
## There are various ways to get dependency output from gcc. Here's
## why we pick this rather obscure method:
## - Don't want to use -MD because we'd like the dependencies to end
## up in a subdir. Having to rename by hand is ugly.
## (We might end up doing this anyway to support other compilers.)
## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
-## -MM, not -M (despite what the docs say).
+## -MM, not -M (despite what the docs say). Also, it might not be
+## supported by the other compilers which use the 'gcc' depmode.
## - Using -M directly means running the compiler twice (even worse
## than renaming).
if test -z "$gccflag"; then
@@ -157,15 +216,14 @@ gcc)
fi
"$@" -Wp,"$gccflag$tmpdepfile"
stat=$?
- if test $stat -eq 0; then :
- else
+ if test $stat -ne 0; then
rm -f "$tmpdepfile"
exit $stat
fi
rm -f "$depfile"
echo "$object : \\" > "$depfile"
- alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
-## The second -e expression handles DOS-style file names with drive letters.
+ # The second -e expression handles DOS-style file names with drive
+ # letters.
sed -e 's/^[^:]*: / /' \
-e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
## This next piece of magic avoids the "deleted header file" problem.
@@ -174,15 +232,15 @@ gcc)
## typically no way to rebuild the header). We avoid this by adding
## dummy dependencies for each header file. Too bad gcc doesn't do
## this for us directly.
- tr ' ' "$nl" < "$tmpdepfile" |
## Some versions of gcc put a space before the ':'. On the theory
## that the space means something, we add a space to the output as
## well. hp depmode also adds that space, but also prefixes the VPATH
## to the object. Take care to not repeat it in the output.
## Some versions of the HPUX 10.20 sed can't process this invocation
## correctly. Breaking it into two sed invocations is a workaround.
- sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \
- | sed -e 's/$/ :/' >> "$depfile"
+ tr ' ' "$nl" < "$tmpdepfile" \
+ | sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \
+ | sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
@@ -200,8 +258,7 @@ sgi)
"$@" -MDupdate "$tmpdepfile"
fi
stat=$?
- if test $stat -eq 0; then :
- else
+ if test $stat -ne 0; then
rm -f "$tmpdepfile"
exit $stat
fi
@@ -209,7 +266,6 @@ sgi)
if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files
echo "$object : \\" > "$depfile"
-
# Clip off the initial element (the dependent). Don't try to be
# clever and replace this with sed code, as IRIX sed won't handle
# lines with more than a fixed number of characters (4096 in
@@ -217,19 +273,15 @@ sgi)
# the IRIX cc adds comments like '#:fec' to the end of the
# dependency line.
tr ' ' "$nl" < "$tmpdepfile" \
- | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
- tr "$nl" ' ' >> "$depfile"
+ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' \
+ | tr "$nl" ' ' >> "$depfile"
echo >> "$depfile"
-
# The second pass generates a dummy entry for each header file.
tr ' ' "$nl" < "$tmpdepfile" \
- | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
- >> "$depfile"
+ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
+ >> "$depfile"
else
- # The sourcefile does not contain any dependencies, so just
- # store a dummy comment line, to avoid errors with the Makefile
- # "include basename.Plo" scheme.
- echo "#dummy" > "$depfile"
+ make_dummy_depfile
fi
rm -f "$tmpdepfile"
;;
@@ -247,9 +299,8 @@ aix)
# current directory. Also, the AIX compiler puts '$object:' at the
# start of each line; $object doesn't have directory information.
# Version 6 uses the directory in both cases.
- dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
- test "x$dir" = "x$object" && dir=
- base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
+ set_dir_from "$object"
+ set_base_from "$object"
if test "$libtool" = yes; then
tmpdepfile1=$dir$base.u
tmpdepfile2=$base.u
@@ -262,9 +313,7 @@ aix)
"$@" -M
fi
stat=$?
-
- if test $stat -eq 0; then :
- else
+ if test $stat -ne 0; then
rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
exit $stat
fi
@@ -273,65 +322,113 @@ aix)
do
test -f "$tmpdepfile" && break
done
- if test -f "$tmpdepfile"; then
- # Each line is of the form 'foo.o: dependent.h'.
- # Do two passes, one to just change these to
- # '$object: dependent.h' and one to simply 'dependent.h:'.
- sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
- sed -e 's,^.*\.[a-z]*:['"$tab"' ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
- else
- # The sourcefile does not contain any dependencies, so just
- # store a dummy comment line, to avoid errors with the Makefile
- # "include basename.Plo" scheme.
- echo "#dummy" > "$depfile"
+ aix_post_process_depfile
+ ;;
+
+tcc)
+ # tcc (Tiny C Compiler) understand '-MD -MF file' since version 0.9.26
+ # FIXME: That version still under development at the moment of writing.
+ # Make that this statement remains true also for stable, released
+ # versions.
+ # It will wrap lines (doesn't matter whether long or short) with a
+ # trailing '\', as in:
+ #
+ # foo.o : \
+ # foo.c \
+ # foo.h \
+ #
+ # It will put a trailing '\' even on the last line, and will use leading
+ # spaces rather than leading tabs (at least since its commit 0394caf7
+ # "Emit spaces for -MD").
+ "$@" -MD -MF "$tmpdepfile"
+ stat=$?
+ if test $stat -ne 0; then
+ rm -f "$tmpdepfile"
+ exit $stat
fi
+ rm -f "$depfile"
+ # Each non-empty line is of the form 'foo.o : \' or ' dep.h \'.
+ # We have to change lines of the first kind to '$object: \'.
+ sed -e "s|.*:|$object :|" < "$tmpdepfile" > "$depfile"
+ # And for each line of the second kind, we have to emit a 'dep.h:'
+ # dummy dependency, to avoid the deleted-header problem.
+ sed -n -e 's|^ *\(.*\) *\\$|\1:|p' < "$tmpdepfile" >> "$depfile"
rm -f "$tmpdepfile"
;;
-icc)
- # Intel's C compiler anf tcc (Tiny C Compiler) understand '-MD -MF file'.
- # However on
- # $CC -MD -MF foo.d -c -o sub/foo.o sub/foo.c
- # ICC 7.0 will fill foo.d with something like
- # foo.o: sub/foo.c
- # foo.o: sub/foo.h
- # which is wrong. We want
- # sub/foo.o: sub/foo.c
- # sub/foo.o: sub/foo.h
- # sub/foo.c:
- # sub/foo.h:
- # ICC 7.1 will output
+## The order of this option in the case statement is important, since the
+## shell code in configure will try each of these formats in the order
+## listed in this file. A plain '-MD' option would be understood by many
+## compilers, so we must ensure this comes after the gcc and icc options.
+pgcc)
+ # Portland's C compiler understands '-MD'.
+ # Will always output deps to 'file.d' where file is the root name of the
+ # source file under compilation, even if file resides in a subdirectory.
+ # The object file name does not affect the name of the '.d' file.
+ # pgcc 10.2 will output
# foo.o: sub/foo.c sub/foo.h
- # and will wrap long lines using '\':
+ # and will wrap long lines using '\' :
# foo.o: sub/foo.c ... \
# sub/foo.h ... \
# ...
- # tcc 0.9.26 (FIXME still under development at the moment of writing)
- # will emit a similar output, but also prepend the continuation lines
- # with horizontal tabulation characters.
- "$@" -MD -MF "$tmpdepfile"
- stat=$?
- if test $stat -eq 0; then :
- else
+ set_dir_from "$object"
+ # Use the source, not the object, to determine the base name, since
+ # that's sadly what pgcc will do too.
+ set_base_from "$source"
+ tmpdepfile=$base.d
+
+ # For projects that build the same source file twice into different object
+ # files, the pgcc approach of using the *source* file root name can cause
+ # problems in parallel builds. Use a locking strategy to avoid stomping on
+ # the same $tmpdepfile.
+ lockdir=$base.d-lock
+ trap "
+ echo '$0: caught signal, cleaning up...' >&2
+ rmdir '$lockdir'
+ exit 1
+ " 1 2 13 15
+ numtries=100
+ i=$numtries
+ while test $i -gt 0; do
+ # mkdir is a portable test-and-set.
+ if mkdir "$lockdir" 2>/dev/null; then
+ # This process acquired the lock.
+ "$@" -MD
+ stat=$?
+ # Release the lock.
+ rmdir "$lockdir"
+ break
+ else
+ # If the lock is being held by a different process, wait
+ # until the winning process is done or we timeout.
+ while test -d "$lockdir" && test $i -gt 0; do
+ sleep 1
+ i=`expr $i - 1`
+ done
+ fi
+ i=`expr $i - 1`
+ done
+ trap - 1 2 13 15
+ if test $i -le 0; then
+ echo "$0: failed to acquire lock after $numtries attempts" >&2
+ echo "$0: check lockdir '$lockdir'" >&2
+ exit 1
+ fi
+
+ if test $stat -ne 0; then
rm -f "$tmpdepfile"
exit $stat
fi
rm -f "$depfile"
- # Each line is of the form 'foo.o: dependent.h',
- # or 'foo.o: dep1.h dep2.h \', or ' dep3.h dep4.h \'.
+ # Each line is of the form `foo.o: dependent.h',
+ # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
# Do two passes, one to just change these to
- # '$object: dependent.h' and one to simply 'dependent.h:'.
- sed -e "s/^[ $tab][ $tab]*/ /" -e "s,^[^:]*:,$object :," \
- < "$tmpdepfile" > "$depfile"
- sed '
- s/[ '"$tab"'][ '"$tab"']*/ /g
- s/^ *//
- s/ *\\*$//
- s/^[^:]*: *//
- /^$/d
- /:$/d
- s/$/ :/
- ' < "$tmpdepfile" >> "$depfile"
+ # `$object: dependent.h' and one to simply `dependent.h:'.
+ sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
+ # Some versions of the HPUX 10.20 sed can't process this invocation
+ # correctly. Breaking it into two sed invocations is a workaround.
+ sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" \
+ | sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
@@ -342,9 +439,8 @@ hp2)
# 'foo.d', which lands next to the object file, wherever that
# happens to be.
# Much of this is similar to the tru64 case; see comments there.
- dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
- test "x$dir" = "x$object" && dir=
- base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
+ set_dir_from "$object"
+ set_base_from "$object"
if test "$libtool" = yes; then
tmpdepfile1=$dir$base.d
tmpdepfile2=$dir.libs/$base.d
@@ -355,8 +451,7 @@ hp2)
"$@" +Maked
fi
stat=$?
- if test $stat -eq 0; then :
- else
+ if test $stat -ne 0; then
rm -f "$tmpdepfile1" "$tmpdepfile2"
exit $stat
fi
@@ -366,76 +461,61 @@ hp2)
test -f "$tmpdepfile" && break
done
if test -f "$tmpdepfile"; then
- sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
+ sed -e "s,^.*\.[$lower]*:,$object:," "$tmpdepfile" > "$depfile"
# Add 'dependent.h:' lines.
sed -ne '2,${
- s/^ *//
- s/ \\*$//
- s/$/:/
- p
- }' "$tmpdepfile" >> "$depfile"
+ s/^ *//
+ s/ \\*$//
+ s/$/:/
+ p
+ }' "$tmpdepfile" >> "$depfile"
else
- echo "#dummy" > "$depfile"
+ make_dummy_depfile
fi
rm -f "$tmpdepfile" "$tmpdepfile2"
;;
tru64)
- # The Tru64 compiler uses -MD to generate dependencies as a side
- # effect. 'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'.
- # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
- # dependencies in 'foo.d' instead, so we check for that too.
- # Subdirectories are respected.
- dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
- test "x$dir" = "x$object" && dir=
- base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
-
- if test "$libtool" = yes; then
- # With Tru64 cc, shared objects can also be used to make a
- # static library. This mechanism is used in libtool 1.4 series to
- # handle both shared and static libraries in a single compilation.
- # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
- #
- # With libtool 1.5 this exception was removed, and libtool now
- # generates 2 separate objects for the 2 libraries. These two
- # compilations output dependencies in $dir.libs/$base.o.d and
- # in $dir$base.o.d. We have to check for both files, because
- # one of the two compilations can be disabled. We should prefer
- # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
- # automatically cleaned when .libs/ is deleted, while ignoring
- # the former would cause a distcleancheck panic.
- tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4
- tmpdepfile2=$dir$base.o.d # libtool 1.5
- tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5
- tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504
- "$@" -Wc,-MD
- else
- tmpdepfile1=$dir$base.o.d
- tmpdepfile2=$dir$base.d
- tmpdepfile3=$dir$base.d
- tmpdepfile4=$dir$base.d
- "$@" -MD
- fi
-
- stat=$?
- if test $stat -eq 0; then :
- else
- rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
- exit $stat
- fi
-
- for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
- do
- test -f "$tmpdepfile" && break
- done
- if test -f "$tmpdepfile"; then
- sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
- sed -e 's,^.*\.[a-z]*:['"$tab"' ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
- else
- echo "#dummy" > "$depfile"
- fi
- rm -f "$tmpdepfile"
- ;;
+ # The Tru64 compiler uses -MD to generate dependencies as a side
+ # effect. 'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'.
+ # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
+ # dependencies in 'foo.d' instead, so we check for that too.
+ # Subdirectories are respected.
+ set_dir_from "$object"
+ set_base_from "$object"
+
+ if test "$libtool" = yes; then
+ # Libtool generates 2 separate objects for the 2 libraries. These
+ # two compilations output dependencies in $dir.libs/$base.o.d and
+ # in $dir$base.o.d. We have to check for both files, because
+ # one of the two compilations can be disabled. We should prefer
+ # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
+ # automatically cleaned when .libs/ is deleted, while ignoring
+ # the former would cause a distcleancheck panic.
+ tmpdepfile1=$dir$base.o.d # libtool 1.5
+ tmpdepfile2=$dir.libs/$base.o.d # Likewise.
+ tmpdepfile3=$dir.libs/$base.d # Compaq CCC V6.2-504
+ "$@" -Wc,-MD
+ else
+ tmpdepfile1=$dir$base.d
+ tmpdepfile2=$dir$base.d
+ tmpdepfile3=$dir$base.d
+ "$@" -MD
+ fi
+
+ stat=$?
+ if test $stat -ne 0; then
+ rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
+ exit $stat
+ fi
+
+ for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
+ do
+ test -f "$tmpdepfile" && break
+ done
+ # Same post-processing that is required for AIX mode.
+ aix_post_process_depfile
+ ;;
msvc7)
if test "$libtool" = yes; then
@@ -446,8 +526,7 @@ msvc7)
"$@" $showIncludes > "$tmpdepfile"
stat=$?
grep -v '^Note: including file: ' "$tmpdepfile"
- if test "$stat" = 0; then :
- else
+ if test $stat -ne 0; then
rm -f "$tmpdepfile"
exit $stat
fi
@@ -473,6 +552,7 @@ $ {
G
p
}' >> "$depfile"
+ echo >> "$depfile" # make sure the fragment doesn't end with a backslash
rm -f "$tmpdepfile"
;;
@@ -524,13 +604,14 @@ dashmstdout)
# in the target name. This is to cope with DOS-style filenames:
# a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise.
"$@" $dashmflag |
- sed 's:^['"$tab"' ]*[^:'"$tab"' ][^:][^:]*\:['"$tab"' ]*:'"$object"'\: :' > "$tmpdepfile"
+ sed "s|^[$tab ]*[^:$tab ][^:][^:]*:[$tab ]*|$object: |" > "$tmpdepfile"
rm -f "$depfile"
cat < "$tmpdepfile" > "$depfile"
- tr ' ' "$nl" < "$tmpdepfile" | \
-## Some versions of the HPUX 10.20 sed can't process this invocation
-## correctly. Breaking it into two sed invocations is a workaround.
- sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+ # Some versions of the HPUX 10.20 sed can't process this sed invocation
+ # correctly. Breaking it into two sed invocations is a workaround.
+ tr ' ' "$nl" < "$tmpdepfile" \
+ | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \
+ | sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
@@ -583,10 +664,12 @@ makedepend)
# makedepend may prepend the VPATH from the source file name to the object.
# No need to regex-escape $object, excess matching of '.' is harmless.
sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile"
- sed '1,2d' "$tmpdepfile" | tr ' ' "$nl" | \
-## Some versions of the HPUX 10.20 sed can't process this invocation
-## correctly. Breaking it into two sed invocations is a workaround.
- sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+ # Some versions of the HPUX 10.20 sed can't process the last invocation
+ # correctly. Breaking it into two sed invocations is a workaround.
+ sed '1,2d' "$tmpdepfile" \
+ | tr ' ' "$nl" \
+ | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \
+ | sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile" "$tmpdepfile".bak
;;
@@ -622,10 +705,10 @@ cpp)
esac
done
- "$@" -E |
- sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
- -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
- sed '$ s: \\$::' > "$tmpdepfile"
+ "$@" -E \
+ | sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
+ -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
+ | sed '$ s: \\$::' > "$tmpdepfile"
rm -f "$depfile"
echo "$object : \\" > "$depfile"
cat < "$tmpdepfile" >> "$depfile"
@@ -657,15 +740,15 @@ msvisualcpp)
shift
;;
"-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
- set fnord "$@"
- shift
- shift
- ;;
+ set fnord "$@"
+ shift
+ shift
+ ;;
*)
- set fnord "$@" "$arg"
- shift
- shift
- ;;
+ set fnord "$@" "$arg"
+ shift
+ shift
+ ;;
esac
done
"$@" -E 2>/dev/null |
diff --git a/help/C/figures/DEM_file_info_dialog.png b/help/C/figures/DEM_file_info_dialog.png
new file mode 100644
index 0000000..0ebd4c0
--- /dev/null
+++ b/help/C/figures/DEM_file_info_dialog.png
Binary files differ
diff --git a/help/C/figures/LayersTracksList.png b/help/C/figures/LayersTracksList.png
new file mode 100644
index 0000000..c6bf2f2
--- /dev/null
+++ b/help/C/figures/LayersTracksList.png
Binary files differ
diff --git a/help/C/figures/LayersTracksStatistics.png b/help/C/figures/LayersTracksStatistics.png
new file mode 100644
index 0000000..08d3514
--- /dev/null
+++ b/help/C/figures/LayersTracksStatistics.png
Binary files differ
diff --git a/help/C/figures/Maps_download_region_dialog.png b/help/C/figures/Maps_download_region_dialog.png
new file mode 100644
index 0000000..162cd55
--- /dev/null
+++ b/help/C/figures/Maps_download_region_dialog.png
Binary files differ
diff --git a/help/C/figures/Track_elevation_graph.png b/help/C/figures/Track_elevation_graph.png
new file mode 100644
index 0000000..6c87fba
--- /dev/null
+++ b/help/C/figures/Track_elevation_graph.png
Binary files differ
diff --git a/help/C/figures/Track_properties.png b/help/C/figures/Track_properties.png
new file mode 100644
index 0000000..23c8a2e
--- /dev/null
+++ b/help/C/figures/Track_properties.png
Binary files differ
diff --git a/help/C/figures/Track_statistics.png b/help/C/figures/Track_statistics.png
new file mode 100644
index 0000000..5890e1c
--- /dev/null
+++ b/help/C/figures/Track_statistics.png
Binary files differ
diff --git a/help/C/figures/Trackpoint_edit_dialog.png b/help/C/figures/Trackpoint_edit_dialog.png
new file mode 100644
index 0000000..c2da03a
--- /dev/null
+++ b/help/C/figures/Trackpoint_edit_dialog.png
Binary files differ
diff --git a/help/C/figures/WaypointsList.png b/help/C/figures/WaypointsList.png
new file mode 100644
index 0000000..6aa69af
--- /dev/null
+++ b/help/C/figures/WaypointsList.png
Binary files differ
diff --git a/help/C/viking.xml b/help/C/viking.xml
index beb2e84..efdd34b 100644
--- a/help/C/viking.xml
+++ b/help/C/viking.xml
@@ -3,9 +3,9 @@
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
<!ENTITY appname "Viking">
<!ENTITY app "<application>Viking</application>">
- <!ENTITY appversion "1.4">
- <!ENTITY manrevision "1.4">
- <!ENTITY date "February 2013">
+ <!ENTITY appversion "1.5">
+ <!ENTITY manrevision "1.5">
+ <!ENTITY date "October 2013">
]>
<!--
(Do not remove this comment block.)
@@ -188,9 +188,9 @@ View, create and update Geotagged Images (using EXIF data).
</section>
<section><title>General Concepts</title>
-<section><title>Layers</title>
+<section id="gc_layers" xreflabel="Layers"><title>Layers</title>
<para>
-'Layers' is concept one may know from powerful graphics editors such as <application>Photoshop</application> or <application>GIMP</application>.
+<emphasis>Layers</emphasis> is concept one may know from powerful graphics editors such as <application>Photoshop</application> or <application>GIMP</application>.
Instead of putting all the data on the same level, it is stacked (i.e. layered) with different data over one another.
This can be useful for analysis and general handling of various sets of data.
</para>
@@ -203,12 +203,12 @@ to create the appearance of partial transparency.
By controlling this value one can see data below it in the layer heirarchy for interesting effects.
</para>
</section>
-<section><title>Layers Panel</title>
+<section id="gc_layers_panel" xreflabel="Layers Panel"><title>Layers Panel</title>
<para>
The panel on the left is called the <emphasis role="bold">layers panel</emphasis>.
It determines which layers and sublayers (such as tracks and waypoints)
-are shown, and the order in which they are drawn. Layers list on the
-top of the layers panel are drawn last. You can change the order by
+are shown, and the order in which they are drawn. Layers on the
+top of the layers panel list are drawn last. You can change the order by
drag and drop, or by selecting a layer and using the up and down
buttons at the bottom of the layers panel.
</para>
@@ -344,7 +344,7 @@ For these combinations see the menu entry themselves.
In theory a route is path you are planning to follow and a track of where you have actually been. The GPX specification splits these into two separate catergories, although tracks contain everything route may have.
</para>
<para>
-Q. When planning a 'route' what difference does it make if it's a route or a track?
+Q. When planning a <emphasis>route</emphasis> what difference does it make if it's a route or a track?
</para>
<para>
A. One difference is in how a GPS device navigates following the route or track.
@@ -388,7 +388,7 @@ Besides it's own file type, &appname; can open (and save to via export methods)
</para>
</note>
<para>
-By default &appname; opens a default blank window centered on the home location.
+By default &appname; opens a default blank window centered on the home location. This behaviour can be changed by the <xref linkend="prefs_startup"/>.
Each window contains menus, a toolbar, a viewport, layers panel and a statusbar.
Each section (apart from the viewport) can be hidden using the <xref linkend="shortcut_keys"/> or from the
<menuchoice><guimenu>View</guimenu><guisubmenu>Show</guisubmenu></menuchoice> choices.
@@ -543,8 +543,34 @@ If the image files have geotag information in them, then a <xref linkend="TrackW
<menuchoice><guimenu>File</guimenu><guimenuitem>Acquire</guimenuitem><guimenuitem>From Wikipedia Waypoints</guimenuitem></menuchoice>
</para>
<para>
-This gets 'interesting' points from Wikipedia for the specified view: either within the extent of layer bounds or within the current viewport boundary.
+This gets <emphasis>interesting</emphasis> points from Wikipedia for the specified view: either within the extent of layer bounds or within the current viewport boundary.
+</para>
+</section>
+
+<section>
+<title>From Routing</title>
+<para>
+<menuchoice><guimenu>File</guimenu><guimenuitem>Acquire</guimenuitem><guimenuitem>From Directions</guimenuitem></menuchoice>
+</para>
+<para>
+This gets a route from given directions.
+</para>
+</section>
+
+<section>
+<title>From URL</title>
+<para>
+<menuchoice><guimenu>File</guimenu><guimenuitem>Acquire</guimenuitem><guimenuitem>From URL</guimenuitem></menuchoice>
+</para>
+<para>
+This gets a file from the entered URL.
+File formats that can be opened are those supported by GPSBabel.
+</para>
+<note>
+<para>
+You need to select the type of the file that is going to be returned, since there is no automatic detection of the file kind.
</para>
+</note>
</section>
</section> <!-- End Acquire -->
@@ -590,9 +616,11 @@ For instance the largest successful image generated on my (RN) Debian system is
<para>
Located on the <menuchoice><guimenu>File</guimenu><guisubmenu>Generate Directory of Images</guisubmenu></menuchoice> menu only.
</para>
+<note>
<para>
This is only available in UTM mode.
</para>
+</note>
</section>
</section> <!-- End File Types -->
@@ -632,6 +660,9 @@ The cut/copy/paste options can be accessed in a variety of ways once the layer h
<listitem><para>Buttons at the bottom of the Layers Panel</para></listitem>
</itemizedlist>
<para>
+Default values used for each layer's properties can be altered via the <menuchoice><guimenu>Edit</guimenu><guisubmenu>Layer Defaults</guisubmenu></menuchoice> menu options.
+</para>
+<para>
See the individual section for detail about each layer.
</para>
</section>
@@ -646,7 +677,7 @@ geocaches, and paste it into an active TrackWaypoint layer. &appname; can
automatically recognize several variations of the lat/lon format.
</para>
<para>
-By right-clicking on tracks, routes or waypoints in the layers panel, you can access many commands on them.
+By right-clicking on tracks, routes or waypoints in the <xref linkend="gc_layers_panel"/>, you can access many commands on them.
You can easily find a specific track, route or waypoint by expanding the appropriate containing Tracks, Routes or Waypoints sublayer in the
layers panel to show all the individual items and then typing the name of the track, route or waypoint.
</para>
@@ -666,7 +697,7 @@ By default routes are coloured red. Tracks are automatically assigned a spread o
</para>
<para>
-Most operations are available on tracks are available on routes, except for functionality that relies on having timestamps - since routes by definition have no timing information. Thus for example, uploading a route to OpenStreetMap Traces is not available nor is Geotagging on a route.
+Most operations available on tracks are available on routes, except for functionality that relies on having timestamps - since routes by definition have no timing information. Thus for example, uploading a route to OpenStreetMap Traces is not available nor is Geotagging on a route.
It is possible to convert between Tracks and Routes, although converting from a Track to a Route may involve a loss of information (hence you are required to confirm this operation before it happens).
</para>
@@ -732,9 +763,13 @@ Version1.1+: An individual track can be exported to a GPX file via the track men
<section id="finish_track"><title>Finish Track or Route</title>
<para>
-This is only available when a track or route is being created by the <xref linkend="track_create"/> or <xref linkend="route_create"/> tools.
Selecting this option ends the creation of that individual track or route.
</para>
+<note>
+<para>
+This is only available when a track or route is being created by the <xref linkend="track_create"/> or <xref linkend="route_create"/> tools.
+</para>
+</note>
</section>
<section><title>New</title>
@@ -861,6 +896,18 @@ See <link linkend="geotagging">Geotagging</link> for further detail.
</para>
</section>
+<section><title>List Tracks or Routes</title>
+<para>
+Opens a new dialog with the list. As described in the Aggregrate layer <xref linkend="track_list"/>
+</para>
+</section>
+
+<section><title>List Waypoints</title>
+<para>
+Opens a new dialog with the list. As described in the Aggregrate layer <xref linkend="waypoint_list"/>
+</para>
+</section>
+
</section><!-- End TRW Layer Options -->
<section><title>Track and Route Sublayer Options</title>
@@ -871,24 +918,57 @@ See <link linkend="geotagging">Geotagging</link> for further detail.
<listitem><para>View All Tracks or Routes. Same as the layer <link linkend="track_view_all">View All Tracks</link> or <link linkend="route_view_all">View All Routes</link></para></listitem>
<listitem><para>Delete All Tracks or Routes. Same as the layer <link linkend="delete_all_tracks">Delete All Tracks</link> or <link linkend="delete_all_routes">Delete All Routes</link></para></listitem>
<listitem><para>Delete Tracks or Routes from Selection. Same as the layer <link linkend="delete_selection_tracks">Delete Tracks from Selection</link> or <link linkend="delete_selection_routes">Delete Routes from Selection</link></para></listitem>
+<listitem><para>List Tracks or Routes. Opens a new dialog with the list. As described in the Aggregrate layer <xref linkend="track_list"/></para></listitem>
+</itemizedlist>
+<para>Also gives other options for handling multiple items:</para>
+<itemizedlist>
+<listitem><para>Sort. Gives the ability to sort the items in the treeview alphabetically</para></listitem>
+<listitem><para>Visibility. Offers options to quickly control the visibility of all items within the sublayer, as per <xref linkend="vis_options"/></para></listitem>
</itemizedlist>
</section>
-<section><title>Track and Route Properties</title>
+<section xreflabel="Track and Route Properties"><title>Track and Route Properties</title>
+<para>
+This shows several tabs for properties and useful statistics about a track or a route, including elevation-distance and speed-time graphs (if data is available).
+Moving the mouse pointer over the graph displays values related to that point along the track.
+You can click on these graphs to jump to the point in the track.
+You can reverse it, delete duplicates, split at marked position or split a track from its component segments (discontinuous breaks in a track) into separate tracks.
+</para>
+<section id='track_properties' xreflabel="Track and Route Properties"><title>Track and Route Properties Tab</title>
+<para>
+<figure>
+<title>Properties Tab: Example</title>
+<screenshot>
+ <graphic format="PNG" fileref="figures/Track_properties.png"/>
+</screenshot>
+</figure>
+</para>
+</section>
+<section id='track_statistics' xreflabel="Track and Route Statistics"><title>Track and Route Statistics Tab</title>
<para>
-Show many useful statistics about a track or a route, including a
-elevation-distance graph and a speed-time graph (if data is available).
-You can click these graphs to jump to the point in the track. You can
-also reverse it, delete duplicates, and split a track from its
-component segments (discontinuous breaks in a track) into separate
-tracks.
+<figure>
+<title>Statistics Tab: Example</title>
+<screenshot>
+ <graphic format="PNG" fileref="figures/Track_statistics.png"/>
+</screenshot>
+</figure>
+</para>
+</section>
+<section id='track_elev_graphs' xreflabel="Track Elevation Graph"><title>Track Elevation Graph</title>
+<para>
+<figure>
+<title>Elevation Distance Tab: Example</title>
+<screenshot>
+ <graphic format="PNG" fileref="figures/Track_elevation_graph.png"/>
+</screenshot>
+</figure>
</para>
<para>
The following colors are used in the elevation-distance graph:
</para>
<variablelist>
<varlistentry>
-<term>'Main' colour - this is dependent on your Desktop theme - often blue by default</term>
+<term><emphasis>Main</emphasis> colour - this is dependent on your Desktop theme - often blue by default</term>
<listitem><para>elevation data in graph</para></listitem>
</varlistentry>
<varlistentry>
@@ -910,16 +990,20 @@ The following colors are used in the elevation-distance graph:
</listitem>
</varlistentry>
</variablelist>
-
+</section>
</section>
<section><title>Track and Route Operations</title>
<section><title>Finish Track</title>
<para>
-This is only available when a track is being created by the <xref linkend="track_create"/> tool.
Selecting this option ends the creation of the individual track.
</para>
+<note>
+<para>
+This is only available when a track is being created by the <xref linkend="track_create"/> tool.
+</para>
+</note>
</section>
<section><title>Goto</title>
@@ -952,9 +1036,11 @@ threshold time away. This way, if you somehow end up with lots of small
segments (say, caused by turning the GPS on and off) you can merge them
easily into one track.
</para>
+<note>
<para>
This is not available on routes as they have no timestamps.
</para>
+</note>
</section>
<section><title>Merge With Other Tracks</title>
@@ -985,9 +1071,11 @@ time interval between successive trackpoints is larger than some
threshold. This is useful when processing raw NMEA GPS data, especially
taken over a long time.
</para>
+<note>
<para>
This is not available on routes as they have no timestamps.
</para>
+</note>
</section>
<section><title>Split By Number of Points</title>
@@ -1001,19 +1089,60 @@ This can be useful with devices which may have limits on the number of points it
<para>
Splits track segments into new tracks.
</para>
+<note>
<para>
This is not available on routes as they do not have route segments.
</para>
+</note>
+</section>
+
+<section id='trkpt_split' xreflabel="Split at Trackpoint"><title>Split at Trackpoint</title>
+<para>
+Splits the track at the currently selected trackpoint.
+</para>
+<para>
+The current track will finish at this trackpoint.
+A new track will start from a copy of this trackpoint.
+</para>
+<note>
+<para>
+This is only enabled when a trackpoint is selected.
+</para>
+</note>
+</section>
</section>
-<section><title>Split at Trackpoint</title>
+<section><title>Insert Points</title>
+<note>
+<para>
+These options are only enabled when a trackpoint is selected.
+</para>
+</note>
+<section><title>Insert Point Before Selected Point</title>
<para>
-Splits the track at the currently selected trackpoint. This is only enabled when a trackpoint is selected.
+Inserts a track point halfway between the previous track point and the current track point.
+All track point properties are interpolated between the two points.
+</para>
+</section>
+<section><title>Insert Point After Selected Point</title>
+<para>
+Inserts a track point halfway between the current track point and the next track point.
+All track point properties are interpolated between the two points.
</para>
</section>
</section>
<section><title>Delete Points</title>
+<section><title>Delete Selected Point</title>
+<para>
+Deletes the currently selected track point.
+</para>
+<note>
+<para>
+This is only enabled when a trackpoint is selected.
+</para>
+</note>
+</section>
<section><title>Delete Points With the Same Position</title>
<para>
Deletes subsequent points that have the same position (but have different timestamps).
@@ -1023,17 +1152,70 @@ Deletes subsequent points that have the same position (but have different timest
<para>
Deletes subsequent points that have the same time stamp (but may have different positions).
</para>
+<note>
<para>
This is not available on routes as they have no timestamps.
</para>
+</note>
</section>
</section>
+<section id="transform" xreflabel="Transform"><title>Transform</title>
+<para>
+These options alter the data of trackpoints of a track but not add or remove trackpoints.
+And don't seem to fit any other category :)
+</para>
<section><title>Apply DEM data</title>
<para>
If any DEM data is loaded, this will apply the DEM data to give the track elevation data.
+Two ways of applying DEM data are offered:
+<orderedlist>
+<listitem><para>Keep. Retains the existing elevation data of trackpoints and only those missing an elevation value are set.</para></listitem>
+<listitem><para>Overwrite. Elevation data are set on all trackpoints even if they already elevation values.</para></listitem>
+</orderedlist>
+</para>
+</section>
+<section><title>Smooth Missing Elevation data</title>
+<para>
+In various locations across the world, there are missing DEM values (AKA DEM Holes) from the SRTM data.
+This is particularly noticeable in mountainous areas.
+Two ways of applying elevation data to trackpoints that do not have elevation values are offered:
+<orderedlist>
+<listitem><para>Interpolated. Missing elevation data is interpolated between the previous and next known values.</para></listitem>
+<listitem><para>Flat. Elevation data is filled in from the last previously known value.</para></listitem>
+</orderedlist>
+</para>
+</section>
+<section>
+<title>Convert to Track or Route</title>
+<para>
+If this is a Route then it will convert it to a Track.
+</para>
+<para>
+If this is Track then convert it to a Route.
+</para>
+<note>
+<para>
+Converting from a Track to a Route may involve a loss of information, in particular timestamp values (hence you are required to confirm this operation before it happens).
+</para>
+</note>
+</section>
+<section>
+<title>Anonymize Times</title>
+<para>
+Timestamp information of a track can be shifted to be all offset from 1901-01-01.
+</para>
+<para>
+Thus the timestamps themselves will no longer reveal exactly when a track was taken.
+However the relative difference between the timestamps is kept thus one is still able to calculate some properties such as speeds along the track.
+</para>
+<note>
+<para>
+This is not available for routes, as they have no timestamps.
</para>
+</note>
+</section>
</section>
<section><title>Export Track as GPX</title>
@@ -1050,7 +1232,7 @@ Changes the current tool to add trackpoints to the end of the track.
<section><title>Extend Using Route Finder</title>
<para>
-Enables the Route Finder tool. Thus on a subsequent left click in the viewport, a route is calculated from the end of track to that point using Google's route service and applied to the track.
+Enables the Route Finder tool. Thus on a subsequent left click in the viewport, a route is calculated from the end of track to that point using the default route service and applied to the track.
</para>
</section>
@@ -1074,9 +1256,35 @@ Same as the layer <link linkend="osm_upload">Upload to OSM</link> command, but o
<para>
This selects the track to be used in the <link linkend="filter_with_track">Filter With <emphasis>Trackname</emphasis></link> feature.
</para>
+<note>
<para>
This is not available on routes.
</para>
+</note>
+</section>
+
+<section><title>Edit Trackpoint</title>
+<para>
+This opens the Trackpoint edit dialog. See <xref linkend="Trackpoint_edit"/>.
+</para>
+<note>
+<para>
+This is only enabled when a trackpoint is selected.
+</para>
+</note>
+</section>
+
+<section><title>Refine Route...</title>
+<para>
+This function allows to request a Routing Engine in order to refine a given route.
+By "refining" we mean computing all real intermediates points between some given major points.
+This could be useful to compute a trip giving only the wished important steps.
+</para>
+<note>
+<para>
+This is only available on routes.
+</para>
+</note>
</section>
<section><title>View Google Directions</title>
@@ -1103,6 +1311,7 @@ The record of the Google route is stored in the track's comment, so if the comme
<listitem><para>Goto Waypoint. Same as the layer <link linkend="wp_goto">Goto Waypoint</link></para></listitem>
<listitem><para>Delete All Waypoints. Same as the layer <link linkend="delete_all_waypoints">Delete All Waypoints</link></para></listitem>
<listitem><para>Delete Waypoints from Selection. Same as the layer <link linkend="delete_selection_waypoints">Delete Waypoints from Selection</link></para></listitem>
+<listitem><para>List Waypoints. Opens a new dialog with the list. As described in the Aggregrate layer <xref linkend="waypoint_list"/></para></listitem>
</itemizedlist>
</section>
@@ -1126,9 +1335,23 @@ This centers the viewport on the selected waypoint.
</para>
</section>
+<section><title>Geotag Images...</title>
+<para>
+This opens the <link linkend="geotagging">Geotag Dialog</link> to allow Geotagging multiple images to the position of this waypoint.
+In this circumstance creation of waypoint options are disabled and only the options related to writing the EXIF information are available.
+</para>
+</section>
+
+<section><title>Transform</title>
+<para>
+Offers a subset of the track <xref linkend="transform"/> utilities.
+Currently only setting the altitude from DEM data methods are available.
+</para>
+</section>
+
<section><title>Visit Webpage</title>
<para>
-If the waypoint's comment (or description) starts with 'http:' then this option is available and allows launching a web browser to go to the webpage.
+If the waypoint's comment (or description) starts with <literal>http:</literal> then this option is available and allows launching a web browser to go to the webpage.
</para>
</section>
@@ -1148,10 +1371,10 @@ Same as the layer <link linkend="new_wp">New Waypoint</link>.
<section id="geotagging" xreflabel="Geotagging"><title>Version1.3+: Geotag Images</title>
<para>
-This dialog allows geotagging images (normally taken with a digital camera) via interpolation against a specific track or all tracks in the TrackWaypoint layer - depending on how it is invoked.
+This dialog allows geotagging images (normally taken with a digital camera) against a specific waypoint or via interpolation against a specific track or all tracks in the TrackWaypoint layer - depending on how it is invoked.
</para>
<para>
-Images need to have an EXIF DATE_TIME_ORIGINAL (nearly always set by a camera). This timestamp is then used to find the location when the image(s) was taken by searching through the track(s) to find the nearest time - interpolating between points if necessary to set the location.
+When geotagging against tracks, images need to have an EXIF DATE_TIME_ORIGINAL (nearly always set by a camera). This timestamp is then used to find the location when the image(s) was taken by searching through the track(s) to find the nearest time - interpolating between points if necessary to set the location.
</para>
<note>
<para>
@@ -1253,7 +1476,7 @@ This layer provides a single map resource, you may have multiple map layers but
You will need an open internet connection when you are downloading maps, but once downloaded they are available from the hard disk cache. When map are avaliable from the disk cache it is much faster and can be used offline.
</para>
<para>
-Some maps are continually improving over time (e.g. OpenStreetMap) and so in order to not to have to (re)download the data all the time &appname; employs a timeout method - 'Tile Age' to determine whether to access the server. However a forced refresh for the current view can be made via the <guilabel>Reload All Onscreen Maps</guilabel> option.
+Some maps are continually improving over time (e.g. OpenStreetMap) and so in order to not to have to (re)download the data all the time &appname; employs a timeout method - <emphasis>Tile Age</emphasis> to determine whether to access the server. However a forced refresh for the current view can be made via the <guilabel>Reload All Onscreen Maps</guilabel> option.
</para>
<para>
Inbuilt maps include various <ulink url="http://en.wikipedia.org/wiki/TerraServer-USA">Terraserver</ulink> (Primarily USA coverage) and <ulink url="http://openstreetmap.org/">OpenStreetMap (OSM)</ulink> ones and more:
@@ -1293,6 +1516,30 @@ This requests map tiles only if the maps are older than the Tile Age preference.
Force a refresh of all visible map tiles.
</para>
</section>
+
+<section><title>Download Maps in Zoom Levels</title>
+<para>
+This opens a dialog to enable requesting the download of maps for the region in the viewport over a specified number of zoom levels.
+The download method type can be specified to help limit the number of requests.
+</para>
+<warning>
+<para>
+There are some inbuilt limits to prevent downloading large amounts of map tiles.
+</para>
+<para>
+Please respect the usage policy of the tile set provider.
+Such as <ulink url="http://wiki.openstreetmap.org/wiki/Tile_usage_policy"><citetitle>OSM Tile Usage Policy</citetitle></ulink>.
+</para>
+</warning>
+<para>
+<figure>
+<title>Maps Download Dialog: Example</title>
+<screenshot>
+ <graphic format="PNG" fileref="figures/Maps_download_region_dialog.png"/>
+</screenshot>
+</figure>
+</para>
+</section>
</section>
@@ -1321,9 +1568,11 @@ Here are some suggestions:
Thus one can have a list of all your tracks, but groups can be shown or not using the relevant layers visibility checkbox.
</para>
+<section><title>Layer Operations</title>
<para>
-This layer only has one operation: <guilabel>New Layer</guilabel>
+The following are available on Aggregate Layers:
</para>
+</section>
<section><title>New Layer</title>
<para>
@@ -1331,6 +1580,105 @@ Add a new layer of the selected type.
</para>
</section>
+<section id="sort_items" xreflabel="Sort"><title>Sort</title>
+<para>
+The list within the treeview can be sorted.
+</para>
+<para>
+Currently alphabetical (A to Z or Z to A) sorts are available, since only the name can be seen in the treeview.
+</para>
+</section>
+
+<section id="track_list" xreflabel="Track List"><title>Track List</title>
+<para>
+Selecting this opens a dialog listing all the tracks in a table along side statistics such as track length and maximum speed.
+Each column header is clickable and will reorder the list according to that particular column.
+</para>
+<para>
+This table may be invoked from a variety of different layer levels and will then list only the relevant tracks (and/or routes).
+<itemizedlist>
+<listitem><para>Aggregate Layer: Lists Tracks and Routes and the TrackWaypoint Layer they are in</para></listitem>
+<listitem><para>TrackWaypoint Layer: Lists Tracks and Routes</para></listitem>
+<listitem><para>TrackWaypoint Track sublayer: Lists Tracks only</para></listitem>
+<listitem><para>TrackWaypoint Route sublayer: Lists Routes only</para></listitem>
+</itemizedlist>
+</para>
+<para>
+<figure>
+<title>Track List Dialog: Example</title>
+<blockquote>
+<para>
+This is showing all tracks and routes (although there are no actual routes here!) in multiple TrackWaypoint layers, that has been sorted by height.
+Note that routes will not have timestamps or speeds, but may have elevations and should have some distance!
+</para>
+</blockquote>
+<screenshot>
+ <graphic format="PNG" fileref="figures/LayersTracksList.png"/>
+</screenshot>
+</figure>
+</para>
+<para>
+Hovering the mouse over an entry will show a tooltip of the comment or description if it is available.
+</para>
+<para>
+Each entry in the track list can be selected and on mouse right click offers these options:
+<itemizedlist>
+<listitem><para>View. Move the viewport to the area of the item and highlight it.</para></listitem>
+<listitem><para>Statistics. Opens the Properties dialog on the <xref linkend="track_statistics"/> tab. Note this will close the track list dialog.</para></listitem>
+</itemizedlist>
+</para>
+</section>
+
+<section id="waypoint_list" xreflabel="Waypoint List"><title>Waypoint List</title>
+<para>
+Selecting this opens a dialog listing all the waypoints to give a overview of the waypoint information.
+Each column header is clickable and will reorder the list according to that particular column.
+</para>
+<para>
+This table may be invoked from a variety of different layer levels and will then list only the relevant waypoints.
+<itemizedlist>
+<listitem><para>Aggregate Layer: Lists Waypoints and the TrackWaypoint Layer they are in</para></listitem>
+<listitem><para>TrackWaypoint Layer: : Lists Waypoints</para></listitem>
+<listitem><para>TrackWaypoint Waypoint sublayer: Lists Waypoints</para></listitem>
+</itemizedlist>
+</para>
+<para>
+<figure>
+<title>Waypoint List Dialog: Example</title>
+<blockquote>
+<para>
+This was invoked on a TrackWaypoint layer and shows all waypoints from that single layer. It has been sorted by the symbols.
+</para>
+</blockquote>
+<screenshot>
+ <graphic format="PNG" fileref="figures/WaypointsList.png"/>
+</screenshot>
+</figure>
+</para>
+<para>
+Hovering the mouse over an entry will show a tooltip of the description if it is available.
+</para>
+<para>
+Each entry in the list can be selected and on mouse right click offers these options:
+<itemizedlist>
+<listitem><para>View. Move the viewport to the area of the item and highlight it.</para></listitem>
+<listitem><para>Properties. This will open the properties dialog. Note this will close the waypoint list dialog.</para></listitem>
+<listitem><para>Show Picture. If enabled, this will open the associated image in an external Image Viewer program.</para></listitem>
+</itemizedlist>
+</para>
+</section>
+
+<section id="vis_options" xreflabel="Visibility Options"><title>Visibility Options</title>
+<para>
+This offers a quick way to set all the visibilities of each item within the containing layer, rather than having to change each one individually.
+<itemizedlist>
+<listitem><para>Show All. Ensures all items are set to be visible.</para></listitem>
+<listitem><para>Hide All. Ensures all items are set to be invisible. This is useful for then turning on single items afterwards so the display is not cluttered.</para></listitem>
+<listitem><para>Toggle. Inverts the visibility status of each item.</para></listitem>
+</itemizedlist>
+</para>
+</section>
+
</section><!-- End Agg -->
<section id="GeoRef" xreflabel="GeoRef"><title>GeoRef Layer</title>
@@ -1432,7 +1780,7 @@ This mode is entered by clicking on the toolbar icon: <guiicon><inlinegraphic fi
</para>
<para>
The ruler is used to measure the bearing and distance between two points: Click on first point and then move the mouse point around - the values will be continually updated.
-A second click will 'freeze' the ruler at that point.
+A second click will <emphasis>freeze</emphasis> the ruler at that point.
</para>
<para>
This mode can also be entered by the keyboard shortcut <keycap>Ctrl+Shift+U</keycap>
@@ -1520,10 +1868,39 @@ Left click near a trackpoint (in screen pixel terms) to bring up the Track Point
Whilst the edit dialog is already open, left click again and drag enables moving of the trackpoint.
If <keycap>Ctrl</keycap> is held at the same time, it will jump the new trackpoint position to a nearby existing trackpoint.
</para>
+<section id="Trackpoint_edit" xreflabel="Edit Trackpoint Dialog"><title>Edit Trackpoint Dialog</title>
+<para>
+Editing options in the Trackpoint Edit dialog include:
+<itemizedlist>
+<listitem><para>Edit the trackpoint name</para></listitem>
+<listitem><para>Changing raw lat/long position and altitude</para></listitem>
+<listitem><para>Forward (go to the next trackpoint)</para></listitem>
+<listitem><para>Back (go to the previous trackpoint)</para></listitem>
+<listitem><para>Delete</para></listitem>
+<listitem><para>Insert. Inserts a point halfway to next trackpoint</para></listitem>
+<listitem><para>Split. <xref linkend="trkpt_split"/></para></listitem>
+</itemizedlist>
+</para>
<para>
-Options in the Track Point Edit dialog include: change position, go to next, go to previous, delete, insert (halfway to next trackpoint) and splitting the track.
+Several fields are read only for reference purposes, values are shown if the trackpoint has such information:
+<itemizedlist>
+<listitem><para>Time.</para></listitem>
+<listitem><para>Speed and course.</para></listitem>
+<listitem><para>'Between' values: Speed, Time Difference and Distance Difference. When moving between trackpoints (via the Back and Forward buttons) these values are calculated.</para></listitem>
+<listitem><para>GPS precision factors.</para></listitem>
+</itemizedlist>
+</para>
+<para>
+<figure>
+<title>Trackpoint Edit Dialog: Example</title>
+<screenshot>
+ <graphic format="PNG" fileref="figures/Trackpoint_edit_dialog.png"/>
+</screenshot>
+</figure>
+One must have been going downhill here to get a reasonable speed by bicycle!
</para>
</section>
+</section>
<section><title>Show Picture</title>
<para>
@@ -1536,11 +1913,11 @@ For Linux you can override this with the setting in the <xref linkend="prefs_ext
</para>
</section>
-<section><title>Route Finder</title>
+<section id="route_finder" xreflabel="Route Finder"><title>Route Finder</title>
<para>
Enable this tool by clicking on the toolbar icon: <guiicon><inlinegraphic fileref="figures/route_finder_18.png"/></guiicon>
</para>
-<para>Creates a track using Google maps routing between two points.
+<para>Creates a track using default routing engine between two points.
Requires an internet connection. Click one point, then click another to
create a track.
</para>
@@ -1578,7 +1955,7 @@ Drag to move the georeferenced map.
</section>
</section>
-<section><title>Map Download</title>
+<section id="map_tool_dl" xreflabel="Map Download"><title>Map Download</title>
<para>
You must have a <xref linkend="Maps"/> Layer selected to use this.
</para>
@@ -1601,7 +1978,7 @@ The possible methods to redownload one or more tiles are:
</para>
<formalpara><title>Map Tile Information</title>
<para>
-By right clicking on viewport you can see the tile properties of the that location for the current map layer and current zoom level.
+By right clicking on viewport and selecting <guimenu>Show Tile Information</guimenu> you can see the tile properties of this location for the current map layer and current zoom level.
This includes the remote source URL for the tile and the cached version on the local filesystem with timestamp details.
</para>
</formalpara>
@@ -1626,6 +2003,21 @@ Enable this tool by clicking on the toolbar icon: <guiicon><inlinegraphic filere
<para>
Click to download and import a DEM file.
</para>
+<formalpara><title>DEM File Information</title>
+<para>
+By right clicking on viewport and selecting <guimenu>Show DEM File Infomation</guimenu> you can see the file properties of the DEM file for this location.
+This includes the remote source URL for the file and the cached version on the local filesystem with timestamp details.
+</para>
+</formalpara>
+<para>
+<figure>
+<title>DEM File Info Dialog: Example</title>
+<screenshot>
+ <graphic format="PNG" fileref="figures/DEM_file_info_dialog.png"/>
+</screenshot>
+</figure>
+This is for block 51N, 003W - covering Bristol in the UK.
+</para>
</section>
<section><title>Webtools</title>
@@ -1680,8 +2072,8 @@ This feature is called <guilabel>Webtools</guilabel>. It is also known as Extern
<para>An option exists to control the icon (symbol) size used for waypoints
</para>
</section>
-<section><title>'Home' Default Location: Latitude and Longitude</title>
-<para>You can set the 'Home' location directly by inputting the latitude and longitude in decimal degrees.
+<section><title><emphasis>Home</emphasis> Default Location: Latitude and Longitude</title>
+<para>You can set the <emphasis>Home</emphasis> location directly by inputting the latitude and longitude in decimal degrees.
</para>
</section>
<section><title>Tile's age</title>
@@ -1732,13 +2124,50 @@ Your OSM password will be stored in plain text.
</section>
</section>
+<section id="prefs_routing" xreflabel="Routing Preferences"><title>Routing</title>
+<section><title>Routing engine</title>
+<para>You can select the routing engine used by default, ie by features that do not propose a live selection, like <xref linkend="route_finder"/>.</para>
+</section>
+</section>
+
+<section id="prefs_startup" xreflabel="Startup Preferences"><title>Startup</title>
+<para>Naturally since these preferences effect the startup, the values will not be used until &appname; is restarted.</para>
+<section><title>Restore Window Setup</title>
+<para>When this is enabled, the main window size and layout (such as whether the statusbar or layers panel are shown) is restored to the values from last use.</para>
+</section>
+<section><title>Default Map Layer</title>
+<para>When this is enabled, a map layer is automatically added whenever &appname; is opened and a &appname; file is not to be loaded.</para>
+<para>The map layer used is defined by the map layer's default values.</para>
+</section>
+<section><title>Startup Method</title>
+<para>Enables selection of how the startup position should be determined.</para>
+<itemizedlist>
+<listitem><para>Home Location (default) - Position as set by the <guilabel>Set the Default Location</guilabel></para></listitem>
+<listitem><para>Last Location - Uses the last position viewed on the viewport</para></listitem>
+<listitem><para>Specified File - Load the file as specified below</para></listitem>
+<listitem><para>Auto Location - Use the web service <ulink url="http://www.hostip.info">hostip.info</ulink> to attempt to determine your location via IP lookup</para></listitem>
+</itemizedlist>
+</section>
+<section><title>Startup File</title>
+<para>Loads this specified file when the Startup method is set to <guilabel>Specified File</guilabel></para>
+</section>
+<section><title>Check For New Version</title>
+<para>Periodically (no more than once every 14 days), check to see if there is a new version of &appname; available.</para>
+</section>
+</section>
+
</section>
<!-- HOWTOS-->
<section><title>Howto's</title>
<section id="howto_start"><title>Getting Started</title>
<para>
-To quickly get started using &appname;, follow these instructions.
+&appname; from version 1.5 has several features to ease the start up process.
+On the very first run, you will be asked if you want to enable these features which make use of an Internet connection.
+If you select no or you have upgraded from an earlier version you can choose to enable any of the startup options via the <xref linkend="prefs_startup"/>.
+</para>
+<para>
+Some other general use cases for using &appname;, are as follows:
</para>
<section><title>Go to an area of interest</title>
<para>
@@ -1820,13 +2249,13 @@ The viewport will be automatically moved and resized to view the contents of the
</step>
</procedure>
</section>
-<section><title>Add a map layer</title>
+<section><title>Add a Map Layer</title>
<para>
-1. Use Layers - New Map Layer, and choose a suitable cache directory
+Use <menuchoice><guimenu>Layers</guimenu><guimenuitem>New Map Layer</guimenuitem></menuchoice>, and choose a suitable cache directory
where you would like to store your tracks and click <guilabel>OK</guilabel>. Zoom to a
comfortable level (I suggest 4 mpp) by clicking the left and right
mouse buttons on the gray area where your tracks are. Now from the menu
-choose Tools - Map Download, Click where you would like to download a
+choose the <xref linkend="map_tool_dl"/> Tool. Click where you would like to download a
map. Regardless of what tool you are using, the middle mouse button
always pans. </para>
<note>
@@ -1835,13 +2264,13 @@ You need an open internet connection when you are downloading maps.
</para>
</note>
<para>
-1. You will notice the maps are being drawn on top of the tracks, which
-is probably not what you want. Look at the Layers Panel to the left.
-Notice how the layer named Map is ABOVE your TrackWaypoint layer that
-your GPS data is in. This means that it will be drawn last, or on top
-of the other layers. Select the Map layer from the list and click the
-down arrow button beneath the list. Your tracks will now be drawn over
-the map. </para>
+If you can no longer see your tracks or waypoints and only the map,
+it is because the layer named <emphasis>Map</emphasis> is <emphasis>ABOVE</emphasis> your TrackWaypoint layer that your GPS data is in.
+This means that it will be drawn last and on top of the other <xref linkend="gc_layers"/>.
+Look at the <xref linkend="gc_layers_panel"/> to the left which shows this order.
+Select the Map layer from the list and click the down arrow button beneath the list until the Map layer is below the TrackWaypoint layer.
+Your tracks will now be drawn over the map.
+</para>
</section>
<section><title>Set Your Home Location</title>
@@ -1861,7 +2290,7 @@ the map. </para>
<section><title>From 1st startup to GPS track (including offline maps)</title>
<para>
The first you'll see is an empty map, because &appname; in its default configuration will download maps only on demand.
-Before fetching unneeded data, one can position to a location of interest, e.g. Stuttgart: <menuchoice><guimenu>View</guimenu><guimenuitem>Go to Location</guimenuitem></menuchoice>, enter 'Stuttgart'.
+Before fetching unneeded data, one can position to a location of interest, e.g. Stuttgart: <menuchoice><guimenu>View</guimenu><guimenuitem>Go to Location</guimenuitem></menuchoice>, enter <userinput>Stuttgart</userinput>.
</para>
<section><title>Fetching the maps</title>
<para>
@@ -2053,7 +2482,7 @@ This feature can be really useful for checking existing data before uploading ne
<guimenuitem>OSM traces...</guimenuitem>
</menuchoice>.
Each request can get up to 5,000 points.
-The dialog box allows setting which group of 5,000 points to get. These groups are known as 'Page Numbers' which start at 0.
+The dialog box allows setting which group of 5,000 points to get. These groups are known as <emphasis>Page Numbers</emphasis> which start at 0.
Increasing the page number parameter allows one to request the subsequent sets of point groups.
</para>
</formalpara>
@@ -2082,7 +2511,7 @@ This list can be sorted on each column so that it easier to find an individual t
ATM this process only works on an individual image, so it will be tedious for handling lots of images.
</para>
<para>
- First create a <xref linkend="TrackWaypoint"/> layer or use an existing one; and select it in the Layers Panel.
+ First create a <xref linkend="TrackWaypoint"/> layer or use an existing one; and select it in the <xref linkend="gc_layers_panel"/>.
NB Make sure this layer is above the map layer in the Layers Panel list.
Create a new waypoint (or move an existing one) to exact location desired:
<itemizedlist>
@@ -2160,6 +2589,101 @@ This list can be sorted on each column so that it easier to find an individual t
</section>
</section>
+<section><title>What to Do if &appname; Does Not Seem to Work</title>
+<para>
+In order to get some information about what &appname; is doing, start it in verbose debug mode via the command line:
+<programlisting>viking -dV</programlisting>
+</para>
+<para>
+For instance you can check the correct URLs &appname; is using in requesting remote data for DEMs or map tiles in the verbose debug output.
+E.g. Something like this for DEMs:
+<screen>
+** (viking:28778): DEBUG: curl_download_uri: uri=http://dds.cr.usgs.gov/srtm/version2_1/SRTM3/Eurasia/N48E008.hgt.zip
+* About to connect() to dds.cr.usgs.gov port 80 (#0)
+* Trying 152.61.128.95... * connected
+* Connected to dds.cr.usgs.gov (152.61.128.95) port 80 (#0)
+ GET /srtm/version2_1/SRTM3/Eurasia/N48E008.hgt.zip HTTP/1.1
+User-Agent: viking/0.9.8 libcurl/7.18.2 GnuTLS/2.4.2 zlib/1.2.3.3 libidn/1.8
+Host: dds.cr.usgs.gov
+Accept: */*
+ HTTP/1.1 200 OK
+ Date: Sun, 26 Jul 2009 18:13:38 GMT
+ Server: Apache
+ Last-Modified: Tue, 21 Jul 2009 19:57:35 GMT
+ ETag: eac3f8-1828f5-46f3caa76070a
+ Accept-Ranges: bytes
+ Content-Length: 1583349
+ Content-Type: application/zip
+
+* Connection #0 to host dds.cr.usgs.gov left intact
+* Closing connection #0
+** (viking:28778): DEBUG: dem_layer_add_file: /home/username/.viking-maps/srtm3-Eurasia/N48E008.hgt.zip
+</screen>
+Or for OSM Mapnik tile server:
+<screen>
+* About to connect() to tile.openstreetmap.org port 80 (#0)
+* Trying 193.63.75.28... * connected
+* Connected to tile.openstreetmap.org (193.63.75.28) port 80 (#0)
+ GET /13/4065/2748.png HTTP/1.1
+User-Agent: viking/0.9.96 libcurl/7.20.1 GnuTLS/2.8.6 zlib/1.2.3.4 libidn/1.18
+Host: tile.openstreetmap.org
+Accept: */*
+
+* HTTP 1.0, assume close after body
+ HTTP/1.0 200 OK
+ Date: Thu, 14 Oct 2010 22:18:42 GMT
+ Server: Apache/2.2.8 (Ubuntu)
+ ETag: "b66ff9d46474bab68262a3483428a232"
+** (viking:16704): DEBUG: curl_get_etag_func: ETAG found: "b66ff9d46474bab68262a3483428a232"
+ Content-Length: 17194
+ Cache-Control: max-age=94805
+ Expires: Sat, 16 Oct 2010 00:38:47 GMT
+ Content-Type: image/png
+ Age: 5153
+ X-Cache: HIT from konqi.openstreetmap.org
+ X-Cache-Lookup: HIT from konqi.openstreetmap.org:3128
+ Via: 1.1 konqi.openstreetmap.org:3128 (squid/2.7.STABLE7)
+ Connection: close
+
+* Closing connection #0
+* About to connect() to a.andy.sandbox.cloudmade.com port 80 (#0)
+* Trying 178.63.75.195... ** (viking:16704): DEBUG: curl_download_uri: uri=http://tile.openstreetmap.org/13/4065/2749.png
+* About to connect() to tile.openstreetmap.org port 80 (#0)
+* Trying 193.63.75.28... * connected
+* Connected to a.andy.sandbox.cloudmade.com (178.63.75.195) port 80 (#0)
+ GET /tiles/cycle/13/4065/2747.png HTTP/1.1
+User-Agent: viking/0.9.96 libcurl/7.20.1 GnuTLS/2.8.6 zlib/1.2.3.4 libidn/1.18
+Host: a.andy.sandbox.cloudmade.com
+Accept: */*
+
+* connected
+* Connected to tile.openstreetmap.org (193.63.75.28) port 80 (#0)
+ GET /13/4065/2749.png HTTP/1.1
+User-Agent: viking/0.9.96 libcurl/7.20.1 GnuTLS/2.8.6 zlib/1.2.3.4 libidn/1.18
+Host: tile.openstreetmap.org
+Accept: */*
+
+* HTTP 1.0, assume close after body
+ HTTP/1.0 200 OK
+ Date: Thu, 14 Oct 2010 23:44:35 GMT
+ Server: Apache/2.2.8 (Ubuntu)
+ ETag: "8e520ad47ce9c1b63430554886eb5fab"
+** (viking:16704): DEBUG: curl_get_etag_func: ETAG found: "8e520ad47ce9c1b63430554886eb5fab"
+ Content-Length: 18094
+ Cache-Control: max-age=87742
+ Expires: Sat, 16 Oct 2010 00:06:57 GMT
+ Content-Type: image/png
+ X-Cache: MISS from konqi.openstreetmap.org
+ X-Cache-Lookup: MISS from konqi.openstreetmap.org:3128
+ Via: 1.1 konqi.openstreetmap.org:3128 (squid/2.7.STABLE7)
+ Connection: close
+</screen>
+</para>
+</section>
+
+</section>
+<!-- End of Howtos -->
+
<section id="extend_viking" xreflabel="Extending Viking">
<title>Extending Viking</title>
@@ -2182,7 +2706,7 @@ This list can be sorted on each column so that it easier to find an individual t
<para>It is possible to add new map's sources. The file is <filename>~/.viking/maps.xml</filename> for <trademark>UNIX</trademark> like systems and <filename>C:\Documents and Settings\<replaceable>username</replaceable>\.viking\maps.xml</filename> on <trademark>Windows XP</trademark>.</para>
<para>An example of the file is in the distribution <filename>doc/examples/maps.xml</filename>. Further examples and values are online in the <ulink url="http://sourceforge.net/apps/mediawiki/viking/index.php?title=Maps">Maps Wiki</ulink></para>
- <para>The VikSlippyMapSource allows to declare any map's source working like OpenStreetMap. It supports the following properties:
+ <para>The <classname>VikSlippyMapSource</classname> allows to declare any map's source working like OpenStreetMap. It supports the following properties:
<variablelist>
<varlistentry>
<term>id</term>
@@ -2202,7 +2726,7 @@ This list can be sorted on each column so that it easier to find an individual t
</varlistentry>
</variablelist>
</para>
- <para>The VikTmsMapSource allows to declare any TMS service. It supports the following properties:
+ <para>The <classname>VikTmsMapSource</classname> allows to declare any TMS service. It supports the following properties:
<variablelist>
<varlistentry>
<term>id</term>
@@ -2222,7 +2746,7 @@ This list can be sorted on each column so that it easier to find an individual t
</varlistentry>
</variablelist>
</para>
- <para>The VikWmscMapSource allows to declare any WMS or WMS-C service. It supports the following properties:
+ <para>The <classname>VikWmscMapSource</classname> allows to declare any WMS or WMS-C service. It supports the following properties:
<variablelist>
<varlistentry>
<term>id</term>
@@ -2248,7 +2772,7 @@ This list can be sorted on each column so that it easier to find an individual t
<title>Go-to search engines</title>
<para>It is possible to add new new search engines for the "Go-To" feature. The file is <filename>~/.viking/goto_tools.xml</filename>.</para>
<para>An example of the file in the distribution <filename>doc/examples/goto_tools.xml</filename>.</para>
- <para>Currently, there is a single object class available: VikGotoXmlTool. Such feature allows to declare any search engine using a XML format as result.</para>
+ <para>Currently, there is a single object class available: <classname>VikGotoXmlTool</classname>. Such feature allows to declare any search engine using a XML format as result.</para>
<para>The related properties are:
<variablelist>
<varlistentry>
@@ -2284,144 +2808,220 @@ This list can be sorted on each column so that it easier to find an individual t
<title>External tools</title>
<para>It is possible to add new external tools. The file is <filename>~/.viking/external_tools.xml</filename>.</para>
<para>An example of the file in the distribution <filename>doc/examples/external_tools.xml</filename>.</para>
- <para>The VikWebtoolCenter allows to declare any Webtool using a logic based on center coordinates and zoom level value.</para>
+ <para>The <classname>VikWebtoolCenter</classname> allows to declare any Webtool using a logic based on center coordinates and zoom level value.</para>
<para>The related properties are:
<variablelist>
<varlistentry>
- <term>id</term>
- <listitem><para>this is an integer and should be unique as it used to identify the tool</para></listitem>
+ <term>label</term>
+ <listitem><para>the text displayed in the menu entry</para></listitem>
</varlistentry>
<varlistentry>
+ <term>url</term>
+ <listitem><para>the parametrized URL to open, in the spirit of C printf format, with 2 "%s" and a "%d" fields for X, Y and Z (zoom level) (eg. "http://hostname/?lat=%s&amp;lon=%s&amp;zoom=%d")</para></listitem>
+ </varlistentry>
+ </variablelist>
+ </para>
+ <para>The <classname>VikWebtoolBounds</classname> allows to declare any Webtool using a logic based on bounds coordinates.</para>
+ <para>The related properties are:
+ <variablelist>
+ <varlistentry>
<term>label</term>
<listitem><para>the text displayed in the menu entry</para></listitem>
</varlistentry>
<varlistentry>
<term>url</term>
- <listitem><para>the parametrized URL to open, in the spirit of C printf format, with 2 "%s" and a "%d" fields for X, Y and Z (zoom level) (eg. "http://hostname/?lat=%s&amp;lon=%s&amp;zoom=%d")</para></listitem>
+ <listitem><para>the parametrized address of the tile, in the spirit of C printf format, with 4 "%s" fields for left, right, bottom and top (eg. "http://hostname:8111/load_and_zoom?left=%s&amp;right=%s&amp;bottom=%s&amp;top=%s")</para></listitem>
</varlistentry>
</variablelist>
</para>
- <para>The VikWebtoolBounds allows to declare any Webtool using a logic based on bounds coordinates.</para>
+ </section>
+
+ <section>
+ <title>Routing engine</title>
+ <para>It is possible to declare new routing engines. The file is <filename>~/.viking/routing.xml</filename>.</para>
+ <para>An example of the file in the distribution <filename>doc/examples/routing.xml</filename>.</para>
+ <para>The <classname>VikRoutingWebEngine</classname> allows to declare a routing engine available via HTTP.</para>
<para>The related properties are:
<variablelist>
<varlistentry>
<term>id</term>
- <listitem><para>this is an integer and should be unique as it used to identify the tool</para></listitem>
+ <listitem><para>a string, should be unique as it used to identify the routing engine</para></listitem>
</varlistentry>
<varlistentry>
<term>label</term>
<listitem><para>the text displayed in the menu entry</para></listitem>
</varlistentry>
<varlistentry>
- <term>url</term>
- <listitem><para>the parametrized address of the tile, in the spirit of C printf format, with 4 "%s" fields for left, right, bottom and top (eg. "http://hostname:8111/load_and_zoom?left=%s&amp;right=%s&amp;bottom=%s&amp;top=%s")</para></listitem>
+ <term>url-base</term>
+ <listitem><para>the base URL of the web service (eg. "http://hostname/service?")</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>url-start-ll</term>
+ <listitem><para>the part of the URL setting the starting point location, parametrized in the spirit of C printf format, with 2 "%s" for coordinates (eg. "&amp;start=%s,%s")</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>url-stop-ll</term>
+ <listitem><para>the part of the URL setting the end point location, parametrized in the spirit of C printf format, with 2 "%s" for coordinates (eg. "&amp;stop=%s,%s")</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>url-via-ll</term>
+ <listitem><para>the part of the URL setting via point location, parametrized in the spirit of C printf format, with 2 "%s" for coordinates (eg. "&amp;via=%s,%s")</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>url-start-dir</term>
+ <listitem><para>the part of the URL setting the starting point location for direction based routing, parametrized in the spirit of C printf format, with one "%s" for direction (eg. "&amp;start=%s")</para>
+ <para>(Optional)</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>url-stop-dir</term>
+ <listitem><para>the part of the URL setting the end point location for direction based routing, parametrized in the spirit of C printf format, with one "%s" for direction (eg. "&amp;start=%s")</para>
+ <para>(Optional)</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>referer</term>
+ <listitem><para>an URL to serve as referer for the HTTP request (eg. "http://hostname/")</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>follow-location</term>
+ <listitem><para>the max depth of recursive redirections</para></listitem>
</varlistentry>
</variablelist>
</para>
</section>
<section>
+ <title>Remote File Datasources</title>
+ <para>It is possible to add web references expected to return a file which can then be opened directly or converted via GPSBabel.</para>
+ <para>The file is <filename>~/.viking/datasources.xml</filename>.</para>
+ <para>An example of the file is in the source distribution <filename>doc/examples/datasources.xml</filename>.</para>
+ <para>The <classname>VikWebtoolDatasource</classname> allows to declare any URL using logic based on coordinates.</para>
+ <para>The related properties are:
+ <variablelist>
+ <varlistentry>
+ <term>label</term>
+ <listitem><para>the text displayed in the menu entry</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>url</term>
+ <listitem>
+ <para>the parametrized URL to open in the spirit of C printf format, with up to 7 "%s" values. e.g. <literal>http://hostname/getfile?lat=%s&amp;lon=%s</literal></para>
+ <para>The order and meaning of these parameters is given by the url_format_code below</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>url_format_code</term>
+ <listitem>
+ <para>A string describing the parametrized URL substitution parameters, each character represents how to translate each term.</para>
+ <para>B = Bottom of the current view i.e. minimum latitude</para>
+ <para>L = Left of the current view i.e. minimum longitude</para>
+ <para>T = Top of the current view i.e. maximum latitude</para>
+ <para>R = Right of the current view i.e. maximum longitude</para>
+ <para>A = center lAtitude of the current view</para>
+ <para>O = center lOngitude of the current view</para>
+ <para>Z = OSM Zoom value of the current view. See <ulink url="http://wiki.openstreetmap.org/wiki/Zoom_levels">Zoom Levels</ulink></para>
+ <para>Thus for the url example above then the format code should be <emphasis>AO</emphasis></para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>file_type</term>
+ <listitem>
+ <para>This value is passed on for the -i parameter in interfacing with GPSBabel.</para>
+ <para>If it is not defined then the returned file is interpreted internally as a GPX file.</para>
+ <para>Possible values such as 'kml', 'mapsource' etc.. can be used. See <ulink url="http://www.gpsbabel.org/capabilities.html">GPSBabel File Formats</ulink> for the full list.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </para>
+ </section>
+
+ <section>
<title>More</title>
- <para>Note that, on <trademark>UNIX</trademark> like systems, the extension files (<filename>maps.xml</filename>, <filename>goto_tools.xml</filename>, <filename>external_tools.xml</filename>) are also searched in <filename>/etc/viking</filename> and <filename>/usr/share/viking</filename> directories (or related in your system).</para>
+ <para>Note that, on <trademark>UNIX</trademark> like systems, the extension files (<filename>maps.xml</filename>, <filename>goto_tools.xml</filename>, <filename>external_tools.xml</filename>, <filename>datasources.xml</filename>) are also searched in <filename>/etc/viking</filename> and <filename>/usr/share/viking</filename> directories (or related in your system).</para>
<para>The <envar>XDG_DATA_DIRS</envar> environment variable can be used to change these directories.</para>
- <para>The <envar>XDG_DATA_HOME</envar> environment variable s also used (if set) to look for these extension files.</para>
+ <para>The <envar>XDG_DATA_HOME</envar> environment variable is also used (if set) to look for these extension files.</para>
</section>
-</section>
-
-<section><title>What to Do if &appname; Does Not Seem to Work</title>
-<para>
-In order to get some information about what &appname; is doing, start it in verbose debug mode via the command line:
-<programlisting>viking -dV</programlisting>
-</para>
-<para>
-For instance you can check the correct URLs &appname; is using in requesting remote data for DEMs or map tiles in the verbose debug output.
-E.g. Something like this for DEMs:
-<screen>
-** (viking:28778): DEBUG: curl_download_uri: uri=http://dds.cr.usgs.gov/srtm/version2_1/SRTM3/Eurasia/N48E008.hgt.zip
-* About to connect() to dds.cr.usgs.gov port 80 (#0)
-* Trying 152.61.128.95... * connected
-* Connected to dds.cr.usgs.gov (152.61.128.95) port 80 (#0)
- GET /srtm/version2_1/SRTM3/Eurasia/N48E008.hgt.zip HTTP/1.1
-User-Agent: viking/0.9.8 libcurl/7.18.2 GnuTLS/2.4.2 zlib/1.2.3.3 libidn/1.8
-Host: dds.cr.usgs.gov
-Accept: */*
- HTTP/1.1 200 OK
- Date: Sun, 26 Jul 2009 18:13:38 GMT
- Server: Apache
- Last-Modified: Tue, 21 Jul 2009 19:57:35 GMT
- ETag: eac3f8-1828f5-46f3caa76070a
- Accept-Ranges: bytes
- Content-Length: 1583349
- Content-Type: application/zip
-* Connection #0 to host dds.cr.usgs.gov left intact
-* Closing connection #0
-** (viking:28778): DEBUG: dem_layer_add_file: /home/username/.viking-maps/srtm3-Eurasia/N48E008.hgt.zip
-</screen>
-Or for OSM Mapnik tile server:
-<screen>
-* About to connect() to tile.openstreetmap.org port 80 (#0)
-* Trying 193.63.75.28... * connected
-* Connected to tile.openstreetmap.org (193.63.75.28) port 80 (#0)
- GET /13/4065/2748.png HTTP/1.1
-User-Agent: viking/0.9.96 libcurl/7.20.1 GnuTLS/2.8.6 zlib/1.2.3.4 libidn/1.18
-Host: tile.openstreetmap.org
-Accept: */*
-
-* HTTP 1.0, assume close after body
- HTTP/1.0 200 OK
- Date: Thu, 14 Oct 2010 22:18:42 GMT
- Server: Apache/2.2.8 (Ubuntu)
- ETag: "b66ff9d46474bab68262a3483428a232"
-** (viking:16704): DEBUG: curl_get_etag_func: ETAG found: "b66ff9d46474bab68262a3483428a232"
- Content-Length: 17194
- Cache-Control: max-age=94805
- Expires: Sat, 16 Oct 2010 00:38:47 GMT
- Content-Type: image/png
- Age: 5153
- X-Cache: HIT from konqi.openstreetmap.org
- X-Cache-Lookup: HIT from konqi.openstreetmap.org:3128
- Via: 1.1 konqi.openstreetmap.org:3128 (squid/2.7.STABLE7)
- Connection: close
-
-* Closing connection #0
-* About to connect() to a.andy.sandbox.cloudmade.com port 80 (#0)
-* Trying 178.63.75.195... ** (viking:16704): DEBUG: curl_download_uri: uri=http://tile.openstreetmap.org/13/4065/2749.png
-* About to connect() to tile.openstreetmap.org port 80 (#0)
-* Trying 193.63.75.28... * connected
-* Connected to a.andy.sandbox.cloudmade.com (178.63.75.195) port 80 (#0)
- GET /tiles/cycle/13/4065/2747.png HTTP/1.1
-User-Agent: viking/0.9.96 libcurl/7.20.1 GnuTLS/2.8.6 zlib/1.2.3.4 libidn/1.18
-Host: a.andy.sandbox.cloudmade.com
-Accept: */*
-
-* connected
-* Connected to tile.openstreetmap.org (193.63.75.28) port 80 (#0)
- GET /13/4065/2749.png HTTP/1.1
-User-Agent: viking/0.9.96 libcurl/7.20.1 GnuTLS/2.8.6 zlib/1.2.3.4 libidn/1.18
-Host: tile.openstreetmap.org
-Accept: */*
-
-* HTTP 1.0, assume close after body
- HTTP/1.0 200 OK
- Date: Thu, 14 Oct 2010 23:44:35 GMT
- Server: Apache/2.2.8 (Ubuntu)
- ETag: "8e520ad47ce9c1b63430554886eb5fab"
-** (viking:16704): DEBUG: curl_get_etag_func: ETAG found: "8e520ad47ce9c1b63430554886eb5fab"
- Content-Length: 18094
- Cache-Control: max-age=87742
- Expires: Sat, 16 Oct 2010 00:06:57 GMT
- Content-Type: image/png
- X-Cache: MISS from konqi.openstreetmap.org
- X-Cache-Lookup: MISS from konqi.openstreetmap.org:3128
- Via: 1.1 konqi.openstreetmap.org:3128 (squid/2.7.STABLE7)
- Connection: close
-</screen>
-</para>
-</section>
+ <section>
+ <title>Miscellaneous Settings</title>
+ <para>Various individual values are automatically saved between &app; sessions in the <filename>~/.viking/viking.ini</filename> file.</para>
+ <para>This file is not intended to be manually edited, but since it is a plain text file it can be changed if desired.</para>
+ <para>Some values in this file are <emphasis>read only</emphasis>, in the sense that there is no way to set it other than by manually entering in the keys and values (the key will not exist in the file otherwise). This allows some fine tuning of &app; behaviours, without resorting to recompiling the code. However is it not expected that these values should need to be changed for a normal user, hence no GUI options for these have been provided.</para>
+ <para>Here is the list of the <emphasis>read only</emphasis> keys and their default values.</para>
+ <orderedlist>
+ <listitem>
+ <para>maps_max_tiles=1000</para>
+ </listitem>
+ <listitem>
+ <para>maps_min_shrinkfactor=0.0312499</para>
+ </listitem>
+ <listitem>
+ <para>maps_max_shrinkfactor=8.0000001</para>
+ </listitem>
+ <listitem>
+ <para>maps_real_min_shrinkfactor=0.0039062499</para>
+ </listitem>
+ <listitem>
+ <para>background_max_threads=10</para>
+ </listitem>
+ <listitem>
+ <para>window_menubar=true</para>
+ </listitem>
+ <listitem>
+ <para>version_check_period_days=14</para>
+ </listitem>
+ <listitem>
+ <para>trackwaypoint_start_end_distance_diff=100.0</para>
+ </listitem>
+ <listitem>
+ <para>gps_statusbar_format=GSA</para>
+ <para>This string is in the Message Format Code</para>
+ </listitem>
+ <listitem>
+ <para>trkpt_selected_statusbar_format=KEATDN</para>
+ <para>This string is in the Message Format Code</para>
+ </listitem>
+ </orderedlist>
+
+ <section>
+ <title>Message Format Code</title>
+ <para>Currently for ease of implementation the message format code is a string of characters.</para>
+ <para>Each character represents what should be inserted in relation to a Trackpoint.</para>
+ <para>One day it might evolve into something more user friendly with a frontend to control it, perhaps allowing arbitary text too. However for now at least some control is offered :)</para>
+ <para>
+ <variablelist>
+ <varlistentry>
+ <term>Character Code</term>
+ <listitem>
+ <para>G = Some text to display at the start of the message - <emphasis>GPSD</emphasis></para>
+ <para>K = Some text to display at the start of the message - <emphasis>Trkpt</emphasis></para>
+ <para>A = Altitude of a Trackpoint</para>
+ <para>S = Speed of a Trackpoint</para>
+ <para>C = Course of a Trackpoint</para>
+ <para>L = Location of a Trackpoint</para>
+ <para>T = Time of a Trackpoint</para>
+ <para>M = Time diff of a Trackpoint from the previous trackpoint</para>
+ <para>X = Number of satellites used in the trackpoint fix</para>
+ <para>D = Distance of the trackpoint from the start of a track (following along the track)</para>
+ <para>P = Distance difference of the trackpoint from the previous trackpoint</para>
+ <para>N = Name of track to which the trackpoint belongs</para>
+ <para>E = Name of the trackpoint</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Output Notes</term>
+ <listitem>
+ <para>If the output has <emphasis>*</emphasis> after it, then the value has been calculated via interpolation (such as speed when the Trackpoint does not contain a speed value).</para>
+ <para>If the output has <emphasis>**</emphasis> after it, then difficulties were encountered in trying to work the value so probably a default of 0 will be shown.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </para>
+ </section>
+ </section>
</section>
+<!-- End of Extending Viking -->
<section><title>Dependencies</title>
<formalpara><title>gpsbabel</title>
diff --git a/help/Makefile.am b/help/Makefile.am
index 39ef073..db47107 100644
--- a/help/Makefile.am
+++ b/help/Makefile.am
@@ -22,6 +22,9 @@ DOC_FIGURES = \
figures/edwp_18.png \
figures/geomove_18.png \
figures/geozoom_18.png \
+ figures/LayersTracksList.png \
+ figures/LayersTracksStatistics.png \
+ figures/Maps_download_region_dialog.png \
figures/map_tile_info_dialog.png \
figures/mapdl_18.png \
figures/mover_22.png \
@@ -31,9 +34,32 @@ DOC_FIGURES = \
figures/ruler_18.png \
figures/select_18.png \
figures/showpic_18.png \
+ figures/Trackpoint_edit_dialog.png \
+ figures/Track_elevation_graph.png \
+ figures/Track_properties.png \
+ figures/Track_statistics.png \
figures/trw_statusbar.png \
figures/vik_new_route_18.png \
+ figures/WaypointsList.png \
figures/zoom_18.png \
figures/zoom_status_popup.png \
- figures/Viking-OSM-CycleMap-ManyTracks.jpg
+ figures/Viking-OSM-CycleMap-ManyTracks.jpg \
+ figures/DEM_file_info_dialog.png
DOC_LINGUAS =
+
+EXTRA_DIST = viking.xml
+
+CLEANFILES=
+# man pages processing
+# TODO conditional processing
+# (availability of docbook stylesheet and xsltproc)
+if GEN_MANPAGES
+MANPAGES=viking.1
+man_MANS = $(MANPAGES)
+CLEANFILES+=$(MANPAGES)
+endif
+DB2MAN=@DB2MAN_XSL@
+XP=@XP@ -''-nonet
+
+%.1: %.xml
+ $(XP) -o $@ $(DB2MAN) $<
diff --git a/help/Makefile.in b/help/Makefile.in
index 2ad1e9c..46ed224 100644
--- a/help/Makefile.in
+++ b/help/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.3 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2013 Free Software Foundation, Inc.
@@ -101,10 +101,12 @@ PRE_UNINSTALL = :
POST_UNINSTALL = :
DIST_COMMON = $(top_srcdir)/gnome-doc-utils.make $(srcdir)/Makefile.in \
$(srcdir)/Makefile.am $(top_srcdir)/mkinstalldirs
+@GEN_MANPAGES_TRUE@am__append_1 = $(MANPAGES)
subdir = help
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/expat.m4 \
- $(top_srcdir)/m4/libcurl.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/libcurl.m4 $(top_srcdir)/m4/nls.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -130,6 +132,37 @@ am__can_run_installinfo = \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
+man1dir = $(mandir)/man1
+am__installdirs = "$(DESTDIR)$(man1dir)"
+NROFF = nroff
+MANS = $(man_MANS)
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
@@ -170,6 +203,7 @@ GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@
GREP = @GREP@
GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
@@ -231,7 +265,7 @@ STRIP = @STRIP@
USE_NLS = @USE_NLS@
VERSION = @VERSION@
XGETTEXT = @XGETTEXT@
-XP = @XP@
+XP = @XP@ -''-nonet
_libcurl_config = @_libcurl_config@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
@@ -412,6 +446,9 @@ DOC_FIGURES = \
figures/edwp_18.png \
figures/geomove_18.png \
figures/geozoom_18.png \
+ figures/LayersTracksList.png \
+ figures/LayersTracksStatistics.png \
+ figures/Maps_download_region_dialog.png \
figures/map_tile_info_dialog.png \
figures/mapdl_18.png \
figures/mover_22.png \
@@ -421,13 +458,27 @@ DOC_FIGURES = \
figures/ruler_18.png \
figures/select_18.png \
figures/showpic_18.png \
+ figures/Trackpoint_edit_dialog.png \
+ figures/Track_elevation_graph.png \
+ figures/Track_properties.png \
+ figures/Track_statistics.png \
figures/trw_statusbar.png \
figures/vik_new_route_18.png \
+ figures/WaypointsList.png \
figures/zoom_18.png \
figures/zoom_status_popup.png \
- figures/Viking-OSM-CycleMap-ManyTracks.jpg
+ figures/Viking-OSM-CycleMap-ManyTracks.jpg \
+ figures/DEM_file_info_dialog.png
DOC_LINGUAS =
+EXTRA_DIST = viking.xml
+CLEANFILES = $(am__append_1)
+# man pages processing
+# TODO conditional processing
+# (availability of docbook stylesheet and xsltproc)
+@GEN_MANPAGES_TRUE@MANPAGES = viking.1
+@GEN_MANPAGES_TRUE@man_MANS = $(MANPAGES)
+DB2MAN = @DB2MAN_XSL@
all: all-am
.SUFFIXES:
@@ -462,6 +513,49 @@ $(top_srcdir)/configure: $(am__configure_deps)
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
+install-man1: $(man_MANS)
+ @$(NORMAL_INSTALL)
+ @list1=''; \
+ list2='$(man_MANS)'; \
+ test -n "$(man1dir)" \
+ && test -n "`echo $$list1$$list2`" \
+ || exit 0; \
+ echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \
+ { for i in $$list1; do echo "$$i"; done; \
+ if test -n "$$list2"; then \
+ for i in $$list2; do echo "$$i"; done \
+ | sed -n '/\.1[a-z]*$$/p'; \
+ fi; \
+ } | while read p; do \
+ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; echo "$$p"; \
+ done | \
+ sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
+ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \
+ sed 'N;N;s,\n, ,g' | { \
+ list=; while read file base inst; do \
+ if test "$$base" = "$$inst"; then list="$$list $$file"; else \
+ echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \
+ $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \
+ fi; \
+ done; \
+ for i in $$list; do echo "$$i"; done | $(am__base_list) | \
+ while read files; do \
+ test -z "$$files" || { \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \
+ done; }
+
+uninstall-man1:
+ @$(NORMAL_UNINSTALL)
+ @list=''; test -n "$(man1dir)" || exit 0; \
+ files=`{ for i in $$list; do echo "$$i"; done; \
+ l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
+ sed -n '/\.1[a-z]*$$/p'; \
+ } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
+ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
+ dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir)
tags TAGS:
ctags CTAGS:
@@ -504,8 +598,11 @@ distdir: $(DISTFILES)
dist-hook
check-am: all-am
check: check-am
-all-am: Makefile
+all-am: Makefile $(MANS)
installdirs:
+ for dir in "$(DESTDIR)$(man1dir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
install: install-am
install-exec: install-exec-am
install-data: install-data-am
@@ -528,6 +625,7 @@ install-strip:
mostlyclean-generic:
clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
@@ -556,7 +654,7 @@ info: info-am
info-am:
-install-data-am: install-data-local
+install-data-am: install-data-local install-man
install-dvi: install-dvi-am
@@ -572,7 +670,7 @@ install-info: install-info-am
install-info-am:
-install-man:
+install-man: install-man1
install-pdf: install-pdf-am
@@ -601,7 +699,9 @@ ps: ps-am
ps-am:
-uninstall-am: uninstall-local
+uninstall-am: uninstall-local uninstall-man
+
+uninstall-man: uninstall-man1
.MAKE: install-am install-strip
@@ -611,12 +711,13 @@ uninstall-am: uninstall-local
install install-am install-data install-data-am \
install-data-local install-dvi install-dvi-am install-exec \
install-exec-am install-html install-html-am install-info \
- install-info-am install-man install-pdf install-pdf-am \
- install-ps install-ps-am install-strip installcheck \
- installcheck-am installdirs maintainer-clean \
+ install-info-am install-man install-man1 install-pdf \
+ install-pdf-am install-ps install-ps-am install-strip \
+ installcheck installcheck-am installdirs maintainer-clean \
maintainer-clean-generic maintainer-clean-local mostlyclean \
mostlyclean-generic mostlyclean-local pdf pdf-am ps ps-am \
- tags-am uninstall uninstall-am uninstall-local
+ tags-am uninstall uninstall-am uninstall-local uninstall-man \
+ uninstall-man1
DOC_H_FILE ?=
@@ -1078,6 +1179,9 @@ get-icons:
dist-hook: get-icons doc-dist-hook
+%.1: %.xml
+ $(XP) -o $@ $(DB2MAN) $<
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/help/viking.xml b/help/viking.xml
new file mode 100644
index 0000000..fa3bfc7
--- /dev/null
+++ b/help/viking.xml
@@ -0,0 +1,481 @@
+<?xml version='1.0' encoding='ISO-8859-1'?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
+"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [
+
+<!--
+
+Process this file with an XSLT processor: `xsltproc \
+-''-nonet /usr/share/sgml/docbook/stylesheet/xsl/nwalsh/\
+manpages/docbook.xsl manpage.dbk'. A manual page
+<package>.<section> will be generated. You may view the
+manual page with: nroff -man <package>.<section> | less'. A
+typical entry in a Makefile or Makefile.am is:
+
+DB2MAN=/usr/share/sgml/docbook/stylesheet/xsl/nwalsh/\
+manpages/docbook.xsl
+XP=xsltproc -''-nonet
+
+manpage.1: manpage.dbk
+ $(XP) $(DB2MAN) $<
+
+The xsltproc binary is found in the xsltproc package. The
+XSL files are in docbook-xsl. Please remember that if you
+create the nroff version in one of the debian/rules file
+targets (such as build), you will need to include xsltproc
+and docbook-xsl in your Build-Depends control field.
+
+-->
+
+ <!-- Fill in your name for FIRSTNAME and SURNAME. -->
+ <!ENTITY dhfirstname "<firstname>Ralf</firstname>">
+ <!ENTITY dhsurname "<surname>Meyer</surname>">
+ <!-- Please adjust the date whenever revising the manpage. -->
+ <!ENTITY dhdate "<date>2014-03-16</date>">
+ <!-- Would be nice if the version could auto-update. -->
+ <!ENTITY dhsource "Viking">
+ <!ENTITY dhversion "1.5.1">
+ <!-- SECTION should be 1-8, maybe w/ subsection other parameters are
+ allowed: see man(7), man(1). -->
+ <!ENTITY dhsection "<manvolnum>1</manvolnum>">
+ <!ENTITY dhemail "<email>ranfyy@gmail.com</email>">
+ <!ENTITY dhusername "Ralf Meyer">
+ <!ENTITY dhucpackage "<refentrytitle>VIKING</refentrytitle>">
+ <!ENTITY dhpackage "viking">
+
+ <!ENTITY debian "<productname>Debian</productname>">
+ <!ENTITY gnu "<acronym>GNU</acronym>">
+ <!ENTITY gpl "&gnu; <acronym>GPL</acronym>">
+]>
+
+<reference>
+<title>&dhsource; &dhversion;</title>
+
+<refentry xmlns:xi="http://www.w3.org/2001/XInclude">
+ <refentryinfo>
+ <address>
+ &dhemail;
+ </address>
+ <copyright>
+ <year>2007</year>
+ <holder>&dhusername;</holder>
+ </copyright>
+ <copyright>
+ <year>2010</year>
+ <holder>Guilhem Bonnefille</holder>
+ </copyright>
+ <copyright>
+ <year>2013</year>
+ <holder>Rob Norris</holder>
+ </copyright>
+ &dhdate;
+ </refentryinfo>
+ <refmeta>
+ &dhucpackage;
+ &dhsection;
+ <refmiscinfo CLASS="source">&dhsource;</refmiscinfo>
+ <refmiscinfo CLASS="version">&dhversion;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>&dhpackage;</refname>
+
+ <refpurpose>program to manage GPS data</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <cmdsynopsis>
+ <command>&dhpackage;</command>
+ <group choice="opt">
+ <arg choice="plain"><option>-d</option></arg>
+ <arg choice="plain"><option>--debug</option></arg>
+ </group>
+ <group choice="opt">
+ <arg choice="plain"><option>-V</option></arg>
+ <arg choice="plain"><option>--verbose</option></arg>
+ </group>
+ <arg rep="repeat"><replaceable>file</replaceable></arg>
+ </cmdsynopsis>
+ <cmdsynopsis>
+ <command>&dhpackage;</command>
+ <group choice="opt">
+ <arg choice="plain"><option>-h</option></arg>
+ <arg choice="plain"><option>--help</option></arg>
+ </group>
+ </cmdsynopsis>
+ <cmdsynopsis>
+ <command>&dhpackage;</command>
+ <group choice="opt">
+ <arg choice="plain"><option>-v</option></arg>
+ <arg choice="plain"><option>--version</option></arg>
+ </group>
+ </cmdsynopsis>
+ </refsynopsisdiv>
+ <refsect1>
+ <title>DESCRIPTION</title>
+
+ <para>
+ Viking is a program to manage GPS data.
+ </para>
+ <para>
+ You can import and plot tracks, routes and waypoints, show OpenStreetMap (OSM) maps and/or
+ Terraserver maps under it, add coordinate lines, make new tracks, routes and waypoints, hide different things, etc.
+ It is written in C with the GTK+ 2 toolkit, available for Linux, other POSIX operating systems and Windows.
+ </para>
+ <para>
+ Homepage: <ulink type="http" url="http://viking.sf.net">http://viking.sf.net</ulink>
+ </para>
+ <para>
+ Viking is licensed under the GNU GPL.
+ </para>
+
+ </refsect1>
+ <refsect1>
+ <title>OPTIONS</title>
+
+ <variablelist>
+ <varlistentry>
+ <term><option>file</option></term>
+ <listitem>
+ <para>Specify file to load at start.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-d</option></term>
+ <term><option>--debug</option></term>
+ <listitem>
+ <para>Enable debug output.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-V</option></term>
+ <term><option>--verbose</option></term>
+ <listitem>
+ <para>Enable verbose output.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-?</option></term>
+ <term><option>--help</option></term>
+ <listitem>
+ <para>Show help options.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-v</option></term>
+ <term><option>--version</option></term>
+ <listitem>
+ <para>Show version.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ </refsect1>
+ <refsect1>
+ <title>Extending Viking</title>
+
+ <para>Currently, &dhpackage; has some extention points based on configuration files. The file format is heavily inspired by the GtkBuilder file format: you specify the class of the GObject to build and set its properties. Technically, it is a XML file containing a "objects" root element. Inside this element, you set a collection of "object".</para>
+ <para>Here is an example:
+<literallayout><![CDATA[
+<objects>
+ <object class="ClassName">
+ <property name="property_name1">Property value</property>
+ <property name="property_name2">Property value</property>
+ </object>
+ ...
+<objects>
+]]>
+</literallayout>
+</para>
+ <para>You can find more examples in the documentation part of the distribution.</para>
+ <formalpara>
+ <title>Map Source</title>
+ <para>It is possible to add new map's sources. The file is <filename>~/.viking/maps.xml</filename>.</para>
+ <para>An example of the file in the distribution <filename>doc/examples/maps.xml</filename>.</para>
+ <para>The VikSlippyMapSource allows to declare any map's source working like OpenStreetMap. It supports the following properties:
+ <variablelist>
+ <varlistentry>
+ <term>id</term>
+ <listitem><para>this is an integer and should be unique as it used to identify the map source</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>label</term>
+ <listitem><para>the text displayed in the map's source selection dialog</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>hostname</term>
+ <listitem><para>the server's hostname (eg. "tile.openstreetmap.org")</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>url</term>
+ <listitem><para>the parametrized address of the tile, in the spirit of C printf format, with 3 "%d" fields for X, Y and Z (zoom level) (eg. "/%d/%d/%d.png")</para></listitem>
+ </varlistentry>
+ </variablelist>
+ </para>
+ <para>The VikTmsMapSource allows to declare any TMS service. It supports the following properties:
+ <variablelist>
+ <varlistentry>
+ <term>id</term>
+ <listitem><para>this is an integer and should be unique as it used to identify the map source</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>label</term>
+ <listitem><para>the text displayed in the map's source selection dialog</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>hostname</term>
+ <listitem><para>the server's hostname (eg. "tile.openstreetmap.org")</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>url</term>
+ <listitem><para>the parametrized address of the tile, in the spirit of C printf format, with 3 "%d" fields for X, Y and Z (zoom level) (eg. "/%d/%d/%d.png")</para></listitem>
+ </varlistentry>
+ </variablelist>
+ </para>
+ <para>The VikWmscMapSource allows to declare any WMS or WMS-C service. It supports the following properties:
+ <variablelist>
+ <varlistentry>
+ <term>id</term>
+ <listitem><para>this is an integer and should be unique as it used to identify the map source</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>label</term>
+ <listitem><para>the text displayed in the map's source selection dialog</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>hostname</term>
+ <listitem><para>the server's hostname (eg. "tile.openstreetmap.org")</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>url</term>
+ <listitem><para>the parametrized address of the tile, in the spirit of C printf format, with 4 "%s" fields for bounding box coordinates (eg. "/coord=%s,%s,%s,%s")</para></listitem>
+ </varlistentry>
+ </variablelist>
+ </para>
+ </formalpara>
+
+ <formalpara>
+ <title>Go-to search engines</title>
+ <para>It is possible to add new new search engines for the "Go-To" feature. The file is <filename>~/.viking/goto_tools.xml</filename>.</para>
+ <para>An example of the file in the distribution <filename>doc/examples/goto_tools.xml</filename>.</para>
+ <para>Currently, there is a single object class available: VikGotoXmlTool. Such feature allows to declare any search engine using a XML format as result.</para>
+ <para>The related properties are:
+ <variablelist>
+ <varlistentry>
+ <term>label</term>
+ <listitem><para>the text displayed in the <guilabel>Go-To</guilabel> dialog</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>url-format</term>
+ <listitem><para>the parametrized address of the query, in the spirit of C <function>printf</function> format, with a single "%s" field (replaced by the query string)</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>lat-path</term>
+ <listitem><para>XML path of the latitude (eg. <literal>/root/parent/elem</literal>)</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>lat-attr (optional)</term>
+ <listitem><para>name of the attribute (of previous element) containing the latitude</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>lon-path</term>
+ <listitem><para>XML path of the longitude (eg. <literal>/root/parent/elem</literal>)</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>lon-attr (optional)</term>
+ <listitem><para>name of the attribute (of previous element) containing the longiude</para></listitem>
+ </varlistentry>
+ </variablelist>
+ </para>
+ <para>As a facility (or readability) it is possible to set both path and attribute name in a single property, like an XPath expression. To do so, simply set both info in lat-path (or lon-path) in the following format: <literal>/root/parent/elem@attribute</literal>.</para>
+ </formalpara>
+
+ <formalpara>
+ <title>External tools</title>
+ <para>It is possible to add new external tools. The file is <filename>~/.viking/external_tools.xml</filename>.</para>
+ <para>An example of the file in the distribution <filename>doc/examples/external_tools.xml</filename>.</para>
+ <para>The VikWebtoolCenter allows to declare any Webtool using a logic based on center coordinates and zoom level value.</para>
+ <para>The related properties are:
+ <variablelist>
+ <varlistentry>
+ <term>label</term>
+ <listitem><para>the text displayed in the menu entry</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>url</term>
+ <listitem><para>the parametrized URL to open, in the spirit of C printf format, with 2 "%s" and a "%d" fields for X, Y and Z (zoom level) (eg. "http://hostname/?lat=%s&amp;lon=%s&amp;zoom=%d")</para></listitem>
+ </varlistentry>
+ </variablelist>
+ </para>
+ <para>The VikWebtoolBounds allows to declare any Webtool using a logic based on bounds coordinates.</para>
+ <para>The related properties are:
+ <variablelist>
+ <varlistentry>
+ <term>label</term>
+ <listitem><para>the text displayed in the menu entry</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>url</term>
+ <listitem><para>the parametrized address of the tile, in the spirit of C printf format, with 4 "%s" fields for left, right, bottom and top (eg. "http://hostname:8111/load_and_zoom?left=%s&amp;right=%s&amp;bottom=%s&amp;top=%s")</para></listitem>
+ </varlistentry>
+ </variablelist>
+ </para>
+ </formalpara>
+
+ <formalpara>
+ <title>Remote File Datasources</title>
+ <para>It is possible to add web references expected to return a file which can then be opened directly or converted via GPSBabel.</para>
+ <para>The file is <filename>~/.viking/datasources.xml</filename>.</para>
+ <para>An example of the file is in the source distribution <filename>doc/examples/datasources.xml</filename>.</para>
+ <para>The VikWebtoolDatasource allows to declare any URL using logic based on coordinates.</para>
+ <para>The related properties are:
+ <variablelist>
+ <varlistentry>
+ <term>label</term>
+ <listitem><para>the text displayed in the menu entry</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>url</term>
+ <listitem>
+ <para>the parametrized URL to open in the spirit of C printf format, with up to 7 "%s" values. e.g. <literal>http://hostname/getfile?lat=%s&amp;lon=%s</literal></para>
+ <para>The order and meaning of these parameters is given by the url_format_code below</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>url_format_code</term>
+ <listitem>
+ <para>A string describing the parametrized URL substitution parameters, each character represents how to translate each term.</para>
+ <para>B = Bottom of the current view i.e. minimum latitude</para>
+ <para>L = Left of the current view i.e. minimum longitude</para>
+ <para>T = Top of the current view i.e. maximum latitude</para>
+ <para>R = Right of the current view i.e. maximum longitude</para>
+ <para>A = center lAtitude of the current view</para>
+ <para>O = center lOngitude of the current view</para>
+ <para>Z = OSM Zoom value of the current view. See <ulink url="http://wiki.openstreetmap.org/wiki/Zoom_levels">Zoom Levels</ulink></para>
+ <para>Thus for the url example above then the format code should be <emphasis>AO</emphasis></para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>file_type</term>
+ <listitem>
+ <para>This value is passed on for the -i parameter in interfacing with GPSBabel.</para>
+ <para>If it is not defined then the returned file is interpreted internally as a GPX file.</para>
+ <para>Possible values such as 'kml', 'mapsource' etc.. can be used. See <ulink url="http://www.gpsbabel.org/capabilities.html">GPSBabel File Formats</ulink> for the full list.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </para>
+ </formalpara>
+
+ </refsect1>
+ <refsect1>
+ <title>FILES</title>
+
+ <variablelist>
+ <varlistentry>
+ <term><filename>~/.viking/maps.xml</filename></term>
+ <listitem>
+ <para>File containing definition of map sources.</para>
+ <para>See previous section for details.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><filename>~/.viking/goto_tools.xml</filename></term>
+ <listitem>
+ <para>File containing definition of "Go-to" services.</para>
+ <para>See previous section for details.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><filename>~/.viking/external_tools.xml</filename></term>
+ <listitem>
+ <para>File containing definition of external tools.</para>
+ <para>See previous section for details.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><filename>~/.viking/datasources.xml</filename></term>
+ <listitem>
+ <para>File containing definition of remote file datasources.</para>
+ <para>See previous section for details.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><filename>~/.viking/viking.prefs</filename></term>
+ <listitem>
+ <para>Preferences for &dhpackage;.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><filename>~/.viking/viking_layer_defaults.ini</filename></term>
+ <listitem>
+ <para>Layer default values for &dhpackage;.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><filename>~/.viking/viking.ini</filename></term>
+ <listitem>
+ <para>Values for &dhpackage; automatically saved between sessions.</para>
+ <para>Not generally intended to be manually edited.</para>
+ <para>However some finer control of default internal values can be set.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><filename>~/.viking/cookies.txt</filename></term>
+ <listitem>
+ <para>File hosting cookies used by &dhpackage;.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><filename>~/.viking-maps/</filename></term>
+ <listitem>
+ <para>Map cache of tiles downloaded by &dhpackage;.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ <para>Extension files (<filename>maps.xml</filename>,
+ <filename>goto_tools.xml</filename>,
+ <filename>datasources.xml</filename>,
+ <filename>external_tools.xml</filename>)
+ are also searched in <filename>/etc/viking</filename> and
+ <filename>/usr/share/viking</filename> directories (or related in your system).</para>
+
+ </refsect1>
+ <refsect1>
+ <title>ENVIRONMENT</title>
+
+ <variablelist>
+ <varlistentry>
+ <term><envar>XDG_DATA_HOME</envar></term>
+ <listitem>
+ <para>Optional directory to look for extension files
+ (<filename>maps.xml</filename>, <filename>goto_tools.xml</filename>,
+ <filename>external_tools.xml</filename>).</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><envar>XDG_DATA_DIRS</envar></term>
+ <listitem>
+ <para>Path used to change the directories scanned for extension files
+ (<filename>maps.xml</filename>, <filename>goto_tools.xml</filename>,
+ <filename>external_tools.xml</filename>).</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ </refsect1>
+ <refsect1>
+ <title>AUTHOR</title>
+
+ <para>This manual page was originally written by &dhusername; &dhemail; for
+ the &debian; system (but may be used by others). Permission is
+ granted to copy, distribute and/or modify this document under
+ the terms of the &gnu; General Public License, Version 2 any
+ later version published by the Free Software Foundation.
+ </para>
+ <para>
+ On Debian systems, the complete text of the GNU General Public
+ License can be found in /usr/share/common-licenses/GPL.
+ </para>
+
+ </refsect1>
+</refentry>
+</reference>
diff --git a/install-sh b/install-sh
index a9244eb..377bb86 100755
--- a/install-sh
+++ b/install-sh
@@ -1,7 +1,7 @@
#!/bin/sh
# install - install a program, script, or datafile
-scriptversion=2011-01-19.21; # UTC
+scriptversion=2011-11-20.07; # UTC
# This originates from X11R5 (mit/util/scripts/install.sh), which was
# later released in X11R6 (xc/config/util/install.sh) with the
@@ -35,7 +35,7 @@ scriptversion=2011-01-19.21; # UTC
# FSF changes to this file are in the public domain.
#
# Calling this script install-sh is preferred over install.sh, to prevent
-# `make' implicit rules from creating a file called install from it
+# 'make' implicit rules from creating a file called install from it
# when there is no Makefile.
#
# This script is compatible with the BSD install script, but was written
@@ -156,7 +156,7 @@ while test $# -ne 0; do
-s) stripcmd=$stripprog;;
-t) dst_arg=$2
- # Protect names problematic for `test' and other utilities.
+ # Protect names problematic for 'test' and other utilities.
case $dst_arg in
-* | [=\(\)!]) dst_arg=./$dst_arg;;
esac
@@ -190,7 +190,7 @@ if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
fi
shift # arg
dst_arg=$arg
- # Protect names problematic for `test' and other utilities.
+ # Protect names problematic for 'test' and other utilities.
case $dst_arg in
-* | [=\(\)!]) dst_arg=./$dst_arg;;
esac
@@ -202,7 +202,7 @@ if test $# -eq 0; then
echo "$0: no input file specified." >&2
exit 1
fi
- # It's OK to call `install-sh -d' without argument.
+ # It's OK to call 'install-sh -d' without argument.
# This can happen when creating conditional directories.
exit 0
fi
@@ -240,7 +240,7 @@ fi
for src
do
- # Protect names problematic for `test' and other utilities.
+ # Protect names problematic for 'test' and other utilities.
case $src in
-* | [=\(\)!]) src=./$src;;
esac
@@ -354,7 +354,7 @@ do
if test -z "$dir_arg" || {
# Check for POSIX incompatibilities with -m.
# HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
- # other-writeable bit of parent directory when it shouldn't.
+ # other-writable bit of parent directory when it shouldn't.
# FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
ls_ld_tmpdir=`ls -ld "$tmpdir"`
case $ls_ld_tmpdir in
diff --git a/m4/nls.m4 b/m4/nls.m4
new file mode 100644
index 0000000..7967cc2
--- /dev/null
+++ b/m4/nls.m4
@@ -0,0 +1,31 @@
+# nls.m4 serial 3 (gettext-0.15)
+dnl Copyright (C) 1995-2003, 2005-2006 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+dnl
+dnl This file can can be used in projects which are not available under
+dnl the GNU General Public License or the GNU Library General Public
+dnl License but which still want to provide support for the GNU gettext
+dnl functionality.
+dnl Please note that the actual code of the GNU gettext library is covered
+dnl by the GNU Library General Public License, and the rest of the GNU
+dnl gettext package package is covered by the GNU General Public License.
+dnl They are *not* in the public domain.
+
+dnl Authors:
+dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
+dnl Bruno Haible <haible@clisp.cons.org>, 2000-2003.
+
+AC_PREREQ(2.50)
+
+AC_DEFUN([AM_NLS],
+[
+ AC_MSG_CHECKING([whether NLS is requested])
+ dnl Default is enabled NLS
+ AC_ARG_ENABLE(nls,
+ [ --disable-nls do not use Native Language Support],
+ USE_NLS=$enableval, USE_NLS=yes)
+ AC_MSG_RESULT($USE_NLS)
+ AC_SUBST(USE_NLS)
+])
diff --git a/missing b/missing
index 86a8fc3..db98974 100755
--- a/missing
+++ b/missing
@@ -1,11 +1,10 @@
#! /bin/sh
-# Common stub for a few missing GNU programs while installing.
+# Common wrapper for a few potentially missing GNU programs.
-scriptversion=2012-01-06.13; # UTC
+scriptversion=2013-10-28.13; # UTC
-# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006,
-# 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
-# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
+# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -26,68 +25,40 @@ scriptversion=2012-01-06.13; # UTC
# the same distribution terms that you use for the rest of that program.
if test $# -eq 0; then
- echo 1>&2 "Try \`$0 --help' for more information"
+ echo 1>&2 "Try '$0 --help' for more information"
exit 1
fi
-run=:
-sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p'
-sed_minuso='s/.* -o \([^ ]*\).*/\1/p'
-
-# In the cases where this matters, `missing' is being run in the
-# srcdir already.
-if test -f configure.ac; then
- configure_ac=configure.ac
-else
- configure_ac=configure.in
-fi
+case $1 in
-msg="missing on your system"
+ --is-lightweight)
+ # Used by our autoconf macros to check whether the available missing
+ # script is modern enough.
+ exit 0
+ ;;
-case $1 in
---run)
- # Try to run requested program, and just exit if it succeeds.
- run=
- shift
- "$@" && exit 0
- # Exit code 63 means version mismatch. This often happens
- # when the user try to use an ancient version of a tool on
- # a file that requires a minimum version. In this case we
- # we should proceed has if the program had been absent, or
- # if --run hadn't been passed.
- if test $? = 63; then
- run=:
- msg="probably too old"
- fi
- ;;
+ --run)
+ # Back-compat with the calling convention used by older automake.
+ shift
+ ;;
-h|--h|--he|--hel|--help)
echo "\
$0 [OPTION]... PROGRAM [ARGUMENT]...
-Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
-error status if there is no known handling for PROGRAM.
+Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due
+to PROGRAM being missing or too old.
Options:
-h, --help display this help and exit
-v, --version output version information and exit
- --run try to run the given command, and emulate it if it fails
Supported PROGRAM values:
- aclocal touch file \`aclocal.m4'
- autoconf touch file \`configure'
- autoheader touch file \`config.h.in'
- autom4te touch the output file, or create a stub one
- automake touch all \`Makefile.in' files
- bison create \`y.tab.[ch]', if possible, from existing .[ch]
- flex create \`lex.yy.c', if possible, from existing .c
- help2man touch the output file
- lex create \`lex.yy.c', if possible, from existing .c
- makeinfo touch the output file
- yacc create \`y.tab.[ch]', if possible, from existing .[ch]
+ aclocal autoconf autoheader autom4te automake makeinfo
+ bison yacc flex lex help2man
-Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and
-\`g' are ignored when checking the name.
+Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and
+'g' are ignored when checking the name.
Send bug reports to <bug-automake@gnu.org>."
exit $?
@@ -99,228 +70,141 @@ Send bug reports to <bug-automake@gnu.org>."
;;
-*)
- echo 1>&2 "$0: Unknown \`$1' option"
- echo 1>&2 "Try \`$0 --help' for more information"
+ echo 1>&2 "$0: unknown '$1' option"
+ echo 1>&2 "Try '$0 --help' for more information"
exit 1
;;
esac
-# normalize program name to check for.
-program=`echo "$1" | sed '
- s/^gnu-//; t
- s/^gnu//; t
- s/^g//; t'`
-
-# Now exit if we have it, but it failed. Also exit now if we
-# don't have it and --version was passed (most likely to detect
-# the program). This is about non-GNU programs, so use $1 not
-# $program.
-case $1 in
- lex*|yacc*)
- # Not GNU programs, they don't have --version.
- ;;
-
- *)
- if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
- # We have it, but it failed.
- exit 1
- elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
- # Could not run --version or --help. This is probably someone
- # running `$TOOL --version' or `$TOOL --help' to check whether
- # $TOOL exists and not knowing $TOOL uses missing.
- exit 1
- fi
- ;;
-esac
-
-# If it does not exist, or fails to run (possibly an outdated version),
-# try to emulate it.
-case $program in
- aclocal*)
- echo 1>&2 "\
-WARNING: \`$1' is $msg. You should only need it if
- you modified \`acinclude.m4' or \`${configure_ac}'. You might want
- to install the \`Automake' and \`Perl' packages. Grab them from
- any GNU archive site."
- touch aclocal.m4
- ;;
-
- autoconf*)
- echo 1>&2 "\
-WARNING: \`$1' is $msg. You should only need it if
- you modified \`${configure_ac}'. You might want to install the
- \`Autoconf' and \`GNU m4' packages. Grab them from any GNU
- archive site."
- touch configure
- ;;
-
- autoheader*)
- echo 1>&2 "\
-WARNING: \`$1' is $msg. You should only need it if
- you modified \`acconfig.h' or \`${configure_ac}'. You might want
- to install the \`Autoconf' and \`GNU m4' packages. Grab them
- from any GNU archive site."
- files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
- test -z "$files" && files="config.h"
- touch_files=
- for f in $files; do
- case $f in
- *:*) touch_files="$touch_files "`echo "$f" |
- sed -e 's/^[^:]*://' -e 's/:.*//'`;;
- *) touch_files="$touch_files $f.in";;
- esac
- done
- touch $touch_files
- ;;
-
- automake*)
- echo 1>&2 "\
-WARNING: \`$1' is $msg. You should only need it if
- you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
- You might want to install the \`Automake' and \`Perl' packages.
- Grab them from any GNU archive site."
- find . -type f -name Makefile.am -print |
- sed 's/\.am$/.in/' |
- while read f; do touch "$f"; done
- ;;
-
- autom4te*)
- echo 1>&2 "\
-WARNING: \`$1' is needed, but is $msg.
- You might have modified some files without having the
- proper tools for further handling them.
- You can get \`$1' as part of \`Autoconf' from any GNU
- archive site."
-
- file=`echo "$*" | sed -n "$sed_output"`
- test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
- if test -f "$file"; then
- touch $file
- else
- test -z "$file" || exec >$file
- echo "#! /bin/sh"
- echo "# Created by GNU Automake missing as a replacement of"
- echo "# $ $@"
- echo "exit 0"
- chmod +x $file
- exit 1
- fi
- ;;
-
- bison*|yacc*)
- echo 1>&2 "\
-WARNING: \`$1' $msg. You should only need it if
- you modified a \`.y' file. You may need the \`Bison' package
- in order for those modifications to take effect. You can get
- \`Bison' from any GNU archive site."
- rm -f y.tab.c y.tab.h
- if test $# -ne 1; then
- eval LASTARG=\${$#}
- case $LASTARG in
- *.y)
- SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
- if test -f "$SRCFILE"; then
- cp "$SRCFILE" y.tab.c
- fi
- SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
- if test -f "$SRCFILE"; then
- cp "$SRCFILE" y.tab.h
- fi
- ;;
- esac
- fi
- if test ! -f y.tab.h; then
- echo >y.tab.h
- fi
- if test ! -f y.tab.c; then
- echo 'main() { return 0; }' >y.tab.c
- fi
- ;;
-
- lex*|flex*)
- echo 1>&2 "\
-WARNING: \`$1' is $msg. You should only need it if
- you modified a \`.l' file. You may need the \`Flex' package
- in order for those modifications to take effect. You can get
- \`Flex' from any GNU archive site."
- rm -f lex.yy.c
- if test $# -ne 1; then
- eval LASTARG=\${$#}
- case $LASTARG in
- *.l)
- SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
- if test -f "$SRCFILE"; then
- cp "$SRCFILE" lex.yy.c
- fi
- ;;
- esac
- fi
- if test ! -f lex.yy.c; then
- echo 'main() { return 0; }' >lex.yy.c
- fi
- ;;
-
- help2man*)
- echo 1>&2 "\
-WARNING: \`$1' is $msg. You should only need it if
- you modified a dependency of a manual page. You may need the
- \`Help2man' package in order for those modifications to take
- effect. You can get \`Help2man' from any GNU archive site."
-
- file=`echo "$*" | sed -n "$sed_output"`
- test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
- if test -f "$file"; then
- touch $file
- else
- test -z "$file" || exec >$file
- echo ".ab help2man is required to generate this page"
- exit $?
- fi
- ;;
-
- makeinfo*)
- echo 1>&2 "\
-WARNING: \`$1' is $msg. You should only need it if
- you modified a \`.texi' or \`.texinfo' file, or any other file
- indirectly affecting the aspect of the manual. The spurious
- call might also be the consequence of using a buggy \`make' (AIX,
- DU, IRIX). You might want to install the \`Texinfo' package or
- the \`GNU make' package. Grab either from any GNU archive site."
- # The file to touch is that specified with -o ...
- file=`echo "$*" | sed -n "$sed_output"`
- test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
- if test -z "$file"; then
- # ... or it is the one specified with @setfilename ...
- infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
- file=`sed -n '
- /^@setfilename/{
- s/.* \([^ ]*\) *$/\1/
- p
- q
- }' $infile`
- # ... or it is derived from the source name (dir/f.texi becomes f.info)
- test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
- fi
- # If the file does not exist, the user really needs makeinfo;
- # let's fail without touching anything.
- test -f $file || exit 1
- touch $file
- ;;
+# Run the given program, remember its exit status.
+"$@"; st=$?
+
+# If it succeeded, we are done.
+test $st -eq 0 && exit 0
+
+# Also exit now if we it failed (or wasn't found), and '--version' was
+# passed; such an option is passed most likely to detect whether the
+# program is present and works.
+case $2 in --version|--help) exit $st;; esac
+
+# Exit code 63 means version mismatch. This often happens when the user
+# tries to use an ancient version of a tool on a file that requires a
+# minimum version.
+if test $st -eq 63; then
+ msg="probably too old"
+elif test $st -eq 127; then
+ # Program was missing.
+ msg="missing on your system"
+else
+ # Program was found and executed, but failed. Give up.
+ exit $st
+fi
- *)
- echo 1>&2 "\
-WARNING: \`$1' is needed, and is $msg.
- You might have modified some files without having the
- proper tools for further handling them. Check the \`README' file,
- it often tells you about the needed prerequisites for installing
- this package. You may also peek at any GNU archive site, in case
- some other package would contain this missing \`$1' program."
- exit 1
+perl_URL=http://www.perl.org/
+flex_URL=http://flex.sourceforge.net/
+gnu_software_URL=http://www.gnu.org/software
+
+program_details ()
+{
+ case $1 in
+ aclocal|automake)
+ echo "The '$1' program is part of the GNU Automake package:"
+ echo "<$gnu_software_URL/automake>"
+ echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:"
+ echo "<$gnu_software_URL/autoconf>"
+ echo "<$gnu_software_URL/m4/>"
+ echo "<$perl_URL>"
+ ;;
+ autoconf|autom4te|autoheader)
+ echo "The '$1' program is part of the GNU Autoconf package:"
+ echo "<$gnu_software_URL/autoconf/>"
+ echo "It also requires GNU m4 and Perl in order to run:"
+ echo "<$gnu_software_URL/m4/>"
+ echo "<$perl_URL>"
+ ;;
+ esac
+}
+
+give_advice ()
+{
+ # Normalize program name to check for.
+ normalized_program=`echo "$1" | sed '
+ s/^gnu-//; t
+ s/^gnu//; t
+ s/^g//; t'`
+
+ printf '%s\n' "'$1' is $msg."
+
+ configure_deps="'configure.ac' or m4 files included by 'configure.ac'"
+ case $normalized_program in
+ autoconf*)
+ echo "You should only need it if you modified 'configure.ac',"
+ echo "or m4 files included by it."
+ program_details 'autoconf'
+ ;;
+ autoheader*)
+ echo "You should only need it if you modified 'acconfig.h' or"
+ echo "$configure_deps."
+ program_details 'autoheader'
+ ;;
+ automake*)
+ echo "You should only need it if you modified 'Makefile.am' or"
+ echo "$configure_deps."
+ program_details 'automake'
+ ;;
+ aclocal*)
+ echo "You should only need it if you modified 'acinclude.m4' or"
+ echo "$configure_deps."
+ program_details 'aclocal'
+ ;;
+ autom4te*)
+ echo "You might have modified some maintainer files that require"
+ echo "the 'autom4te' program to be rebuilt."
+ program_details 'autom4te'
+ ;;
+ bison*|yacc*)
+ echo "You should only need it if you modified a '.y' file."
+ echo "You may want to install the GNU Bison package:"
+ echo "<$gnu_software_URL/bison/>"
+ ;;
+ lex*|flex*)
+ echo "You should only need it if you modified a '.l' file."
+ echo "You may want to install the Fast Lexical Analyzer package:"
+ echo "<$flex_URL>"
+ ;;
+ help2man*)
+ echo "You should only need it if you modified a dependency" \
+ "of a man page."
+ echo "You may want to install the GNU Help2man package:"
+ echo "<$gnu_software_URL/help2man/>"
;;
-esac
-
-exit 0
+ makeinfo*)
+ echo "You should only need it if you modified a '.texi' file, or"
+ echo "any other file indirectly affecting the aspect of the manual."
+ echo "You might want to install the Texinfo package:"
+ echo "<$gnu_software_URL/texinfo/>"
+ echo "The spurious makeinfo call might also be the consequence of"
+ echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might"
+ echo "want to install GNU make:"
+ echo "<$gnu_software_URL/make/>"
+ ;;
+ *)
+ echo "You might have modified some files without having the proper"
+ echo "tools for further handling them. Check the 'README' file, it"
+ echo "often tells you about the needed prerequisites for installing"
+ echo "this package. You may also peek at any GNU archive site, in"
+ echo "case some other package contains this missing '$1' program."
+ ;;
+ esac
+}
+
+give_advice "$1" | sed -e '1s/^/WARNING: /' \
+ -e '2,$s/^/ /' >&2
+
+# Propagate the correct exit status (expected to be 127 for a program
+# not found, 63 for a program that failed due to version mismatch).
+exit $st
# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
diff --git a/mkinstalldirs b/mkinstalldirs
index 4191a45..55d537f 100755
--- a/mkinstalldirs
+++ b/mkinstalldirs
@@ -81,9 +81,9 @@ case $dirmode in
echo "mkdir -p -- $*"
exec mkdir -p -- "$@"
else
- # On NextStep and OpenStep, the `mkdir' command does not
+ # On NextStep and OpenStep, the 'mkdir' command does not
# recognize any option. It will interpret all options as
- # directories to create, and then abort because `.' already
+ # directories to create, and then abort because '.' already
# exists.
test -d ./-p && rmdir ./-p
test -d ./--version && rmdir ./--version
diff --git a/po/ChangeLog b/po/ChangeLog
index a16ce72..2a0fa7f 100644
--- a/po/ChangeLog
+++ b/po/ChangeLog
@@ -1,3 +1,27 @@
+2013-09-28 lann <lann@worldonline.fr>
+ * fr.po: updated
+
+2013-09-17 Alexander <alexandr.savin@gmail.com>
+ * ru.po: updated
+
+2013-09-05 Radek Stastny <Unknown>
+ * cs.po: updated
+
+2013-06-30 Cristian Marchi <Unknown>
+ * it.po: updated
+
+2013-06-18 Tim Schulz <timschulz1998@yahoo.de>
+ * de.po: updated
+
+2013-05-25 Xuacu Saturio <xuacusk8@gmail.com>
+ * ast.po: updated
+
+2013-05-17 Mantas Kriaučiūnas <mantas@akl.lt>
+ * lt.po: updated
+
+2013-03-22 Xuacu Saturio <xuacusk8@gmail.com>
+ * ast.po: created
+
2013-03-07 Wylmer Wang <Unknown>
* zh_CN.po: updated
diff --git a/po/LINGUAS b/po/LINGUAS
index a66a6d5..b51a019 100644
--- a/po/LINGUAS
+++ b/po/LINGUAS
@@ -1,10 +1,12 @@
# Supported languages
+ast
cs
da
de
el
en_GB
es
+eu
fi
fr
he
@@ -20,6 +22,7 @@ nl
pl
pt_BR
ru
+sk
sl
sv
uk
diff --git a/po/POTFILES.in b/po/POTFILES.in
index d38f4b1..3b7719a 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -10,13 +10,15 @@ src/geonamessearch.c
src/globals.c
src/google.c
src/googlesearch.c
+src/datasource_bfilter.c
src/datasource_file.c
src/datasource_gc.c
src/datasource_geotag.c
-src/datasource_google.c
src/datasource_gps.c
src/datasource_osm.c
src/datasource_osm_my_traces.c
+src/datasource_routing.c
+src/datasource_url.c
src/datasource_wikipedia.c
src/dem.c
src/download.c
@@ -27,11 +29,11 @@ src/mapcache.c
src/print.c
src/util.c
src/vikcoordlayer.c
-src/datasource_bfilter.c
src/main.c
src/osm.c
src/osm-traces.c
src/preferences.c
+src/viklayer_defaults.c
src/uibuilder.c
src/vikaggregatelayer.c
src/vikdemlayer.c
@@ -44,12 +46,17 @@ src/vikgpslayer.c
src/viklayer.c
src/viklayerspanel.c
src/vikmapslayer.c
+src/vikrouting.c
src/viktreeview.c
src/viktrwlayer.c
src/viktrwlayer_propwin.c
src/viktrwlayer_tpwin.c
+src/viktrwlayer_tracklist.c
+src/viktrwlayer_waypointlist.c
src/viktrwlayer_geotag.c
+src/viktrwlayer_analysis.c
src/vikstatus.c
+src/vikutils.c
src/vikwaypoint.c
src/vikwindow.c
src/viking.desktop.in
diff --git a/po/ast.po b/po/ast.po
new file mode 100644
index 0000000..2df4769
--- /dev/null
+++ b/po/ast.po
@@ -0,0 +1,4744 @@
+# Asturian translation for viking
+# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
+# This file is distributed under the same license as the viking package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: viking\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2013-09-03 21:58+0200\n"
+"PO-Revision-Date: 2013-05-25 21:23+0000\n"
+"Last-Translator: Xuacu Saturio <xuacusk8@gmail.com>\n"
+"Language-Team: Asturian <ast@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Launchpad-Export-Date: 2013-10-12 09:04+0000\n"
+"X-Generator: Launchpad (build 16799)\n"
+
+#: ../src/acquire.c:103 ../src/vikgpslayer.c:1235
+msgid "Done."
+msgstr "Fecho."
+
+#: ../src/acquire.c:112
+msgid "No data."
+msgstr "Nun hai datos."
+
+#: ../src/acquire.c:154 ../src/acquire.c:424
+msgid "Error: acquisition failed."
+msgstr "Error: falló l'atropamientu."
+
+#: ../src/acquire.c:352
+msgid "Working..."
+msgstr "Trabayando..."
+
+#. This shouldn't happen...
+#: ../src/acquire.c:415
+msgid ""
+"Unable to create command\n"
+"Acquire method failed."
+msgstr ""
+"Nun se pudo crear el comandu\n"
+"Falló'l métodu d'atropamientu."
+
+#: ../src/acquire.c:517
+msgid "_Filter"
+msgstr "_Filtru"
+
+#: ../src/acquire.c:532
+#, c-format
+msgid "Filter with %s"
+msgstr "Filtriar con %s"
+
+#: ../src/acquire.c:549
+msgid "Filter"
+msgstr "Filtru"
+
+#: ../src/background.c:53
+#, c-format
+msgid "%d items"
+msgstr "%d oxetos"
+
+#: ../src/background.c:254
+msgid "Job"
+msgstr "Xera"
+
+#: ../src/background.c:258
+msgid "Progress"
+msgstr "Progresu"
+
+#: ../src/background.c:274
+msgid "Viking Background Jobs"
+msgstr "Xeres en segundu planu de Viking"
+
+#: ../src/bing.c:47
+msgid "Bing"
+msgstr "Bing"
+
+#. VIK_GTK_WINDOW_FROM_WIDGET(vp)
+#: ../src/bingmapsource.c:499
+msgid "Bing attribution Loading"
+msgstr "Cargando atribución a Bing"
+
+#: ../src/clipboard.c:95
+msgid "paste failed"
+msgstr "falló'l pegáu"
+
+#: ../src/clipboard.c:105
+msgid "wrong clipboard data size"
+msgstr "tamañu incorreutu de los datos del cartafueyu"
+
+#: ../src/clipboard.c:124
+#, c-format
+msgid ""
+"The clipboard contains sublayer data for %s layers. You must select a layer "
+"of this type to paste the clipboard data."
+msgstr ""
+"El cartafueyu contien datos de subcapa de %s capes. Seleicione una capa "
+"d'esta mena pa pegar los datos del cartafueyu."
+
+#: ../src/clipboard.c:236
+msgid ""
+"In order to paste a waypoint, please select an appropriate layer to paste "
+"into."
+msgstr "Pa pegar un puntu de vía, por favor, seleicione una capa afayadiza."
+
+#: ../src/dialog.c:53
+msgid "Go to Lat/Lon"
+msgstr "Dir a Llat/Llon"
+
+#: ../src/dialog.c:65 ../src/dialog.c:244
+msgid "Latitude:"
+msgstr "Llatitú:"
+
+#: ../src/dialog.c:71 ../src/dialog.c:249
+msgid "Longitude:"
+msgstr "Llonxitú:"
+
+#: ../src/dialog.c:103
+msgid "Go to UTM"
+msgstr "Dir a UTM"
+
+#: ../src/dialog.c:116
+msgid "Northing:"
+msgstr ""
+
+#: ../src/dialog.c:122
+msgid "Easting:"
+msgstr ""
+
+#: ../src/dialog.c:129
+msgid "Zone:"
+msgstr "Zona:"
+
+#: ../src/dialog.c:132
+msgid "Letter:"
+msgstr "Lletra:"
+
+#: ../src/dialog.c:199
+msgid "Waypoint Properties"
+msgstr "Propiedaes del puntu de vía"
+
+#: ../src/dialog.c:235
+msgid "Name:"
+msgstr "Nome:"
+
+#: ../src/dialog.c:254
+msgid "Altitude:"
+msgstr "Altitú:"
+
+#: ../src/dialog.c:259
+msgid "Comment:"
+msgstr "Comentariu:"
+
+#: ../src/dialog.c:267 ../src/osm-traces.c:445
+msgid "Description:"
+msgstr "Descripción:"
+
+#: ../src/dialog.c:270
+msgid "Image:"
+msgstr "Imaxe:"
+
+#: ../src/dialog.c:275
+msgid "Symbol:"
+msgstr "Símbolu:"
+
+#: ../src/dialog.c:284
+msgid "(none)"
+msgstr "(dengún)"
+
+#: ../src/dialog.c:326
+msgid "Time:"
+msgstr ""
+
+#. TODO: other checks (isalpha or whatever )
+#: ../src/dialog.c:363
+msgid "Please enter a name for the waypoint."
+msgstr "Escriba un nome pal puntu de vía."
+
+#: ../src/dialog.c:502 ../src/geonamessearch.c:244
+#: ../src/datasource_osm_my_traces.c:507
+msgid "Nothing was selected"
+msgstr "Nun ta seleicionao ren"
+
+#: ../src/dialog.c:510
+msgid "Add Route"
+msgstr "Amestar ruta"
+
+#: ../src/dialog.c:510
+msgid "Add Track"
+msgstr "Amestar track"
+
+#: ../src/dialog.c:518
+msgid "Route Name:"
+msgstr "Nome de la ruta:"
+
+#: ../src/dialog.c:518
+msgid "Track Name:"
+msgstr "Nome del track:"
+
+#: ../src/dialog.c:538
+msgid "Please enter a name for the track."
+msgstr "Escriba un nome pal track."
+
+#: ../src/dialog.c:596
+msgid "Zoom Factors..."
+msgstr "Factores d'ampliación..."
+
+#: ../src/dialog.c:610
+msgid "Zoom factor (in meters per pixel):"
+msgstr "Factores d'ampliación (en metros por pixel):"
+
+#: ../src/dialog.c:611
+msgid "X (easting): "
+msgstr "X (coordenada este): "
+
+#: ../src/dialog.c:612
+msgid "Y (northing): "
+msgstr "Y (coordenada norte): "
+
+#: ../src/dialog.c:617
+msgid "X and Y zoom factors must be equal"
+msgstr "Los factores d'ampliación X y Y tienen de ser iguales"
+
+#: ../src/dialog.c:672
+msgid "1 min"
+msgstr "1 min"
+
+#: ../src/dialog.c:673
+msgid "1 hour"
+msgstr "1 hora"
+
+#: ../src/dialog.c:674
+msgid "1 day"
+msgstr "1 día"
+
+#: ../src/dialog.c:675
+msgid "Custom (in minutes):"
+msgstr "Personalizáu (en minutos):"
+
+#: ../src/dialog.c:786
+msgid "GPS Data and Topo Analyzer, Explorer, and Manager."
+msgstr "Analizador, esplorador y xestor de datos GPS y topográficos."
+
+#: ../src/dialog.c:787
+msgid ""
+"This program is free software; you can redistribute it and/or modify it "
+"under the terms of the GNU General Public License as published by the Free "
+"Software Foundation; either version 2 of the License, or (at your option) "
+"any later version.\n"
+"\n"
+"This program is distributed in the hope that it will be useful, but WITHOUT "
+"ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or "
+"FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for "
+"more details.\n"
+"\n"
+"You should have received a copy of the GNU General Public License along with "
+"this program; if not, write to the Free Software Foundation, Inc., 59 Temple "
+"Place, Suite 330, Boston, MA 02111-1307, USA"
+msgstr ""
+"Esti programa ye software llibre; pue redistribuilu , y / o camudalu baxo "
+"les condiciones de la Llicencia Pública Xeneral GNU como la publica la Free "
+"Software Foundation; o la versión 2 de la llicencia , o (como prefiera) "
+"cualesquier versión posterior.\n"
+"\n"
+"Esti programa distribuise cola esperanza de que seya útil, PERO ENSIN "
+"GARANTÍA DALA; nin siquiera la garantía implícita de COMERCIALIDÁ o "
+"ADAUTACIÓN PA UN PROPÓSITU DETERMINÁU. Vea la Llicencia Pública Xeneral GNU "
+"pa más detalles.\n"
+"\n"
+"Debería recibir una copia de la Llicencia Pública Xeneral GNU xunto con esti "
+"programa; si nun ye asina, escriba a la Free Software Foundation, Inc., 59 "
+"Temple Place, Suite 330, Boston, MA 02111-1307, USA"
+
+#: ../src/dialog.c:852
+msgid "Translation is coordinated on http://launchpad.net/viking"
+msgstr "La traducción coordinase'n http://launchpad.net/viking"
+
+#: ../src/dialog.c:861
+msgid "Download along track"
+msgstr "Descargar a lo llargo del track"
+
+#: ../src/dialog.c:868
+msgid "Map type:"
+msgstr "Tipu de mapa:"
+
+#: ../src/dialog.c:874
+msgid "Zoom level:"
+msgstr "Nivel d'ampliación:"
+
+#: ../src/dialog.c:914
+#, c-format
+msgid "The map data is licensed: %s."
+msgstr "Los datos del mapa tienen llicencia: %s"
+
+#: ../src/dialog.c:917
+#, c-format
+msgid ""
+"The data provided by '<b>%s</b>' are licensed under the following license: "
+"<b>%s</b>.\n"
+"Please, read the license before continuing."
+msgstr ""
+"Los datos suministraos por '<b>%s</b>' tienen la siguiente llicencia: "
+"<b>%s</b>.\n"
+"Por favor, llea la llicencia enantes de siguir."
+
+#: ../src/dialog.c:922
+msgid "Open license"
+msgstr "Llicencia abierta"
+
+#: ../src/expedia.c:53
+msgid "Expedia Street Maps"
+msgstr "Mapes de calles Expedia"
+
+#: ../src/expedia.c:81
+msgid "Invalid expedia altitude"
+msgstr "Altitú d'expedia inválida"
+
+#: ../src/expedia.c:112
+#, c-format
+msgid ""
+"Couldn't open EXPEDIA image file (right after successful download! Please "
+"report and delete image file!): %s"
+msgstr ""
+"Nun pudo abrise'l ficheru d'imaxe EXPEDIA (¡xusto dempués de descargalu "
+"correutamente! Por favor informe y desanicie'l ficheru d'imaxe): %s"
+
+#: ../src/expedia.c:125
+#, c-format
+msgid ""
+"Couldn't save EXPEDIA image file (right after successful download! Please "
+"report and delete image file!): %s"
+msgstr ""
+"Nun pudo guardase'l ficheru d'imaxe EXPEDIA (¡xusto dempués de descargalu "
+"correutamente! Por favor informe y desanicie'l ficheru d'imaxe): %s"
+
+#. *
+#. * See http://www.geonames.org/export/wikipedia-webservice.html#wikipediaBoundingBox
+#.
+#. Translators may wish to change this setting as appropriate to get Wikipedia articles in that language
+#: ../src/geonamessearch.c:46
+msgid "en"
+msgstr "ast"
+
+#: ../src/geonamessearch.c:121
+msgid "Search"
+msgstr "Guetar"
+
+#: ../src/geonamessearch.c:123
+msgid "No entries found!"
+msgstr "¡Nun s'alcontró denguna entrada!"
+
+#. NB could allow columns to be shifted around by doing this after each new
+#. gtk_tree_view_column_set_reorderable ( column, TRUE );
+#. However I don't think is that useful, so I haven't put it in
+#: ../src/geonamessearch.c:177 ../src/datasource_osm_my_traces.c:424
+#: ../src/viktrwlayer_tracklist.c:521
+msgid "Name"
+msgstr "Nome"
+
+#: ../src/geonamessearch.c:182
+msgid "Feature"
+msgstr "Propiedá"
+
+#: ../src/geonamessearch.c:187 ../src/datasource_osm_my_traces.c:439
+msgid "Lat/Lon"
+msgstr "Llat/Llon"
+
+#: ../src/geonamessearch.c:270 ../src/googlesearch.c:100 ../src/vikgoto.c:306
+msgid "couldn't map temp file"
+msgstr "nun se pudo facer un mapa del ficheru temporal"
+
+#: ../src/globals.c:73
+msgid "Absolute"
+msgstr ""
+
+#: ../src/globals.c:73
+msgid "Relative"
+msgstr ""
+
+#: ../src/globals.c:76
+msgid "Degree format:"
+msgstr "Formatu de graos:"
+
+#: ../src/globals.c:77
+msgid "Distance units:"
+msgstr "Unidaes de distancia:"
+
+#: ../src/globals.c:78
+msgid "Speed units:"
+msgstr "Unidaes de velocidá:"
+
+#: ../src/globals.c:79
+msgid "Height units:"
+msgstr "Unidaes d'altura:"
+
+#: ../src/globals.c:80
+msgid "Use large waypoint icons:"
+msgstr "Usar iconos de puntu de vía grandes:"
+
+#: ../src/globals.c:81
+msgid "Default latitude:"
+msgstr "Llatitú predeterminada:"
+
+#: ../src/globals.c:82
+msgid "Default longitude:"
+msgstr "Llonxitú predeterminada:"
+
+#: ../src/globals.c:88
+msgid "Alphabetical"
+msgstr "Alfabéticu"
+
+#: ../src/globals.c:88 ../src/datasource_osm_my_traces.c:434
+msgid "Time"
+msgstr "Tiempu"
+
+#: ../src/globals.c:88
+msgid "Creation"
+msgstr ""
+
+#: ../src/globals.c:89
+msgid "Title Case"
+msgstr ""
+
+#: ../src/globals.c:89
+msgid "Lowercase"
+msgstr ""
+
+#: ../src/globals.c:92
+msgid "KML File Export Units:"
+msgstr "Unidaes d'esportación de ficheros KML:"
+
+#: ../src/globals.c:93
+msgid "GPX Track Order:"
+msgstr "Orde de track GPX:"
+
+#: ../src/globals.c:94
+msgid "GPX Waypoint Symbols:"
+msgstr ""
+
+#: ../src/globals.c:95
+msgid ""
+"Save GPX Waypoint Symbol names in the specified case. May be useful for "
+"compatibility with various devices"
+msgstr ""
+
+#: ../src/globals.c:100
+msgid "Image Viewer:"
+msgstr "Visor d'imaxes:"
+
+#: ../src/globals.c:105
+msgid "External GPX Program 1:"
+msgstr "Programa GPX esternu 1:"
+
+#: ../src/globals.c:106
+msgid "External GPX Program 2:"
+msgstr "Programa GPX esternu 2:"
+
+#: ../src/globals.c:110
+msgid "Save File Reference Mode:"
+msgstr ""
+
+#: ../src/globals.c:111
+msgid ""
+"When saving a Viking .vik file, this determines how the directory paths of "
+"filenames are written."
+msgstr ""
+
+#: ../src/globals.c:112
+msgid "Show Tooltip during Track Creation:"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Home Location"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Last Location"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Specified File"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Auto Location"
+msgstr ""
+
+#: ../src/globals.c:118
+msgid "Restore Window Setup:"
+msgstr ""
+
+#: ../src/globals.c:119
+msgid "Restore window size and layout"
+msgstr ""
+
+#: ../src/globals.c:120
+msgid "Add a Default Map Layer:"
+msgstr ""
+
+#: ../src/globals.c:121
+msgid ""
+"The default map layer added is defined by the Layer Defaults. Use the menu "
+"Edit->Layer Defaults->Map... to change the map type and other values."
+msgstr ""
+
+#: ../src/globals.c:122
+msgid "Startup Method:"
+msgstr ""
+
+#: ../src/globals.c:123
+msgid "Startup File:"
+msgstr ""
+
+#: ../src/globals.c:124
+msgid ""
+"The default file to load on startup. Only applies when the startup method is "
+"set to 'Specified File'"
+msgstr ""
+
+#: ../src/globals.c:125
+msgid "Check For New Version:"
+msgstr ""
+
+#: ../src/globals.c:126
+msgid "Periodically check to see if a new version of Viking is available"
+msgstr ""
+
+#. Defaults for the options are setup here
+#: ../src/globals.c:163
+msgid "General"
+msgstr "Xeneral"
+
+#. New Tab
+#: ../src/globals.c:188
+msgid "Startup"
+msgstr ""
+
+#. New Tab
+#: ../src/globals.c:206
+msgid "Export/External"
+msgstr "Esportación/Esternu"
+
+#. 'Advanced' Properties
+#: ../src/globals.c:230
+msgid "Advanced"
+msgstr ""
+
+#. Webtools
+#: ../src/google.c:38
+msgid "Google"
+msgstr "Google"
+
+#: ../src/datasource_file.c:59
+msgid "Import file with GPSBabel"
+msgstr "Importar ficheru con GPSBabel"
+
+#: ../src/datasource_file.c:60
+msgid "Imported file"
+msgstr "Ficheru importáu"
+
+#. The file selector
+#: ../src/datasource_file.c:127
+msgid "File:"
+msgstr "Ficheru:"
+
+#: ../src/datasource_file.c:128
+msgid "File to import"
+msgstr "Ficheru a importar"
+
+#: ../src/datasource_file.c:135
+msgid "All files"
+msgstr "Tolos ficheros"
+
+#. The file format selector
+#: ../src/datasource_file.c:142
+msgid "File type:"
+msgstr "Tipu de ficheru:"
+
+#: ../src/datasource_file.c:184
+#, c-format
+msgid "using babel args '%s' and file '%s'"
+msgstr "usando los argumentos de babel '%s' ya'l ficheru '%s'"
+
+#: ../src/datasource_gc.c:66
+msgid "Download Geocaches"
+msgstr "Descargar xeocachés"
+
+#: ../src/datasource_gc.c:67
+msgid "Geocaching.com Caches"
+msgstr "Cachés de Geocaching.com"
+
+#: ../src/datasource_gc.c:85
+msgid "geocaching.com username:"
+msgstr "Nome d'usuariu de geocaching.com"
+
+#: ../src/datasource_gc.c:86
+msgid "geocaching.com password:"
+msgstr "Contraseña de geocaching.com"
+
+#: ../src/datasource_gc.c:127
+#, c-format
+msgid ""
+"Can't find %s or %s in path! Check that you have installed it correctly."
+msgstr ""
+"¡Nun pue alcontrase %s o %s nel path! Compruebe que ta instaláu "
+"correutamente."
+
+#: ../src/datasource_gc.c:189
+msgid "Number geocaches:"
+msgstr "Numberar xeocachés:"
+
+#: ../src/datasource_gc.c:191
+msgid "Centered around:"
+msgstr "Centráu alredor de:"
+
+#: ../src/datasource_gc.c:230
+msgid "Broken input - using some defaults"
+msgstr "Entrada frañada - usando dalgunos predeterminaos"
+
+#: ../src/datasource_geotag.c:51
+msgid "Create Waypoints from Geotagged Images"
+msgstr "Crear puntos de vía dende imaxes xeomarcaes"
+
+#: ../src/datasource_geotag.c:52
+msgid "Geotagged Images"
+msgstr "Imaxes xeomarcaes"
+
+#: ../src/datasource_geotag.c:102 ../src/vikwindow.c:2655
+#: ../src/vikwindow.c:2729 ../src/vikwindow.c:3380
+msgid "All"
+msgstr "Too"
+
+#: ../src/datasource_geotag.c:107 ../src/vikwindow.c:3385
+msgid "JPG"
+msgstr "JPG"
+
+#: ../src/datasource_geotag.c:168
+#, c-format
+msgid "Unable to create waypoint from %s"
+msgstr "Nun pudo crease'l puntu de vía dende %s"
+
+#: ../src/datasource_gps.c:54
+msgid "Acquire from GPS"
+msgstr "Adquirir dende GPS"
+
+#: ../src/datasource_gps.c:55
+msgid "Acquired from GPS"
+msgstr "Adquiríu dende GPS"
+
+#: ../src/datasource_gps.c:245
+#, c-format
+msgid "using cmdline '%s' and file '%s'\n"
+msgstr "usando la llinia de comandos '%s' ya'l ficheru '%s'\n"
+
+#: ../src/datasource_gps.c:327 ../src/vikgpslayer.c:934
+#, c-format
+msgid "Downloading %d waypoint..."
+msgid_plural "Downloading %d waypoints..."
+msgstr[0] "Descargando %d puntu de vía..."
+msgstr[1] "Descargando %d puntos de vía..."
+
+#: ../src/datasource_gps.c:328 ../src/vikgpslayer.c:935
+#, c-format
+msgid "Downloading %d trackpoint..."
+msgid_plural "Downloading %d trackpoints..."
+msgstr[0] "Descargando %d puntu de traza..."
+msgstr[1] "Descargando %d puntos de traza..."
+
+#: ../src/datasource_gps.c:333 ../src/vikgpslayer.c:940
+#, c-format
+msgid "Downloading %d routepoint..."
+msgid_plural "Downloading %d routepoints..."
+msgstr[0] "Descargando %d puntu de ruta..."
+msgstr[1] "Descargando %d puntos de ruta..."
+
+#: ../src/datasource_gps.c:355 ../src/datasource_gps.c:356
+#: ../src/datasource_gps.c:357
+#, c-format
+msgid "Downloaded %d out of %d %s..."
+msgstr ""
+
+#: ../src/datasource_gps.c:361 ../src/datasource_gps.c:362
+#: ../src/datasource_gps.c:363
+#, c-format
+msgid "Downloaded %d %s."
+msgstr ""
+
+#: ../src/datasource_gps.c:377 ../src/vikgpslayer.c:1018
+#, c-format
+msgid "GPS Device: %s"
+msgstr ""
+
+#: ../src/datasource_gps.c:400 ../src/vikgpslayer.c:1092
+#: ../src/vikgpslayer.c:1160
+msgid "Status: Working..."
+msgstr ""
+
+#. NB gps_layer_inst_init() is performed after parameter registeration
+#. thus to give the protocols some potential values use the old static list
+#. TODO: find another way to use gps_layer_inst_init()?
+#: ../src/datasource_gps.c:500 ../src/vikgpslayer.c:207
+msgid "GPS Protocol:"
+msgstr ""
+
+#. List reassigned at runtime
+#: ../src/datasource_gps.c:526 ../src/vikgpslayer.c:208
+msgid "Serial Port:"
+msgstr ""
+
+#: ../src/datasource_gps.c:576
+msgid ""
+"Turn Off After Transfer\n"
+"(Garmin/NAViLink Only)"
+msgstr ""
+
+#: ../src/datasource_gps.c:583
+msgid "Tracks:"
+msgstr ""
+
+#: ../src/datasource_gps.c:590
+msgid "Routes:"
+msgstr ""
+
+#: ../src/datasource_gps.c:597
+msgid "Waypoints:"
+msgstr "Puntos de vía:"
+
+#: ../src/datasource_gps.c:675 ../src/vikgpslayer.c:1355
+msgid "GPS device: N/A"
+msgstr ""
+
+#: ../src/datasource_osm.c:52 ../src/datasource_osm.c:53
+msgid "OSM traces"
+msgstr ""
+
+#: ../src/datasource_osm.c:82
+msgid "Page number:"
+msgstr ""
+
+#: ../src/datasource_osm_my_traces.c:59 ../src/datasource_osm_my_traces.c:60
+msgid "OSM My Traces"
+msgstr ""
+
+#: ../src/datasource_osm_my_traces.c:104
+msgid "Username:"
+msgstr ""
+
+#: ../src/datasource_osm_my_traces.c:109
+msgid "The email or username used to login to OSM"
+msgstr ""
+
+#: ../src/datasource_osm_my_traces.c:111 ../src/osm-traces.c:421
+msgid "Password:"
+msgstr ""
+
+#: ../src/datasource_osm_my_traces.c:114
+msgid "The password used to login to OSM"
+msgstr ""
+
+#: ../src/datasource_osm_my_traces.c:429
+msgid "Description"
+msgstr ""
+
+#: ../src/datasource_osm_my_traces.c:444
+msgid "Privacy"
+msgstr ""
+
+#: ../src/datasource_osm_my_traces.c:451
+msgid "Within Current View"
+msgstr ""
+
+#: ../src/datasource_osm_my_traces.c:518
+msgid "GPS Traces"
+msgstr ""
+
+#: ../src/datasource_osm_my_traces.c:520
+msgid "None found!"
+msgstr ""
+
+#: ../src/datasource_osm_my_traces.c:634
+msgid "My OSM Traces"
+msgstr ""
+
+#: ../src/datasource_osm_my_traces.c:649
+#, c-format
+msgid "Unable to get trace: %s"
+msgstr ""
+
+#: ../src/datasource_routing.c:53 ../src/datasource_routing.c:54
+msgid "Directions"
+msgstr ""
+
+#. Engine selector
+#: ../src/datasource_routing.c:83
+msgid "Engine:"
+msgstr ""
+
+#. From and To entries
+#: ../src/datasource_routing.c:88
+msgid "From:"
+msgstr "Dende:"
+
+#: ../src/datasource_routing.c:90
+msgid "To:"
+msgstr "Fasta:"
+
+#: ../src/datasource_wikipedia.c:32
+msgid "Create Waypoints from Wikipedia Articles"
+msgstr "Crear puntos de vía dende artículos de Uiquipedia"
+
+#: ../src/datasource_wikipedia.c:33
+msgid "Wikipedia Waypoints"
+msgstr "Puntos de vía de Uiquipedia"
+
+#: ../src/dem.c:65 ../src/dem.c:79
+msgid "Invalid DEM"
+msgstr ""
+
+#: ../src/dem.c:121
+msgid "Invalid DEM header"
+msgstr ""
+
+#: ../src/dem.c:190 ../src/dem.c:203
+msgid "Incorrect DEM Class B record: expected 1"
+msgstr ""
+
+#: ../src/dem.c:288 ../src/download.c:170
+#, c-format
+msgid "Couldn't map file %s: %s"
+msgstr ""
+
+#: ../src/download.c:130
+msgid "Tile age (days):"
+msgstr ""
+
+#: ../src/download.c:321
+#, c-format
+msgid "Download error: %s"
+msgstr ""
+
+#: ../src/download.c:404
+msgid "couldn't open temp file"
+msgstr ""
+
+#: ../src/file.c:451 ../src/file.c:456
+#, c-format
+msgid "Draw mode '%s' no more supported"
+msgstr ""
+
+#: ../src/geotag_exif.c:421
+msgid "Not enough memory."
+msgstr ""
+
+#: ../src/geotag_exif.c:439
+msgid "Setting a value for this tag is unsupported!"
+msgstr ""
+
+#: ../src/geotag_exif.c:458
+#, c-format
+msgid "Too few components specified (need %d, found %d)\n"
+msgstr ""
+
+#: ../src/geotag_exif.c:462
+msgid "Numeric value expected\n"
+msgstr ""
+
+#: ../src/geotag_exif.c:470
+msgid "This shouldn't happen!"
+msgstr ""
+
+#: ../src/geotag_exif.c:540
+msgid "Not yet implemented!"
+msgstr ""
+
+#: ../src/geotag_exif.c:553
+msgid "Warning; Too many components specified!"
+msgstr ""
+
+#: ../src/osm-traces.c:76
+msgid "Identifiable (public w/ timestamps)"
+msgstr ""
+
+#: ../src/osm-traces.c:77
+msgid "Trackable (private w/ timestamps)"
+msgstr ""
+
+#: ../src/osm-traces.c:78
+msgid "Public"
+msgstr ""
+
+#: ../src/osm-traces.c:79
+msgid "Private"
+msgstr ""
+
+#: ../src/osm-traces.c:97
+msgid "OSM username:"
+msgstr ""
+
+#: ../src/osm-traces.c:98
+msgid "OSM password:"
+msgstr ""
+
+#. Preferences
+#: ../src/osm-traces.c:155
+msgid "OpenStreetMap Traces"
+msgstr ""
+
+#: ../src/osm-traces.c:238
+#, c-format
+msgid "failed to upload data: HTTP response is %ld"
+msgstr ""
+
+#: ../src/osm-traces.c:243
+#, c-format
+msgid "curl_easy_getinfo failed: %d"
+msgstr ""
+
+#: ../src/osm-traces.c:248
+#, c-format
+msgid "curl request failed: %s"
+msgstr ""
+
+#: ../src/osm-traces.c:279
+#, c-format
+msgid "failed to open temporary file: %s"
+msgstr ""
+
+#. Success
+#: ../src/osm-traces.c:340
+msgid "Uploaded to OSM"
+msgstr ""
+
+#: ../src/osm-traces.c:344
+msgid "FAILED TO UPLOAD DATA TO OSM - CURL PROBLEM"
+msgstr ""
+
+#: ../src/osm-traces.c:347
+msgid "FAILED TO UPLOAD DATA TO OSM"
+msgstr ""
+
+#: ../src/osm-traces.c:347
+msgid "HTTP response code"
+msgstr ""
+
+#: ../src/osm-traces.c:355
+#, c-format
+msgid "failed to unlink temporary file: %s"
+msgstr ""
+
+#: ../src/osm-traces.c:394
+msgid "OSM upload"
+msgstr ""
+
+#: ../src/osm-traces.c:413
+msgid "Email:"
+msgstr ""
+
+#: ../src/osm-traces.c:418
+msgid ""
+"The email used as login\n"
+"<small>Enter the email you use to login into www.openstreetmap.org.</small>"
+msgstr ""
+
+#: ../src/osm-traces.c:426
+msgid ""
+"The password used to login\n"
+"<small>Enter the password you use to login into "
+"www.openstreetmap.org.</small>"
+msgstr ""
+
+#: ../src/osm-traces.c:431
+msgid "File's name:"
+msgstr ""
+
+#: ../src/osm-traces.c:441
+msgid ""
+"The name of the file on OSM\n"
+"<small>This is the name of the file created on the server.This is not the "
+"name of the local file.</small>"
+msgstr ""
+
+#: ../src/osm-traces.c:450
+msgid "The description of the trace"
+msgstr ""
+
+#: ../src/osm-traces.c:453
+msgid "Anonymize Times:"
+msgstr ""
+
+#: ../src/osm-traces.c:458
+msgid ""
+"Anonymize times of the trace.\n"
+"<small>You may choose to make the trace identifiable, yet mask the actual "
+"real time values</small>"
+msgstr ""
+
+#: ../src/osm-traces.c:462
+msgid "Tags:"
+msgstr ""
+
+#: ../src/osm-traces.c:467
+msgid "The tags associated to the trace"
+msgstr ""
+
+#: ../src/osm-traces.c:529
+#, c-format
+msgid "Uploading %s to OSM"
+msgstr ""
+
+#: ../src/mapcache.c:61
+msgid "Map cache memory size (MB):"
+msgstr ""
+
+#: ../src/print.c:51 ../src/viktrwlayer.c:509
+msgid "None"
+msgstr ""
+
+#: ../src/print.c:52
+msgid "Horizontally"
+msgstr ""
+
+#: ../src/print.c:53
+msgid "Vertically"
+msgstr ""
+
+#: ../src/print.c:54
+msgid "Both"
+msgstr ""
+
+#: ../src/print.c:118
+msgid "Image Settings"
+msgstr ""
+
+#: ../src/print.c:548
+msgid "done"
+msgstr ""
+
+#. Page Size
+#: ../src/print.c:577
+msgid "_Adjust Page Size and Orientation"
+msgstr ""
+
+#: ../src/print.c:593
+msgid "C_enter:"
+msgstr ""
+
+#. ignore page margins
+#: ../src/print.c:611
+msgid "Ignore Page _Margins"
+msgstr ""
+
+#: ../src/print.c:630
+msgid "Image S_ize:"
+msgstr ""
+
+#: ../src/util.c:65
+#, c-format
+msgid "Could not launch web browser. %s"
+msgstr ""
+
+#: ../src/util.c:76
+#, c-format
+msgid "Could not create new email. %s"
+msgstr ""
+
+#: ../src/util.c:177
+#, c-format
+msgid ""
+"There is a newer version of Viking available: %s\n"
+"\n"
+"Do you wish to go to Viking's website now?"
+msgstr ""
+
+#: ../src/util.c:304
+msgid ""
+"This appears to be Viking's very first run.\n"
+"\n"
+"Do you wish to enable automatic internet features?\n"
+"\n"
+"Individual settings can be controlled in the Preferences."
+msgstr ""
+
+#: ../src/vikcoordlayer.c:57
+msgid "Color:"
+msgstr ""
+
+#: ../src/vikcoordlayer.c:58
+msgid "Minutes Width:"
+msgstr ""
+
+#: ../src/vikcoordlayer.c:59
+msgid "Line Thickness:"
+msgstr ""
+
+#: ../src/vikcoordlayer.c:66
+msgid "Coordinate"
+msgstr ""
+
+#: ../src/datasource_bfilter.c:46
+msgid "Max number of points:"
+msgstr ""
+
+#: ../src/datasource_bfilter.c:60
+msgid "Simplify All Tracks..."
+msgstr ""
+
+#: ../src/datasource_bfilter.c:61
+msgid "Simplified Tracks"
+msgstr ""
+
+#: ../src/datasource_bfilter.c:96 ../src/datasource_bfilter.c:97
+msgid "Remove Duplicate Waypoints"
+msgstr "Desaniciar puntos de vía duplicaos"
+
+#: ../src/datasource_bfilter.c:129
+msgid "Waypoints Inside This"
+msgstr "Puntos de vía dientro d'esti"
+
+#: ../src/datasource_bfilter.c:130
+msgid "Polygonized Layer"
+msgstr ""
+
+#: ../src/datasource_bfilter.c:165
+msgid "Waypoints Outside This"
+msgstr "Puntos de vía fuera d'esti"
+
+#: ../src/datasource_bfilter.c:166
+msgid "Polygonzied Layer"
+msgstr ""
+
+#: ../src/main.c:92
+#, c-format
+msgid "Ignoring Xlib error: error code %d request code %d\n"
+msgstr ""
+
+#: ../src/main.c:105
+msgid "Enable debug output"
+msgstr ""
+
+#: ../src/main.c:106
+msgid "Enable verbose output"
+msgstr ""
+
+#: ../src/main.c:107
+msgid "Show version"
+msgstr ""
+
+#: ../src/osm.c:99
+msgid "On Disk OSM Tile Format"
+msgstr ""
+
+#: ../src/osm.c:113
+msgid "OSM (view)"
+msgstr ""
+
+#: ../src/osm.c:117
+msgid "OSM (edit)"
+msgstr ""
+
+#: ../src/osm.c:121
+msgid "OSM (render)"
+msgstr ""
+
+#. Example: http://127.0.0.1:8111/load_and_zoom?left=8.19&right=8.20&top=48.605&bottom=48.590&select=node413602999
+#. JOSM or merkaartor must already be running with remote interface enabled
+#: ../src/osm.c:128
+msgid "Local port 8111 (eg JOSM)"
+msgstr ""
+
+#: ../src/osm.c:134
+msgid "OpenStreetMap Notes"
+msgstr ""
+
+#: ../src/osm.c:138
+msgid "OpenStreetBugs"
+msgstr ""
+
+#. Not really OSM but can't be bothered to create somewhere else to put it...
+#: ../src/osm.c:164
+msgid "Wikimedia Toolserver GeoHack"
+msgstr ""
+
+#: ../src/preferences.c:191
+msgid "Preferences"
+msgstr ""
+
+#: ../src/viklayer_defaults.c:232
+#, c-format
+msgid "Could not open file: %s"
+msgstr ""
+
+#: ../src/viklayer_defaults.c:303
+msgid "Layer Defaults"
+msgstr ""
+
+#: ../src/uibuilder.c:185
+msgid "Take care that this password will be stored clearly in a plain file."
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:42
+msgid "Aggregate"
+msgstr ""
+
+#. VikLayersPanel *vlp = VIK_LAYERS_PANEL(lav[1]);
+#: ../src/vikaggregatelayer.c:484 ../src/viktrwlayer.c:10238
+#, c-format
+msgid "%s: Track and Route List"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:529 ../src/viktrwlayer.c:7354
+#: ../src/viktrwlayer.c:7420 ../src/viktrwlayer.c:7498
+msgid "_Visibility"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:534
+msgid "_Show All"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:540
+msgid "_Hide All"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:546 ../src/viktrwlayer.c:7371
+#: ../src/viktrwlayer.c:7437 ../src/viktrwlayer.c:7515
+msgid "_Toggle"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:553 ../src/viktrwlayer.c:7536
+msgid "_Sort"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:559 ../src/viktrwlayer.c:7542
+msgid "Name _Ascending"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:565 ../src/viktrwlayer.c:7548
+msgid "Name _Descending"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:571 ../src/viktrwlayer.c:7449
+#: ../src/viktrwlayer.c:7527 ../src/viktrwlayer.c:7587
+#: ../src/viktrwlayer_tracklist.c:237
+msgid "_Statistics"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:576 ../src/viktrwlayer.c:3971
+msgid "Track _List..."
+msgstr ""
+
+#: ../src/vikdemlayer.c:92
+msgid "Absolute height"
+msgstr ""
+
+#: ../src/vikdemlayer.c:93
+msgid "Height gradient"
+msgstr ""
+
+#: ../src/vikdemlayer.c:118
+msgid "DEM Files:"
+msgstr ""
+
+#: ../src/vikdemlayer.c:119
+msgid "Download Source:"
+msgstr ""
+
+#: ../src/vikdemlayer.c:120
+msgid "Min Elev Color:"
+msgstr ""
+
+#: ../src/vikdemlayer.c:121
+msgid "Type:"
+msgstr ""
+
+#: ../src/vikdemlayer.c:122
+msgid "Min Elev:"
+msgstr ""
+
+#: ../src/vikdemlayer.c:123
+msgid "Max Elev:"
+msgstr ""
+
+#: ../src/vikdemlayer.c:134
+msgid "_DEM Download"
+msgstr ""
+
+#: ../src/vikdemlayer.c:134
+msgid "DEM Download"
+msgstr ""
+
+#: ../src/vikdemlayer.c:188
+msgid "DEM"
+msgstr ""
+
+#: ../src/vikdemlayer.c:287
+#, c-format
+msgid "Number of files: %d"
+msgstr ""
+
+#: ../src/vikdemlayer.c:427
+msgid "DEM Loading"
+msgstr ""
+
+#: ../src/vikdemlayer.c:937
+#, c-format
+msgid "No SRTM data available for %f, %f"
+msgstr ""
+
+#. Probably not over any land...
+#: ../src/vikdemlayer.c:1193
+msgid "No DEM File Available"
+msgstr ""
+
+#: ../src/vikdemlayer.c:1212
+#, c-format
+msgid ""
+"\n"
+"Source: %s\n"
+"\n"
+"DEM File: %s\n"
+"DEM File Timestamp: %s"
+msgstr ""
+
+#: ../src/vikdemlayer.c:1216
+#, c-format
+msgid ""
+"Source: %s\n"
+"\n"
+"No DEM File!"
+msgstr ""
+
+#: ../src/vikdemlayer.c:1256
+#, c-format
+msgid "Downloading DEM %s"
+msgstr ""
+
+#: ../src/vikdemlayer.c:1280
+msgid "_Show DEM File Information"
+msgstr ""
+
+#: ../src/vikfileentry.c:68
+msgid "Browse..."
+msgstr ""
+
+#: ../src/vikfileentry.c:96
+msgid "Choose file"
+msgstr ""
+
+#: ../src/vikfilelist.c:48
+msgid "Choose file(s)"
+msgstr ""
+
+#: ../src/vikfilelist.c:172
+msgid "Add..."
+msgstr ""
+
+#: ../src/vikfilelist.c:173
+msgid "Delete"
+msgstr ""
+
+#: ../src/vikgeoreflayer.c:78
+msgid "_Georef Move Map"
+msgstr ""
+
+#: ../src/vikgeoreflayer.c:78
+msgid "Georef Move Map"
+msgstr ""
+
+#: ../src/vikgeoreflayer.c:85
+msgid "Georef Z_oom Tool"
+msgstr ""
+
+#: ../src/vikgeoreflayer.c:85
+msgid "Georef Zoom Tool"
+msgstr ""
+
+#: ../src/vikgeoreflayer.c:95
+msgid "GeoRef Map"
+msgstr ""
+
+#: ../src/vikgeoreflayer.c:377 ../src/vikmapslayer.c:720
+#, c-format
+msgid "Couldn't open image file: %s"
+msgstr ""
+
+#: ../src/vikgeoreflayer.c:391
+msgid ""
+"GeoRef map cannot be displayed in the current drawmode.\n"
+"Select \"UTM Mode\" from View menu to view it."
+msgstr ""
+
+#: ../src/vikgeoreflayer.c:415
+msgid "Unexpected end of file reading World file."
+msgstr ""
+
+#: ../src/vikgeoreflayer.c:431 ../src/vikgeoreflayer.c:476
+msgid "Choose World file"
+msgstr ""
+
+#: ../src/vikgeoreflayer.c:444
+msgid "The World file you requested could not be opened for reading."
+msgstr ""
+
+#: ../src/vikgeoreflayer.c:489
+msgid "The file you requested could not be opened for writing."
+msgstr ""
+
+#: ../src/vikgeoreflayer.c:506 ../src/viklayer.c:518
+msgid "Layer Properties"
+msgstr ""
+
+#: ../src/vikgeoreflayer.c:528
+msgid "World File Parameters:"
+msgstr ""
+
+#: ../src/vikgeoreflayer.c:529
+msgid "Load From File..."
+msgstr ""
+
+#: ../src/vikgeoreflayer.c:534
+msgid "Corner pixel easting:"
+msgstr ""
+
+#: ../src/vikgeoreflayer.c:536
+msgid "the UTM \"easting\" value of the upper-left corner pixel of the map"
+msgstr ""
+
+#: ../src/vikgeoreflayer.c:538
+msgid "Corner pixel northing:"
+msgstr ""
+
+#: ../src/vikgeoreflayer.c:540
+msgid "the UTM \"northing\" value of the upper-left corner pixel of the map"
+msgstr ""
+
+#: ../src/vikgeoreflayer.c:542
+msgid "X (easting) scale (mpp): "
+msgstr ""
+
+#: ../src/vikgeoreflayer.c:543
+msgid "Y (northing) scale (mpp): "
+msgstr ""
+
+#: ../src/vikgeoreflayer.c:546
+msgid "the scale of the map in the X direction (meters per pixel)"
+msgstr ""
+
+#: ../src/vikgeoreflayer.c:548
+msgid "the scale of the map in the Y direction (meters per pixel)"
+msgstr ""
+
+#: ../src/vikgeoreflayer.c:550
+msgid "Map Image:"
+msgstr ""
+
+#. Now with icons
+#: ../src/vikgeoreflayer.c:658
+msgid "_Zoom to Fit Map"
+msgstr ""
+
+#: ../src/vikgeoreflayer.c:664
+msgid "_Goto Map Center"
+msgstr ""
+
+#: ../src/vikgeoreflayer.c:670
+msgid "_Export to World File"
+msgstr ""
+
+#: ../src/vikgoto.c:81
+msgid "No goto tool available."
+msgstr ""
+
+#: ../src/vikgoto.c:94 ../src/vikgoto.c:148
+msgid "goto"
+msgstr ""
+
+#: ../src/vikgoto.c:96
+msgid "I don't know that place. Do you want another goto?"
+msgstr ""
+
+#: ../src/vikgoto.c:150
+msgid "goto provider:"
+msgstr ""
+
+#: ../src/vikgoto.c:165
+msgid "Enter address or place name:"
+msgstr ""
+
+#: ../src/vikgoto.c:363
+msgid "Locality"
+msgstr ""
+
+#: ../src/vikgpslayer.c:128
+msgid "Data Mode"
+msgstr ""
+
+#: ../src/vikgpslayer.c:130
+msgid "Realtime Tracking Mode"
+msgstr ""
+
+#: ../src/vikgpslayer.c:167
+msgid "Keep vehicle at center"
+msgstr ""
+
+#: ../src/vikgpslayer.c:168
+msgid "Keep vehicle on screen"
+msgstr ""
+
+#: ../src/vikgpslayer.c:169
+msgid "Disable"
+msgstr ""
+
+#: ../src/vikgpslayer.c:209
+msgid "Download Tracks:"
+msgstr ""
+
+#: ../src/vikgpslayer.c:210
+msgid "Upload Tracks:"
+msgstr ""
+
+#: ../src/vikgpslayer.c:211
+msgid "Download Routes:"
+msgstr ""
+
+#: ../src/vikgpslayer.c:212
+msgid "Upload Routes:"
+msgstr ""
+
+#: ../src/vikgpslayer.c:213
+msgid "Download Waypoints:"
+msgstr "Descargar puntos de vía"
+
+#: ../src/vikgpslayer.c:214
+msgid "Upload Waypoints:"
+msgstr "Xubir puntos de vía"
+
+#: ../src/vikgpslayer.c:216
+msgid "Recording tracks"
+msgstr ""
+
+#: ../src/vikgpslayer.c:217
+msgid "Jump to current position on start"
+msgstr ""
+
+#: ../src/vikgpslayer.c:218
+msgid "Moving Map Method:"
+msgstr ""
+
+#: ../src/vikgpslayer.c:219
+msgid "Update Statusbar:"
+msgstr ""
+
+#: ../src/vikgpslayer.c:219
+msgid "Display information in the statusbar on GPS updates"
+msgstr ""
+
+#: ../src/vikgpslayer.c:220
+msgid "Gpsd Host:"
+msgstr ""
+
+#: ../src/vikgpslayer.c:221
+msgid "Gpsd Port:"
+msgstr ""
+
+#: ../src/vikgpslayer.c:222
+msgid "Gpsd Retry Interval (seconds):"
+msgstr ""
+
+#: ../src/vikgpslayer.c:243
+msgid "GPS"
+msgstr ""
+
+#: ../src/vikgpslayer.c:306 ../src/vikgpslayer.c:1308
+msgid "GPS Download"
+msgstr ""
+
+#: ../src/vikgpslayer.c:306 ../src/vikgpslayer.c:1308
+#: ../src/viktrwlayer.c:3480
+msgid "GPS Upload"
+msgstr ""
+
+#: ../src/vikgpslayer.c:308
+msgid "GPS Realtime Tracking"
+msgstr ""
+
+#: ../src/vikgpslayer.c:517
+msgid "Unknown GPS Protocol"
+msgstr ""
+
+#: ../src/vikgpslayer.c:535
+msgid "Unknown serial port device"
+msgstr ""
+
+#: ../src/vikgpslayer.c:648
+#, c-format
+msgid "%s: unknown parameter"
+msgstr ""
+
+#. Now with icons
+#: ../src/vikgpslayer.c:743
+msgid "_Upload to GPS"
+msgstr ""
+
+#: ../src/vikgpslayer.c:749
+msgid "Download from _GPS"
+msgstr ""
+
+#: ../src/vikgpslayer.c:770
+msgid "Empty _Realtime"
+msgstr ""
+
+#: ../src/vikgpslayer.c:777
+msgid "E_mpty Upload"
+msgstr ""
+
+#: ../src/vikgpslayer.c:783
+msgid "_Empty Download"
+msgstr ""
+
+#: ../src/vikgpslayer.c:789
+msgid "Empty _All"
+msgstr ""
+
+#.
+#. NB It's not fatal if this gives 2 for example! Hence removal of the g_assert
+#. This happens when copied GPS layer is deleted (not sure why the number_handlers would be 2)
+#. I don't think there's any side effects and certainly better than the program just aborting
+#.
+#: ../src/vikgpslayer.c:806
+#, c-format
+msgid "Unexpected number of disconnected handlers: %d"
+msgstr ""
+
+#: ../src/vikgpslayer.c:948
+#, c-format
+msgid "Uploading %d waypoint..."
+msgid_plural "Uploading %d waypoints..."
+msgstr[0] "Xubiendo %d puntu de vía..."
+msgstr[1] "Xubiendo %d puntos de vía..."
+
+#: ../src/vikgpslayer.c:949
+#, c-format
+msgid "Uploading %d trackpoint..."
+msgid_plural "Uploading %d trackpoints..."
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/vikgpslayer.c:950
+#, c-format
+msgid "Uploading %d routepoint..."
+msgid_plural "Uploading %d routepoints..."
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/vikgpslayer.c:975
+#, c-format
+msgid "Downloaded %d out of %d waypoint..."
+msgid_plural "Downloaded %d out of %d waypoints..."
+msgstr[0] "Descargáu %d de %d puntos de vía..."
+msgstr[1] "Descargaos %d de %d puntos de vía..."
+
+#: ../src/vikgpslayer.c:976
+#, c-format
+msgid "Downloaded %d out of %d trackpoint..."
+msgid_plural "Downloaded %d out of %d trackpoints..."
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/vikgpslayer.c:977
+#, c-format
+msgid "Downloaded %d out of %d routepoint..."
+msgid_plural "Downloaded %d out of %d routepoints..."
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/vikgpslayer.c:982
+#, c-format
+msgid "Uploaded %d out of %d waypoint..."
+msgid_plural "Uploaded %d out of %d waypoints..."
+msgstr[0] "Xubíu %d de %d puntos de vía..."
+msgstr[1] "Xubíos %d de %d puntos de vía..."
+
+#: ../src/vikgpslayer.c:983
+#, c-format
+msgid "Uploaded %d out of %d trackpoint..."
+msgid_plural "Uploaded %d out of %d trackpoints..."
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/vikgpslayer.c:984
+#, c-format
+msgid "Uploaded %d out of %d routepoint..."
+msgid_plural "Uploaded %d out of %d routepoints..."
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/vikgpslayer.c:992
+#, c-format
+msgid "Downloaded %d waypoint"
+msgid_plural "Downloaded %d waypoints"
+msgstr[0] "Descargáu %d puntu de vía"
+msgstr[1] "Descargaos %d puntos de vía"
+
+#: ../src/vikgpslayer.c:993
+#, c-format
+msgid "Downloaded %d trackpoint"
+msgid_plural "Downloaded %d trackpoints"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/vikgpslayer.c:994
+#, c-format
+msgid "Downloaded %d routepoint"
+msgid_plural "Downloaded %d routepoints"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/vikgpslayer.c:999
+#, c-format
+msgid "Uploaded %d waypoint"
+msgid_plural "Uploaded %d waypoints"
+msgstr[0] "Xubíu %d puntu de vía"
+msgstr[1] "Xubíos %d puntos de vía"
+
+#: ../src/vikgpslayer.c:1000
+#, c-format
+msgid "Uploaded %d trackpoint"
+msgid_plural "Uploaded %d trackpoints"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/vikgpslayer.c:1001
+#, c-format
+msgid "Uploaded %d routepoint"
+msgid_plural "Uploaded %d routepoints"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/vikgpslayer.c:1230
+msgid "Error: couldn't find gpsbabel."
+msgstr ""
+
+#: ../src/vikgpslayer.c:1319
+msgid "Warning - GPS Upload items may overwrite each other"
+msgstr ""
+
+#: ../src/vikgpslayer.c:1351
+msgid "Status: detecting gpsbabel"
+msgstr ""
+
+#: ../src/vikgpslayer.c:1386
+msgid "No GPS items selected for transfer."
+msgstr ""
+
+#: ../src/vikgpslayer.c:1401
+msgid "Could not turn off device."
+msgstr ""
+
+#: ../src/vikgpslayer.c:1439
+msgid "Are you sure you want to delete GPS Upload data?"
+msgstr ""
+
+#: ../src/vikgpslayer.c:1452
+msgid "Are you sure you want to delete GPS Download data?"
+msgstr ""
+
+#: ../src/vikgpslayer.c:1466
+msgid "Are you sure you want to delete GPS Realtime data?"
+msgstr ""
+
+#: ../src/vikgpslayer.c:1479
+msgid "Are you sure you want to delete All GPS data?"
+msgstr ""
+
+#: ../src/viklayerspanel.c:53
+msgid "C_ut"
+msgstr ""
+
+#: ../src/viklayerspanel.c:54 ../src/vikwindow.c:3753
+msgid "_Copy"
+msgstr ""
+
+#: ../src/viklayerspanel.c:55 ../src/vikwindow.c:3754
+msgid "_Paste"
+msgstr ""
+
+#: ../src/viklayerspanel.c:56 ../src/vikwindow.c:3755
+msgid "_Delete"
+msgstr ""
+
+#: ../src/viklayerspanel.c:133
+msgid "New Layer"
+msgstr ""
+
+#: ../src/viklayerspanel.c:178
+msgid "Top Layer"
+msgstr ""
+
+#: ../src/viklayerspanel.c:194
+msgid "Add new layer"
+msgstr ""
+
+#: ../src/viklayerspanel.c:201
+msgid "Remove selected layer"
+msgstr ""
+
+#: ../src/viklayerspanel.c:208
+msgid "Move selected layer up"
+msgstr ""
+
+#: ../src/viklayerspanel.c:215
+msgid "Move selected layer down"
+msgstr ""
+
+#: ../src/viklayerspanel.c:222
+msgid "Cut selected layer"
+msgstr ""
+
+#: ../src/viklayerspanel.c:229
+msgid "Copy selected layer"
+msgstr ""
+
+#: ../src/viklayerspanel.c:236
+msgid ""
+"Paste layer into selected container layer or otherwise above selected layer"
+msgstr ""
+
+#: ../src/viklayerspanel.c:300
+msgid "New name can not be blank."
+msgstr ""
+
+#: ../src/viklayerspanel.c:544
+msgid "Aggregate Layers have no settable properties."
+msgstr ""
+
+#: ../src/viklayerspanel.c:588
+msgid "You cannot cut the Top Layer."
+msgstr ""
+
+#: ../src/viklayerspanel.c:633
+#, c-format
+msgid "Are you sure you want to delete %s?"
+msgstr ""
+
+#: ../src/viklayerspanel.c:650
+msgid "You cannot delete the Top Layer."
+msgstr ""
+
+#: ../src/viklayerspanel.c:734
+msgid "Are you sure you wish to delete all layers?"
+msgstr ""
+
+#. ******* MAPZOOMS ********
+#: ../src/vikmapslayer.c:80
+msgid "Use Viking Zoom Level"
+msgstr ""
+
+#: ../src/vikmapslayer.c:124
+msgid "Map Type:"
+msgstr ""
+
+#: ../src/vikmapslayer.c:125
+msgid "Maps Directory:"
+msgstr ""
+
+#: ../src/vikmapslayer.c:126
+msgid "Alpha:"
+msgstr ""
+
+#: ../src/vikmapslayer.c:127
+msgid "Control the Alpha value for transparency effects"
+msgstr ""
+
+#: ../src/vikmapslayer.c:128
+msgid "Autodownload maps:"
+msgstr ""
+
+#: ../src/vikmapslayer.c:129
+msgid "Autodownload Only Gets Missing Maps:"
+msgstr ""
+
+#: ../src/vikmapslayer.c:130
+msgid ""
+"Using this option avoids attempting to update already acquired tiles. This "
+"can be useful if you want to restrict the network usage, without having to "
+"resort to manual control. Only applies when 'Autodownload Maps' is on."
+msgstr ""
+
+#: ../src/vikmapslayer.c:131
+msgid "Zoom Level:"
+msgstr ""
+
+#: ../src/vikmapslayer.c:132
+msgid ""
+"Determines the method of displaying map tiles for the current zoom level. "
+"'Viking Zoom Level' uses the best matching level, otherwise setting a fixed "
+"value will always use map tiles of the specified value regardless of the "
+"actual zoom level."
+msgstr ""
+
+#: ../src/vikmapslayer.c:156
+msgid "_Maps Download"
+msgstr ""
+
+#: ../src/vikmapslayer.c:156
+msgid "Maps Download"
+msgstr ""
+
+#: ../src/vikmapslayer.c:171
+msgid "Map"
+msgstr ""
+
+#: ../src/vikmapslayer.c:259
+msgid "Default map layer directory:"
+msgstr ""
+
+#: ../src/vikmapslayer.c:259
+msgid "Choose a directory to store cached Map tiles for this layer"
+msgstr ""
+
+#: ../src/vikmapslayer.c:523
+msgid "Unknown map type"
+msgstr ""
+
+#: ../src/vikmapslayer.c:534
+msgid "Unknown Map Zoom"
+msgstr ""
+
+#: ../src/vikmapslayer.c:624
+#, c-format
+msgid ""
+"New map cannot be displayed in the current drawmode.\n"
+"Select \"%s\" from View menu to view it."
+msgstr ""
+
+#: ../src/vikmapslayer.c:798
+#, c-format
+msgid ""
+"Cowardly refusing to draw tiles or existence of tiles beyond %d zoom out "
+"factor"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1210
+#, c-format
+msgid "Redownloading up to %d %s map..."
+msgid_plural "Redownloading up to %d %s maps..."
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/vikmapslayer.c:1212
+#, c-format
+msgid "Redownloading %d %s map..."
+msgid_plural "Redownloading %d %s maps..."
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/vikmapslayer.c:1216 ../src/vikmapslayer.c:1290
+#, c-format
+msgid "Downloading %d %s map..."
+msgid_plural "Downloading %d %s maps..."
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/vikmapslayer.c:1376
+#, c-format
+msgid ""
+"\n"
+"Source: %s\n"
+"\n"
+"Tile File: %s\n"
+"Tile File Timestamp: %s"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1380
+#, c-format
+msgid ""
+"Source: %s\n"
+"\n"
+"No Tile File!"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1418
+msgid "Redownload _Bad Map(s)"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1422
+msgid "Redownload _New Map(s)"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1426
+msgid "Redownload _All Map(s)"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1430
+msgid "_Show Tile Information"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1511
+#, c-format
+msgid ""
+"Wrong drawmode for this map.\n"
+"Select \"%s\" from View menu and try again."
+msgstr ""
+
+#: ../src/vikmapslayer.c:1516
+msgid "Wrong zoom level for this map."
+msgstr ""
+
+#: ../src/vikmapslayer.c:1647
+msgid "Zoom Start:"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1654
+msgid "Zoom End:"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1660
+msgid "Download Maps Method:"
+msgstr ""
+
+#. redownload method - needs to align with REDOWNLOAD* macro values
+#: ../src/vikmapslayer.c:1732
+msgid "Missing"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1732
+msgid "Bad"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1732
+msgid "New"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1732
+msgid "Reload All"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1734
+msgid "Download for Zoom Levels"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1774
+#, c-format
+msgid ""
+"You are not allowed to download more than %d tiles in one go (requested %d)"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1782
+#, c-format
+msgid "Do you really want to download %d tiles?"
+msgstr ""
+
+#. Now with icons
+#: ../src/vikmapslayer.c:1807
+msgid "Download _Missing Onscreen Maps"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1814
+msgid "Download _New Onscreen Maps"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1821
+msgid "Reload _All Onscreen Maps"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1827
+msgid "Download Maps in _Zoom Levels..."
+msgstr ""
+
+#: ../src/vikrouting.c:54
+msgid "Default engine:"
+msgstr ""
+
+#: ../src/viktreeview.c:316
+msgid "Layer Name"
+msgstr ""
+
+#: ../src/viktreeview.c:851
+#, c-format
+msgid "delete data from %s\n"
+msgstr ""
+
+#: ../src/viktrwlayer.c:398
+msgid "Create _Waypoint"
+msgstr "Crear puntu de _vía"
+
+#: ../src/viktrwlayer.c:398
+msgid "Create Waypoint"
+msgstr "Crear puntu de vía"
+
+#: ../src/viktrwlayer.c:404
+msgid "Create _Track"
+msgstr ""
+
+#: ../src/viktrwlayer.c:404
+msgid "Create Track"
+msgstr ""
+
+#: ../src/viktrwlayer.c:413
+msgid "Create _Route"
+msgstr ""
+
+#: ../src/viktrwlayer.c:413
+msgid "Create Route"
+msgstr ""
+
+#: ../src/viktrwlayer.c:422
+msgid "_Edit Waypoint"
+msgstr "_Editar puntu de vía"
+
+#: ../src/viktrwlayer.c:422
+msgid "Edit Waypoint"
+msgstr "Editar puntu de vía"
+
+#: ../src/viktrwlayer.c:432
+msgid "Edit Trac_kpoint"
+msgstr ""
+
+#: ../src/viktrwlayer.c:432
+msgid "Edit Trackpoint"
+msgstr ""
+
+#: ../src/viktrwlayer.c:442
+msgid "Show P_icture"
+msgstr ""
+
+#: ../src/viktrwlayer.c:442
+msgid "Show Picture"
+msgstr ""
+
+#: ../src/viktrwlayer.c:448
+msgid "Route _Finder"
+msgstr ""
+
+#: ../src/viktrwlayer.c:448
+msgid "Route Finder"
+msgstr ""
+
+#. ***** PARAMETERS *****
+#: ../src/viktrwlayer.c:468 ../src/viktrwlayer.c:2324
+msgid "Waypoints"
+msgstr "Puntos de vía"
+
+#: ../src/viktrwlayer.c:468 ../src/viktrwlayer.c:2319
+msgid "Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer.c:468
+msgid "Waypoint Images"
+msgstr "Imaxes de puntos de vía"
+
+#: ../src/viktrwlayer.c:468
+msgid "Tracks Advanced"
+msgstr ""
+
+#: ../src/viktrwlayer.c:471
+msgid "Draw by Track"
+msgstr ""
+
+#: ../src/viktrwlayer.c:471
+msgid "Draw by Speed"
+msgstr ""
+
+#: ../src/viktrwlayer.c:471
+msgid "All Tracks Same Color"
+msgstr ""
+
+#: ../src/viktrwlayer.c:472
+msgid "Filled Square"
+msgstr ""
+
+#: ../src/viktrwlayer.c:472
+msgid "Square"
+msgstr ""
+
+#: ../src/viktrwlayer.c:472
+msgid "Circle"
+msgstr ""
+
+#: ../src/viktrwlayer.c:472
+msgid "X"
+msgstr ""
+
+#: ../src/viktrwlayer.c:498
+msgid "Extra Extra Small"
+msgstr ""
+
+#: ../src/viktrwlayer.c:499
+msgid "Extra Small"
+msgstr ""
+
+#: ../src/viktrwlayer.c:500
+msgid "Small"
+msgstr ""
+
+#: ../src/viktrwlayer.c:501
+msgid "Medium"
+msgstr ""
+
+#: ../src/viktrwlayer.c:502
+msgid "Large"
+msgstr ""
+
+#: ../src/viktrwlayer.c:503
+msgid "Extra Large"
+msgstr ""
+
+#: ../src/viktrwlayer.c:504
+msgid "Extra Extra Large"
+msgstr ""
+
+#: ../src/viktrwlayer.c:510
+msgid "Name Ascending"
+msgstr ""
+
+#: ../src/viktrwlayer.c:511
+msgid "Name Descending"
+msgstr ""
+
+#: ../src/viktrwlayer.c:552 ../src/viktrwlayer.c:576
+msgid "Draw Labels"
+msgstr ""
+
+#: ../src/viktrwlayer.c:553
+msgid "Note: the individual track controls what labels may be displayed"
+msgstr ""
+
+#: ../src/viktrwlayer.c:554
+msgid "Track Labels Font Size:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:555
+msgid "Track Drawing Mode:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:556
+msgid "All Tracks Color:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:557
+msgid "The color used when 'All Tracks Same Color' drawing mode is selected"
+msgstr ""
+
+#: ../src/viktrwlayer.c:558
+msgid "Draw Track Lines"
+msgstr ""
+
+#: ../src/viktrwlayer.c:559
+msgid "Track Thickness:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:560
+msgid "Draw Track Direction"
+msgstr ""
+
+#: ../src/viktrwlayer.c:561
+msgid "Direction Size:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:562
+msgid "Draw Trackpoints"
+msgstr ""
+
+#: ../src/viktrwlayer.c:563
+msgid "Trackpoint Size:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:564
+msgid "Draw Elevation"
+msgstr ""
+
+#: ../src/viktrwlayer.c:565
+msgid "Draw Elevation Height %:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:566
+msgid "Draw Stops"
+msgstr ""
+
+#: ../src/viktrwlayer.c:567
+msgid ""
+"Whether to draw a marker when trackpoints are at the same position but over "
+"the minimum stop length apart in time"
+msgstr ""
+
+#: ../src/viktrwlayer.c:568
+msgid "Min Stop Length (seconds):"
+msgstr ""
+
+#: ../src/viktrwlayer.c:570
+msgid "Track BG Thickness:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:571
+msgid "Track Background Color"
+msgstr ""
+
+#: ../src/viktrwlayer.c:572
+msgid "Draw by Speed Factor (%):"
+msgstr ""
+
+#: ../src/viktrwlayer.c:573
+msgid ""
+"The percentage factor away from the average speed determining the color used"
+msgstr ""
+
+#: ../src/viktrwlayer.c:574
+msgid "Track Sort Order:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:577
+msgid "Waypoint Font Size:"
+msgstr "Tamañu de lletra de puntu de vía:"
+
+#: ../src/viktrwlayer.c:578
+msgid "Waypoint Color:"
+msgstr "Color de puntu de vía:"
+
+#: ../src/viktrwlayer.c:579
+msgid "Waypoint Text:"
+msgstr "Testu de puntu de vía:"
+
+#: ../src/viktrwlayer.c:580
+msgid "Background:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:581
+msgid "Fake BG Color Translucency:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:582
+msgid "Waypoint marker:"
+msgstr "Marcador de puntu de vía:"
+
+#: ../src/viktrwlayer.c:583
+msgid "Waypoint size:"
+msgstr "Tamañu de puntu de vía:"
+
+#: ../src/viktrwlayer.c:584
+msgid "Draw Waypoint Symbols:"
+msgstr "Dibuxar símbolos de puntu de vía:"
+
+#: ../src/viktrwlayer.c:585
+msgid "Waypoint Sort Order:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:587
+msgid "Draw Waypoint Images"
+msgstr "Dibuxar imaxes de puntu de vía"
+
+#: ../src/viktrwlayer.c:588
+msgid "Image Size (pixels):"
+msgstr ""
+
+#: ../src/viktrwlayer.c:589
+msgid "Image Alpha:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:590
+msgid "Image Memory Cache Size:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:678
+msgid "TrackWaypoint"
+msgstr ""
+
+#: ../src/viktrwlayer.c:1534 ../src/vikutils.c:204
+msgid "miles"
+msgstr ""
+
+#. VIK_UNITS_DISTANCE_KILOMETRES:
+#: ../src/viktrwlayer.c:1538 ../src/vikutils.c:209
+msgid "km"
+msgstr ""
+
+#: ../src/viktrwlayer.c:1648
+msgid "start/end"
+msgstr ""
+
+#: ../src/viktrwlayer.c:1660
+msgid "start"
+msgstr ""
+
+#: ../src/viktrwlayer.c:1669
+msgid "end"
+msgstr ""
+
+#: ../src/viktrwlayer.c:2329
+msgid "Routes"
+msgstr ""
+
+#: ../src/viktrwlayer.c:2519
+#, c-format
+msgid " in %d:%02d hrs:mins"
+msgstr ""
+
+#: ../src/viktrwlayer.c:2523
+#, c-format
+msgid ""
+"\n"
+"%sTotal Length %.1f %s%s"
+msgstr ""
+
+#: ../src/viktrwlayer.c:2529
+#, c-format
+msgid "Tracks: %d - Waypoints: %d - Routes: %d%s"
+msgstr "Pistes: %d - Puntos de vía: %d - Rutes: %d%s"
+
+#: ../src/viktrwlayer.c:2549
+#, c-format
+msgid "Tracks: %d"
+msgstr ""
+
+#: ../src/viktrwlayer.c:2559
+#, c-format
+msgid "Routes: %d"
+msgstr ""
+
+#: ../src/viktrwlayer.c:2590
+#, c-format
+msgid "- %d:%02d hrs:mins"
+msgstr ""
+
+#: ../src/viktrwlayer.c:2598
+#, c-format
+msgid "%s%.1f km %s"
+msgstr ""
+
+#: ../src/viktrwlayer.c:2601
+#, c-format
+msgid "%s%.1f miles %s"
+msgstr ""
+
+#: ../src/viktrwlayer.c:2615
+#, c-format
+msgid "Waypoints: %d"
+msgstr "Puntos de vía: %d"
+
+#: ../src/viktrwlayer.c:2671
+#, c-format
+msgid "Wpt: Alt %dft"
+msgstr ""
+
+#. VIK_UNITS_HEIGHT_METRES:
+#: ../src/viktrwlayer.c:2675
+#, c-format
+msgid "Wpt: Alt %dm"
+msgstr ""
+
+#. Add comment if available
+#: ../src/viktrwlayer.c:2690
+#, c-format
+msgid "%s | %s %s | Comment: %s"
+msgstr ""
+
+#: ../src/viktrwlayer.c:2692
+#, c-format
+msgid "%s | %s %s"
+msgstr ""
+
+#: ../src/viktrwlayer.c:2939 ../src/viktrwlayer.c:3010
+msgid "This layer has no waypoints or trackpoints."
+msgstr "Esta capa nun tien puntos de vía nin de pista."
+
+#: ../src/viktrwlayer.c:3045 ../src/vikwindow.c:2754 ../src/vikwindow.c:3407
+#, c-format
+msgid "The file \"%s\" exists, do you wish to overwrite it?"
+msgstr ""
+
+#: ../src/viktrwlayer.c:3057 ../src/vikwindow.c:2778
+msgid "The filename you requested could not be opened for writing."
+msgstr ""
+
+#: ../src/viktrwlayer.c:3062 ../src/viktrwlayer.c:3067
+#: ../src/viktrwlayer.c:3077 ../src/viktrwlayer.c:3089
+msgid "Export Layer"
+msgstr ""
+
+#: ../src/viktrwlayer.c:3108
+msgid "Could not create temporary file for export."
+msgstr ""
+
+#: ../src/viktrwlayer.c:3117
+#, c-format
+msgid "Could not launch %s."
+msgstr ""
+
+#: ../src/viktrwlayer.c:3161
+msgid "Export Track as GPX"
+msgstr ""
+
+#: ../src/viktrwlayer.c:3183
+msgid "Find"
+msgstr ""
+
+#: ../src/viktrwlayer.c:3193
+msgid "Waypoint Name:"
+msgstr "Nome del puntu de vía:"
+
+#: ../src/viktrwlayer.c:3210
+msgid "Waypoint not found in this layer."
+msgstr "El puntu de vía nun s'alcuentra nesta capa."
+
+#: ../src/viktrwlayer.c:3476
+msgid "Can not upload invisible track."
+msgstr ""
+
+#: ../src/viktrwlayer.c:3581 ../src/viktrwlayer.c:9283
+msgid "Track"
+msgstr ""
+
+#: ../src/viktrwlayer.c:3606 ../src/viktrwlayer.c:9316
+msgid "Route"
+msgstr ""
+
+#: ../src/viktrwlayer.c:3691 ../src/viktrwlayer.c:7460
+#: ../src/viktrwlayer.c:7566
+msgid "_Finish Route"
+msgstr ""
+
+#: ../src/viktrwlayer.c:3693 ../src/viktrwlayer.c:7383
+#: ../src/viktrwlayer.c:7564
+msgid "_Finish Track"
+msgstr ""
+
+#. Now with icons
+#: ../src/viktrwlayer.c:3705
+msgid "_View Layer"
+msgstr ""
+
+#: ../src/viktrwlayer.c:3712
+msgid "V_iew"
+msgstr ""
+
+#: ../src/viktrwlayer.c:3718
+msgid "View All _Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer.c:3723
+msgid "View All _Routes"
+msgstr ""
+
+#: ../src/viktrwlayer.c:3728
+msgid "View All _Waypoints"
+msgstr "Ver tolos puntos de _vía"
+
+#: ../src/viktrwlayer.c:3733
+msgid "_Goto Center of Layer"
+msgstr ""
+
+#: ../src/viktrwlayer.c:3739 ../src/viktrwlayer.c:7335
+msgid "Goto _Waypoint..."
+msgstr "Dir a puntu de _vía..."
+
+#: ../src/viktrwlayer.c:3745
+msgid "_Export Layer"
+msgstr ""
+
+#: ../src/viktrwlayer.c:3751
+msgid "Export as GPS_Point..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:3756
+msgid "Export as GPS_Mapper..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:3761
+msgid "Export as _GPX..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:3766
+msgid "Export as _KML..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:3771
+msgid "Open with External Program_1: "
+msgstr ""
+
+#: ../src/viktrwlayer.c:3778
+msgid "Open with External Program_2: "
+msgstr ""
+
+#: ../src/viktrwlayer.c:3786 ../src/vikwindow.c:3704
+msgid "_New"
+msgstr ""
+
+#: ../src/viktrwlayer.c:3792
+msgid "New _Waypoint..."
+msgstr "Puntu de _vía nuevu..."
+
+#: ../src/viktrwlayer.c:3798
+msgid "New _Track"
+msgstr ""
+
+#: ../src/viktrwlayer.c:3806
+msgid "New _Route"
+msgstr ""
+
+#: ../src/viktrwlayer.c:3815 ../src/viktrwlayer.c:7938
+msgid "Geotag _Images..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:3822
+msgid "_Acquire"
+msgstr ""
+
+#: ../src/viktrwlayer.c:3828 ../src/vikwindow.c:3711
+msgid "From _GPS..."
+msgstr ""
+
+#. FIXME: only add menu when at least a routing engine has support for Directions
+#: ../src/viktrwlayer.c:3834
+msgid "From _Directions..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:3840
+msgid "From _OSM Traces..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:3845
+msgid "From _My OSM Traces..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:3853 ../src/vikwindow.c:3725
+msgid "From _Wikipedia Waypoints"
+msgstr "Puntos de vía dende _Uiquipedia"
+
+#: ../src/viktrwlayer.c:3859
+msgid "Within _Layer Bounds"
+msgstr ""
+
+#: ../src/viktrwlayer.c:3865
+msgid "Within _Current View"
+msgstr ""
+
+#: ../src/viktrwlayer.c:3873
+msgid "From Geo_caching..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:3880 ../src/vikwindow.c:3722
+msgid "From Geotagged _Images..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:3886
+msgid "From _File..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:3894 ../src/viktrwlayer.c:7883
+msgid "_Upload"
+msgstr ""
+
+#: ../src/viktrwlayer.c:3900
+msgid "Upload to _GPS..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:3907 ../src/viktrwlayer.c:7911
+msgid "Upload to _OSM..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:3915
+msgid "De_lete"
+msgstr ""
+
+#: ../src/viktrwlayer.c:3921
+msgid "Delete All _Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer.c:3927
+msgid "Delete Tracks _From Selection..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:3933 ../src/viktrwlayer.c:7485
+msgid "Delete _All Routes"
+msgstr ""
+
+#: ../src/viktrwlayer.c:3939 ../src/viktrwlayer.c:7491
+msgid "_Delete Routes From Selection..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:3945
+msgid "Delete All _Waypoints"
+msgstr "Desaniciar tolos puntos de _vía"
+
+#: ../src/viktrwlayer.c:3951
+msgid "Delete Waypoints From _Selection..."
+msgstr "Desaniciar puntos de vía dende _seleición..."
+
+#: ../src/viktrwlayer.c:4574
+#, c-format
+msgid "Are you sure you want to delete all tracks in %s?"
+msgstr ""
+
+#: ../src/viktrwlayer.c:4584
+#, c-format
+msgid "Are you sure you want to delete all routes in %s?"
+msgstr ""
+
+#: ../src/viktrwlayer.c:4594
+#, c-format
+msgid "Are you sure you want to delete all waypoints in %s?"
+msgstr "¿Seguro que quier desaniciar tolos puntos de vía de %s?"
+
+#: ../src/viktrwlayer.c:4611
+#, c-format
+msgid "Are you sure you want to delete the waypoint \"%s\"?"
+msgstr ""
+
+#: ../src/viktrwlayer.c:4624
+#, c-format
+msgid "Are you sure you want to delete the track \"%s\"?"
+msgstr ""
+
+#: ../src/viktrwlayer.c:4637
+#, c-format
+msgid "Are you sure you want to delete the route \"%s\"?"
+msgstr ""
+
+#: ../src/viktrwlayer.c:4849 ../src/viktrwlayer.c:5677
+msgid ""
+"Converting a track to a route removes extra track data such as segments, "
+"timestamps, etc...\n"
+"Do you want to continue?"
+msgstr ""
+
+#: ../src/viktrwlayer.c:4944
+msgid "No DEM layers available, thus no DEM values can be applied."
+msgstr ""
+
+#: ../src/viktrwlayer.c:4964 ../src/viktrwlayer.c:5005
+#, c-format
+msgid "%ld point adjusted"
+msgid_plural "%ld points adjusted"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/viktrwlayer.c:5049
+#, c-format
+msgid "%ld waypoint changed"
+msgid_plural "%ld waypoints changed"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/viktrwlayer.c:5233
+#, c-format
+msgid ""
+"Refining a track with many points (%d) is unlikely to yield sensible "
+"results. Do you want to Continue?"
+msgstr ""
+
+#. Select engine from dialog
+#: ../src/viktrwlayer.c:5241
+msgid "Refine Route with Routing Engine..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:5249
+msgid "Select routing engine"
+msgstr ""
+
+#: ../src/viktrwlayer.c:5467
+msgid "Failed. No other tracks with timestamps in this layer found"
+msgstr ""
+
+#: ../src/viktrwlayer.c:5469
+msgid "Failed. No other tracks without timestamps in this layer found"
+msgstr ""
+
+#: ../src/viktrwlayer.c:5488
+msgid "Merge with..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:5489
+msgid "Select route to merge with"
+msgstr ""
+
+#: ../src/viktrwlayer.c:5489
+msgid "Select track to merge with"
+msgstr ""
+
+#: ../src/viktrwlayer.c:5573 ../src/viktrwlayer.c:5650
+msgid "Append Route"
+msgstr ""
+
+#: ../src/viktrwlayer.c:5573 ../src/viktrwlayer.c:5650
+msgid "Append Track"
+msgstr ""
+
+#: ../src/viktrwlayer.c:5574
+msgid "Select the route to append after the current route"
+msgstr ""
+
+#: ../src/viktrwlayer.c:5575
+msgid "Select the track to append after the current track"
+msgstr ""
+
+#: ../src/viktrwlayer.c:5651
+msgid "Select the track to append after the current route"
+msgstr ""
+
+#: ../src/viktrwlayer.c:5652
+msgid "Select the route to append after the current track"
+msgstr ""
+
+#: ../src/viktrwlayer.c:5711
+#, c-format
+msgid "%d segment merged"
+msgid_plural "%d segments merged"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/viktrwlayer.c:5727
+msgid "Failed. This track does not have timestamp"
+msgstr ""
+
+#: ../src/viktrwlayer.c:5739
+msgid "Failed. No other track in this layer has timestamp"
+msgstr ""
+
+#: ../src/viktrwlayer.c:5746
+msgid "Merge Threshold..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:5747
+msgid "Merge when time between tracks less than:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:5889
+msgid "Split Threshold..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:5890
+msgid "Split when time between trackpoints exceeds:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:5907
+#, c-format
+msgid ""
+"Can not split track due to trackpoints not ordered in time - such as at %s.\n"
+"\n"
+"Goto this trackpoint?"
+msgstr ""
+
+#: ../src/viktrwlayer.c:5976
+msgid "Split Every Nth Point"
+msgstr ""
+
+#: ../src/viktrwlayer.c:5977
+msgid "Split on every Nth point:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:6087
+msgid "Can not split track as it has no segments"
+msgstr ""
+
+#: ../src/viktrwlayer.c:6169 ../src/viktrwlayer.c:6199
+#, c-format
+msgid "Deleted %ld point"
+msgid_plural "Deleted %ld points"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/viktrwlayer.c:6392
+msgid "Internal Error in vik_trw_layer_uniquify_tracks"
+msgstr ""
+
+#: ../src/viktrwlayer.c:6496 ../src/viktrwlayer.c:6543
+#: ../src/viktrwlayer.c:6704
+msgid ""
+"Multiple entries with the same name exist. This method only works with "
+"unique names. Force unique names now?"
+msgstr ""
+
+#: ../src/viktrwlayer.c:6507
+msgid "No tracks found"
+msgstr ""
+
+#: ../src/viktrwlayer.c:6515 ../src/viktrwlayer.c:6562
+#: ../src/viktrwlayer.c:6724
+msgid "Delete Selection"
+msgstr ""
+
+#: ../src/viktrwlayer.c:6516
+msgid "Select tracks to delete"
+msgstr ""
+
+#: ../src/viktrwlayer.c:6554
+msgid "No routes found"
+msgstr ""
+
+#: ../src/viktrwlayer.c:6563
+msgid "Select routes to delete"
+msgstr ""
+
+#: ../src/viktrwlayer.c:6669
+msgid "Internal Error in vik_trw_layer_uniquify_waypoints"
+msgstr "Error internu en vik_trw_layer_uniquify_waypoints"
+
+#: ../src/viktrwlayer.c:6714
+msgid "No waypoints found"
+msgstr "Nun s'alcontraron puntos de vía"
+
+#: ../src/viktrwlayer.c:6725
+msgid "Select waypoints to delete"
+msgstr "Seleicione los puntos de vía a desaniciar"
+
+#: ../src/viktrwlayer.c:7033
+#, c-format
+msgid ""
+"A waypoint with the name \"%s\" already exists. Really rename to the same "
+"name?"
+msgstr ""
+"Yá esiste un puntu de vía col nome «%s». ¿Realmente quier camudar al mesmu "
+"nome?"
+
+#: ../src/viktrwlayer.c:7063
+#, c-format
+msgid ""
+"A track with the name \"%s\" already exists. Really rename to the same name?"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7100
+#, c-format
+msgid ""
+"A route with the name \"%s\" already exists. Really rename to the same name?"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7221 ../src/viktrwlayer.c:7594
+msgid "_Goto"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7240
+msgid "_Visit Geocache Webpage"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7259
+msgid "_Show Picture..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7267
+msgid "Update Geotag on _Image"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7273
+msgid "_Update"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7278
+msgid "Update and _Keep File Timestamp"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7289
+msgid "Visit _Webpage"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7320
+msgid "_New Waypoint..."
+msgstr "Puntu de vía _nuevu..."
+
+#: ../src/viktrwlayer.c:7329
+msgid "_View All Waypoints"
+msgstr "Ver tolos puntos de vía"
+
+#: ../src/viktrwlayer.c:7341
+msgid "Delete _All Waypoints"
+msgstr "Des_aniciar tolos puntos de vía"
+
+#: ../src/viktrwlayer.c:7347
+msgid "_Delete Waypoints From Selection..."
+msgstr "_Desaniciar puntos de vía de la seleición..."
+
+#: ../src/viktrwlayer.c:7359
+msgid "_Show All Waypoints"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7365
+msgid "_Hide All Waypoints"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7393
+msgid "_View All Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7399
+msgid "_New Track"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7407
+msgid "Delete _All Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7413
+msgid "_Delete Tracks From Selection..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7425
+msgid "_Show All Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7431
+msgid "_Hide All Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7442
+msgid "_List Tracks..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7471
+msgid "_View All Routes"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7477
+msgid "_New Route"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7503
+msgid "_Show All Routes"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7509
+msgid "_Hide All Routes"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7520
+msgid "_List Routes..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7579
+msgid "_View Track"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7581
+msgid "_View Route"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7600
+msgid "_Startpoint"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7606
+msgid "\"_Center\""
+msgstr ""
+
+#: ../src/viktrwlayer.c:7612
+msgid "_Endpoint"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7618
+msgid "_Highest Altitude"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7624
+msgid "_Lowest Altitude"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7632
+msgid "_Maximum Speed"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7641
+msgid "Co_mbine"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7649
+msgid "_Merge By Time..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7654
+msgid "Merge _Segments"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7660
+msgid "Merge _With Other Tracks..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7666
+msgid "_Append Track..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7668
+msgid "_Append Route..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7674
+msgid "Append _Route..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7676
+msgid "Append _Track..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7683
+msgid "_Split"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7691
+msgid "_Split By Time..."
+msgstr ""
+
+#. ATM always enable this entry - don't want to have to analyse the track before displaying the menu - to keep the menu speedy
+#: ../src/viktrwlayer.c:7697
+msgid "Split Se_gments"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7703
+msgid "Split By _Number of Points..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7708
+msgid "Split at _Trackpoint"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7716
+msgid "_Insert Points"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7722
+msgid "Insert Point _Before Selected Point"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7729
+msgid "Insert Point _After Selected Point"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7738
+msgid "Delete Poi_nts"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7744
+msgid "Delete _Selected Point"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7752
+msgid "Delete Points With The Same _Position"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7757
+msgid "Delete Points With The Same _Time"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7764 ../src/viktrwlayer.c:7964
+msgid "_Transform"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7772 ../src/viktrwlayer.c:7972
+msgid "_Apply DEM Data"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7777 ../src/viktrwlayer.c:7977
+msgid "_Overwrite"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7780 ../src/viktrwlayer.c:7980
+msgid "Overwrite any existing elevation values with DEM values"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7783 ../src/viktrwlayer.c:7983
+msgid "_Keep Existing"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7786 ../src/viktrwlayer.c:7986
+msgid "Keep existing elevation values, only attempt for missing values"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7791
+msgid "_Smooth Missing Elevation Data"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7796
+msgid "_Interpolated"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7799
+msgid ""
+"Interpolate between known elevation values to derive values for the missing "
+"elevations"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7802
+msgid "_Flat"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7805
+msgid "Set unknown elevation values to the last known value"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7809
+msgid "C_onvert to a Route"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7811
+msgid "C_onvert to a Track"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7819
+msgid "_Anonymize Times"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7822
+msgid "Shift timestamps to a relative offset from 1901-01-01"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7827
+msgid "_Reverse Track"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7829
+msgid "_Reverse Route"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7836
+msgid "Refine Route..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7846
+msgid "Down_load Maps Along Track..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7848
+msgid "Down_load Maps Along Route..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7856
+msgid "_Export Track as GPX..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7858
+msgid "_Export Route as GPX..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7865
+msgid "E_xtend Track End"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7867
+msgid "E_xtend Route End"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7874
+msgid "Extend _Using Route Finder"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7889
+msgid "_Upload to GPS..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7900
+msgid "_View Google Directions"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7920
+msgid "Use with _Filter"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7953
+msgid "_Edit Trackpoint"
+msgstr ""
+
+#: ../src/viktrwlayer.c:9017
+#, c-format
+msgid " - Gain %dm:Loss %dm"
+msgstr ""
+
+#: ../src/viktrwlayer.c:9019
+#, c-format
+msgid " - Gain %dft:Loss %dft"
+msgstr ""
+
+#: ../src/viktrwlayer.c:9024
+#, c-format
+msgid " - Bearing %3.1f° - Step %s"
+msgstr ""
+
+#: ../src/viktrwlayer.c:9628
+#, c-format
+msgid "Could not launch %s to open file."
+msgstr ""
+
+#: ../src/viktrwlayer.c:9709
+#, c-format
+msgid "Creating %d Image Thumbnails..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:10106
+msgid "No map layer in use. Create one first"
+msgstr ""
+
+#: ../src/viktrwlayer.c:10225
+#, c-format
+msgid "%s: Track List"
+msgstr ""
+
+#: ../src/viktrwlayer.c:10227
+#, c-format
+msgid "%s: Route List"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:828 ../src/viktrwlayer_propwin.c:1085
+#, c-format
+msgid "%.1f kph"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:831 ../src/viktrwlayer_propwin.c:1088
+#: ../src/viktrwlayer_analysis.c:290
+#, c-format
+msgid "%.1f mph"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:834 ../src/viktrwlayer_propwin.c:1091
+#, c-format
+msgid "%.1f knots"
+msgstr ""
+
+#. VIK_UNITS_SPEED_METRES_PER_SECOND:
+#: ../src/viktrwlayer_propwin.c:838 ../src/viktrwlayer_propwin.c:1095
+#, c-format
+msgid "%.1f m/s"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:1662 ../src/viktrwlayer_analysis.c:267
+#, c-format
+msgid "%.1f miles"
+msgstr ""
+
+#. VIK_UNITS_DISTANCE_KILOMETRES
+#: ../src/viktrwlayer_propwin.c:1664 ../src/viktrwlayer_analysis.c:271
+#, c-format
+msgid "%.1f km"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2582
+msgid "Failed spliting track. Track unchanged"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2724 ../src/viktrwlayer_propwin.c:3140
+#, c-format
+msgid "%s - Track Properties"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2729
+msgid "Split at _Marker"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2730
+msgid "Split _Segments"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2731
+msgid "_Reverse"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2732
+msgid "_Delete Dupl."
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2757
+msgid "<b>Comment:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2758
+msgid "<b>Description:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2759
+msgid "<b>Color:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2760
+msgid "<b>Draw Name:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2761
+msgid "<b>Distance Labels:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2764
+msgid "<b>Track Length:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2765
+msgid "<b>Trackpoints:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2766
+msgid "<b>Segments:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2767
+msgid "<b>Duplicate Points:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2768
+msgid "<b>Max Speed:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2769
+msgid "<b>Avg. Speed:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2770
+msgid "<b>Moving Avg. Speed:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2771
+msgid "<b>Avg. Dist. Between TPs:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2772
+msgid "<b>Elevation Range:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2773
+msgid "<b>Total Elevation Gain/Loss:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2774
+msgid "<b>Start:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2775
+msgid "<b>End:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2776
+msgid "<b>Duration:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2797
+msgid "No"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2798
+msgid "Centre"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2799
+msgid "Start only"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2800
+msgid "End only"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2801
+msgid "Start and End"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2802
+msgid "Centre, Start and End"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2814
+msgid "Maximum number of distance labels to be shown"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2818
+msgid "Properties"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2856 ../src/viktrwlayer_propwin.c:2880
+#: ../src/viktrwlayer_propwin.c:2908 ../src/viktrwlayer_propwin.c:2945
+#: ../src/viktrwlayer_propwin.c:2963 ../src/viktrwlayer_propwin.c:3009
+#: ../src/viktrwlayer_propwin.c:3010 ../src/viktrwlayer_propwin.c:3011
+#: ../src/viktrwlayer_propwin.c:3020 ../src/viktrwlayer_propwin.c:3021
+#: ../src/viktrwlayer_propwin.c:3036 ../src/viktrwlayer_propwin.c:3037
+#: ../src/viktrwlayer_propwin.c:3050 ../src/viktrwlayer_propwin.c:3051
+#: ../src/viktrwlayer_propwin.c:3064 ../src/viktrwlayer_propwin.c:3065
+#: ../src/viktrwlayer_propwin.c:3078 ../src/viktrwlayer_propwin.c:3079
+#: ../src/viktrwlayer_propwin.c:3092 ../src/viktrwlayer_propwin.c:3093
+#: ../src/viktrwlayer_analysis.c:257
+#, c-format
+msgid "No Data"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:3006
+#, c-format
+msgid "%d minutes"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:3016 ../src/viktrwlayer_analysis.c:515
+msgid "Statistics"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:3022
+msgid "Show D_EM"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:3023 ../src/viktrwlayer_propwin.c:3038
+#: ../src/viktrwlayer_propwin.c:3052 ../src/viktrwlayer_propwin.c:3094
+msgid "Show _GPS Speed"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:3025 ../src/viktrwlayer_propwin.c:3040
+#: ../src/viktrwlayer_propwin.c:3068 ../src/viktrwlayer_propwin.c:3096
+msgid "<b>Track Distance:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:3026 ../src/viktrwlayer_propwin.c:3083
+msgid "<b>Track Height:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:3031
+msgid "Elevation-distance"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:3041
+msgid "<b>Track Gradient:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:3045
+msgid "Gradient-distance"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:3054 ../src/viktrwlayer_propwin.c:3069
+#: ../src/viktrwlayer_propwin.c:3082
+msgid "<b>Track Time:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:3055 ../src/viktrwlayer_propwin.c:3097
+msgid "<b>Track Speed:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:3059
+msgid "Speed-time"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:3066 ../src/viktrwlayer_propwin.c:3080
+msgid "Show S_peed"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:3073
+msgid "Distance-time"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:3087
+msgid "Elevation-time"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:3101
+msgid "Speed-distance"
+msgstr ""
+
+#: ../src/viktrwlayer_tpwin.c:119
+msgid "<b>Part of Track:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_tpwin.c:120
+msgid "<b>Latitude:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_tpwin.c:121
+msgid "<b>Longitude:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_tpwin.c:122
+msgid "<b>Altitude:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_tpwin.c:123
+msgid "<b>Course:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_tpwin.c:124
+msgid "<b>Timestamp:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_tpwin.c:125
+msgid "<b>Time:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_tpwin.c:126
+msgid "<b>Distance Difference:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_tpwin.c:127
+msgid "<b>Time Difference:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_tpwin.c:128
+msgid "<b>\"Speed\" Between:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_tpwin.c:129
+msgid "<b>Speed:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_tpwin.c:130
+msgid "<b>VDOP:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_tpwin.c:131
+msgid "<b>HDOP:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_tpwin.c:132
+msgid "<b>PDOP:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_tpwin.c:133
+msgid "<b>SAT/FIX:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_tpwin.c:141
+msgid "Trackpoint"
+msgstr ""
+
+#: ../src/viktrwlayer_tpwin.c:144
+msgid "_Insert After"
+msgstr ""
+
+#: ../src/viktrwlayer_tpwin.c:146
+msgid "Split Here"
+msgstr ""
+
+#.
+#. item = gtk_image_menu_item_new_with_mnemonic ( _("_Select") );
+#. gtk_image_menu_item_set_image ( (GtkImageMenuItem*)item, gtk_image_new_from_stock (GTK_STOCK_FIND, GTK_ICON_SIZE_MENU) );
+#. g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(trw_layer_track_select), values );
+#. gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
+#. gtk_widget_show ( item );
+#.
+#. ATM view auto selects, so don't bother with separate select menu entry
+#: ../src/viktrwlayer_tracklist.c:231 ../src/vikwindow.c:3695
+msgid "_View"
+msgstr ""
+
+#. Insert column for the layer name when viewing multi layers
+#: ../src/viktrwlayer_tracklist.c:514
+msgid "Layer"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:526
+msgid "Date"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:529
+msgid "Visible"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:536
+msgid ""
+"Distance\n"
+"(miles)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:539
+msgid ""
+"Distance\n"
+"(km)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:545
+msgid ""
+"Length\n"
+"(minutes)"
+msgstr ""
+
+#. VIK_UNITS_SPEED_KILOMETRES_PER_HOUR:
+#: ../src/viktrwlayer_tracklist.c:549 ../src/vikutils.c:72
+msgid "km/h"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:550 ../src/vikutils.c:62
+msgid "mph"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:551 ../src/vikutils.c:68
+msgid "knots"
+msgstr ""
+
+#. VIK_UNITS_SPEED_METRES_PER_SECOND:
+#: ../src/viktrwlayer_tracklist.c:553 ../src/vikutils.c:65
+msgid "m/s"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:556
+#, c-format
+msgid ""
+"Av. Speed\n"
+"(%s)"
+msgstr ""
+
+#. Apply own formatting of the data
+#: ../src/viktrwlayer_tracklist.c:561
+#, c-format
+msgid ""
+"Max Speed\n"
+"(%s)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:569
+msgid ""
+"Max Height\n"
+"(Feet)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:571
+msgid ""
+"Max Height\n"
+"(Metres)"
+msgstr ""
+
+#: ../src/viktrwlayer_geotag.c:481
+#, c-format
+msgid "Geotagging %d Images..."
+msgstr ""
+
+#: ../src/viktrwlayer_geotag.c:545
+msgid "Geotag Images"
+msgstr ""
+
+#: ../src/viktrwlayer_geotag.c:551
+msgid "Images"
+msgstr ""
+
+#: ../src/viktrwlayer_geotag.c:555
+msgid "Overwrite Existing Waypoints:"
+msgstr "Sobrescribir los puntos de vía esistentes:"
+
+#: ../src/viktrwlayer_geotag.c:558
+msgid "Overwrite Existing GPS Information:"
+msgstr ""
+
+#: ../src/viktrwlayer_geotag.c:560
+msgid "Keep File Modification Timestamp:"
+msgstr ""
+
+#: ../src/viktrwlayer_geotag.c:592
+msgid "Create Waypoints:"
+msgstr "Crear puntos de vía:"
+
+#: ../src/viktrwlayer_geotag.c:600
+msgid "Write EXIF:"
+msgstr ""
+
+#: ../src/viktrwlayer_geotag.c:612
+msgid "Interpolate Between Track Segments:"
+msgstr ""
+
+#: ../src/viktrwlayer_geotag.c:616
+msgid "Image Time Offset (Seconds):"
+msgstr ""
+
+#: ../src/viktrwlayer_geotag.c:618
+msgid ""
+"The number of seconds to ADD to the photos time to make it match the GPS "
+"data. Calculate this with (GPS - Photo). Can be negative or positive. Useful "
+"to adjust times when a camera's timestamp was incorrect."
+msgstr ""
+
+#: ../src/viktrwlayer_geotag.c:621
+msgid "Image Timezone:"
+msgstr ""
+
+#: ../src/viktrwlayer_geotag.c:623
+msgid ""
+"The timezone that was used when the images were created. For example, if a "
+"camera is set to AWST or +8:00 hours. Enter +8:00 here so that the correct "
+"adjustment to the images' time can be made. GPS data is always in UTC."
+msgstr ""
+
+#: ../src/viktrwlayer_geotag.c:627
+#, c-format
+msgid "Using track: %s"
+msgstr ""
+
+#: ../src/viktrwlayer_geotag.c:629
+#, c-format
+msgid "Using all tracks in: %s"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:193
+msgid "Number of Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:194
+msgid "Date Range"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:195
+msgid "Total Length"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:196
+msgid "Average Length"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:197
+msgid "Max Speed"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:198
+msgid "Avg. Speed"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:199
+msgid "Minimum Altitude"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:200
+msgid "Maximum Altitude"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:201
+msgid "Total Elevation Gain/Loss"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:202
+msgid "Avg. Elevation Gain/Loss"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:203
+msgid "Total Duration"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:204
+msgid "Avg. Duration"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:278
+#, c-format
+msgid "%.2f miles"
+msgstr ""
+
+#. VIK_UNITS_DISTANCE_KILOMETRES
+#: ../src/viktrwlayer_analysis.c:282
+#, c-format
+msgid "%.2f km"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:297
+#, c-format
+msgid "%.2f m/s"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:306
+#, c-format
+msgid "%.2f knots\n"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:309
+#, c-format
+msgid "%.2f knots"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:316 ../src/viktrwlayer_analysis.c:319
+#, c-format
+msgid "%.2f km/h"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:330 ../src/viktrwlayer_analysis.c:336
+#, c-format
+msgid "%d feet"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:341 ../src/viktrwlayer_analysis.c:343
+#, c-format
+msgid "%d feet / %d feet"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:348 ../src/viktrwlayer_analysis.c:354
+#, c-format
+msgid "%d m"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:359 ../src/viktrwlayer_analysis.c:361
+#, c-format
+msgid "%d m / %d m"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:373
+#, c-format
+msgid "%d:%02d:%02d days:hrs:mins"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:380
+#, c-format
+msgid "%d:%02d hrs:mins"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:550
+msgid "Include Invisible Items"
+msgstr ""
+
+#: ../src/vikstatus.c:107
+msgid "Current number of background tasks. Click to see the background jobs."
+msgstr ""
+
+#: ../src/vikstatus.c:113
+msgid "Current zoom level. Click to select a new one."
+msgstr ""
+
+#: ../src/vikutils.c:80
+msgid "GPSD"
+msgstr ""
+
+#. GPS Preamble
+#: ../src/vikutils.c:81
+msgid "Trkpt"
+msgstr ""
+
+#: ../src/vikutils.c:121
+#, c-format
+msgid "%sSpeed%s %.1f%s"
+msgstr ""
+
+#: ../src/vikutils.c:130
+#, c-format
+msgid "%sAlt %dfeet"
+msgstr ""
+
+#. VIK_UNITS_HEIGHT_METRES:
+#: ../src/vikutils.c:134
+#, c-format
+msgid "%sAlt %dm"
+msgstr ""
+
+#: ../src/vikutils.c:142
+#, c-format
+msgid "%sCourse %03d°"
+msgstr ""
+
+#: ../src/vikutils.c:155
+msgid "yards"
+msgstr ""
+
+#. VIK_UNITS_DISTANCE_KILOMETRES:
+#: ../src/vikutils.c:159
+msgid "m"
+msgstr ""
+
+#: ../src/vikutils.c:163
+#, c-format
+msgid "%sDistance diff %d%s"
+msgstr ""
+
+#: ../src/vikutils.c:179
+#, c-format
+msgid "%sTime %s"
+msgstr ""
+
+#: ../src/vikutils.c:187
+#, c-format
+msgid "%sTime diff %lds"
+msgstr ""
+
+#: ../src/vikutils.c:193
+#, c-format
+msgid "%sNo. of Sats %d"
+msgstr ""
+
+#: ../src/vikutils.c:213
+#, c-format
+msgid "%sDistance along %.2f%s"
+msgstr ""
+
+#. Name of track
+#: ../src/vikutils.c:232
+#, c-format
+msgid "%sTrack: %s"
+msgstr ""
+
+#: ../src/vikwaypoint.c:36
+msgid "Waypoint"
+msgstr "Puntu de vía"
+
+#. TODO get rid of this as this is unnecessary duplication...
+#: ../src/vikwindow.c:224
+msgid "Pan"
+msgstr ""
+
+#: ../src/vikwindow.c:224
+msgid "Zoom"
+msgstr ""
+
+#: ../src/vikwindow.c:224
+msgid "Ruler"
+msgstr ""
+
+#: ../src/vikwindow.c:224
+msgid "Select"
+msgstr ""
+
+#: ../src/vikwindow.c:381
+msgid "Location lookup aborted"
+msgstr ""
+
+#: ../src/vikwindow.c:401
+#, c-format
+msgid "Location found: %s"
+msgstr ""
+
+#: ../src/vikwindow.c:410
+msgid "Unable to determine location"
+msgstr ""
+
+#: ../src/vikwindow.c:434
+msgid "Default Map"
+msgstr ""
+
+#: ../src/vikwindow.c:444
+msgid "Trying to determine location..."
+msgstr ""
+
+#: ../src/vikwindow.c:447
+msgid "Determining location"
+msgstr ""
+
+#. Create tooltip
+#: ../src/vikwindow.c:605
+msgid "Select zoom level"
+msgstr ""
+
+#: ../src/vikwindow.c:923
+#, c-format
+msgid ""
+"Do you want to save the changes you made to the document \"%s\"?\n"
+"\n"
+"Your changes will be lost if you don't save them."
+msgstr ""
+
+#: ../src/vikwindow.c:927
+msgid "Don't Save"
+msgstr ""
+
+#: ../src/vikwindow.c:1005
+msgid "mpp"
+msgstr ""
+
+#: ../src/vikwindow.c:1005
+msgid "pixelfact"
+msgstr ""
+
+#: ../src/vikwindow.c:1169
+#, c-format
+msgid "%s %s %dm"
+msgstr ""
+
+#: ../src/vikwindow.c:1171
+#, c-format
+msgid "%s %s %dft"
+msgstr ""
+
+#: ../src/vikwindow.c:1174
+#, c-format
+msgid "%s %s"
+msgstr ""
+
+#. NB Ctrl+Shift+R is used for Refresh (deemed more important), so use 'U' instead
+#: ../src/vikwindow.c:1562
+msgid "_Ruler"
+msgstr ""
+
+#: ../src/vikwindow.c:1562
+msgid "Ruler Tool"
+msgstr ""
+
+#: ../src/vikwindow.c:1810 ../src/vikwindow.c:3697
+msgid "_Zoom"
+msgstr ""
+
+#: ../src/vikwindow.c:1810
+msgid "Zoom Tool"
+msgstr ""
+
+#: ../src/vikwindow.c:1855 ../src/vikwindow.c:3698
+msgid "_Pan"
+msgstr ""
+
+#: ../src/vikwindow.c:1855
+msgid "Pan Tool"
+msgstr ""
+
+#: ../src/vikwindow.c:1972
+msgid "_Select"
+msgstr ""
+
+#: ../src/vikwindow.c:1972
+msgid "Select Tool"
+msgstr ""
+
+#: ../src/vikwindow.c:2123
+msgid "You must select a layer to show its properties."
+msgstr ""
+
+#. No error to show, so unlikely this will get called
+#: ../src/vikwindow.c:2137
+msgid "The help system is not available."
+msgstr ""
+
+#. Main error path
+#: ../src/vikwindow.c:2140
+#, c-format
+msgid ""
+"Help is not available because: %s.\n"
+"Ensure a Mime Type ghelp handler program is installed (e.g. yelp)."
+msgstr ""
+
+#: ../src/vikwindow.c:2160
+msgid "You must select a layer to delete."
+msgstr ""
+
+#: ../src/vikwindow.c:2396
+msgid "Untitled"
+msgstr ""
+
+#: ../src/vikwindow.c:2503
+#, c-format
+msgid "Unable to add '%s' to the list of recently used documents"
+msgstr ""
+
+#: ../src/vikwindow.c:2540
+msgid "The file you requested could not be opened."
+msgstr ""
+
+#: ../src/vikwindow.c:2543
+msgid ""
+"GPSBabel is required to load files of this type or GPSBabel encountered "
+"problems."
+msgstr ""
+
+#: ../src/vikwindow.c:2546
+#, c-format
+msgid "Unable to load malformed GPX file %s"
+msgstr ""
+
+#: ../src/vikwindow.c:2549
+#, c-format
+msgid "Unsupported file type for %s"
+msgstr ""
+
+#. Since we can process .vik files with issues just show a warning in the status bar
+#. Not that a user can do much about it... or tells them what this issue is yet...
+#: ../src/vikwindow.c:2555
+#, c-format
+msgid "WARNING: issues encountered loading %s"
+msgstr ""
+
+#: ../src/vikwindow.c:2613
+msgid "Please select a GPS data file to open. "
+msgstr ""
+
+#: ../src/vikwindow.c:2629
+msgid "Geocaching"
+msgstr ""
+
+#: ../src/vikwindow.c:2635
+msgid "Google Earth"
+msgstr ""
+
+#: ../src/vikwindow.c:2640
+msgid "GPX"
+msgstr ""
+
+#: ../src/vikwindow.c:2645 ../src/vikwindow.c:2734
+#: ../src/viking.desktop.in.h:1
+msgid "Viking"
+msgstr ""
+
+#: ../src/vikwindow.c:2715
+msgid "Save as Viking File."
+msgstr ""
+
+#: ../src/vikwindow.c:2841
+msgid "Exporting to file: "
+msgstr ""
+
+#. Confirm what happened.
+#: ../src/vikwindow.c:2858
+#, c-format
+msgid "Exported files: %d"
+msgstr ""
+
+#: ../src/vikwindow.c:2870
+msgid "Nothing to Export!"
+msgstr ""
+
+#: ../src/vikwindow.c:2874
+msgid "Export to directory"
+msgstr ""
+
+#: ../src/vikwindow.c:2896
+msgid "Could not convert all files"
+msgstr ""
+
+#: ../src/vikwindow.c:2932
+#, c-format
+msgid "%d bytes"
+msgstr ""
+
+#: ../src/vikwindow.c:2934
+#, c-format
+msgid "%3.1f kB"
+msgstr ""
+
+#: ../src/vikwindow.c:2936
+#, c-format
+msgid "%3.1f MB"
+msgstr ""
+
+#: ../src/vikwindow.c:2937
+#, c-format
+msgid ""
+"%s\n"
+"\n"
+"%s\n"
+"\n"
+"%s"
+msgstr ""
+
+#: ../src/vikwindow.c:2942
+msgid "File not accessible"
+msgstr ""
+
+#: ../src/vikwindow.c:2945
+msgid "No Viking File"
+msgstr ""
+
+#: ../src/vikwindow.c:3035
+msgid "This layer has no configurable properties."
+msgstr ""
+
+#. Try harder...
+#: ../src/vikwindow.c:3169 ../src/vikwindow.c:3175
+msgid "Generating image file..."
+msgstr ""
+
+#: ../src/vikwindow.c:3197
+msgid ""
+"Failed to generate internal image.\n"
+"\n"
+"Try creating a smaller image."
+msgstr ""
+
+#: ../src/vikwindow.c:3205
+msgid "Failed to generate image file."
+msgstr ""
+
+#. Success
+#: ../src/vikwindow.c:3210
+msgid "Image file generated."
+msgstr ""
+
+#: ../src/vikwindow.c:3314
+msgid ""
+"Viewable region outside allowable pixel size bounds for image. Clipping "
+"width/height values."
+msgstr ""
+
+#: ../src/vikwindow.c:3339
+#, c-format
+msgid "Total area: %ldm x %ldm (%.3f sq. km)"
+msgstr ""
+
+#: ../src/vikwindow.c:3342
+#, c-format
+msgid "Total area: %ldm x %ldm (%.3f sq. miles)"
+msgstr ""
+
+#: ../src/vikwindow.c:3363
+msgid "Save Image"
+msgstr ""
+
+#: ../src/vikwindow.c:3393
+msgid "PNG"
+msgstr ""
+
+#: ../src/vikwindow.c:3416
+msgid "You must be in UTM mode to use this feature"
+msgstr ""
+
+#: ../src/vikwindow.c:3421
+msgid "Choose a directory to hold images"
+msgstr ""
+
+#. todo: default for answers inside VikWindow or static (thruout instance)
+#: ../src/vikwindow.c:3442
+msgid "Save to Image File"
+msgstr ""
+
+#: ../src/vikwindow.c:3459
+msgid "Width (pixels):"
+msgstr ""
+
+#: ../src/vikwindow.c:3461
+msgid "Height (pixels):"
+msgstr ""
+
+#: ../src/vikwindow.c:3464
+msgid ""
+"WARNING: USING LARGE IMAGES OVER 10000x10000\n"
+"MAY CRASH THE PROGRAM!"
+msgstr ""
+
+#: ../src/vikwindow.c:3466
+msgid "Zoom (meters per pixel):"
+msgstr ""
+
+#: ../src/vikwindow.c:3482
+msgid "Area in current viewable window"
+msgstr ""
+
+#: ../src/vikwindow.c:3492
+msgid "Save as PNG"
+msgstr ""
+
+#: ../src/vikwindow.c:3493
+msgid "Save as JPEG"
+msgstr ""
+
+#: ../src/vikwindow.c:3515
+msgid "East-west image tiles:"
+msgstr ""
+
+#: ../src/vikwindow.c:3517
+msgid "North-south image tiles:"
+msgstr ""
+
+#: ../src/vikwindow.c:3656
+msgid "Choose a background color"
+msgstr ""
+
+#: ../src/vikwindow.c:3672
+msgid "Choose a track highlight color"
+msgstr ""
+
+#: ../src/vikwindow.c:3693
+msgid "_File"
+msgstr ""
+
+#: ../src/vikwindow.c:3694
+msgid "_Edit"
+msgstr ""
+
+#: ../src/vikwindow.c:3696
+msgid "_Show"
+msgstr ""
+
+#: ../src/vikwindow.c:3699
+msgid "_Layers"
+msgstr ""
+
+#: ../src/vikwindow.c:3700
+msgid "_Tools"
+msgstr ""
+
+#: ../src/vikwindow.c:3701
+msgid "_Webtools"
+msgstr ""
+
+#: ../src/vikwindow.c:3702 ../src/vikwindow.c:3763
+msgid "_Help"
+msgstr ""
+
+#: ../src/vikwindow.c:3704
+msgid "New file"
+msgstr ""
+
+#: ../src/vikwindow.c:3705
+msgid "_Open..."
+msgstr ""
+
+#: ../src/vikwindow.c:3705
+msgid "Open a file"
+msgstr ""
+
+#: ../src/vikwindow.c:3706
+msgid "Open _Recent File"
+msgstr ""
+
+#: ../src/vikwindow.c:3707
+msgid "Append _File..."
+msgstr ""
+
+#: ../src/vikwindow.c:3707
+msgid "Append data from a different file"
+msgstr ""
+
+#: ../src/vikwindow.c:3708
+msgid "_Export All"
+msgstr ""
+
+#: ../src/vikwindow.c:3708
+msgid "Export All TrackWaypoint Layers"
+msgstr ""
+
+#: ../src/vikwindow.c:3709
+msgid "_GPX..."
+msgstr ""
+
+#: ../src/vikwindow.c:3709
+msgid "Export as GPX"
+msgstr ""
+
+#: ../src/vikwindow.c:3710
+msgid "A_cquire"
+msgstr ""
+
+#: ../src/vikwindow.c:3711
+msgid "Transfer data from a GPS device"
+msgstr ""
+
+#: ../src/vikwindow.c:3712
+msgid "Import File With GPS_Babel..."
+msgstr ""
+
+#: ../src/vikwindow.c:3712
+msgid "Import file via GPSBabel converter"
+msgstr ""
+
+#: ../src/vikwindow.c:3713
+msgid "_Directions..."
+msgstr ""
+
+#: ../src/vikwindow.c:3713
+msgid "Get driving directions"
+msgstr ""
+
+#: ../src/vikwindow.c:3715
+msgid "_OSM Traces..."
+msgstr ""
+
+#: ../src/vikwindow.c:3715
+msgid "Get traces from OpenStreetMap"
+msgstr ""
+
+#: ../src/vikwindow.c:3716
+msgid "_My OSM Traces..."
+msgstr ""
+
+#: ../src/vikwindow.c:3716
+msgid "Get Your Own Traces from OpenStreetMap"
+msgstr ""
+
+#: ../src/vikwindow.c:3719
+msgid "Geo_caches..."
+msgstr ""
+
+#: ../src/vikwindow.c:3719
+msgid "Get Geocaches from geocaching.com"
+msgstr ""
+
+#: ../src/vikwindow.c:3722
+msgid "Create waypoints from geotagged images"
+msgstr "Crear puntos de vía dende imaxes xeomarcaes"
+
+#: ../src/vikwindow.c:3725
+msgid "Create waypoints from Wikipedia items in the current view"
+msgstr ""
+"Crear puntos de vía dende los elementos de Uiquipedia de la vista actual"
+
+#: ../src/vikwindow.c:3727
+msgid "_Save"
+msgstr ""
+
+#: ../src/vikwindow.c:3727
+msgid "Save the file"
+msgstr ""
+
+#: ../src/vikwindow.c:3728
+msgid "Save _As..."
+msgstr ""
+
+#: ../src/vikwindow.c:3728
+msgid "Save the file under different name"
+msgstr ""
+
+#: ../src/vikwindow.c:3729
+msgid "Properties..."
+msgstr ""
+
+#: ../src/vikwindow.c:3729
+msgid "File Properties"
+msgstr ""
+
+#: ../src/vikwindow.c:3730
+msgid "_Generate Image File..."
+msgstr ""
+
+#: ../src/vikwindow.c:3730
+msgid "Save a snapshot of the workspace into a file"
+msgstr ""
+
+#: ../src/vikwindow.c:3731
+msgid "Generate _Directory of Images..."
+msgstr ""
+
+#: ../src/vikwindow.c:3731
+msgid "FIXME:IMGDIR"
+msgstr ""
+
+#: ../src/vikwindow.c:3732
+msgid "_Print..."
+msgstr ""
+
+#: ../src/vikwindow.c:3732
+msgid "Print maps"
+msgstr ""
+
+#: ../src/vikwindow.c:3733
+msgid "E_xit"
+msgstr ""
+
+#: ../src/vikwindow.c:3733
+msgid "Exit the program"
+msgstr ""
+
+#: ../src/vikwindow.c:3734
+msgid "Save and Exit"
+msgstr ""
+
+#: ../src/vikwindow.c:3734
+msgid "Save and Exit the program"
+msgstr ""
+
+#: ../src/vikwindow.c:3736
+msgid "Go to the _Default Location"
+msgstr ""
+
+#: ../src/vikwindow.c:3736
+msgid "Go to the default location"
+msgstr ""
+
+#: ../src/vikwindow.c:3737
+msgid "Go to _Location..."
+msgstr ""
+
+#: ../src/vikwindow.c:3737
+msgid "Go to address/place using text search"
+msgstr ""
+
+#: ../src/vikwindow.c:3738
+msgid "_Go to Lat/Lon..."
+msgstr ""
+
+#: ../src/vikwindow.c:3738
+msgid "Go to arbitrary lat/lon coordinate"
+msgstr ""
+
+#: ../src/vikwindow.c:3739
+msgid "Go to UTM..."
+msgstr ""
+
+#: ../src/vikwindow.c:3739
+msgid "Go to arbitrary UTM coordinate"
+msgstr ""
+
+#: ../src/vikwindow.c:3740
+msgid "_Refresh"
+msgstr ""
+
+#: ../src/vikwindow.c:3740
+msgid "Refresh any maps displayed"
+msgstr ""
+
+#: ../src/vikwindow.c:3741
+msgid "Set _Highlight Color..."
+msgstr ""
+
+#: ../src/vikwindow.c:3742
+msgid "Set Bac_kground Color..."
+msgstr ""
+
+#: ../src/vikwindow.c:3743
+msgid "Zoom _In"
+msgstr ""
+
+#: ../src/vikwindow.c:3744
+msgid "Zoom _Out"
+msgstr ""
+
+#: ../src/vikwindow.c:3745
+msgid "Zoom _To..."
+msgstr ""
+
+#: ../src/vikwindow.c:3746
+msgid "Pan _North"
+msgstr ""
+
+#: ../src/vikwindow.c:3747
+msgid "Pan _East"
+msgstr ""
+
+#: ../src/vikwindow.c:3748
+msgid "Pan _South"
+msgstr ""
+
+#: ../src/vikwindow.c:3749
+msgid "Pan _West"
+msgstr ""
+
+#: ../src/vikwindow.c:3750
+msgid "Background _Jobs"
+msgstr ""
+
+#: ../src/vikwindow.c:3752
+msgid "Cu_t"
+msgstr ""
+
+#: ../src/vikwindow.c:3756
+msgid "Delete All"
+msgstr ""
+
+#: ../src/vikwindow.c:3757
+msgid "_Flush Map Cache"
+msgstr ""
+
+#: ../src/vikwindow.c:3758
+msgid "_Set the Default Location"
+msgstr ""
+
+#: ../src/vikwindow.c:3758
+msgid "Set the Default Location to the current position"
+msgstr ""
+
+#: ../src/vikwindow.c:3759
+msgid "_Preferences"
+msgstr ""
+
+#: ../src/vikwindow.c:3760
+msgid "_Layer Defaults"
+msgstr ""
+
+#: ../src/vikwindow.c:3761
+msgid "_Properties"
+msgstr ""
+
+#: ../src/vikwindow.c:3764
+msgid "_About"
+msgstr ""
+
+#: ../src/vikwindow.c:3768
+msgid "_KML..."
+msgstr ""
+
+#: ../src/vikwindow.c:3768
+msgid "Export as KML"
+msgstr ""
+
+#: ../src/vikwindow.c:3774
+msgid "_UTM Mode"
+msgstr ""
+
+#: ../src/vikwindow.c:3775
+msgid "_Expedia Mode"
+msgstr ""
+
+#: ../src/vikwindow.c:3776
+msgid "_Mercator Mode"
+msgstr ""
+
+#: ../src/vikwindow.c:3777
+msgid "Lat_/Lon Mode"
+msgstr ""
+
+#: ../src/vikwindow.c:3781
+msgid "Show _Scale"
+msgstr ""
+
+#: ../src/vikwindow.c:3781
+msgid "Show Scale"
+msgstr ""
+
+#: ../src/vikwindow.c:3782
+msgid "Show _Center Mark"
+msgstr ""
+
+#: ../src/vikwindow.c:3782
+msgid "Show Center Mark"
+msgstr ""
+
+#: ../src/vikwindow.c:3783
+msgid "Show _Highlight"
+msgstr ""
+
+#: ../src/vikwindow.c:3783
+msgid "Show Highlight"
+msgstr ""
+
+#: ../src/vikwindow.c:3784
+msgid "_Full Screen"
+msgstr ""
+
+#: ../src/vikwindow.c:3784
+msgid "Activate full screen mode"
+msgstr ""
+
+#: ../src/vikwindow.c:3785
+msgid "Show Side _Panel"
+msgstr ""
+
+#: ../src/vikwindow.c:3785
+msgid "Show Side Panel"
+msgstr ""
+
+#: ../src/vikwindow.c:3786
+msgid "Show Status_bar"
+msgstr ""
+
+#: ../src/vikwindow.c:3786
+msgid "Show Statusbar"
+msgstr ""
+
+#: ../src/vikwindow.c:3787
+msgid "Show _Toolbar"
+msgstr ""
+
+#: ../src/vikwindow.c:3787
+msgid "Show Toolbar"
+msgstr ""
+
+#: ../src/vikwindow.c:3788
+msgid "Show _Menu"
+msgstr ""
+
+#: ../src/vikwindow.c:3788
+msgid "Show Menu"
+msgstr ""
+
+#: ../src/vikwindow.c:3862
+#, c-format
+msgid "New _%s Layer"
+msgstr ""
+
+#: ../src/viking.desktop.in.h:2
+msgid "GPS Data Manager"
+msgstr ""
+
+#: ../src/viking.desktop.in.h:3
+msgid "Map Based GPS Data Manager (live data capable)."
+msgstr ""
+
+#: ../src/libjpeg/jpeg-data.c:206
+msgid "Data does not follow JPEG specification."
+msgstr ""
+
+#: ../src/libjpeg/jpeg-data.c:291
+#, c-format
+msgid "Path '%s' invalid."
+msgstr ""
+
+#: ../src/libjpeg/jpeg-data.c:309
+#, c-format
+msgid "Could not read '%s'."
+msgstr ""
diff --git a/po/cs.po b/po/cs.po
index ddb2f7c..eea25d2 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -7,68 +7,70 @@ msgid ""
msgstr ""
"Project-Id-Version: viking\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-02-04 23:29+0100\n"
-"PO-Revision-Date: 2013-03-06 09:26+0000\n"
+"POT-Creation-Date: 2013-09-03 21:58+0200\n"
+"PO-Revision-Date: 2013-09-05 15:21+0000\n"
"Last-Translator: Radek Stastny <Unknown>\n"
"Language-Team: Czech <cs@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
-"X-Launchpad-Export-Date: 2013-03-23 17:12+0000\n"
-"X-Generator: Launchpad (build 16540)\n"
+"X-Launchpad-Export-Date: 2013-10-12 09:04+0000\n"
+"X-Generator: Launchpad (build 16799)\n"
"Language: cs\n"
-#: ../src/acquire.c:103 ../src/vikgpslayer.c:1185
+#: ../src/acquire.c:103 ../src/vikgpslayer.c:1235
msgid "Done."
msgstr "Hotovo."
-#: ../src/acquire.c:114
+#: ../src/acquire.c:112
msgid "No data."
msgstr "Žádná data."
-#: ../src/acquire.c:154 ../src/acquire.c:404
+#: ../src/acquire.c:154 ../src/acquire.c:424
msgid "Error: acquisition failed."
msgstr "Chyba: stažení selhalo"
-#: ../src/acquire.c:341
+#: ../src/acquire.c:352
msgid "Working..."
msgstr "Pracuji..."
#. This shouldn't happen...
-#: ../src/acquire.c:394
+#: ../src/acquire.c:415
msgid ""
"Unable to create command\n"
"Acquire method failed."
msgstr ""
+"Nelze zadat příkaz\n"
+"Stažení dat selhalo."
-#: ../src/acquire.c:486
+#: ../src/acquire.c:517
msgid "_Filter"
msgstr "_Filtr"
-#: ../src/acquire.c:501
+#: ../src/acquire.c:532
#, c-format
msgid "Filter with %s"
msgstr ""
-#: ../src/acquire.c:518
+#: ../src/acquire.c:549
msgid "Filter"
msgstr "Filtrovat"
-#: ../src/background.c:52
+#: ../src/background.c:53
#, c-format
msgid "%d items"
msgstr "%d položek"
-#: ../src/background.c:248
+#: ../src/background.c:254
msgid "Job"
msgstr "Úloha"
-#: ../src/background.c:252
+#: ../src/background.c:258
msgid "Progress"
msgstr "Průběh"
-#: ../src/background.c:268
+#: ../src/background.c:274
msgid "Viking Background Jobs"
msgstr "Úlohy na pozadí"
@@ -77,7 +79,7 @@ msgid "Bing"
msgstr "Bing"
#. VIK_GTK_WINDOW_FROM_WIDGET(vp)
-#: ../src/bingmapsource.c:445
+#: ../src/bingmapsource.c:499
msgid "Bing attribution Loading"
msgstr "Bing nahrávání"
@@ -104,35 +106,35 @@ msgid ""
"into."
msgstr "K vložení místa je nutné vybrat cílovou vrstvu."
-#: ../src/dialog.c:52
+#: ../src/dialog.c:53
msgid "Go to Lat/Lon"
msgstr "Jdi na souřadnice"
-#: ../src/dialog.c:64 ../src/dialog.c:251
+#: ../src/dialog.c:65 ../src/dialog.c:244
msgid "Latitude:"
msgstr "Šířka:"
-#: ../src/dialog.c:70 ../src/dialog.c:256
+#: ../src/dialog.c:71 ../src/dialog.c:249
msgid "Longitude:"
msgstr "Délka:"
-#: ../src/dialog.c:102
+#: ../src/dialog.c:103
msgid "Go to UTM"
msgstr "Jít na souřadnice UTM"
-#: ../src/dialog.c:115
+#: ../src/dialog.c:116
msgid "Northing:"
msgstr "Severní souřadnice:"
-#: ../src/dialog.c:121
+#: ../src/dialog.c:122
msgid "Easting:"
msgstr "Východní souřadnice:"
-#: ../src/dialog.c:128
+#: ../src/dialog.c:129
msgid "Zone:"
msgstr "Zóna:"
-#: ../src/dialog.c:131
+#: ../src/dialog.c:132
msgid "Letter:"
msgstr "Písmeno:"
@@ -140,105 +142,109 @@ msgstr "Písmeno:"
msgid "Waypoint Properties"
msgstr "Vlastnosti místa"
-#: ../src/dialog.c:233
+#: ../src/dialog.c:235
msgid "Name:"
msgstr "Název:"
-#: ../src/dialog.c:261
+#: ../src/dialog.c:254
msgid "Altitude:"
msgstr "Výška:"
-#: ../src/dialog.c:266
+#: ../src/dialog.c:259
msgid "Comment:"
msgstr "Poznámka:"
-#: ../src/dialog.c:274 ../src/osm-traces.c:437
+#: ../src/dialog.c:267 ../src/osm-traces.c:445
msgid "Description:"
msgstr "Popis:"
-#: ../src/dialog.c:277
+#: ../src/dialog.c:270
msgid "Image:"
msgstr "Obrázek:"
-#: ../src/dialog.c:282
+#: ../src/dialog.c:275
msgid "Symbol:"
msgstr "Symbol:"
-#: ../src/dialog.c:291
+#: ../src/dialog.c:284
msgid "(none)"
msgstr "(žádné)"
+#: ../src/dialog.c:326
+msgid "Time:"
+msgstr "Čas:"
+
#. TODO: other checks (isalpha or whatever )
-#: ../src/dialog.c:356
+#: ../src/dialog.c:363
msgid "Please enter a name for the waypoint."
msgstr "Zadejte prosím jméno místa."
-#: ../src/dialog.c:529 ../src/geonamessearch.c:243
+#: ../src/dialog.c:502 ../src/geonamessearch.c:244
#: ../src/datasource_osm_my_traces.c:507
msgid "Nothing was selected"
msgstr "Nic nebylo vybráno"
-#: ../src/dialog.c:537
+#: ../src/dialog.c:510
msgid "Add Route"
msgstr "Přidat trasu"
-#: ../src/dialog.c:537
+#: ../src/dialog.c:510
msgid "Add Track"
msgstr "Přidat trasu"
-#: ../src/dialog.c:545
+#: ../src/dialog.c:518
msgid "Route Name:"
msgstr "Jméno trasy:"
-#: ../src/dialog.c:545
+#: ../src/dialog.c:518
msgid "Track Name:"
msgstr "Jméno trasy:"
-#: ../src/dialog.c:565
+#: ../src/dialog.c:538
msgid "Please enter a name for the track."
msgstr "Zadejte prosím jméno trasy."
-#: ../src/dialog.c:623
+#: ../src/dialog.c:596
msgid "Zoom Factors..."
msgstr "Stupeň přiblížení..."
-#: ../src/dialog.c:637
+#: ../src/dialog.c:610
msgid "Zoom factor (in meters per pixel):"
msgstr "Měřítko (metry na pixel)"
-#: ../src/dialog.c:638
+#: ../src/dialog.c:611
msgid "X (easting): "
msgstr "X (východní): "
-#: ../src/dialog.c:639
+#: ../src/dialog.c:612
msgid "Y (northing): "
msgstr "Y (severní): "
-#: ../src/dialog.c:644
+#: ../src/dialog.c:617
msgid "X and Y zoom factors must be equal"
msgstr "Stejný stupeň přiblížení pro X a Y"
-#: ../src/dialog.c:699
+#: ../src/dialog.c:672
msgid "1 min"
msgstr "1 min"
-#: ../src/dialog.c:700
+#: ../src/dialog.c:673
msgid "1 hour"
msgstr "1 hodina"
-#: ../src/dialog.c:701
+#: ../src/dialog.c:674
msgid "1 day"
msgstr "1 den"
-#: ../src/dialog.c:702
+#: ../src/dialog.c:675
msgid "Custom (in minutes):"
msgstr "Uživatelský (v minutách):"
-#: ../src/dialog.c:808
+#: ../src/dialog.c:786
msgid "GPS Data and Topo Analyzer, Explorer, and Manager."
msgstr "Analyzátor, průzkumník a správce GPS a topologických dat."
-#: ../src/dialog.c:809
+#: ../src/dialog.c:787
msgid ""
"This program is free software; you can redistribute it and/or modify it "
"under the terms of the GNU General Public License as published by the Free "
@@ -272,28 +278,28 @@ msgstr ""
"this program; if not, write to the Free Software Foundation, Inc., 59 Temple "
"Place, Suite 330, Boston, MA 02111-1307, USA"
-#: ../src/dialog.c:837
+#: ../src/dialog.c:852
msgid "Translation is coordinated on http://launchpad.net/viking"
msgstr "Překlady do češtiny můžete zlepšit na http://launchpad.net/viking"
-#: ../src/dialog.c:845
+#: ../src/dialog.c:861
msgid "Download along track"
msgstr "Stáhnout mapy podél trasy"
-#: ../src/dialog.c:851
+#: ../src/dialog.c:868
msgid "Map type:"
msgstr "Typ mapy:"
-#: ../src/dialog.c:856
+#: ../src/dialog.c:874
msgid "Zoom level:"
msgstr "Stupeň přiblížení:"
-#: ../src/dialog.c:896
+#: ../src/dialog.c:914
#, c-format
msgid "The map data is licensed: %s."
msgstr "Data mapy jsou licencována: %s."
-#: ../src/dialog.c:899
+#: ../src/dialog.c:917
#, c-format
msgid ""
"The data provided by '<b>%s</b>' are licensed under the following license: "
@@ -304,7 +310,7 @@ msgstr ""
"<b>%s</b>.\n"
"Před pokračováním si prosím licenci přečtěte."
-#: ../src/dialog.c:904
+#: ../src/dialog.c:922
msgid "Open license"
msgstr "Otevřená licence"
@@ -353,7 +359,8 @@ msgstr "Nenalezeno!"
#. NB could allow columns to be shifted around by doing this after each new
#. gtk_tree_view_column_set_reorderable ( column, TRUE );
#. However I don't think is that useful, so I haven't put it in
-#: ../src/geonamessearch.c:177 ../src/datasource_osm_my_traces.c:425
+#: ../src/geonamessearch.c:177 ../src/datasource_osm_my_traces.c:424
+#: ../src/viktrwlayer_tracklist.c:521
msgid "Name"
msgstr "Název"
@@ -361,82 +368,192 @@ msgstr "Název"
msgid "Feature"
msgstr "Vlastnost"
-#: ../src/geonamessearch.c:187 ../src/datasource_osm_my_traces.c:440
+#: ../src/geonamessearch.c:187 ../src/datasource_osm_my_traces.c:439
msgid "Lat/Lon"
msgstr "šířka/délka"
-#: ../src/geonamessearch.c:269 ../src/googlesearch.c:100
+#: ../src/geonamessearch.c:270 ../src/googlesearch.c:100 ../src/vikgoto.c:306
msgid "couldn't map temp file"
msgstr "nelze zpracovat dočasný soubor"
-#: ../src/globals.c:44
+#: ../src/globals.c:73
+msgid "Absolute"
+msgstr "Absolutní"
+
+#: ../src/globals.c:73
+msgid "Relative"
+msgstr "Relativní"
+
+#: ../src/globals.c:76
msgid "Degree format:"
msgstr "Formát zobrazení stupňů:"
-#: ../src/globals.c:48
+#: ../src/globals.c:77
msgid "Distance units:"
msgstr "Jednotka vzdálenosti:"
-#: ../src/globals.c:52
+#: ../src/globals.c:78
msgid "Speed units:"
msgstr "Jednotka rychlosti:"
-#: ../src/globals.c:56
+#: ../src/globals.c:79
msgid "Height units:"
msgstr "Jednotka výšky:"
-#: ../src/globals.c:60
+#: ../src/globals.c:80
msgid "Use large waypoint icons:"
msgstr "Velké ikony místa:"
-#: ../src/globals.c:64
+#: ../src/globals.c:81
msgid "Default latitude:"
msgstr "Výchozí zem. šířka:"
-#: ../src/globals.c:67
+#: ../src/globals.c:82
msgid "Default longitude:"
msgstr "Výchozí zem. délka:"
-#: ../src/globals.c:73
+#: ../src/globals.c:88
msgid "Alphabetical"
msgstr "abecedně"
-#: ../src/globals.c:73 ../src/datasource_osm_my_traces.c:435
+#: ../src/globals.c:88 ../src/datasource_osm_my_traces.c:434
msgid "Time"
msgstr "dle času"
-#: ../src/globals.c:76
+#: ../src/globals.c:88
+msgid "Creation"
+msgstr "Vytvoření"
+
+#: ../src/globals.c:89
+msgid "Title Case"
+msgstr "Velikost písma v nadpise"
+
+#: ../src/globals.c:89
+msgid "Lowercase"
+msgstr "Malá písmena"
+
+#: ../src/globals.c:92
msgid "KML File Export Units:"
msgstr "Jednotky v KML exportu"
-#: ../src/globals.c:77
+#: ../src/globals.c:93
msgid "GPX Track Order:"
msgstr "řadit GPX"
-#: ../src/globals.c:82
+#: ../src/globals.c:94
+msgid "GPX Waypoint Symbols:"
+msgstr ""
+
+#: ../src/globals.c:95
+msgid ""
+"Save GPX Waypoint Symbol names in the specified case. May be useful for "
+"compatibility with various devices"
+msgstr ""
+
+#: ../src/globals.c:100
msgid "Image Viewer:"
msgstr "Prohlížeč obrázků"
-#: ../src/globals.c:87
+#: ../src/globals.c:105
msgid "External GPX Program 1:"
msgstr "externí GPX program 1"
-#: ../src/globals.c:88
+#: ../src/globals.c:106
msgid "External GPX Program 2:"
msgstr "externí GPX program 2"
+#: ../src/globals.c:110
+msgid "Save File Reference Mode:"
+msgstr ""
+
+#: ../src/globals.c:111
+msgid ""
+"When saving a Viking .vik file, this determines how the directory paths of "
+"filenames are written."
+msgstr ""
+
+#: ../src/globals.c:112
+msgid "Show Tooltip during Track Creation:"
+msgstr "Zobrazit"
+
+#: ../src/globals.c:115
+msgid "Home Location"
+msgstr "Domovské místo"
+
+#: ../src/globals.c:115
+msgid "Last Location"
+msgstr "Poslední pozice"
+
+#: ../src/globals.c:115
+msgid "Specified File"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Auto Location"
+msgstr "Automatická lokalizace"
+
+#: ../src/globals.c:118
+msgid "Restore Window Setup:"
+msgstr ""
+
+#: ../src/globals.c:119
+msgid "Restore window size and layout"
+msgstr ""
+
+#: ../src/globals.c:120
+msgid "Add a Default Map Layer:"
+msgstr ""
+
+#: ../src/globals.c:121
+msgid ""
+"The default map layer added is defined by the Layer Defaults. Use the menu "
+"Edit->Layer Defaults->Map... to change the map type and other values."
+msgstr ""
+
+#: ../src/globals.c:122
+msgid "Startup Method:"
+msgstr ""
+
+#: ../src/globals.c:123
+msgid "Startup File:"
+msgstr ""
+
+#: ../src/globals.c:124
+msgid ""
+"The default file to load on startup. Only applies when the startup method is "
+"set to 'Specified File'"
+msgstr ""
+
+#: ../src/globals.c:125
+msgid "Check For New Version:"
+msgstr ""
+
+#: ../src/globals.c:126
+msgid "Periodically check to see if a new version of Viking is available"
+msgstr ""
+
#. Defaults for the options are setup here
-#: ../src/globals.c:96
+#: ../src/globals.c:163
msgid "General"
msgstr "Obecné"
#. New Tab
-#: ../src/globals.c:121
+#: ../src/globals.c:188
+msgid "Startup"
+msgstr ""
+
+#. New Tab
+#: ../src/globals.c:206
msgid "Export/External"
msgstr "Export/Externí"
+#. 'Advanced' Properties
+#: ../src/globals.c:230
+msgid "Advanced"
+msgstr ""
+
#. Webtools
-#: ../src/google.c:36
+#: ../src/google.c:38
msgid "Google"
msgstr "Google"
@@ -449,24 +566,24 @@ msgid "Imported file"
msgstr "Importovaný soubor"
#. The file selector
-#: ../src/datasource_file.c:133
+#: ../src/datasource_file.c:127
msgid "File:"
msgstr "Soubor:"
-#: ../src/datasource_file.c:134
+#: ../src/datasource_file.c:128
msgid "File to import"
msgstr "Soubor pro importování"
-#: ../src/datasource_file.c:141
+#: ../src/datasource_file.c:135
msgid "All files"
msgstr "Všechny soubory"
#. The file format selector
-#: ../src/datasource_file.c:148
+#: ../src/datasource_file.c:142
msgid "File type:"
msgstr "Typ souboru:"
-#: ../src/datasource_file.c:193
+#: ../src/datasource_file.c:184
#, c-format
msgid "using babel args '%s' and file '%s'"
msgstr "babel argumenty '%s' soubor '%s'"
@@ -479,15 +596,15 @@ msgstr "Stáhnout Geocache"
msgid "Geocaching.com Caches"
msgstr "Geocaching.com cache"
-#: ../src/datasource_gc.c:84
+#: ../src/datasource_gc.c:85
msgid "geocaching.com username:"
msgstr "geocaching.com uživatel:"
-#: ../src/datasource_gc.c:85
+#: ../src/datasource_gc.c:86
msgid "geocaching.com password:"
msgstr "geocaching.com heslo:"
-#: ../src/datasource_gc.c:126
+#: ../src/datasource_gc.c:127
#, c-format
msgid ""
"Can't find %s or %s in path! Check that you have installed it correctly."
@@ -495,15 +612,15 @@ msgstr ""
"%s ani %s nenalezeno v cestě pro spuštění, zkontrolujte zda je korektně "
"nainstalováno."
-#: ../src/datasource_gc.c:188
+#: ../src/datasource_gc.c:189
msgid "Number geocaches:"
msgstr "Počet geocache:"
-#: ../src/datasource_gc.c:190
+#: ../src/datasource_gc.c:191
msgid "Centered around:"
msgstr "Centrovat okolo:"
-#: ../src/datasource_gc.c:226
+#: ../src/datasource_gc.c:230
msgid "Broken input - using some defaults"
msgstr "Chybný vstup, používájí se výchozí hodnoty"
@@ -515,46 +632,34 @@ msgstr "Vytvořit místa z geotagovaných obrázků"
msgid "Geotagged Images"
msgstr "Obrázky s GPS souřadnicemi"
-#: ../src/datasource_geotag.c:102 ../src/vikwindow.c:2314
-#: ../src/vikwindow.c:2382 ../src/vikwindow.c:2824
+#: ../src/datasource_geotag.c:102 ../src/vikwindow.c:2655
+#: ../src/vikwindow.c:2729 ../src/vikwindow.c:3380
msgid "All"
msgstr "Vše"
-#: ../src/datasource_geotag.c:107 ../src/vikwindow.c:2829
+#: ../src/datasource_geotag.c:107 ../src/vikwindow.c:3385
msgid "JPG"
msgstr "JPG"
-#: ../src/datasource_geotag.c:165
+#: ../src/datasource_geotag.c:168
#, c-format
msgid "Unable to create waypoint from %s"
msgstr "Nelze vytvořit místo z %s"
-#: ../src/datasource_google.c:49 ../src/datasource_google.c:50
-msgid "Google Directions"
-msgstr "Google trasy"
-
-#: ../src/datasource_google.c:77
-msgid "From:"
-msgstr "Z:"
-
-#: ../src/datasource_google.c:79
-msgid "To:"
-msgstr "Do:"
-
-#: ../src/datasource_gps.c:57
+#: ../src/datasource_gps.c:54
msgid "Acquire from GPS"
msgstr "Stahuji z GPS"
-#: ../src/datasource_gps.c:58
+#: ../src/datasource_gps.c:55
msgid "Acquired from GPS"
msgstr "Staženo z GPS"
-#: ../src/datasource_gps.c:221
+#: ../src/datasource_gps.c:245
#, c-format
msgid "using cmdline '%s' and file '%s'\n"
msgstr "používám příkaz '%s' a soubor '%s'\n"
-#: ../src/datasource_gps.c:297 ../src/vikgpslayer.c:884
+#: ../src/datasource_gps.c:327 ../src/vikgpslayer.c:934
#, c-format
msgid "Downloading %d waypoint..."
msgid_plural "Downloading %d waypoints..."
@@ -562,7 +667,7 @@ msgstr[0] "Stahuji %d místo..."
msgstr[1] "Stahuji %d místa..."
msgstr[2] "Stahuji %d míst..."
-#: ../src/datasource_gps.c:298 ../src/vikgpslayer.c:885
+#: ../src/datasource_gps.c:328 ../src/vikgpslayer.c:935
#, c-format
msgid "Downloading %d trackpoint..."
msgid_plural "Downloading %d trackpoints..."
@@ -570,7 +675,7 @@ msgstr[0] "Stahuji %d bod..."
msgstr[1] "Stahuji %d body..."
msgstr[2] "Stahuji %d bodů ..."
-#: ../src/datasource_gps.c:303 ../src/vikgpslayer.c:890
+#: ../src/datasource_gps.c:333 ../src/vikgpslayer.c:940
#, c-format
msgid "Downloading %d routepoint..."
msgid_plural "Downloading %d routepoints..."
@@ -578,38 +683,41 @@ msgstr[0] "Stahování %d bodu..."
msgstr[1] "Stahování %d bodů..."
msgstr[2] "Stahování %d bodů..."
-#: ../src/datasource_gps.c:325 ../src/datasource_gps.c:326
-#: ../src/datasource_gps.c:327
+#: ../src/datasource_gps.c:355 ../src/datasource_gps.c:356
+#: ../src/datasource_gps.c:357
#, c-format
msgid "Downloaded %d out of %d %s..."
msgstr "Staženo %d z %d %s..."
-#: ../src/datasource_gps.c:331 ../src/datasource_gps.c:332
-#: ../src/datasource_gps.c:333
+#: ../src/datasource_gps.c:361 ../src/datasource_gps.c:362
+#: ../src/datasource_gps.c:363
#, c-format
msgid "Downloaded %d %s."
msgstr "Staženo %d %s."
-#: ../src/datasource_gps.c:347 ../src/vikgpslayer.c:968
+#: ../src/datasource_gps.c:377 ../src/vikgpslayer.c:1018
#, c-format
msgid "GPS Device: %s"
msgstr "GPS zařízení: %s"
-#: ../src/datasource_gps.c:370 ../src/vikgpslayer.c:1042
-#: ../src/vikgpslayer.c:1110
+#: ../src/datasource_gps.c:400 ../src/vikgpslayer.c:1092
+#: ../src/vikgpslayer.c:1160
msgid "Status: Working..."
msgstr "Status: Pracuji..."
-#: ../src/datasource_gps.c:469 ../src/vikgpslayer.c:150
+#. NB gps_layer_inst_init() is performed after parameter registeration
+#. thus to give the protocols some potential values use the old static list
+#. TODO: find another way to use gps_layer_inst_init()?
+#: ../src/datasource_gps.c:500 ../src/vikgpslayer.c:207
msgid "GPS Protocol:"
msgstr "GPS protokol:"
-#. List now assigned at runtime
-#: ../src/datasource_gps.c:488 ../src/vikgpslayer.c:151
+#. List reassigned at runtime
+#: ../src/datasource_gps.c:526 ../src/vikgpslayer.c:208
msgid "Serial Port:"
msgstr "Sériový port:"
-#: ../src/datasource_gps.c:509
+#: ../src/datasource_gps.c:576
msgid ""
"Turn Off After Transfer\n"
"(Garmin/NAViLink Only)"
@@ -617,19 +725,19 @@ msgstr ""
"Vypnout po přesunu dat\n"
"(Garmin/NAViLink Only)"
-#: ../src/datasource_gps.c:512
+#: ../src/datasource_gps.c:583
msgid "Tracks:"
msgstr "Trasy:"
-#: ../src/datasource_gps.c:516
+#: ../src/datasource_gps.c:590
msgid "Routes:"
msgstr "Trasy:"
-#: ../src/datasource_gps.c:520
+#: ../src/datasource_gps.c:597
msgid "Waypoints:"
msgstr "Místa:"
-#: ../src/datasource_gps.c:594 ../src/vikgpslayer.c:1305
+#: ../src/datasource_gps.c:675 ../src/vikgpslayer.c:1355
msgid "GPS device: N/A"
msgstr "GPS zařízení: N/A"
@@ -637,39 +745,39 @@ msgstr "GPS zařízení: N/A"
msgid "OSM traces"
msgstr "OSM trasy"
-#: ../src/datasource_osm.c:80
+#: ../src/datasource_osm.c:82
msgid "Page number:"
msgstr "Číslo stránky:"
-#: ../src/datasource_osm_my_traces.c:63 ../src/datasource_osm_my_traces.c:64
+#: ../src/datasource_osm_my_traces.c:59 ../src/datasource_osm_my_traces.c:60
msgid "OSM My Traces"
msgstr "Moje OSM trasy"
-#: ../src/datasource_osm_my_traces.c:108
+#: ../src/datasource_osm_my_traces.c:104
msgid "Username:"
msgstr "Uživatelské jméno:"
-#: ../src/datasource_osm_my_traces.c:113
+#: ../src/datasource_osm_my_traces.c:109
msgid "The email or username used to login to OSM"
msgstr "Uživatelské jméno nebo email k přihlášení do OSM"
-#: ../src/datasource_osm_my_traces.c:115 ../src/osm-traces.c:413
+#: ../src/datasource_osm_my_traces.c:111 ../src/osm-traces.c:421
msgid "Password:"
msgstr "Heslo:"
-#: ../src/datasource_osm_my_traces.c:120
+#: ../src/datasource_osm_my_traces.c:114
msgid "The password used to login to OSM"
msgstr "Heslo k přihlášení do OSM"
-#: ../src/datasource_osm_my_traces.c:430
+#: ../src/datasource_osm_my_traces.c:429
msgid "Description"
msgstr "Popis"
-#: ../src/datasource_osm_my_traces.c:445
+#: ../src/datasource_osm_my_traces.c:444
msgid "Privacy"
msgstr "Ochrana osobních údajů"
-#: ../src/datasource_osm_my_traces.c:452
+#: ../src/datasource_osm_my_traces.c:451
msgid "Within Current View"
msgstr ""
@@ -681,15 +789,33 @@ msgstr "GPS trasy"
msgid "None found!"
msgstr "Nenalezeno!"
-#: ../src/datasource_osm_my_traces.c:629
+#: ../src/datasource_osm_my_traces.c:634
msgid "My OSM Traces"
msgstr "Moje OSM trasy"
-#: ../src/datasource_osm_my_traces.c:645
+#: ../src/datasource_osm_my_traces.c:649
#, c-format
msgid "Unable to get trace: %s"
msgstr "Nelze stáhnout trasu: %s"
+#: ../src/datasource_routing.c:53 ../src/datasource_routing.c:54
+msgid "Directions"
+msgstr ""
+
+#. Engine selector
+#: ../src/datasource_routing.c:83
+msgid "Engine:"
+msgstr ""
+
+#. From and To entries
+#: ../src/datasource_routing.c:88
+msgid "From:"
+msgstr "Z:"
+
+#: ../src/datasource_routing.c:90
+msgid "To:"
+msgstr "Do:"
+
#: ../src/datasource_wikipedia.c:32
msgid "Create Waypoints from Wikipedia Articles"
msgstr "místa z Wikipedie"
@@ -710,138 +836,138 @@ msgstr "Špatná hlavička DEM"
msgid "Incorrect DEM Class B record: expected 1"
msgstr "Špatný DEM Class B záznam: očekávám 1"
-#: ../src/dem.c:360
+#: ../src/dem.c:288 ../src/download.c:170
#, c-format
msgid "Couldn't map file %s: %s"
msgstr "Nelze zpracovat soubor %s: %s"
-#: ../src/download.c:112
-msgid "Tile age (s):"
-msgstr "Aktualizavat podklady po (s):"
+#: ../src/download.c:130
+msgid "Tile age (days):"
+msgstr ""
-#: ../src/download.c:233
+#: ../src/download.c:321
#, c-format
msgid "Download error: %s"
msgstr "Chyba stahování: %s"
-#: ../src/download.c:313
+#: ../src/download.c:404
msgid "couldn't open temp file"
msgstr "nelze otevřít dočasný soubor"
-#: ../src/file.c:456 ../src/file.c:461
+#: ../src/file.c:451 ../src/file.c:456
#, c-format
msgid "Draw mode '%s' no more supported"
msgstr "Zobrazovací režim '%s' již není podporován"
-#: ../src/geotag_exif.c:433
+#: ../src/geotag_exif.c:421
msgid "Not enough memory."
msgstr "Nedostatek paměti."
-#: ../src/geotag_exif.c:451
+#: ../src/geotag_exif.c:439
msgid "Setting a value for this tag is unsupported!"
msgstr "Nastavení hodnoty z tohoto údaje není podporováno!"
-#: ../src/geotag_exif.c:470
+#: ../src/geotag_exif.c:458
#, c-format
msgid "Too few components specified (need %d, found %d)\n"
msgstr "Příliš málo zadaných komponent (nutno %d, nalezeno %d)\n"
-#: ../src/geotag_exif.c:474
+#: ../src/geotag_exif.c:462
msgid "Numeric value expected\n"
msgstr "Očekávám číslo\n"
-#: ../src/geotag_exif.c:482
+#: ../src/geotag_exif.c:470
msgid "This shouldn't happen!"
msgstr "To by nemělo nastat!"
-#: ../src/geotag_exif.c:552
+#: ../src/geotag_exif.c:540
msgid "Not yet implemented!"
msgstr "Zatím není naprogramované!"
-#: ../src/geotag_exif.c:565
+#: ../src/geotag_exif.c:553
msgid "Warning; Too many components specified!"
msgstr "Varování: Přiliš mnoho komponentů!"
-#: ../src/osm-traces.c:73
+#: ../src/osm-traces.c:76
msgid "Identifiable (public w/ timestamps)"
msgstr "Identifikovatelný (veřejný, body s časovou značkou)"
-#: ../src/osm-traces.c:74
+#: ../src/osm-traces.c:77
msgid "Trackable (private w/ timestamps)"
msgstr "Sledovatelný (anonymní, body s časovou značkou)"
-#: ../src/osm-traces.c:75
+#: ../src/osm-traces.c:78
msgid "Public"
msgstr "Veřejný"
-#: ../src/osm-traces.c:76
+#: ../src/osm-traces.c:79
msgid "Private"
msgstr "Soukromý"
-#: ../src/osm-traces.c:93
+#: ../src/osm-traces.c:97
msgid "OSM username:"
msgstr "OSM uživatel:"
-#: ../src/osm-traces.c:94
+#: ../src/osm-traces.c:98
msgid "OSM password:"
msgstr "OSM heslo:"
#. Preferences
-#: ../src/osm-traces.c:151
+#: ../src/osm-traces.c:155
msgid "OpenStreetMap Traces"
msgstr "OpenStreetMap trasy"
-#: ../src/osm-traces.c:234
+#: ../src/osm-traces.c:238
#, c-format
msgid "failed to upload data: HTTP response is %ld"
msgstr "chyba při nahrávání dat: HTTP odpověď %ld"
-#: ../src/osm-traces.c:239
+#: ../src/osm-traces.c:243
#, c-format
msgid "curl_easy_getinfo failed: %d"
msgstr "curl_easy_getinfo selhalo: %d"
-#: ../src/osm-traces.c:244
+#: ../src/osm-traces.c:248
#, c-format
msgid "curl request failed: %s"
msgstr "požadavek curl selhal: %s"
-#: ../src/osm-traces.c:275
+#: ../src/osm-traces.c:279
#, c-format
msgid "failed to open temporary file: %s"
msgstr "nelze otevřít dočasný soubor: %s"
#. Success
-#: ../src/osm-traces.c:328
+#: ../src/osm-traces.c:340
msgid "Uploaded to OSM"
msgstr "Nahráno do OSM"
-#: ../src/osm-traces.c:332
+#: ../src/osm-traces.c:344
msgid "FAILED TO UPLOAD DATA TO OSM - CURL PROBLEM"
msgstr "Selhalo nahrání do OSM - chyba curl"
-#: ../src/osm-traces.c:335
+#: ../src/osm-traces.c:347
msgid "FAILED TO UPLOAD DATA TO OSM"
msgstr "Selhalo nahrání do OSM"
-#: ../src/osm-traces.c:335
+#: ../src/osm-traces.c:347
msgid "HTTP response code"
msgstr "HTTP návratová hodnota"
-#: ../src/osm-traces.c:348
+#: ../src/osm-traces.c:355
#, c-format
msgid "failed to unlink temporary file: %s"
msgstr "nelze smazat dočasné soubory: %s"
-#: ../src/osm-traces.c:387
+#: ../src/osm-traces.c:394
msgid "OSM upload"
msgstr "nahrání do OSM"
-#: ../src/osm-traces.c:405
+#: ../src/osm-traces.c:413
msgid "Email:"
msgstr "email:"
-#: ../src/osm-traces.c:410
+#: ../src/osm-traces.c:418
msgid ""
"The email used as login\n"
"<small>Enter the email you use to login into www.openstreetmap.org.</small>"
@@ -849,7 +975,7 @@ msgstr ""
"Uživatelské jméno:\n"
"<small>Zadejte email pro přihlášení na www.openstreetmap.org.</small>"
-#: ../src/osm-traces.c:418
+#: ../src/osm-traces.c:426
msgid ""
"The password used to login\n"
"<small>Enter the password you use to login into "
@@ -858,11 +984,11 @@ msgstr ""
"Heslo\n"
"<small>Zadejte heslo pro přihlášení na www.openstreetmap.org.</small>"
-#: ../src/osm-traces.c:423
+#: ../src/osm-traces.c:431
msgid "File's name:"
msgstr "Jméno souboru:"
-#: ../src/osm-traces.c:433
+#: ../src/osm-traces.c:441
msgid ""
"The name of the file on OSM\n"
"<small>This is the name of the file created on the server.This is not the "
@@ -871,19 +997,30 @@ msgstr ""
"Jméno souboru\n"
"<small>Jak bude pojmenován soubor na www.openstreetmap.org </small>"
-#: ../src/osm-traces.c:442
+#: ../src/osm-traces.c:450
msgid "The description of the trace"
msgstr "Popis logu trasy"
-#: ../src/osm-traces.c:444
+#: ../src/osm-traces.c:453
+msgid "Anonymize Times:"
+msgstr ""
+
+#: ../src/osm-traces.c:458
+msgid ""
+"Anonymize times of the trace.\n"
+"<small>You may choose to make the trace identifiable, yet mask the actual "
+"real time values</small>"
+msgstr ""
+
+#: ../src/osm-traces.c:462
msgid "Tags:"
msgstr "Tagy:"
-#: ../src/osm-traces.c:449
+#: ../src/osm-traces.c:467
msgid "The tags associated to the trace"
msgstr "Tagy přiřazené k trase"
-#: ../src/osm-traces.c:482
+#: ../src/osm-traces.c:529
#, c-format
msgid "Uploading %s to OSM"
msgstr "Nahrávám %s na OSM"
@@ -892,69 +1029,88 @@ msgstr "Nahrávám %s na OSM"
msgid "Map cache memory size (MB):"
msgstr "Cache pro mapy (MB):"
-#: ../src/print.c:53
+#: ../src/print.c:51 ../src/viktrwlayer.c:509
msgid "None"
msgstr "Žádný"
-#: ../src/print.c:54
+#: ../src/print.c:52
msgid "Horizontally"
msgstr "Vodorovně"
-#: ../src/print.c:55
+#: ../src/print.c:53
msgid "Vertically"
msgstr "Svisle"
-#: ../src/print.c:56
+#: ../src/print.c:54
msgid "Both"
msgstr "V obou osách"
-#: ../src/print.c:120
+#: ../src/print.c:118
msgid "Image Settings"
msgstr "Nastavení obrázku"
-#: ../src/print.c:546
+#: ../src/print.c:548
msgid "done"
msgstr "hotovo"
#. Page Size
-#: ../src/print.c:575
+#: ../src/print.c:577
msgid "_Adjust Page Size and Orientation"
msgstr "_Upravit velikost stránky a orientaci"
-#: ../src/print.c:591
+#: ../src/print.c:593
msgid "C_enter:"
msgstr "Uprostř_ed:"
#. ignore page margins
-#: ../src/print.c:609
+#: ../src/print.c:611
msgid "Ignore Page _Margins"
msgstr "Ignorovat okraje _stránky"
-#: ../src/print.c:628
+#: ../src/print.c:630
msgid "Image S_ize:"
msgstr "Velikost obrázku"
-#: ../src/util.c:81
-msgid "Could not launch web browser."
-msgstr "nelze spustit webový prohlížeč"
+#: ../src/util.c:65
+#, c-format
+msgid "Could not launch web browser. %s"
+msgstr ""
+
+#: ../src/util.c:76
+#, c-format
+msgid "Could not create new email. %s"
+msgstr ""
+
+#: ../src/util.c:177
+#, c-format
+msgid ""
+"There is a newer version of Viking available: %s\n"
+"\n"
+"Do you wish to go to Viking's website now?"
+msgstr ""
-#: ../src/util.c:92
-msgid "Could not create new email."
-msgstr "Nelze vytvožit nový email."
+#: ../src/util.c:304
+msgid ""
+"This appears to be Viking's very first run.\n"
+"\n"
+"Do you wish to enable automatic internet features?\n"
+"\n"
+"Individual settings can be controlled in the Preferences."
+msgstr ""
-#: ../src/vikcoordlayer.c:46
+#: ../src/vikcoordlayer.c:57
msgid "Color:"
msgstr "Barva:"
-#: ../src/vikcoordlayer.c:47
+#: ../src/vikcoordlayer.c:58
msgid "Minutes Width:"
msgstr "Šířka v minutách:"
-#: ../src/vikcoordlayer.c:48
+#: ../src/vikcoordlayer.c:59
msgid "Line Thickness:"
msgstr "Šířka čary:"
-#: ../src/vikcoordlayer.c:56
+#: ../src/vikcoordlayer.c:66
msgid "Coordinate"
msgstr "Souřadnice"
@@ -990,62 +1146,130 @@ msgstr "Místa mimo"
msgid "Polygonzied Layer"
msgstr "Polygonální vrstva"
-#: ../src/main.c:89
+#: ../src/main.c:92
#, c-format
msgid "Ignoring Xlib error: error code %d request code %d\n"
msgstr "Xlib error: error kód %d kód požadavku %d\n"
-#: ../src/main.c:102
+#: ../src/main.c:105
msgid "Enable debug output"
msgstr "Povolit ladící výstup"
-#: ../src/main.c:103
+#: ../src/main.c:106
msgid "Enable verbose output"
msgstr "Povolit podrobný výstup"
-#: ../src/main.c:104
+#: ../src/main.c:107
msgid "Show version"
msgstr "Ukáže verzi"
-#: ../src/osm.c:106
+#: ../src/osm.c:99
msgid "On Disk OSM Tile Format"
msgstr ""
-#: ../src/osm.c:121
+#: ../src/osm.c:113
msgid "OSM (view)"
msgstr "OpenStreetMap (náhled)"
-#: ../src/osm.c:125
+#: ../src/osm.c:117
msgid "OSM (edit)"
msgstr "OpenStreetMap (editace)"
-#: ../src/osm.c:129
+#: ../src/osm.c:121
msgid "OSM (render)"
msgstr "OpenStreetMap (výstup)"
#. Example: http://127.0.0.1:8111/load_and_zoom?left=8.19&right=8.20&top=48.605&bottom=48.590&select=node413602999
#. JOSM or merkaartor must already be running with remote interface enabled
-#: ../src/osm.c:136
+#: ../src/osm.c:128
msgid "Local port 8111 (eg JOSM)"
msgstr "Lokální port 8111 (např. JOSM)"
-#: ../src/preferences.c:285
+#: ../src/osm.c:134
+msgid "OpenStreetMap Notes"
+msgstr ""
+
+#: ../src/osm.c:138
+msgid "OpenStreetBugs"
+msgstr ""
+
+#. Not really OSM but can't be bothered to create somewhere else to put it...
+#: ../src/osm.c:164
+msgid "Wikimedia Toolserver GeoHack"
+msgstr ""
+
+#: ../src/preferences.c:191
msgid "Preferences"
msgstr "Nastavení"
-#: ../src/uibuilder.c:147
+#: ../src/viklayer_defaults.c:232
+#, c-format
+msgid "Could not open file: %s"
+msgstr ""
+
+#: ../src/viklayer_defaults.c:303
+msgid "Layer Defaults"
+msgstr ""
+
+#: ../src/uibuilder.c:185
msgid "Take care that this password will be stored clearly in a plain file."
msgstr "Heslo bude uloženo nešifrovaně v souboru."
-#: ../src/vikaggregatelayer.c:37
+#: ../src/vikaggregatelayer.c:42
msgid "Aggregate"
msgstr "Sloučit"
-#: ../src/vikdemlayer.c:101
+#. VikLayersPanel *vlp = VIK_LAYERS_PANEL(lav[1]);
+#: ../src/vikaggregatelayer.c:484 ../src/viktrwlayer.c:10238
+#, c-format
+msgid "%s: Track and Route List"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:529 ../src/viktrwlayer.c:7354
+#: ../src/viktrwlayer.c:7420 ../src/viktrwlayer.c:7498
+msgid "_Visibility"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:534
+msgid "_Show All"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:540
+msgid "_Hide All"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:546 ../src/viktrwlayer.c:7371
+#: ../src/viktrwlayer.c:7437 ../src/viktrwlayer.c:7515
+msgid "_Toggle"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:553 ../src/viktrwlayer.c:7536
+msgid "_Sort"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:559 ../src/viktrwlayer.c:7542
+msgid "Name _Ascending"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:565 ../src/viktrwlayer.c:7548
+msgid "Name _Descending"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:571 ../src/viktrwlayer.c:7449
+#: ../src/viktrwlayer.c:7527 ../src/viktrwlayer.c:7587
+#: ../src/viktrwlayer_tracklist.c:237
+msgid "_Statistics"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:576 ../src/viktrwlayer.c:3971
+msgid "Track _List..."
+msgstr ""
+
+#: ../src/vikdemlayer.c:92
msgid "Absolute height"
msgstr "Absolutní výška"
-#: ../src/vikdemlayer.c:102
+#: ../src/vikdemlayer.c:93
msgid "Height gradient"
msgstr "Sklon"
@@ -1085,25 +1309,52 @@ msgstr "Stažení DEM dat"
msgid "DEM"
msgstr "DEM"
-#: ../src/vikdemlayer.c:284
+#: ../src/vikdemlayer.c:287
#, c-format
msgid "Number of files: %d"
msgstr "Počet souborů: %d"
-#: ../src/vikdemlayer.c:385
+#: ../src/vikdemlayer.c:427
msgid "DEM Loading"
msgstr "DEM načítání"
-#: ../src/vikdemlayer.c:889
+#: ../src/vikdemlayer.c:937
#, c-format
msgid "No SRTM data available for %f, %f"
msgstr "žádná dostupná SRTM data pro %f, %f"
-#: ../src/vikdemlayer.c:1149
+#. Probably not over any land...
+#: ../src/vikdemlayer.c:1193
+msgid "No DEM File Available"
+msgstr ""
+
+#: ../src/vikdemlayer.c:1212
+#, c-format
+msgid ""
+"\n"
+"Source: %s\n"
+"\n"
+"DEM File: %s\n"
+"DEM File Timestamp: %s"
+msgstr ""
+
+#: ../src/vikdemlayer.c:1216
+#, c-format
+msgid ""
+"Source: %s\n"
+"\n"
+"No DEM File!"
+msgstr ""
+
+#: ../src/vikdemlayer.c:1256
#, c-format
msgid "Downloading DEM %s"
msgstr "Stahuji DEM %s"
+#: ../src/vikdemlayer.c:1280
+msgid "_Show DEM File Information"
+msgstr ""
+
#: ../src/vikfileentry.c:68
msgid "Browse..."
msgstr "Procházet..."
@@ -1124,248 +1375,266 @@ msgstr "Přidat..."
msgid "Delete"
msgstr "Odstranit"
-#: ../src/vikgeoreflayer.c:70
+#: ../src/vikgeoreflayer.c:78
msgid "_Georef Move Map"
msgstr "_Georef posun mapy"
-#: ../src/vikgeoreflayer.c:70
+#: ../src/vikgeoreflayer.c:78
msgid "Georef Move Map"
msgstr "Georef posun mapy"
-#: ../src/vikgeoreflayer.c:77
+#: ../src/vikgeoreflayer.c:85
msgid "Georef Z_oom Tool"
msgstr "G_eoref přiblížení"
-#: ../src/vikgeoreflayer.c:77
+#: ../src/vikgeoreflayer.c:85
msgid "Georef Zoom Tool"
msgstr "Georef přiblížení"
-#: ../src/vikgeoreflayer.c:87
+#: ../src/vikgeoreflayer.c:95
msgid "GeoRef Map"
msgstr "GeoRef mapa"
-#: ../src/vikgeoreflayer.c:335 ../src/vikmapslayer.c:685
+#: ../src/vikgeoreflayer.c:377 ../src/vikmapslayer.c:720
#, c-format
msgid "Couldn't open image file: %s"
msgstr "Nelze otevřít soubor s obrázkem: %s"
-#: ../src/vikgeoreflayer.c:365
+#: ../src/vikgeoreflayer.c:391
+msgid ""
+"GeoRef map cannot be displayed in the current drawmode.\n"
+"Select \"UTM Mode\" from View menu to view it."
+msgstr ""
+
+#: ../src/vikgeoreflayer.c:415
msgid "Unexpected end of file reading World file."
msgstr "Neočekávaný konec World souboru."
-#: ../src/vikgeoreflayer.c:381 ../src/vikgeoreflayer.c:426
+#: ../src/vikgeoreflayer.c:431 ../src/vikgeoreflayer.c:476
msgid "Choose World file"
msgstr "Vyberte World soubor"
-#: ../src/vikgeoreflayer.c:394
+#: ../src/vikgeoreflayer.c:444
msgid "The World file you requested could not be opened for reading."
msgstr "Vybraný World soubor nelze otevřít pro čtení."
-#: ../src/vikgeoreflayer.c:439
+#: ../src/vikgeoreflayer.c:489
msgid "The file you requested could not be opened for writing."
msgstr "Vybraný World soubor nelze otevřít pro zápis."
-#: ../src/vikgeoreflayer.c:456 ../src/viklayer.c:480
+#: ../src/vikgeoreflayer.c:506 ../src/viklayer.c:518
msgid "Layer Properties"
msgstr "Vlastnosti vrstvy"
-#: ../src/vikgeoreflayer.c:478
+#: ../src/vikgeoreflayer.c:528
msgid "World File Parameters:"
msgstr "Parametry World souboru:"
-#: ../src/vikgeoreflayer.c:479
+#: ../src/vikgeoreflayer.c:529
msgid "Load From File..."
msgstr "Načíst ze souboru..."
-#: ../src/vikgeoreflayer.c:484
+#: ../src/vikgeoreflayer.c:534
msgid "Corner pixel easting:"
msgstr "Východní rohový bod:"
-#: ../src/vikgeoreflayer.c:486
-msgid "the UTM \"easting\" value of the upper-right corner pixel of the map"
-msgstr "UTM \"východní\" hodnota pro pravý horní roh mapy"
+#: ../src/vikgeoreflayer.c:536
+msgid "the UTM \"easting\" value of the upper-left corner pixel of the map"
+msgstr ""
-#: ../src/vikgeoreflayer.c:488
+#: ../src/vikgeoreflayer.c:538
msgid "Corner pixel northing:"
msgstr "Severní rohový bod:"
-#: ../src/vikgeoreflayer.c:490
-msgid "the UTM \"northing\" value of the upper-right corner pixel of the map"
-msgstr "UTM \"severníí\" hodnota pro pravý horní roh mapy"
+#: ../src/vikgeoreflayer.c:540
+msgid "the UTM \"northing\" value of the upper-left corner pixel of the map"
+msgstr ""
-#: ../src/vikgeoreflayer.c:492
+#: ../src/vikgeoreflayer.c:542
msgid "X (easting) scale (mpp): "
msgstr "X (východní) měřítko (mmp): "
-#: ../src/vikgeoreflayer.c:493
+#: ../src/vikgeoreflayer.c:543
msgid "Y (northing) scale (mpp): "
msgstr "Y (severní) měřítko (mpp): "
-#: ../src/vikgeoreflayer.c:496
+#: ../src/vikgeoreflayer.c:546
msgid "the scale of the map in the X direction (meters per pixel)"
msgstr "měřítko mapy v ose x (metry na pixel)"
-#: ../src/vikgeoreflayer.c:498
+#: ../src/vikgeoreflayer.c:548
msgid "the scale of the map in the Y direction (meters per pixel)"
msgstr "měřítko mapy v ose y (metry na pixel)"
-#: ../src/vikgeoreflayer.c:500
+#: ../src/vikgeoreflayer.c:550
msgid "Map Image:"
msgstr "Obrázek s mapou:"
#. Now with icons
-#: ../src/vikgeoreflayer.c:608
+#: ../src/vikgeoreflayer.c:658
msgid "_Zoom to Fit Map"
msgstr "_Přiblížit do mapy"
-#: ../src/vikgeoreflayer.c:614
+#: ../src/vikgeoreflayer.c:664
msgid "_Goto Map Center"
msgstr "_Jít na střed mapy"
-#: ../src/vikgeoreflayer.c:620
+#: ../src/vikgeoreflayer.c:670
msgid "_Export to World File"
msgstr "_Export jako World File"
-#: ../src/vikgoto.c:75
+#: ../src/vikgoto.c:81
msgid "No goto tool available."
msgstr "Jít na místo... není dostupné."
-#: ../src/vikgoto.c:88 ../src/vikgoto.c:107
+#: ../src/vikgoto.c:94 ../src/vikgoto.c:148
msgid "goto"
msgstr "Jít na"
-#: ../src/vikgoto.c:90
+#: ../src/vikgoto.c:96
msgid "I don't know that place. Do you want another goto?"
msgstr "Místo nenalezono. Zkusit jiné?"
-#: ../src/vikgoto.c:109
+#: ../src/vikgoto.c:150
msgid "goto provider:"
msgstr "Jít na... zdroj:"
-#: ../src/vikgoto.c:124
+#: ../src/vikgoto.c:165
msgid "Enter address or place name:"
msgstr "Zadejte adresu, nebo jméno místa:"
-#: ../src/vikgpslayer.c:127
+#: ../src/vikgoto.c:363
+msgid "Locality"
+msgstr ""
+
+#: ../src/vikgpslayer.c:128
msgid "Data Mode"
msgstr "Datový režim"
-#: ../src/vikgpslayer.c:129
+#: ../src/vikgpslayer.c:130
msgid "Realtime Tracking Mode"
msgstr "Režim sledování pozice"
-#: ../src/vikgpslayer.c:137
+#: ../src/vikgpslayer.c:167
msgid "Keep vehicle at center"
msgstr "Držet ve středu obrazovky"
-#: ../src/vikgpslayer.c:138
+#: ../src/vikgpslayer.c:168
msgid "Keep vehicle on screen"
msgstr "Držet vozidlo na obrazovce"
-#: ../src/vikgpslayer.c:139
+#: ../src/vikgpslayer.c:169
msgid "Disable"
msgstr "Zakázat"
-#: ../src/vikgpslayer.c:152
+#: ../src/vikgpslayer.c:209
msgid "Download Tracks:"
msgstr "Stáhnout trasy:"
-#: ../src/vikgpslayer.c:153
+#: ../src/vikgpslayer.c:210
msgid "Upload Tracks:"
msgstr "Nahrát trasy:"
-#: ../src/vikgpslayer.c:154
+#: ../src/vikgpslayer.c:211
msgid "Download Routes:"
msgstr "Stáhnout trasy:"
-#: ../src/vikgpslayer.c:155
+#: ../src/vikgpslayer.c:212
msgid "Upload Routes:"
msgstr "Nahrát trasy:"
-#: ../src/vikgpslayer.c:156
+#: ../src/vikgpslayer.c:213
msgid "Download Waypoints:"
msgstr "Stáhnout místa:"
-#: ../src/vikgpslayer.c:157
+#: ../src/vikgpslayer.c:214
msgid "Upload Waypoints:"
msgstr "Nahrát místa:"
-#: ../src/vikgpslayer.c:159
+#: ../src/vikgpslayer.c:216
msgid "Recording tracks"
msgstr "Zapisuji trasy"
-#: ../src/vikgpslayer.c:160
+#: ../src/vikgpslayer.c:217
msgid "Jump to current position on start"
msgstr "Na začátku skočit na aktuální pozici"
-#: ../src/vikgpslayer.c:161
+#: ../src/vikgpslayer.c:218
msgid "Moving Map Method:"
msgstr "Posun mapy:"
-#: ../src/vikgpslayer.c:162
+#: ../src/vikgpslayer.c:219
+msgid "Update Statusbar:"
+msgstr ""
+
+#: ../src/vikgpslayer.c:219
+msgid "Display information in the statusbar on GPS updates"
+msgstr ""
+
+#: ../src/vikgpslayer.c:220
msgid "Gpsd Host:"
msgstr "Gpsd host:"
-#: ../src/vikgpslayer.c:163
+#: ../src/vikgpslayer.c:221
msgid "Gpsd Port:"
msgstr "Gpsd port:"
-#: ../src/vikgpslayer.c:164
+#: ../src/vikgpslayer.c:222
msgid "Gpsd Retry Interval (seconds):"
msgstr "Opakovat připojení k gpsd po (s):"
-#: ../src/vikgpslayer.c:179
+#: ../src/vikgpslayer.c:243
msgid "GPS"
msgstr "GPS"
-#: ../src/vikgpslayer.c:242 ../src/vikgpslayer.c:1258
+#: ../src/vikgpslayer.c:306 ../src/vikgpslayer.c:1308
msgid "GPS Download"
msgstr "Stažení z GPS"
-#: ../src/vikgpslayer.c:242 ../src/vikgpslayer.c:1258
-#: ../src/viktrwlayer.c:3094
+#: ../src/vikgpslayer.c:306 ../src/vikgpslayer.c:1308
+#: ../src/viktrwlayer.c:3480
msgid "GPS Upload"
msgstr "Nahrání do GPS"
-#: ../src/vikgpslayer.c:244
+#: ../src/vikgpslayer.c:308
msgid "GPS Realtime Tracking"
msgstr "GPS sledování pozice"
-#: ../src/vikgpslayer.c:451
+#: ../src/vikgpslayer.c:517
msgid "Unknown GPS Protocol"
msgstr "Neznámý GPS protokol"
-#: ../src/vikgpslayer.c:469
+#: ../src/vikgpslayer.c:535
msgid "Unknown serial port device"
msgstr "Neznámé zařízení pro sériový port"
-#: ../src/vikgpslayer.c:572
+#: ../src/vikgpslayer.c:648
#, c-format
msgid "%s: unknown parameter"
msgstr "%s: neznámý parametr"
#. Now with icons
-#: ../src/vikgpslayer.c:693
+#: ../src/vikgpslayer.c:743
msgid "_Upload to GPS"
msgstr "Nahrát _do GPS"
-#: ../src/vikgpslayer.c:699
+#: ../src/vikgpslayer.c:749
msgid "Download from _GPS"
msgstr "Stáhnout _z GPS"
-#: ../src/vikgpslayer.c:720
+#: ../src/vikgpslayer.c:770
msgid "Empty _Realtime"
msgstr "Smazat _sledování pozice"
-#: ../src/vikgpslayer.c:727
+#: ../src/vikgpslayer.c:777
msgid "E_mpty Upload"
msgstr "Smazat k nahrání"
-#: ../src/vikgpslayer.c:733
+#: ../src/vikgpslayer.c:783
msgid "_Empty Download"
msgstr "Smazat _Download"
-#: ../src/vikgpslayer.c:739
+#: ../src/vikgpslayer.c:789
msgid "Empty _All"
msgstr "Smazat _vše"
@@ -1374,12 +1643,12 @@ msgstr "Smazat _vše"
#. This happens when copied GPS layer is deleted (not sure why the number_handlers would be 2)
#. I don't think there's any side effects and certainly better than the program just aborting
#.
-#: ../src/vikgpslayer.c:756
+#: ../src/vikgpslayer.c:806
#, c-format
msgid "Unexpected number of disconnected handlers: %d"
msgstr "Neočekávané množství odpojených popisovačů: %d"
-#: ../src/vikgpslayer.c:898
+#: ../src/vikgpslayer.c:948
#, c-format
msgid "Uploading %d waypoint..."
msgid_plural "Uploading %d waypoints..."
@@ -1387,7 +1656,7 @@ msgstr[0] "Nahrávám %d místo..."
msgstr[1] "Nahrávám %d místa..."
msgstr[2] "Nahrávám %d míst..."
-#: ../src/vikgpslayer.c:899
+#: ../src/vikgpslayer.c:949
#, c-format
msgid "Uploading %d trackpoint..."
msgid_plural "Uploading %d trackpoints..."
@@ -1395,7 +1664,7 @@ msgstr[0] "Nahrávám %d bod"
msgstr[1] "Nahrávám %d body"
msgstr[2] "Nahrávám %d bodů"
-#: ../src/vikgpslayer.c:900
+#: ../src/vikgpslayer.c:950
#, c-format
msgid "Uploading %d routepoint..."
msgid_plural "Uploading %d routepoints..."
@@ -1403,7 +1672,7 @@ msgstr[0] "Nahrán %d bod..."
msgstr[1] "Nahrány %d body..."
msgstr[2] "Nahráno %d bodů..."
-#: ../src/vikgpslayer.c:925
+#: ../src/vikgpslayer.c:975
#, c-format
msgid "Downloaded %d out of %d waypoint..."
msgid_plural "Downloaded %d out of %d waypoints..."
@@ -1411,7 +1680,7 @@ msgstr[0] "Staženo %d z %d místa..."
msgstr[1] "Staženy %d ze %d míst..."
msgstr[2] "Staženo %d z %d míst..."
-#: ../src/vikgpslayer.c:926
+#: ../src/vikgpslayer.c:976
#, c-format
msgid "Downloaded %d out of %d trackpoint..."
msgid_plural "Downloaded %d out of %d trackpoints..."
@@ -1419,7 +1688,7 @@ msgstr[0] "Stažen %d z %d bodu..."
msgstr[1] "Staženy %d ze %d bodů..."
msgstr[2] "Staženo %d z %d bodů..."
-#: ../src/vikgpslayer.c:927
+#: ../src/vikgpslayer.c:977
#, c-format
msgid "Downloaded %d out of %d routepoint..."
msgid_plural "Downloaded %d out of %d routepoints..."
@@ -1427,7 +1696,7 @@ msgstr[0] "Stažen %d bod z %d bodu..."
msgstr[1] "Staženy %d body z %d bodů..."
msgstr[2] "Staženy %d bodů z %d bodů..."
-#: ../src/vikgpslayer.c:932
+#: ../src/vikgpslayer.c:982
#, c-format
msgid "Uploaded %d out of %d waypoint..."
msgid_plural "Uploaded %d out of %d waypoints..."
@@ -1435,7 +1704,7 @@ msgstr[0] "Nahráno %d z %d místa"
msgstr[1] "Nahráno %d z %d míst"
msgstr[2] "Nahráno %d z %d míst"
-#: ../src/vikgpslayer.c:933
+#: ../src/vikgpslayer.c:983
#, c-format
msgid "Uploaded %d out of %d trackpoint..."
msgid_plural "Uploaded %d out of %d trackpoints..."
@@ -1443,7 +1712,7 @@ msgstr[0] "Nahrán %d z %d bodu..."
msgstr[1] "Nahráno %d z %d bodů..."
msgstr[2] "Nahráno %d z %d bodů..."
-#: ../src/vikgpslayer.c:934
+#: ../src/vikgpslayer.c:984
#, c-format
msgid "Uploaded %d out of %d routepoint..."
msgid_plural "Uploaded %d out of %d routepoints..."
@@ -1451,7 +1720,7 @@ msgstr[0] "Nahráno %d bod z %d bodu..."
msgstr[1] "Nahrány %d body ze %d bodů..."
msgstr[2] "Nahráno %d bodů z %d bodů..."
-#: ../src/vikgpslayer.c:942
+#: ../src/vikgpslayer.c:992
#, c-format
msgid "Downloaded %d waypoint"
msgid_plural "Downloaded %d waypoints"
@@ -1459,7 +1728,7 @@ msgstr[0] "Staženo %d místo"
msgstr[1] "Stažena %d místa"
msgstr[2] "Staženo %d míst"
-#: ../src/vikgpslayer.c:943
+#: ../src/vikgpslayer.c:993
#, c-format
msgid "Downloaded %d trackpoint"
msgid_plural "Downloaded %d trackpoints"
@@ -1467,7 +1736,7 @@ msgstr[0] "Stažen %d bod"
msgstr[1] "Staženy %d body"
msgstr[2] "Staženo %d bodů"
-#: ../src/vikgpslayer.c:944
+#: ../src/vikgpslayer.c:994
#, c-format
msgid "Downloaded %d routepoint"
msgid_plural "Downloaded %d routepoints"
@@ -1475,7 +1744,7 @@ msgstr[0] "Stažen %d bod"
msgstr[1] "Staženy %d body"
msgstr[2] "Staženo %d bodů"
-#: ../src/vikgpslayer.c:949
+#: ../src/vikgpslayer.c:999
#, c-format
msgid "Uploaded %d waypoint"
msgid_plural "Uploaded %d waypoints"
@@ -1483,7 +1752,7 @@ msgstr[0] "Nahráno %d místo"
msgstr[1] "Nahrána %d místa"
msgstr[2] "Nahráno %d míst"
-#: ../src/vikgpslayer.c:950
+#: ../src/vikgpslayer.c:1000
#, c-format
msgid "Uploaded %d trackpoint"
msgid_plural "Uploaded %d trackpoints"
@@ -1491,7 +1760,7 @@ msgstr[0] "Nahrán %d bod"
msgstr[1] "Nahrány %d body"
msgstr[2] "Nahráno %d bodů"
-#: ../src/vikgpslayer.c:951
+#: ../src/vikgpslayer.c:1001
#, c-format
msgid "Uploaded %d routepoint"
msgid_plural "Uploaded %d routepoints"
@@ -1499,124 +1768,122 @@ msgstr[0] "Nahrán %d bod"
msgstr[1] "Nahrány %d body"
msgstr[2] "Nahráno %d bodů"
-#: ../src/vikgpslayer.c:1180
+#: ../src/vikgpslayer.c:1230
msgid "Error: couldn't find gpsbabel."
msgstr "Chyba: gpsbabel nenalezen"
-#: ../src/vikgpslayer.c:1269
+#: ../src/vikgpslayer.c:1319
msgid "Warning - GPS Upload items may overwrite each other"
msgstr "Varování - nahrávané GPS objekty se mohou vzájemně přepsat"
-#: ../src/vikgpslayer.c:1301
+#: ../src/vikgpslayer.c:1351
msgid "Status: detecting gpsbabel"
msgstr "Status: hledám gpsbabel"
-#: ../src/vikgpslayer.c:1332
+#: ../src/vikgpslayer.c:1386
msgid "No GPS items selected for transfer."
msgstr "Nevybrány GPS objekty k přenosu."
-#: ../src/vikgpslayer.c:1347
+#: ../src/vikgpslayer.c:1401
msgid "Could not turn off device."
msgstr "Vypnutí zařízení selhalo."
-#: ../src/vikgpslayer.c:1385
+#: ../src/vikgpslayer.c:1439
msgid "Are you sure you want to delete GPS Upload data?"
msgstr "Opravdu chcete odstranit Nahraná GPS data?"
-#: ../src/vikgpslayer.c:1398
+#: ../src/vikgpslayer.c:1452
msgid "Are you sure you want to delete GPS Download data?"
msgstr "Opravdu chcete odstranit Stažená GPS data?"
-#: ../src/vikgpslayer.c:1412
+#: ../src/vikgpslayer.c:1466
msgid "Are you sure you want to delete GPS Realtime data?"
msgstr "Opravdu chcete odstranit realtime GPS data?"
-#: ../src/vikgpslayer.c:1425
+#: ../src/vikgpslayer.c:1479
msgid "Are you sure you want to delete All GPS data?"
msgstr "Opravdu chcete odstranit všechna GPS data?"
-#: ../src/viklayerspanel.c:55
-msgid "/C_ut"
-msgstr "/Odstranit"
+#: ../src/viklayerspanel.c:53
+msgid "C_ut"
+msgstr ""
-#: ../src/viklayerspanel.c:56
-msgid "/_Copy"
-msgstr "/_Kopírovat"
+#: ../src/viklayerspanel.c:54 ../src/vikwindow.c:3753
+msgid "_Copy"
+msgstr "_Kopírovat"
-#: ../src/viklayerspanel.c:57
-msgid "/_Paste"
-msgstr "/_Vložit"
+#: ../src/viklayerspanel.c:55 ../src/vikwindow.c:3754
+msgid "_Paste"
+msgstr "_Vložit"
-#: ../src/viklayerspanel.c:58
-msgid "/_Delete"
+#: ../src/viklayerspanel.c:56 ../src/vikwindow.c:3755
+msgid "_Delete"
msgstr "_Smazat"
-#: ../src/viklayerspanel.c:59
-msgid "/New Layer"
-msgstr "/Nová vrsta"
+#: ../src/viklayerspanel.c:133
+msgid "New Layer"
+msgstr ""
-#: ../src/viklayerspanel.c:127
+#: ../src/viklayerspanel.c:178
msgid "Top Layer"
msgstr "Hlavní vrstva"
-#: ../src/viklayerspanel.c:143
+#: ../src/viklayerspanel.c:194
msgid "Add new layer"
msgstr "Přidat novou vrstvu"
-#: ../src/viklayerspanel.c:150
+#: ../src/viklayerspanel.c:201
msgid "Remove selected layer"
msgstr "Smazat vrstvu"
-#: ../src/viklayerspanel.c:157
+#: ../src/viklayerspanel.c:208
msgid "Move selected layer up"
msgstr "Posunout vrstvu nahoru"
-#: ../src/viklayerspanel.c:164
+#: ../src/viklayerspanel.c:215
msgid "Move selected layer down"
msgstr "Posunout vrstvu dolů"
-#: ../src/viklayerspanel.c:171
+#: ../src/viklayerspanel.c:222
msgid "Cut selected layer"
msgstr "Vyjmout vrstvu"
-#: ../src/viklayerspanel.c:178
+#: ../src/viklayerspanel.c:229
msgid "Copy selected layer"
msgstr "Kopírovat vrstvu"
-#: ../src/viklayerspanel.c:185
-msgid "Paste layer below selected layer"
-msgstr "Vložit pod vybranou vrstvu"
+#: ../src/viklayerspanel.c:236
+msgid ""
+"Paste layer into selected container layer or otherwise above selected layer"
+msgstr ""
-#. TODO: FIXME: if name has a '/' in it it will get all messed up. why not have an itemfactory field with
-#. name, icon, shortcut, etc.?
-#: ../src/viklayerspanel.c:204 ../src/vikwindow.c:3292
-#, c-format
-msgid "New _%s Layer"
-msgstr "nová _%s vrstva"
+#: ../src/viklayerspanel.c:300
+msgid "New name can not be blank."
+msgstr ""
-#: ../src/viklayerspanel.c:511
+#: ../src/viklayerspanel.c:544
msgid "Aggregate Layers have no settable properties."
msgstr "Agregační vrstvy nemají žádná nastavení."
-#: ../src/viklayerspanel.c:555
+#: ../src/viklayerspanel.c:588
msgid "You cannot cut the Top Layer."
msgstr "Nelze vyjmout hlavní vrstvu."
-#: ../src/viklayerspanel.c:600
+#: ../src/viklayerspanel.c:633
#, c-format
msgid "Are you sure you want to delete %s?"
msgstr "Opravdu chcete odstranit %s?"
-#: ../src/viklayerspanel.c:617
+#: ../src/viklayerspanel.c:650
msgid "You cannot delete the Top Layer."
msgstr "Nelze odstranit hlavní vrstvu."
-#: ../src/viklayerspanel.c:701
+#: ../src/viklayerspanel.c:734
msgid "Are you sure you wish to delete all layers?"
msgstr "Opravdu smazat všechny vrstvy?"
#. ******* MAPZOOMS ********
-#: ../src/vikmapslayer.c:91
+#: ../src/vikmapslayer.c:80
msgid "Use Viking Zoom Level"
msgstr "použít aktuální přiblížení mapy"
@@ -1663,35 +1930,35 @@ msgid ""
"actual zoom level."
msgstr ""
-#: ../src/vikmapslayer.c:146
+#: ../src/vikmapslayer.c:156
msgid "_Maps Download"
msgstr "Stažení _map"
-#: ../src/vikmapslayer.c:146
+#: ../src/vikmapslayer.c:156
msgid "Maps Download"
msgstr "Stažení map"
-#: ../src/vikmapslayer.c:161
+#: ../src/vikmapslayer.c:171
msgid "Map"
msgstr "Mapa"
-#: ../src/vikmapslayer.c:249
-msgid "Default maplayer directory:"
-msgstr "Výchozí složka mapové vrstvy:"
+#: ../src/vikmapslayer.c:259
+msgid "Default map layer directory:"
+msgstr ""
-#: ../src/vikmapslayer.c:249
+#: ../src/vikmapslayer.c:259
msgid "Choose a directory to store cached Map tiles for this layer"
msgstr "Vyberte složku určenou pro mapy této vrstvy"
-#: ../src/vikmapslayer.c:505
+#: ../src/vikmapslayer.c:523
msgid "Unknown map type"
msgstr "Neznámý typ mapy"
-#: ../src/vikmapslayer.c:516
+#: ../src/vikmapslayer.c:534
msgid "Unknown Map Zoom"
msgstr "Neznámé přiblížení mapy"
-#: ../src/vikmapslayer.c:589
+#: ../src/vikmapslayer.c:624
#, c-format
msgid ""
"New map cannot be displayed in the current drawmode.\n"
@@ -1700,14 +1967,14 @@ msgstr ""
"Nová mapa nemůže být zobrazena v tomto režimu.\n"
"Vyberte \"%s\" z menu zobrazení."
-#: ../src/vikmapslayer.c:753
+#: ../src/vikmapslayer.c:798
#, c-format
msgid ""
"Cowardly refusing to draw tiles or existence of tiles beyond %d zoom out "
"factor"
msgstr "Zbaběle odmítá vykreslit mapové podklady nad stupeň přiblížení %d"
-#: ../src/vikmapslayer.c:1157
+#: ../src/vikmapslayer.c:1210
#, c-format
msgid "Redownloading up to %d %s map..."
msgid_plural "Redownloading up to %d %s maps..."
@@ -1715,7 +1982,7 @@ msgstr[0] "Opakované stažení %d %s mapy..."
msgstr[1] "Opakované stažení %d %s map..."
msgstr[2] "Opakované stažení %d %s map..."
-#: ../src/vikmapslayer.c:1159
+#: ../src/vikmapslayer.c:1212
#, c-format
msgid "Redownloading %d %s map..."
msgid_plural "Redownloading %d %s maps..."
@@ -1723,7 +1990,7 @@ msgstr[0] "Opakované stahování %d %s mapy..."
msgstr[1] "Opakované stahování %d %s map..."
msgstr[2] "Opakované stahování %d %s map..."
-#: ../src/vikmapslayer.c:1163 ../src/vikmapslayer.c:1238
+#: ../src/vikmapslayer.c:1216 ../src/vikmapslayer.c:1290
#, c-format
msgid "Downloading %d %s map..."
msgid_plural "Downloading %d %s maps..."
@@ -1731,7 +1998,7 @@ msgstr[0] "Stahuji %d %s mapu..."
msgstr[1] "Stahuji %d %s mapu..."
msgstr[2] "Stahuji %d %s mapu..."
-#: ../src/vikmapslayer.c:1311
+#: ../src/vikmapslayer.c:1376
#, c-format
msgid ""
"\n"
@@ -1746,7 +2013,7 @@ msgstr ""
"soubor dlaždice: %s\n"
"časová značka: %s"
-#: ../src/vikmapslayer.c:1318
+#: ../src/vikmapslayer.c:1380
#, c-format
msgid ""
"Source: %s\n"
@@ -1757,23 +2024,23 @@ msgstr ""
"\n"
"žádný soubor!"
-#: ../src/vikmapslayer.c:1356
+#: ../src/vikmapslayer.c:1418
msgid "Redownload _Bad Map(s)"
msgstr "Stáhnout ch_ybné mapy"
-#: ../src/vikmapslayer.c:1360
+#: ../src/vikmapslayer.c:1422
msgid "Redownload _New Map(s)"
msgstr "Znovu stáhnout _nové mapy"
-#: ../src/vikmapslayer.c:1364
+#: ../src/vikmapslayer.c:1426
msgid "Redownload _All Map(s)"
msgstr "Znovu stáhnout všechny m_apy"
-#: ../src/vikmapslayer.c:1368
+#: ../src/vikmapslayer.c:1430
msgid "_Show Tile Information"
msgstr "_zobrazit info o dlaždici"
-#: ../src/vikmapslayer.c:1449
+#: ../src/vikmapslayer.c:1511
#, c-format
msgid ""
"Wrong drawmode for this map.\n"
@@ -1782,301 +2049,400 @@ msgstr ""
"špatný zobrazovací režim pro tento druh mapy.\n"
"Vyberte \"%s\" z menu Zobrazení a zkuste znovu."
-#: ../src/vikmapslayer.c:1454
+#: ../src/vikmapslayer.c:1516
msgid "Wrong zoom level for this map."
msgstr "Špatný stupeň přiblížení pro tuto mapu."
+#: ../src/vikmapslayer.c:1647
+msgid "Zoom Start:"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1654
+msgid "Zoom End:"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1660
+msgid "Download Maps Method:"
+msgstr ""
+
+#. redownload method - needs to align with REDOWNLOAD* macro values
+#: ../src/vikmapslayer.c:1732
+msgid "Missing"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1732
+msgid "Bad"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1732
+msgid "New"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1732
+msgid "Reload All"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1734
+msgid "Download for Zoom Levels"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1774
+#, c-format
+msgid ""
+"You are not allowed to download more than %d tiles in one go (requested %d)"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1782
+#, c-format
+msgid "Do you really want to download %d tiles?"
+msgstr ""
+
#. Now with icons
-#: ../src/vikmapslayer.c:1485
+#: ../src/vikmapslayer.c:1807
msgid "Download _Missing Onscreen Maps"
msgstr "Stáhnout chybějící _mapy na obrazovce"
-#: ../src/vikmapslayer.c:1492
+#: ../src/vikmapslayer.c:1814
msgid "Download _New Onscreen Maps"
msgstr "Stáhnout _aktualizované mapy na obrazovce"
-#: ../src/vikmapslayer.c:1499
+#: ../src/vikmapslayer.c:1821
msgid "Reload _All Onscreen Maps"
msgstr "Znovu stáhnut všechny mapy na obrazovce"
-#: ../src/viktreeview.c:263
+#: ../src/vikmapslayer.c:1827
+msgid "Download Maps in _Zoom Levels..."
+msgstr ""
+
+#: ../src/vikrouting.c:54
+msgid "Default engine:"
+msgstr ""
+
+#: ../src/viktreeview.c:316
msgid "Layer Name"
msgstr "Jméno vrstvy"
-#: ../src/viktreeview.c:742
+#: ../src/viktreeview.c:851
#, c-format
msgid "delete data from %s\n"
msgstr "smazat data z %s\n"
-#: ../src/viktrwlayer.c:377
+#: ../src/viktrwlayer.c:398
msgid "Create _Waypoint"
msgstr "vytvořit míst_o"
-#: ../src/viktrwlayer.c:377
+#: ../src/viktrwlayer.c:398
msgid "Create Waypoint"
msgstr "Vytvořit místo"
-#: ../src/viktrwlayer.c:383
+#: ../src/viktrwlayer.c:404
msgid "Create _Track"
msgstr "vytvořit _trasu"
-#: ../src/viktrwlayer.c:383
+#: ../src/viktrwlayer.c:404
msgid "Create Track"
msgstr "Vytvořit trasu"
-#: ../src/viktrwlayer.c:392
+#: ../src/viktrwlayer.c:413
msgid "Create _Route"
msgstr "vytvořit"
-#: ../src/viktrwlayer.c:392
+#: ../src/viktrwlayer.c:413
msgid "Create Route"
msgstr "Vytvořit trasu"
-#: ../src/viktrwlayer.c:401
+#: ../src/viktrwlayer.c:422
msgid "_Edit Waypoint"
msgstr "Změna _místa"
-#: ../src/viktrwlayer.c:401
+#: ../src/viktrwlayer.c:422
msgid "Edit Waypoint"
msgstr "Změna místa"
-#: ../src/viktrwlayer.c:409
+#: ../src/viktrwlayer.c:432
msgid "Edit Trac_kpoint"
msgstr "Změna _bodu"
-#: ../src/viktrwlayer.c:409
+#: ../src/viktrwlayer.c:432
msgid "Edit Trackpoint"
msgstr "Změna bodu"
-#: ../src/viktrwlayer.c:417
+#: ../src/viktrwlayer.c:442
msgid "Show P_icture"
msgstr "Zobrazit _obrázek"
-#: ../src/viktrwlayer.c:417
+#: ../src/viktrwlayer.c:442
msgid "Show Picture"
msgstr "Ukázat obrázek"
-#: ../src/viktrwlayer.c:424
+#: ../src/viktrwlayer.c:448
msgid "Route _Finder"
msgstr "Nalézt _trasu"
-#: ../src/viktrwlayer.c:424
+#: ../src/viktrwlayer.c:448
msgid "Route Finder"
msgstr "Vyhledání cesty"
#. ***** PARAMETERS *****
-#: ../src/viktrwlayer.c:447 ../src/viktrwlayer.c:1942
-#: ../src/viktrwlayer.c:1944
+#: ../src/viktrwlayer.c:468 ../src/viktrwlayer.c:2324
msgid "Waypoints"
msgstr "Místa"
-#: ../src/viktrwlayer.c:447 ../src/viktrwlayer.c:1933
-#: ../src/viktrwlayer.c:1935
+#: ../src/viktrwlayer.c:468 ../src/viktrwlayer.c:2319
msgid "Tracks"
msgstr "Trasy"
-#: ../src/viktrwlayer.c:447
+#: ../src/viktrwlayer.c:468
msgid "Waypoint Images"
msgstr "Obrázky míst"
-#: ../src/viktrwlayer.c:450
+#: ../src/viktrwlayer.c:468
+msgid "Tracks Advanced"
+msgstr ""
+
+#: ../src/viktrwlayer.c:471
msgid "Draw by Track"
msgstr "Barva dle trasy"
-#: ../src/viktrwlayer.c:450
+#: ../src/viktrwlayer.c:471
msgid "Draw by Speed"
msgstr "dle rychlosti"
-#: ../src/viktrwlayer.c:450
+#: ../src/viktrwlayer.c:471
msgid "All Tracks Same Color"
msgstr "Všechny stejná barva"
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "Filled Square"
msgstr "Plný čtverec"
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "Square"
msgstr "Čtverec"
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "Circle"
msgstr "Kruh"
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "X"
msgstr "X"
-#: ../src/viktrwlayer.c:477
+#: ../src/viktrwlayer.c:498
msgid "Extra Extra Small"
msgstr "nejmenší"
-#: ../src/viktrwlayer.c:478
+#: ../src/viktrwlayer.c:499
msgid "Extra Small"
msgstr "menší"
-#: ../src/viktrwlayer.c:479
+#: ../src/viktrwlayer.c:500
msgid "Small"
msgstr "malý"
-#: ../src/viktrwlayer.c:480
+#: ../src/viktrwlayer.c:501
msgid "Medium"
msgstr "střední"
-#: ../src/viktrwlayer.c:481
+#: ../src/viktrwlayer.c:502
msgid "Large"
msgstr "větší"
-#: ../src/viktrwlayer.c:482
+#: ../src/viktrwlayer.c:503
msgid "Extra Large"
msgstr "velký"
-#: ../src/viktrwlayer.c:483
+#: ../src/viktrwlayer.c:504
msgid "Extra Extra Large"
msgstr "největší"
-#: ../src/viktrwlayer.c:491
+#: ../src/viktrwlayer.c:510
+msgid "Name Ascending"
+msgstr ""
+
+#: ../src/viktrwlayer.c:511
+msgid "Name Descending"
+msgstr ""
+
+#: ../src/viktrwlayer.c:552 ../src/viktrwlayer.c:576
+msgid "Draw Labels"
+msgstr "Kreslit popisky"
+
+#: ../src/viktrwlayer.c:553
+msgid "Note: the individual track controls what labels may be displayed"
+msgstr ""
+
+#: ../src/viktrwlayer.c:554
+msgid "Track Labels Font Size:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:555
msgid "Track Drawing Mode:"
msgstr "Režim vykreslení trasy:"
-#: ../src/viktrwlayer.c:492
+#: ../src/viktrwlayer.c:556
msgid "All Tracks Color:"
msgstr "Barva všech:"
-#: ../src/viktrwlayer.c:493
+#: ../src/viktrwlayer.c:557
msgid "The color used when 'All Tracks Same Color' drawing mode is selected"
msgstr ""
"Vybraná barva je použita pokud je zvolen režim 'Všechny stejná barva'"
-#: ../src/viktrwlayer.c:494
+#: ../src/viktrwlayer.c:558
msgid "Draw Track Lines"
msgstr "Zobrazit trasu"
-#: ../src/viktrwlayer.c:495
+#: ../src/viktrwlayer.c:559
msgid "Track Thickness:"
msgstr "Tloušťka trasy"
-#: ../src/viktrwlayer.c:496
+#: ../src/viktrwlayer.c:560
msgid "Draw Track Direction"
msgstr "Vykreslit směr"
-#: ../src/viktrwlayer.c:497
+#: ../src/viktrwlayer.c:561
msgid "Direction Size:"
msgstr "Velikost značky směru:"
-#: ../src/viktrwlayer.c:498
+#: ../src/viktrwlayer.c:562
msgid "Draw Trackpoints"
msgstr "Zobrazit body"
-#: ../src/viktrwlayer.c:499
+#: ../src/viktrwlayer.c:563
msgid "Trackpoint Size:"
msgstr "Velikost bodu:"
-#: ../src/viktrwlayer.c:500
+#: ../src/viktrwlayer.c:564
msgid "Draw Elevation"
msgstr "Vykreslit výšku"
-#: ../src/viktrwlayer.c:501
+#: ../src/viktrwlayer.c:565
msgid "Draw Elevation Height %:"
msgstr "Míra zobrazení výšky %:"
-#: ../src/viktrwlayer.c:503
+#: ../src/viktrwlayer.c:566
msgid "Draw Stops"
msgstr "Vykreslit zastávky"
-#: ../src/viktrwlayer.c:504
+#: ../src/viktrwlayer.c:567
msgid ""
"Whether to draw a marker when trackpoints are at the same position but over "
"the minimum stop length apart in time"
msgstr ""
-#: ../src/viktrwlayer.c:505
+#: ../src/viktrwlayer.c:568
msgid "Min Stop Length (seconds):"
msgstr "Min. délka zastávky (sekund):"
-#: ../src/viktrwlayer.c:507
+#: ../src/viktrwlayer.c:570
msgid "Track BG Thickness:"
msgstr "Pozadí tlouštky trasy:"
-#: ../src/viktrwlayer.c:508
+#: ../src/viktrwlayer.c:571
msgid "Track Background Color"
msgstr "Barva pozadí trasy"
-#: ../src/viktrwlayer.c:509
+#: ../src/viktrwlayer.c:572
msgid "Draw by Speed Factor (%):"
msgstr "Míra zobrazení rychlosti (%):"
-#: ../src/viktrwlayer.c:510
+#: ../src/viktrwlayer.c:573
msgid ""
"The percentage factor away from the average speed determining the color used"
msgstr "Poměr v % určující barvu vzhledem k průměrné hodnotě"
-#: ../src/viktrwlayer.c:512
-msgid "Draw Labels"
-msgstr "Kreslit popisky"
+#: ../src/viktrwlayer.c:574
+msgid "Track Sort Order:"
+msgstr ""
-#: ../src/viktrwlayer.c:513
+#: ../src/viktrwlayer.c:577
msgid "Waypoint Font Size:"
msgstr "Velikost fontu místa:"
-#: ../src/viktrwlayer.c:514
+#: ../src/viktrwlayer.c:578
msgid "Waypoint Color:"
msgstr "Barva místa:"
-#: ../src/viktrwlayer.c:515
+#: ../src/viktrwlayer.c:579
msgid "Waypoint Text:"
msgstr "Text místa:"
-#: ../src/viktrwlayer.c:516
+#: ../src/viktrwlayer.c:580
msgid "Background:"
msgstr "Pozadí:"
-#: ../src/viktrwlayer.c:517
+#: ../src/viktrwlayer.c:581
msgid "Fake BG Color Translucency:"
msgstr "pozadí částečně průhledné:"
-#: ../src/viktrwlayer.c:518
+#: ../src/viktrwlayer.c:582
msgid "Waypoint marker:"
msgstr "Označení místa:"
-#: ../src/viktrwlayer.c:519
+#: ../src/viktrwlayer.c:583
msgid "Waypoint size:"
msgstr "Velikost označení:"
-#: ../src/viktrwlayer.c:520
+#: ../src/viktrwlayer.c:584
msgid "Draw Waypoint Symbols:"
msgstr "Vykreslit symboly míst:"
-#: ../src/viktrwlayer.c:522
+#: ../src/viktrwlayer.c:585
+msgid "Waypoint Sort Order:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:587
msgid "Draw Waypoint Images"
msgstr "Vykreslit obrázky míst"
-#: ../src/viktrwlayer.c:523
+#: ../src/viktrwlayer.c:588
msgid "Image Size (pixels):"
msgstr "Veliost obrázku (pixely):"
-#: ../src/viktrwlayer.c:524
+#: ../src/viktrwlayer.c:589
msgid "Image Alpha:"
msgstr "Alfa obrázku:"
-#: ../src/viktrwlayer.c:525
+#: ../src/viktrwlayer.c:590
msgid "Image Memory Cache Size:"
msgstr "Velikost cache paměti obrázků:"
-#: ../src/viktrwlayer.c:610
+#: ../src/viktrwlayer.c:678
msgid "TrackWaypoint"
msgstr "Místo v záznamu"
-#: ../src/viktrwlayer.c:1951 ../src/viktrwlayer.c:1953
+#: ../src/viktrwlayer.c:1534 ../src/vikutils.c:204
+msgid "miles"
+msgstr ""
+
+#. VIK_UNITS_DISTANCE_KILOMETRES:
+#: ../src/viktrwlayer.c:1538 ../src/vikutils.c:209
+msgid "km"
+msgstr ""
+
+#: ../src/viktrwlayer.c:1648
+msgid "start/end"
+msgstr ""
+
+#: ../src/viktrwlayer.c:1660
+msgid "start"
+msgstr ""
+
+#: ../src/viktrwlayer.c:1669
+msgid "end"
+msgstr ""
+
+#: ../src/viktrwlayer.c:2329
msgid "Routes"
msgstr "Trasy"
-#: ../src/viktrwlayer.c:2144
+#: ../src/viktrwlayer.c:2519
#, c-format
msgid " in %d:%02d hrs:mins"
msgstr " za %d:%02d hod:min"
-#: ../src/viktrwlayer.c:2148
+#: ../src/viktrwlayer.c:2523
#, c-format
msgid ""
"\n"
@@ -2085,348 +2451,321 @@ msgstr ""
"\n"
"%sCelková vzdálenost %.1f %s%s"
-#: ../src/viktrwlayer.c:2154
+#: ../src/viktrwlayer.c:2529
#, c-format
msgid "Tracks: %d - Waypoints: %d - Routes: %d%s"
msgstr "Záznamy: %d - Místa: %d - Trasy: %d%s"
-#: ../src/viktrwlayer.c:2174
+#: ../src/viktrwlayer.c:2549
#, c-format
msgid "Tracks: %d"
msgstr "Záznamy: %d"
-#: ../src/viktrwlayer.c:2184
+#: ../src/viktrwlayer.c:2559
#, c-format
msgid "Routes: %d"
msgstr "Trasy: %d"
-#: ../src/viktrwlayer.c:2215
+#: ../src/viktrwlayer.c:2590
#, c-format
msgid "- %d:%02d hrs:mins"
msgstr "- %d:%02d hod:min"
-#: ../src/viktrwlayer.c:2223
+#: ../src/viktrwlayer.c:2598
#, c-format
msgid "%s%.1f km %s"
msgstr "%s%.1f km %s"
-#: ../src/viktrwlayer.c:2226
+#: ../src/viktrwlayer.c:2601
#, c-format
msgid "%s%.1f miles %s"
msgstr "%s%.1f mil %s"
-#: ../src/viktrwlayer.c:2240
+#: ../src/viktrwlayer.c:2615
#, c-format
msgid "Waypoints: %d"
msgstr "Místa: %d"
-#: ../src/viktrwlayer.c:2266
-#, c-format
-msgid "Trkpt: Alt %dft"
-msgstr "Trkpt: Alt %dft"
-
-#. VIK_UNITS_HEIGHT_METRES:
-#: ../src/viktrwlayer.c:2270
-#, c-format
-msgid "Trkpt: Alt %dm"
-msgstr "Trkpt: Alt %dm"
-
-#. Compact date time format
-#: ../src/viktrwlayer.c:2277
-#, c-format
-msgid " | Time %x %X"
-msgstr " | Time %x %X"
-
-#: ../src/viktrwlayer.c:2295
-#, c-format
-msgid " | Track: %s"
-msgstr " | Track: %s"
-
-#. Combine parts to make overall message
-#: ../src/viktrwlayer.c:2299
-#, c-format
-msgid "%s%s | %s %s %s"
-msgstr "%s%s | %s %s %s"
-
-#: ../src/viktrwlayer.c:2314
+#: ../src/viktrwlayer.c:2671
#, c-format
msgid "Wpt: Alt %dft"
msgstr "Wpt: Alt %dft"
#. VIK_UNITS_HEIGHT_METRES:
-#: ../src/viktrwlayer.c:2318
+#: ../src/viktrwlayer.c:2675
#, c-format
msgid "Wpt: Alt %dm"
msgstr "Wpt: Alt %dm"
#. Add comment if available
-#: ../src/viktrwlayer.c:2333
+#: ../src/viktrwlayer.c:2690
#, c-format
msgid "%s | %s %s | Comment: %s"
msgstr "%s | %s %s | Comment: %s"
-#: ../src/viktrwlayer.c:2335
+#: ../src/viktrwlayer.c:2692
#, c-format
msgid "%s | %s %s"
msgstr "%s | %s %s"
-#: ../src/viktrwlayer.c:2563 ../src/viktrwlayer.c:2634
+#: ../src/viktrwlayer.c:2939 ../src/viktrwlayer.c:3010
msgid "This layer has no waypoints or trackpoints."
msgstr "Ve vrstvě nejsou body ani místa."
-#: ../src/viktrwlayer.c:2661 ../src/vikwindow.c:2407 ../src/vikwindow.c:2848
+#: ../src/viktrwlayer.c:3045 ../src/vikwindow.c:2754 ../src/vikwindow.c:3407
#, c-format
msgid "The file \"%s\" exists, do you wish to overwrite it?"
msgstr "Soubor \"%s\" existuje, přepsat?"
-#: ../src/viktrwlayer.c:2671 ../src/vikwindow.c:2429
+#: ../src/viktrwlayer.c:3057 ../src/vikwindow.c:2778
msgid "The filename you requested could not be opened for writing."
msgstr "Soubor nemůže být otevřen k zápisu."
-#: ../src/viktrwlayer.c:2676 ../src/viktrwlayer.c:2681
-#: ../src/viktrwlayer.c:2691 ../src/viktrwlayer.c:2703
+#: ../src/viktrwlayer.c:3062 ../src/viktrwlayer.c:3067
+#: ../src/viktrwlayer.c:3077 ../src/viktrwlayer.c:3089
msgid "Export Layer"
msgstr "Export vrstvy jako..."
-#: ../src/viktrwlayer.c:2720
+#: ../src/viktrwlayer.c:3108
msgid "Could not create temporary file for export."
msgstr "Nelze vytvořit dočasný soubor s exportem."
-#: ../src/viktrwlayer.c:2729
+#: ../src/viktrwlayer.c:3117
#, c-format
msgid "Could not launch %s."
msgstr "Nelze spustit %s."
-#: ../src/viktrwlayer.c:2773
+#: ../src/viktrwlayer.c:3161
msgid "Export Track as GPX"
msgstr "Exportovat trasu jako GPX"
-#: ../src/viktrwlayer.c:2795
+#: ../src/viktrwlayer.c:3183
msgid "Find"
msgstr "Hledat"
-#: ../src/viktrwlayer.c:2805
+#: ../src/viktrwlayer.c:3193
msgid "Waypoint Name:"
msgstr "Jméno místa:"
-#: ../src/viktrwlayer.c:2822
+#: ../src/viktrwlayer.c:3210
msgid "Waypoint not found in this layer."
msgstr "Místo není v této vrstvě"
-#: ../src/viktrwlayer.c:3090
+#: ../src/viktrwlayer.c:3476
msgid "Can not upload invisible track."
msgstr "Nelze nahrát neviditelný záznam."
-#: ../src/viktrwlayer.c:3192 ../src/viktrwlayer.c:7785
+#: ../src/viktrwlayer.c:3581 ../src/viktrwlayer.c:9283
msgid "Track"
msgstr "Trasa"
-#: ../src/viktrwlayer.c:3215 ../src/viktrwlayer.c:7817
+#: ../src/viktrwlayer.c:3606 ../src/viktrwlayer.c:9316
msgid "Route"
msgstr "Trasa"
-#: ../src/viktrwlayer.c:3296 ../src/viktrwlayer.c:6265
-#: ../src/viktrwlayer.c:6314
+#: ../src/viktrwlayer.c:3691 ../src/viktrwlayer.c:7460
+#: ../src/viktrwlayer.c:7566
msgid "_Finish Route"
msgstr "Ukončit _trasu"
-#: ../src/viktrwlayer.c:3298 ../src/viktrwlayer.c:6223
-#: ../src/viktrwlayer.c:6312
+#: ../src/viktrwlayer.c:3693 ../src/viktrwlayer.c:7383
+#: ../src/viktrwlayer.c:7564
msgid "_Finish Track"
msgstr "Ukončit _záznam"
#. Now with icons
-#: ../src/viktrwlayer.c:3310
+#: ../src/viktrwlayer.c:3705
msgid "_View Layer"
msgstr "Zobrazit v_rstvu"
-#: ../src/viktrwlayer.c:3317
+#: ../src/viktrwlayer.c:3712
msgid "V_iew"
msgstr "_Zobrazení"
-#: ../src/viktrwlayer.c:3323
+#: ../src/viktrwlayer.c:3718
msgid "View All _Tracks"
msgstr "Zobrazit všechny _záznamy"
-#: ../src/viktrwlayer.c:3328
+#: ../src/viktrwlayer.c:3723
msgid "View All _Routes"
msgstr "Zobrazit všechny _trasy"
-#: ../src/viktrwlayer.c:3333
+#: ../src/viktrwlayer.c:3728
msgid "View All _Waypoints"
msgstr "Z_obrazit všechna místa"
-#: ../src/viktrwlayer.c:3338
+#: ../src/viktrwlayer.c:3733
msgid "_Goto Center of Layer"
msgstr "_Jít na střed vrstvy"
-#: ../src/viktrwlayer.c:3344 ../src/viktrwlayer.c:6199
+#: ../src/viktrwlayer.c:3739 ../src/viktrwlayer.c:7335
msgid "Goto _Waypoint..."
msgstr "Jít na _místo..."
-#: ../src/viktrwlayer.c:3350
+#: ../src/viktrwlayer.c:3745
msgid "_Export Layer"
msgstr "_Export vstvy"
-#: ../src/viktrwlayer.c:3356
+#: ../src/viktrwlayer.c:3751
msgid "Export as GPS_Point..."
msgstr "Export GPS_Point..."
-#: ../src/viktrwlayer.c:3361
+#: ../src/viktrwlayer.c:3756
msgid "Export as GPS_Mapper..."
msgstr "Export GPS_Mapper..."
-#: ../src/viktrwlayer.c:3366
+#: ../src/viktrwlayer.c:3761
msgid "Export as _GPX..."
msgstr "Export _GPX..."
-#: ../src/viktrwlayer.c:3371
+#: ../src/viktrwlayer.c:3766
msgid "Export as _KML..."
msgstr "Export _KML..."
-#: ../src/viktrwlayer.c:3376
+#: ../src/viktrwlayer.c:3771
msgid "Open with External Program_1: "
msgstr "Otevřít externím Programem _1: "
-#: ../src/viktrwlayer.c:3383
+#: ../src/viktrwlayer.c:3778
msgid "Open with External Program_2: "
msgstr "Otevřít externím Programem _2: "
-#: ../src/viktrwlayer.c:3391 ../src/vikwindow.c:3145
+#: ../src/viktrwlayer.c:3786 ../src/vikwindow.c:3704
msgid "_New"
msgstr "_Nový"
-#: ../src/viktrwlayer.c:3397
+#: ../src/viktrwlayer.c:3792
msgid "New _Waypoint..."
msgstr "Nové míst_o..."
-#: ../src/viktrwlayer.c:3403
+#: ../src/viktrwlayer.c:3798
msgid "New _Track"
msgstr "Nový _záznam"
-#: ../src/viktrwlayer.c:3411
+#: ../src/viktrwlayer.c:3806
msgid "New _Route"
msgstr "Nová _trasa"
-#: ../src/viktrwlayer.c:3420 ../src/viktrwlayer.c:6597
+#: ../src/viktrwlayer.c:3815 ../src/viktrwlayer.c:7938
msgid "Geotag _Images..."
msgstr "Geotagovat _obrázky..."
-#: ../src/viktrwlayer.c:3427
+#: ../src/viktrwlayer.c:3822
msgid "_Acquire"
msgstr "Získ_at"
-#: ../src/viktrwlayer.c:3433 ../src/vikwindow.c:3150
+#: ../src/viktrwlayer.c:3828 ../src/vikwindow.c:3711
msgid "From _GPS..."
msgstr "z _GPS..."
-#: ../src/viktrwlayer.c:3439
-msgid "From Google _Directions..."
-msgstr "trasu z _Google directions"
+#. FIXME: only add menu when at least a routing engine has support for Directions
+#: ../src/viktrwlayer.c:3834
+msgid "From _Directions..."
+msgstr ""
-#: ../src/viktrwlayer.c:3446
+#: ../src/viktrwlayer.c:3840
msgid "From _OSM Traces..."
msgstr "From _OSM tras..."
-#: ../src/viktrwlayer.c:3451
+#: ../src/viktrwlayer.c:3845
msgid "From _My OSM Traces..."
msgstr "z _mých OSM záznamů"
-#: ../src/viktrwlayer.c:3459 ../src/vikwindow.c:3166
+#: ../src/viktrwlayer.c:3853 ../src/vikwindow.c:3725
msgid "From _Wikipedia Waypoints"
msgstr "z míst na _Wikipedii"
-#: ../src/viktrwlayer.c:3465
+#: ../src/viktrwlayer.c:3859
msgid "Within _Layer Bounds"
msgstr "Ve vrstvě"
-#: ../src/viktrwlayer.c:3471
+#: ../src/viktrwlayer.c:3865
msgid "Within _Current View"
msgstr "V aktuálním pohledu"
-#: ../src/viktrwlayer.c:3479
+#: ../src/viktrwlayer.c:3873
msgid "From Geo_caching..."
msgstr "Z Geo_caching..."
-#: ../src/viktrwlayer.c:3486 ../src/vikwindow.c:3163
+#: ../src/viktrwlayer.c:3880 ../src/vikwindow.c:3722
msgid "From Geotagged _Images..."
msgstr "Z Geotaggovaných _obrázků..."
-#: ../src/viktrwlayer.c:3492
+#: ../src/viktrwlayer.c:3886
msgid "From _File..."
msgstr "ze _souboru..."
-#: ../src/viktrwlayer.c:3498 ../src/viktrwlayer.c:6542
+#: ../src/viktrwlayer.c:3894 ../src/viktrwlayer.c:7883
msgid "_Upload"
msgstr "_Nahrát"
-#: ../src/viktrwlayer.c:3504
+#: ../src/viktrwlayer.c:3900
msgid "Upload to _GPS..."
msgstr "do _GPS..."
-#: ../src/viktrwlayer.c:3511 ../src/viktrwlayer.c:6570
+#: ../src/viktrwlayer.c:3907 ../src/viktrwlayer.c:7911
msgid "Upload to _OSM..."
msgstr "Nahrát do _OSM..."
-#: ../src/viktrwlayer.c:3519
+#: ../src/viktrwlayer.c:3915
msgid "De_lete"
msgstr "_Odstranit"
-#: ../src/viktrwlayer.c:3525
+#: ../src/viktrwlayer.c:3921
msgid "Delete All _Tracks"
msgstr "Smazat všechny _trasy"
-#: ../src/viktrwlayer.c:3531
+#: ../src/viktrwlayer.c:3927
msgid "Delete Tracks _From Selection..."
msgstr "Smazat všechny _vybrané trasy"
-#: ../src/viktrwlayer.c:3537 ../src/viktrwlayer.c:6290
+#: ../src/viktrwlayer.c:3933 ../src/viktrwlayer.c:7485
msgid "Delete _All Routes"
msgstr "Smazat _všechny záznamy"
-#: ../src/viktrwlayer.c:3543 ../src/viktrwlayer.c:6296
+#: ../src/viktrwlayer.c:3939 ../src/viktrwlayer.c:7491
msgid "_Delete Routes From Selection..."
msgstr "_Smazat vybrané záznamy"
-#: ../src/viktrwlayer.c:3549
+#: ../src/viktrwlayer.c:3945
msgid "Delete All _Waypoints"
msgstr "Smazat všechna místa"
-#: ../src/viktrwlayer.c:3555
+#: ../src/viktrwlayer.c:3951
msgid "Delete Waypoints From _Selection..."
msgstr "Odstranit místa z výběru..."
-#: ../src/viktrwlayer.c:4128
+#: ../src/viktrwlayer.c:4574
#, c-format
msgid "Are you sure you want to delete all tracks in %s?"
msgstr "Opravdu chcete odstranit všechny trasy v %s?"
-#: ../src/viktrwlayer.c:4138
+#: ../src/viktrwlayer.c:4584
#, c-format
msgid "Are you sure you want to delete all routes in %s?"
msgstr "Opravdu smazat všechny záznamy v %s?"
-#: ../src/viktrwlayer.c:4148
+#: ../src/viktrwlayer.c:4594
#, c-format
msgid "Are you sure you want to delete all waypoints in %s?"
msgstr "Opravdu chcete odstranit všechna místa v %s?"
-#: ../src/viktrwlayer.c:4165
+#: ../src/viktrwlayer.c:4611
#, c-format
-msgid "Are you sure you want to delete the waypoint \"%s\""
-msgstr "Opravdu chcete odstranit místo \"%s\"?"
+msgid "Are you sure you want to delete the waypoint \"%s\"?"
+msgstr ""
-#: ../src/viktrwlayer.c:4178
+#: ../src/viktrwlayer.c:4624
#, c-format
-msgid "Are you sure you want to delete the track \"%s\""
-msgstr "Opravdu chcete odstranit trasu \"%s\"?"
+msgid "Are you sure you want to delete the track \"%s\"?"
+msgstr ""
-#: ../src/viktrwlayer.c:4191
+#: ../src/viktrwlayer.c:4637
#, c-format
-msgid "Are you sure you want to delete the route \"%s\""
-msgstr "Opravdu smazat záznam \"%s\""
+msgid "Are you sure you want to delete the route \"%s\"?"
+msgstr ""
-#: ../src/viktrwlayer.c:4351 ../src/viktrwlayer.c:4922
+#: ../src/viktrwlayer.c:4849 ../src/viktrwlayer.c:5677
msgid ""
"Converting a track to a route removes extra track data such as segments, "
"timestamps, etc...\n"
@@ -2435,51 +2774,85 @@ msgstr ""
"Konverze na trasu odebere některé vlastnosti záznamu jako třeba úseky, "
"časové značky atp... Chcete pokračovat?"
-#: ../src/viktrwlayer.c:4711
+#: ../src/viktrwlayer.c:4944
+msgid "No DEM layers available, thus no DEM values can be applied."
+msgstr ""
+
+#: ../src/viktrwlayer.c:4964 ../src/viktrwlayer.c:5005
+#, c-format
+msgid "%ld point adjusted"
+msgid_plural "%ld points adjusted"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/viktrwlayer.c:5049
+#, c-format
+msgid "%ld waypoint changed"
+msgid_plural "%ld waypoints changed"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/viktrwlayer.c:5233
+#, c-format
+msgid ""
+"Refining a track with many points (%d) is unlikely to yield sensible "
+"results. Do you want to Continue?"
+msgstr ""
+
+#. Select engine from dialog
+#: ../src/viktrwlayer.c:5241
+msgid "Refine Route with Routing Engine..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:5249
+msgid "Select routing engine"
+msgstr ""
+
+#: ../src/viktrwlayer.c:5467
msgid "Failed. No other tracks with timestamps in this layer found"
msgstr "Chyba: Žádná další trasa s časovými údaji v této vrstvě"
-#: ../src/viktrwlayer.c:4713
+#: ../src/viktrwlayer.c:5469
msgid "Failed. No other tracks without timestamps in this layer found"
msgstr "Chyba: Žádná další trasa bez časových údajů v této vrstvě"
-#: ../src/viktrwlayer.c:4732
+#: ../src/viktrwlayer.c:5488
msgid "Merge with..."
msgstr "Připojit s ..,"
-#: ../src/viktrwlayer.c:4733
+#: ../src/viktrwlayer.c:5489
msgid "Select route to merge with"
msgstr "Vyberte záznam k připojení"
-#: ../src/viktrwlayer.c:4733
+#: ../src/viktrwlayer.c:5489
msgid "Select track to merge with"
msgstr "Vybrat trasu k připojení"
-#: ../src/viktrwlayer.c:4818 ../src/viktrwlayer.c:4895
+#: ../src/viktrwlayer.c:5573 ../src/viktrwlayer.c:5650
msgid "Append Route"
msgstr "Připojit trasu"
-#: ../src/viktrwlayer.c:4818 ../src/viktrwlayer.c:4895
+#: ../src/viktrwlayer.c:5573 ../src/viktrwlayer.c:5650
msgid "Append Track"
msgstr "Připojit záznam"
-#: ../src/viktrwlayer.c:4819
+#: ../src/viktrwlayer.c:5574
msgid "Select the route to append after the current route"
msgstr "Vyberte trasu, kterou připojit za aktuální trasu"
-#: ../src/viktrwlayer.c:4820
+#: ../src/viktrwlayer.c:5575
msgid "Select the track to append after the current track"
msgstr "Vyberte záznam, který připojit za aktuální záznam"
-#: ../src/viktrwlayer.c:4896
+#: ../src/viktrwlayer.c:5651
msgid "Select the track to append after the current route"
msgstr "Vyberte záznam, který připojit za aktuální trasu"
-#: ../src/viktrwlayer.c:4897
+#: ../src/viktrwlayer.c:5652
msgid "Select the route to append after the current track"
msgstr "Vyberte trasu, kterou připojit za aktuální záznam"
-#: ../src/viktrwlayer.c:4957
+#: ../src/viktrwlayer.c:5711
#, c-format
msgid "%d segment merged"
msgid_plural "%d segments merged"
@@ -2487,43 +2860,51 @@ msgstr[0] "%d úsek připojen"
msgstr[1] "%d úseky připojeny"
msgstr[2] "%d úseků připojeno"
-#: ../src/viktrwlayer.c:4973
+#: ../src/viktrwlayer.c:5727
msgid "Failed. This track does not have timestamp"
msgstr "Selhalo. Trasa neobsahuje časové údaje"
-#: ../src/viktrwlayer.c:4985
+#: ../src/viktrwlayer.c:5739
msgid "Failed. No other track in this layer has timestamp"
msgstr "Selhalo. Žádná trasa v této vstvě neobsahuje časové údaje"
-#: ../src/viktrwlayer.c:4992
+#: ../src/viktrwlayer.c:5746
msgid "Merge Threshold..."
msgstr "Práh pro spojování..."
-#: ../src/viktrwlayer.c:4993
+#: ../src/viktrwlayer.c:5747
msgid "Merge when time between tracks less than:"
msgstr "Připojit trasy pokud je dělí méně než:"
-#: ../src/viktrwlayer.c:5128
+#: ../src/viktrwlayer.c:5889
msgid "Split Threshold..."
msgstr "Práh pro rozdělování..."
-#: ../src/viktrwlayer.c:5129
+#: ../src/viktrwlayer.c:5890
msgid "Split when time between trackpoints exceeds:"
msgstr "Rozdělit pokud je čas mezi body delší než:"
-#: ../src/viktrwlayer.c:5205
+#: ../src/viktrwlayer.c:5907
+#, c-format
+msgid ""
+"Can not split track due to trackpoints not ordered in time - such as at %s.\n"
+"\n"
+"Goto this trackpoint?"
+msgstr ""
+
+#: ../src/viktrwlayer.c:5976
msgid "Split Every Nth Point"
msgstr "Rodělit každý x-tý bod"
-#: ../src/viktrwlayer.c:5206
+#: ../src/viktrwlayer.c:5977
msgid "Split on every Nth point:"
msgstr "Rodělit každý x-tý bod:"
-#: ../src/viktrwlayer.c:5312
+#: ../src/viktrwlayer.c:6087
msgid "Can not split track as it has no segments"
msgstr "Nelze rozdělit záznam, nemá žádné úseky"
-#: ../src/viktrwlayer.c:5340 ../src/viktrwlayer.c:5370
+#: ../src/viktrwlayer.c:6169 ../src/viktrwlayer.c:6199
#, c-format
msgid "Deleted %ld point"
msgid_plural "Deleted %ld points"
@@ -2531,12 +2912,12 @@ msgstr[0] "Smazán %ld bod"
msgstr[1] "Smazány %ld body"
msgstr[2] "Smazáno %ld bodů"
-#: ../src/viktrwlayer.c:5531
+#: ../src/viktrwlayer.c:6392
msgid "Internal Error in vik_trw_layer_uniquify_tracks"
msgstr "Interní chyba v vik_trw_layer_uniquify_tracks"
-#: ../src/viktrwlayer.c:5588 ../src/viktrwlayer.c:5635
-#: ../src/viktrwlayer.c:5814
+#: ../src/viktrwlayer.c:6496 ../src/viktrwlayer.c:6543
+#: ../src/viktrwlayer.c:6704
msgid ""
"Multiple entries with the same name exist. This method only works with "
"unique names. Force unique names now?"
@@ -2544,624 +2925,875 @@ msgstr ""
"Existuje několik položek se stejným jménem. Tento kód pracuje pouze s "
"jednoznačnými jmény. Přejmenovat na unikátní?"
-#: ../src/viktrwlayer.c:5599
+#: ../src/viktrwlayer.c:6507
msgid "No tracks found"
msgstr "Nenalezeny žádné trasy"
-#: ../src/viktrwlayer.c:5607 ../src/viktrwlayer.c:5654
-#: ../src/viktrwlayer.c:5834
+#: ../src/viktrwlayer.c:6515 ../src/viktrwlayer.c:6562
+#: ../src/viktrwlayer.c:6724
msgid "Delete Selection"
msgstr "Smazat výběr"
-#: ../src/viktrwlayer.c:5608
+#: ../src/viktrwlayer.c:6516
msgid "Select tracks to delete"
msgstr "Vyberte trasy k odstranění"
-#: ../src/viktrwlayer.c:5646
+#: ../src/viktrwlayer.c:6554
msgid "No routes found"
msgstr "Žádné záznamy nenalezeny"
-#: ../src/viktrwlayer.c:5655
+#: ../src/viktrwlayer.c:6563
msgid "Select routes to delete"
msgstr "Vyberte záznamy ke smazání"
-#: ../src/viktrwlayer.c:5761
+#: ../src/viktrwlayer.c:6669
msgid "Internal Error in vik_trw_layer_uniquify_waypoints"
msgstr "Interní chyba v vik_trw_layer_uniquify_waypoints"
-#: ../src/viktrwlayer.c:5824
+#: ../src/viktrwlayer.c:6714
msgid "No waypoints found"
msgstr "Žádná místa nenalezena"
-#: ../src/viktrwlayer.c:5835
+#: ../src/viktrwlayer.c:6725
msgid "Select waypoints to delete"
msgstr "Vyberte místa k odstranění"
-#: ../src/viktrwlayer.c:5896
+#: ../src/viktrwlayer.c:7033
#, c-format
msgid ""
"A waypoint with the name \"%s\" already exists. Really rename to the same "
"name?"
msgstr "Místo z názvem \"%s\" již existuje, opravdu pojmenovat stejně?"
-#: ../src/viktrwlayer.c:5926
+#: ../src/viktrwlayer.c:7063
#, c-format
msgid ""
"A track with the name \"%s\" already exists. Really rename to the same name?"
msgstr "Záznam s názvem \"%s\" již existuje, opravdu pojmenovat stejně?"
-#: ../src/viktrwlayer.c:5963
+#: ../src/viktrwlayer.c:7100
#, c-format
msgid ""
"A route with the name \"%s\" already exists. Really rename to the same name?"
msgstr "Trasa s názvem \"%s\" již existuje, opravdu pojmenovat stejně?"
-#: ../src/viktrwlayer.c:6085 ../src/viktrwlayer.c:6337
+#: ../src/viktrwlayer.c:7221 ../src/viktrwlayer.c:7594
msgid "_Goto"
msgstr "_Jít na"
-#: ../src/viktrwlayer.c:6104
+#: ../src/viktrwlayer.c:7240
msgid "_Visit Geocache Webpage"
msgstr "_Jít na stránku Geocache"
-#: ../src/viktrwlayer.c:6123
+#: ../src/viktrwlayer.c:7259
msgid "_Show Picture..."
msgstr "_Zobrazit obrázek..."
-#: ../src/viktrwlayer.c:6131
+#: ../src/viktrwlayer.c:7267
msgid "Update Geotag on _Image"
msgstr "Aktual_izovat geotagování obrázku"
-#: ../src/viktrwlayer.c:6137
+#: ../src/viktrwlayer.c:7273
msgid "_Update"
msgstr "Akt_ualizovat"
-#: ../src/viktrwlayer.c:6142
+#: ../src/viktrwlayer.c:7278
msgid "Update and _Keep File Timestamp"
msgstr "Aktualizovat a _zachovat čas změny souborů"
-#: ../src/viktrwlayer.c:6153
+#: ../src/viktrwlayer.c:7289
msgid "Visit _Webpage"
msgstr "Navštivte _stránku"
-#: ../src/viktrwlayer.c:6184
+#: ../src/viktrwlayer.c:7320
msgid "_New Waypoint..."
msgstr "_Nové místo..."
-#: ../src/viktrwlayer.c:6193
+#: ../src/viktrwlayer.c:7329
msgid "_View All Waypoints"
msgstr "Zobrazit _všechna místa"
-#: ../src/viktrwlayer.c:6205
+#: ../src/viktrwlayer.c:7341
msgid "Delete _All Waypoints"
msgstr "Smazat všechn_a místa"
-#: ../src/viktrwlayer.c:6211
+#: ../src/viktrwlayer.c:7347
msgid "_Delete Waypoints From Selection..."
msgstr "Smazat všechna _vybraná místa"
-#: ../src/viktrwlayer.c:6233
+#: ../src/viktrwlayer.c:7359
+msgid "_Show All Waypoints"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7365
+msgid "_Hide All Waypoints"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7393
msgid "_View All Tracks"
msgstr "Zobrazit _všechny trasy"
-#: ../src/viktrwlayer.c:6239
+#: ../src/viktrwlayer.c:7399
msgid "_New Track"
msgstr "Nový _záznam"
-#: ../src/viktrwlayer.c:6247
+#: ../src/viktrwlayer.c:7407
msgid "Delete _All Tracks"
msgstr "_Odstranit všechny trasy"
-#: ../src/viktrwlayer.c:6253
+#: ../src/viktrwlayer.c:7413
msgid "_Delete Tracks From Selection..."
msgstr "Odstranit všechny _vybrané trasy"
-#: ../src/viktrwlayer.c:6276
+#: ../src/viktrwlayer.c:7425
+msgid "_Show All Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7431
+msgid "_Hide All Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7442
+msgid "_List Tracks..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7471
msgid "_View All Routes"
msgstr "Zobrazit všechny _trasy"
-#: ../src/viktrwlayer.c:6282
+#: ../src/viktrwlayer.c:7477
msgid "_New Route"
msgstr "Nová _trasa"
-#: ../src/viktrwlayer.c:6327
+#: ../src/viktrwlayer.c:7503
+msgid "_Show All Routes"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7509
+msgid "_Hide All Routes"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7520
+msgid "_List Routes..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7579
msgid "_View Track"
msgstr "Zobrazit _trasu"
-#: ../src/viktrwlayer.c:6329
+#: ../src/viktrwlayer.c:7581
msgid "_View Route"
msgstr "Zobrazit _trasu"
-#: ../src/viktrwlayer.c:6343
+#: ../src/viktrwlayer.c:7600
msgid "_Startpoint"
msgstr "_začátek"
-#: ../src/viktrwlayer.c:6349
+#: ../src/viktrwlayer.c:7606
msgid "\"_Center\""
msgstr "\"_střed\""
-#: ../src/viktrwlayer.c:6355
+#: ../src/viktrwlayer.c:7612
msgid "_Endpoint"
msgstr "_konec"
-#: ../src/viktrwlayer.c:6361
+#: ../src/viktrwlayer.c:7618
msgid "_Highest Altitude"
msgstr "_maximální výšku"
-#: ../src/viktrwlayer.c:6367
+#: ../src/viktrwlayer.c:7624
msgid "_Lowest Altitude"
msgstr "_nejnižší bod"
-#: ../src/viktrwlayer.c:6375
+#: ../src/viktrwlayer.c:7632
msgid "_Maximum Speed"
msgstr "nejvyššší _rychlost"
-#: ../src/viktrwlayer.c:6384
+#: ../src/viktrwlayer.c:7641
msgid "Co_mbine"
msgstr "Spojit"
-#: ../src/viktrwlayer.c:6392
+#: ../src/viktrwlayer.c:7649
msgid "_Merge By Time..."
msgstr "_Spojit dle času..."
-#: ../src/viktrwlayer.c:6397
+#: ../src/viktrwlayer.c:7654
msgid "Merge _Segments"
msgstr "Spojit úseky"
-#: ../src/viktrwlayer.c:6403
+#: ../src/viktrwlayer.c:7660
msgid "Merge _With Other Tracks..."
msgstr "Připojit _další trasy..."
-#: ../src/viktrwlayer.c:6409
+#: ../src/viktrwlayer.c:7666
msgid "_Append Track..."
msgstr "Připojit _záznam..."
-#: ../src/viktrwlayer.c:6411
+#: ../src/viktrwlayer.c:7668
msgid "_Append Route..."
msgstr "Připojit _trasu..."
-#: ../src/viktrwlayer.c:6417
+#: ../src/viktrwlayer.c:7674
msgid "Append _Route..."
msgstr "Připojit _trasu..."
-#: ../src/viktrwlayer.c:6419
+#: ../src/viktrwlayer.c:7676
msgid "Append _Track..."
msgstr "Připojit _záznam..."
-#: ../src/viktrwlayer.c:6426
+#: ../src/viktrwlayer.c:7683
msgid "_Split"
msgstr "_Rozdělit"
-#: ../src/viktrwlayer.c:6434
+#: ../src/viktrwlayer.c:7691
msgid "_Split By Time..."
msgstr "_Rozdělit dle času..."
#. ATM always enable this entry - don't want to have to analyse the track before displaying the menu - to keep the menu speedy
-#: ../src/viktrwlayer.c:6440
+#: ../src/viktrwlayer.c:7697
msgid "Split Se_gments"
msgstr "Rozdělit ú_seky"
-#: ../src/viktrwlayer.c:6446
+#: ../src/viktrwlayer.c:7703
msgid "Split By _Number of Points..."
msgstr "Rozdělit dle počtu bodů..."
-#: ../src/viktrwlayer.c:6451
+#: ../src/viktrwlayer.c:7708
msgid "Split at _Trackpoint"
msgstr "Rozdělit v _místech"
-#: ../src/viktrwlayer.c:6460
+#: ../src/viktrwlayer.c:7716
+msgid "_Insert Points"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7722
+msgid "Insert Point _Before Selected Point"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7729
+msgid "Insert Point _After Selected Point"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7738
msgid "Delete Poi_nts"
msgstr "Smazat bo_dy"
-#: ../src/viktrwlayer.c:6466
+#: ../src/viktrwlayer.c:7744
+msgid "Delete _Selected Point"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7752
msgid "Delete Points With The Same _Position"
msgstr "Smazat body na stejné _pozici"
-#: ../src/viktrwlayer.c:6471
+#: ../src/viktrwlayer.c:7757
msgid "Delete Points With The Same _Time"
msgstr "Smazat body se stejným č_asem"
-#: ../src/viktrwlayer.c:6477
+#: ../src/viktrwlayer.c:7764 ../src/viktrwlayer.c:7964
+msgid "_Transform"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7772 ../src/viktrwlayer.c:7972
+msgid "_Apply DEM Data"
+msgstr "Přidat výšku z D_EM dat"
+
+#: ../src/viktrwlayer.c:7777 ../src/viktrwlayer.c:7977
+msgid "_Overwrite"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7780 ../src/viktrwlayer.c:7980
+msgid "Overwrite any existing elevation values with DEM values"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7783 ../src/viktrwlayer.c:7983
+msgid "_Keep Existing"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7786 ../src/viktrwlayer.c:7986
+msgid "Keep existing elevation values, only attempt for missing values"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7791
+msgid "_Smooth Missing Elevation Data"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7796
+msgid "_Interpolated"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7799
+msgid ""
+"Interpolate between known elevation values to derive values for the missing "
+"elevations"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7802
+msgid "_Flat"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7805
+msgid "Set unknown elevation values to the last known value"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7809
+msgid "C_onvert to a Route"
+msgstr "Konverze na _trasu"
+
+#: ../src/viktrwlayer.c:7811
+msgid "C_onvert to a Track"
+msgstr "Konverze na _záznam"
+
+#: ../src/viktrwlayer.c:7819
+msgid "_Anonymize Times"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7822
+msgid "Shift timestamps to a relative offset from 1901-01-01"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7827
msgid "_Reverse Track"
msgstr "_Otočit trasu"
-#: ../src/viktrwlayer.c:6479
+#: ../src/viktrwlayer.c:7829
msgid "_Reverse Route"
msgstr "_Otočit trasu"
-#: ../src/viktrwlayer.c:6488
+#: ../src/viktrwlayer.c:7836
+msgid "Refine Route..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7846
msgid "Down_load Maps Along Track..."
msgstr "Stáhnout mapy _podél trasy"
-#: ../src/viktrwlayer.c:6490
+#: ../src/viktrwlayer.c:7848
msgid "Down_load Maps Along Route..."
msgstr "Stáhnout mapy oko_lo trasy"
-#: ../src/viktrwlayer.c:6497
-msgid "_Apply DEM Data"
-msgstr "Přidat výšku z D_EM dat"
-
-#: ../src/viktrwlayer.c:6504
+#: ../src/viktrwlayer.c:7856
msgid "_Export Track as GPX..."
msgstr "Export _záznam jako GPX..."
-#: ../src/viktrwlayer.c:6506
+#: ../src/viktrwlayer.c:7858
msgid "_Export Route as GPX..."
msgstr "Export _trasy jako GPX..."
-#: ../src/viktrwlayer.c:6513
+#: ../src/viktrwlayer.c:7865
msgid "E_xtend Track End"
msgstr "Rozšířit _konec trasy"
-#: ../src/viktrwlayer.c:6515
+#: ../src/viktrwlayer.c:7867
msgid "E_xtend Route End"
msgstr "Po_kračovat v trase"
-#: ../src/viktrwlayer.c:6522
-msgid "C_onvert to a Route"
-msgstr "Konverze na _trasu"
-
-#: ../src/viktrwlayer.c:6524
-msgid "C_onvert to a Track"
-msgstr "Konverze na _záznam"
-
-#: ../src/viktrwlayer.c:6532
+#: ../src/viktrwlayer.c:7874
msgid "Extend _Using Route Finder"
msgstr "Prodloužit _pomocí hledání cesty"
-#: ../src/viktrwlayer.c:6548
+#: ../src/viktrwlayer.c:7889
msgid "_Upload to GPS..."
msgstr "_Nahrát do GPS..."
-#: ../src/viktrwlayer.c:6559
+#: ../src/viktrwlayer.c:7900
msgid "_View Google Directions"
msgstr "_Zobrazit trasu dle Google"
-#: ../src/viktrwlayer.c:6579
+#: ../src/viktrwlayer.c:7920
msgid "Use with _Filter"
msgstr "Použít _filtr"
-#: ../src/viktrwlayer.c:6612
+#: ../src/viktrwlayer.c:7953
msgid "_Edit Trackpoint"
msgstr "_Upravit bod"
-#: ../src/viktrwlayer.c:7524
+#: ../src/viktrwlayer.c:9017
#, c-format
msgid " - Gain %dm:Loss %dm"
msgstr " - Gain %dm:Loss %dm"
-#: ../src/viktrwlayer.c:7526
+#: ../src/viktrwlayer.c:9019
#, c-format
msgid " - Gain %dft:Loss %dft"
msgstr " - Gain %dft:Loss %dft"
-#: ../src/viktrwlayer.c:7531
+#: ../src/viktrwlayer.c:9024
#, c-format
msgid " - Bearing %3.1f° - Step %s"
msgstr " - Bearing %3.1f° - krok %s"
-#: ../src/viktrwlayer.c:8124
+#: ../src/viktrwlayer.c:9628
#, c-format
msgid "Could not launch %s to open file."
msgstr "Nelze spustit %s pro otevření souboru."
-#: ../src/viktrwlayer.c:8205
+#: ../src/viktrwlayer.c:9709
#, c-format
msgid "Creating %d Image Thumbnails..."
msgstr "Vytvářím %d náhledy obrázků..."
-#: ../src/viktrwlayer.c:8524
+#: ../src/viktrwlayer.c:10106
msgid "No map layer in use. Create one first"
msgstr "Je třeba vytvořit mapovou vrstvu."
-#: ../src/viktrwlayer_propwin.c:898 ../src/viktrwlayer_propwin.c:1155
+#: ../src/viktrwlayer.c:10225
+#, c-format
+msgid "%s: Track List"
+msgstr ""
+
+#: ../src/viktrwlayer.c:10227
+#, c-format
+msgid "%s: Route List"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:828 ../src/viktrwlayer_propwin.c:1085
#, c-format
msgid "%.1f kph"
msgstr "%.1f kph"
-#: ../src/viktrwlayer_propwin.c:901 ../src/viktrwlayer_propwin.c:1158
+#: ../src/viktrwlayer_propwin.c:831 ../src/viktrwlayer_propwin.c:1088
+#: ../src/viktrwlayer_analysis.c:290
#, c-format
msgid "%.1f mph"
msgstr "%.1f mph"
-#: ../src/viktrwlayer_propwin.c:904 ../src/viktrwlayer_propwin.c:1161
+#: ../src/viktrwlayer_propwin.c:834 ../src/viktrwlayer_propwin.c:1091
#, c-format
msgid "%.1f knots"
msgstr "%.1f knots"
#. VIK_UNITS_SPEED_METRES_PER_SECOND:
-#: ../src/viktrwlayer_propwin.c:908 ../src/viktrwlayer_propwin.c:1165
+#: ../src/viktrwlayer_propwin.c:838 ../src/viktrwlayer_propwin.c:1095
#, c-format
msgid "%.1f m/s"
msgstr "%.1f m/s"
-#: ../src/viktrwlayer_propwin.c:1745
+#: ../src/viktrwlayer_propwin.c:1662 ../src/viktrwlayer_analysis.c:267
#, c-format
msgid "%.1f miles"
msgstr "%.1f miles"
-#: ../src/viktrwlayer_propwin.c:1747
+#. VIK_UNITS_DISTANCE_KILOMETRES
+#: ../src/viktrwlayer_propwin.c:1664 ../src/viktrwlayer_analysis.c:271
#, c-format
msgid "%.1f km"
msgstr "%.1f km"
-#: ../src/viktrwlayer_propwin.c:2681
+#: ../src/viktrwlayer_propwin.c:2582
msgid "Failed spliting track. Track unchanged"
msgstr "Chyba při rozdělení trasy. Trasa nezměněna."
-#: ../src/viktrwlayer_propwin.c:2779 ../src/viktrwlayer_propwin.c:3178
+#: ../src/viktrwlayer_propwin.c:2724 ../src/viktrwlayer_propwin.c:3140
#, c-format
msgid "%s - Track Properties"
msgstr "%s - vlastnosti trasy"
-#: ../src/viktrwlayer_propwin.c:2784
+#: ../src/viktrwlayer_propwin.c:2729
msgid "Split at _Marker"
msgstr "Rozdělit na _značce"
-#: ../src/viktrwlayer_propwin.c:2785
+#: ../src/viktrwlayer_propwin.c:2730
msgid "Split _Segments"
msgstr "Rozdělit segmety"
-#: ../src/viktrwlayer_propwin.c:2786
+#: ../src/viktrwlayer_propwin.c:2731
msgid "_Reverse"
msgstr "O_brátit"
-#: ../src/viktrwlayer_propwin.c:2787
+#: ../src/viktrwlayer_propwin.c:2732
msgid "_Delete Dupl."
msgstr "Smazat _duplicitní"
-#: ../src/viktrwlayer_propwin.c:2813
+#: ../src/viktrwlayer_propwin.c:2757
msgid "<b>Comment:</b>"
msgstr "<b>Komentář:</b>"
-#: ../src/viktrwlayer_propwin.c:2814
+#: ../src/viktrwlayer_propwin.c:2758
msgid "<b>Description:</b>"
msgstr "<b>Popis:</b>"
-#: ../src/viktrwlayer_propwin.c:2815
+#: ../src/viktrwlayer_propwin.c:2759
+msgid "<b>Color:</b>"
+msgstr "<b>Barva:</b>"
+
+#: ../src/viktrwlayer_propwin.c:2760
+msgid "<b>Draw Name:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2761
+msgid "<b>Distance Labels:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2764
msgid "<b>Track Length:</b>"
msgstr "<b>Délka trasy:</b>"
-#: ../src/viktrwlayer_propwin.c:2816
+#: ../src/viktrwlayer_propwin.c:2765
msgid "<b>Trackpoints:</b>"
msgstr "<b>Body:</b>"
-#: ../src/viktrwlayer_propwin.c:2817
+#: ../src/viktrwlayer_propwin.c:2766
msgid "<b>Segments:</b>"
msgstr "<b>Segmenty:</b>"
-#: ../src/viktrwlayer_propwin.c:2818
+#: ../src/viktrwlayer_propwin.c:2767
msgid "<b>Duplicate Points:</b>"
msgstr "<b>Zdvojené body:</b>"
-#: ../src/viktrwlayer_propwin.c:2819
+#: ../src/viktrwlayer_propwin.c:2768
msgid "<b>Max Speed:</b>"
msgstr "<b>Nejvyšší rychlost:</b>"
-#: ../src/viktrwlayer_propwin.c:2820
+#: ../src/viktrwlayer_propwin.c:2769
msgid "<b>Avg. Speed:</b>"
msgstr "<b>Průměrná rychlost:</b>"
-#: ../src/viktrwlayer_propwin.c:2821
+#: ../src/viktrwlayer_propwin.c:2770
msgid "<b>Moving Avg. Speed:</b>"
msgstr "<b>Průměrná rychlost pohybu:</b>"
-#: ../src/viktrwlayer_propwin.c:2822
+#: ../src/viktrwlayer_propwin.c:2771
msgid "<b>Avg. Dist. Between TPs:</b>"
msgstr "<b>Průměrná vzdálenost mezi body:</b>"
-#: ../src/viktrwlayer_propwin.c:2823
+#: ../src/viktrwlayer_propwin.c:2772
msgid "<b>Elevation Range:</b>"
msgstr "<b>Rozsah nadmořské výšky:</b>"
-#: ../src/viktrwlayer_propwin.c:2824
+#: ../src/viktrwlayer_propwin.c:2773
msgid "<b>Total Elevation Gain/Loss:</b>"
msgstr "<b>Celkové stoupání/klesání:</b>"
-#: ../src/viktrwlayer_propwin.c:2825
+#: ../src/viktrwlayer_propwin.c:2774
msgid "<b>Start:</b>"
msgstr "<b>Začátek:</b>"
-#: ../src/viktrwlayer_propwin.c:2826
+#: ../src/viktrwlayer_propwin.c:2775
msgid "<b>End:</b>"
msgstr "<b>Konec:</b>"
-#: ../src/viktrwlayer_propwin.c:2827
+#: ../src/viktrwlayer_propwin.c:2776
msgid "<b>Duration:</b>"
msgstr "<b>Trvání:</b>"
-#: ../src/viktrwlayer_propwin.c:2828
-msgid "<b>Color:</b>"
-msgstr "<b>Barva:</b>"
+#: ../src/viktrwlayer_propwin.c:2797
+msgid "No"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2798
+msgid "Centre"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2799
+msgid "Start only"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2800
+msgid "End only"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2801
+msgid "Start and End"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2802
+msgid "Centre, Start and End"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2814
+msgid "Maximum number of distance labels to be shown"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2818
+msgid "Properties"
+msgstr ""
-#: ../src/viktrwlayer_propwin.c:2877 ../src/viktrwlayer_propwin.c:2901
-#: ../src/viktrwlayer_propwin.c:2929 ../src/viktrwlayer_propwin.c:2966
-#: ../src/viktrwlayer_propwin.c:2984 ../src/viktrwlayer_propwin.c:3034
-#: ../src/viktrwlayer_propwin.c:3035 ../src/viktrwlayer_propwin.c:3036
-#: ../src/viktrwlayer_propwin.c:3062 ../src/viktrwlayer_propwin.c:3063
+#: ../src/viktrwlayer_propwin.c:2856 ../src/viktrwlayer_propwin.c:2880
+#: ../src/viktrwlayer_propwin.c:2908 ../src/viktrwlayer_propwin.c:2945
+#: ../src/viktrwlayer_propwin.c:2963 ../src/viktrwlayer_propwin.c:3009
+#: ../src/viktrwlayer_propwin.c:3010 ../src/viktrwlayer_propwin.c:3011
+#: ../src/viktrwlayer_propwin.c:3020 ../src/viktrwlayer_propwin.c:3021
+#: ../src/viktrwlayer_propwin.c:3036 ../src/viktrwlayer_propwin.c:3037
+#: ../src/viktrwlayer_propwin.c:3050 ../src/viktrwlayer_propwin.c:3051
+#: ../src/viktrwlayer_propwin.c:3064 ../src/viktrwlayer_propwin.c:3065
#: ../src/viktrwlayer_propwin.c:3078 ../src/viktrwlayer_propwin.c:3079
#: ../src/viktrwlayer_propwin.c:3092 ../src/viktrwlayer_propwin.c:3093
-#: ../src/viktrwlayer_propwin.c:3106 ../src/viktrwlayer_propwin.c:3107
-#: ../src/viktrwlayer_propwin.c:3120 ../src/viktrwlayer_propwin.c:3121
-#: ../src/viktrwlayer_propwin.c:3134 ../src/viktrwlayer_propwin.c:3135
+#: ../src/viktrwlayer_analysis.c:257
#, c-format
msgid "No Data"
msgstr "Žádná data"
-#: ../src/viktrwlayer_propwin.c:3031
+#: ../src/viktrwlayer_propwin.c:3006
#, c-format
msgid "%d minutes"
msgstr "%d minut"
-#: ../src/viktrwlayer_propwin.c:3058
+#: ../src/viktrwlayer_propwin.c:3016 ../src/viktrwlayer_analysis.c:515
msgid "Statistics"
msgstr "Statistika"
-#: ../src/viktrwlayer_propwin.c:3064
+#: ../src/viktrwlayer_propwin.c:3022
msgid "Show D_EM"
msgstr "Zobrazit D_EM"
-#: ../src/viktrwlayer_propwin.c:3065 ../src/viktrwlayer_propwin.c:3080
-#: ../src/viktrwlayer_propwin.c:3094 ../src/viktrwlayer_propwin.c:3136
+#: ../src/viktrwlayer_propwin.c:3023 ../src/viktrwlayer_propwin.c:3038
+#: ../src/viktrwlayer_propwin.c:3052 ../src/viktrwlayer_propwin.c:3094
msgid "Show _GPS Speed"
msgstr "Zobrazit _GPS rychlost"
-#: ../src/viktrwlayer_propwin.c:3067 ../src/viktrwlayer_propwin.c:3082
-#: ../src/viktrwlayer_propwin.c:3110 ../src/viktrwlayer_propwin.c:3138
+#: ../src/viktrwlayer_propwin.c:3025 ../src/viktrwlayer_propwin.c:3040
+#: ../src/viktrwlayer_propwin.c:3068 ../src/viktrwlayer_propwin.c:3096
msgid "<b>Track Distance:</b>"
msgstr "<b>Vzdálenost na trase:</b>"
-#: ../src/viktrwlayer_propwin.c:3068 ../src/viktrwlayer_propwin.c:3125
+#: ../src/viktrwlayer_propwin.c:3026 ../src/viktrwlayer_propwin.c:3083
msgid "<b>Track Height:</b>"
msgstr "<b>Nadmořská výška:</b>"
-#: ../src/viktrwlayer_propwin.c:3073
+#: ../src/viktrwlayer_propwin.c:3031
msgid "Elevation-distance"
msgstr "Výška - vzdálenost"
-#: ../src/viktrwlayer_propwin.c:3083
+#: ../src/viktrwlayer_propwin.c:3041
msgid "<b>Track Gradient:</b>"
msgstr "<b>Stoupání:</b>"
-#: ../src/viktrwlayer_propwin.c:3087
+#: ../src/viktrwlayer_propwin.c:3045
msgid "Gradient-distance"
msgstr "Stoupání - vzdáleost"
-#: ../src/viktrwlayer_propwin.c:3096 ../src/viktrwlayer_propwin.c:3111
-#: ../src/viktrwlayer_propwin.c:3124
+#: ../src/viktrwlayer_propwin.c:3054 ../src/viktrwlayer_propwin.c:3069
+#: ../src/viktrwlayer_propwin.c:3082
msgid "<b>Track Time:</b>"
msgstr "<b>Čas na trase:</b>"
-#: ../src/viktrwlayer_propwin.c:3097 ../src/viktrwlayer_propwin.c:3139
+#: ../src/viktrwlayer_propwin.c:3055 ../src/viktrwlayer_propwin.c:3097
msgid "<b>Track Speed:</b>"
msgstr "<b>Rychlost:</b>"
-#: ../src/viktrwlayer_propwin.c:3101
+#: ../src/viktrwlayer_propwin.c:3059
msgid "Speed-time"
msgstr "Rychlost-čas"
-#: ../src/viktrwlayer_propwin.c:3108 ../src/viktrwlayer_propwin.c:3122
+#: ../src/viktrwlayer_propwin.c:3066 ../src/viktrwlayer_propwin.c:3080
msgid "Show S_peed"
msgstr "Zobrazit rychlost"
-#: ../src/viktrwlayer_propwin.c:3115
+#: ../src/viktrwlayer_propwin.c:3073
msgid "Distance-time"
msgstr "Vzdálenost-čas"
-#: ../src/viktrwlayer_propwin.c:3129
+#: ../src/viktrwlayer_propwin.c:3087
msgid "Elevation-time"
msgstr "Výška-čas"
-#: ../src/viktrwlayer_propwin.c:3143
+#: ../src/viktrwlayer_propwin.c:3101
msgid "Speed-distance"
msgstr "Rychlost-vzdálenost"
-#: ../src/viktrwlayer_tpwin.c:118
+#: ../src/viktrwlayer_tpwin.c:119
msgid "<b>Part of Track:</b>"
msgstr "<b>Část trasy:</b>"
-#: ../src/viktrwlayer_tpwin.c:119
+#: ../src/viktrwlayer_tpwin.c:120
msgid "<b>Latitude:</b>"
msgstr "<b>Zeměpisná šířka:</b>"
-#: ../src/viktrwlayer_tpwin.c:120
+#: ../src/viktrwlayer_tpwin.c:121
msgid "<b>Longitude:</b>"
msgstr "<b>Zeměpisná délka:</b>"
-#: ../src/viktrwlayer_tpwin.c:121
+#: ../src/viktrwlayer_tpwin.c:122
msgid "<b>Altitude:</b>"
msgstr "<b>Nadmořská výška:</b>"
-#: ../src/viktrwlayer_tpwin.c:122
+#: ../src/viktrwlayer_tpwin.c:123
+msgid "<b>Course:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_tpwin.c:124
msgid "<b>Timestamp:</b>"
msgstr "<b>Časová značka:</b>"
-#: ../src/viktrwlayer_tpwin.c:123
+#: ../src/viktrwlayer_tpwin.c:125
msgid "<b>Time:</b>"
msgstr "<b>Čas:</b>"
-#: ../src/viktrwlayer_tpwin.c:124
+#: ../src/viktrwlayer_tpwin.c:126
msgid "<b>Distance Difference:</b>"
msgstr "<b>Vzdálenosti mezi body:</b>"
-#: ../src/viktrwlayer_tpwin.c:125
+#: ../src/viktrwlayer_tpwin.c:127
msgid "<b>Time Difference:</b>"
msgstr "<b>Rozdíl času:</b>"
-#: ../src/viktrwlayer_tpwin.c:126
+#: ../src/viktrwlayer_tpwin.c:128
msgid "<b>\"Speed\" Between:</b>"
msgstr "<b>Rychlost mezi body:</b>"
-#: ../src/viktrwlayer_tpwin.c:127
+#: ../src/viktrwlayer_tpwin.c:129
+msgid "<b>Speed:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_tpwin.c:130
msgid "<b>VDOP:</b>"
msgstr "<b>VDOP:</b>"
-#: ../src/viktrwlayer_tpwin.c:128
+#: ../src/viktrwlayer_tpwin.c:131
msgid "<b>HDOP:</b>"
msgstr "<b>HDOP:</b>"
-#: ../src/viktrwlayer_tpwin.c:129
+#: ../src/viktrwlayer_tpwin.c:132
msgid "<b>PDOP:</b>"
msgstr "<b>PDOP:</b>"
-#: ../src/viktrwlayer_tpwin.c:130
+#: ../src/viktrwlayer_tpwin.c:133
msgid "<b>SAT/FIX:</b>"
msgstr "<b>SAT/FIX:</b>"
-#: ../src/viktrwlayer_tpwin.c:139
+#: ../src/viktrwlayer_tpwin.c:141
msgid "Trackpoint"
msgstr "Bod"
-#: ../src/viktrwlayer_tpwin.c:142
+#: ../src/viktrwlayer_tpwin.c:144
msgid "_Insert After"
msgstr "Vložit _za"
-#: ../src/viktrwlayer_tpwin.c:144
+#: ../src/viktrwlayer_tpwin.c:146
msgid "Split Here"
msgstr "Zde rozdělit"
-#: ../src/viktrwlayer_geotag.c:446
+#.
+#. item = gtk_image_menu_item_new_with_mnemonic ( _("_Select") );
+#. gtk_image_menu_item_set_image ( (GtkImageMenuItem*)item, gtk_image_new_from_stock (GTK_STOCK_FIND, GTK_ICON_SIZE_MENU) );
+#. g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(trw_layer_track_select), values );
+#. gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
+#. gtk_widget_show ( item );
+#.
+#. ATM view auto selects, so don't bother with separate select menu entry
+#: ../src/viktrwlayer_tracklist.c:231 ../src/vikwindow.c:3695
+msgid "_View"
+msgstr "_Zobrazení"
+
+#. Insert column for the layer name when viewing multi layers
+#: ../src/viktrwlayer_tracklist.c:514
+msgid "Layer"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:526
+msgid "Date"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:529
+msgid "Visible"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:536
+msgid ""
+"Distance\n"
+"(miles)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:539
+msgid ""
+"Distance\n"
+"(km)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:545
+msgid ""
+"Length\n"
+"(minutes)"
+msgstr ""
+
+#. VIK_UNITS_SPEED_KILOMETRES_PER_HOUR:
+#: ../src/viktrwlayer_tracklist.c:549 ../src/vikutils.c:72
+msgid "km/h"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:550 ../src/vikutils.c:62
+msgid "mph"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:551 ../src/vikutils.c:68
+msgid "knots"
+msgstr ""
+
+#. VIK_UNITS_SPEED_METRES_PER_SECOND:
+#: ../src/viktrwlayer_tracklist.c:553 ../src/vikutils.c:65
+msgid "m/s"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:556
+#, c-format
+msgid ""
+"Av. Speed\n"
+"(%s)"
+msgstr ""
+
+#. Apply own formatting of the data
+#: ../src/viktrwlayer_tracklist.c:561
+#, c-format
+msgid ""
+"Max Speed\n"
+"(%s)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:569
+msgid ""
+"Max Height\n"
+"(Feet)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:571
+msgid ""
+"Max Height\n"
+"(Metres)"
+msgstr ""
+
+#: ../src/viktrwlayer_geotag.c:481
#, c-format
msgid "Geotagging %d Images..."
msgstr "Geotagování %d obrázků..."
-#: ../src/viktrwlayer_geotag.c:510
+#: ../src/viktrwlayer_geotag.c:545
msgid "Geotag Images"
msgstr "Geotagování obrázků"
-#: ../src/viktrwlayer_geotag.c:516
+#: ../src/viktrwlayer_geotag.c:551
msgid "Images"
msgstr "Obrázky"
-#: ../src/viktrwlayer_geotag.c:520
+#: ../src/viktrwlayer_geotag.c:555
msgid "Overwrite Existing Waypoints:"
msgstr "Přepsat stávající místa?"
-#: ../src/viktrwlayer_geotag.c:523
+#: ../src/viktrwlayer_geotag.c:558
msgid "Overwrite Existing GPS Information:"
msgstr "Přepsat existující GPS data:"
-#: ../src/viktrwlayer_geotag.c:525
+#: ../src/viktrwlayer_geotag.c:560
msgid "Keep File Modification Timestamp:"
msgstr "Zachovat čas změny souboru:"
-#: ../src/viktrwlayer_geotag.c:555
+#: ../src/viktrwlayer_geotag.c:592
msgid "Create Waypoints:"
msgstr "Vytvořit místa:"
-#: ../src/viktrwlayer_geotag.c:563
+#: ../src/viktrwlayer_geotag.c:600
msgid "Write EXIF:"
msgstr "Zapsat EXIF:"
-#: ../src/viktrwlayer_geotag.c:575
+#: ../src/viktrwlayer_geotag.c:612
msgid "Interpolate Between Track Segments:"
msgstr "Interpolovat mezi segmenty trasy:"
-#: ../src/viktrwlayer_geotag.c:579
+#: ../src/viktrwlayer_geotag.c:616
msgid "Image Time Offset (Seconds):"
msgstr "Časový posun obrázků (sekundy):"
-#: ../src/viktrwlayer_geotag.c:581
+#: ../src/viktrwlayer_geotag.c:618
msgid ""
"The number of seconds to ADD to the photos time to make it match the GPS "
"data. Calculate this with (GPS - Photo). Can be negative or positive. Useful "
@@ -3170,11 +3802,11 @@ msgstr ""
"Počet sekund, které se přidají, nebo uberou z časové značky v obrázku, aby "
"si odpovídali údaje fotek a GPS. Vypočítejte jako čas fotky - čas gps."
-#: ../src/viktrwlayer_geotag.c:584
+#: ../src/viktrwlayer_geotag.c:621
msgid "Image Timezone:"
msgstr "Časová zóna:"
-#: ../src/viktrwlayer_geotag.c:586
+#: ../src/viktrwlayer_geotag.c:623
msgid ""
"The timezone that was used when the images were created. For example, if a "
"camera is set to AWST or +8:00 hours. Enter +8:00 here so that the correct "
@@ -3184,47 +3816,259 @@ msgstr ""
"nastaven na AWST +8:00, zadejte pro správné přepočítání +8:00. GPS záznamy "
"jsou vždy v UTC."
-#: ../src/viktrwlayer_geotag.c:590
+#: ../src/viktrwlayer_geotag.c:627
#, c-format
msgid "Using track: %s"
msgstr "Požít trasu: %s"
-#: ../src/viktrwlayer_geotag.c:592
+#: ../src/viktrwlayer_geotag.c:629
#, c-format
msgid "Using all tracks in: %s"
msgstr "Použít všechny trasys v: %s"
-#: ../src/vikstatus.c:105
+#: ../src/viktrwlayer_analysis.c:193
+msgid "Number of Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:194
+msgid "Date Range"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:195
+msgid "Total Length"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:196
+msgid "Average Length"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:197
+msgid "Max Speed"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:198
+msgid "Avg. Speed"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:199
+msgid "Minimum Altitude"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:200
+msgid "Maximum Altitude"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:201
+msgid "Total Elevation Gain/Loss"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:202
+msgid "Avg. Elevation Gain/Loss"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:203
+msgid "Total Duration"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:204
+msgid "Avg. Duration"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:278
+#, c-format
+msgid "%.2f miles"
+msgstr ""
+
+#. VIK_UNITS_DISTANCE_KILOMETRES
+#: ../src/viktrwlayer_analysis.c:282
+#, c-format
+msgid "%.2f km"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:297
+#, c-format
+msgid "%.2f m/s"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:306
+#, c-format
+msgid "%.2f knots\n"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:309
+#, c-format
+msgid "%.2f knots"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:316 ../src/viktrwlayer_analysis.c:319
+#, c-format
+msgid "%.2f km/h"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:330 ../src/viktrwlayer_analysis.c:336
+#, c-format
+msgid "%d feet"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:341 ../src/viktrwlayer_analysis.c:343
+#, c-format
+msgid "%d feet / %d feet"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:348 ../src/viktrwlayer_analysis.c:354
+#, c-format
+msgid "%d m"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:359 ../src/viktrwlayer_analysis.c:361
+#, c-format
+msgid "%d m / %d m"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:373
+#, c-format
+msgid "%d:%02d:%02d days:hrs:mins"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:380
+#, c-format
+msgid "%d:%02d hrs:mins"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:550
+msgid "Include Invisible Items"
+msgstr ""
+
+#: ../src/vikstatus.c:107
+msgid "Current number of background tasks. Click to see the background jobs."
+msgstr ""
+
+#: ../src/vikstatus.c:113
msgid "Current zoom level. Click to select a new one."
msgstr "Současný stupeň přiblížení. Klikněte k výběru."
-#: ../src/vikwaypoint.c:34
+#: ../src/vikutils.c:80
+msgid "GPSD"
+msgstr ""
+
+#. GPS Preamble
+#: ../src/vikutils.c:81
+msgid "Trkpt"
+msgstr ""
+
+#: ../src/vikutils.c:121
+#, c-format
+msgid "%sSpeed%s %.1f%s"
+msgstr ""
+
+#: ../src/vikutils.c:130
+#, c-format
+msgid "%sAlt %dfeet"
+msgstr ""
+
+#. VIK_UNITS_HEIGHT_METRES:
+#: ../src/vikutils.c:134
+#, c-format
+msgid "%sAlt %dm"
+msgstr ""
+
+#: ../src/vikutils.c:142
+#, c-format
+msgid "%sCourse %03d°"
+msgstr ""
+
+#: ../src/vikutils.c:155
+msgid "yards"
+msgstr ""
+
+#. VIK_UNITS_DISTANCE_KILOMETRES:
+#: ../src/vikutils.c:159
+msgid "m"
+msgstr ""
+
+#: ../src/vikutils.c:163
+#, c-format
+msgid "%sDistance diff %d%s"
+msgstr ""
+
+#: ../src/vikutils.c:179
+#, c-format
+msgid "%sTime %s"
+msgstr ""
+
+#: ../src/vikutils.c:187
+#, c-format
+msgid "%sTime diff %lds"
+msgstr ""
+
+#: ../src/vikutils.c:193
+#, c-format
+msgid "%sNo. of Sats %d"
+msgstr ""
+
+#: ../src/vikutils.c:213
+#, c-format
+msgid "%sDistance along %.2f%s"
+msgstr ""
+
+#. Name of track
+#: ../src/vikutils.c:232
+#, c-format
+msgid "%sTrack: %s"
+msgstr ""
+
+#: ../src/vikwaypoint.c:36
msgid "Waypoint"
msgstr "Místo"
#. TODO get rid of this as this is unnecessary duplication...
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Pan"
msgstr "Posun"
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Zoom"
msgstr "Lupa"
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Ruler"
msgstr "Pravítko"
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Select"
msgstr "Vybrat"
+#: ../src/vikwindow.c:381
+msgid "Location lookup aborted"
+msgstr ""
+
+#: ../src/vikwindow.c:401
+#, c-format
+msgid "Location found: %s"
+msgstr ""
+
+#: ../src/vikwindow.c:410
+msgid "Unable to determine location"
+msgstr ""
+
+#: ../src/vikwindow.c:434
+msgid "Default Map"
+msgstr ""
+
+#: ../src/vikwindow.c:444
+msgid "Trying to determine location..."
+msgstr ""
+
+#: ../src/vikwindow.c:447
+msgid "Determining location"
+msgstr ""
+
#. Create tooltip
-#: ../src/vikwindow.c:440
+#: ../src/vikwindow.c:605
msgid "Select zoom level"
msgstr "Vyberte úroveň přiblížení"
-#: ../src/vikwindow.c:645
+#: ../src/vikwindow.c:923
#, c-format
msgid ""
"Do you want to save the changes you made to the document \"%s\"?\n"
@@ -3234,77 +4078,77 @@ msgstr ""
"Uložit změny v souboru \"%s\"?\n"
"Změny se ztratí pokud nebudou uloženy."
-#: ../src/vikwindow.c:649
+#: ../src/vikwindow.c:927
msgid "Don't Save"
msgstr "Neukládat"
-#: ../src/vikwindow.c:696
+#: ../src/vikwindow.c:1005
msgid "mpp"
msgstr "mpp"
-#: ../src/vikwindow.c:696
+#: ../src/vikwindow.c:1005
msgid "pixelfact"
msgstr "pixelfact"
-#: ../src/vikwindow.c:861
+#: ../src/vikwindow.c:1169
#, c-format
msgid "%s %s %dm"
msgstr "%s %s %dm"
-#: ../src/vikwindow.c:863
+#: ../src/vikwindow.c:1171
#, c-format
msgid "%s %s %dft"
msgstr "%s %s %dft"
-#: ../src/vikwindow.c:866
+#: ../src/vikwindow.c:1174
#, c-format
msgid "%s %s"
msgstr "%s %s"
#. NB Ctrl+Shift+R is used for Refresh (deemed more important), so use 'U' instead
-#: ../src/vikwindow.c:1254
+#: ../src/vikwindow.c:1562
msgid "_Ruler"
msgstr "_Pravítko"
-#: ../src/vikwindow.c:1254
+#: ../src/vikwindow.c:1562
msgid "Ruler Tool"
msgstr "Pravítko"
-#: ../src/vikwindow.c:1502 ../src/vikwindow.c:3138
+#: ../src/vikwindow.c:1810 ../src/vikwindow.c:3697
msgid "_Zoom"
msgstr "_Přiblížení"
-#: ../src/vikwindow.c:1502
+#: ../src/vikwindow.c:1810
msgid "Zoom Tool"
msgstr "Lupa"
-#: ../src/vikwindow.c:1547 ../src/vikwindow.c:3139
+#: ../src/vikwindow.c:1855 ../src/vikwindow.c:3698
msgid "_Pan"
msgstr "_Posun"
-#: ../src/vikwindow.c:1547
+#: ../src/vikwindow.c:1855
msgid "Pan Tool"
msgstr "Posun"
-#: ../src/vikwindow.c:1664
+#: ../src/vikwindow.c:1972
msgid "_Select"
msgstr "_Vybrat"
-#: ../src/vikwindow.c:1664
+#: ../src/vikwindow.c:1972
msgid "Select Tool"
msgstr "Výběr"
-#: ../src/vikwindow.c:1809
+#: ../src/vikwindow.c:2123
msgid "You must select a layer to show its properties."
msgstr "K zobrazení vlastností je třeba označit vrstvu."
#. No error to show, so unlikely this will get called
-#: ../src/vikwindow.c:1824
+#: ../src/vikwindow.c:2137
msgid "The help system is not available."
msgstr "Nápověda není dostupná."
#. Main error path
-#: ../src/vikwindow.c:1827
+#: ../src/vikwindow.c:2140
#, c-format
msgid ""
"Help is not available because: %s.\n"
@@ -3313,24 +4157,24 @@ msgstr ""
"Nápověda není dostupná: %s.\n"
"Ověřte dostupnost programmu pro Mime Type ghelp (např. yelp)."
-#: ../src/vikwindow.c:1850
+#: ../src/vikwindow.c:2160
msgid "You must select a layer to delete."
msgstr "Ke smazání Je třeba označit vrstvu."
-#: ../src/vikwindow.c:2087
+#: ../src/vikwindow.c:2396
msgid "Untitled"
msgstr "Bez názvu"
-#: ../src/vikwindow.c:2194
+#: ../src/vikwindow.c:2503
#, c-format
msgid "Unable to add '%s' to the list of recently used documents"
msgstr "'%s' nelze přidat do seznamu naposledy použitých souborů."
-#: ../src/vikwindow.c:2208
+#: ../src/vikwindow.c:2540
msgid "The file you requested could not be opened."
msgstr "Nelze otevřít vybraný soubor."
-#: ../src/vikwindow.c:2211
+#: ../src/vikwindow.c:2543
msgid ""
"GPSBabel is required to load files of this type or GPSBabel encountered "
"problems."
@@ -3338,54 +4182,113 @@ msgstr ""
"GPSBabel je vyžadován pro nahrávání tohoto typu dat, nebo nastala chyba po "
"spuštění GPSBabel."
-#: ../src/vikwindow.c:2214
+#: ../src/vikwindow.c:2546
#, c-format
msgid "Unable to load malformed GPX file %s"
msgstr "Nelze nahrát poškozený GPX soubor %s"
-#: ../src/vikwindow.c:2217
+#: ../src/vikwindow.c:2549
#, c-format
msgid "Unsupported file type for %s"
msgstr "Nepodporovaný typ souboru %s"
#. Since we can process .vik files with issues just show a warning in the status bar
#. Not that a user can do much about it... or tells them what this issue is yet...
-#: ../src/vikwindow.c:2223
+#: ../src/vikwindow.c:2555
#, c-format
msgid "WARNING: issues encountered loading %s"
msgstr "Varování: problém při nahrávání %s"
-#: ../src/vikwindow.c:2278
+#: ../src/vikwindow.c:2613
msgid "Please select a GPS data file to open. "
msgstr "Vyberte prosím datový GPS soubor. "
-#: ../src/vikwindow.c:2288
+#: ../src/vikwindow.c:2629
msgid "Geocaching"
msgstr "Geocaching"
-#: ../src/vikwindow.c:2294
+#: ../src/vikwindow.c:2635
msgid "Google Earth"
msgstr "Google Earth"
-#: ../src/vikwindow.c:2299
+#: ../src/vikwindow.c:2640
msgid "GPX"
msgstr "GPX"
-#: ../src/vikwindow.c:2304 ../src/vikwindow.c:2387
+#: ../src/vikwindow.c:2645 ../src/vikwindow.c:2734
#: ../src/viking.desktop.in.h:1
msgid "Viking"
msgstr "Viking"
-#: ../src/vikwindow.c:2374
+#: ../src/vikwindow.c:2715
msgid "Save as Viking File."
msgstr "Uložit jako soubor typu Viking."
+#: ../src/vikwindow.c:2841
+msgid "Exporting to file: "
+msgstr ""
+
+#. Confirm what happened.
+#: ../src/vikwindow.c:2858
+#, c-format
+msgid "Exported files: %d"
+msgstr ""
+
+#: ../src/vikwindow.c:2870
+msgid "Nothing to Export!"
+msgstr ""
+
+#: ../src/vikwindow.c:2874
+msgid "Export to directory"
+msgstr ""
+
+#: ../src/vikwindow.c:2896
+msgid "Could not convert all files"
+msgstr ""
+
+#: ../src/vikwindow.c:2932
+#, c-format
+msgid "%d bytes"
+msgstr ""
+
+#: ../src/vikwindow.c:2934
+#, c-format
+msgid "%3.1f kB"
+msgstr ""
+
+#: ../src/vikwindow.c:2936
+#, c-format
+msgid "%3.1f MB"
+msgstr ""
+
+#: ../src/vikwindow.c:2937
+#, c-format
+msgid ""
+"%s\n"
+"\n"
+"%s\n"
+"\n"
+"%s"
+msgstr ""
+
+#: ../src/vikwindow.c:2942
+msgid "File not accessible"
+msgstr ""
+
+#: ../src/vikwindow.c:2945
+msgid "No Viking File"
+msgstr ""
+
+#: ../src/vikwindow.c:3035
+msgid "This layer has no configurable properties."
+msgstr ""
+
#. Try harder...
-#: ../src/vikwindow.c:2619 ../src/vikwindow.c:2625
+#: ../src/vikwindow.c:3169 ../src/vikwindow.c:3175
msgid "Generating image file..."
msgstr "Generování obrázku..."
-#: ../src/vikwindow.c:2647
+#: ../src/vikwindow.c:3197
msgid ""
"Failed to generate internal image.\n"
"\n"
@@ -3395,61 +4298,61 @@ msgstr ""
"\n"
"Zkuste vytvářet menší velikost obrázku."
-#: ../src/vikwindow.c:2655
+#: ../src/vikwindow.c:3205
msgid "Failed to generate image file."
msgstr "Selhalo generování obrázku."
#. Success
-#: ../src/vikwindow.c:2660
+#: ../src/vikwindow.c:3210
msgid "Image file generated."
msgstr "Obrázek vygenerován."
-#: ../src/vikwindow.c:2764
+#: ../src/vikwindow.c:3314
msgid ""
"Viewable region outside allowable pixel size bounds for image. Clipping "
"width/height values."
msgstr "Zobrazovaná oblast přesáhla okraje mapy. Upravuji zobrazení."
-#: ../src/vikwindow.c:2789
+#: ../src/vikwindow.c:3339
#, c-format
msgid "Total area: %ldm x %ldm (%.3f sq. km)"
msgstr "Celková plocha: %ldm x %ldm (%.3f km čtv. )"
-#: ../src/vikwindow.c:2792
+#: ../src/vikwindow.c:3342
#, c-format
msgid "Total area: %ldm x %ldm (%.3f sq. miles)"
msgstr "Celková plocha %ldm x %ldm (%.3f čtv. mil)"
-#: ../src/vikwindow.c:2813
+#: ../src/vikwindow.c:3363
msgid "Save Image"
msgstr "Uložit obrázek"
-#: ../src/vikwindow.c:2834
+#: ../src/vikwindow.c:3393
msgid "PNG"
msgstr "PNG"
-#: ../src/vikwindow.c:2857
+#: ../src/vikwindow.c:3416
msgid "You must be in UTM mode to use this feature"
msgstr "Tato funkce je dostupná pouze v UTM módu"
-#: ../src/vikwindow.c:2862
+#: ../src/vikwindow.c:3421
msgid "Choose a directory to hold images"
msgstr "Vybrat adresář na obrázky"
#. todo: default for answers inside VikWindow or static (thruout instance)
-#: ../src/vikwindow.c:2883
+#: ../src/vikwindow.c:3442
msgid "Save to Image File"
msgstr "Uložit obrázek do souboru"
-#: ../src/vikwindow.c:2900
+#: ../src/vikwindow.c:3459
msgid "Width (pixels):"
msgstr "Šířka (pixelů):"
-#: ../src/vikwindow.c:2902
+#: ../src/vikwindow.c:3461
msgid "Height (pixels):"
msgstr "Výška (pixelů):"
-#: ../src/vikwindow.c:2905
+#: ../src/vikwindow.c:3464
msgid ""
"WARNING: USING LARGE IMAGES OVER 10000x10000\n"
"MAY CRASH THE PROGRAM!"
@@ -3457,410 +4360,435 @@ msgstr ""
"Varování: velikost obrázku větší než 10000x10000\n"
"může program ukončit!"
-#: ../src/vikwindow.c:2907
+#: ../src/vikwindow.c:3466
msgid "Zoom (meters per pixel):"
msgstr "Měrítko (metrů/pixel)"
-#: ../src/vikwindow.c:2921
+#: ../src/vikwindow.c:3482
msgid "Area in current viewable window"
msgstr "Aktuálně zobrazená oblast"
-#: ../src/vikwindow.c:2931
+#: ../src/vikwindow.c:3492
msgid "Save as PNG"
msgstr "Uložit jako PNG"
-#: ../src/vikwindow.c:2932
+#: ../src/vikwindow.c:3493
msgid "Save as JPEG"
msgstr "Uložit jako JPEG"
-#: ../src/vikwindow.c:2954
+#: ../src/vikwindow.c:3515
msgid "East-west image tiles:"
msgstr "Východ-západ obrázky:"
-#: ../src/vikwindow.c:2956
+#: ../src/vikwindow.c:3517
msgid "North-south image tiles:"
msgstr "Počet obrázků svisle:"
-#: ../src/vikwindow.c:3097
+#: ../src/vikwindow.c:3656
msgid "Choose a background color"
msgstr "Vyberte barvu pozadí"
-#: ../src/vikwindow.c:3113
+#: ../src/vikwindow.c:3672
msgid "Choose a track highlight color"
msgstr "Barva zvýraznění trasy"
-#: ../src/vikwindow.c:3134
+#: ../src/vikwindow.c:3693
msgid "_File"
msgstr "_Soubor"
-#: ../src/vikwindow.c:3135
+#: ../src/vikwindow.c:3694
msgid "_Edit"
msgstr "_Upravit"
-#: ../src/vikwindow.c:3136
-msgid "_View"
-msgstr "_Zobrazení"
-
-#: ../src/vikwindow.c:3137
+#: ../src/vikwindow.c:3696
msgid "_Show"
msgstr "_Zobrazit"
-#: ../src/vikwindow.c:3140
+#: ../src/vikwindow.c:3699
msgid "_Layers"
msgstr "_Vrstvy"
-#: ../src/vikwindow.c:3141
+#: ../src/vikwindow.c:3700
msgid "_Tools"
msgstr "Nás_troje"
-#: ../src/vikwindow.c:3142
+#: ../src/vikwindow.c:3701
msgid "_Webtools"
msgstr "_Externí odkazy"
-#: ../src/vikwindow.c:3143 ../src/vikwindow.c:3206
+#: ../src/vikwindow.c:3702 ../src/vikwindow.c:3763
msgid "_Help"
msgstr "_Nápověda"
-#: ../src/vikwindow.c:3145
+#: ../src/vikwindow.c:3704
msgid "New file"
msgstr "Nový soubor"
-#: ../src/vikwindow.c:3146
+#: ../src/vikwindow.c:3705
msgid "_Open..."
msgstr "_Otevřít..."
-#: ../src/vikwindow.c:3146
+#: ../src/vikwindow.c:3705
msgid "Open a file"
msgstr "Otevřít soubor"
-#: ../src/vikwindow.c:3147
+#: ../src/vikwindow.c:3706
msgid "Open _Recent File"
msgstr "O_tevřít nedávné soubory"
-#: ../src/vikwindow.c:3148
+#: ../src/vikwindow.c:3707
msgid "Append _File..."
msgstr "Připojit soubor"
-#: ../src/vikwindow.c:3148
+#: ../src/vikwindow.c:3707
msgid "Append data from a different file"
msgstr "Připojí data z jiného souboru"
-#: ../src/vikwindow.c:3149
+#: ../src/vikwindow.c:3708
+msgid "_Export All"
+msgstr ""
+
+#: ../src/vikwindow.c:3708
+msgid "Export All TrackWaypoint Layers"
+msgstr ""
+
+#: ../src/vikwindow.c:3709
+msgid "_GPX..."
+msgstr ""
+
+#: ../src/vikwindow.c:3709
+msgid "Export as GPX"
+msgstr ""
+
+#: ../src/vikwindow.c:3710
msgid "A_cquire"
msgstr "_Získat"
-#: ../src/vikwindow.c:3150
+#: ../src/vikwindow.c:3711
msgid "Transfer data from a GPS device"
msgstr "Získat data z GPS"
-#: ../src/vikwindow.c:3151
+#: ../src/vikwindow.c:3712
msgid "Import File With GPS_Babel..."
msgstr "Import souboru pomocí GPSBabel..."
-#: ../src/vikwindow.c:3151
+#: ../src/vikwindow.c:3712
msgid "Import file via GPSBabel converter"
msgstr "Import souboru pomocí GPSBabel"
-#: ../src/vikwindow.c:3153
-msgid "Google _Directions..."
-msgstr "trasy G_oogle..."
+#: ../src/vikwindow.c:3713
+msgid "_Directions..."
+msgstr ""
-#: ../src/vikwindow.c:3153
-msgid "Get driving directions from Google"
-msgstr "Získá trasu z Google"
+#: ../src/vikwindow.c:3713
+msgid "Get driving directions"
+msgstr ""
-#: ../src/vikwindow.c:3156
+#: ../src/vikwindow.c:3715
msgid "_OSM Traces..."
msgstr "_OSM trasy..."
-#: ../src/vikwindow.c:3156
+#: ../src/vikwindow.c:3715
msgid "Get traces from OpenStreetMap"
msgstr "Stáhnout trasy z OpenStreetMap"
-#: ../src/vikwindow.c:3157
+#: ../src/vikwindow.c:3716
msgid "_My OSM Traces..."
msgstr "M_oje OSM záznamy"
-#: ../src/vikwindow.c:3157
+#: ../src/vikwindow.c:3716
msgid "Get Your Own Traces from OpenStreetMap"
msgstr "Stáhnout vlastní OSM záznamy"
-#: ../src/vikwindow.c:3160
+#: ../src/vikwindow.c:3719
msgid "Geo_caches..."
msgstr "Geo_cache.."
-#: ../src/vikwindow.c:3160
+#: ../src/vikwindow.c:3719
msgid "Get Geocaches from geocaching.com"
msgstr "Získat Geocache z geocaching.com"
-#: ../src/vikwindow.c:3163
+#: ../src/vikwindow.c:3722
msgid "Create waypoints from geotagged images"
msgstr "Vytvořit místa z geotagovaných obrázků"
-#: ../src/vikwindow.c:3166
+#: ../src/vikwindow.c:3725
msgid "Create waypoints from Wikipedia items in the current view"
msgstr ""
-#: ../src/vikwindow.c:3168
+#: ../src/vikwindow.c:3727
msgid "_Save"
msgstr "_Uložit"
-#: ../src/vikwindow.c:3168
+#: ../src/vikwindow.c:3727
msgid "Save the file"
msgstr "Uložit soubor"
-#: ../src/vikwindow.c:3169
+#: ../src/vikwindow.c:3728
msgid "Save _As..."
msgstr "Uložit _jako..."
-#: ../src/vikwindow.c:3169
+#: ../src/vikwindow.c:3728
msgid "Save the file under different name"
msgstr "Uložit soubor s jiným jménem"
-#: ../src/vikwindow.c:3170
+#: ../src/vikwindow.c:3729
+msgid "Properties..."
+msgstr ""
+
+#: ../src/vikwindow.c:3729
+msgid "File Properties"
+msgstr ""
+
+#: ../src/vikwindow.c:3730
msgid "_Generate Image File..."
msgstr "_Generovat obrázek..."
-#: ../src/vikwindow.c:3170
+#: ../src/vikwindow.c:3730
msgid "Save a snapshot of the workspace into a file"
msgstr "Uloží zobrazení mapy jako obrázek"
-#: ../src/vikwindow.c:3171
+#: ../src/vikwindow.c:3731
msgid "Generate _Directory of Images..."
msgstr "Generovat _adresář s obrázky..."
-#: ../src/vikwindow.c:3171
+#: ../src/vikwindow.c:3731
msgid "FIXME:IMGDIR"
msgstr "FIXME:IMGDIR"
-#: ../src/vikwindow.c:3174
+#: ../src/vikwindow.c:3732
msgid "_Print..."
msgstr "_Tisk..."
-#: ../src/vikwindow.c:3174
+#: ../src/vikwindow.c:3732
msgid "Print maps"
msgstr "Tisk map"
-#: ../src/vikwindow.c:3177
+#: ../src/vikwindow.c:3733
msgid "E_xit"
msgstr "U_končit"
-#: ../src/vikwindow.c:3177
+#: ../src/vikwindow.c:3733
msgid "Exit the program"
msgstr "Ukončit aplikaci"
-#: ../src/vikwindow.c:3178
+#: ../src/vikwindow.c:3734
msgid "Save and Exit"
msgstr "U_ložit a ukončit"
-#: ../src/vikwindow.c:3178
+#: ../src/vikwindow.c:3734
msgid "Save and Exit the program"
msgstr "Uložit a ukončit aplikaci"
-#: ../src/vikwindow.c:3180
+#: ../src/vikwindow.c:3736
msgid "Go to the _Default Location"
msgstr "Jít na výchozí pozici"
-#: ../src/vikwindow.c:3180
+#: ../src/vikwindow.c:3736
msgid "Go to the default location"
msgstr "Jít na výchozí pozici"
-#: ../src/vikwindow.c:3181
+#: ../src/vikwindow.c:3737
msgid "Go to _Location..."
msgstr "Jít na _místo..."
-#: ../src/vikwindow.c:3181
+#: ../src/vikwindow.c:3737
msgid "Go to address/place using text search"
msgstr "Jít na adresu pomocí vyhledávání"
-#: ../src/vikwindow.c:3182
+#: ../src/vikwindow.c:3738
msgid "_Go to Lat/Lon..."
msgstr "Jít na pozici..."
-#: ../src/vikwindow.c:3182
+#: ../src/vikwindow.c:3738
msgid "Go to arbitrary lat/lon coordinate"
msgstr "Jít na souřadnice"
-#: ../src/vikwindow.c:3183
+#: ../src/vikwindow.c:3739
msgid "Go to UTM..."
msgstr "Jít na souřadnice _UTM..."
-#: ../src/vikwindow.c:3183
+#: ../src/vikwindow.c:3739
msgid "Go to arbitrary UTM coordinate"
msgstr "Jít na libovolné UTM souřadnice"
-#: ../src/vikwindow.c:3184
+#: ../src/vikwindow.c:3740
msgid "_Refresh"
msgstr "_Obnovit"
-#: ../src/vikwindow.c:3184
+#: ../src/vikwindow.c:3740
msgid "Refresh any maps displayed"
msgstr ""
-#: ../src/vikwindow.c:3185
+#: ../src/vikwindow.c:3741
msgid "Set _Highlight Color..."
msgstr "Nastavte barvu zvýraznění..."
-#: ../src/vikwindow.c:3186
+#: ../src/vikwindow.c:3742
msgid "Set Bac_kground Color..."
msgstr "Nastavit barvu p_ozadí..."
-#: ../src/vikwindow.c:3187
+#: ../src/vikwindow.c:3743
msgid "Zoom _In"
msgstr "Př_iblížit"
-#: ../src/vikwindow.c:3188
+#: ../src/vikwindow.c:3744
msgid "Zoom _Out"
msgstr "_Oddálit"
-#: ../src/vikwindow.c:3189
+#: ../src/vikwindow.c:3745
msgid "Zoom _To..."
msgstr "Přiblížit na..."
-#: ../src/vikwindow.c:3190
+#: ../src/vikwindow.c:3746
msgid "Pan _North"
msgstr "Posun na _sever"
-#: ../src/vikwindow.c:3191
+#: ../src/vikwindow.c:3747
msgid "Pan _East"
msgstr "Posun na _západ"
-#: ../src/vikwindow.c:3192
+#: ../src/vikwindow.c:3748
msgid "Pan _South"
msgstr "Posun na _jih"
-#: ../src/vikwindow.c:3193
+#: ../src/vikwindow.c:3749
msgid "Pan _West"
msgstr "Posun na _západ"
-#: ../src/vikwindow.c:3194
+#: ../src/vikwindow.c:3750
msgid "Background _Jobs"
msgstr "Úlohy na _pozadí"
-#: ../src/vikwindow.c:3196
+#: ../src/vikwindow.c:3752
msgid "Cu_t"
msgstr "Vyjmou_t"
-#: ../src/vikwindow.c:3197
-msgid "_Copy"
-msgstr "_Kopírovat"
-
-#: ../src/vikwindow.c:3198
-msgid "_Paste"
-msgstr "_Vložit"
-
-#: ../src/vikwindow.c:3199
-msgid "_Delete"
-msgstr "_Smazat"
-
-#: ../src/vikwindow.c:3200
+#: ../src/vikwindow.c:3756
msgid "Delete All"
msgstr "S_mazat vše"
-#: ../src/vikwindow.c:3201
+#: ../src/vikwindow.c:3757
msgid "_Flush Map Cache"
msgstr "V_ymazat mapovou cache"
-#: ../src/vikwindow.c:3202
+#: ../src/vikwindow.c:3758
msgid "_Set the Default Location"
msgstr "_Nastavit výchozí místo"
-#: ../src/vikwindow.c:3202
+#: ../src/vikwindow.c:3758
msgid "Set the Default Location to the current position"
msgstr "Nastavit výchozí místo na aktuální pozici"
-#: ../src/vikwindow.c:3203
+#: ../src/vikwindow.c:3759
msgid "_Preferences"
msgstr "_Nastavení"
-#: ../src/vikwindow.c:3204
+#: ../src/vikwindow.c:3760
+msgid "_Layer Defaults"
+msgstr ""
+
+#: ../src/vikwindow.c:3761
msgid "_Properties"
msgstr "V_lastnosti"
-#: ../src/vikwindow.c:3207
+#: ../src/vikwindow.c:3764
msgid "_About"
msgstr "O _aplikaci"
-#: ../src/vikwindow.c:3213
+#: ../src/vikwindow.c:3768
+msgid "_KML..."
+msgstr ""
+
+#: ../src/vikwindow.c:3768
+msgid "Export as KML"
+msgstr ""
+
+#: ../src/vikwindow.c:3774
msgid "_UTM Mode"
msgstr "_UTM mód"
-#: ../src/vikwindow.c:3214
+#: ../src/vikwindow.c:3775
msgid "_Expedia Mode"
msgstr "_Expedia mód"
-#: ../src/vikwindow.c:3215
+#: ../src/vikwindow.c:3776
msgid "_Mercator Mode"
msgstr "_Mercator mód"
-#: ../src/vikwindow.c:3216
+#: ../src/vikwindow.c:3777
msgid "Lat_/Lon Mode"
msgstr "Lat_/Lon mód"
-#: ../src/vikwindow.c:3220
+#: ../src/vikwindow.c:3781
msgid "Show _Scale"
msgstr "_Měřítko"
-#: ../src/vikwindow.c:3220
+#: ../src/vikwindow.c:3781
msgid "Show Scale"
msgstr "Zobrazit _měřítko"
-#: ../src/vikwindow.c:3221
+#: ../src/vikwindow.c:3782
msgid "Show _Center Mark"
msgstr "S_třed"
-#: ../src/vikwindow.c:3221
+#: ../src/vikwindow.c:3782
msgid "Show Center Mark"
msgstr "Zobrazit s_třed"
-#: ../src/vikwindow.c:3222
+#: ../src/vikwindow.c:3783
msgid "Show _Highlight"
msgstr "_Zvýraznit"
-#: ../src/vikwindow.c:3222
+#: ../src/vikwindow.c:3783
msgid "Show Highlight"
msgstr "Zvýraznit"
-#: ../src/vikwindow.c:3223
+#: ../src/vikwindow.c:3784
msgid "_Full Screen"
msgstr "_Celá obrazovka"
-#: ../src/vikwindow.c:3223
+#: ../src/vikwindow.c:3784
msgid "Activate full screen mode"
msgstr "Přes celou obrazovku"
-#: ../src/vikwindow.c:3224
+#: ../src/vikwindow.c:3785
msgid "Show Side _Panel"
msgstr "_Boční panel"
-#: ../src/vikwindow.c:3224
+#: ../src/vikwindow.c:3785
msgid "Show Side Panel"
msgstr "Boční panel vstev"
-#: ../src/vikwindow.c:3225
+#: ../src/vikwindow.c:3786
msgid "Show Status_bar"
msgstr "_Stavovou lištu"
-#: ../src/vikwindow.c:3225
+#: ../src/vikwindow.c:3786
msgid "Show Statusbar"
msgstr "_Stavovou lištu"
-#: ../src/vikwindow.c:3226
+#: ../src/vikwindow.c:3787
msgid "Show _Toolbar"
msgstr "_Panel nástrojů"
-#: ../src/vikwindow.c:3226
+#: ../src/vikwindow.c:3787
msgid "Show Toolbar"
msgstr "Panel _nástrojů"
-#: ../src/vikwindow.c:3227
+#: ../src/vikwindow.c:3788
msgid "Show _Menu"
msgstr "_Menu"
-#: ../src/vikwindow.c:3227
+#: ../src/vikwindow.c:3788
msgid "Show Menu"
msgstr "_Menu"
+#: ../src/vikwindow.c:3862
+#, c-format
+msgid "New _%s Layer"
+msgstr "nová _%s vrstva"
+
#: ../src/viking.desktop.in.h:2
msgid "GPS Data Manager"
msgstr "Správce GPS dat"
diff --git a/po/da.po b/po/da.po
index 50125f0..314a5e2 100644
--- a/po/da.po
+++ b/po/da.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: viking\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-02-04 23:29+0100\n"
+"POT-Creation-Date: 2013-09-03 21:58+0200\n"
"PO-Revision-Date: 2010-11-17 23:14+0000\n"
"Last-Translator: Guilhem Bonnefille <guilhem.bonnefille@gmail.com>\n"
"Language-Team: Danish <da@li.org>\n"
@@ -15,60 +15,60 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Launchpad-Export-Date: 2013-03-23 17:12+0000\n"
-"X-Generator: Launchpad (build 16540)\n"
+"X-Launchpad-Export-Date: 2013-10-12 09:04+0000\n"
+"X-Generator: Launchpad (build 16799)\n"
"Language: da\n"
-#: ../src/acquire.c:103 ../src/vikgpslayer.c:1185
+#: ../src/acquire.c:103 ../src/vikgpslayer.c:1235
msgid "Done."
msgstr "Færdig."
-#: ../src/acquire.c:114
+#: ../src/acquire.c:112
msgid "No data."
msgstr ""
-#: ../src/acquire.c:154 ../src/acquire.c:404
+#: ../src/acquire.c:154 ../src/acquire.c:424
msgid "Error: acquisition failed."
msgstr ""
-#: ../src/acquire.c:341
+#: ../src/acquire.c:352
msgid "Working..."
msgstr "Arbejder..."
#. This shouldn't happen...
-#: ../src/acquire.c:394
+#: ../src/acquire.c:415
msgid ""
"Unable to create command\n"
"Acquire method failed."
msgstr ""
-#: ../src/acquire.c:486
+#: ../src/acquire.c:517
msgid "_Filter"
msgstr ""
-#: ../src/acquire.c:501
+#: ../src/acquire.c:532
#, c-format
msgid "Filter with %s"
msgstr ""
-#: ../src/acquire.c:518
+#: ../src/acquire.c:549
msgid "Filter"
msgstr ""
-#: ../src/background.c:52
+#: ../src/background.c:53
#, c-format
msgid "%d items"
msgstr "%d emner"
-#: ../src/background.c:248
+#: ../src/background.c:254
msgid "Job"
msgstr "Opgave"
-#: ../src/background.c:252
+#: ../src/background.c:258
msgid "Progress"
msgstr "Fremdrift"
-#: ../src/background.c:268
+#: ../src/background.c:274
msgid "Viking Background Jobs"
msgstr "Viking baggrundsjob"
@@ -77,7 +77,7 @@ msgid "Bing"
msgstr ""
#. VIK_GTK_WINDOW_FROM_WIDGET(vp)
-#: ../src/bingmapsource.c:445
+#: ../src/bingmapsource.c:499
msgid "Bing attribution Loading"
msgstr ""
@@ -102,35 +102,35 @@ msgid ""
"into."
msgstr ""
-#: ../src/dialog.c:52
+#: ../src/dialog.c:53
msgid "Go to Lat/Lon"
msgstr ""
-#: ../src/dialog.c:64 ../src/dialog.c:251
+#: ../src/dialog.c:65 ../src/dialog.c:244
msgid "Latitude:"
msgstr "Breddegrad:"
-#: ../src/dialog.c:70 ../src/dialog.c:256
+#: ../src/dialog.c:71 ../src/dialog.c:249
msgid "Longitude:"
msgstr "Længdegrad:"
-#: ../src/dialog.c:102
+#: ../src/dialog.c:103
msgid "Go to UTM"
msgstr ""
-#: ../src/dialog.c:115
+#: ../src/dialog.c:116
msgid "Northing:"
msgstr ""
-#: ../src/dialog.c:121
+#: ../src/dialog.c:122
msgid "Easting:"
msgstr ""
-#: ../src/dialog.c:128
+#: ../src/dialog.c:129
msgid "Zone:"
msgstr "Zone:"
-#: ../src/dialog.c:131
+#: ../src/dialog.c:132
msgid "Letter:"
msgstr ""
@@ -138,105 +138,109 @@ msgstr ""
msgid "Waypoint Properties"
msgstr ""
-#: ../src/dialog.c:233
+#: ../src/dialog.c:235
msgid "Name:"
msgstr "Navn:"
-#: ../src/dialog.c:261
+#: ../src/dialog.c:254
msgid "Altitude:"
msgstr "Højde:"
-#: ../src/dialog.c:266
+#: ../src/dialog.c:259
msgid "Comment:"
msgstr "Kommentar:"
-#: ../src/dialog.c:274 ../src/osm-traces.c:437
+#: ../src/dialog.c:267 ../src/osm-traces.c:445
msgid "Description:"
msgstr "Beskrivelse:"
-#: ../src/dialog.c:277
+#: ../src/dialog.c:270
msgid "Image:"
msgstr "Billede:"
-#: ../src/dialog.c:282
+#: ../src/dialog.c:275
msgid "Symbol:"
msgstr "Symbol:"
-#: ../src/dialog.c:291
+#: ../src/dialog.c:284
msgid "(none)"
msgstr "(ingen)"
+#: ../src/dialog.c:326
+msgid "Time:"
+msgstr ""
+
#. TODO: other checks (isalpha or whatever )
-#: ../src/dialog.c:356
+#: ../src/dialog.c:363
msgid "Please enter a name for the waypoint."
msgstr ""
-#: ../src/dialog.c:529 ../src/geonamessearch.c:243
+#: ../src/dialog.c:502 ../src/geonamessearch.c:244
#: ../src/datasource_osm_my_traces.c:507
msgid "Nothing was selected"
msgstr ""
-#: ../src/dialog.c:537
+#: ../src/dialog.c:510
msgid "Add Route"
msgstr ""
-#: ../src/dialog.c:537
+#: ../src/dialog.c:510
msgid "Add Track"
msgstr "Tilføj spor"
-#: ../src/dialog.c:545
+#: ../src/dialog.c:518
msgid "Route Name:"
msgstr ""
-#: ../src/dialog.c:545
+#: ../src/dialog.c:518
msgid "Track Name:"
msgstr "Spornavn:"
-#: ../src/dialog.c:565
+#: ../src/dialog.c:538
msgid "Please enter a name for the track."
msgstr "Indtast venligst et navn for sporet."
-#: ../src/dialog.c:623
+#: ../src/dialog.c:596
msgid "Zoom Factors..."
msgstr "Zoom faktor..."
-#: ../src/dialog.c:637
+#: ../src/dialog.c:610
msgid "Zoom factor (in meters per pixel):"
msgstr ""
-#: ../src/dialog.c:638
+#: ../src/dialog.c:611
msgid "X (easting): "
msgstr ""
-#: ../src/dialog.c:639
+#: ../src/dialog.c:612
msgid "Y (northing): "
msgstr ""
-#: ../src/dialog.c:644
+#: ../src/dialog.c:617
msgid "X and Y zoom factors must be equal"
msgstr ""
-#: ../src/dialog.c:699
+#: ../src/dialog.c:672
msgid "1 min"
msgstr "1 min"
-#: ../src/dialog.c:700
+#: ../src/dialog.c:673
msgid "1 hour"
msgstr "1 time"
-#: ../src/dialog.c:701
+#: ../src/dialog.c:674
msgid "1 day"
msgstr "1 dag"
-#: ../src/dialog.c:702
+#: ../src/dialog.c:675
msgid "Custom (in minutes):"
msgstr ""
-#: ../src/dialog.c:808
+#: ../src/dialog.c:786
msgid "GPS Data and Topo Analyzer, Explorer, and Manager."
msgstr ""
-#: ../src/dialog.c:809
+#: ../src/dialog.c:787
msgid ""
"This program is free software; you can redistribute it and/or modify it "
"under the terms of the GNU General Public License as published by the Free "
@@ -253,28 +257,28 @@ msgid ""
"Place, Suite 330, Boston, MA 02111-1307, USA"
msgstr ""
-#: ../src/dialog.c:837
+#: ../src/dialog.c:852
msgid "Translation is coordinated on http://launchpad.net/viking"
msgstr ""
-#: ../src/dialog.c:845
+#: ../src/dialog.c:861
msgid "Download along track"
msgstr ""
-#: ../src/dialog.c:851
+#: ../src/dialog.c:868
msgid "Map type:"
msgstr "Korttype:"
-#: ../src/dialog.c:856
+#: ../src/dialog.c:874
msgid "Zoom level:"
msgstr "Zoom niveau:"
-#: ../src/dialog.c:896
+#: ../src/dialog.c:914
#, c-format
msgid "The map data is licensed: %s."
msgstr ""
-#: ../src/dialog.c:899
+#: ../src/dialog.c:917
#, c-format
msgid ""
"The data provided by '<b>%s</b>' are licensed under the following license: "
@@ -282,7 +286,7 @@ msgid ""
"Please, read the license before continuing."
msgstr ""
-#: ../src/dialog.c:904
+#: ../src/dialog.c:922
msgid "Open license"
msgstr ""
@@ -327,7 +331,8 @@ msgstr ""
#. NB could allow columns to be shifted around by doing this after each new
#. gtk_tree_view_column_set_reorderable ( column, TRUE );
#. However I don't think is that useful, so I haven't put it in
-#: ../src/geonamessearch.c:177 ../src/datasource_osm_my_traces.c:425
+#: ../src/geonamessearch.c:177 ../src/datasource_osm_my_traces.c:424
+#: ../src/viktrwlayer_tracklist.c:521
msgid "Name"
msgstr ""
@@ -335,82 +340,192 @@ msgstr ""
msgid "Feature"
msgstr ""
-#: ../src/geonamessearch.c:187 ../src/datasource_osm_my_traces.c:440
+#: ../src/geonamessearch.c:187 ../src/datasource_osm_my_traces.c:439
msgid "Lat/Lon"
msgstr ""
-#: ../src/geonamessearch.c:269 ../src/googlesearch.c:100
+#: ../src/geonamessearch.c:270 ../src/googlesearch.c:100 ../src/vikgoto.c:306
msgid "couldn't map temp file"
msgstr ""
-#: ../src/globals.c:44
+#: ../src/globals.c:73
+msgid "Absolute"
+msgstr ""
+
+#: ../src/globals.c:73
+msgid "Relative"
+msgstr ""
+
+#: ../src/globals.c:76
msgid "Degree format:"
msgstr ""
-#: ../src/globals.c:48
+#: ../src/globals.c:77
msgid "Distance units:"
msgstr ""
-#: ../src/globals.c:52
+#: ../src/globals.c:78
msgid "Speed units:"
msgstr ""
-#: ../src/globals.c:56
+#: ../src/globals.c:79
msgid "Height units:"
msgstr ""
-#: ../src/globals.c:60
+#: ../src/globals.c:80
msgid "Use large waypoint icons:"
msgstr ""
-#: ../src/globals.c:64
+#: ../src/globals.c:81
msgid "Default latitude:"
msgstr ""
-#: ../src/globals.c:67
+#: ../src/globals.c:82
msgid "Default longitude:"
msgstr ""
-#: ../src/globals.c:73
+#: ../src/globals.c:88
msgid "Alphabetical"
msgstr ""
-#: ../src/globals.c:73 ../src/datasource_osm_my_traces.c:435
+#: ../src/globals.c:88 ../src/datasource_osm_my_traces.c:434
msgid "Time"
msgstr ""
-#: ../src/globals.c:76
+#: ../src/globals.c:88
+msgid "Creation"
+msgstr ""
+
+#: ../src/globals.c:89
+msgid "Title Case"
+msgstr ""
+
+#: ../src/globals.c:89
+msgid "Lowercase"
+msgstr ""
+
+#: ../src/globals.c:92
msgid "KML File Export Units:"
msgstr ""
-#: ../src/globals.c:77
+#: ../src/globals.c:93
msgid "GPX Track Order:"
msgstr ""
-#: ../src/globals.c:82
+#: ../src/globals.c:94
+msgid "GPX Waypoint Symbols:"
+msgstr ""
+
+#: ../src/globals.c:95
+msgid ""
+"Save GPX Waypoint Symbol names in the specified case. May be useful for "
+"compatibility with various devices"
+msgstr ""
+
+#: ../src/globals.c:100
msgid "Image Viewer:"
msgstr ""
-#: ../src/globals.c:87
+#: ../src/globals.c:105
msgid "External GPX Program 1:"
msgstr ""
-#: ../src/globals.c:88
+#: ../src/globals.c:106
msgid "External GPX Program 2:"
msgstr ""
+#: ../src/globals.c:110
+msgid "Save File Reference Mode:"
+msgstr ""
+
+#: ../src/globals.c:111
+msgid ""
+"When saving a Viking .vik file, this determines how the directory paths of "
+"filenames are written."
+msgstr ""
+
+#: ../src/globals.c:112
+msgid "Show Tooltip during Track Creation:"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Home Location"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Last Location"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Specified File"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Auto Location"
+msgstr ""
+
+#: ../src/globals.c:118
+msgid "Restore Window Setup:"
+msgstr ""
+
+#: ../src/globals.c:119
+msgid "Restore window size and layout"
+msgstr ""
+
+#: ../src/globals.c:120
+msgid "Add a Default Map Layer:"
+msgstr ""
+
+#: ../src/globals.c:121
+msgid ""
+"The default map layer added is defined by the Layer Defaults. Use the menu "
+"Edit->Layer Defaults->Map... to change the map type and other values."
+msgstr ""
+
+#: ../src/globals.c:122
+msgid "Startup Method:"
+msgstr ""
+
+#: ../src/globals.c:123
+msgid "Startup File:"
+msgstr ""
+
+#: ../src/globals.c:124
+msgid ""
+"The default file to load on startup. Only applies when the startup method is "
+"set to 'Specified File'"
+msgstr ""
+
+#: ../src/globals.c:125
+msgid "Check For New Version:"
+msgstr ""
+
+#: ../src/globals.c:126
+msgid "Periodically check to see if a new version of Viking is available"
+msgstr ""
+
#. Defaults for the options are setup here
-#: ../src/globals.c:96
+#: ../src/globals.c:163
msgid "General"
msgstr ""
#. New Tab
-#: ../src/globals.c:121
+#: ../src/globals.c:188
+msgid "Startup"
+msgstr ""
+
+#. New Tab
+#: ../src/globals.c:206
msgid "Export/External"
msgstr ""
+#. 'Advanced' Properties
+#: ../src/globals.c:230
+msgid "Advanced"
+msgstr ""
+
#. Webtools
-#: ../src/google.c:36
+#: ../src/google.c:38
msgid "Google"
msgstr "Google"
@@ -423,24 +538,24 @@ msgid "Imported file"
msgstr ""
#. The file selector
-#: ../src/datasource_file.c:133
+#: ../src/datasource_file.c:127
msgid "File:"
msgstr ""
-#: ../src/datasource_file.c:134
+#: ../src/datasource_file.c:128
msgid "File to import"
msgstr ""
-#: ../src/datasource_file.c:141
+#: ../src/datasource_file.c:135
msgid "All files"
msgstr ""
#. The file format selector
-#: ../src/datasource_file.c:148
+#: ../src/datasource_file.c:142
msgid "File type:"
msgstr ""
-#: ../src/datasource_file.c:193
+#: ../src/datasource_file.c:184
#, c-format
msgid "using babel args '%s' and file '%s'"
msgstr ""
@@ -453,29 +568,29 @@ msgstr "Download Geocashes"
msgid "Geocaching.com Caches"
msgstr ""
-#: ../src/datasource_gc.c:84
+#: ../src/datasource_gc.c:85
msgid "geocaching.com username:"
msgstr ""
-#: ../src/datasource_gc.c:85
+#: ../src/datasource_gc.c:86
msgid "geocaching.com password:"
msgstr ""
-#: ../src/datasource_gc.c:126
+#: ../src/datasource_gc.c:127
#, c-format
msgid ""
"Can't find %s or %s in path! Check that you have installed it correctly."
msgstr ""
-#: ../src/datasource_gc.c:188
+#: ../src/datasource_gc.c:189
msgid "Number geocaches:"
msgstr ""
-#: ../src/datasource_gc.c:190
+#: ../src/datasource_gc.c:191
msgid "Centered around:"
msgstr ""
-#: ../src/datasource_gc.c:226
+#: ../src/datasource_gc.c:230
msgid "Broken input - using some defaults"
msgstr ""
@@ -487,116 +602,107 @@ msgstr ""
msgid "Geotagged Images"
msgstr ""
-#: ../src/datasource_geotag.c:102 ../src/vikwindow.c:2314
-#: ../src/vikwindow.c:2382 ../src/vikwindow.c:2824
+#: ../src/datasource_geotag.c:102 ../src/vikwindow.c:2655
+#: ../src/vikwindow.c:2729 ../src/vikwindow.c:3380
msgid "All"
msgstr ""
-#: ../src/datasource_geotag.c:107 ../src/vikwindow.c:2829
+#: ../src/datasource_geotag.c:107 ../src/vikwindow.c:3385
msgid "JPG"
msgstr ""
-#: ../src/datasource_geotag.c:165
+#: ../src/datasource_geotag.c:168
#, c-format
msgid "Unable to create waypoint from %s"
msgstr ""
-#: ../src/datasource_google.c:49 ../src/datasource_google.c:50
-msgid "Google Directions"
-msgstr ""
-
-#: ../src/datasource_google.c:77
-msgid "From:"
-msgstr "Fra:"
-
-#: ../src/datasource_google.c:79
-msgid "To:"
-msgstr "Til:"
-
-#: ../src/datasource_gps.c:57
+#: ../src/datasource_gps.c:54
msgid "Acquire from GPS"
msgstr "Hent fra GPS"
-#: ../src/datasource_gps.c:58
+#: ../src/datasource_gps.c:55
msgid "Acquired from GPS"
msgstr "Hentet fra GPS"
-#: ../src/datasource_gps.c:221
+#: ../src/datasource_gps.c:245
#, c-format
msgid "using cmdline '%s' and file '%s'\n"
msgstr ""
-#: ../src/datasource_gps.c:297 ../src/vikgpslayer.c:884
+#: ../src/datasource_gps.c:327 ../src/vikgpslayer.c:934
#, c-format
msgid "Downloading %d waypoint..."
msgid_plural "Downloading %d waypoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/datasource_gps.c:298 ../src/vikgpslayer.c:885
+#: ../src/datasource_gps.c:328 ../src/vikgpslayer.c:935
#, c-format
msgid "Downloading %d trackpoint..."
msgid_plural "Downloading %d trackpoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/datasource_gps.c:303 ../src/vikgpslayer.c:890
+#: ../src/datasource_gps.c:333 ../src/vikgpslayer.c:940
#, c-format
msgid "Downloading %d routepoint..."
msgid_plural "Downloading %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/datasource_gps.c:325 ../src/datasource_gps.c:326
-#: ../src/datasource_gps.c:327
+#: ../src/datasource_gps.c:355 ../src/datasource_gps.c:356
+#: ../src/datasource_gps.c:357
#, c-format
msgid "Downloaded %d out of %d %s..."
msgstr "Downloadet %d ud af %d %s..."
-#: ../src/datasource_gps.c:331 ../src/datasource_gps.c:332
-#: ../src/datasource_gps.c:333
+#: ../src/datasource_gps.c:361 ../src/datasource_gps.c:362
+#: ../src/datasource_gps.c:363
#, c-format
msgid "Downloaded %d %s."
msgstr "Downloaded %d %s."
-#: ../src/datasource_gps.c:347 ../src/vikgpslayer.c:968
+#: ../src/datasource_gps.c:377 ../src/vikgpslayer.c:1018
#, c-format
msgid "GPS Device: %s"
msgstr "GPS udstyr: %s"
-#: ../src/datasource_gps.c:370 ../src/vikgpslayer.c:1042
-#: ../src/vikgpslayer.c:1110
+#: ../src/datasource_gps.c:400 ../src/vikgpslayer.c:1092
+#: ../src/vikgpslayer.c:1160
msgid "Status: Working..."
msgstr ""
-#: ../src/datasource_gps.c:469 ../src/vikgpslayer.c:150
+#. NB gps_layer_inst_init() is performed after parameter registeration
+#. thus to give the protocols some potential values use the old static list
+#. TODO: find another way to use gps_layer_inst_init()?
+#: ../src/datasource_gps.c:500 ../src/vikgpslayer.c:207
msgid "GPS Protocol:"
msgstr "GPS protekol:"
-#. List now assigned at runtime
-#: ../src/datasource_gps.c:488 ../src/vikgpslayer.c:151
+#. List reassigned at runtime
+#: ../src/datasource_gps.c:526 ../src/vikgpslayer.c:208
msgid "Serial Port:"
msgstr ""
-#: ../src/datasource_gps.c:509
+#: ../src/datasource_gps.c:576
msgid ""
"Turn Off After Transfer\n"
"(Garmin/NAViLink Only)"
msgstr ""
-#: ../src/datasource_gps.c:512
+#: ../src/datasource_gps.c:583
msgid "Tracks:"
msgstr ""
-#: ../src/datasource_gps.c:516
+#: ../src/datasource_gps.c:590
msgid "Routes:"
msgstr ""
-#: ../src/datasource_gps.c:520
+#: ../src/datasource_gps.c:597
msgid "Waypoints:"
msgstr ""
-#: ../src/datasource_gps.c:594 ../src/vikgpslayer.c:1305
+#: ../src/datasource_gps.c:675 ../src/vikgpslayer.c:1355
msgid "GPS device: N/A"
msgstr "GPS udstyr: N/A"
@@ -604,39 +710,39 @@ msgstr "GPS udstyr: N/A"
msgid "OSM traces"
msgstr ""
-#: ../src/datasource_osm.c:80
+#: ../src/datasource_osm.c:82
msgid "Page number:"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:63 ../src/datasource_osm_my_traces.c:64
+#: ../src/datasource_osm_my_traces.c:59 ../src/datasource_osm_my_traces.c:60
msgid "OSM My Traces"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:108
+#: ../src/datasource_osm_my_traces.c:104
msgid "Username:"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:113
+#: ../src/datasource_osm_my_traces.c:109
msgid "The email or username used to login to OSM"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:115 ../src/osm-traces.c:413
+#: ../src/datasource_osm_my_traces.c:111 ../src/osm-traces.c:421
msgid "Password:"
msgstr "Adgangskode:"
-#: ../src/datasource_osm_my_traces.c:120
+#: ../src/datasource_osm_my_traces.c:114
msgid "The password used to login to OSM"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:430
+#: ../src/datasource_osm_my_traces.c:429
msgid "Description"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:445
+#: ../src/datasource_osm_my_traces.c:444
msgid "Privacy"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:452
+#: ../src/datasource_osm_my_traces.c:451
msgid "Within Current View"
msgstr ""
@@ -648,15 +754,33 @@ msgstr ""
msgid "None found!"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:629
+#: ../src/datasource_osm_my_traces.c:634
msgid "My OSM Traces"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:645
+#: ../src/datasource_osm_my_traces.c:649
#, c-format
msgid "Unable to get trace: %s"
msgstr ""
+#: ../src/datasource_routing.c:53 ../src/datasource_routing.c:54
+msgid "Directions"
+msgstr ""
+
+#. Engine selector
+#: ../src/datasource_routing.c:83
+msgid "Engine:"
+msgstr ""
+
+#. From and To entries
+#: ../src/datasource_routing.c:88
+msgid "From:"
+msgstr "Fra:"
+
+#: ../src/datasource_routing.c:90
+msgid "To:"
+msgstr "Til:"
+
#: ../src/datasource_wikipedia.c:32
msgid "Create Waypoints from Wikipedia Articles"
msgstr ""
@@ -677,174 +801,185 @@ msgstr ""
msgid "Incorrect DEM Class B record: expected 1"
msgstr ""
-#: ../src/dem.c:360
+#: ../src/dem.c:288 ../src/download.c:170
#, c-format
msgid "Couldn't map file %s: %s"
msgstr ""
-#: ../src/download.c:112
-msgid "Tile age (s):"
+#: ../src/download.c:130
+msgid "Tile age (days):"
msgstr ""
-#: ../src/download.c:233
+#: ../src/download.c:321
#, c-format
msgid "Download error: %s"
msgstr ""
-#: ../src/download.c:313
+#: ../src/download.c:404
msgid "couldn't open temp file"
msgstr "kunne ikke åbne midlertidig fil"
-#: ../src/file.c:456 ../src/file.c:461
+#: ../src/file.c:451 ../src/file.c:456
#, c-format
msgid "Draw mode '%s' no more supported"
msgstr ""
-#: ../src/geotag_exif.c:433
+#: ../src/geotag_exif.c:421
msgid "Not enough memory."
msgstr ""
-#: ../src/geotag_exif.c:451
+#: ../src/geotag_exif.c:439
msgid "Setting a value for this tag is unsupported!"
msgstr ""
-#: ../src/geotag_exif.c:470
+#: ../src/geotag_exif.c:458
#, c-format
msgid "Too few components specified (need %d, found %d)\n"
msgstr ""
-#: ../src/geotag_exif.c:474
+#: ../src/geotag_exif.c:462
msgid "Numeric value expected\n"
msgstr ""
-#: ../src/geotag_exif.c:482
+#: ../src/geotag_exif.c:470
msgid "This shouldn't happen!"
msgstr ""
-#: ../src/geotag_exif.c:552
+#: ../src/geotag_exif.c:540
msgid "Not yet implemented!"
msgstr ""
-#: ../src/geotag_exif.c:565
+#: ../src/geotag_exif.c:553
msgid "Warning; Too many components specified!"
msgstr ""
-#: ../src/osm-traces.c:73
+#: ../src/osm-traces.c:76
msgid "Identifiable (public w/ timestamps)"
msgstr ""
-#: ../src/osm-traces.c:74
+#: ../src/osm-traces.c:77
msgid "Trackable (private w/ timestamps)"
msgstr ""
-#: ../src/osm-traces.c:75
+#: ../src/osm-traces.c:78
msgid "Public"
msgstr "Offentlig"
-#: ../src/osm-traces.c:76
+#: ../src/osm-traces.c:79
msgid "Private"
msgstr ""
-#: ../src/osm-traces.c:93
+#: ../src/osm-traces.c:97
msgid "OSM username:"
msgstr ""
-#: ../src/osm-traces.c:94
+#: ../src/osm-traces.c:98
msgid "OSM password:"
msgstr ""
#. Preferences
-#: ../src/osm-traces.c:151
+#: ../src/osm-traces.c:155
msgid "OpenStreetMap Traces"
msgstr ""
-#: ../src/osm-traces.c:234
+#: ../src/osm-traces.c:238
#, c-format
msgid "failed to upload data: HTTP response is %ld"
msgstr ""
-#: ../src/osm-traces.c:239
+#: ../src/osm-traces.c:243
#, c-format
msgid "curl_easy_getinfo failed: %d"
msgstr ""
-#: ../src/osm-traces.c:244
+#: ../src/osm-traces.c:248
#, c-format
msgid "curl request failed: %s"
msgstr ""
-#: ../src/osm-traces.c:275
+#: ../src/osm-traces.c:279
#, c-format
msgid "failed to open temporary file: %s"
msgstr "det mislykkedes at åbne midlertidig fil: %s"
#. Success
-#: ../src/osm-traces.c:328
+#: ../src/osm-traces.c:340
msgid "Uploaded to OSM"
msgstr ""
-#: ../src/osm-traces.c:332
+#: ../src/osm-traces.c:344
msgid "FAILED TO UPLOAD DATA TO OSM - CURL PROBLEM"
msgstr ""
-#: ../src/osm-traces.c:335
+#: ../src/osm-traces.c:347
msgid "FAILED TO UPLOAD DATA TO OSM"
msgstr ""
-#: ../src/osm-traces.c:335
+#: ../src/osm-traces.c:347
msgid "HTTP response code"
msgstr ""
-#: ../src/osm-traces.c:348
+#: ../src/osm-traces.c:355
#, c-format
msgid "failed to unlink temporary file: %s"
msgstr ""
-#: ../src/osm-traces.c:387
+#: ../src/osm-traces.c:394
msgid "OSM upload"
msgstr ""
-#: ../src/osm-traces.c:405
+#: ../src/osm-traces.c:413
msgid "Email:"
msgstr "E-mail:"
-#: ../src/osm-traces.c:410
+#: ../src/osm-traces.c:418
msgid ""
"The email used as login\n"
"<small>Enter the email you use to login into www.openstreetmap.org.</small>"
msgstr ""
-#: ../src/osm-traces.c:418
+#: ../src/osm-traces.c:426
msgid ""
"The password used to login\n"
"<small>Enter the password you use to login into "
"www.openstreetmap.org.</small>"
msgstr ""
-#: ../src/osm-traces.c:423
+#: ../src/osm-traces.c:431
msgid "File's name:"
msgstr "Filens navn:"
-#: ../src/osm-traces.c:433
+#: ../src/osm-traces.c:441
msgid ""
"The name of the file on OSM\n"
"<small>This is the name of the file created on the server.This is not the "
"name of the local file.</small>"
msgstr ""
-#: ../src/osm-traces.c:442
+#: ../src/osm-traces.c:450
msgid "The description of the trace"
msgstr ""
-#: ../src/osm-traces.c:444
+#: ../src/osm-traces.c:453
+msgid "Anonymize Times:"
+msgstr ""
+
+#: ../src/osm-traces.c:458
+msgid ""
+"Anonymize times of the trace.\n"
+"<small>You may choose to make the trace identifiable, yet mask the actual "
+"real time values</small>"
+msgstr ""
+
+#: ../src/osm-traces.c:462
msgid "Tags:"
msgstr "Mærker:"
-#: ../src/osm-traces.c:449
+#: ../src/osm-traces.c:467
msgid "The tags associated to the trace"
msgstr ""
-#: ../src/osm-traces.c:482
+#: ../src/osm-traces.c:529
#, c-format
msgid "Uploading %s to OSM"
msgstr ""
@@ -853,69 +988,88 @@ msgstr ""
msgid "Map cache memory size (MB):"
msgstr ""
-#: ../src/print.c:53
+#: ../src/print.c:51 ../src/viktrwlayer.c:509
msgid "None"
msgstr "Ingen"
-#: ../src/print.c:54
+#: ../src/print.c:52
msgid "Horizontally"
msgstr "Vandret"
-#: ../src/print.c:55
+#: ../src/print.c:53
msgid "Vertically"
msgstr "Lodret"
-#: ../src/print.c:56
+#: ../src/print.c:54
msgid "Both"
msgstr "Begge"
-#: ../src/print.c:120
+#: ../src/print.c:118
msgid "Image Settings"
msgstr "Billedindstillinger"
-#: ../src/print.c:546
+#: ../src/print.c:548
msgid "done"
msgstr "færdig"
#. Page Size
-#: ../src/print.c:575
+#: ../src/print.c:577
msgid "_Adjust Page Size and Orientation"
msgstr ""
-#: ../src/print.c:591
+#: ../src/print.c:593
msgid "C_enter:"
msgstr "C_entrum:"
#. ignore page margins
-#: ../src/print.c:609
+#: ../src/print.c:611
msgid "Ignore Page _Margins"
msgstr ""
-#: ../src/print.c:628
+#: ../src/print.c:630
msgid "Image S_ize:"
msgstr "B_illed størrelse:"
-#: ../src/util.c:81
-msgid "Could not launch web browser."
-msgstr "Kunne ikke starte web browser."
+#: ../src/util.c:65
+#, c-format
+msgid "Could not launch web browser. %s"
+msgstr ""
-#: ../src/util.c:92
-msgid "Could not create new email."
+#: ../src/util.c:76
+#, c-format
+msgid "Could not create new email. %s"
msgstr ""
-#: ../src/vikcoordlayer.c:46
+#: ../src/util.c:177
+#, c-format
+msgid ""
+"There is a newer version of Viking available: %s\n"
+"\n"
+"Do you wish to go to Viking's website now?"
+msgstr ""
+
+#: ../src/util.c:304
+msgid ""
+"This appears to be Viking's very first run.\n"
+"\n"
+"Do you wish to enable automatic internet features?\n"
+"\n"
+"Individual settings can be controlled in the Preferences."
+msgstr ""
+
+#: ../src/vikcoordlayer.c:57
msgid "Color:"
msgstr "Farve:"
-#: ../src/vikcoordlayer.c:47
+#: ../src/vikcoordlayer.c:58
msgid "Minutes Width:"
msgstr ""
-#: ../src/vikcoordlayer.c:48
+#: ../src/vikcoordlayer.c:59
msgid "Line Thickness:"
msgstr "Linjetykkelse:"
-#: ../src/vikcoordlayer.c:56
+#: ../src/vikcoordlayer.c:66
msgid "Coordinate"
msgstr ""
@@ -951,62 +1105,130 @@ msgstr ""
msgid "Polygonzied Layer"
msgstr ""
-#: ../src/main.c:89
+#: ../src/main.c:92
#, c-format
msgid "Ignoring Xlib error: error code %d request code %d\n"
msgstr ""
-#: ../src/main.c:102
+#: ../src/main.c:105
msgid "Enable debug output"
msgstr ""
-#: ../src/main.c:103
+#: ../src/main.c:106
msgid "Enable verbose output"
msgstr ""
-#: ../src/main.c:104
+#: ../src/main.c:107
msgid "Show version"
msgstr ""
-#: ../src/osm.c:106
+#: ../src/osm.c:99
msgid "On Disk OSM Tile Format"
msgstr ""
-#: ../src/osm.c:121
+#: ../src/osm.c:113
msgid "OSM (view)"
msgstr ""
-#: ../src/osm.c:125
+#: ../src/osm.c:117
msgid "OSM (edit)"
msgstr ""
-#: ../src/osm.c:129
+#: ../src/osm.c:121
msgid "OSM (render)"
msgstr ""
#. Example: http://127.0.0.1:8111/load_and_zoom?left=8.19&right=8.20&top=48.605&bottom=48.590&select=node413602999
#. JOSM or merkaartor must already be running with remote interface enabled
-#: ../src/osm.c:136
+#: ../src/osm.c:128
msgid "Local port 8111 (eg JOSM)"
msgstr ""
-#: ../src/preferences.c:285
+#: ../src/osm.c:134
+msgid "OpenStreetMap Notes"
+msgstr ""
+
+#: ../src/osm.c:138
+msgid "OpenStreetBugs"
+msgstr ""
+
+#. Not really OSM but can't be bothered to create somewhere else to put it...
+#: ../src/osm.c:164
+msgid "Wikimedia Toolserver GeoHack"
+msgstr ""
+
+#: ../src/preferences.c:191
msgid "Preferences"
msgstr ""
-#: ../src/uibuilder.c:147
+#: ../src/viklayer_defaults.c:232
+#, c-format
+msgid "Could not open file: %s"
+msgstr ""
+
+#: ../src/viklayer_defaults.c:303
+msgid "Layer Defaults"
+msgstr ""
+
+#: ../src/uibuilder.c:185
msgid "Take care that this password will be stored clearly in a plain file."
msgstr ""
-#: ../src/vikaggregatelayer.c:37
+#: ../src/vikaggregatelayer.c:42
msgid "Aggregate"
msgstr ""
-#: ../src/vikdemlayer.c:101
+#. VikLayersPanel *vlp = VIK_LAYERS_PANEL(lav[1]);
+#: ../src/vikaggregatelayer.c:484 ../src/viktrwlayer.c:10238
+#, c-format
+msgid "%s: Track and Route List"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:529 ../src/viktrwlayer.c:7354
+#: ../src/viktrwlayer.c:7420 ../src/viktrwlayer.c:7498
+msgid "_Visibility"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:534
+msgid "_Show All"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:540
+msgid "_Hide All"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:546 ../src/viktrwlayer.c:7371
+#: ../src/viktrwlayer.c:7437 ../src/viktrwlayer.c:7515
+msgid "_Toggle"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:553 ../src/viktrwlayer.c:7536
+msgid "_Sort"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:559 ../src/viktrwlayer.c:7542
+msgid "Name _Ascending"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:565 ../src/viktrwlayer.c:7548
+msgid "Name _Descending"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:571 ../src/viktrwlayer.c:7449
+#: ../src/viktrwlayer.c:7527 ../src/viktrwlayer.c:7587
+#: ../src/viktrwlayer_tracklist.c:237
+msgid "_Statistics"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:576 ../src/viktrwlayer.c:3971
+msgid "Track _List..."
+msgstr ""
+
+#: ../src/vikdemlayer.c:92
msgid "Absolute height"
msgstr ""
-#: ../src/vikdemlayer.c:102
+#: ../src/vikdemlayer.c:93
msgid "Height gradient"
msgstr ""
@@ -1046,25 +1268,52 @@ msgstr ""
msgid "DEM"
msgstr ""
-#: ../src/vikdemlayer.c:284
+#: ../src/vikdemlayer.c:287
#, c-format
msgid "Number of files: %d"
msgstr ""
-#: ../src/vikdemlayer.c:385
+#: ../src/vikdemlayer.c:427
msgid "DEM Loading"
msgstr ""
-#: ../src/vikdemlayer.c:889
+#: ../src/vikdemlayer.c:937
#, c-format
msgid "No SRTM data available for %f, %f"
msgstr ""
-#: ../src/vikdemlayer.c:1149
+#. Probably not over any land...
+#: ../src/vikdemlayer.c:1193
+msgid "No DEM File Available"
+msgstr ""
+
+#: ../src/vikdemlayer.c:1212
+#, c-format
+msgid ""
+"\n"
+"Source: %s\n"
+"\n"
+"DEM File: %s\n"
+"DEM File Timestamp: %s"
+msgstr ""
+
+#: ../src/vikdemlayer.c:1216
+#, c-format
+msgid ""
+"Source: %s\n"
+"\n"
+"No DEM File!"
+msgstr ""
+
+#: ../src/vikdemlayer.c:1256
#, c-format
msgid "Downloading DEM %s"
msgstr ""
+#: ../src/vikdemlayer.c:1280
+msgid "_Show DEM File Information"
+msgstr ""
+
#: ../src/vikfileentry.c:68
msgid "Browse..."
msgstr "Gennemse..."
@@ -1085,248 +1334,266 @@ msgstr "Tilføj..."
msgid "Delete"
msgstr "Slet"
-#: ../src/vikgeoreflayer.c:70
+#: ../src/vikgeoreflayer.c:78
msgid "_Georef Move Map"
msgstr ""
-#: ../src/vikgeoreflayer.c:70
+#: ../src/vikgeoreflayer.c:78
msgid "Georef Move Map"
msgstr ""
-#: ../src/vikgeoreflayer.c:77
+#: ../src/vikgeoreflayer.c:85
msgid "Georef Z_oom Tool"
msgstr ""
-#: ../src/vikgeoreflayer.c:77
+#: ../src/vikgeoreflayer.c:85
msgid "Georef Zoom Tool"
msgstr ""
-#: ../src/vikgeoreflayer.c:87
+#: ../src/vikgeoreflayer.c:95
msgid "GeoRef Map"
msgstr ""
-#: ../src/vikgeoreflayer.c:335 ../src/vikmapslayer.c:685
+#: ../src/vikgeoreflayer.c:377 ../src/vikmapslayer.c:720
#, c-format
msgid "Couldn't open image file: %s"
msgstr "Kunne ikke åbne billedfil: %s"
-#: ../src/vikgeoreflayer.c:365
+#: ../src/vikgeoreflayer.c:391
+msgid ""
+"GeoRef map cannot be displayed in the current drawmode.\n"
+"Select \"UTM Mode\" from View menu to view it."
+msgstr ""
+
+#: ../src/vikgeoreflayer.c:415
msgid "Unexpected end of file reading World file."
msgstr ""
-#: ../src/vikgeoreflayer.c:381 ../src/vikgeoreflayer.c:426
+#: ../src/vikgeoreflayer.c:431 ../src/vikgeoreflayer.c:476
msgid "Choose World file"
msgstr "Vælg World fil"
-#: ../src/vikgeoreflayer.c:394
+#: ../src/vikgeoreflayer.c:444
msgid "The World file you requested could not be opened for reading."
msgstr "Den World fil som du valgte kunne ikke åbnes og læses."
-#: ../src/vikgeoreflayer.c:439
+#: ../src/vikgeoreflayer.c:489
msgid "The file you requested could not be opened for writing."
msgstr "Den World fil som du valgte kunne ider ikke skives til."
-#: ../src/vikgeoreflayer.c:456 ../src/viklayer.c:480
+#: ../src/vikgeoreflayer.c:506 ../src/viklayer.c:518
msgid "Layer Properties"
msgstr "Lag-egenskaber"
-#: ../src/vikgeoreflayer.c:478
+#: ../src/vikgeoreflayer.c:528
msgid "World File Parameters:"
msgstr "World fil parametre:"
-#: ../src/vikgeoreflayer.c:479
+#: ../src/vikgeoreflayer.c:529
msgid "Load From File..."
msgstr "Indlæs fra fil..."
-#: ../src/vikgeoreflayer.c:484
+#: ../src/vikgeoreflayer.c:534
msgid "Corner pixel easting:"
msgstr ""
-#: ../src/vikgeoreflayer.c:486
-msgid "the UTM \"easting\" value of the upper-right corner pixel of the map"
+#: ../src/vikgeoreflayer.c:536
+msgid "the UTM \"easting\" value of the upper-left corner pixel of the map"
msgstr ""
-#: ../src/vikgeoreflayer.c:488
+#: ../src/vikgeoreflayer.c:538
msgid "Corner pixel northing:"
msgstr ""
-#: ../src/vikgeoreflayer.c:490
-msgid "the UTM \"northing\" value of the upper-right corner pixel of the map"
+#: ../src/vikgeoreflayer.c:540
+msgid "the UTM \"northing\" value of the upper-left corner pixel of the map"
msgstr ""
-#: ../src/vikgeoreflayer.c:492
+#: ../src/vikgeoreflayer.c:542
msgid "X (easting) scale (mpp): "
msgstr ""
-#: ../src/vikgeoreflayer.c:493
+#: ../src/vikgeoreflayer.c:543
msgid "Y (northing) scale (mpp): "
msgstr ""
-#: ../src/vikgeoreflayer.c:496
+#: ../src/vikgeoreflayer.c:546
msgid "the scale of the map in the X direction (meters per pixel)"
msgstr ""
-#: ../src/vikgeoreflayer.c:498
+#: ../src/vikgeoreflayer.c:548
msgid "the scale of the map in the Y direction (meters per pixel)"
msgstr ""
-#: ../src/vikgeoreflayer.c:500
+#: ../src/vikgeoreflayer.c:550
msgid "Map Image:"
msgstr "Kort billed:"
#. Now with icons
-#: ../src/vikgeoreflayer.c:608
+#: ../src/vikgeoreflayer.c:658
msgid "_Zoom to Fit Map"
msgstr ""
-#: ../src/vikgeoreflayer.c:614
+#: ../src/vikgeoreflayer.c:664
msgid "_Goto Map Center"
msgstr ""
-#: ../src/vikgeoreflayer.c:620
+#: ../src/vikgeoreflayer.c:670
msgid "_Export to World File"
msgstr ""
-#: ../src/vikgoto.c:75
+#: ../src/vikgoto.c:81
msgid "No goto tool available."
msgstr ""
-#: ../src/vikgoto.c:88 ../src/vikgoto.c:107
+#: ../src/vikgoto.c:94 ../src/vikgoto.c:148
msgid "goto"
msgstr ""
-#: ../src/vikgoto.c:90
+#: ../src/vikgoto.c:96
msgid "I don't know that place. Do you want another goto?"
msgstr ""
-#: ../src/vikgoto.c:109
+#: ../src/vikgoto.c:150
msgid "goto provider:"
msgstr ""
-#: ../src/vikgoto.c:124
+#: ../src/vikgoto.c:165
msgid "Enter address or place name:"
msgstr "Angiv adresse eller stedets navn:"
-#: ../src/vikgpslayer.c:127
+#: ../src/vikgoto.c:363
+msgid "Locality"
+msgstr ""
+
+#: ../src/vikgpslayer.c:128
msgid "Data Mode"
msgstr ""
-#: ../src/vikgpslayer.c:129
+#: ../src/vikgpslayer.c:130
msgid "Realtime Tracking Mode"
msgstr ""
-#: ../src/vikgpslayer.c:137
+#: ../src/vikgpslayer.c:167
msgid "Keep vehicle at center"
msgstr ""
-#: ../src/vikgpslayer.c:138
+#: ../src/vikgpslayer.c:168
msgid "Keep vehicle on screen"
msgstr ""
-#: ../src/vikgpslayer.c:139
+#: ../src/vikgpslayer.c:169
msgid "Disable"
msgstr ""
-#: ../src/vikgpslayer.c:152
+#: ../src/vikgpslayer.c:209
msgid "Download Tracks:"
msgstr ""
-#: ../src/vikgpslayer.c:153
+#: ../src/vikgpslayer.c:210
msgid "Upload Tracks:"
msgstr ""
-#: ../src/vikgpslayer.c:154
+#: ../src/vikgpslayer.c:211
msgid "Download Routes:"
msgstr ""
-#: ../src/vikgpslayer.c:155
+#: ../src/vikgpslayer.c:212
msgid "Upload Routes:"
msgstr ""
-#: ../src/vikgpslayer.c:156
+#: ../src/vikgpslayer.c:213
msgid "Download Waypoints:"
msgstr ""
-#: ../src/vikgpslayer.c:157
+#: ../src/vikgpslayer.c:214
msgid "Upload Waypoints:"
msgstr ""
-#: ../src/vikgpslayer.c:159
+#: ../src/vikgpslayer.c:216
msgid "Recording tracks"
msgstr ""
-#: ../src/vikgpslayer.c:160
+#: ../src/vikgpslayer.c:217
msgid "Jump to current position on start"
msgstr ""
-#: ../src/vikgpslayer.c:161
+#: ../src/vikgpslayer.c:218
msgid "Moving Map Method:"
msgstr ""
-#: ../src/vikgpslayer.c:162
+#: ../src/vikgpslayer.c:219
+msgid "Update Statusbar:"
+msgstr ""
+
+#: ../src/vikgpslayer.c:219
+msgid "Display information in the statusbar on GPS updates"
+msgstr ""
+
+#: ../src/vikgpslayer.c:220
msgid "Gpsd Host:"
msgstr ""
-#: ../src/vikgpslayer.c:163
+#: ../src/vikgpslayer.c:221
msgid "Gpsd Port:"
msgstr "Gpsd port:"
-#: ../src/vikgpslayer.c:164
+#: ../src/vikgpslayer.c:222
msgid "Gpsd Retry Interval (seconds):"
msgstr ""
-#: ../src/vikgpslayer.c:179
+#: ../src/vikgpslayer.c:243
msgid "GPS"
msgstr ""
-#: ../src/vikgpslayer.c:242 ../src/vikgpslayer.c:1258
+#: ../src/vikgpslayer.c:306 ../src/vikgpslayer.c:1308
msgid "GPS Download"
msgstr "GPS download"
-#: ../src/vikgpslayer.c:242 ../src/vikgpslayer.c:1258
-#: ../src/viktrwlayer.c:3094
+#: ../src/vikgpslayer.c:306 ../src/vikgpslayer.c:1308
+#: ../src/viktrwlayer.c:3480
msgid "GPS Upload"
msgstr "GPS upload"
-#: ../src/vikgpslayer.c:244
+#: ../src/vikgpslayer.c:308
msgid "GPS Realtime Tracking"
msgstr ""
-#: ../src/vikgpslayer.c:451
+#: ../src/vikgpslayer.c:517
msgid "Unknown GPS Protocol"
msgstr "Ukendt GPS protekol"
-#: ../src/vikgpslayer.c:469
+#: ../src/vikgpslayer.c:535
msgid "Unknown serial port device"
msgstr ""
-#: ../src/vikgpslayer.c:572
+#: ../src/vikgpslayer.c:648
#, c-format
msgid "%s: unknown parameter"
msgstr "%s: ukendt parameter"
#. Now with icons
-#: ../src/vikgpslayer.c:693
+#: ../src/vikgpslayer.c:743
msgid "_Upload to GPS"
msgstr ""
-#: ../src/vikgpslayer.c:699
+#: ../src/vikgpslayer.c:749
msgid "Download from _GPS"
msgstr ""
-#: ../src/vikgpslayer.c:720
+#: ../src/vikgpslayer.c:770
msgid "Empty _Realtime"
msgstr ""
-#: ../src/vikgpslayer.c:727
+#: ../src/vikgpslayer.c:777
msgid "E_mpty Upload"
msgstr ""
-#: ../src/vikgpslayer.c:733
+#: ../src/vikgpslayer.c:783
msgid "_Empty Download"
msgstr ""
-#: ../src/vikgpslayer.c:739
+#: ../src/vikgpslayer.c:789
msgid "Empty _All"
msgstr ""
@@ -1335,234 +1602,232 @@ msgstr ""
#. This happens when copied GPS layer is deleted (not sure why the number_handlers would be 2)
#. I don't think there's any side effects and certainly better than the program just aborting
#.
-#: ../src/vikgpslayer.c:756
+#: ../src/vikgpslayer.c:806
#, c-format
msgid "Unexpected number of disconnected handlers: %d"
msgstr ""
-#: ../src/vikgpslayer.c:898
+#: ../src/vikgpslayer.c:948
#, c-format
msgid "Uploading %d waypoint..."
msgid_plural "Uploading %d waypoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:899
+#: ../src/vikgpslayer.c:949
#, c-format
msgid "Uploading %d trackpoint..."
msgid_plural "Uploading %d trackpoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:900
+#: ../src/vikgpslayer.c:950
#, c-format
msgid "Uploading %d routepoint..."
msgid_plural "Uploading %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:925
+#: ../src/vikgpslayer.c:975
#, c-format
msgid "Downloaded %d out of %d waypoint..."
msgid_plural "Downloaded %d out of %d waypoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:926
+#: ../src/vikgpslayer.c:976
#, c-format
msgid "Downloaded %d out of %d trackpoint..."
msgid_plural "Downloaded %d out of %d trackpoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:927
+#: ../src/vikgpslayer.c:977
#, c-format
msgid "Downloaded %d out of %d routepoint..."
msgid_plural "Downloaded %d out of %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:932
+#: ../src/vikgpslayer.c:982
#, c-format
msgid "Uploaded %d out of %d waypoint..."
msgid_plural "Uploaded %d out of %d waypoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:933
+#: ../src/vikgpslayer.c:983
#, c-format
msgid "Uploaded %d out of %d trackpoint..."
msgid_plural "Uploaded %d out of %d trackpoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:934
+#: ../src/vikgpslayer.c:984
#, c-format
msgid "Uploaded %d out of %d routepoint..."
msgid_plural "Uploaded %d out of %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:942
+#: ../src/vikgpslayer.c:992
#, c-format
msgid "Downloaded %d waypoint"
msgid_plural "Downloaded %d waypoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:943
+#: ../src/vikgpslayer.c:993
#, c-format
msgid "Downloaded %d trackpoint"
msgid_plural "Downloaded %d trackpoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:944
+#: ../src/vikgpslayer.c:994
#, c-format
msgid "Downloaded %d routepoint"
msgid_plural "Downloaded %d routepoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:949
+#: ../src/vikgpslayer.c:999
#, c-format
msgid "Uploaded %d waypoint"
msgid_plural "Uploaded %d waypoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:950
+#: ../src/vikgpslayer.c:1000
#, c-format
msgid "Uploaded %d trackpoint"
msgid_plural "Uploaded %d trackpoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:951
+#: ../src/vikgpslayer.c:1001
#, c-format
msgid "Uploaded %d routepoint"
msgid_plural "Uploaded %d routepoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:1180
+#: ../src/vikgpslayer.c:1230
msgid "Error: couldn't find gpsbabel."
msgstr ""
-#: ../src/vikgpslayer.c:1269
+#: ../src/vikgpslayer.c:1319
msgid "Warning - GPS Upload items may overwrite each other"
msgstr ""
-#: ../src/vikgpslayer.c:1301
+#: ../src/vikgpslayer.c:1351
msgid "Status: detecting gpsbabel"
msgstr ""
-#: ../src/vikgpslayer.c:1332
+#: ../src/vikgpslayer.c:1386
msgid "No GPS items selected for transfer."
msgstr ""
-#: ../src/vikgpslayer.c:1347
+#: ../src/vikgpslayer.c:1401
msgid "Could not turn off device."
msgstr ""
-#: ../src/vikgpslayer.c:1385
+#: ../src/vikgpslayer.c:1439
msgid "Are you sure you want to delete GPS Upload data?"
msgstr ""
-#: ../src/vikgpslayer.c:1398
+#: ../src/vikgpslayer.c:1452
msgid "Are you sure you want to delete GPS Download data?"
msgstr ""
-#: ../src/vikgpslayer.c:1412
+#: ../src/vikgpslayer.c:1466
msgid "Are you sure you want to delete GPS Realtime data?"
msgstr ""
-#: ../src/vikgpslayer.c:1425
+#: ../src/vikgpslayer.c:1479
msgid "Are you sure you want to delete All GPS data?"
msgstr ""
-#: ../src/viklayerspanel.c:55
-msgid "/C_ut"
+#: ../src/viklayerspanel.c:53
+msgid "C_ut"
msgstr ""
-#: ../src/viklayerspanel.c:56
-msgid "/_Copy"
-msgstr ""
+#: ../src/viklayerspanel.c:54 ../src/vikwindow.c:3753
+msgid "_Copy"
+msgstr "_Kopiér"
-#: ../src/viklayerspanel.c:57
-msgid "/_Paste"
-msgstr ""
+#: ../src/viklayerspanel.c:55 ../src/vikwindow.c:3754
+msgid "_Paste"
+msgstr "_Sæt ind"
-#: ../src/viklayerspanel.c:58
-msgid "/_Delete"
-msgstr "/_Slet"
+#: ../src/viklayerspanel.c:56 ../src/vikwindow.c:3755
+msgid "_Delete"
+msgstr "_Slet"
-#: ../src/viklayerspanel.c:59
-msgid "/New Layer"
-msgstr "/Nyt lag"
+#: ../src/viklayerspanel.c:133
+msgid "New Layer"
+msgstr ""
-#: ../src/viklayerspanel.c:127
+#: ../src/viklayerspanel.c:178
msgid "Top Layer"
msgstr "Øverste lag"
-#: ../src/viklayerspanel.c:143
+#: ../src/viklayerspanel.c:194
msgid "Add new layer"
msgstr ""
-#: ../src/viklayerspanel.c:150
+#: ../src/viklayerspanel.c:201
msgid "Remove selected layer"
msgstr ""
-#: ../src/viklayerspanel.c:157
+#: ../src/viklayerspanel.c:208
msgid "Move selected layer up"
msgstr ""
-#: ../src/viklayerspanel.c:164
+#: ../src/viklayerspanel.c:215
msgid "Move selected layer down"
msgstr ""
-#: ../src/viklayerspanel.c:171
+#: ../src/viklayerspanel.c:222
msgid "Cut selected layer"
msgstr ""
-#: ../src/viklayerspanel.c:178
+#: ../src/viklayerspanel.c:229
msgid "Copy selected layer"
msgstr ""
-#: ../src/viklayerspanel.c:185
-msgid "Paste layer below selected layer"
+#: ../src/viklayerspanel.c:236
+msgid ""
+"Paste layer into selected container layer or otherwise above selected layer"
msgstr ""
-#. TODO: FIXME: if name has a '/' in it it will get all messed up. why not have an itemfactory field with
-#. name, icon, shortcut, etc.?
-#: ../src/viklayerspanel.c:204 ../src/vikwindow.c:3292
-#, c-format
-msgid "New _%s Layer"
+#: ../src/viklayerspanel.c:300
+msgid "New name can not be blank."
msgstr ""
-#: ../src/viklayerspanel.c:511
+#: ../src/viklayerspanel.c:544
msgid "Aggregate Layers have no settable properties."
msgstr ""
-#: ../src/viklayerspanel.c:555
+#: ../src/viklayerspanel.c:588
msgid "You cannot cut the Top Layer."
msgstr ""
-#: ../src/viklayerspanel.c:600
+#: ../src/viklayerspanel.c:633
#, c-format
msgid "Are you sure you want to delete %s?"
msgstr ""
-#: ../src/viklayerspanel.c:617
+#: ../src/viklayerspanel.c:650
msgid "You cannot delete the Top Layer."
msgstr "Du kan ikke slette øverste lag"
-#: ../src/viklayerspanel.c:701
+#: ../src/viklayerspanel.c:734
msgid "Are you sure you wish to delete all layers?"
msgstr "er du sikker på at du vil slette alle lag?"
#. ******* MAPZOOMS ********
-#: ../src/vikmapslayer.c:91
+#: ../src/vikmapslayer.c:80
msgid "Use Viking Zoom Level"
msgstr ""
@@ -1609,69 +1874,69 @@ msgid ""
"actual zoom level."
msgstr ""
-#: ../src/vikmapslayer.c:146
+#: ../src/vikmapslayer.c:156
msgid "_Maps Download"
msgstr ""
-#: ../src/vikmapslayer.c:146
+#: ../src/vikmapslayer.c:156
msgid "Maps Download"
msgstr "Kort downloaded"
-#: ../src/vikmapslayer.c:161
+#: ../src/vikmapslayer.c:171
msgid "Map"
msgstr "Kort"
-#: ../src/vikmapslayer.c:249
-msgid "Default maplayer directory:"
+#: ../src/vikmapslayer.c:259
+msgid "Default map layer directory:"
msgstr ""
-#: ../src/vikmapslayer.c:249
+#: ../src/vikmapslayer.c:259
msgid "Choose a directory to store cached Map tiles for this layer"
msgstr ""
-#: ../src/vikmapslayer.c:505
+#: ../src/vikmapslayer.c:523
msgid "Unknown map type"
msgstr "Ukendt korttype"
-#: ../src/vikmapslayer.c:516
+#: ../src/vikmapslayer.c:534
msgid "Unknown Map Zoom"
msgstr "Ukendt kort zoom"
-#: ../src/vikmapslayer.c:589
+#: ../src/vikmapslayer.c:624
#, c-format
msgid ""
"New map cannot be displayed in the current drawmode.\n"
"Select \"%s\" from View menu to view it."
msgstr ""
-#: ../src/vikmapslayer.c:753
+#: ../src/vikmapslayer.c:798
#, c-format
msgid ""
"Cowardly refusing to draw tiles or existence of tiles beyond %d zoom out "
"factor"
msgstr ""
-#: ../src/vikmapslayer.c:1157
+#: ../src/vikmapslayer.c:1210
#, c-format
msgid "Redownloading up to %d %s map..."
msgid_plural "Redownloading up to %d %s maps..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikmapslayer.c:1159
+#: ../src/vikmapslayer.c:1212
#, c-format
msgid "Redownloading %d %s map..."
msgid_plural "Redownloading %d %s maps..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikmapslayer.c:1163 ../src/vikmapslayer.c:1238
+#: ../src/vikmapslayer.c:1216 ../src/vikmapslayer.c:1290
#, c-format
msgid "Downloading %d %s map..."
msgid_plural "Downloading %d %s maps..."
msgstr[0] "Downloader %d %s kort..."
-#: ../src/vikmapslayer.c:1311
+#: ../src/vikmapslayer.c:1376
#, c-format
msgid ""
"\n"
@@ -1681,7 +1946,7 @@ msgid ""
"Tile File Timestamp: %s"
msgstr ""
-#: ../src/vikmapslayer.c:1318
+#: ../src/vikmapslayer.c:1380
#, c-format
msgid ""
"Source: %s\n"
@@ -1689,1458 +1954,2035 @@ msgid ""
"No Tile File!"
msgstr ""
-#: ../src/vikmapslayer.c:1356
+#: ../src/vikmapslayer.c:1418
msgid "Redownload _Bad Map(s)"
msgstr ""
-#: ../src/vikmapslayer.c:1360
+#: ../src/vikmapslayer.c:1422
msgid "Redownload _New Map(s)"
msgstr ""
-#: ../src/vikmapslayer.c:1364
+#: ../src/vikmapslayer.c:1426
msgid "Redownload _All Map(s)"
msgstr ""
-#: ../src/vikmapslayer.c:1368
+#: ../src/vikmapslayer.c:1430
msgid "_Show Tile Information"
msgstr ""
-#: ../src/vikmapslayer.c:1449
+#: ../src/vikmapslayer.c:1511
#, c-format
msgid ""
"Wrong drawmode for this map.\n"
"Select \"%s\" from View menu and try again."
msgstr ""
-#: ../src/vikmapslayer.c:1454
+#: ../src/vikmapslayer.c:1516
msgid "Wrong zoom level for this map."
msgstr "Forkert zoom niveau for dette kort."
+#: ../src/vikmapslayer.c:1647
+msgid "Zoom Start:"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1654
+msgid "Zoom End:"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1660
+msgid "Download Maps Method:"
+msgstr ""
+
+#. redownload method - needs to align with REDOWNLOAD* macro values
+#: ../src/vikmapslayer.c:1732
+msgid "Missing"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1732
+msgid "Bad"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1732
+msgid "New"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1732
+msgid "Reload All"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1734
+msgid "Download for Zoom Levels"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1774
+#, c-format
+msgid ""
+"You are not allowed to download more than %d tiles in one go (requested %d)"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1782
+#, c-format
+msgid "Do you really want to download %d tiles?"
+msgstr ""
+
#. Now with icons
-#: ../src/vikmapslayer.c:1485
+#: ../src/vikmapslayer.c:1807
msgid "Download _Missing Onscreen Maps"
msgstr ""
-#: ../src/vikmapslayer.c:1492
+#: ../src/vikmapslayer.c:1814
msgid "Download _New Onscreen Maps"
msgstr ""
-#: ../src/vikmapslayer.c:1499
+#: ../src/vikmapslayer.c:1821
msgid "Reload _All Onscreen Maps"
msgstr ""
-#: ../src/viktreeview.c:263
+#: ../src/vikmapslayer.c:1827
+msgid "Download Maps in _Zoom Levels..."
+msgstr ""
+
+#: ../src/vikrouting.c:54
+msgid "Default engine:"
+msgstr ""
+
+#: ../src/viktreeview.c:316
msgid "Layer Name"
msgstr "Navn på lag"
-#: ../src/viktreeview.c:742
+#: ../src/viktreeview.c:851
#, c-format
msgid "delete data from %s\n"
msgstr "slet data fra %s\n"
-#: ../src/viktrwlayer.c:377
+#: ../src/viktrwlayer.c:398
msgid "Create _Waypoint"
msgstr ""
-#: ../src/viktrwlayer.c:377
+#: ../src/viktrwlayer.c:398
msgid "Create Waypoint"
msgstr ""
-#: ../src/viktrwlayer.c:383
+#: ../src/viktrwlayer.c:404
msgid "Create _Track"
msgstr ""
-#: ../src/viktrwlayer.c:383
+#: ../src/viktrwlayer.c:404
msgid "Create Track"
msgstr ""
-#: ../src/viktrwlayer.c:392
+#: ../src/viktrwlayer.c:413
msgid "Create _Route"
msgstr ""
-#: ../src/viktrwlayer.c:392
+#: ../src/viktrwlayer.c:413
msgid "Create Route"
msgstr ""
-#: ../src/viktrwlayer.c:401
+#: ../src/viktrwlayer.c:422
msgid "_Edit Waypoint"
msgstr ""
-#: ../src/viktrwlayer.c:401
+#: ../src/viktrwlayer.c:422
msgid "Edit Waypoint"
msgstr ""
-#: ../src/viktrwlayer.c:409
+#: ../src/viktrwlayer.c:432
msgid "Edit Trac_kpoint"
msgstr ""
-#: ../src/viktrwlayer.c:409
+#: ../src/viktrwlayer.c:432
msgid "Edit Trackpoint"
msgstr ""
-#: ../src/viktrwlayer.c:417
+#: ../src/viktrwlayer.c:442
msgid "Show P_icture"
msgstr ""
-#: ../src/viktrwlayer.c:417
+#: ../src/viktrwlayer.c:442
msgid "Show Picture"
msgstr "Vis billed"
-#: ../src/viktrwlayer.c:424
+#: ../src/viktrwlayer.c:448
msgid "Route _Finder"
msgstr ""
-#: ../src/viktrwlayer.c:424
+#: ../src/viktrwlayer.c:448
msgid "Route Finder"
msgstr ""
#. ***** PARAMETERS *****
-#: ../src/viktrwlayer.c:447 ../src/viktrwlayer.c:1942
-#: ../src/viktrwlayer.c:1944
+#: ../src/viktrwlayer.c:468 ../src/viktrwlayer.c:2324
msgid "Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:447 ../src/viktrwlayer.c:1933
-#: ../src/viktrwlayer.c:1935
+#: ../src/viktrwlayer.c:468 ../src/viktrwlayer.c:2319
msgid "Tracks"
msgstr "Spor"
-#: ../src/viktrwlayer.c:447
+#: ../src/viktrwlayer.c:468
msgid "Waypoint Images"
msgstr ""
-#: ../src/viktrwlayer.c:450
+#: ../src/viktrwlayer.c:468
+msgid "Tracks Advanced"
+msgstr ""
+
+#: ../src/viktrwlayer.c:471
msgid "Draw by Track"
msgstr ""
-#: ../src/viktrwlayer.c:450
+#: ../src/viktrwlayer.c:471
msgid "Draw by Speed"
msgstr ""
-#: ../src/viktrwlayer.c:450
+#: ../src/viktrwlayer.c:471
msgid "All Tracks Same Color"
msgstr ""
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "Filled Square"
msgstr ""
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "Square"
msgstr "Kvadrat"
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "Circle"
msgstr "Cirkel"
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "X"
msgstr "X"
-#: ../src/viktrwlayer.c:477
+#: ../src/viktrwlayer.c:498
msgid "Extra Extra Small"
msgstr ""
-#: ../src/viktrwlayer.c:478
+#: ../src/viktrwlayer.c:499
msgid "Extra Small"
msgstr ""
-#: ../src/viktrwlayer.c:479
+#: ../src/viktrwlayer.c:500
msgid "Small"
msgstr ""
-#: ../src/viktrwlayer.c:480
+#: ../src/viktrwlayer.c:501
msgid "Medium"
msgstr ""
-#: ../src/viktrwlayer.c:481
+#: ../src/viktrwlayer.c:502
msgid "Large"
msgstr ""
-#: ../src/viktrwlayer.c:482
+#: ../src/viktrwlayer.c:503
msgid "Extra Large"
msgstr ""
-#: ../src/viktrwlayer.c:483
+#: ../src/viktrwlayer.c:504
msgid "Extra Extra Large"
msgstr ""
-#: ../src/viktrwlayer.c:491
+#: ../src/viktrwlayer.c:510
+msgid "Name Ascending"
+msgstr ""
+
+#: ../src/viktrwlayer.c:511
+msgid "Name Descending"
+msgstr ""
+
+#: ../src/viktrwlayer.c:552 ../src/viktrwlayer.c:576
+msgid "Draw Labels"
+msgstr ""
+
+#: ../src/viktrwlayer.c:553
+msgid "Note: the individual track controls what labels may be displayed"
+msgstr ""
+
+#: ../src/viktrwlayer.c:554
+msgid "Track Labels Font Size:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:555
msgid "Track Drawing Mode:"
msgstr ""
-#: ../src/viktrwlayer.c:492
+#: ../src/viktrwlayer.c:556
msgid "All Tracks Color:"
msgstr ""
-#: ../src/viktrwlayer.c:493
+#: ../src/viktrwlayer.c:557
msgid "The color used when 'All Tracks Same Color' drawing mode is selected"
msgstr ""
-#: ../src/viktrwlayer.c:494
+#: ../src/viktrwlayer.c:558
msgid "Draw Track Lines"
msgstr ""
-#: ../src/viktrwlayer.c:495
+#: ../src/viktrwlayer.c:559
msgid "Track Thickness:"
msgstr "Spor tykkelse:"
-#: ../src/viktrwlayer.c:496
+#: ../src/viktrwlayer.c:560
msgid "Draw Track Direction"
msgstr ""
-#: ../src/viktrwlayer.c:497
+#: ../src/viktrwlayer.c:561
msgid "Direction Size:"
msgstr ""
-#: ../src/viktrwlayer.c:498
+#: ../src/viktrwlayer.c:562
msgid "Draw Trackpoints"
msgstr ""
-#: ../src/viktrwlayer.c:499
+#: ../src/viktrwlayer.c:563
msgid "Trackpoint Size:"
msgstr ""
-#: ../src/viktrwlayer.c:500
+#: ../src/viktrwlayer.c:564
msgid "Draw Elevation"
msgstr ""
-#: ../src/viktrwlayer.c:501
+#: ../src/viktrwlayer.c:565
msgid "Draw Elevation Height %:"
msgstr ""
-#: ../src/viktrwlayer.c:503
+#: ../src/viktrwlayer.c:566
msgid "Draw Stops"
msgstr ""
-#: ../src/viktrwlayer.c:504
+#: ../src/viktrwlayer.c:567
msgid ""
"Whether to draw a marker when trackpoints are at the same position but over "
"the minimum stop length apart in time"
msgstr ""
-#: ../src/viktrwlayer.c:505
+#: ../src/viktrwlayer.c:568
msgid "Min Stop Length (seconds):"
msgstr ""
-#: ../src/viktrwlayer.c:507
+#: ../src/viktrwlayer.c:570
msgid "Track BG Thickness:"
msgstr ""
-#: ../src/viktrwlayer.c:508
+#: ../src/viktrwlayer.c:571
msgid "Track Background Color"
msgstr "Spor baggrundsfarve"
-#: ../src/viktrwlayer.c:509
+#: ../src/viktrwlayer.c:572
msgid "Draw by Speed Factor (%):"
msgstr ""
-#: ../src/viktrwlayer.c:510
+#: ../src/viktrwlayer.c:573
msgid ""
"The percentage factor away from the average speed determining the color used"
msgstr ""
-#: ../src/viktrwlayer.c:512
-msgid "Draw Labels"
+#: ../src/viktrwlayer.c:574
+msgid "Track Sort Order:"
msgstr ""
-#: ../src/viktrwlayer.c:513
+#: ../src/viktrwlayer.c:577
msgid "Waypoint Font Size:"
msgstr ""
-#: ../src/viktrwlayer.c:514
+#: ../src/viktrwlayer.c:578
msgid "Waypoint Color:"
msgstr ""
-#: ../src/viktrwlayer.c:515
+#: ../src/viktrwlayer.c:579
msgid "Waypoint Text:"
msgstr ""
-#: ../src/viktrwlayer.c:516
+#: ../src/viktrwlayer.c:580
msgid "Background:"
msgstr "Baggrund:"
-#: ../src/viktrwlayer.c:517
+#: ../src/viktrwlayer.c:581
msgid "Fake BG Color Translucency:"
msgstr ""
-#: ../src/viktrwlayer.c:518
+#: ../src/viktrwlayer.c:582
msgid "Waypoint marker:"
msgstr ""
-#: ../src/viktrwlayer.c:519
+#: ../src/viktrwlayer.c:583
msgid "Waypoint size:"
msgstr ""
-#: ../src/viktrwlayer.c:520
+#: ../src/viktrwlayer.c:584
msgid "Draw Waypoint Symbols:"
msgstr ""
-#: ../src/viktrwlayer.c:522
+#: ../src/viktrwlayer.c:585
+msgid "Waypoint Sort Order:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:587
msgid "Draw Waypoint Images"
msgstr ""
-#: ../src/viktrwlayer.c:523
+#: ../src/viktrwlayer.c:588
msgid "Image Size (pixels):"
msgstr "Billed størrelse (pixels):Alfa billed:"
-#: ../src/viktrwlayer.c:524
+#: ../src/viktrwlayer.c:589
msgid "Image Alpha:"
msgstr ""
-#: ../src/viktrwlayer.c:525
+#: ../src/viktrwlayer.c:590
msgid "Image Memory Cache Size:"
msgstr ""
-#: ../src/viktrwlayer.c:610
+#: ../src/viktrwlayer.c:678
msgid "TrackWaypoint"
msgstr ""
-#: ../src/viktrwlayer.c:1951 ../src/viktrwlayer.c:1953
+#: ../src/viktrwlayer.c:1534 ../src/vikutils.c:204
+msgid "miles"
+msgstr ""
+
+#. VIK_UNITS_DISTANCE_KILOMETRES:
+#: ../src/viktrwlayer.c:1538 ../src/vikutils.c:209
+msgid "km"
+msgstr ""
+
+#: ../src/viktrwlayer.c:1648
+msgid "start/end"
+msgstr ""
+
+#: ../src/viktrwlayer.c:1660
+msgid "start"
+msgstr ""
+
+#: ../src/viktrwlayer.c:1669
+msgid "end"
+msgstr ""
+
+#: ../src/viktrwlayer.c:2329
msgid "Routes"
msgstr ""
-#: ../src/viktrwlayer.c:2144
+#: ../src/viktrwlayer.c:2519
#, c-format
msgid " in %d:%02d hrs:mins"
msgstr ""
-#: ../src/viktrwlayer.c:2148
+#: ../src/viktrwlayer.c:2523
#, c-format
msgid ""
"\n"
"%sTotal Length %.1f %s%s"
msgstr ""
-#: ../src/viktrwlayer.c:2154
+#: ../src/viktrwlayer.c:2529
#, c-format
msgid "Tracks: %d - Waypoints: %d - Routes: %d%s"
msgstr ""
-#: ../src/viktrwlayer.c:2174
+#: ../src/viktrwlayer.c:2549
#, c-format
msgid "Tracks: %d"
msgstr ""
-#: ../src/viktrwlayer.c:2184
+#: ../src/viktrwlayer.c:2559
#, c-format
msgid "Routes: %d"
msgstr ""
-#: ../src/viktrwlayer.c:2215
+#: ../src/viktrwlayer.c:2590
#, c-format
msgid "- %d:%02d hrs:mins"
msgstr ""
-#: ../src/viktrwlayer.c:2223
+#: ../src/viktrwlayer.c:2598
#, c-format
msgid "%s%.1f km %s"
msgstr ""
-#: ../src/viktrwlayer.c:2226
+#: ../src/viktrwlayer.c:2601
#, c-format
msgid "%s%.1f miles %s"
msgstr ""
-#: ../src/viktrwlayer.c:2240
+#: ../src/viktrwlayer.c:2615
#, c-format
msgid "Waypoints: %d"
msgstr ""
-#: ../src/viktrwlayer.c:2266
-#, c-format
-msgid "Trkpt: Alt %dft"
-msgstr ""
-
-#. VIK_UNITS_HEIGHT_METRES:
-#: ../src/viktrwlayer.c:2270
-#, c-format
-msgid "Trkpt: Alt %dm"
-msgstr ""
-
-#. Compact date time format
-#: ../src/viktrwlayer.c:2277
-#, c-format
-msgid " | Time %x %X"
-msgstr ""
-
-#: ../src/viktrwlayer.c:2295
-#, c-format
-msgid " | Track: %s"
-msgstr ""
-
-#. Combine parts to make overall message
-#: ../src/viktrwlayer.c:2299
-#, c-format
-msgid "%s%s | %s %s %s"
-msgstr ""
-
-#: ../src/viktrwlayer.c:2314
+#: ../src/viktrwlayer.c:2671
#, c-format
msgid "Wpt: Alt %dft"
msgstr ""
#. VIK_UNITS_HEIGHT_METRES:
-#: ../src/viktrwlayer.c:2318
+#: ../src/viktrwlayer.c:2675
#, c-format
msgid "Wpt: Alt %dm"
msgstr ""
#. Add comment if available
-#: ../src/viktrwlayer.c:2333
+#: ../src/viktrwlayer.c:2690
#, c-format
msgid "%s | %s %s | Comment: %s"
msgstr ""
-#: ../src/viktrwlayer.c:2335
+#: ../src/viktrwlayer.c:2692
#, c-format
msgid "%s | %s %s"
msgstr ""
-#: ../src/viktrwlayer.c:2563 ../src/viktrwlayer.c:2634
+#: ../src/viktrwlayer.c:2939 ../src/viktrwlayer.c:3010
msgid "This layer has no waypoints or trackpoints."
msgstr ""
-#: ../src/viktrwlayer.c:2661 ../src/vikwindow.c:2407 ../src/vikwindow.c:2848
+#: ../src/viktrwlayer.c:3045 ../src/vikwindow.c:2754 ../src/vikwindow.c:3407
#, c-format
msgid "The file \"%s\" exists, do you wish to overwrite it?"
msgstr "Filen \"%s\" eksisterer, ønsker du at overskrive den?"
-#: ../src/viktrwlayer.c:2671 ../src/vikwindow.c:2429
+#: ../src/viktrwlayer.c:3057 ../src/vikwindow.c:2778
msgid "The filename you requested could not be opened for writing."
msgstr "Filnavnet du anmodede om kunne ikke åbnes til skrivning."
-#: ../src/viktrwlayer.c:2676 ../src/viktrwlayer.c:2681
-#: ../src/viktrwlayer.c:2691 ../src/viktrwlayer.c:2703
+#: ../src/viktrwlayer.c:3062 ../src/viktrwlayer.c:3067
+#: ../src/viktrwlayer.c:3077 ../src/viktrwlayer.c:3089
msgid "Export Layer"
msgstr "Eksportér lag"
-#: ../src/viktrwlayer.c:2720
+#: ../src/viktrwlayer.c:3108
msgid "Could not create temporary file for export."
msgstr ""
-#: ../src/viktrwlayer.c:2729
+#: ../src/viktrwlayer.c:3117
#, c-format
msgid "Could not launch %s."
msgstr ""
-#: ../src/viktrwlayer.c:2773
+#: ../src/viktrwlayer.c:3161
msgid "Export Track as GPX"
msgstr ""
-#: ../src/viktrwlayer.c:2795
+#: ../src/viktrwlayer.c:3183
msgid "Find"
msgstr ""
-#: ../src/viktrwlayer.c:2805
+#: ../src/viktrwlayer.c:3193
msgid "Waypoint Name:"
msgstr ""
-#: ../src/viktrwlayer.c:2822
+#: ../src/viktrwlayer.c:3210
msgid "Waypoint not found in this layer."
msgstr ""
-#: ../src/viktrwlayer.c:3090
+#: ../src/viktrwlayer.c:3476
msgid "Can not upload invisible track."
msgstr ""
-#: ../src/viktrwlayer.c:3192 ../src/viktrwlayer.c:7785
+#: ../src/viktrwlayer.c:3581 ../src/viktrwlayer.c:9283
msgid "Track"
msgstr ""
-#: ../src/viktrwlayer.c:3215 ../src/viktrwlayer.c:7817
+#: ../src/viktrwlayer.c:3606 ../src/viktrwlayer.c:9316
msgid "Route"
msgstr ""
-#: ../src/viktrwlayer.c:3296 ../src/viktrwlayer.c:6265
-#: ../src/viktrwlayer.c:6314
+#: ../src/viktrwlayer.c:3691 ../src/viktrwlayer.c:7460
+#: ../src/viktrwlayer.c:7566
msgid "_Finish Route"
msgstr ""
-#: ../src/viktrwlayer.c:3298 ../src/viktrwlayer.c:6223
-#: ../src/viktrwlayer.c:6312
+#: ../src/viktrwlayer.c:3693 ../src/viktrwlayer.c:7383
+#: ../src/viktrwlayer.c:7564
msgid "_Finish Track"
msgstr ""
#. Now with icons
-#: ../src/viktrwlayer.c:3310
+#: ../src/viktrwlayer.c:3705
msgid "_View Layer"
msgstr ""
-#: ../src/viktrwlayer.c:3317
+#: ../src/viktrwlayer.c:3712
msgid "V_iew"
msgstr ""
-#: ../src/viktrwlayer.c:3323
+#: ../src/viktrwlayer.c:3718
msgid "View All _Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:3328
+#: ../src/viktrwlayer.c:3723
msgid "View All _Routes"
msgstr ""
-#: ../src/viktrwlayer.c:3333
+#: ../src/viktrwlayer.c:3728
msgid "View All _Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:3338
+#: ../src/viktrwlayer.c:3733
msgid "_Goto Center of Layer"
msgstr ""
-#: ../src/viktrwlayer.c:3344 ../src/viktrwlayer.c:6199
+#: ../src/viktrwlayer.c:3739 ../src/viktrwlayer.c:7335
msgid "Goto _Waypoint..."
msgstr ""
-#: ../src/viktrwlayer.c:3350
+#: ../src/viktrwlayer.c:3745
msgid "_Export Layer"
msgstr ""
-#: ../src/viktrwlayer.c:3356
+#: ../src/viktrwlayer.c:3751
msgid "Export as GPS_Point..."
msgstr ""
-#: ../src/viktrwlayer.c:3361
+#: ../src/viktrwlayer.c:3756
msgid "Export as GPS_Mapper..."
msgstr ""
-#: ../src/viktrwlayer.c:3366
+#: ../src/viktrwlayer.c:3761
msgid "Export as _GPX..."
msgstr ""
-#: ../src/viktrwlayer.c:3371
+#: ../src/viktrwlayer.c:3766
msgid "Export as _KML..."
msgstr ""
-#: ../src/viktrwlayer.c:3376
+#: ../src/viktrwlayer.c:3771
msgid "Open with External Program_1: "
msgstr ""
-#: ../src/viktrwlayer.c:3383
+#: ../src/viktrwlayer.c:3778
msgid "Open with External Program_2: "
msgstr ""
-#: ../src/viktrwlayer.c:3391 ../src/vikwindow.c:3145
+#: ../src/viktrwlayer.c:3786 ../src/vikwindow.c:3704
msgid "_New"
msgstr "_Ny"
-#: ../src/viktrwlayer.c:3397
+#: ../src/viktrwlayer.c:3792
msgid "New _Waypoint..."
msgstr ""
-#: ../src/viktrwlayer.c:3403
+#: ../src/viktrwlayer.c:3798
msgid "New _Track"
msgstr ""
-#: ../src/viktrwlayer.c:3411
+#: ../src/viktrwlayer.c:3806
msgid "New _Route"
msgstr ""
-#: ../src/viktrwlayer.c:3420 ../src/viktrwlayer.c:6597
+#: ../src/viktrwlayer.c:3815 ../src/viktrwlayer.c:7938
msgid "Geotag _Images..."
msgstr ""
-#: ../src/viktrwlayer.c:3427
+#: ../src/viktrwlayer.c:3822
msgid "_Acquire"
msgstr ""
-#: ../src/viktrwlayer.c:3433 ../src/vikwindow.c:3150
+#: ../src/viktrwlayer.c:3828 ../src/vikwindow.c:3711
msgid "From _GPS..."
msgstr "Fra _GPS..."
-#: ../src/viktrwlayer.c:3439
-msgid "From Google _Directions..."
+#. FIXME: only add menu when at least a routing engine has support for Directions
+#: ../src/viktrwlayer.c:3834
+msgid "From _Directions..."
msgstr ""
-#: ../src/viktrwlayer.c:3446
+#: ../src/viktrwlayer.c:3840
msgid "From _OSM Traces..."
msgstr ""
-#: ../src/viktrwlayer.c:3451
+#: ../src/viktrwlayer.c:3845
msgid "From _My OSM Traces..."
msgstr ""
-#: ../src/viktrwlayer.c:3459 ../src/vikwindow.c:3166
+#: ../src/viktrwlayer.c:3853 ../src/vikwindow.c:3725
msgid "From _Wikipedia Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:3465
+#: ../src/viktrwlayer.c:3859
msgid "Within _Layer Bounds"
msgstr ""
-#: ../src/viktrwlayer.c:3471
+#: ../src/viktrwlayer.c:3865
msgid "Within _Current View"
msgstr ""
-#: ../src/viktrwlayer.c:3479
+#: ../src/viktrwlayer.c:3873
msgid "From Geo_caching..."
msgstr ""
-#: ../src/viktrwlayer.c:3486 ../src/vikwindow.c:3163
+#: ../src/viktrwlayer.c:3880 ../src/vikwindow.c:3722
msgid "From Geotagged _Images..."
msgstr ""
-#: ../src/viktrwlayer.c:3492
+#: ../src/viktrwlayer.c:3886
msgid "From _File..."
msgstr ""
-#: ../src/viktrwlayer.c:3498 ../src/viktrwlayer.c:6542
+#: ../src/viktrwlayer.c:3894 ../src/viktrwlayer.c:7883
msgid "_Upload"
msgstr ""
-#: ../src/viktrwlayer.c:3504
+#: ../src/viktrwlayer.c:3900
msgid "Upload to _GPS..."
msgstr ""
-#: ../src/viktrwlayer.c:3511 ../src/viktrwlayer.c:6570
+#: ../src/viktrwlayer.c:3907 ../src/viktrwlayer.c:7911
msgid "Upload to _OSM..."
msgstr ""
-#: ../src/viktrwlayer.c:3519
+#: ../src/viktrwlayer.c:3915
msgid "De_lete"
msgstr ""
-#: ../src/viktrwlayer.c:3525
+#: ../src/viktrwlayer.c:3921
msgid "Delete All _Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:3531
+#: ../src/viktrwlayer.c:3927
msgid "Delete Tracks _From Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:3537 ../src/viktrwlayer.c:6290
+#: ../src/viktrwlayer.c:3933 ../src/viktrwlayer.c:7485
msgid "Delete _All Routes"
msgstr ""
-#: ../src/viktrwlayer.c:3543 ../src/viktrwlayer.c:6296
+#: ../src/viktrwlayer.c:3939 ../src/viktrwlayer.c:7491
msgid "_Delete Routes From Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:3549
+#: ../src/viktrwlayer.c:3945
msgid "Delete All _Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:3555
+#: ../src/viktrwlayer.c:3951
msgid "Delete Waypoints From _Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:4128
+#: ../src/viktrwlayer.c:4574
#, c-format
msgid "Are you sure you want to delete all tracks in %s?"
msgstr ""
-#: ../src/viktrwlayer.c:4138
+#: ../src/viktrwlayer.c:4584
#, c-format
msgid "Are you sure you want to delete all routes in %s?"
msgstr ""
-#: ../src/viktrwlayer.c:4148
+#: ../src/viktrwlayer.c:4594
#, c-format
msgid "Are you sure you want to delete all waypoints in %s?"
msgstr ""
-#: ../src/viktrwlayer.c:4165
+#: ../src/viktrwlayer.c:4611
#, c-format
-msgid "Are you sure you want to delete the waypoint \"%s\""
+msgid "Are you sure you want to delete the waypoint \"%s\"?"
msgstr ""
-#: ../src/viktrwlayer.c:4178
+#: ../src/viktrwlayer.c:4624
#, c-format
-msgid "Are you sure you want to delete the track \"%s\""
+msgid "Are you sure you want to delete the track \"%s\"?"
msgstr ""
-#: ../src/viktrwlayer.c:4191
+#: ../src/viktrwlayer.c:4637
#, c-format
-msgid "Are you sure you want to delete the route \"%s\""
+msgid "Are you sure you want to delete the route \"%s\"?"
msgstr ""
-#: ../src/viktrwlayer.c:4351 ../src/viktrwlayer.c:4922
+#: ../src/viktrwlayer.c:4849 ../src/viktrwlayer.c:5677
msgid ""
"Converting a track to a route removes extra track data such as segments, "
"timestamps, etc...\n"
"Do you want to continue?"
msgstr ""
-#: ../src/viktrwlayer.c:4711
+#: ../src/viktrwlayer.c:4944
+msgid "No DEM layers available, thus no DEM values can be applied."
+msgstr ""
+
+#: ../src/viktrwlayer.c:4964 ../src/viktrwlayer.c:5005
+#, c-format
+msgid "%ld point adjusted"
+msgid_plural "%ld points adjusted"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/viktrwlayer.c:5049
+#, c-format
+msgid "%ld waypoint changed"
+msgid_plural "%ld waypoints changed"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/viktrwlayer.c:5233
+#, c-format
+msgid ""
+"Refining a track with many points (%d) is unlikely to yield sensible "
+"results. Do you want to Continue?"
+msgstr ""
+
+#. Select engine from dialog
+#: ../src/viktrwlayer.c:5241
+msgid "Refine Route with Routing Engine..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:5249
+msgid "Select routing engine"
+msgstr ""
+
+#: ../src/viktrwlayer.c:5467
msgid "Failed. No other tracks with timestamps in this layer found"
msgstr ""
-#: ../src/viktrwlayer.c:4713
+#: ../src/viktrwlayer.c:5469
msgid "Failed. No other tracks without timestamps in this layer found"
msgstr ""
-#: ../src/viktrwlayer.c:4732
+#: ../src/viktrwlayer.c:5488
msgid "Merge with..."
msgstr ""
-#: ../src/viktrwlayer.c:4733
+#: ../src/viktrwlayer.c:5489
msgid "Select route to merge with"
msgstr ""
-#: ../src/viktrwlayer.c:4733
+#: ../src/viktrwlayer.c:5489
msgid "Select track to merge with"
msgstr ""
-#: ../src/viktrwlayer.c:4818 ../src/viktrwlayer.c:4895
+#: ../src/viktrwlayer.c:5573 ../src/viktrwlayer.c:5650
msgid "Append Route"
msgstr ""
-#: ../src/viktrwlayer.c:4818 ../src/viktrwlayer.c:4895
+#: ../src/viktrwlayer.c:5573 ../src/viktrwlayer.c:5650
msgid "Append Track"
msgstr ""
-#: ../src/viktrwlayer.c:4819
+#: ../src/viktrwlayer.c:5574
msgid "Select the route to append after the current route"
msgstr ""
-#: ../src/viktrwlayer.c:4820
+#: ../src/viktrwlayer.c:5575
msgid "Select the track to append after the current track"
msgstr ""
-#: ../src/viktrwlayer.c:4896
+#: ../src/viktrwlayer.c:5651
msgid "Select the track to append after the current route"
msgstr ""
-#: ../src/viktrwlayer.c:4897
+#: ../src/viktrwlayer.c:5652
msgid "Select the route to append after the current track"
msgstr ""
-#: ../src/viktrwlayer.c:4957
+#: ../src/viktrwlayer.c:5711
#, c-format
msgid "%d segment merged"
msgid_plural "%d segments merged"
msgstr[0] ""
msgstr[1] ""
-#: ../src/viktrwlayer.c:4973
+#: ../src/viktrwlayer.c:5727
msgid "Failed. This track does not have timestamp"
msgstr ""
-#: ../src/viktrwlayer.c:4985
+#: ../src/viktrwlayer.c:5739
msgid "Failed. No other track in this layer has timestamp"
msgstr ""
-#: ../src/viktrwlayer.c:4992
+#: ../src/viktrwlayer.c:5746
msgid "Merge Threshold..."
msgstr ""
-#: ../src/viktrwlayer.c:4993
+#: ../src/viktrwlayer.c:5747
msgid "Merge when time between tracks less than:"
msgstr ""
-#: ../src/viktrwlayer.c:5128
+#: ../src/viktrwlayer.c:5889
msgid "Split Threshold..."
msgstr ""
-#: ../src/viktrwlayer.c:5129
+#: ../src/viktrwlayer.c:5890
msgid "Split when time between trackpoints exceeds:"
msgstr ""
-#: ../src/viktrwlayer.c:5205
+#: ../src/viktrwlayer.c:5907
+#, c-format
+msgid ""
+"Can not split track due to trackpoints not ordered in time - such as at %s.\n"
+"\n"
+"Goto this trackpoint?"
+msgstr ""
+
+#: ../src/viktrwlayer.c:5976
msgid "Split Every Nth Point"
msgstr ""
-#: ../src/viktrwlayer.c:5206
+#: ../src/viktrwlayer.c:5977
msgid "Split on every Nth point:"
msgstr ""
-#: ../src/viktrwlayer.c:5312
+#: ../src/viktrwlayer.c:6087
msgid "Can not split track as it has no segments"
msgstr ""
-#: ../src/viktrwlayer.c:5340 ../src/viktrwlayer.c:5370
+#: ../src/viktrwlayer.c:6169 ../src/viktrwlayer.c:6199
#, c-format
msgid "Deleted %ld point"
msgid_plural "Deleted %ld points"
msgstr[0] ""
msgstr[1] ""
-#: ../src/viktrwlayer.c:5531
+#: ../src/viktrwlayer.c:6392
msgid "Internal Error in vik_trw_layer_uniquify_tracks"
msgstr ""
-#: ../src/viktrwlayer.c:5588 ../src/viktrwlayer.c:5635
-#: ../src/viktrwlayer.c:5814
+#: ../src/viktrwlayer.c:6496 ../src/viktrwlayer.c:6543
+#: ../src/viktrwlayer.c:6704
msgid ""
"Multiple entries with the same name exist. This method only works with "
"unique names. Force unique names now?"
msgstr ""
-#: ../src/viktrwlayer.c:5599
+#: ../src/viktrwlayer.c:6507
msgid "No tracks found"
msgstr ""
-#: ../src/viktrwlayer.c:5607 ../src/viktrwlayer.c:5654
-#: ../src/viktrwlayer.c:5834
+#: ../src/viktrwlayer.c:6515 ../src/viktrwlayer.c:6562
+#: ../src/viktrwlayer.c:6724
msgid "Delete Selection"
msgstr ""
-#: ../src/viktrwlayer.c:5608
+#: ../src/viktrwlayer.c:6516
msgid "Select tracks to delete"
msgstr ""
-#: ../src/viktrwlayer.c:5646
+#: ../src/viktrwlayer.c:6554
msgid "No routes found"
msgstr ""
-#: ../src/viktrwlayer.c:5655
+#: ../src/viktrwlayer.c:6563
msgid "Select routes to delete"
msgstr ""
-#: ../src/viktrwlayer.c:5761
+#: ../src/viktrwlayer.c:6669
msgid "Internal Error in vik_trw_layer_uniquify_waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:5824
+#: ../src/viktrwlayer.c:6714
msgid "No waypoints found"
msgstr ""
-#: ../src/viktrwlayer.c:5835
+#: ../src/viktrwlayer.c:6725
msgid "Select waypoints to delete"
msgstr ""
-#: ../src/viktrwlayer.c:5896
+#: ../src/viktrwlayer.c:7033
#, c-format
msgid ""
"A waypoint with the name \"%s\" already exists. Really rename to the same "
"name?"
msgstr ""
-#: ../src/viktrwlayer.c:5926
+#: ../src/viktrwlayer.c:7063
#, c-format
msgid ""
"A track with the name \"%s\" already exists. Really rename to the same name?"
msgstr ""
-#: ../src/viktrwlayer.c:5963
+#: ../src/viktrwlayer.c:7100
#, c-format
msgid ""
"A route with the name \"%s\" already exists. Really rename to the same name?"
msgstr ""
-#: ../src/viktrwlayer.c:6085 ../src/viktrwlayer.c:6337
+#: ../src/viktrwlayer.c:7221 ../src/viktrwlayer.c:7594
msgid "_Goto"
msgstr ""
-#: ../src/viktrwlayer.c:6104
+#: ../src/viktrwlayer.c:7240
msgid "_Visit Geocache Webpage"
msgstr ""
-#: ../src/viktrwlayer.c:6123
+#: ../src/viktrwlayer.c:7259
msgid "_Show Picture..."
msgstr ""
-#: ../src/viktrwlayer.c:6131
+#: ../src/viktrwlayer.c:7267
msgid "Update Geotag on _Image"
msgstr ""
-#: ../src/viktrwlayer.c:6137
+#: ../src/viktrwlayer.c:7273
msgid "_Update"
msgstr ""
-#: ../src/viktrwlayer.c:6142
+#: ../src/viktrwlayer.c:7278
msgid "Update and _Keep File Timestamp"
msgstr ""
-#: ../src/viktrwlayer.c:6153
+#: ../src/viktrwlayer.c:7289
msgid "Visit _Webpage"
msgstr ""
-#: ../src/viktrwlayer.c:6184
+#: ../src/viktrwlayer.c:7320
msgid "_New Waypoint..."
msgstr ""
-#: ../src/viktrwlayer.c:6193
+#: ../src/viktrwlayer.c:7329
msgid "_View All Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:6205
+#: ../src/viktrwlayer.c:7341
msgid "Delete _All Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:6211
+#: ../src/viktrwlayer.c:7347
msgid "_Delete Waypoints From Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:6233
+#: ../src/viktrwlayer.c:7359
+msgid "_Show All Waypoints"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7365
+msgid "_Hide All Waypoints"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7393
msgid "_View All Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:6239
+#: ../src/viktrwlayer.c:7399
msgid "_New Track"
msgstr ""
-#: ../src/viktrwlayer.c:6247
+#: ../src/viktrwlayer.c:7407
msgid "Delete _All Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:6253
+#: ../src/viktrwlayer.c:7413
msgid "_Delete Tracks From Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:6276
+#: ../src/viktrwlayer.c:7425
+msgid "_Show All Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7431
+msgid "_Hide All Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7442
+msgid "_List Tracks..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7471
msgid "_View All Routes"
msgstr ""
-#: ../src/viktrwlayer.c:6282
+#: ../src/viktrwlayer.c:7477
msgid "_New Route"
msgstr ""
-#: ../src/viktrwlayer.c:6327
+#: ../src/viktrwlayer.c:7503
+msgid "_Show All Routes"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7509
+msgid "_Hide All Routes"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7520
+msgid "_List Routes..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7579
msgid "_View Track"
msgstr ""
-#: ../src/viktrwlayer.c:6329
+#: ../src/viktrwlayer.c:7581
msgid "_View Route"
msgstr ""
-#: ../src/viktrwlayer.c:6343
+#: ../src/viktrwlayer.c:7600
msgid "_Startpoint"
msgstr ""
-#: ../src/viktrwlayer.c:6349
+#: ../src/viktrwlayer.c:7606
msgid "\"_Center\""
msgstr ""
-#: ../src/viktrwlayer.c:6355
+#: ../src/viktrwlayer.c:7612
msgid "_Endpoint"
msgstr ""
-#: ../src/viktrwlayer.c:6361
+#: ../src/viktrwlayer.c:7618
msgid "_Highest Altitude"
msgstr ""
-#: ../src/viktrwlayer.c:6367
+#: ../src/viktrwlayer.c:7624
msgid "_Lowest Altitude"
msgstr ""
-#: ../src/viktrwlayer.c:6375
+#: ../src/viktrwlayer.c:7632
msgid "_Maximum Speed"
msgstr ""
-#: ../src/viktrwlayer.c:6384
+#: ../src/viktrwlayer.c:7641
msgid "Co_mbine"
msgstr ""
-#: ../src/viktrwlayer.c:6392
+#: ../src/viktrwlayer.c:7649
msgid "_Merge By Time..."
msgstr ""
-#: ../src/viktrwlayer.c:6397
+#: ../src/viktrwlayer.c:7654
msgid "Merge _Segments"
msgstr ""
-#: ../src/viktrwlayer.c:6403
+#: ../src/viktrwlayer.c:7660
msgid "Merge _With Other Tracks..."
msgstr ""
-#: ../src/viktrwlayer.c:6409
+#: ../src/viktrwlayer.c:7666
msgid "_Append Track..."
msgstr ""
-#: ../src/viktrwlayer.c:6411
+#: ../src/viktrwlayer.c:7668
msgid "_Append Route..."
msgstr ""
-#: ../src/viktrwlayer.c:6417
+#: ../src/viktrwlayer.c:7674
msgid "Append _Route..."
msgstr ""
-#: ../src/viktrwlayer.c:6419
+#: ../src/viktrwlayer.c:7676
msgid "Append _Track..."
msgstr ""
-#: ../src/viktrwlayer.c:6426
+#: ../src/viktrwlayer.c:7683
msgid "_Split"
msgstr ""
-#: ../src/viktrwlayer.c:6434
+#: ../src/viktrwlayer.c:7691
msgid "_Split By Time..."
msgstr ""
#. ATM always enable this entry - don't want to have to analyse the track before displaying the menu - to keep the menu speedy
-#: ../src/viktrwlayer.c:6440
+#: ../src/viktrwlayer.c:7697
msgid "Split Se_gments"
msgstr ""
-#: ../src/viktrwlayer.c:6446
+#: ../src/viktrwlayer.c:7703
msgid "Split By _Number of Points..."
msgstr ""
-#: ../src/viktrwlayer.c:6451
+#: ../src/viktrwlayer.c:7708
msgid "Split at _Trackpoint"
msgstr ""
-#: ../src/viktrwlayer.c:6460
+#: ../src/viktrwlayer.c:7716
+msgid "_Insert Points"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7722
+msgid "Insert Point _Before Selected Point"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7729
+msgid "Insert Point _After Selected Point"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7738
msgid "Delete Poi_nts"
msgstr ""
-#: ../src/viktrwlayer.c:6466
+#: ../src/viktrwlayer.c:7744
+msgid "Delete _Selected Point"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7752
msgid "Delete Points With The Same _Position"
msgstr ""
-#: ../src/viktrwlayer.c:6471
+#: ../src/viktrwlayer.c:7757
msgid "Delete Points With The Same _Time"
msgstr ""
-#: ../src/viktrwlayer.c:6477
-msgid "_Reverse Track"
+#: ../src/viktrwlayer.c:7764 ../src/viktrwlayer.c:7964
+msgid "_Transform"
msgstr ""
-#: ../src/viktrwlayer.c:6479
-msgid "_Reverse Route"
+#: ../src/viktrwlayer.c:7772 ../src/viktrwlayer.c:7972
+msgid "_Apply DEM Data"
msgstr ""
-#: ../src/viktrwlayer.c:6488
-msgid "Down_load Maps Along Track..."
+#: ../src/viktrwlayer.c:7777 ../src/viktrwlayer.c:7977
+msgid "_Overwrite"
msgstr ""
-#: ../src/viktrwlayer.c:6490
-msgid "Down_load Maps Along Route..."
+#: ../src/viktrwlayer.c:7780 ../src/viktrwlayer.c:7980
+msgid "Overwrite any existing elevation values with DEM values"
msgstr ""
-#: ../src/viktrwlayer.c:6497
-msgid "_Apply DEM Data"
+#: ../src/viktrwlayer.c:7783 ../src/viktrwlayer.c:7983
+msgid "_Keep Existing"
msgstr ""
-#: ../src/viktrwlayer.c:6504
-msgid "_Export Track as GPX..."
+#: ../src/viktrwlayer.c:7786 ../src/viktrwlayer.c:7986
+msgid "Keep existing elevation values, only attempt for missing values"
msgstr ""
-#: ../src/viktrwlayer.c:6506
-msgid "_Export Route as GPX..."
+#: ../src/viktrwlayer.c:7791
+msgid "_Smooth Missing Elevation Data"
msgstr ""
-#: ../src/viktrwlayer.c:6513
-msgid "E_xtend Track End"
+#: ../src/viktrwlayer.c:7796
+msgid "_Interpolated"
msgstr ""
-#: ../src/viktrwlayer.c:6515
-msgid "E_xtend Route End"
+#: ../src/viktrwlayer.c:7799
+msgid ""
+"Interpolate between known elevation values to derive values for the missing "
+"elevations"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7802
+msgid "_Flat"
msgstr ""
-#: ../src/viktrwlayer.c:6522
+#: ../src/viktrwlayer.c:7805
+msgid "Set unknown elevation values to the last known value"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7809
msgid "C_onvert to a Route"
msgstr ""
-#: ../src/viktrwlayer.c:6524
+#: ../src/viktrwlayer.c:7811
msgid "C_onvert to a Track"
msgstr ""
-#: ../src/viktrwlayer.c:6532
+#: ../src/viktrwlayer.c:7819
+msgid "_Anonymize Times"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7822
+msgid "Shift timestamps to a relative offset from 1901-01-01"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7827
+msgid "_Reverse Track"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7829
+msgid "_Reverse Route"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7836
+msgid "Refine Route..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7846
+msgid "Down_load Maps Along Track..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7848
+msgid "Down_load Maps Along Route..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7856
+msgid "_Export Track as GPX..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7858
+msgid "_Export Route as GPX..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7865
+msgid "E_xtend Track End"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7867
+msgid "E_xtend Route End"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7874
msgid "Extend _Using Route Finder"
msgstr ""
-#: ../src/viktrwlayer.c:6548
+#: ../src/viktrwlayer.c:7889
msgid "_Upload to GPS..."
msgstr ""
-#: ../src/viktrwlayer.c:6559
+#: ../src/viktrwlayer.c:7900
msgid "_View Google Directions"
msgstr ""
-#: ../src/viktrwlayer.c:6579
+#: ../src/viktrwlayer.c:7920
msgid "Use with _Filter"
msgstr ""
-#: ../src/viktrwlayer.c:6612
+#: ../src/viktrwlayer.c:7953
msgid "_Edit Trackpoint"
msgstr ""
-#: ../src/viktrwlayer.c:7524
+#: ../src/viktrwlayer.c:9017
#, c-format
msgid " - Gain %dm:Loss %dm"
msgstr ""
-#: ../src/viktrwlayer.c:7526
+#: ../src/viktrwlayer.c:9019
#, c-format
msgid " - Gain %dft:Loss %dft"
msgstr ""
-#: ../src/viktrwlayer.c:7531
+#: ../src/viktrwlayer.c:9024
#, c-format
msgid " - Bearing %3.1f° - Step %s"
msgstr ""
-#: ../src/viktrwlayer.c:8124
+#: ../src/viktrwlayer.c:9628
#, c-format
msgid "Could not launch %s to open file."
msgstr ""
-#: ../src/viktrwlayer.c:8205
+#: ../src/viktrwlayer.c:9709
#, c-format
msgid "Creating %d Image Thumbnails..."
msgstr ""
-#: ../src/viktrwlayer.c:8524
+#: ../src/viktrwlayer.c:10106
msgid "No map layer in use. Create one first"
msgstr "Ingen kortlag i brug. Skab en først"
-#: ../src/viktrwlayer_propwin.c:898 ../src/viktrwlayer_propwin.c:1155
+#: ../src/viktrwlayer.c:10225
+#, c-format
+msgid "%s: Track List"
+msgstr ""
+
+#: ../src/viktrwlayer.c:10227
+#, c-format
+msgid "%s: Route List"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:828 ../src/viktrwlayer_propwin.c:1085
#, c-format
msgid "%.1f kph"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:901 ../src/viktrwlayer_propwin.c:1158
+#: ../src/viktrwlayer_propwin.c:831 ../src/viktrwlayer_propwin.c:1088
+#: ../src/viktrwlayer_analysis.c:290
#, c-format
msgid "%.1f mph"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:904 ../src/viktrwlayer_propwin.c:1161
+#: ../src/viktrwlayer_propwin.c:834 ../src/viktrwlayer_propwin.c:1091
#, c-format
msgid "%.1f knots"
msgstr ""
#. VIK_UNITS_SPEED_METRES_PER_SECOND:
-#: ../src/viktrwlayer_propwin.c:908 ../src/viktrwlayer_propwin.c:1165
+#: ../src/viktrwlayer_propwin.c:838 ../src/viktrwlayer_propwin.c:1095
#, c-format
msgid "%.1f m/s"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:1745
+#: ../src/viktrwlayer_propwin.c:1662 ../src/viktrwlayer_analysis.c:267
#, c-format
msgid "%.1f miles"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:1747
+#. VIK_UNITS_DISTANCE_KILOMETRES
+#: ../src/viktrwlayer_propwin.c:1664 ../src/viktrwlayer_analysis.c:271
#, c-format
msgid "%.1f km"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2681
+#: ../src/viktrwlayer_propwin.c:2582
msgid "Failed spliting track. Track unchanged"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2779 ../src/viktrwlayer_propwin.c:3178
+#: ../src/viktrwlayer_propwin.c:2724 ../src/viktrwlayer_propwin.c:3140
#, c-format
msgid "%s - Track Properties"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2784
+#: ../src/viktrwlayer_propwin.c:2729
msgid "Split at _Marker"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2785
+#: ../src/viktrwlayer_propwin.c:2730
msgid "Split _Segments"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2786
+#: ../src/viktrwlayer_propwin.c:2731
msgid "_Reverse"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2787
+#: ../src/viktrwlayer_propwin.c:2732
msgid "_Delete Dupl."
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2813
+#: ../src/viktrwlayer_propwin.c:2757
msgid "<b>Comment:</b>"
msgstr "<b>Kommentar:</b>"
-#: ../src/viktrwlayer_propwin.c:2814
+#: ../src/viktrwlayer_propwin.c:2758
msgid "<b>Description:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2815
+#: ../src/viktrwlayer_propwin.c:2759
+msgid "<b>Color:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2760
+msgid "<b>Draw Name:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2761
+msgid "<b>Distance Labels:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2764
msgid "<b>Track Length:</b>"
msgstr "<b>Spor længde:</b>"
-#: ../src/viktrwlayer_propwin.c:2816
+#: ../src/viktrwlayer_propwin.c:2765
msgid "<b>Trackpoints:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2817
+#: ../src/viktrwlayer_propwin.c:2766
msgid "<b>Segments:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2818
+#: ../src/viktrwlayer_propwin.c:2767
msgid "<b>Duplicate Points:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2819
+#: ../src/viktrwlayer_propwin.c:2768
msgid "<b>Max Speed:</b>"
msgstr "<b>Max hastighed:</b>"
-#: ../src/viktrwlayer_propwin.c:2820
+#: ../src/viktrwlayer_propwin.c:2769
msgid "<b>Avg. Speed:</b>"
msgstr "<b>Gennemsnitlig hastighed:</b>"
-#: ../src/viktrwlayer_propwin.c:2821
+#: ../src/viktrwlayer_propwin.c:2770
msgid "<b>Moving Avg. Speed:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2822
+#: ../src/viktrwlayer_propwin.c:2771
msgid "<b>Avg. Dist. Between TPs:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2823
+#: ../src/viktrwlayer_propwin.c:2772
msgid "<b>Elevation Range:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2824
+#: ../src/viktrwlayer_propwin.c:2773
msgid "<b>Total Elevation Gain/Loss:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2825
+#: ../src/viktrwlayer_propwin.c:2774
msgid "<b>Start:</b>"
msgstr "<b>Start:</b>"
-#: ../src/viktrwlayer_propwin.c:2826
+#: ../src/viktrwlayer_propwin.c:2775
msgid "<b>End:</b>"
msgstr "<b>Slut:</b>"
-#: ../src/viktrwlayer_propwin.c:2827
+#: ../src/viktrwlayer_propwin.c:2776
msgid "<b>Duration:</b>"
msgstr "<b>Varighed:</b>"
-#: ../src/viktrwlayer_propwin.c:2828
-msgid "<b>Color:</b>"
+#: ../src/viktrwlayer_propwin.c:2797
+msgid "No"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2798
+msgid "Centre"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2799
+msgid "Start only"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2800
+msgid "End only"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2801
+msgid "Start and End"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2802
+msgid "Centre, Start and End"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2814
+msgid "Maximum number of distance labels to be shown"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2877 ../src/viktrwlayer_propwin.c:2901
-#: ../src/viktrwlayer_propwin.c:2929 ../src/viktrwlayer_propwin.c:2966
-#: ../src/viktrwlayer_propwin.c:2984 ../src/viktrwlayer_propwin.c:3034
-#: ../src/viktrwlayer_propwin.c:3035 ../src/viktrwlayer_propwin.c:3036
-#: ../src/viktrwlayer_propwin.c:3062 ../src/viktrwlayer_propwin.c:3063
+#: ../src/viktrwlayer_propwin.c:2818
+msgid "Properties"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2856 ../src/viktrwlayer_propwin.c:2880
+#: ../src/viktrwlayer_propwin.c:2908 ../src/viktrwlayer_propwin.c:2945
+#: ../src/viktrwlayer_propwin.c:2963 ../src/viktrwlayer_propwin.c:3009
+#: ../src/viktrwlayer_propwin.c:3010 ../src/viktrwlayer_propwin.c:3011
+#: ../src/viktrwlayer_propwin.c:3020 ../src/viktrwlayer_propwin.c:3021
+#: ../src/viktrwlayer_propwin.c:3036 ../src/viktrwlayer_propwin.c:3037
+#: ../src/viktrwlayer_propwin.c:3050 ../src/viktrwlayer_propwin.c:3051
+#: ../src/viktrwlayer_propwin.c:3064 ../src/viktrwlayer_propwin.c:3065
#: ../src/viktrwlayer_propwin.c:3078 ../src/viktrwlayer_propwin.c:3079
#: ../src/viktrwlayer_propwin.c:3092 ../src/viktrwlayer_propwin.c:3093
-#: ../src/viktrwlayer_propwin.c:3106 ../src/viktrwlayer_propwin.c:3107
-#: ../src/viktrwlayer_propwin.c:3120 ../src/viktrwlayer_propwin.c:3121
-#: ../src/viktrwlayer_propwin.c:3134 ../src/viktrwlayer_propwin.c:3135
+#: ../src/viktrwlayer_analysis.c:257
#, c-format
msgid "No Data"
msgstr "Ingen data"
-#: ../src/viktrwlayer_propwin.c:3031
+#: ../src/viktrwlayer_propwin.c:3006
#, c-format
msgid "%d minutes"
msgstr "%d minutter"
-#: ../src/viktrwlayer_propwin.c:3058
+#: ../src/viktrwlayer_propwin.c:3016 ../src/viktrwlayer_analysis.c:515
msgid "Statistics"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3064
+#: ../src/viktrwlayer_propwin.c:3022
msgid "Show D_EM"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3065 ../src/viktrwlayer_propwin.c:3080
-#: ../src/viktrwlayer_propwin.c:3094 ../src/viktrwlayer_propwin.c:3136
+#: ../src/viktrwlayer_propwin.c:3023 ../src/viktrwlayer_propwin.c:3038
+#: ../src/viktrwlayer_propwin.c:3052 ../src/viktrwlayer_propwin.c:3094
msgid "Show _GPS Speed"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3067 ../src/viktrwlayer_propwin.c:3082
-#: ../src/viktrwlayer_propwin.c:3110 ../src/viktrwlayer_propwin.c:3138
+#: ../src/viktrwlayer_propwin.c:3025 ../src/viktrwlayer_propwin.c:3040
+#: ../src/viktrwlayer_propwin.c:3068 ../src/viktrwlayer_propwin.c:3096
msgid "<b>Track Distance:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3068 ../src/viktrwlayer_propwin.c:3125
+#: ../src/viktrwlayer_propwin.c:3026 ../src/viktrwlayer_propwin.c:3083
msgid "<b>Track Height:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3073
+#: ../src/viktrwlayer_propwin.c:3031
msgid "Elevation-distance"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3083
+#: ../src/viktrwlayer_propwin.c:3041
msgid "<b>Track Gradient:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3087
+#: ../src/viktrwlayer_propwin.c:3045
msgid "Gradient-distance"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3096 ../src/viktrwlayer_propwin.c:3111
-#: ../src/viktrwlayer_propwin.c:3124
+#: ../src/viktrwlayer_propwin.c:3054 ../src/viktrwlayer_propwin.c:3069
+#: ../src/viktrwlayer_propwin.c:3082
msgid "<b>Track Time:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3097 ../src/viktrwlayer_propwin.c:3139
+#: ../src/viktrwlayer_propwin.c:3055 ../src/viktrwlayer_propwin.c:3097
msgid "<b>Track Speed:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3101
+#: ../src/viktrwlayer_propwin.c:3059
msgid "Speed-time"
msgstr "Hastighed-tid"
-#: ../src/viktrwlayer_propwin.c:3108 ../src/viktrwlayer_propwin.c:3122
+#: ../src/viktrwlayer_propwin.c:3066 ../src/viktrwlayer_propwin.c:3080
msgid "Show S_peed"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3115
+#: ../src/viktrwlayer_propwin.c:3073
msgid "Distance-time"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3129
+#: ../src/viktrwlayer_propwin.c:3087
msgid "Elevation-time"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3143
+#: ../src/viktrwlayer_propwin.c:3101
msgid "Speed-distance"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:118
+#: ../src/viktrwlayer_tpwin.c:119
msgid "<b>Part of Track:</b>"
msgstr "<b>Del af spor:</b>"
-#: ../src/viktrwlayer_tpwin.c:119
+#: ../src/viktrwlayer_tpwin.c:120
msgid "<b>Latitude:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:120
+#: ../src/viktrwlayer_tpwin.c:121
msgid "<b>Longitude:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:121
+#: ../src/viktrwlayer_tpwin.c:122
msgid "<b>Altitude:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:122
+#: ../src/viktrwlayer_tpwin.c:123
+msgid "<b>Course:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_tpwin.c:124
msgid "<b>Timestamp:</b>"
msgstr "<b>Tidsstempel:</b>"
-#: ../src/viktrwlayer_tpwin.c:123
+#: ../src/viktrwlayer_tpwin.c:125
msgid "<b>Time:</b>"
msgstr "<b>Tid:</b>"
-#: ../src/viktrwlayer_tpwin.c:124
+#: ../src/viktrwlayer_tpwin.c:126
msgid "<b>Distance Difference:</b>"
msgstr "<b>Afstandsforskel:</b>"
-#: ../src/viktrwlayer_tpwin.c:125
+#: ../src/viktrwlayer_tpwin.c:127
msgid "<b>Time Difference:</b>"
msgstr "<b>Tidsforskel:</b>"
-#: ../src/viktrwlayer_tpwin.c:126
+#: ../src/viktrwlayer_tpwin.c:128
msgid "<b>\"Speed\" Between:</b>"
msgstr "<b>\"Hastighed\" mellem:</b>"
-#: ../src/viktrwlayer_tpwin.c:127
+#: ../src/viktrwlayer_tpwin.c:129
+msgid "<b>Speed:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_tpwin.c:130
msgid "<b>VDOP:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:128
+#: ../src/viktrwlayer_tpwin.c:131
msgid "<b>HDOP:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:129
+#: ../src/viktrwlayer_tpwin.c:132
msgid "<b>PDOP:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:130
+#: ../src/viktrwlayer_tpwin.c:133
msgid "<b>SAT/FIX:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:139
+#: ../src/viktrwlayer_tpwin.c:141
msgid "Trackpoint"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:142
+#: ../src/viktrwlayer_tpwin.c:144
msgid "_Insert After"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:144
+#: ../src/viktrwlayer_tpwin.c:146
msgid "Split Here"
msgstr "Opdel her"
-#: ../src/viktrwlayer_geotag.c:446
+#.
+#. item = gtk_image_menu_item_new_with_mnemonic ( _("_Select") );
+#. gtk_image_menu_item_set_image ( (GtkImageMenuItem*)item, gtk_image_new_from_stock (GTK_STOCK_FIND, GTK_ICON_SIZE_MENU) );
+#. g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(trw_layer_track_select), values );
+#. gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
+#. gtk_widget_show ( item );
+#.
+#. ATM view auto selects, so don't bother with separate select menu entry
+#: ../src/viktrwlayer_tracklist.c:231 ../src/vikwindow.c:3695
+msgid "_View"
+msgstr "_Vis"
+
+#. Insert column for the layer name when viewing multi layers
+#: ../src/viktrwlayer_tracklist.c:514
+msgid "Layer"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:526
+msgid "Date"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:529
+msgid "Visible"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:536
+msgid ""
+"Distance\n"
+"(miles)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:539
+msgid ""
+"Distance\n"
+"(km)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:545
+msgid ""
+"Length\n"
+"(minutes)"
+msgstr ""
+
+#. VIK_UNITS_SPEED_KILOMETRES_PER_HOUR:
+#: ../src/viktrwlayer_tracklist.c:549 ../src/vikutils.c:72
+msgid "km/h"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:550 ../src/vikutils.c:62
+msgid "mph"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:551 ../src/vikutils.c:68
+msgid "knots"
+msgstr ""
+
+#. VIK_UNITS_SPEED_METRES_PER_SECOND:
+#: ../src/viktrwlayer_tracklist.c:553 ../src/vikutils.c:65
+msgid "m/s"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:556
+#, c-format
+msgid ""
+"Av. Speed\n"
+"(%s)"
+msgstr ""
+
+#. Apply own formatting of the data
+#: ../src/viktrwlayer_tracklist.c:561
+#, c-format
+msgid ""
+"Max Speed\n"
+"(%s)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:569
+msgid ""
+"Max Height\n"
+"(Feet)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:571
+msgid ""
+"Max Height\n"
+"(Metres)"
+msgstr ""
+
+#: ../src/viktrwlayer_geotag.c:481
#, c-format
msgid "Geotagging %d Images..."
msgstr ""
-#: ../src/viktrwlayer_geotag.c:510
+#: ../src/viktrwlayer_geotag.c:545
msgid "Geotag Images"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:516
+#: ../src/viktrwlayer_geotag.c:551
msgid "Images"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:520
+#: ../src/viktrwlayer_geotag.c:555
msgid "Overwrite Existing Waypoints:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:523
+#: ../src/viktrwlayer_geotag.c:558
msgid "Overwrite Existing GPS Information:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:525
+#: ../src/viktrwlayer_geotag.c:560
msgid "Keep File Modification Timestamp:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:555
+#: ../src/viktrwlayer_geotag.c:592
msgid "Create Waypoints:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:563
+#: ../src/viktrwlayer_geotag.c:600
msgid "Write EXIF:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:575
+#: ../src/viktrwlayer_geotag.c:612
msgid "Interpolate Between Track Segments:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:579
+#: ../src/viktrwlayer_geotag.c:616
msgid "Image Time Offset (Seconds):"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:581
+#: ../src/viktrwlayer_geotag.c:618
msgid ""
"The number of seconds to ADD to the photos time to make it match the GPS "
"data. Calculate this with (GPS - Photo). Can be negative or positive. Useful "
"to adjust times when a camera's timestamp was incorrect."
msgstr ""
-#: ../src/viktrwlayer_geotag.c:584
+#: ../src/viktrwlayer_geotag.c:621
msgid "Image Timezone:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:586
+#: ../src/viktrwlayer_geotag.c:623
msgid ""
"The timezone that was used when the images were created. For example, if a "
"camera is set to AWST or +8:00 hours. Enter +8:00 here so that the correct "
"adjustment to the images' time can be made. GPS data is always in UTC."
msgstr ""
-#: ../src/viktrwlayer_geotag.c:590
+#: ../src/viktrwlayer_geotag.c:627
#, c-format
msgid "Using track: %s"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:592
+#: ../src/viktrwlayer_geotag.c:629
#, c-format
msgid "Using all tracks in: %s"
msgstr ""
-#: ../src/vikstatus.c:105
+#: ../src/viktrwlayer_analysis.c:193
+msgid "Number of Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:194
+msgid "Date Range"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:195
+msgid "Total Length"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:196
+msgid "Average Length"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:197
+msgid "Max Speed"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:198
+msgid "Avg. Speed"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:199
+msgid "Minimum Altitude"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:200
+msgid "Maximum Altitude"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:201
+msgid "Total Elevation Gain/Loss"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:202
+msgid "Avg. Elevation Gain/Loss"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:203
+msgid "Total Duration"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:204
+msgid "Avg. Duration"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:278
+#, c-format
+msgid "%.2f miles"
+msgstr ""
+
+#. VIK_UNITS_DISTANCE_KILOMETRES
+#: ../src/viktrwlayer_analysis.c:282
+#, c-format
+msgid "%.2f km"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:297
+#, c-format
+msgid "%.2f m/s"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:306
+#, c-format
+msgid "%.2f knots\n"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:309
+#, c-format
+msgid "%.2f knots"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:316 ../src/viktrwlayer_analysis.c:319
+#, c-format
+msgid "%.2f km/h"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:330 ../src/viktrwlayer_analysis.c:336
+#, c-format
+msgid "%d feet"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:341 ../src/viktrwlayer_analysis.c:343
+#, c-format
+msgid "%d feet / %d feet"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:348 ../src/viktrwlayer_analysis.c:354
+#, c-format
+msgid "%d m"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:359 ../src/viktrwlayer_analysis.c:361
+#, c-format
+msgid "%d m / %d m"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:373
+#, c-format
+msgid "%d:%02d:%02d days:hrs:mins"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:380
+#, c-format
+msgid "%d:%02d hrs:mins"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:550
+msgid "Include Invisible Items"
+msgstr ""
+
+#: ../src/vikstatus.c:107
+msgid "Current number of background tasks. Click to see the background jobs."
+msgstr ""
+
+#: ../src/vikstatus.c:113
msgid "Current zoom level. Click to select a new one."
msgstr ""
-#: ../src/vikwaypoint.c:34
+#: ../src/vikutils.c:80
+msgid "GPSD"
+msgstr ""
+
+#. GPS Preamble
+#: ../src/vikutils.c:81
+msgid "Trkpt"
+msgstr ""
+
+#: ../src/vikutils.c:121
+#, c-format
+msgid "%sSpeed%s %.1f%s"
+msgstr ""
+
+#: ../src/vikutils.c:130
+#, c-format
+msgid "%sAlt %dfeet"
+msgstr ""
+
+#. VIK_UNITS_HEIGHT_METRES:
+#: ../src/vikutils.c:134
+#, c-format
+msgid "%sAlt %dm"
+msgstr ""
+
+#: ../src/vikutils.c:142
+#, c-format
+msgid "%sCourse %03d°"
+msgstr ""
+
+#: ../src/vikutils.c:155
+msgid "yards"
+msgstr ""
+
+#. VIK_UNITS_DISTANCE_KILOMETRES:
+#: ../src/vikutils.c:159
+msgid "m"
+msgstr ""
+
+#: ../src/vikutils.c:163
+#, c-format
+msgid "%sDistance diff %d%s"
+msgstr ""
+
+#: ../src/vikutils.c:179
+#, c-format
+msgid "%sTime %s"
+msgstr ""
+
+#: ../src/vikutils.c:187
+#, c-format
+msgid "%sTime diff %lds"
+msgstr ""
+
+#: ../src/vikutils.c:193
+#, c-format
+msgid "%sNo. of Sats %d"
+msgstr ""
+
+#: ../src/vikutils.c:213
+#, c-format
+msgid "%sDistance along %.2f%s"
+msgstr ""
+
+#. Name of track
+#: ../src/vikutils.c:232
+#, c-format
+msgid "%sTrack: %s"
+msgstr ""
+
+#: ../src/vikwaypoint.c:36
msgid "Waypoint"
msgstr ""
#. TODO get rid of this as this is unnecessary duplication...
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Pan"
msgstr ""
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Zoom"
msgstr "Zoom"
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Ruler"
msgstr "Lineal"
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Select"
msgstr ""
+#: ../src/vikwindow.c:381
+msgid "Location lookup aborted"
+msgstr ""
+
+#: ../src/vikwindow.c:401
+#, c-format
+msgid "Location found: %s"
+msgstr ""
+
+#: ../src/vikwindow.c:410
+msgid "Unable to determine location"
+msgstr ""
+
+#: ../src/vikwindow.c:434
+msgid "Default Map"
+msgstr ""
+
+#: ../src/vikwindow.c:444
+msgid "Trying to determine location..."
+msgstr ""
+
+#: ../src/vikwindow.c:447
+msgid "Determining location"
+msgstr ""
+
#. Create tooltip
-#: ../src/vikwindow.c:440
+#: ../src/vikwindow.c:605
msgid "Select zoom level"
msgstr ""
-#: ../src/vikwindow.c:645
+#: ../src/vikwindow.c:923
#, c-format
msgid ""
"Do you want to save the changes you made to the document \"%s\"?\n"
@@ -3148,624 +3990,708 @@ msgid ""
"Your changes will be lost if you don't save them."
msgstr ""
-#: ../src/vikwindow.c:649
+#: ../src/vikwindow.c:927
msgid "Don't Save"
msgstr "Gem ikke"
-#: ../src/vikwindow.c:696
+#: ../src/vikwindow.c:1005
msgid "mpp"
msgstr ""
-#: ../src/vikwindow.c:696
+#: ../src/vikwindow.c:1005
msgid "pixelfact"
msgstr ""
-#: ../src/vikwindow.c:861
+#: ../src/vikwindow.c:1169
#, c-format
msgid "%s %s %dm"
msgstr ""
-#: ../src/vikwindow.c:863
+#: ../src/vikwindow.c:1171
#, c-format
msgid "%s %s %dft"
msgstr ""
-#: ../src/vikwindow.c:866
+#: ../src/vikwindow.c:1174
#, c-format
msgid "%s %s"
msgstr ""
#. NB Ctrl+Shift+R is used for Refresh (deemed more important), so use 'U' instead
-#: ../src/vikwindow.c:1254
+#: ../src/vikwindow.c:1562
msgid "_Ruler"
msgstr ""
-#: ../src/vikwindow.c:1254
+#: ../src/vikwindow.c:1562
msgid "Ruler Tool"
msgstr ""
-#: ../src/vikwindow.c:1502 ../src/vikwindow.c:3138
+#: ../src/vikwindow.c:1810 ../src/vikwindow.c:3697
msgid "_Zoom"
msgstr "_Zoom"
-#: ../src/vikwindow.c:1502
+#: ../src/vikwindow.c:1810
msgid "Zoom Tool"
msgstr "Zoomværktøj"
-#: ../src/vikwindow.c:1547 ../src/vikwindow.c:3139
+#: ../src/vikwindow.c:1855 ../src/vikwindow.c:3698
msgid "_Pan"
msgstr ""
-#: ../src/vikwindow.c:1547
+#: ../src/vikwindow.c:1855
msgid "Pan Tool"
msgstr ""
-#: ../src/vikwindow.c:1664
+#: ../src/vikwindow.c:1972
msgid "_Select"
msgstr ""
-#: ../src/vikwindow.c:1664
+#: ../src/vikwindow.c:1972
msgid "Select Tool"
msgstr ""
-#: ../src/vikwindow.c:1809
+#: ../src/vikwindow.c:2123
msgid "You must select a layer to show its properties."
msgstr ""
#. No error to show, so unlikely this will get called
-#: ../src/vikwindow.c:1824
+#: ../src/vikwindow.c:2137
msgid "The help system is not available."
msgstr ""
#. Main error path
-#: ../src/vikwindow.c:1827
+#: ../src/vikwindow.c:2140
#, c-format
msgid ""
"Help is not available because: %s.\n"
"Ensure a Mime Type ghelp handler program is installed (e.g. yelp)."
msgstr ""
-#: ../src/vikwindow.c:1850
+#: ../src/vikwindow.c:2160
msgid "You must select a layer to delete."
msgstr ""
-#: ../src/vikwindow.c:2087
+#: ../src/vikwindow.c:2396
msgid "Untitled"
msgstr "Uden navn"
-#: ../src/vikwindow.c:2194
+#: ../src/vikwindow.c:2503
#, c-format
msgid "Unable to add '%s' to the list of recently used documents"
msgstr ""
-#: ../src/vikwindow.c:2208
+#: ../src/vikwindow.c:2540
msgid "The file you requested could not be opened."
msgstr "Den fil du anmodede om kunne ikke åbnes."
-#: ../src/vikwindow.c:2211
+#: ../src/vikwindow.c:2543
msgid ""
"GPSBabel is required to load files of this type or GPSBabel encountered "
"problems."
msgstr ""
-#: ../src/vikwindow.c:2214
+#: ../src/vikwindow.c:2546
#, c-format
msgid "Unable to load malformed GPX file %s"
msgstr ""
-#: ../src/vikwindow.c:2217
+#: ../src/vikwindow.c:2549
#, c-format
msgid "Unsupported file type for %s"
msgstr ""
#. Since we can process .vik files with issues just show a warning in the status bar
#. Not that a user can do much about it... or tells them what this issue is yet...
-#: ../src/vikwindow.c:2223
+#: ../src/vikwindow.c:2555
#, c-format
msgid "WARNING: issues encountered loading %s"
msgstr ""
-#: ../src/vikwindow.c:2278
+#: ../src/vikwindow.c:2613
msgid "Please select a GPS data file to open. "
msgstr "Vælg venligst en GPS data fil. "
-#: ../src/vikwindow.c:2288
+#: ../src/vikwindow.c:2629
msgid "Geocaching"
msgstr ""
-#: ../src/vikwindow.c:2294
+#: ../src/vikwindow.c:2635
msgid "Google Earth"
msgstr ""
-#: ../src/vikwindow.c:2299
+#: ../src/vikwindow.c:2640
msgid "GPX"
msgstr ""
-#: ../src/vikwindow.c:2304 ../src/vikwindow.c:2387
+#: ../src/vikwindow.c:2645 ../src/vikwindow.c:2734
#: ../src/viking.desktop.in.h:1
msgid "Viking"
msgstr ""
-#: ../src/vikwindow.c:2374
+#: ../src/vikwindow.c:2715
msgid "Save as Viking File."
msgstr "Gem som Viking fil."
+#: ../src/vikwindow.c:2841
+msgid "Exporting to file: "
+msgstr ""
+
+#. Confirm what happened.
+#: ../src/vikwindow.c:2858
+#, c-format
+msgid "Exported files: %d"
+msgstr ""
+
+#: ../src/vikwindow.c:2870
+msgid "Nothing to Export!"
+msgstr ""
+
+#: ../src/vikwindow.c:2874
+msgid "Export to directory"
+msgstr ""
+
+#: ../src/vikwindow.c:2896
+msgid "Could not convert all files"
+msgstr ""
+
+#: ../src/vikwindow.c:2932
+#, c-format
+msgid "%d bytes"
+msgstr ""
+
+#: ../src/vikwindow.c:2934
+#, c-format
+msgid "%3.1f kB"
+msgstr ""
+
+#: ../src/vikwindow.c:2936
+#, c-format
+msgid "%3.1f MB"
+msgstr ""
+
+#: ../src/vikwindow.c:2937
+#, c-format
+msgid ""
+"%s\n"
+"\n"
+"%s\n"
+"\n"
+"%s"
+msgstr ""
+
+#: ../src/vikwindow.c:2942
+msgid "File not accessible"
+msgstr ""
+
+#: ../src/vikwindow.c:2945
+msgid "No Viking File"
+msgstr ""
+
+#: ../src/vikwindow.c:3035
+msgid "This layer has no configurable properties."
+msgstr ""
+
#. Try harder...
-#: ../src/vikwindow.c:2619 ../src/vikwindow.c:2625
+#: ../src/vikwindow.c:3169 ../src/vikwindow.c:3175
msgid "Generating image file..."
msgstr ""
-#: ../src/vikwindow.c:2647
+#: ../src/vikwindow.c:3197
msgid ""
"Failed to generate internal image.\n"
"\n"
"Try creating a smaller image."
msgstr ""
-#: ../src/vikwindow.c:2655
+#: ../src/vikwindow.c:3205
msgid "Failed to generate image file."
msgstr ""
#. Success
-#: ../src/vikwindow.c:2660
+#: ../src/vikwindow.c:3210
msgid "Image file generated."
msgstr ""
-#: ../src/vikwindow.c:2764
+#: ../src/vikwindow.c:3314
msgid ""
"Viewable region outside allowable pixel size bounds for image. Clipping "
"width/height values."
msgstr ""
-#: ../src/vikwindow.c:2789
+#: ../src/vikwindow.c:3339
#, c-format
msgid "Total area: %ldm x %ldm (%.3f sq. km)"
msgstr ""
-#: ../src/vikwindow.c:2792
+#: ../src/vikwindow.c:3342
#, c-format
msgid "Total area: %ldm x %ldm (%.3f sq. miles)"
msgstr ""
-#: ../src/vikwindow.c:2813
+#: ../src/vikwindow.c:3363
msgid "Save Image"
msgstr "Gem billede"
-#: ../src/vikwindow.c:2834
+#: ../src/vikwindow.c:3393
msgid "PNG"
msgstr ""
-#: ../src/vikwindow.c:2857
+#: ../src/vikwindow.c:3416
msgid "You must be in UTM mode to use this feature"
msgstr "Du skal være i UTM mode for at bruge denne facilitet"
-#: ../src/vikwindow.c:2862
+#: ../src/vikwindow.c:3421
msgid "Choose a directory to hold images"
msgstr ""
#. todo: default for answers inside VikWindow or static (thruout instance)
-#: ../src/vikwindow.c:2883
+#: ../src/vikwindow.c:3442
msgid "Save to Image File"
msgstr "Gem til billedfil"
-#: ../src/vikwindow.c:2900
+#: ../src/vikwindow.c:3459
msgid "Width (pixels):"
msgstr "Bredde (pixels):"
-#: ../src/vikwindow.c:2902
+#: ../src/vikwindow.c:3461
msgid "Height (pixels):"
msgstr "Højde (pixels):"
-#: ../src/vikwindow.c:2905
+#: ../src/vikwindow.c:3464
msgid ""
"WARNING: USING LARGE IMAGES OVER 10000x10000\n"
"MAY CRASH THE PROGRAM!"
msgstr ""
-#: ../src/vikwindow.c:2907
+#: ../src/vikwindow.c:3466
msgid "Zoom (meters per pixel):"
msgstr "Zoom (meter pr pixel):"
-#: ../src/vikwindow.c:2921
+#: ../src/vikwindow.c:3482
msgid "Area in current viewable window"
msgstr ""
-#: ../src/vikwindow.c:2931
+#: ../src/vikwindow.c:3492
msgid "Save as PNG"
msgstr "Gem som PNG"
-#: ../src/vikwindow.c:2932
+#: ../src/vikwindow.c:3493
msgid "Save as JPEG"
msgstr "Gem som JPEG"
-#: ../src/vikwindow.c:2954
+#: ../src/vikwindow.c:3515
msgid "East-west image tiles:"
msgstr ""
-#: ../src/vikwindow.c:2956
+#: ../src/vikwindow.c:3517
msgid "North-south image tiles:"
msgstr ""
-#: ../src/vikwindow.c:3097
+#: ../src/vikwindow.c:3656
msgid "Choose a background color"
msgstr "Vælg en baggrundsfarve"
-#: ../src/vikwindow.c:3113
+#: ../src/vikwindow.c:3672
msgid "Choose a track highlight color"
msgstr ""
-#: ../src/vikwindow.c:3134
+#: ../src/vikwindow.c:3693
msgid "_File"
msgstr "_Fil"
-#: ../src/vikwindow.c:3135
+#: ../src/vikwindow.c:3694
msgid "_Edit"
msgstr "_Redigér"
-#: ../src/vikwindow.c:3136
-msgid "_View"
-msgstr "_Vis"
-
-#: ../src/vikwindow.c:3137
+#: ../src/vikwindow.c:3696
msgid "_Show"
msgstr ""
-#: ../src/vikwindow.c:3140
+#: ../src/vikwindow.c:3699
msgid "_Layers"
msgstr "_Lag"
-#: ../src/vikwindow.c:3141
+#: ../src/vikwindow.c:3700
msgid "_Tools"
msgstr "Værk_tøjer"
-#: ../src/vikwindow.c:3142
+#: ../src/vikwindow.c:3701
msgid "_Webtools"
msgstr ""
-#: ../src/vikwindow.c:3143 ../src/vikwindow.c:3206
+#: ../src/vikwindow.c:3702 ../src/vikwindow.c:3763
msgid "_Help"
msgstr "_Hjælp"
-#: ../src/vikwindow.c:3145
+#: ../src/vikwindow.c:3704
msgid "New file"
msgstr "Ny fil"
-#: ../src/vikwindow.c:3146
+#: ../src/vikwindow.c:3705
msgid "_Open..."
msgstr "_Åbn..."
-#: ../src/vikwindow.c:3146
+#: ../src/vikwindow.c:3705
msgid "Open a file"
msgstr "Åbn en fil"
-#: ../src/vikwindow.c:3147
+#: ../src/vikwindow.c:3706
msgid "Open _Recent File"
msgstr ""
-#: ../src/vikwindow.c:3148
+#: ../src/vikwindow.c:3707
msgid "Append _File..."
msgstr ""
-#: ../src/vikwindow.c:3148
+#: ../src/vikwindow.c:3707
msgid "Append data from a different file"
msgstr ""
-#: ../src/vikwindow.c:3149
+#: ../src/vikwindow.c:3708
+msgid "_Export All"
+msgstr ""
+
+#: ../src/vikwindow.c:3708
+msgid "Export All TrackWaypoint Layers"
+msgstr ""
+
+#: ../src/vikwindow.c:3709
+msgid "_GPX..."
+msgstr ""
+
+#: ../src/vikwindow.c:3709
+msgid "Export as GPX"
+msgstr ""
+
+#: ../src/vikwindow.c:3710
msgid "A_cquire"
msgstr ""
-#: ../src/vikwindow.c:3150
+#: ../src/vikwindow.c:3711
msgid "Transfer data from a GPS device"
msgstr "Overfør data fra GPS udstyr"
-#: ../src/vikwindow.c:3151
+#: ../src/vikwindow.c:3712
msgid "Import File With GPS_Babel..."
msgstr ""
-#: ../src/vikwindow.c:3151
+#: ../src/vikwindow.c:3712
msgid "Import file via GPSBabel converter"
msgstr ""
-#: ../src/vikwindow.c:3153
-msgid "Google _Directions..."
+#: ../src/vikwindow.c:3713
+msgid "_Directions..."
msgstr ""
-#: ../src/vikwindow.c:3153
-msgid "Get driving directions from Google"
-msgstr "Få kørselsanvisninger fra Google"
+#: ../src/vikwindow.c:3713
+msgid "Get driving directions"
+msgstr ""
-#: ../src/vikwindow.c:3156
+#: ../src/vikwindow.c:3715
msgid "_OSM Traces..."
msgstr ""
-#: ../src/vikwindow.c:3156
+#: ../src/vikwindow.c:3715
msgid "Get traces from OpenStreetMap"
msgstr ""
-#: ../src/vikwindow.c:3157
+#: ../src/vikwindow.c:3716
msgid "_My OSM Traces..."
msgstr ""
-#: ../src/vikwindow.c:3157
+#: ../src/vikwindow.c:3716
msgid "Get Your Own Traces from OpenStreetMap"
msgstr ""
-#: ../src/vikwindow.c:3160
+#: ../src/vikwindow.c:3719
msgid "Geo_caches..."
msgstr "Geo_caches..."
-#: ../src/vikwindow.c:3160
+#: ../src/vikwindow.c:3719
msgid "Get Geocaches from geocaching.com"
msgstr "Få Geocaches fra geocaching.com"
-#: ../src/vikwindow.c:3163
+#: ../src/vikwindow.c:3722
msgid "Create waypoints from geotagged images"
msgstr ""
-#: ../src/vikwindow.c:3166
+#: ../src/vikwindow.c:3725
msgid "Create waypoints from Wikipedia items in the current view"
msgstr ""
-#: ../src/vikwindow.c:3168
+#: ../src/vikwindow.c:3727
msgid "_Save"
msgstr "_Gem"
-#: ../src/vikwindow.c:3168
+#: ../src/vikwindow.c:3727
msgid "Save the file"
msgstr "Gem filen"
-#: ../src/vikwindow.c:3169
+#: ../src/vikwindow.c:3728
msgid "Save _As..."
msgstr "Gem _som..."
-#: ../src/vikwindow.c:3169
+#: ../src/vikwindow.c:3728
msgid "Save the file under different name"
msgstr "Gem filen under et andet navn"
-#: ../src/vikwindow.c:3170
+#: ../src/vikwindow.c:3729
+msgid "Properties..."
+msgstr ""
+
+#: ../src/vikwindow.c:3729
+msgid "File Properties"
+msgstr ""
+
+#: ../src/vikwindow.c:3730
msgid "_Generate Image File..."
msgstr ""
-#: ../src/vikwindow.c:3170
+#: ../src/vikwindow.c:3730
msgid "Save a snapshot of the workspace into a file"
msgstr ""
-#: ../src/vikwindow.c:3171
+#: ../src/vikwindow.c:3731
msgid "Generate _Directory of Images..."
msgstr ""
-#: ../src/vikwindow.c:3171
+#: ../src/vikwindow.c:3731
msgid "FIXME:IMGDIR"
msgstr ""
-#: ../src/vikwindow.c:3174
+#: ../src/vikwindow.c:3732
msgid "_Print..."
msgstr "_Udskriv..."
-#: ../src/vikwindow.c:3174
+#: ../src/vikwindow.c:3732
msgid "Print maps"
msgstr "Udskriv kort"
-#: ../src/vikwindow.c:3177
+#: ../src/vikwindow.c:3733
msgid "E_xit"
msgstr "A_fslut"
-#: ../src/vikwindow.c:3177
+#: ../src/vikwindow.c:3733
msgid "Exit the program"
msgstr "Afslut programmet"
-#: ../src/vikwindow.c:3178
+#: ../src/vikwindow.c:3734
msgid "Save and Exit"
msgstr "Gem og afslut"
-#: ../src/vikwindow.c:3178
+#: ../src/vikwindow.c:3734
msgid "Save and Exit the program"
msgstr "Gem og afslut programmet"
-#: ../src/vikwindow.c:3180
+#: ../src/vikwindow.c:3736
msgid "Go to the _Default Location"
msgstr ""
-#: ../src/vikwindow.c:3180
+#: ../src/vikwindow.c:3736
msgid "Go to the default location"
msgstr ""
-#: ../src/vikwindow.c:3181
+#: ../src/vikwindow.c:3737
msgid "Go to _Location..."
msgstr ""
-#: ../src/vikwindow.c:3181
+#: ../src/vikwindow.c:3737
msgid "Go to address/place using text search"
msgstr ""
-#: ../src/vikwindow.c:3182
+#: ../src/vikwindow.c:3738
msgid "_Go to Lat/Lon..."
msgstr ""
-#: ../src/vikwindow.c:3182
+#: ../src/vikwindow.c:3738
msgid "Go to arbitrary lat/lon coordinate"
msgstr ""
-#: ../src/vikwindow.c:3183
+#: ../src/vikwindow.c:3739
msgid "Go to UTM..."
msgstr "Gå til UTM..."
-#: ../src/vikwindow.c:3183
+#: ../src/vikwindow.c:3739
msgid "Go to arbitrary UTM coordinate"
msgstr ""
-#: ../src/vikwindow.c:3184
+#: ../src/vikwindow.c:3740
msgid "_Refresh"
msgstr ""
-#: ../src/vikwindow.c:3184
+#: ../src/vikwindow.c:3740
msgid "Refresh any maps displayed"
msgstr ""
-#: ../src/vikwindow.c:3185
+#: ../src/vikwindow.c:3741
msgid "Set _Highlight Color..."
msgstr ""
-#: ../src/vikwindow.c:3186
+#: ../src/vikwindow.c:3742
msgid "Set Bac_kground Color..."
msgstr ""
-#: ../src/vikwindow.c:3187
+#: ../src/vikwindow.c:3743
msgid "Zoom _In"
msgstr "Zoom _ind"
-#: ../src/vikwindow.c:3188
+#: ../src/vikwindow.c:3744
msgid "Zoom _Out"
msgstr "Zoom _ud"
-#: ../src/vikwindow.c:3189
+#: ../src/vikwindow.c:3745
msgid "Zoom _To..."
msgstr "Zoom _til..."
-#: ../src/vikwindow.c:3190
+#: ../src/vikwindow.c:3746
msgid "Pan _North"
msgstr ""
-#: ../src/vikwindow.c:3191
+#: ../src/vikwindow.c:3747
msgid "Pan _East"
msgstr ""
-#: ../src/vikwindow.c:3192
+#: ../src/vikwindow.c:3748
msgid "Pan _South"
msgstr ""
-#: ../src/vikwindow.c:3193
+#: ../src/vikwindow.c:3749
msgid "Pan _West"
msgstr ""
-#: ../src/vikwindow.c:3194
+#: ../src/vikwindow.c:3750
msgid "Background _Jobs"
msgstr "Baggrunds_job"
-#: ../src/vikwindow.c:3196
+#: ../src/vikwindow.c:3752
msgid "Cu_t"
msgstr "K_lip"
-#: ../src/vikwindow.c:3197
-msgid "_Copy"
-msgstr "_Kopiér"
-
-#: ../src/vikwindow.c:3198
-msgid "_Paste"
-msgstr "_Sæt ind"
-
-#: ../src/vikwindow.c:3199
-msgid "_Delete"
-msgstr "_Slet"
-
-#: ../src/vikwindow.c:3200
+#: ../src/vikwindow.c:3756
msgid "Delete All"
msgstr "Slet alle"
-#: ../src/vikwindow.c:3201
+#: ../src/vikwindow.c:3757
msgid "_Flush Map Cache"
msgstr ""
-#: ../src/vikwindow.c:3202
+#: ../src/vikwindow.c:3758
msgid "_Set the Default Location"
msgstr ""
-#: ../src/vikwindow.c:3202
+#: ../src/vikwindow.c:3758
msgid "Set the Default Location to the current position"
msgstr ""
-#: ../src/vikwindow.c:3203
+#: ../src/vikwindow.c:3759
msgid "_Preferences"
msgstr ""
-#: ../src/vikwindow.c:3204
+#: ../src/vikwindow.c:3760
+msgid "_Layer Defaults"
+msgstr ""
+
+#: ../src/vikwindow.c:3761
msgid "_Properties"
msgstr "_Egenskaber"
-#: ../src/vikwindow.c:3207
+#: ../src/vikwindow.c:3764
msgid "_About"
msgstr "_Om"
-#: ../src/vikwindow.c:3213
+#: ../src/vikwindow.c:3768
+msgid "_KML..."
+msgstr ""
+
+#: ../src/vikwindow.c:3768
+msgid "Export as KML"
+msgstr ""
+
+#: ../src/vikwindow.c:3774
msgid "_UTM Mode"
msgstr ""
-#: ../src/vikwindow.c:3214
+#: ../src/vikwindow.c:3775
msgid "_Expedia Mode"
msgstr ""
-#: ../src/vikwindow.c:3215
+#: ../src/vikwindow.c:3776
msgid "_Mercator Mode"
msgstr ""
-#: ../src/vikwindow.c:3216
+#: ../src/vikwindow.c:3777
msgid "Lat_/Lon Mode"
msgstr ""
-#: ../src/vikwindow.c:3220
+#: ../src/vikwindow.c:3781
msgid "Show _Scale"
msgstr ""
-#: ../src/vikwindow.c:3220
+#: ../src/vikwindow.c:3781
msgid "Show Scale"
msgstr "Vis skala"
-#: ../src/vikwindow.c:3221
+#: ../src/vikwindow.c:3782
msgid "Show _Center Mark"
msgstr ""
-#: ../src/vikwindow.c:3221
+#: ../src/vikwindow.c:3782
msgid "Show Center Mark"
msgstr ""
-#: ../src/vikwindow.c:3222
+#: ../src/vikwindow.c:3783
msgid "Show _Highlight"
msgstr ""
-#: ../src/vikwindow.c:3222
+#: ../src/vikwindow.c:3783
msgid "Show Highlight"
msgstr ""
-#: ../src/vikwindow.c:3223
+#: ../src/vikwindow.c:3784
msgid "_Full Screen"
msgstr ""
-#: ../src/vikwindow.c:3223
+#: ../src/vikwindow.c:3784
msgid "Activate full screen mode"
msgstr ""
-#: ../src/vikwindow.c:3224
+#: ../src/vikwindow.c:3785
msgid "Show Side _Panel"
msgstr ""
-#: ../src/vikwindow.c:3224
+#: ../src/vikwindow.c:3785
msgid "Show Side Panel"
msgstr ""
-#: ../src/vikwindow.c:3225
+#: ../src/vikwindow.c:3786
msgid "Show Status_bar"
msgstr ""
-#: ../src/vikwindow.c:3225
+#: ../src/vikwindow.c:3786
msgid "Show Statusbar"
msgstr ""
-#: ../src/vikwindow.c:3226
+#: ../src/vikwindow.c:3787
msgid "Show _Toolbar"
msgstr ""
-#: ../src/vikwindow.c:3226
+#: ../src/vikwindow.c:3787
msgid "Show Toolbar"
msgstr ""
-#: ../src/vikwindow.c:3227
+#: ../src/vikwindow.c:3788
msgid "Show _Menu"
msgstr ""
-#: ../src/vikwindow.c:3227
+#: ../src/vikwindow.c:3788
msgid "Show Menu"
msgstr ""
+#: ../src/vikwindow.c:3862
+#, c-format
+msgid "New _%s Layer"
+msgstr ""
+
#: ../src/viking.desktop.in.h:2
msgid "GPS Data Manager"
msgstr ""
diff --git a/po/de.po b/po/de.po
index 8a09f67..077ec9e 100644
--- a/po/de.po
+++ b/po/de.po
@@ -7,68 +7,68 @@ msgid ""
msgstr ""
"Project-Id-Version: viking\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-02-04 23:29+0100\n"
-"PO-Revision-Date: 2012-08-17 22:58+0000\n"
-"Last-Translator: Guido Scholz <guido.scholz@bayernline.de>\n"
+"POT-Creation-Date: 2013-09-03 21:58+0200\n"
+"PO-Revision-Date: 2013-06-18 15:31+0000\n"
+"Last-Translator: Tim Schulz <timschulz1998@yahoo.de>\n"
"Language-Team: German <de@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Launchpad-Export-Date: 2013-03-23 17:12+0000\n"
-"X-Generator: Launchpad (build 16540)\n"
+"X-Launchpad-Export-Date: 2013-10-12 09:04+0000\n"
+"X-Generator: Launchpad (build 16799)\n"
"Language: de\n"
-#: ../src/acquire.c:103 ../src/vikgpslayer.c:1185
+#: ../src/acquire.c:103 ../src/vikgpslayer.c:1235
msgid "Done."
msgstr "Fertig."
-#: ../src/acquire.c:114
+#: ../src/acquire.c:112
msgid "No data."
msgstr "Keine Daten."
-#: ../src/acquire.c:154 ../src/acquire.c:404
+#: ../src/acquire.c:154 ../src/acquire.c:424
msgid "Error: acquisition failed."
msgstr "Fehler: Datenübertragung fehlgeschlagen"
-#: ../src/acquire.c:341
+#: ../src/acquire.c:352
msgid "Working..."
msgstr "In Bearbeitung ..."
#. This shouldn't happen...
-#: ../src/acquire.c:394
+#: ../src/acquire.c:415
msgid ""
"Unable to create command\n"
"Acquire method failed."
msgstr ""
-#: ../src/acquire.c:486
+#: ../src/acquire.c:517
msgid "_Filter"
-msgstr ""
+msgstr "_Filter"
-#: ../src/acquire.c:501
+#: ../src/acquire.c:532
#, c-format
msgid "Filter with %s"
-msgstr ""
+msgstr "Filtern mit %s"
-#: ../src/acquire.c:518
+#: ../src/acquire.c:549
msgid "Filter"
-msgstr ""
+msgstr "Filter"
-#: ../src/background.c:52
+#: ../src/background.c:53
#, c-format
msgid "%d items"
msgstr "%d Teile"
-#: ../src/background.c:248
+#: ../src/background.c:254
msgid "Job"
msgstr "Auftrag"
-#: ../src/background.c:252
+#: ../src/background.c:258
msgid "Progress"
msgstr "Fortschritt"
-#: ../src/background.c:268
+#: ../src/background.c:274
msgid "Viking Background Jobs"
msgstr "Viking-Hintergrund-Aufträge"
@@ -77,7 +77,7 @@ msgid "Bing"
msgstr "Bing"
#. VIK_GTK_WINDOW_FROM_WIDGET(vp)
-#: ../src/bingmapsource.c:445
+#: ../src/bingmapsource.c:499
msgid "Bing attribution Loading"
msgstr "Lade Bing-Attribution"
@@ -104,35 +104,35 @@ msgid ""
"into."
msgstr "Bitte eine zum Einfügen eines Wegpunktes geeignete Ebene auswählen."
-#: ../src/dialog.c:52
+#: ../src/dialog.c:53
msgid "Go to Lat/Lon"
msgstr "Gehe zu Breite/Länge"
-#: ../src/dialog.c:64 ../src/dialog.c:251
+#: ../src/dialog.c:65 ../src/dialog.c:244
msgid "Latitude:"
msgstr "Breitengrad:"
-#: ../src/dialog.c:70 ../src/dialog.c:256
+#: ../src/dialog.c:71 ../src/dialog.c:249
msgid "Longitude:"
msgstr "Längengrad:"
-#: ../src/dialog.c:102
+#: ../src/dialog.c:103
msgid "Go to UTM"
msgstr "Gehe zu UTM"
-#: ../src/dialog.c:115
+#: ../src/dialog.c:116
msgid "Northing:"
msgstr "Nördliche Deklinaton:"
-#: ../src/dialog.c:121
+#: ../src/dialog.c:122
msgid "Easting:"
msgstr "Östliche Deklination:"
-#: ../src/dialog.c:128
+#: ../src/dialog.c:129
msgid "Zone:"
msgstr "Zone:"
-#: ../src/dialog.c:131
+#: ../src/dialog.c:132
msgid "Letter:"
msgstr "Buchstabe:"
@@ -140,105 +140,109 @@ msgstr "Buchstabe:"
msgid "Waypoint Properties"
msgstr "Wegpunkt-Eigenschaften"
-#: ../src/dialog.c:233
+#: ../src/dialog.c:235
msgid "Name:"
msgstr "Name:"
-#: ../src/dialog.c:261
+#: ../src/dialog.c:254
msgid "Altitude:"
msgstr "Höhe:"
-#: ../src/dialog.c:266
+#: ../src/dialog.c:259
msgid "Comment:"
msgstr "Kommentar:"
-#: ../src/dialog.c:274 ../src/osm-traces.c:437
+#: ../src/dialog.c:267 ../src/osm-traces.c:445
msgid "Description:"
msgstr "Beschreibung:"
-#: ../src/dialog.c:277
+#: ../src/dialog.c:270
msgid "Image:"
msgstr "Bild:"
-#: ../src/dialog.c:282
+#: ../src/dialog.c:275
msgid "Symbol:"
msgstr "Symbol:"
-#: ../src/dialog.c:291
+#: ../src/dialog.c:284
msgid "(none)"
msgstr "(nichts)"
+#: ../src/dialog.c:326
+msgid "Time:"
+msgstr ""
+
#. TODO: other checks (isalpha or whatever )
-#: ../src/dialog.c:356
+#: ../src/dialog.c:363
msgid "Please enter a name for the waypoint."
msgstr "Bitte einen Namen für den Wegpunkt eingeben."
-#: ../src/dialog.c:529 ../src/geonamessearch.c:243
+#: ../src/dialog.c:502 ../src/geonamessearch.c:244
#: ../src/datasource_osm_my_traces.c:507
msgid "Nothing was selected"
msgstr "Nichts ausgewählt"
-#: ../src/dialog.c:537
+#: ../src/dialog.c:510
msgid "Add Route"
-msgstr ""
+msgstr "Route hinzufügen"
-#: ../src/dialog.c:537
+#: ../src/dialog.c:510
msgid "Add Track"
msgstr "Spur hinzufügen"
-#: ../src/dialog.c:545
+#: ../src/dialog.c:518
msgid "Route Name:"
-msgstr ""
+msgstr "Routen-Name:"
-#: ../src/dialog.c:545
+#: ../src/dialog.c:518
msgid "Track Name:"
msgstr "Spur-Name:"
-#: ../src/dialog.c:565
+#: ../src/dialog.c:538
msgid "Please enter a name for the track."
msgstr "Bitte einen Namen für die Spur eingeben."
-#: ../src/dialog.c:623
+#: ../src/dialog.c:596
msgid "Zoom Factors..."
msgstr "Zoom-Faktoren ..."
-#: ../src/dialog.c:637
+#: ../src/dialog.c:610
msgid "Zoom factor (in meters per pixel):"
msgstr "Vergrösserungsfaktor (in Meter pro Pixel):"
-#: ../src/dialog.c:638
+#: ../src/dialog.c:611
msgid "X (easting): "
msgstr "X (östlich): "
-#: ../src/dialog.c:639
+#: ../src/dialog.c:612
msgid "Y (northing): "
msgstr "Y (nördlich): "
-#: ../src/dialog.c:644
+#: ../src/dialog.c:617
msgid "X and Y zoom factors must be equal"
msgstr "Die Zoom-Fakoren X und Y müssen gleich sein."
-#: ../src/dialog.c:699
+#: ../src/dialog.c:672
msgid "1 min"
msgstr "1 Minute"
-#: ../src/dialog.c:700
+#: ../src/dialog.c:673
msgid "1 hour"
msgstr "1 Stunde"
-#: ../src/dialog.c:701
+#: ../src/dialog.c:674
msgid "1 day"
msgstr "1 Tag"
-#: ../src/dialog.c:702
+#: ../src/dialog.c:675
msgid "Custom (in minutes):"
msgstr "Einstellung (in Minuten)"
-#: ../src/dialog.c:808
+#: ../src/dialog.c:786
msgid "GPS Data and Topo Analyzer, Explorer, and Manager."
msgstr "GPS-Daten und Topo-Analysierer, Explorer und Manager,"
-#: ../src/dialog.c:809
+#: ../src/dialog.c:787
msgid ""
"This program is free software; you can redistribute it and/or modify it "
"under the terms of the GNU General Public License as published by the Free "
@@ -271,29 +275,29 @@ msgstr ""
"Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA "
"02110-1301, USA."
-#: ../src/dialog.c:837
+#: ../src/dialog.c:852
msgid "Translation is coordinated on http://launchpad.net/viking"
msgstr ""
"Die Übersetzungen werden über http://launchpad.net/viking koordiniert"
-#: ../src/dialog.c:845
+#: ../src/dialog.c:861
msgid "Download along track"
msgstr "Daten entlang der Spur herunterladen"
-#: ../src/dialog.c:851
+#: ../src/dialog.c:868
msgid "Map type:"
msgstr "Kartentyp:"
-#: ../src/dialog.c:856
+#: ../src/dialog.c:874
msgid "Zoom level:"
msgstr "Vergrößerungsstufe:"
-#: ../src/dialog.c:896
+#: ../src/dialog.c:914
#, c-format
msgid "The map data is licensed: %s."
msgstr "Die Lizenz der Kartendaten liegt bei: %s."
-#: ../src/dialog.c:899
+#: ../src/dialog.c:917
#, c-format
msgid ""
"The data provided by '<b>%s</b>' are licensed under the following license: "
@@ -303,7 +307,7 @@ msgstr ""
"Die Daten von '<b>%s</b>' unterliegen der Lizenz: <b>%s</b>.\n"
"Bevor sie fortfahren, lesen sie bitte die Lizenzvereinbarungen."
-#: ../src/dialog.c:904
+#: ../src/dialog.c:922
msgid "Open license"
msgstr "Offene Lizenz"
@@ -339,7 +343,7 @@ msgstr ""
#. Translators may wish to change this setting as appropriate to get Wikipedia articles in that language
#: ../src/geonamessearch.c:46
msgid "en"
-msgstr ""
+msgstr "en"
#: ../src/geonamessearch.c:121
msgid "Search"
@@ -352,90 +356,201 @@ msgstr "Keine Einträge gefunden!"
#. NB could allow columns to be shifted around by doing this after each new
#. gtk_tree_view_column_set_reorderable ( column, TRUE );
#. However I don't think is that useful, so I haven't put it in
-#: ../src/geonamessearch.c:177 ../src/datasource_osm_my_traces.c:425
+#: ../src/geonamessearch.c:177 ../src/datasource_osm_my_traces.c:424
+#: ../src/viktrwlayer_tracklist.c:521
msgid "Name"
-msgstr ""
+msgstr "Name"
#: ../src/geonamessearch.c:182
msgid "Feature"
-msgstr ""
+msgstr "Eigenschaft"
-#: ../src/geonamessearch.c:187 ../src/datasource_osm_my_traces.c:440
+#: ../src/geonamessearch.c:187 ../src/datasource_osm_my_traces.c:439
msgid "Lat/Lon"
-msgstr ""
+msgstr "Breite/Länge"
-#: ../src/geonamessearch.c:269 ../src/googlesearch.c:100
+#: ../src/geonamessearch.c:270 ../src/googlesearch.c:100 ../src/vikgoto.c:306
msgid "couldn't map temp file"
msgstr "Aufzeichen der Zwischendatei fehlgeschlagen"
-#: ../src/globals.c:44
+#: ../src/globals.c:73
+msgid "Absolute"
+msgstr ""
+
+#: ../src/globals.c:73
+msgid "Relative"
+msgstr ""
+
+#: ../src/globals.c:76
msgid "Degree format:"
msgstr "Grad-Format:"
-#: ../src/globals.c:48
+#: ../src/globals.c:77
msgid "Distance units:"
msgstr "Abstandseinheit:"
-#: ../src/globals.c:52
+#: ../src/globals.c:78
msgid "Speed units:"
msgstr "Geschwindigkeitseinheit:"
-#: ../src/globals.c:56
+#: ../src/globals.c:79
msgid "Height units:"
msgstr "Höheneinheit:"
-#: ../src/globals.c:60
+#: ../src/globals.c:80
msgid "Use large waypoint icons:"
msgstr "Benutze große Wegpunktsymbole:"
-#: ../src/globals.c:64
+#: ../src/globals.c:81
msgid "Default latitude:"
msgstr "Standardbreitengrad:"
-#: ../src/globals.c:67
+#: ../src/globals.c:82
msgid "Default longitude:"
msgstr "Standardlängengrad:"
-#: ../src/globals.c:73
+#: ../src/globals.c:88
msgid "Alphabetical"
-msgstr ""
+msgstr "Alphabetisch"
-#: ../src/globals.c:73 ../src/datasource_osm_my_traces.c:435
+#: ../src/globals.c:88 ../src/datasource_osm_my_traces.c:434
msgid "Time"
+msgstr "Zeit"
+
+#: ../src/globals.c:88
+msgid "Creation"
msgstr ""
-#: ../src/globals.c:76
+#: ../src/globals.c:89
+msgid "Title Case"
+msgstr ""
+
+#: ../src/globals.c:89
+msgid "Lowercase"
+msgstr ""
+
+#: ../src/globals.c:92
msgid "KML File Export Units:"
msgstr "KML-Datei Exporteinheiten:"
-#: ../src/globals.c:77
+#: ../src/globals.c:93
msgid "GPX Track Order:"
+msgstr "GPX-Track-Auflistung:"
+
+#: ../src/globals.c:94
+msgid "GPX Waypoint Symbols:"
msgstr ""
-#: ../src/globals.c:82
+#: ../src/globals.c:95
+msgid ""
+"Save GPX Waypoint Symbol names in the specified case. May be useful for "
+"compatibility with various devices"
+msgstr ""
+
+#: ../src/globals.c:100
msgid "Image Viewer:"
msgstr "Bildbetrachter:"
-#: ../src/globals.c:87
+#: ../src/globals.c:105
msgid "External GPX Program 1:"
msgstr "Externes GPX-Programm 1:"
-#: ../src/globals.c:88
+#: ../src/globals.c:106
msgid "External GPX Program 2:"
msgstr "Externes GPX-Programm 2:"
+#: ../src/globals.c:110
+msgid "Save File Reference Mode:"
+msgstr ""
+
+#: ../src/globals.c:111
+msgid ""
+"When saving a Viking .vik file, this determines how the directory paths of "
+"filenames are written."
+msgstr ""
+
+#: ../src/globals.c:112
+msgid "Show Tooltip during Track Creation:"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Home Location"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Last Location"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Specified File"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Auto Location"
+msgstr ""
+
+#: ../src/globals.c:118
+msgid "Restore Window Setup:"
+msgstr ""
+
+#: ../src/globals.c:119
+msgid "Restore window size and layout"
+msgstr ""
+
+#: ../src/globals.c:120
+msgid "Add a Default Map Layer:"
+msgstr ""
+
+#: ../src/globals.c:121
+msgid ""
+"The default map layer added is defined by the Layer Defaults. Use the menu "
+"Edit->Layer Defaults->Map... to change the map type and other values."
+msgstr ""
+
+#: ../src/globals.c:122
+msgid "Startup Method:"
+msgstr ""
+
+#: ../src/globals.c:123
+msgid "Startup File:"
+msgstr ""
+
+#: ../src/globals.c:124
+msgid ""
+"The default file to load on startup. Only applies when the startup method is "
+"set to 'Specified File'"
+msgstr ""
+
+#: ../src/globals.c:125
+msgid "Check For New Version:"
+msgstr ""
+
+#: ../src/globals.c:126
+msgid "Periodically check to see if a new version of Viking is available"
+msgstr ""
+
#. Defaults for the options are setup here
-#: ../src/globals.c:96
+#: ../src/globals.c:163
msgid "General"
msgstr "Allgemeines"
#. New Tab
-#: ../src/globals.c:121
+#: ../src/globals.c:188
+msgid "Startup"
+msgstr ""
+
+#. New Tab
+#: ../src/globals.c:206
msgid "Export/External"
msgstr "Export/Externes"
+#. 'Advanced' Properties
+#: ../src/globals.c:230
+msgid "Advanced"
+msgstr ""
+
#. Webtools
-#: ../src/google.c:36
+#: ../src/google.c:38
msgid "Google"
msgstr "Google"
@@ -448,24 +563,24 @@ msgid "Imported file"
msgstr "Importierte Datei"
#. The file selector
-#: ../src/datasource_file.c:133
+#: ../src/datasource_file.c:127
msgid "File:"
msgstr "Datei:"
-#: ../src/datasource_file.c:134
+#: ../src/datasource_file.c:128
msgid "File to import"
msgstr "Zu importierende Datei"
-#: ../src/datasource_file.c:141
+#: ../src/datasource_file.c:135
msgid "All files"
msgstr "Alle Dateien"
#. The file format selector
-#: ../src/datasource_file.c:148
+#: ../src/datasource_file.c:142
msgid "File type:"
msgstr "Dateityp:"
-#: ../src/datasource_file.c:193
+#: ../src/datasource_file.c:184
#, c-format
msgid "using babel args '%s' and file '%s'"
msgstr "Benutze babel Argumente '%s' und Datei '%s'"
@@ -478,15 +593,15 @@ msgstr "Geocaches herunterladen"
msgid "Geocaching.com Caches"
msgstr "Caches von Geocaching.com"
-#: ../src/datasource_gc.c:84
+#: ../src/datasource_gc.c:85
msgid "geocaching.com username:"
msgstr "geocaching.com-Benutzername:"
-#: ../src/datasource_gc.c:85
+#: ../src/datasource_gc.c:86
msgid "geocaching.com password:"
msgstr "geocaching.com-Passwort:"
-#: ../src/datasource_gc.c:126
+#: ../src/datasource_gc.c:127
#, c-format
msgid ""
"Can't find %s or %s in path! Check that you have installed it correctly."
@@ -494,15 +609,15 @@ msgstr ""
"Kann %s oder %s nicht im Pfad finden! Bitte prüfen, ob es richtig "
"installiert ist"
-#: ../src/datasource_gc.c:188
+#: ../src/datasource_gc.c:189
msgid "Number geocaches:"
msgstr "Anzahl Geocaches:"
-#: ../src/datasource_gc.c:190
+#: ../src/datasource_gc.c:191
msgid "Centered around:"
msgstr "Mittelpunkt:"
-#: ../src/datasource_gc.c:226
+#: ../src/datasource_gc.c:230
msgid "Broken input - using some defaults"
msgstr "Falsche Eingabe - Benutze einige Voreinstellungen"
@@ -514,98 +629,89 @@ msgstr "Wegpunkte aus georeferenzierten Bildern erzeugen"
msgid "Geotagged Images"
msgstr "Georeferenzierte Bilder"
-#: ../src/datasource_geotag.c:102 ../src/vikwindow.c:2314
-#: ../src/vikwindow.c:2382 ../src/vikwindow.c:2824
+#: ../src/datasource_geotag.c:102 ../src/vikwindow.c:2655
+#: ../src/vikwindow.c:2729 ../src/vikwindow.c:3380
msgid "All"
msgstr "Alle"
-#: ../src/datasource_geotag.c:107 ../src/vikwindow.c:2829
+#: ../src/datasource_geotag.c:107 ../src/vikwindow.c:3385
msgid "JPG"
msgstr "JPG"
-#: ../src/datasource_geotag.c:165
+#: ../src/datasource_geotag.c:168
#, c-format
msgid "Unable to create waypoint from %s"
msgstr "Kann keinen Wegpunkt aus %s erzeugen"
-#: ../src/datasource_google.c:49 ../src/datasource_google.c:50
-msgid "Google Directions"
-msgstr "Google-Richtungen"
-
-#: ../src/datasource_google.c:77
-msgid "From:"
-msgstr "Von:"
-
-#: ../src/datasource_google.c:79
-msgid "To:"
-msgstr "Zu:"
-
-#: ../src/datasource_gps.c:57
+#: ../src/datasource_gps.c:54
msgid "Acquire from GPS"
msgstr "Vom GPS laden"
-#: ../src/datasource_gps.c:58
+#: ../src/datasource_gps.c:55
msgid "Acquired from GPS"
msgstr "Vom GPS geladen"
-#: ../src/datasource_gps.c:221
+#: ../src/datasource_gps.c:245
#, c-format
msgid "using cmdline '%s' and file '%s'\n"
msgstr "Kommandozeile '%s' und Datei '%s' benutzen\n"
-#: ../src/datasource_gps.c:297 ../src/vikgpslayer.c:884
+#: ../src/datasource_gps.c:327 ../src/vikgpslayer.c:934
#, c-format
msgid "Downloading %d waypoint..."
msgid_plural "Downloading %d waypoints..."
msgstr[0] "%d Wegpunkt herunterladen..."
msgstr[1] "%d Wegpunkte herunterladen..."
-#: ../src/datasource_gps.c:298 ../src/vikgpslayer.c:885
+#: ../src/datasource_gps.c:328 ../src/vikgpslayer.c:935
#, c-format
msgid "Downloading %d trackpoint..."
msgid_plural "Downloading %d trackpoints..."
msgstr[0] "%d Spurpunkt herunterladen..."
msgstr[1] "%d Spurpunkte herunterladen..."
-#: ../src/datasource_gps.c:303 ../src/vikgpslayer.c:890
+#: ../src/datasource_gps.c:333 ../src/vikgpslayer.c:940
#, c-format
msgid "Downloading %d routepoint..."
msgid_plural "Downloading %d routepoints..."
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "%d Routenpunkt herunterladen ..."
+msgstr[1] "%d Routenpunkte herunterladen ..."
-#: ../src/datasource_gps.c:325 ../src/datasource_gps.c:326
-#: ../src/datasource_gps.c:327
+#: ../src/datasource_gps.c:355 ../src/datasource_gps.c:356
+#: ../src/datasource_gps.c:357
#, c-format
msgid "Downloaded %d out of %d %s..."
msgstr "%d heruntergeladen von %d %s ..."
-#: ../src/datasource_gps.c:331 ../src/datasource_gps.c:332
-#: ../src/datasource_gps.c:333
+#: ../src/datasource_gps.c:361 ../src/datasource_gps.c:362
+#: ../src/datasource_gps.c:363
#, c-format
msgid "Downloaded %d %s."
msgstr "%d %s heruntergeladen."
-#: ../src/datasource_gps.c:347 ../src/vikgpslayer.c:968
+#: ../src/datasource_gps.c:377 ../src/vikgpslayer.c:1018
#, c-format
msgid "GPS Device: %s"
msgstr "GPS-Gerät: %s"
-#: ../src/datasource_gps.c:370 ../src/vikgpslayer.c:1042
-#: ../src/vikgpslayer.c:1110
+#: ../src/datasource_gps.c:400 ../src/vikgpslayer.c:1092
+#: ../src/vikgpslayer.c:1160
msgid "Status: Working..."
-msgstr ""
+msgstr "Status: in Arbeit ..."
-#: ../src/datasource_gps.c:469 ../src/vikgpslayer.c:150
+#. NB gps_layer_inst_init() is performed after parameter registeration
+#. thus to give the protocols some potential values use the old static list
+#. TODO: find another way to use gps_layer_inst_init()?
+#: ../src/datasource_gps.c:500 ../src/vikgpslayer.c:207
msgid "GPS Protocol:"
msgstr "GPS-Protokoll:"
-#. List now assigned at runtime
-#: ../src/datasource_gps.c:488 ../src/vikgpslayer.c:151
+#. List reassigned at runtime
+#: ../src/datasource_gps.c:526 ../src/vikgpslayer.c:208
msgid "Serial Port:"
msgstr "Serielle Schnittstelle:"
-#: ../src/datasource_gps.c:509
+#: ../src/datasource_gps.c:576
msgid ""
"Turn Off After Transfer\n"
"(Garmin/NAViLink Only)"
@@ -613,19 +719,19 @@ msgstr ""
"Nach dem Datentransfer bitte ausschalten\n"
"(Nur Garmin/NAViLink)"
-#: ../src/datasource_gps.c:512
+#: ../src/datasource_gps.c:583
msgid "Tracks:"
msgstr "Spuren:"
-#: ../src/datasource_gps.c:516
+#: ../src/datasource_gps.c:590
msgid "Routes:"
-msgstr ""
+msgstr "Routen:"
-#: ../src/datasource_gps.c:520
+#: ../src/datasource_gps.c:597
msgid "Waypoints:"
msgstr "Wegpunkte:"
-#: ../src/datasource_gps.c:594 ../src/vikgpslayer.c:1305
+#: ../src/datasource_gps.c:675 ../src/vikgpslayer.c:1355
msgid "GPS device: N/A"
msgstr "GPS-Gerät: Nicht gefunden"
@@ -633,66 +739,86 @@ msgstr "GPS-Gerät: Nicht gefunden"
msgid "OSM traces"
msgstr "OSM-Spuren"
-#: ../src/datasource_osm.c:80
+#: ../src/datasource_osm.c:82
msgid "Page number:"
msgstr "Seitennummer:"
-#: ../src/datasource_osm_my_traces.c:63 ../src/datasource_osm_my_traces.c:64
+#: ../src/datasource_osm_my_traces.c:59 ../src/datasource_osm_my_traces.c:60
msgid "OSM My Traces"
-msgstr ""
+msgstr "OSM Meine Spuren"
-#: ../src/datasource_osm_my_traces.c:108
+#: ../src/datasource_osm_my_traces.c:104
msgid "Username:"
-msgstr ""
+msgstr "Benutzername:"
-#: ../src/datasource_osm_my_traces.c:113
+#: ../src/datasource_osm_my_traces.c:109
msgid "The email or username used to login to OSM"
msgstr ""
+"Die E-Mail-Adresse oder der Benutzername, welche zum Anmelden bei OSM "
+"benutzt werden"
-#: ../src/datasource_osm_my_traces.c:115 ../src/osm-traces.c:413
+#: ../src/datasource_osm_my_traces.c:111 ../src/osm-traces.c:421
msgid "Password:"
msgstr "Passwort:"
-#: ../src/datasource_osm_my_traces.c:120
+#: ../src/datasource_osm_my_traces.c:114
msgid "The password used to login to OSM"
-msgstr ""
+msgstr "Das Passwort, welches zum Anmelden bei OSM benutzt wird"
-#: ../src/datasource_osm_my_traces.c:430
+#: ../src/datasource_osm_my_traces.c:429
msgid "Description"
-msgstr ""
+msgstr "Beschreibung"
-#: ../src/datasource_osm_my_traces.c:445
+#: ../src/datasource_osm_my_traces.c:444
msgid "Privacy"
-msgstr ""
+msgstr "Privatsphäre"
-#: ../src/datasource_osm_my_traces.c:452
+#: ../src/datasource_osm_my_traces.c:451
msgid "Within Current View"
-msgstr ""
+msgstr "Innerhalb der aktuellen Ansicht"
#: ../src/datasource_osm_my_traces.c:518
msgid "GPS Traces"
-msgstr ""
+msgstr "GPS-Spuren"
#: ../src/datasource_osm_my_traces.c:520
msgid "None found!"
-msgstr ""
+msgstr "Keine gefunden!"
-#: ../src/datasource_osm_my_traces.c:629
+#: ../src/datasource_osm_my_traces.c:634
msgid "My OSM Traces"
-msgstr ""
+msgstr "Meine OSM-Spuren"
-#: ../src/datasource_osm_my_traces.c:645
+#: ../src/datasource_osm_my_traces.c:649
#, c-format
msgid "Unable to get trace: %s"
msgstr ""
+#: ../src/datasource_routing.c:53 ../src/datasource_routing.c:54
+msgid "Directions"
+msgstr ""
+
+#. Engine selector
+#: ../src/datasource_routing.c:83
+msgid "Engine:"
+msgstr ""
+
+#. From and To entries
+#: ../src/datasource_routing.c:88
+msgid "From:"
+msgstr "Von:"
+
+#: ../src/datasource_routing.c:90
+msgid "To:"
+msgstr "Zu:"
+
#: ../src/datasource_wikipedia.c:32
msgid "Create Waypoints from Wikipedia Articles"
msgstr ""
#: ../src/datasource_wikipedia.c:33
msgid "Wikipedia Waypoints"
-msgstr ""
+msgstr "Wikipedia-Wegpunkte"
#: ../src/dem.c:65 ../src/dem.c:79
msgid "Invalid DEM"
@@ -706,138 +832,138 @@ msgstr "DEM-Dateikopf fehlerhaft"
msgid "Incorrect DEM Class B record: expected 1"
msgstr "Ungültiger DEM-Klasse B Eintrag: 1 erwartet"
-#: ../src/dem.c:360
+#: ../src/dem.c:288 ../src/download.c:170
#, c-format
msgid "Couldn't map file %s: %s"
msgstr "Kann Datei %s: %s nicht zeichnen"
-#: ../src/download.c:112
-msgid "Tile age (s):"
-msgstr "Kachelalter (s)"
+#: ../src/download.c:130
+msgid "Tile age (days):"
+msgstr ""
-#: ../src/download.c:233
+#: ../src/download.c:321
#, c-format
msgid "Download error: %s"
msgstr "Fehler beim Herunterladen: %s"
-#: ../src/download.c:313
+#: ../src/download.c:404
msgid "couldn't open temp file"
msgstr "Kann Zwischendatei nicht öffnen"
-#: ../src/file.c:456 ../src/file.c:461
+#: ../src/file.c:451 ../src/file.c:456
#, c-format
msgid "Draw mode '%s' no more supported"
msgstr "Zeichen-Modus '%s' nicht mehr unterstützt"
-#: ../src/geotag_exif.c:433
+#: ../src/geotag_exif.c:421
msgid "Not enough memory."
msgstr "Nicht genügend Speicher."
-#: ../src/geotag_exif.c:451
+#: ../src/geotag_exif.c:439
msgid "Setting a value for this tag is unsupported!"
msgstr "Werteingabe für diese Marke wird nicht unterstützt!"
-#: ../src/geotag_exif.c:470
+#: ../src/geotag_exif.c:458
#, c-format
msgid "Too few components specified (need %d, found %d)\n"
msgstr "Zu wenig Komponenten angegeben (erforderlich: %d, gefunden: %d)\n"
-#: ../src/geotag_exif.c:474
+#: ../src/geotag_exif.c:462
msgid "Numeric value expected\n"
msgstr "Numerischer Wert erwartet\n"
-#: ../src/geotag_exif.c:482
+#: ../src/geotag_exif.c:470
msgid "This shouldn't happen!"
msgstr "Das sollte nicht passieren!"
-#: ../src/geotag_exif.c:552
+#: ../src/geotag_exif.c:540
msgid "Not yet implemented!"
msgstr "Noch nicht implementiert!"
-#: ../src/geotag_exif.c:565
+#: ../src/geotag_exif.c:553
msgid "Warning; Too many components specified!"
msgstr "Warnung: Zu viele Komponenten angegeben!"
-#: ../src/osm-traces.c:73
+#: ../src/osm-traces.c:76
msgid "Identifiable (public w/ timestamps)"
msgstr "Identifizierbar (öffentlich mit Zeitstempeln)"
-#: ../src/osm-traces.c:74
+#: ../src/osm-traces.c:77
msgid "Trackable (private w/ timestamps)"
msgstr "Auffindbar (privat mit Zeitstempeln)"
-#: ../src/osm-traces.c:75
+#: ../src/osm-traces.c:78
msgid "Public"
msgstr "Öffentlich"
-#: ../src/osm-traces.c:76
+#: ../src/osm-traces.c:79
msgid "Private"
msgstr "Nicht öffentlich"
-#: ../src/osm-traces.c:93
+#: ../src/osm-traces.c:97
msgid "OSM username:"
msgstr "OSM-Benutzername:"
-#: ../src/osm-traces.c:94
+#: ../src/osm-traces.c:98
msgid "OSM password:"
msgstr "OSM-Passwort:"
#. Preferences
-#: ../src/osm-traces.c:151
+#: ../src/osm-traces.c:155
msgid "OpenStreetMap Traces"
msgstr "Openstreetmap-Spuren"
-#: ../src/osm-traces.c:234
+#: ../src/osm-traces.c:238
#, c-format
msgid "failed to upload data: HTTP response is %ld"
msgstr "Fehler beim Hochladen (HTTP Fehler: %ld)"
-#: ../src/osm-traces.c:239
+#: ../src/osm-traces.c:243
#, c-format
msgid "curl_easy_getinfo failed: %d"
msgstr "curl_easy_getinfo fehlgeschlagen: %d"
-#: ../src/osm-traces.c:244
+#: ../src/osm-traces.c:248
#, c-format
msgid "curl request failed: %s"
msgstr "curl request fehlgeschlagen: %s"
-#: ../src/osm-traces.c:275
+#: ../src/osm-traces.c:279
#, c-format
msgid "failed to open temporary file: %s"
msgstr "Fehler beim Öffnen der Zwischendatei: %s"
#. Success
-#: ../src/osm-traces.c:328
+#: ../src/osm-traces.c:340
msgid "Uploaded to OSM"
msgstr "Nach OSM hochgeladen"
-#: ../src/osm-traces.c:332
+#: ../src/osm-traces.c:344
msgid "FAILED TO UPLOAD DATA TO OSM - CURL PROBLEM"
msgstr "Fehler beim Hochladen nach OSM - Curl-Problem"
-#: ../src/osm-traces.c:335
+#: ../src/osm-traces.c:347
msgid "FAILED TO UPLOAD DATA TO OSM"
msgstr "Fehler beim Hochladen nach OSM"
-#: ../src/osm-traces.c:335
+#: ../src/osm-traces.c:347
msgid "HTTP response code"
msgstr "HTTP Antwort"
-#: ../src/osm-traces.c:348
+#: ../src/osm-traces.c:355
#, c-format
msgid "failed to unlink temporary file: %s"
msgstr "Fehler beim Freigeben der Zwischendatei: %s"
-#: ../src/osm-traces.c:387
+#: ../src/osm-traces.c:394
msgid "OSM upload"
msgstr "OSM-Upload"
-#: ../src/osm-traces.c:405
+#: ../src/osm-traces.c:413
msgid "Email:"
msgstr "E-Mail:"
-#: ../src/osm-traces.c:410
+#: ../src/osm-traces.c:418
msgid ""
"The email used as login\n"
"<small>Enter the email you use to login into www.openstreetmap.org.</small>"
@@ -846,7 +972,7 @@ msgstr ""
"<small>Geben Sie die E-Mail-Adresse ein, mit der Sie sich auf "
"www.openstreetmap.org einloggen.</small>"
-#: ../src/osm-traces.c:418
+#: ../src/osm-traces.c:426
msgid ""
"The password used to login\n"
"<small>Enter the password you use to login into "
@@ -856,11 +982,11 @@ msgstr ""
"<small>Geben Sie das Passwort ein, mit dem Sie sich auf "
"www.openstreetmap.org anmelden.</small>"
-#: ../src/osm-traces.c:423
+#: ../src/osm-traces.c:431
msgid "File's name:"
msgstr "Dateiname:"
-#: ../src/osm-traces.c:433
+#: ../src/osm-traces.c:441
msgid ""
"The name of the file on OSM\n"
"<small>This is the name of the file created on the server.This is not the "
@@ -870,92 +996,122 @@ msgstr ""
"<small>Das ist der Name der Datei, die auf dem Server erstellt wurde. Es ist "
"nicht der Name der lokalen Datei.</small>"
-#: ../src/osm-traces.c:442
+#: ../src/osm-traces.c:450
msgid "The description of the trace"
msgstr "Beschreibung der Aufzeichnung"
-#: ../src/osm-traces.c:444
+#: ../src/osm-traces.c:453
+msgid "Anonymize Times:"
+msgstr ""
+
+#: ../src/osm-traces.c:458
+msgid ""
+"Anonymize times of the trace.\n"
+"<small>You may choose to make the trace identifiable, yet mask the actual "
+"real time values</small>"
+msgstr ""
+
+#: ../src/osm-traces.c:462
msgid "Tags:"
msgstr "Schlagwörter:"
-#: ../src/osm-traces.c:449
+#: ../src/osm-traces.c:467
msgid "The tags associated to the trace"
msgstr "Die zur Aufzeichnung gehörigen Schlagwörter:"
-#: ../src/osm-traces.c:482
+#: ../src/osm-traces.c:529
#, c-format
msgid "Uploading %s to OSM"
msgstr "Hochladen von %s nach OSM"
#: ../src/mapcache.c:61
msgid "Map cache memory size (MB):"
-msgstr ""
+msgstr "Karten-Cache-Speichergrössen (MB):"
-#: ../src/print.c:53
+#: ../src/print.c:51 ../src/viktrwlayer.c:509
msgid "None"
msgstr "Keine"
-#: ../src/print.c:54
+#: ../src/print.c:52
msgid "Horizontally"
msgstr "Horizontal"
-#: ../src/print.c:55
+#: ../src/print.c:53
msgid "Vertically"
msgstr "Vertikal"
-#: ../src/print.c:56
+#: ../src/print.c:54
msgid "Both"
msgstr "Beides"
-#: ../src/print.c:120
+#: ../src/print.c:118
msgid "Image Settings"
msgstr "Bildeinstellungen"
-#: ../src/print.c:546
+#: ../src/print.c:548
msgid "done"
msgstr "fertig"
#. Page Size
-#: ../src/print.c:575
+#: ../src/print.c:577
msgid "_Adjust Page Size and Orientation"
msgstr "Seitengröße und _Orientierung anpassen"
-#: ../src/print.c:591
+#: ../src/print.c:593
msgid "C_enter:"
msgstr "_Zentrieren:"
#. ignore page margins
-#: ../src/print.c:609
+#: ../src/print.c:611
msgid "Ignore Page _Margins"
msgstr "Seiten_ränder ignorieren"
-#: ../src/print.c:628
+#: ../src/print.c:630
msgid "Image S_ize:"
msgstr "_Bildgröße:"
-#: ../src/util.c:81
-msgid "Could not launch web browser."
-msgstr "Kann Web-Browser nicht starten."
+#: ../src/util.c:65
+#, c-format
+msgid "Could not launch web browser. %s"
+msgstr ""
+
+#: ../src/util.c:76
+#, c-format
+msgid "Could not create new email. %s"
+msgstr ""
+
+#: ../src/util.c:177
+#, c-format
+msgid ""
+"There is a newer version of Viking available: %s\n"
+"\n"
+"Do you wish to go to Viking's website now?"
+msgstr ""
-#: ../src/util.c:92
-msgid "Could not create new email."
-msgstr "Kann E-Mail nicht erstellen."
+#: ../src/util.c:304
+msgid ""
+"This appears to be Viking's very first run.\n"
+"\n"
+"Do you wish to enable automatic internet features?\n"
+"\n"
+"Individual settings can be controlled in the Preferences."
+msgstr ""
-#: ../src/vikcoordlayer.c:46
+#: ../src/vikcoordlayer.c:57
msgid "Color:"
msgstr "Farbe:"
-#: ../src/vikcoordlayer.c:47
+#: ../src/vikcoordlayer.c:58
msgid "Minutes Width:"
msgstr "Minuten-Dicke:"
-#: ../src/vikcoordlayer.c:48
+#: ../src/vikcoordlayer.c:59
msgid "Line Thickness:"
msgstr "Strichstärke:"
-#: ../src/vikcoordlayer.c:56
+#: ../src/vikcoordlayer.c:66
msgid "Coordinate"
-msgstr ""
+msgstr "Koordinate"
#: ../src/datasource_bfilter.c:46
msgid "Max number of points:"
@@ -989,62 +1145,130 @@ msgstr "Wegpunkte liegt außerhalb von"
msgid "Polygonzied Layer"
msgstr "Ebene in Polygon"
-#: ../src/main.c:89
+#: ../src/main.c:92
#, c-format
msgid "Ignoring Xlib error: error code %d request code %d\n"
msgstr ""
-#: ../src/main.c:102
+#: ../src/main.c:105
msgid "Enable debug output"
msgstr "Fehlerausgabe aktivieren"
-#: ../src/main.c:103
+#: ../src/main.c:106
msgid "Enable verbose output"
msgstr "Mit Verlaufsprotokoll"
-#: ../src/main.c:104
+#: ../src/main.c:107
msgid "Show version"
msgstr "Version anzeigen"
-#: ../src/osm.c:106
+#: ../src/osm.c:99
msgid "On Disk OSM Tile Format"
msgstr ""
-#: ../src/osm.c:121
+#: ../src/osm.c:113
msgid "OSM (view)"
msgstr "OSM (Ansicht)"
-#: ../src/osm.c:125
+#: ../src/osm.c:117
msgid "OSM (edit)"
msgstr "OSM (Bearbeiten)"
-#: ../src/osm.c:129
+#: ../src/osm.c:121
msgid "OSM (render)"
msgstr "OSM (Darstellen)"
#. Example: http://127.0.0.1:8111/load_and_zoom?left=8.19&right=8.20&top=48.605&bottom=48.590&select=node413602999
#. JOSM or merkaartor must already be running with remote interface enabled
-#: ../src/osm.c:136
+#: ../src/osm.c:128
msgid "Local port 8111 (eg JOSM)"
msgstr "Lokaler Port 8111 (z.B. JOSM)"
-#: ../src/preferences.c:285
+#: ../src/osm.c:134
+msgid "OpenStreetMap Notes"
+msgstr ""
+
+#: ../src/osm.c:138
+msgid "OpenStreetBugs"
+msgstr ""
+
+#. Not really OSM but can't be bothered to create somewhere else to put it...
+#: ../src/osm.c:164
+msgid "Wikimedia Toolserver GeoHack"
+msgstr ""
+
+#: ../src/preferences.c:191
msgid "Preferences"
msgstr "Einstellungen"
-#: ../src/uibuilder.c:147
+#: ../src/viklayer_defaults.c:232
+#, c-format
+msgid "Could not open file: %s"
+msgstr ""
+
+#: ../src/viklayer_defaults.c:303
+msgid "Layer Defaults"
+msgstr ""
+
+#: ../src/uibuilder.c:185
msgid "Take care that this password will be stored clearly in a plain file."
msgstr "Achtung: Das Passwort wird in Klartext in einer Datei abgelegt."
-#: ../src/vikaggregatelayer.c:37
+#: ../src/vikaggregatelayer.c:42
msgid "Aggregate"
+msgstr "Zusammenfassen"
+
+#. VikLayersPanel *vlp = VIK_LAYERS_PANEL(lav[1]);
+#: ../src/vikaggregatelayer.c:484 ../src/viktrwlayer.c:10238
+#, c-format
+msgid "%s: Track and Route List"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:529 ../src/viktrwlayer.c:7354
+#: ../src/viktrwlayer.c:7420 ../src/viktrwlayer.c:7498
+msgid "_Visibility"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:534
+msgid "_Show All"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:540
+msgid "_Hide All"
msgstr ""
-#: ../src/vikdemlayer.c:101
+#: ../src/vikaggregatelayer.c:546 ../src/viktrwlayer.c:7371
+#: ../src/viktrwlayer.c:7437 ../src/viktrwlayer.c:7515
+msgid "_Toggle"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:553 ../src/viktrwlayer.c:7536
+msgid "_Sort"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:559 ../src/viktrwlayer.c:7542
+msgid "Name _Ascending"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:565 ../src/viktrwlayer.c:7548
+msgid "Name _Descending"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:571 ../src/viktrwlayer.c:7449
+#: ../src/viktrwlayer.c:7527 ../src/viktrwlayer.c:7587
+#: ../src/viktrwlayer_tracklist.c:237
+msgid "_Statistics"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:576 ../src/viktrwlayer.c:3971
+msgid "Track _List..."
+msgstr ""
+
+#: ../src/vikdemlayer.c:92
msgid "Absolute height"
msgstr "Absolute Höhe"
-#: ../src/vikdemlayer.c:102
+#: ../src/vikdemlayer.c:93
msgid "Height gradient"
msgstr "Höhen-Gradient"
@@ -1074,35 +1298,62 @@ msgstr "Max. Höhe:"
#: ../src/vikdemlayer.c:134
msgid "_DEM Download"
-msgstr ""
+msgstr "_DEM Download"
#: ../src/vikdemlayer.c:134
msgid "DEM Download"
-msgstr ""
+msgstr "DEM Download"
#: ../src/vikdemlayer.c:188
msgid "DEM"
-msgstr ""
+msgstr "DEM"
-#: ../src/vikdemlayer.c:284
+#: ../src/vikdemlayer.c:287
#, c-format
msgid "Number of files: %d"
msgstr "Anzahl der Dateien: %d"
-#: ../src/vikdemlayer.c:385
+#: ../src/vikdemlayer.c:427
msgid "DEM Loading"
msgstr "Lade DEM"
-#: ../src/vikdemlayer.c:889
+#: ../src/vikdemlayer.c:937
#, c-format
msgid "No SRTM data available for %f, %f"
msgstr "Keine SRTM-Daten für %f, %f verfügbar"
-#: ../src/vikdemlayer.c:1149
+#. Probably not over any land...
+#: ../src/vikdemlayer.c:1193
+msgid "No DEM File Available"
+msgstr ""
+
+#: ../src/vikdemlayer.c:1212
+#, c-format
+msgid ""
+"\n"
+"Source: %s\n"
+"\n"
+"DEM File: %s\n"
+"DEM File Timestamp: %s"
+msgstr ""
+
+#: ../src/vikdemlayer.c:1216
+#, c-format
+msgid ""
+"Source: %s\n"
+"\n"
+"No DEM File!"
+msgstr ""
+
+#: ../src/vikdemlayer.c:1256
#, c-format
msgid "Downloading DEM %s"
msgstr "DEM %s herunterladen"
+#: ../src/vikdemlayer.c:1280
+msgid "_Show DEM File Information"
+msgstr ""
+
#: ../src/vikfileentry.c:68
msgid "Browse..."
msgstr "_Durchsuchen..."
@@ -1123,250 +1374,267 @@ msgstr "Hinzufügen ..."
msgid "Delete"
msgstr "Löschen"
-#: ../src/vikgeoreflayer.c:70
+#: ../src/vikgeoreflayer.c:78
msgid "_Georef Move Map"
msgstr ""
-#: ../src/vikgeoreflayer.c:70
+#: ../src/vikgeoreflayer.c:78
msgid "Georef Move Map"
msgstr "Georef-Karte verschieben"
-#: ../src/vikgeoreflayer.c:77
+#: ../src/vikgeoreflayer.c:85
msgid "Georef Z_oom Tool"
msgstr ""
-#: ../src/vikgeoreflayer.c:77
+#: ../src/vikgeoreflayer.c:85
msgid "Georef Zoom Tool"
msgstr "Georef-Vergrösserungswerkzeug"
-#: ../src/vikgeoreflayer.c:87
+#: ../src/vikgeoreflayer.c:95
msgid "GeoRef Map"
-msgstr ""
+msgstr "GeoRef-Karte"
-#: ../src/vikgeoreflayer.c:335 ../src/vikmapslayer.c:685
+#: ../src/vikgeoreflayer.c:377 ../src/vikmapslayer.c:720
#, c-format
msgid "Couldn't open image file: %s"
msgstr "Konnte Bilddatei nicht öffnen: %s"
-#: ../src/vikgeoreflayer.c:365
+#: ../src/vikgeoreflayer.c:391
+msgid ""
+"GeoRef map cannot be displayed in the current drawmode.\n"
+"Select \"UTM Mode\" from View menu to view it."
+msgstr ""
+
+#: ../src/vikgeoreflayer.c:415
msgid "Unexpected end of file reading World file."
msgstr "Unerwartetes Ende beim Einlesen der Welt-Datei."
-#: ../src/vikgeoreflayer.c:381 ../src/vikgeoreflayer.c:426
+#: ../src/vikgeoreflayer.c:431 ../src/vikgeoreflayer.c:476
msgid "Choose World file"
msgstr "Welt-Datei auswählen"
-#: ../src/vikgeoreflayer.c:394
+#: ../src/vikgeoreflayer.c:444
msgid "The World file you requested could not be opened for reading."
msgstr ""
"Ihre gewünschte Welt-Datei koonte zum Einlesen nicht geöffnet werden."
-#: ../src/vikgeoreflayer.c:439
+#: ../src/vikgeoreflayer.c:489
msgid "The file you requested could not be opened for writing."
msgstr "Die angeforderte Datei konnte nicht zum Schreiben geöffnet werden."
-#: ../src/vikgeoreflayer.c:456 ../src/viklayer.c:480
+#: ../src/vikgeoreflayer.c:506 ../src/viklayer.c:518
msgid "Layer Properties"
msgstr "Ebenen-Eigenschaften"
-#: ../src/vikgeoreflayer.c:478
+#: ../src/vikgeoreflayer.c:528
msgid "World File Parameters:"
msgstr "Welt-Datei-Parameter:"
-#: ../src/vikgeoreflayer.c:479
+#: ../src/vikgeoreflayer.c:529
msgid "Load From File..."
msgstr "Aus Datei laden ..."
-#: ../src/vikgeoreflayer.c:484
+#: ../src/vikgeoreflayer.c:534
msgid "Corner pixel easting:"
msgstr "Pixel östliche Ecke"
-#: ../src/vikgeoreflayer.c:486
-msgid "the UTM \"easting\" value of the upper-right corner pixel of the map"
-msgstr "Der Östliche UTM-Wert des Pixel an der oberen rechten Ecke der Karte"
+#: ../src/vikgeoreflayer.c:536
+msgid "the UTM \"easting\" value of the upper-left corner pixel of the map"
+msgstr ""
-#: ../src/vikgeoreflayer.c:488
+#: ../src/vikgeoreflayer.c:538
msgid "Corner pixel northing:"
msgstr "Pixel. Nördliche Ecke"
-#: ../src/vikgeoreflayer.c:490
-msgid "the UTM \"northing\" value of the upper-right corner pixel of the map"
+#: ../src/vikgeoreflayer.c:540
+msgid "the UTM \"northing\" value of the upper-left corner pixel of the map"
msgstr ""
-"Der Nördliche UTM-Wert des Pixel an der oberen rechten Ecke der Karte"
-#: ../src/vikgeoreflayer.c:492
+#: ../src/vikgeoreflayer.c:542
msgid "X (easting) scale (mpp): "
msgstr "X (Ostwert) Maßstab (mpp): "
-#: ../src/vikgeoreflayer.c:493
+#: ../src/vikgeoreflayer.c:543
msgid "Y (northing) scale (mpp): "
msgstr "Y (Nordwert) Maßstab (mpp): "
-#: ../src/vikgeoreflayer.c:496
+#: ../src/vikgeoreflayer.c:546
msgid "the scale of the map in the X direction (meters per pixel)"
msgstr "Maßstab in X-Richtung (Meter pro Pixel)"
-#: ../src/vikgeoreflayer.c:498
+#: ../src/vikgeoreflayer.c:548
msgid "the scale of the map in the Y direction (meters per pixel)"
msgstr "Maßstab in Y-Richtung (Meter pro Pixel)"
-#: ../src/vikgeoreflayer.c:500
+#: ../src/vikgeoreflayer.c:550
msgid "Map Image:"
msgstr "Karten-Bild:"
#. Now with icons
-#: ../src/vikgeoreflayer.c:608
+#: ../src/vikgeoreflayer.c:658
msgid "_Zoom to Fit Map"
msgstr "_Zoom (zum Einpassen der Karte)"
-#: ../src/vikgeoreflayer.c:614
+#: ../src/vikgeoreflayer.c:664
msgid "_Goto Map Center"
msgstr "_Gehe zum Kartenmittelpunkt"
-#: ../src/vikgeoreflayer.c:620
+#: ../src/vikgeoreflayer.c:670
msgid "_Export to World File"
msgstr "_Export als Welt-Datei"
-#: ../src/vikgoto.c:75
+#: ../src/vikgoto.c:81
msgid "No goto tool available."
msgstr "Kein \"Gehe zu\"-Werkzeug verfügbar"
-#: ../src/vikgoto.c:88 ../src/vikgoto.c:107
+#: ../src/vikgoto.c:94 ../src/vikgoto.c:148
msgid "goto"
msgstr "Gehe zu"
-#: ../src/vikgoto.c:90
+#: ../src/vikgoto.c:96
msgid "I don't know that place. Do you want another goto?"
msgstr "Dieser Ort ist unbekannt. Wollen Sie einen anderen wählen?"
-#: ../src/vikgoto.c:109
+#: ../src/vikgoto.c:150
msgid "goto provider:"
msgstr "Suchanbieter:"
-#: ../src/vikgoto.c:124
+#: ../src/vikgoto.c:165
msgid "Enter address or place name:"
msgstr "Adresse oder Namen des Ortes eingeben:"
-#: ../src/vikgpslayer.c:127
-msgid "Data Mode"
+#: ../src/vikgoto.c:363
+msgid "Locality"
msgstr ""
-#: ../src/vikgpslayer.c:129
+#: ../src/vikgpslayer.c:128
+msgid "Data Mode"
+msgstr "Daten-Modus"
+
+#: ../src/vikgpslayer.c:130
msgid "Realtime Tracking Mode"
-msgstr ""
+msgstr "Echtzeit-Verfolgungsmodus"
-#: ../src/vikgpslayer.c:137
+#: ../src/vikgpslayer.c:167
msgid "Keep vehicle at center"
-msgstr ""
+msgstr "Fahrzeug im Zentrum halten"
-#: ../src/vikgpslayer.c:138
+#: ../src/vikgpslayer.c:168
msgid "Keep vehicle on screen"
msgstr ""
-#: ../src/vikgpslayer.c:139
+#: ../src/vikgpslayer.c:169
msgid "Disable"
-msgstr ""
+msgstr "Deaktivieren"
-#: ../src/vikgpslayer.c:152
+#: ../src/vikgpslayer.c:209
msgid "Download Tracks:"
msgstr "GPS-Spuren herunterladen:"
-#: ../src/vikgpslayer.c:153
+#: ../src/vikgpslayer.c:210
msgid "Upload Tracks:"
msgstr "GPS-Spuren zum Hochladen:"
-#: ../src/vikgpslayer.c:154
+#: ../src/vikgpslayer.c:211
msgid "Download Routes:"
-msgstr ""
+msgstr "Routen herunterladen:"
-#: ../src/vikgpslayer.c:155
+#: ../src/vikgpslayer.c:212
msgid "Upload Routes:"
-msgstr ""
+msgstr "Routen hinaufladen:"
-#: ../src/vikgpslayer.c:156
+#: ../src/vikgpslayer.c:213
msgid "Download Waypoints:"
msgstr "Wegpunkte zum Herunterladen:"
-#: ../src/vikgpslayer.c:157
+#: ../src/vikgpslayer.c:214
msgid "Upload Waypoints:"
msgstr "Wegpunkte zum Hochladen:"
-#: ../src/vikgpslayer.c:159
+#: ../src/vikgpslayer.c:216
msgid "Recording tracks"
msgstr "Spur aufzeichen"
-#: ../src/vikgpslayer.c:160
+#: ../src/vikgpslayer.c:217
msgid "Jump to current position on start"
msgstr "Beim Start zu dieser Position springen"
-#: ../src/vikgpslayer.c:161
+#: ../src/vikgpslayer.c:218
msgid "Moving Map Method:"
msgstr "Kartenverschiebungsmethode:"
-#: ../src/vikgpslayer.c:162
+#: ../src/vikgpslayer.c:219
+msgid "Update Statusbar:"
+msgstr ""
+
+#: ../src/vikgpslayer.c:219
+msgid "Display information in the statusbar on GPS updates"
+msgstr ""
+
+#: ../src/vikgpslayer.c:220
msgid "Gpsd Host:"
msgstr "Gpsd-Rechner:"
-#: ../src/vikgpslayer.c:163
+#: ../src/vikgpslayer.c:221
msgid "Gpsd Port:"
msgstr "Gpsd-Port:"
-#: ../src/vikgpslayer.c:164
+#: ../src/vikgpslayer.c:222
msgid "Gpsd Retry Interval (seconds):"
msgstr "Gpsd-Empfangs-Interval (Sekunden):"
-#: ../src/vikgpslayer.c:179
+#: ../src/vikgpslayer.c:243
msgid "GPS"
-msgstr ""
+msgstr "GPS"
-#: ../src/vikgpslayer.c:242 ../src/vikgpslayer.c:1258
+#: ../src/vikgpslayer.c:306 ../src/vikgpslayer.c:1308
msgid "GPS Download"
msgstr "Von GPS-Gerät herunterladen"
-#: ../src/vikgpslayer.c:242 ../src/vikgpslayer.c:1258
-#: ../src/viktrwlayer.c:3094
+#: ../src/vikgpslayer.c:306 ../src/vikgpslayer.c:1308
+#: ../src/viktrwlayer.c:3480
msgid "GPS Upload"
msgstr "Zum GPS-Gerät senden"
-#: ../src/vikgpslayer.c:244
+#: ../src/vikgpslayer.c:308
msgid "GPS Realtime Tracking"
msgstr "GPS-Echtzeitverfolgung"
-#: ../src/vikgpslayer.c:451
+#: ../src/vikgpslayer.c:517
msgid "Unknown GPS Protocol"
msgstr "Unbekanntes GPS-Protokoll"
-#: ../src/vikgpslayer.c:469
+#: ../src/vikgpslayer.c:535
msgid "Unknown serial port device"
msgstr "Unbekanntes serielles Schnittstellengerät"
-#: ../src/vikgpslayer.c:572
+#: ../src/vikgpslayer.c:648
#, c-format
msgid "%s: unknown parameter"
msgstr "%s: unbekannter Parameter"
#. Now with icons
-#: ../src/vikgpslayer.c:693
+#: ../src/vikgpslayer.c:743
msgid "_Upload to GPS"
msgstr "Auf GPS-Gerät _hochladen"
-#: ../src/vikgpslayer.c:699
+#: ../src/vikgpslayer.c:749
msgid "Download from _GPS"
msgstr "Vom _GPS-Gerät herunterladen"
-#: ../src/vikgpslayer.c:720
+#: ../src/vikgpslayer.c:770
msgid "Empty _Realtime"
msgstr "Echtzeitaufzeichnnung _löschen"
-#: ../src/vikgpslayer.c:727
+#: ../src/vikgpslayer.c:777
msgid "E_mpty Upload"
msgstr "L_ösche Hochgeladenes"
-#: ../src/vikgpslayer.c:733
+#: ../src/vikgpslayer.c:783
msgid "_Empty Download"
msgstr "_Lösche Heruntergeladenes"
-#: ../src/vikgpslayer.c:739
+#: ../src/vikgpslayer.c:789
msgid "Empty _All"
msgstr "Lösche _alles"
@@ -1375,236 +1643,234 @@ msgstr "Lösche _alles"
#. This happens when copied GPS layer is deleted (not sure why the number_handlers would be 2)
#. I don't think there's any side effects and certainly better than the program just aborting
#.
-#: ../src/vikgpslayer.c:756
+#: ../src/vikgpslayer.c:806
#, c-format
msgid "Unexpected number of disconnected handlers: %d"
msgstr "Unerwartete Anzahl an \"disconnected handlers\": %d"
-#: ../src/vikgpslayer.c:898
+#: ../src/vikgpslayer.c:948
#, c-format
msgid "Uploading %d waypoint..."
msgid_plural "Uploading %d waypoints..."
msgstr[0] "%d Wegpunkt hochladen..."
msgstr[1] "%d Wegpunkte hochladen..."
-#: ../src/vikgpslayer.c:899
+#: ../src/vikgpslayer.c:949
#, c-format
msgid "Uploading %d trackpoint..."
msgid_plural "Uploading %d trackpoints..."
msgstr[0] "%d Spurpunkt hochladen..."
msgstr[1] "%d Spurpunkte hochladen..."
-#: ../src/vikgpslayer.c:900
+#: ../src/vikgpslayer.c:950
#, c-format
msgid "Uploading %d routepoint..."
msgid_plural "Uploading %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:925
+#: ../src/vikgpslayer.c:975
#, c-format
msgid "Downloaded %d out of %d waypoint..."
msgid_plural "Downloaded %d out of %d waypoints..."
msgstr[0] "%d von %d Wegpunkt heruntergeladen..."
msgstr[1] "%d von %d Wegpunkten heruntergeladen..."
-#: ../src/vikgpslayer.c:926
+#: ../src/vikgpslayer.c:976
#, c-format
msgid "Downloaded %d out of %d trackpoint..."
msgid_plural "Downloaded %d out of %d trackpoints..."
msgstr[0] "%d von %d Spurpunkt heruntergeladen..."
msgstr[1] "%d von %d Spurpunkten heruntergeladen..."
-#: ../src/vikgpslayer.c:927
+#: ../src/vikgpslayer.c:977
#, c-format
msgid "Downloaded %d out of %d routepoint..."
msgid_plural "Downloaded %d out of %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:932
+#: ../src/vikgpslayer.c:982
#, c-format
msgid "Uploaded %d out of %d waypoint..."
msgid_plural "Uploaded %d out of %d waypoints..."
msgstr[0] "%d von %d Wegpunkt heruntergeladen ..."
msgstr[1] "%d von %d Wegpunkte heruntergeladen ..."
-#: ../src/vikgpslayer.c:933
+#: ../src/vikgpslayer.c:983
#, c-format
msgid "Uploaded %d out of %d trackpoint..."
msgid_plural "Uploaded %d out of %d trackpoints..."
msgstr[0] "%d von %d Spurpunkt heruntergeladen ..."
msgstr[1] "%d von %d Spurpunkten heruntergeladen ..."
-#: ../src/vikgpslayer.c:934
+#: ../src/vikgpslayer.c:984
#, c-format
msgid "Uploaded %d out of %d routepoint..."
msgid_plural "Uploaded %d out of %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:942
+#: ../src/vikgpslayer.c:992
#, c-format
msgid "Downloaded %d waypoint"
msgid_plural "Downloaded %d waypoints"
msgstr[0] "%d Wegpunkt heruntergeladen"
msgstr[1] "%d Wegpunkte heruntergeladen"
-#: ../src/vikgpslayer.c:943
+#: ../src/vikgpslayer.c:993
#, c-format
msgid "Downloaded %d trackpoint"
msgid_plural "Downloaded %d trackpoints"
msgstr[0] "%d Spurpunkt heruntergeladen"
msgstr[1] "%d Spurpunkte heruntergeladen"
-#: ../src/vikgpslayer.c:944
+#: ../src/vikgpslayer.c:994
#, c-format
msgid "Downloaded %d routepoint"
msgid_plural "Downloaded %d routepoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:949
+#: ../src/vikgpslayer.c:999
#, c-format
msgid "Uploaded %d waypoint"
msgid_plural "Uploaded %d waypoints"
msgstr[0] "%d Wegpunkt heruntergeladen"
msgstr[1] "%d Wegpunkte heruntergeladen"
-#: ../src/vikgpslayer.c:950
+#: ../src/vikgpslayer.c:1000
#, c-format
msgid "Uploaded %d trackpoint"
msgid_plural "Uploaded %d trackpoints"
msgstr[0] "%d Spurpunkt heruntergeladen"
msgstr[1] "%d Spurpunkte heruntergeladen"
-#: ../src/vikgpslayer.c:951
+#: ../src/vikgpslayer.c:1001
#, c-format
msgid "Uploaded %d routepoint"
msgid_plural "Uploaded %d routepoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:1180
+#: ../src/vikgpslayer.c:1230
msgid "Error: couldn't find gpsbabel."
msgstr "Fehler: gpsbabel nicht gefunden."
-#: ../src/vikgpslayer.c:1269
+#: ../src/vikgpslayer.c:1319
msgid "Warning - GPS Upload items may overwrite each other"
msgstr ""
-#: ../src/vikgpslayer.c:1301
+#: ../src/vikgpslayer.c:1351
msgid "Status: detecting gpsbabel"
msgstr "Status: Suche nach gpsbabel"
-#: ../src/vikgpslayer.c:1332
+#: ../src/vikgpslayer.c:1386
msgid "No GPS items selected for transfer."
msgstr ""
-#: ../src/vikgpslayer.c:1347
+#: ../src/vikgpslayer.c:1401
msgid "Could not turn off device."
msgstr ""
-#: ../src/vikgpslayer.c:1385
+#: ../src/vikgpslayer.c:1439
msgid "Are you sure you want to delete GPS Upload data?"
msgstr ""
"Sind sie sicher, dass sie die GPS-Daten zum Hochladen löschen möchten?"
-#: ../src/vikgpslayer.c:1398
+#: ../src/vikgpslayer.c:1452
msgid "Are you sure you want to delete GPS Download data?"
msgstr ""
"Sind sie sicher, dass sie die GPS-Daten zum Herunterladen löschen möchten?"
-#: ../src/vikgpslayer.c:1412
+#: ../src/vikgpslayer.c:1466
msgid "Are you sure you want to delete GPS Realtime data?"
msgstr "Sind sie sicher, dass sie die GPS-Echtzeitdaten löschen möchten?"
-#: ../src/vikgpslayer.c:1425
+#: ../src/vikgpslayer.c:1479
msgid "Are you sure you want to delete All GPS data?"
msgstr "Sind sie sicher, dass sie alle GPS-Daten löschen möchten?"
-#: ../src/viklayerspanel.c:55
-msgid "/C_ut"
-msgstr "/A_usschneiden"
+#: ../src/viklayerspanel.c:53
+msgid "C_ut"
+msgstr ""
-#: ../src/viklayerspanel.c:56
-msgid "/_Copy"
-msgstr "/_Kopieren"
+#: ../src/viklayerspanel.c:54 ../src/vikwindow.c:3753
+msgid "_Copy"
+msgstr "K_opieren"
-#: ../src/viklayerspanel.c:57
-msgid "/_Paste"
-msgstr "/_Einfügen"
+#: ../src/viklayerspanel.c:55 ../src/vikwindow.c:3754
+msgid "_Paste"
+msgstr "_Einfügen"
-#: ../src/viklayerspanel.c:58
-msgid "/_Delete"
-msgstr "/_Löschen"
+#: ../src/viklayerspanel.c:56 ../src/vikwindow.c:3755
+msgid "_Delete"
+msgstr "_Löschen"
-#: ../src/viklayerspanel.c:59
-msgid "/New Layer"
-msgstr "/Neue Ebene"
+#: ../src/viklayerspanel.c:133
+msgid "New Layer"
+msgstr ""
-#: ../src/viklayerspanel.c:127
+#: ../src/viklayerspanel.c:178
msgid "Top Layer"
msgstr "Oberste Ebene"
-#: ../src/viklayerspanel.c:143
+#: ../src/viklayerspanel.c:194
msgid "Add new layer"
msgstr "Eine neue Ebene hinzufügen"
-#: ../src/viklayerspanel.c:150
+#: ../src/viklayerspanel.c:201
msgid "Remove selected layer"
msgstr "Ausgewählte Ebene entfernen"
-#: ../src/viklayerspanel.c:157
+#: ../src/viklayerspanel.c:208
msgid "Move selected layer up"
msgstr "Gewählte Ebene nach oben verschieben"
-#: ../src/viklayerspanel.c:164
+#: ../src/viklayerspanel.c:215
msgid "Move selected layer down"
msgstr "Gewählte Ebene nach unten veraschieben"
-#: ../src/viklayerspanel.c:171
+#: ../src/viklayerspanel.c:222
msgid "Cut selected layer"
msgstr "Gewählte Ebene ausschneiden"
-#: ../src/viklayerspanel.c:178
+#: ../src/viklayerspanel.c:229
msgid "Copy selected layer"
msgstr "Gewählte Ebene kopieren"
-#: ../src/viklayerspanel.c:185
-msgid "Paste layer below selected layer"
-msgstr "Ebene unterhalb gewählter Ebene einfügen"
+#: ../src/viklayerspanel.c:236
+msgid ""
+"Paste layer into selected container layer or otherwise above selected layer"
+msgstr ""
-#. TODO: FIXME: if name has a '/' in it it will get all messed up. why not have an itemfactory field with
-#. name, icon, shortcut, etc.?
-#: ../src/viklayerspanel.c:204 ../src/vikwindow.c:3292
-#, c-format
-msgid "New _%s Layer"
+#: ../src/viklayerspanel.c:300
+msgid "New name can not be blank."
msgstr ""
-#: ../src/viklayerspanel.c:511
+#: ../src/viklayerspanel.c:544
msgid "Aggregate Layers have no settable properties."
msgstr "Zusammengefügte Ebenen ohne gemeinsame Eigenschaft."
-#: ../src/viklayerspanel.c:555
+#: ../src/viklayerspanel.c:588
msgid "You cannot cut the Top Layer."
msgstr "Sie können die oberste Ebene nicht ausschneiden."
-#: ../src/viklayerspanel.c:600
+#: ../src/viklayerspanel.c:633
#, c-format
msgid "Are you sure you want to delete %s?"
msgstr "Sind Sie sicher, dass sie %s löschen möchten?"
-#: ../src/viklayerspanel.c:617
+#: ../src/viklayerspanel.c:650
msgid "You cannot delete the Top Layer."
msgstr "Sie können die oberste Ebene nicht löschen."
-#: ../src/viklayerspanel.c:701
+#: ../src/viklayerspanel.c:734
msgid "Are you sure you wish to delete all layers?"
msgstr "Sind Sie sicher, dass Sie alle Ebenen löschen wollen?"
#. ******* MAPZOOMS ********
-#: ../src/vikmapslayer.c:91
+#: ../src/vikmapslayer.c:80
msgid "Use Viking Zoom Level"
msgstr "Viking-Vergrösserungsstufe benutzen"
@@ -1651,35 +1917,35 @@ msgid ""
"actual zoom level."
msgstr ""
-#: ../src/vikmapslayer.c:146
+#: ../src/vikmapslayer.c:156
msgid "_Maps Download"
-msgstr ""
+msgstr "_Karten herunterladen"
-#: ../src/vikmapslayer.c:146
+#: ../src/vikmapslayer.c:156
msgid "Maps Download"
msgstr "Herunterladen von Karten"
-#: ../src/vikmapslayer.c:161
+#: ../src/vikmapslayer.c:171
msgid "Map"
msgstr "Karte"
-#: ../src/vikmapslayer.c:249
-msgid "Default maplayer directory:"
-msgstr "Standardverzeichnis für Kartenebenen:"
+#: ../src/vikmapslayer.c:259
+msgid "Default map layer directory:"
+msgstr ""
-#: ../src/vikmapslayer.c:249
+#: ../src/vikmapslayer.c:259
msgid "Choose a directory to store cached Map tiles for this layer"
msgstr ""
-#: ../src/vikmapslayer.c:505
+#: ../src/vikmapslayer.c:523
msgid "Unknown map type"
msgstr "Unbekannter Kartentyp"
-#: ../src/vikmapslayer.c:516
+#: ../src/vikmapslayer.c:534
msgid "Unknown Map Zoom"
msgstr "Unbekannte Kartenvergrösserung"
-#: ../src/vikmapslayer.c:589
+#: ../src/vikmapslayer.c:624
#, c-format
msgid ""
"New map cannot be displayed in the current drawmode.\n"
@@ -1688,35 +1954,35 @@ msgstr ""
"Neue Karte kann im aktuellen Zeichenmodus nicht angezeigt werden.\n"
"Wähle \"%s\" aus dem Ansichtmenü."
-#: ../src/vikmapslayer.c:753
+#: ../src/vikmapslayer.c:798
#, c-format
msgid ""
"Cowardly refusing to draw tiles or existence of tiles beyond %d zoom out "
"factor"
msgstr "Schlechte Kacheldarstellung beim Herauszoomen hinter Faktor %d"
-#: ../src/vikmapslayer.c:1157
+#: ../src/vikmapslayer.c:1210
#, c-format
msgid "Redownloading up to %d %s map..."
msgid_plural "Redownloading up to %d %s maps..."
msgstr[0] "Neuladen von bis zu %d %s Karten..."
msgstr[1] "Neuladen von bis zu %d %s Karten..."
-#: ../src/vikmapslayer.c:1159
+#: ../src/vikmapslayer.c:1212
#, c-format
msgid "Redownloading %d %s map..."
msgid_plural "Redownloading %d %s maps..."
msgstr[0] "Erneutes Herunterladen der %d %s Karte..."
msgstr[1] "Erneutes Herunterladen der %d %s Karten..."
-#: ../src/vikmapslayer.c:1163 ../src/vikmapslayer.c:1238
+#: ../src/vikmapslayer.c:1216 ../src/vikmapslayer.c:1290
#, c-format
msgid "Downloading %d %s map..."
msgid_plural "Downloading %d %s maps..."
msgstr[0] "Herunterladen der %d %s Karte..."
msgstr[1] "Erneutes Herunterladen der %d %s Karten..."
-#: ../src/vikmapslayer.c:1311
+#: ../src/vikmapslayer.c:1376
#, c-format
msgid ""
"\n"
@@ -1726,7 +1992,7 @@ msgid ""
"Tile File Timestamp: %s"
msgstr ""
-#: ../src/vikmapslayer.c:1318
+#: ../src/vikmapslayer.c:1380
#, c-format
msgid ""
"Source: %s\n"
@@ -1734,23 +2000,23 @@ msgid ""
"No Tile File!"
msgstr ""
-#: ../src/vikmapslayer.c:1356
+#: ../src/vikmapslayer.c:1418
msgid "Redownload _Bad Map(s)"
msgstr "_Fehlerhafte Karte(n) erneut laden"
-#: ../src/vikmapslayer.c:1360
+#: ../src/vikmapslayer.c:1422
msgid "Redownload _New Map(s)"
msgstr "_Neue Karte(n) erneut laden"
-#: ../src/vikmapslayer.c:1364
+#: ../src/vikmapslayer.c:1426
msgid "Redownload _All Map(s)"
msgstr "_Alle Karten neu laden"
-#: ../src/vikmapslayer.c:1368
+#: ../src/vikmapslayer.c:1430
msgid "_Show Tile Information"
msgstr ""
-#: ../src/vikmapslayer.c:1449
+#: ../src/vikmapslayer.c:1511
#, c-format
msgid ""
"Wrong drawmode for this map.\n"
@@ -1759,300 +2025,399 @@ msgstr ""
"Falscher Zeichenmodus für diese Karte.\n"
"Wähle \"%s\" aus dem Ansichtmenü und versuche es neu."
-#: ../src/vikmapslayer.c:1454
+#: ../src/vikmapslayer.c:1516
msgid "Wrong zoom level for this map."
msgstr "Falsche Vergrösserungsstufe für diese Karte."
+#: ../src/vikmapslayer.c:1647
+msgid "Zoom Start:"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1654
+msgid "Zoom End:"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1660
+msgid "Download Maps Method:"
+msgstr ""
+
+#. redownload method - needs to align with REDOWNLOAD* macro values
+#: ../src/vikmapslayer.c:1732
+msgid "Missing"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1732
+msgid "Bad"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1732
+msgid "New"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1732
+msgid "Reload All"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1734
+msgid "Download for Zoom Levels"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1774
+#, c-format
+msgid ""
+"You are not allowed to download more than %d tiles in one go (requested %d)"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1782
+#, c-format
+msgid "Do you really want to download %d tiles?"
+msgstr ""
+
#. Now with icons
-#: ../src/vikmapslayer.c:1485
+#: ../src/vikmapslayer.c:1807
msgid "Download _Missing Onscreen Maps"
msgstr "_Fehlende Bildschirmkarte laden"
-#: ../src/vikmapslayer.c:1492
+#: ../src/vikmapslayer.c:1814
msgid "Download _New Onscreen Maps"
msgstr "_Neue Bildschirmkarte laden"
-#: ../src/vikmapslayer.c:1499
+#: ../src/vikmapslayer.c:1821
msgid "Reload _All Onscreen Maps"
msgstr "Alle _Bildschirmkarten erneut laden"
-#: ../src/viktreeview.c:263
+#: ../src/vikmapslayer.c:1827
+msgid "Download Maps in _Zoom Levels..."
+msgstr ""
+
+#: ../src/vikrouting.c:54
+msgid "Default engine:"
+msgstr ""
+
+#: ../src/viktreeview.c:316
msgid "Layer Name"
msgstr "Name der Ebene"
-#: ../src/viktreeview.c:742
+#: ../src/viktreeview.c:851
#, c-format
msgid "delete data from %s\n"
msgstr "Daten von %s löschen\n"
-#: ../src/viktrwlayer.c:377
+#: ../src/viktrwlayer.c:398
msgid "Create _Waypoint"
-msgstr ""
+msgstr "_Wegpunkt erzeugen"
-#: ../src/viktrwlayer.c:377
+#: ../src/viktrwlayer.c:398
msgid "Create Waypoint"
msgstr "Weg_punkt erstellen"
-#: ../src/viktrwlayer.c:383
+#: ../src/viktrwlayer.c:404
msgid "Create _Track"
-msgstr ""
+msgstr "_Track erzeugen"
-#: ../src/viktrwlayer.c:383
+#: ../src/viktrwlayer.c:404
msgid "Create Track"
msgstr "Spur er_zeugen"
-#: ../src/viktrwlayer.c:392
+#: ../src/viktrwlayer.c:413
msgid "Create _Route"
-msgstr ""
+msgstr "_Route erzeugen"
-#: ../src/viktrwlayer.c:392
+#: ../src/viktrwlayer.c:413
msgid "Create Route"
-msgstr ""
+msgstr "Route erzeugen"
-#: ../src/viktrwlayer.c:401
+#: ../src/viktrwlayer.c:422
msgid "_Edit Waypoint"
-msgstr ""
+msgstr "Wegpunkt b_earbeiten"
-#: ../src/viktrwlayer.c:401
+#: ../src/viktrwlayer.c:422
msgid "Edit Waypoint"
msgstr "Wegpunkt _bearbeiten"
-#: ../src/viktrwlayer.c:409
+#: ../src/viktrwlayer.c:432
msgid "Edit Trac_kpoint"
-msgstr ""
+msgstr "Trac_kpunkt bearbeiten"
-#: ../src/viktrwlayer.c:409
+#: ../src/viktrwlayer.c:432
msgid "Edit Trackpoint"
msgstr "Spurpun_kt bearbeiten"
-#: ../src/viktrwlayer.c:417
+#: ../src/viktrwlayer.c:442
msgid "Show P_icture"
-msgstr ""
+msgstr "B_ild anzeigen"
-#: ../src/viktrwlayer.c:417
+#: ../src/viktrwlayer.c:442
msgid "Show Picture"
msgstr "Bild _anzeigen"
-#: ../src/viktrwlayer.c:424
+#: ../src/viktrwlayer.c:448
msgid "Route _Finder"
msgstr ""
-#: ../src/viktrwlayer.c:424
+#: ../src/viktrwlayer.c:448
msgid "Route Finder"
msgstr "Routensuche"
#. ***** PARAMETERS *****
-#: ../src/viktrwlayer.c:447 ../src/viktrwlayer.c:1942
-#: ../src/viktrwlayer.c:1944
+#: ../src/viktrwlayer.c:468 ../src/viktrwlayer.c:2324
msgid "Waypoints"
msgstr "Wegpunkte"
-#: ../src/viktrwlayer.c:447 ../src/viktrwlayer.c:1933
-#: ../src/viktrwlayer.c:1935
+#: ../src/viktrwlayer.c:468 ../src/viktrwlayer.c:2319
msgid "Tracks"
msgstr "Spuren"
-#: ../src/viktrwlayer.c:447
+#: ../src/viktrwlayer.c:468
msgid "Waypoint Images"
msgstr "Wegpunkt-Bilder"
-#: ../src/viktrwlayer.c:450
+#: ../src/viktrwlayer.c:468
+msgid "Tracks Advanced"
+msgstr ""
+
+#: ../src/viktrwlayer.c:471
msgid "Draw by Track"
msgstr "Von Spur gezeichnet"
-#: ../src/viktrwlayer.c:450
+#: ../src/viktrwlayer.c:471
msgid "Draw by Speed"
msgstr ""
-#: ../src/viktrwlayer.c:450
+#: ../src/viktrwlayer.c:471
msgid "All Tracks Same Color"
-msgstr ""
+msgstr "Alle Spuren mit der gleichen Farbe"
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "Filled Square"
msgstr "Rechteck ausgefüllt"
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "Square"
msgstr "Quadrat"
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "Circle"
msgstr "Kreis"
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "X"
msgstr "X"
-#: ../src/viktrwlayer.c:477
+#: ../src/viktrwlayer.c:498
msgid "Extra Extra Small"
-msgstr ""
+msgstr "Sehr sehr klein"
-#: ../src/viktrwlayer.c:478
+#: ../src/viktrwlayer.c:499
msgid "Extra Small"
-msgstr ""
+msgstr "Sehr klein"
-#: ../src/viktrwlayer.c:479
+#: ../src/viktrwlayer.c:500
msgid "Small"
-msgstr ""
+msgstr "Klein"
-#: ../src/viktrwlayer.c:480
+#: ../src/viktrwlayer.c:501
msgid "Medium"
-msgstr ""
+msgstr "Mittel"
-#: ../src/viktrwlayer.c:481
+#: ../src/viktrwlayer.c:502
msgid "Large"
-msgstr ""
+msgstr "Groß"
-#: ../src/viktrwlayer.c:482
+#: ../src/viktrwlayer.c:503
msgid "Extra Large"
-msgstr ""
+msgstr "Sehr groß"
-#: ../src/viktrwlayer.c:483
+#: ../src/viktrwlayer.c:504
msgid "Extra Extra Large"
+msgstr "Sehr sehr groß"
+
+#: ../src/viktrwlayer.c:510
+msgid "Name Ascending"
msgstr ""
-#: ../src/viktrwlayer.c:491
+#: ../src/viktrwlayer.c:511
+msgid "Name Descending"
+msgstr ""
+
+#: ../src/viktrwlayer.c:552 ../src/viktrwlayer.c:576
+msgid "Draw Labels"
+msgstr "Beschriftungen zeichnen"
+
+#: ../src/viktrwlayer.c:553
+msgid "Note: the individual track controls what labels may be displayed"
+msgstr ""
+
+#: ../src/viktrwlayer.c:554
+msgid "Track Labels Font Size:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:555
msgid "Track Drawing Mode:"
msgstr "Spur-Zeichenmodus"
-#: ../src/viktrwlayer.c:492
+#: ../src/viktrwlayer.c:556
msgid "All Tracks Color:"
-msgstr ""
+msgstr "Alle Spuren-Farbe:"
-#: ../src/viktrwlayer.c:493
+#: ../src/viktrwlayer.c:557
msgid "The color used when 'All Tracks Same Color' drawing mode is selected"
msgstr ""
-#: ../src/viktrwlayer.c:494
+#: ../src/viktrwlayer.c:558
msgid "Draw Track Lines"
msgstr "Spurlinien zeichnen"
-#: ../src/viktrwlayer.c:495
+#: ../src/viktrwlayer.c:559
msgid "Track Thickness:"
msgstr "Spur-Dicke:"
-#: ../src/viktrwlayer.c:496
+#: ../src/viktrwlayer.c:560
msgid "Draw Track Direction"
msgstr ""
-#: ../src/viktrwlayer.c:497
+#: ../src/viktrwlayer.c:561
msgid "Direction Size:"
msgstr ""
-#: ../src/viktrwlayer.c:498
+#: ../src/viktrwlayer.c:562
msgid "Draw Trackpoints"
msgstr "Spurpunkte zeichnen"
-#: ../src/viktrwlayer.c:499
+#: ../src/viktrwlayer.c:563
msgid "Trackpoint Size:"
msgstr ""
-#: ../src/viktrwlayer.c:500
+#: ../src/viktrwlayer.c:564
msgid "Draw Elevation"
msgstr "Steigungen zeichnen"
-#: ../src/viktrwlayer.c:501
+#: ../src/viktrwlayer.c:565
msgid "Draw Elevation Height %:"
msgstr "Steigungshöhe zeichnen %:"
-#: ../src/viktrwlayer.c:503
+#: ../src/viktrwlayer.c:566
msgid "Draw Stops"
msgstr "Stopps zeichnen"
-#: ../src/viktrwlayer.c:504
+#: ../src/viktrwlayer.c:567
msgid ""
"Whether to draw a marker when trackpoints are at the same position but over "
"the minimum stop length apart in time"
msgstr ""
-#: ../src/viktrwlayer.c:505
+#: ../src/viktrwlayer.c:568
msgid "Min Stop Length (seconds):"
msgstr "Minimale Stopp-Dauer (Sekunden):"
-#: ../src/viktrwlayer.c:507
+#: ../src/viktrwlayer.c:570
msgid "Track BG Thickness:"
msgstr "Spur-Hintergrund-Dicke:"
-#: ../src/viktrwlayer.c:508
+#: ../src/viktrwlayer.c:571
msgid "Track Background Color"
msgstr "Spur-Hintergrundfarbe:"
-#: ../src/viktrwlayer.c:509
+#: ../src/viktrwlayer.c:572
msgid "Draw by Speed Factor (%):"
msgstr ""
-#: ../src/viktrwlayer.c:510
+#: ../src/viktrwlayer.c:573
msgid ""
"The percentage factor away from the average speed determining the color used"
msgstr ""
-#: ../src/viktrwlayer.c:512
-msgid "Draw Labels"
-msgstr "Beschriftungen zeichnen"
+#: ../src/viktrwlayer.c:574
+msgid "Track Sort Order:"
+msgstr ""
-#: ../src/viktrwlayer.c:513
+#: ../src/viktrwlayer.c:577
msgid "Waypoint Font Size:"
-msgstr ""
+msgstr "Wegpunkt-Schriftgrösse:"
-#: ../src/viktrwlayer.c:514
+#: ../src/viktrwlayer.c:578
msgid "Waypoint Color:"
msgstr "Wegpunkt-Farbe:"
-#: ../src/viktrwlayer.c:515
+#: ../src/viktrwlayer.c:579
msgid "Waypoint Text:"
msgstr "Wegpunkt-Text:"
-#: ../src/viktrwlayer.c:516
+#: ../src/viktrwlayer.c:580
msgid "Background:"
msgstr "Hintergrund:"
-#: ../src/viktrwlayer.c:517
+#: ../src/viktrwlayer.c:581
msgid "Fake BG Color Translucency:"
msgstr "Falsche Hintergrund-Farbdurchsichtigkeit:"
-#: ../src/viktrwlayer.c:518
+#: ../src/viktrwlayer.c:582
msgid "Waypoint marker:"
msgstr "Wegpunkt-Markierung"
-#: ../src/viktrwlayer.c:519
+#: ../src/viktrwlayer.c:583
msgid "Waypoint size:"
msgstr "Wegpunkt-Grösse:"
-#: ../src/viktrwlayer.c:520
+#: ../src/viktrwlayer.c:584
msgid "Draw Waypoint Symbols:"
msgstr "Wegpunkt-Symbol zeichnen:"
-#: ../src/viktrwlayer.c:522
+#: ../src/viktrwlayer.c:585
+msgid "Waypoint Sort Order:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:587
msgid "Draw Waypoint Images"
msgstr "Wegpunkt-Bild zeichnen:"
-#: ../src/viktrwlayer.c:523
+#: ../src/viktrwlayer.c:588
msgid "Image Size (pixels):"
msgstr "Bild-Grösse (Pixel):"
-#: ../src/viktrwlayer.c:524
+#: ../src/viktrwlayer.c:589
msgid "Image Alpha:"
msgstr "Bild Alpha-Wert:"
-#: ../src/viktrwlayer.c:525
+#: ../src/viktrwlayer.c:590
msgid "Image Memory Cache Size:"
msgstr "Bildspeicher Puffergröße:"
-#: ../src/viktrwlayer.c:610
+#: ../src/viktrwlayer.c:678
msgid "TrackWaypoint"
+msgstr "TrackWegpunkt"
+
+#: ../src/viktrwlayer.c:1534 ../src/vikutils.c:204
+msgid "miles"
msgstr ""
-#: ../src/viktrwlayer.c:1951 ../src/viktrwlayer.c:1953
-msgid "Routes"
+#. VIK_UNITS_DISTANCE_KILOMETRES:
+#: ../src/viktrwlayer.c:1538 ../src/vikutils.c:209
+msgid "km"
+msgstr ""
+
+#: ../src/viktrwlayer.c:1648
+msgid "start/end"
+msgstr ""
+
+#: ../src/viktrwlayer.c:1660
+msgid "start"
+msgstr ""
+
+#: ../src/viktrwlayer.c:1669
+msgid "end"
msgstr ""
-#: ../src/viktrwlayer.c:2144
+#: ../src/viktrwlayer.c:2329
+msgid "Routes"
+msgstr "Routen"
+
+#: ../src/viktrwlayer.c:2519
#, c-format
msgid " in %d:%02d hrs:mins"
msgstr " in %d:%02d hh:mm"
-#: ../src/viktrwlayer.c:2148
+#: ../src/viktrwlayer.c:2523
#, c-format
msgid ""
"\n"
@@ -2061,1079 +2426,1345 @@ msgstr ""
"\n"
"%s Gesamtlänge %.1f %s%s"
-#: ../src/viktrwlayer.c:2154
+#: ../src/viktrwlayer.c:2529
#, c-format
msgid "Tracks: %d - Waypoints: %d - Routes: %d%s"
-msgstr ""
+msgstr "Tracks: %d - Wegpunkte: %d - Routen: %d%s"
-#: ../src/viktrwlayer.c:2174
+#: ../src/viktrwlayer.c:2549
#, c-format
msgid "Tracks: %d"
-msgstr ""
+msgstr "Tracks: %d"
-#: ../src/viktrwlayer.c:2184
+#: ../src/viktrwlayer.c:2559
#, c-format
msgid "Routes: %d"
-msgstr ""
+msgstr "Routen: %d"
-#: ../src/viktrwlayer.c:2215
+#: ../src/viktrwlayer.c:2590
#, c-format
msgid "- %d:%02d hrs:mins"
msgstr "- %d:%02d hh:mm"
-#: ../src/viktrwlayer.c:2223
+#: ../src/viktrwlayer.c:2598
#, c-format
msgid "%s%.1f km %s"
msgstr "%s%.1f km %s"
-#: ../src/viktrwlayer.c:2226
+#: ../src/viktrwlayer.c:2601
#, c-format
msgid "%s%.1f miles %s"
msgstr "%s%.1f Meilen %s"
-#: ../src/viktrwlayer.c:2240
+#: ../src/viktrwlayer.c:2615
#, c-format
msgid "Waypoints: %d"
-msgstr ""
-
-#: ../src/viktrwlayer.c:2266
-#, c-format
-msgid "Trkpt: Alt %dft"
-msgstr "Trkpt: Höhe %d ft"
-
-#. VIK_UNITS_HEIGHT_METRES:
-#: ../src/viktrwlayer.c:2270
-#, c-format
-msgid "Trkpt: Alt %dm"
-msgstr "Trkpt: Höhe %d m"
-
-#. Compact date time format
-#: ../src/viktrwlayer.c:2277
-#, c-format
-msgid " | Time %x %X"
-msgstr " | Zeit %x %X"
-
-#: ../src/viktrwlayer.c:2295
-#, c-format
-msgid " | Track: %s"
-msgstr " | GPS-Spur: %s"
-
-#. Combine parts to make overall message
-#: ../src/viktrwlayer.c:2299
-#, c-format
-msgid "%s%s | %s %s %s"
-msgstr "%s%s | %s %s %s"
+msgstr "Wegpunkte: %d"
-#: ../src/viktrwlayer.c:2314
+#: ../src/viktrwlayer.c:2671
#, c-format
msgid "Wpt: Alt %dft"
msgstr "Wpt: Höhe %d ft"
#. VIK_UNITS_HEIGHT_METRES:
-#: ../src/viktrwlayer.c:2318
+#: ../src/viktrwlayer.c:2675
#, c-format
msgid "Wpt: Alt %dm"
msgstr "Wpt: Höhe %d m"
#. Add comment if available
-#: ../src/viktrwlayer.c:2333
+#: ../src/viktrwlayer.c:2690
#, c-format
msgid "%s | %s %s | Comment: %s"
msgstr "%s | %s %s | Kommentar: %s"
-#: ../src/viktrwlayer.c:2335
+#: ../src/viktrwlayer.c:2692
#, c-format
msgid "%s | %s %s"
msgstr "%s | %s %s"
-#: ../src/viktrwlayer.c:2563 ../src/viktrwlayer.c:2634
+#: ../src/viktrwlayer.c:2939 ../src/viktrwlayer.c:3010
msgid "This layer has no waypoints or trackpoints."
msgstr "Diese Ebene hat keine Wegpunkte oder Spurpunkte."
-#: ../src/viktrwlayer.c:2661 ../src/vikwindow.c:2407 ../src/vikwindow.c:2848
+#: ../src/viktrwlayer.c:3045 ../src/vikwindow.c:2754 ../src/vikwindow.c:3407
#, c-format
msgid "The file \"%s\" exists, do you wish to overwrite it?"
msgstr "Soll die bereits existierende Datei \"%s\" überschrieben werden?"
-#: ../src/viktrwlayer.c:2671 ../src/vikwindow.c:2429
+#: ../src/viktrwlayer.c:3057 ../src/vikwindow.c:2778
msgid "The filename you requested could not be opened for writing."
msgstr "Die angegebene Datei konnte nicht zum Schreiben geöffnet werden."
-#: ../src/viktrwlayer.c:2676 ../src/viktrwlayer.c:2681
-#: ../src/viktrwlayer.c:2691 ../src/viktrwlayer.c:2703
+#: ../src/viktrwlayer.c:3062 ../src/viktrwlayer.c:3067
+#: ../src/viktrwlayer.c:3077 ../src/viktrwlayer.c:3089
msgid "Export Layer"
msgstr "Ebene exportieren"
-#: ../src/viktrwlayer.c:2720
+#: ../src/viktrwlayer.c:3108
msgid "Could not create temporary file for export."
msgstr "Konnte keine temporäre Datei für Export erzeugen."
-#: ../src/viktrwlayer.c:2729
+#: ../src/viktrwlayer.c:3117
#, c-format
msgid "Could not launch %s."
msgstr "Konnte %s nicht starten."
-#: ../src/viktrwlayer.c:2773
+#: ../src/viktrwlayer.c:3161
msgid "Export Track as GPX"
msgstr "Exportiere Spur als GPX"
-#: ../src/viktrwlayer.c:2795
+#: ../src/viktrwlayer.c:3183
msgid "Find"
msgstr "Suche"
-#: ../src/viktrwlayer.c:2805
+#: ../src/viktrwlayer.c:3193
msgid "Waypoint Name:"
msgstr "Wegpunkt-Name:"
-#: ../src/viktrwlayer.c:2822
+#: ../src/viktrwlayer.c:3210
msgid "Waypoint not found in this layer."
msgstr "Wegpunkt nicht in dieser Ebene gefunden"
-#: ../src/viktrwlayer.c:3090
+#: ../src/viktrwlayer.c:3476
msgid "Can not upload invisible track."
-msgstr ""
+msgstr "Unsichtbare Tracks können nicht hochgeladen werden"
-#: ../src/viktrwlayer.c:3192 ../src/viktrwlayer.c:7785
+#: ../src/viktrwlayer.c:3581 ../src/viktrwlayer.c:9283
msgid "Track"
msgstr "Spur"
-#: ../src/viktrwlayer.c:3215 ../src/viktrwlayer.c:7817
+#: ../src/viktrwlayer.c:3606 ../src/viktrwlayer.c:9316
msgid "Route"
-msgstr ""
+msgstr "Route"
-#: ../src/viktrwlayer.c:3296 ../src/viktrwlayer.c:6265
-#: ../src/viktrwlayer.c:6314
+#: ../src/viktrwlayer.c:3691 ../src/viktrwlayer.c:7460
+#: ../src/viktrwlayer.c:7566
msgid "_Finish Route"
-msgstr ""
+msgstr "Route _abschliessen"
-#: ../src/viktrwlayer.c:3298 ../src/viktrwlayer.c:6223
-#: ../src/viktrwlayer.c:6312
+#: ../src/viktrwlayer.c:3693 ../src/viktrwlayer.c:7383
+#: ../src/viktrwlayer.c:7564
msgid "_Finish Track"
-msgstr ""
+msgstr "Track _abschliessen"
#. Now with icons
-#: ../src/viktrwlayer.c:3310
+#: ../src/viktrwlayer.c:3705
msgid "_View Layer"
msgstr "_Ebene anzeigen"
-#: ../src/viktrwlayer.c:3317
+#: ../src/viktrwlayer.c:3712
msgid "V_iew"
-msgstr ""
+msgstr "Ans_icht"
-#: ../src/viktrwlayer.c:3323
+#: ../src/viktrwlayer.c:3718
msgid "View All _Tracks"
-msgstr ""
+msgstr "Alle _Tracks ansehen"
-#: ../src/viktrwlayer.c:3328
+#: ../src/viktrwlayer.c:3723
msgid "View All _Routes"
-msgstr ""
+msgstr "Alle _Routen ansehen"
-#: ../src/viktrwlayer.c:3333
+#: ../src/viktrwlayer.c:3728
msgid "View All _Waypoints"
-msgstr ""
+msgstr "Alle _Wegpunkte ansehen"
-#: ../src/viktrwlayer.c:3338
+#: ../src/viktrwlayer.c:3733
msgid "_Goto Center of Layer"
msgstr "_Zentriere Ebene"
-#: ../src/viktrwlayer.c:3344 ../src/viktrwlayer.c:6199
+#: ../src/viktrwlayer.c:3739 ../src/viktrwlayer.c:7335
msgid "Goto _Waypoint..."
msgstr "Gehe _zum Wegpunkt..."
-#: ../src/viktrwlayer.c:3350
+#: ../src/viktrwlayer.c:3745
msgid "_Export Layer"
msgstr "_Exportiere Ebene"
-#: ../src/viktrwlayer.c:3356
+#: ../src/viktrwlayer.c:3751
msgid "Export as GPS_Point..."
msgstr "E_xportiere als Spurpunkt..."
-#: ../src/viktrwlayer.c:3361
+#: ../src/viktrwlayer.c:3756
msgid "Export as GPS_Mapper..."
msgstr "Ex_portiere als GPS-Kartierer..."
-#: ../src/viktrwlayer.c:3366
+#: ../src/viktrwlayer.c:3761
msgid "Export as _GPX..."
msgstr "Exportiere als _GPX..."
-#: ../src/viktrwlayer.c:3371
+#: ../src/viktrwlayer.c:3766
msgid "Export as _KML..."
msgstr "Exportiere als _KML..."
-#: ../src/viktrwlayer.c:3376
+#: ../src/viktrwlayer.c:3771
msgid "Open with External Program_1: "
msgstr "Mit externem Programm _1 öffnen: "
-#: ../src/viktrwlayer.c:3383
+#: ../src/viktrwlayer.c:3778
msgid "Open with External Program_2: "
msgstr "Mit externem Programm _2 öffnen: "
-#: ../src/viktrwlayer.c:3391 ../src/vikwindow.c:3145
+#: ../src/viktrwlayer.c:3786 ../src/vikwindow.c:3704
msgid "_New"
msgstr "_Neu"
-#: ../src/viktrwlayer.c:3397
+#: ../src/viktrwlayer.c:3792
msgid "New _Waypoint..."
-msgstr ""
+msgstr "Neuer _Wegpunkt ..."
-#: ../src/viktrwlayer.c:3403
+#: ../src/viktrwlayer.c:3798
msgid "New _Track"
-msgstr ""
+msgstr "Neuer _Track"
-#: ../src/viktrwlayer.c:3411
+#: ../src/viktrwlayer.c:3806
msgid "New _Route"
-msgstr ""
+msgstr "Neue _Route"
-#: ../src/viktrwlayer.c:3420 ../src/viktrwlayer.c:6597
+#: ../src/viktrwlayer.c:3815 ../src/viktrwlayer.c:7938
msgid "Geotag _Images..."
msgstr "_Kartenreferenzierte Bilder..."
-#: ../src/viktrwlayer.c:3427
+#: ../src/viktrwlayer.c:3822
msgid "_Acquire"
-msgstr ""
+msgstr "_Holen"
-#: ../src/viktrwlayer.c:3433 ../src/vikwindow.c:3150
+#: ../src/viktrwlayer.c:3828 ../src/vikwindow.c:3711
msgid "From _GPS..."
msgstr "Von _GPS-Gerät..."
-#: ../src/viktrwlayer.c:3439
-msgid "From Google _Directions..."
+#. FIXME: only add menu when at least a routing engine has support for Directions
+#: ../src/viktrwlayer.c:3834
+msgid "From _Directions..."
msgstr ""
-#: ../src/viktrwlayer.c:3446
+#: ../src/viktrwlayer.c:3840
msgid "From _OSM Traces..."
msgstr "Von _OSM-Spuren..."
-#: ../src/viktrwlayer.c:3451
+#: ../src/viktrwlayer.c:3845
msgid "From _My OSM Traces..."
msgstr ""
-#: ../src/viktrwlayer.c:3459 ../src/vikwindow.c:3166
+#: ../src/viktrwlayer.c:3853 ../src/vikwindow.c:3725
msgid "From _Wikipedia Waypoints"
-msgstr ""
+msgstr "Von _Wikipedia-Wegpunkte"
-#: ../src/viktrwlayer.c:3465
+#: ../src/viktrwlayer.c:3859
msgid "Within _Layer Bounds"
msgstr "_Innerhalb Ebenenbegrenzung"
-#: ../src/viktrwlayer.c:3471
+#: ../src/viktrwlayer.c:3865
msgid "Within _Current View"
msgstr "Innerhalb _aktueller Ansicht"
-#: ../src/viktrwlayer.c:3479
+#: ../src/viktrwlayer.c:3873
msgid "From Geo_caching..."
msgstr "Von Geo-_Caching..."
-#: ../src/viktrwlayer.c:3486 ../src/vikwindow.c:3163
+#: ../src/viktrwlayer.c:3880 ../src/vikwindow.c:3722
msgid "From Geotagged _Images..."
msgstr "Von georeferenzierten _Bildern..."
-#: ../src/viktrwlayer.c:3492
+#: ../src/viktrwlayer.c:3886
msgid "From _File..."
-msgstr ""
+msgstr "Aus _Datei ..."
-#: ../src/viktrwlayer.c:3498 ../src/viktrwlayer.c:6542
+#: ../src/viktrwlayer.c:3894 ../src/viktrwlayer.c:7883
msgid "_Upload"
-msgstr ""
+msgstr "_Hochladen"
-#: ../src/viktrwlayer.c:3504
+#: ../src/viktrwlayer.c:3900
msgid "Upload to _GPS..."
-msgstr ""
+msgstr "Auf _GPS hochladen ..."
-#: ../src/viktrwlayer.c:3511 ../src/viktrwlayer.c:6570
+#: ../src/viktrwlayer.c:3907 ../src/viktrwlayer.c:7911
msgid "Upload to _OSM..."
msgstr "Nach OSM _hochladen..."
-#: ../src/viktrwlayer.c:3519
+#: ../src/viktrwlayer.c:3915
msgid "De_lete"
msgstr "_Löschen"
-#: ../src/viktrwlayer.c:3525
+#: ../src/viktrwlayer.c:3921
msgid "Delete All _Tracks"
msgstr "_Alle GPS-Spuren löschen"
-#: ../src/viktrwlayer.c:3531
+#: ../src/viktrwlayer.c:3927
msgid "Delete Tracks _From Selection..."
msgstr "Ge_wählte GPS-Spuren löschen..."
-#: ../src/viktrwlayer.c:3537 ../src/viktrwlayer.c:6290
+#: ../src/viktrwlayer.c:3933 ../src/viktrwlayer.c:7485
msgid "Delete _All Routes"
-msgstr ""
+msgstr "_Alle Routen löschen"
-#: ../src/viktrwlayer.c:3543 ../src/viktrwlayer.c:6296
+#: ../src/viktrwlayer.c:3939 ../src/viktrwlayer.c:7491
msgid "_Delete Routes From Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:3549
+#: ../src/viktrwlayer.c:3945
msgid "Delete All _Waypoints"
msgstr "Alle Weg_punkte löschen"
-#: ../src/viktrwlayer.c:3555
+#: ../src/viktrwlayer.c:3951
msgid "Delete Waypoints From _Selection..."
msgstr "Gewählte Wegpun_kte löschen..."
-#: ../src/viktrwlayer.c:4128
+#: ../src/viktrwlayer.c:4574
#, c-format
msgid "Are you sure you want to delete all tracks in %s?"
msgstr "Sind sich sicher, dass sie alle GPS-Spuren in %s löschen wollen?"
-#: ../src/viktrwlayer.c:4138
+#: ../src/viktrwlayer.c:4584
#, c-format
msgid "Are you sure you want to delete all routes in %s?"
msgstr ""
-#: ../src/viktrwlayer.c:4148
+#: ../src/viktrwlayer.c:4594
#, c-format
msgid "Are you sure you want to delete all waypoints in %s?"
msgstr "Sind sich sicher, dass sie alle Wegpunkte in %s löschen wollen?"
-#: ../src/viktrwlayer.c:4165
+#: ../src/viktrwlayer.c:4611
#, c-format
-msgid "Are you sure you want to delete the waypoint \"%s\""
-msgstr "Sind sich sicher, dass sie den Wegpunkt \"%s\" löschen wollen?"
+msgid "Are you sure you want to delete the waypoint \"%s\"?"
+msgstr ""
-#: ../src/viktrwlayer.c:4178
+#: ../src/viktrwlayer.c:4624
#, c-format
-msgid "Are you sure you want to delete the track \"%s\""
-msgstr "Sind sich sicher, dass sie die GPS-Spur \"%s\" löschen wollen?"
+msgid "Are you sure you want to delete the track \"%s\"?"
+msgstr ""
-#: ../src/viktrwlayer.c:4191
+#: ../src/viktrwlayer.c:4637
#, c-format
-msgid "Are you sure you want to delete the route \"%s\""
+msgid "Are you sure you want to delete the route \"%s\"?"
msgstr ""
-#: ../src/viktrwlayer.c:4351 ../src/viktrwlayer.c:4922
+#: ../src/viktrwlayer.c:4849 ../src/viktrwlayer.c:5677
msgid ""
"Converting a track to a route removes extra track data such as segments, "
"timestamps, etc...\n"
"Do you want to continue?"
msgstr ""
-#: ../src/viktrwlayer.c:4711
+#: ../src/viktrwlayer.c:4944
+msgid "No DEM layers available, thus no DEM values can be applied."
+msgstr ""
+
+#: ../src/viktrwlayer.c:4964 ../src/viktrwlayer.c:5005
+#, c-format
+msgid "%ld point adjusted"
+msgid_plural "%ld points adjusted"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/viktrwlayer.c:5049
+#, c-format
+msgid "%ld waypoint changed"
+msgid_plural "%ld waypoints changed"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/viktrwlayer.c:5233
+#, c-format
+msgid ""
+"Refining a track with many points (%d) is unlikely to yield sensible "
+"results. Do you want to Continue?"
+msgstr ""
+
+#. Select engine from dialog
+#: ../src/viktrwlayer.c:5241
+msgid "Refine Route with Routing Engine..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:5249
+msgid "Select routing engine"
+msgstr ""
+
+#: ../src/viktrwlayer.c:5467
msgid "Failed. No other tracks with timestamps in this layer found"
msgstr ""
"Fehler: Keine weiteren GPS-Spuren mit Zeitstempel in dieser Ebene gefunden"
-#: ../src/viktrwlayer.c:4713
+#: ../src/viktrwlayer.c:5469
msgid "Failed. No other tracks without timestamps in this layer found"
msgstr ""
"Fehler: Keine weiteren GPS-Spuren ohne Zeitstempel in dieser Ebene gefunden"
-#: ../src/viktrwlayer.c:4732
+#: ../src/viktrwlayer.c:5488
msgid "Merge with..."
msgstr "Vereinen mit..."
-#: ../src/viktrwlayer.c:4733
+#: ../src/viktrwlayer.c:5489
msgid "Select route to merge with"
msgstr ""
-#: ../src/viktrwlayer.c:4733
+#: ../src/viktrwlayer.c:5489
msgid "Select track to merge with"
msgstr "Spur auswählen zum Zusammenfügen mit"
-#: ../src/viktrwlayer.c:4818 ../src/viktrwlayer.c:4895
+#: ../src/viktrwlayer.c:5573 ../src/viktrwlayer.c:5650
msgid "Append Route"
msgstr ""
-#: ../src/viktrwlayer.c:4818 ../src/viktrwlayer.c:4895
+#: ../src/viktrwlayer.c:5573 ../src/viktrwlayer.c:5650
msgid "Append Track"
msgstr ""
-#: ../src/viktrwlayer.c:4819
+#: ../src/viktrwlayer.c:5574
msgid "Select the route to append after the current route"
msgstr ""
-#: ../src/viktrwlayer.c:4820
+#: ../src/viktrwlayer.c:5575
msgid "Select the track to append after the current track"
msgstr ""
-#: ../src/viktrwlayer.c:4896
+#: ../src/viktrwlayer.c:5651
msgid "Select the track to append after the current route"
msgstr ""
-#: ../src/viktrwlayer.c:4897
+#: ../src/viktrwlayer.c:5652
msgid "Select the route to append after the current track"
msgstr ""
-#: ../src/viktrwlayer.c:4957
+#: ../src/viktrwlayer.c:5711
#, c-format
msgid "%d segment merged"
msgid_plural "%d segments merged"
msgstr[0] ""
msgstr[1] ""
-#: ../src/viktrwlayer.c:4973
+#: ../src/viktrwlayer.c:5727
msgid "Failed. This track does not have timestamp"
msgstr "Fehlgeschlagen. Diese Spur hat keine Zeitstempel"
-#: ../src/viktrwlayer.c:4985
+#: ../src/viktrwlayer.c:5739
msgid "Failed. No other track in this layer has timestamp"
msgstr "Fehlgeschlagen. Keine andere Spur in dieser Ebene hat Zeitstempel"
-#: ../src/viktrwlayer.c:4992
+#: ../src/viktrwlayer.c:5746
msgid "Merge Threshold..."
msgstr "Vereine bei Grenzwert..."
-#: ../src/viktrwlayer.c:4993
+#: ../src/viktrwlayer.c:5747
msgid "Merge when time between tracks less than:"
msgstr "Zusammenfassen wenn Dauer zwischen Spuren kleiner als ist:"
-#: ../src/viktrwlayer.c:5128
+#: ../src/viktrwlayer.c:5889
msgid "Split Threshold..."
msgstr "Bei Schwellwert trennen..."
-#: ../src/viktrwlayer.c:5129
+#: ../src/viktrwlayer.c:5890
msgid "Split when time between trackpoints exceeds:"
msgstr "Trennen, wenn Dauer zwischen Spurpunkten grösser als:"
-#: ../src/viktrwlayer.c:5205
+#: ../src/viktrwlayer.c:5907
+#, c-format
+msgid ""
+"Can not split track due to trackpoints not ordered in time - such as at %s.\n"
+"\n"
+"Goto this trackpoint?"
+msgstr ""
+
+#: ../src/viktrwlayer.c:5976
msgid "Split Every Nth Point"
msgstr "Trenne jeden n'ten Punkt"
-#: ../src/viktrwlayer.c:5206
+#: ../src/viktrwlayer.c:5977
msgid "Split on every Nth point:"
msgstr "Trenne auf dem n'ten Punkt"
-#: ../src/viktrwlayer.c:5312
+#: ../src/viktrwlayer.c:6087
msgid "Can not split track as it has no segments"
msgstr ""
-#: ../src/viktrwlayer.c:5340 ../src/viktrwlayer.c:5370
+#: ../src/viktrwlayer.c:6169 ../src/viktrwlayer.c:6199
#, c-format
msgid "Deleted %ld point"
msgid_plural "Deleted %ld points"
msgstr[0] ""
msgstr[1] ""
-#: ../src/viktrwlayer.c:5531
+#: ../src/viktrwlayer.c:6392
msgid "Internal Error in vik_trw_layer_uniquify_tracks"
msgstr ""
-#: ../src/viktrwlayer.c:5588 ../src/viktrwlayer.c:5635
-#: ../src/viktrwlayer.c:5814
+#: ../src/viktrwlayer.c:6496 ../src/viktrwlayer.c:6543
+#: ../src/viktrwlayer.c:6704
msgid ""
"Multiple entries with the same name exist. This method only works with "
"unique names. Force unique names now?"
msgstr ""
-#: ../src/viktrwlayer.c:5599
+#: ../src/viktrwlayer.c:6507
msgid "No tracks found"
msgstr "Keine GPS-Spuren gefunden"
-#: ../src/viktrwlayer.c:5607 ../src/viktrwlayer.c:5654
-#: ../src/viktrwlayer.c:5834
+#: ../src/viktrwlayer.c:6515 ../src/viktrwlayer.c:6562
+#: ../src/viktrwlayer.c:6724
msgid "Delete Selection"
msgstr "Auswahl löschen"
-#: ../src/viktrwlayer.c:5608
+#: ../src/viktrwlayer.c:6516
msgid "Select tracks to delete"
msgstr "GPS-Spuren zum Löschen auswählen"
-#: ../src/viktrwlayer.c:5646
+#: ../src/viktrwlayer.c:6554
msgid "No routes found"
msgstr ""
-#: ../src/viktrwlayer.c:5655
+#: ../src/viktrwlayer.c:6563
msgid "Select routes to delete"
-msgstr ""
+msgstr "Route zum Löschen auswählen"
-#: ../src/viktrwlayer.c:5761
+#: ../src/viktrwlayer.c:6669
msgid "Internal Error in vik_trw_layer_uniquify_waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:5824
+#: ../src/viktrwlayer.c:6714
msgid "No waypoints found"
msgstr "Keine Wegpunkte gefunden"
-#: ../src/viktrwlayer.c:5835
+#: ../src/viktrwlayer.c:6725
msgid "Select waypoints to delete"
msgstr "Wegpunkte zum Löschen auswählen"
-#: ../src/viktrwlayer.c:5896
+#: ../src/viktrwlayer.c:7033
#, c-format
msgid ""
"A waypoint with the name \"%s\" already exists. Really rename to the same "
"name?"
msgstr ""
-#: ../src/viktrwlayer.c:5926
+#: ../src/viktrwlayer.c:7063
#, c-format
msgid ""
"A track with the name \"%s\" already exists. Really rename to the same name?"
msgstr ""
-#: ../src/viktrwlayer.c:5963
+#: ../src/viktrwlayer.c:7100
#, c-format
msgid ""
"A route with the name \"%s\" already exists. Really rename to the same name?"
msgstr ""
-#: ../src/viktrwlayer.c:6085 ../src/viktrwlayer.c:6337
+#: ../src/viktrwlayer.c:7221 ../src/viktrwlayer.c:7594
msgid "_Goto"
msgstr "_Gehe zu"
-#: ../src/viktrwlayer.c:6104
+#: ../src/viktrwlayer.c:7240
msgid "_Visit Geocache Webpage"
msgstr "Zur Geocache _Internetseite"
-#: ../src/viktrwlayer.c:6123
+#: ../src/viktrwlayer.c:7259
msgid "_Show Picture..."
msgstr "Bild _anzeigen..."
-#: ../src/viktrwlayer.c:6131
+#: ../src/viktrwlayer.c:7267
msgid "Update Geotag on _Image"
msgstr "Geotag über _Bild aktualisieren"
-#: ../src/viktrwlayer.c:6137
+#: ../src/viktrwlayer.c:7273
msgid "_Update"
msgstr "_Aktualisieren"
-#: ../src/viktrwlayer.c:6142
+#: ../src/viktrwlayer.c:7278
msgid "Update and _Keep File Timestamp"
msgstr "Aktualisieren und _Zeitstempel der Datei erhalten"
-#: ../src/viktrwlayer.c:6153
+#: ../src/viktrwlayer.c:7289
msgid "Visit _Webpage"
-msgstr ""
+msgstr "Webseite _besuchen"
-#: ../src/viktrwlayer.c:6184
+#: ../src/viktrwlayer.c:7320
msgid "_New Waypoint..."
msgstr "Neuer _Wegpunkt..."
-#: ../src/viktrwlayer.c:6193
+#: ../src/viktrwlayer.c:7329
msgid "_View All Waypoints"
msgstr "Alle Weg_punkte anzeigen"
-#: ../src/viktrwlayer.c:6205
+#: ../src/viktrwlayer.c:7341
msgid "Delete _All Waypoints"
msgstr "Alle Wegpunkte l_öschen"
-#: ../src/viktrwlayer.c:6211
+#: ../src/viktrwlayer.c:7347
msgid "_Delete Waypoints From Selection..."
msgstr "Gewählte Wegpun_kte löschen"
-#: ../src/viktrwlayer.c:6233
+#: ../src/viktrwlayer.c:7359
+msgid "_Show All Waypoints"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7365
+msgid "_Hide All Waypoints"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7393
msgid "_View All Tracks"
msgstr "Alle GPS-Sp_uren anzeigen"
-#: ../src/viktrwlayer.c:6239
+#: ../src/viktrwlayer.c:7399
msgid "_New Track"
-msgstr ""
+msgstr "_Neuer Track"
-#: ../src/viktrwlayer.c:6247
+#: ../src/viktrwlayer.c:7407
msgid "Delete _All Tracks"
msgstr "Alle GPS-Spu_ren löschen"
-#: ../src/viktrwlayer.c:6253
+#: ../src/viktrwlayer.c:7413
msgid "_Delete Tracks From Selection..."
msgstr "Gew_ählte GPS-Spuren löschen..."
-#: ../src/viktrwlayer.c:6276
-msgid "_View All Routes"
+#: ../src/viktrwlayer.c:7425
+msgid "_Show All Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7431
+msgid "_Hide All Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:6282
+#: ../src/viktrwlayer.c:7442
+msgid "_List Tracks..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7471
+msgid "_View All Routes"
+msgstr "Alle Routen _ansehen"
+
+#: ../src/viktrwlayer.c:7477
msgid "_New Route"
+msgstr "_Neue Route"
+
+#: ../src/viktrwlayer.c:7503
+msgid "_Show All Routes"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7509
+msgid "_Hide All Routes"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7520
+msgid "_List Routes..."
msgstr ""
-#: ../src/viktrwlayer.c:6327
+#: ../src/viktrwlayer.c:7579
msgid "_View Track"
msgstr "_Zeige Spur"
-#: ../src/viktrwlayer.c:6329
+#: ../src/viktrwlayer.c:7581
msgid "_View Route"
-msgstr ""
+msgstr "Route _ansehen"
-#: ../src/viktrwlayer.c:6343
+#: ../src/viktrwlayer.c:7600
msgid "_Startpoint"
msgstr "_Startpunkt"
-#: ../src/viktrwlayer.c:6349
+#: ../src/viktrwlayer.c:7606
msgid "\"_Center\""
msgstr "_Zentriere"
-#: ../src/viktrwlayer.c:6355
+#: ../src/viktrwlayer.c:7612
msgid "_Endpoint"
msgstr "_Endpunkt"
-#: ../src/viktrwlayer.c:6361
+#: ../src/viktrwlayer.c:7618
msgid "_Highest Altitude"
msgstr "_Höchster Punkt"
-#: ../src/viktrwlayer.c:6367
+#: ../src/viktrwlayer.c:7624
msgid "_Lowest Altitude"
msgstr "_Tiefster Punkt"
-#: ../src/viktrwlayer.c:6375
+#: ../src/viktrwlayer.c:7632
msgid "_Maximum Speed"
msgstr "_Maximalgeschwindigkeit"
-#: ../src/viktrwlayer.c:6384
+#: ../src/viktrwlayer.c:7641
msgid "Co_mbine"
-msgstr ""
+msgstr "Ko_mbinieren"
-#: ../src/viktrwlayer.c:6392
+#: ../src/viktrwlayer.c:7649
msgid "_Merge By Time..."
msgstr "Vereinen nach _Zeit"
-#: ../src/viktrwlayer.c:6397
+#: ../src/viktrwlayer.c:7654
msgid "Merge _Segments"
msgstr ""
-#: ../src/viktrwlayer.c:6403
+#: ../src/viktrwlayer.c:7660
msgid "Merge _With Other Tracks..."
msgstr "Mit _anderen Spuren vereinen..."
-#: ../src/viktrwlayer.c:6409
+#: ../src/viktrwlayer.c:7666
msgid "_Append Track..."
msgstr ""
-#: ../src/viktrwlayer.c:6411
+#: ../src/viktrwlayer.c:7668
msgid "_Append Route..."
msgstr ""
-#: ../src/viktrwlayer.c:6417
+#: ../src/viktrwlayer.c:7674
msgid "Append _Route..."
msgstr ""
-#: ../src/viktrwlayer.c:6419
+#: ../src/viktrwlayer.c:7676
msgid "Append _Track..."
msgstr ""
-#: ../src/viktrwlayer.c:6426
+#: ../src/viktrwlayer.c:7683
msgid "_Split"
-msgstr ""
+msgstr "_Teilen"
-#: ../src/viktrwlayer.c:6434
+#: ../src/viktrwlayer.c:7691
msgid "_Split By Time..."
msgstr "_Trenne nach Zeit"
#. ATM always enable this entry - don't want to have to analyse the track before displaying the menu - to keep the menu speedy
-#: ../src/viktrwlayer.c:6440
+#: ../src/viktrwlayer.c:7697
msgid "Split Se_gments"
msgstr ""
-#: ../src/viktrwlayer.c:6446
+#: ../src/viktrwlayer.c:7703
msgid "Split By _Number of Points..."
msgstr "Tre_nne nach Anzahl der Punkte"
-#: ../src/viktrwlayer.c:6451
+#: ../src/viktrwlayer.c:7708
msgid "Split at _Trackpoint"
msgstr ""
-#: ../src/viktrwlayer.c:6460
+#: ../src/viktrwlayer.c:7716
+msgid "_Insert Points"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7722
+msgid "Insert Point _Before Selected Point"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7729
+msgid "Insert Point _After Selected Point"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7738
msgid "Delete Poi_nts"
+msgstr "Pu_nkte löschen"
+
+#: ../src/viktrwlayer.c:7744
+msgid "Delete _Selected Point"
msgstr ""
-#: ../src/viktrwlayer.c:6466
+#: ../src/viktrwlayer.c:7752
msgid "Delete Points With The Same _Position"
msgstr ""
-#: ../src/viktrwlayer.c:6471
+#: ../src/viktrwlayer.c:7757
msgid "Delete Points With The Same _Time"
msgstr ""
-#: ../src/viktrwlayer.c:6477
+#: ../src/viktrwlayer.c:7764 ../src/viktrwlayer.c:7964
+msgid "_Transform"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7772 ../src/viktrwlayer.c:7972
+msgid "_Apply DEM Data"
+msgstr "Verwende DEM-D_aten"
+
+#: ../src/viktrwlayer.c:7777 ../src/viktrwlayer.c:7977
+msgid "_Overwrite"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7780 ../src/viktrwlayer.c:7980
+msgid "Overwrite any existing elevation values with DEM values"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7783 ../src/viktrwlayer.c:7983
+msgid "_Keep Existing"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7786 ../src/viktrwlayer.c:7986
+msgid "Keep existing elevation values, only attempt for missing values"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7791
+msgid "_Smooth Missing Elevation Data"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7796
+msgid "_Interpolated"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7799
+msgid ""
+"Interpolate between known elevation values to derive values for the missing "
+"elevations"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7802
+msgid "_Flat"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7805
+msgid "Set unknown elevation values to the last known value"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7809
+msgid "C_onvert to a Route"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7811
+msgid "C_onvert to a Track"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7819
+msgid "_Anonymize Times"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7822
+msgid "Shift timestamps to a relative offset from 1901-01-01"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7827
msgid "_Reverse Track"
msgstr "GPS-Spur _umkehren"
-#: ../src/viktrwlayer.c:6479
+#: ../src/viktrwlayer.c:7829
msgid "_Reverse Route"
msgstr ""
-#: ../src/viktrwlayer.c:6488
+#: ../src/viktrwlayer.c:7836
+msgid "Refine Route..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7846
msgid "Down_load Maps Along Track..."
msgstr "_Lade Karte entlang der Spur..."
-#: ../src/viktrwlayer.c:6490
+#: ../src/viktrwlayer.c:7848
msgid "Down_load Maps Along Route..."
msgstr ""
-#: ../src/viktrwlayer.c:6497
-msgid "_Apply DEM Data"
-msgstr "Verwende DEM-D_aten"
-
-#: ../src/viktrwlayer.c:6504
+#: ../src/viktrwlayer.c:7856
msgid "_Export Track as GPX..."
msgstr ""
-#: ../src/viktrwlayer.c:6506
+#: ../src/viktrwlayer.c:7858
msgid "_Export Route as GPX..."
msgstr ""
-#: ../src/viktrwlayer.c:6513
+#: ../src/viktrwlayer.c:7865
msgid "E_xtend Track End"
msgstr "Verlänger_e Spurende"
-#: ../src/viktrwlayer.c:6515
+#: ../src/viktrwlayer.c:7867
msgid "E_xtend Route End"
msgstr ""
-#: ../src/viktrwlayer.c:6522
-msgid "C_onvert to a Route"
-msgstr ""
-
-#: ../src/viktrwlayer.c:6524
-msgid "C_onvert to a Track"
-msgstr ""
-
-#: ../src/viktrwlayer.c:6532
+#: ../src/viktrwlayer.c:7874
msgid "Extend _Using Route Finder"
msgstr "Verlängere über _Routenfinder"
-#: ../src/viktrwlayer.c:6548
+#: ../src/viktrwlayer.c:7889
msgid "_Upload to GPS..."
msgstr ""
-#: ../src/viktrwlayer.c:6559
+#: ../src/viktrwlayer.c:7900
msgid "_View Google Directions"
msgstr "Google _Directions anzeigen"
-#: ../src/viktrwlayer.c:6579
+#: ../src/viktrwlayer.c:7920
msgid "Use with _Filter"
msgstr "_Filter anwenden"
-#: ../src/viktrwlayer.c:6612
+#: ../src/viktrwlayer.c:7953
msgid "_Edit Trackpoint"
msgstr "Spurpunkt _bearbeiten"
-#: ../src/viktrwlayer.c:7524
+#: ../src/viktrwlayer.c:9017
#, c-format
msgid " - Gain %dm:Loss %dm"
msgstr " - Gewinn %d m: Verlust %d m"
-#: ../src/viktrwlayer.c:7526
+#: ../src/viktrwlayer.c:9019
#, c-format
msgid " - Gain %dft:Loss %dft"
msgstr " - Gewinn %d ft: Verlust %d ft"
-#: ../src/viktrwlayer.c:7531
+#: ../src/viktrwlayer.c:9024
#, c-format
msgid " - Bearing %3.1f° - Step %s"
msgstr ""
-#: ../src/viktrwlayer.c:8124
+#: ../src/viktrwlayer.c:9628
#, c-format
msgid "Could not launch %s to open file."
msgstr "Konnte %s nicht zum Dateiöffnen starten."
-#: ../src/viktrwlayer.c:8205
+#: ../src/viktrwlayer.c:9709
#, c-format
msgid "Creating %d Image Thumbnails..."
msgstr "%d Bild-Vorschauen erzeugen ..."
-#: ../src/viktrwlayer.c:8524
+#: ../src/viktrwlayer.c:10106
msgid "No map layer in use. Create one first"
msgstr "Keine Karten-Ebene in Benutzung. Zuerst eine erzeugen"
-#: ../src/viktrwlayer_propwin.c:898 ../src/viktrwlayer_propwin.c:1155
+#: ../src/viktrwlayer.c:10225
+#, c-format
+msgid "%s: Track List"
+msgstr ""
+
+#: ../src/viktrwlayer.c:10227
+#, c-format
+msgid "%s: Route List"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:828 ../src/viktrwlayer_propwin.c:1085
#, c-format
msgid "%.1f kph"
msgstr "%.1f km/h"
-#: ../src/viktrwlayer_propwin.c:901 ../src/viktrwlayer_propwin.c:1158
+#: ../src/viktrwlayer_propwin.c:831 ../src/viktrwlayer_propwin.c:1088
+#: ../src/viktrwlayer_analysis.c:290
#, c-format
msgid "%.1f mph"
msgstr "%.1f mph"
-#: ../src/viktrwlayer_propwin.c:904 ../src/viktrwlayer_propwin.c:1161
+#: ../src/viktrwlayer_propwin.c:834 ../src/viktrwlayer_propwin.c:1091
#, c-format
msgid "%.1f knots"
msgstr "%.1f knots"
#. VIK_UNITS_SPEED_METRES_PER_SECOND:
-#: ../src/viktrwlayer_propwin.c:908 ../src/viktrwlayer_propwin.c:1165
+#: ../src/viktrwlayer_propwin.c:838 ../src/viktrwlayer_propwin.c:1095
#, c-format
msgid "%.1f m/s"
msgstr "%.1f m/s"
-#: ../src/viktrwlayer_propwin.c:1745
+#: ../src/viktrwlayer_propwin.c:1662 ../src/viktrwlayer_analysis.c:267
#, c-format
msgid "%.1f miles"
msgstr "%.1f Meilen"
-#: ../src/viktrwlayer_propwin.c:1747
+#. VIK_UNITS_DISTANCE_KILOMETRES
+#: ../src/viktrwlayer_propwin.c:1664 ../src/viktrwlayer_analysis.c:271
#, c-format
msgid "%.1f km"
msgstr "%.1f km"
-#: ../src/viktrwlayer_propwin.c:2681
+#: ../src/viktrwlayer_propwin.c:2582
msgid "Failed spliting track. Track unchanged"
msgstr "Trennen der Spur fehlgeschlagen. Spur unverändert"
-#: ../src/viktrwlayer_propwin.c:2779 ../src/viktrwlayer_propwin.c:3178
+#: ../src/viktrwlayer_propwin.c:2724 ../src/viktrwlayer_propwin.c:3140
#, c-format
msgid "%s - Track Properties"
msgstr "%s - Spur-Eigenschaften"
-#: ../src/viktrwlayer_propwin.c:2784
+#: ../src/viktrwlayer_propwin.c:2729
msgid "Split at _Marker"
msgstr "Bei Markierung _trennen"
-#: ../src/viktrwlayer_propwin.c:2785
+#: ../src/viktrwlayer_propwin.c:2730
msgid "Split _Segments"
msgstr "_Segmente trennen"
-#: ../src/viktrwlayer_propwin.c:2786
+#: ../src/viktrwlayer_propwin.c:2731
msgid "_Reverse"
msgstr "_Umkehren"
-#: ../src/viktrwlayer_propwin.c:2787
+#: ../src/viktrwlayer_propwin.c:2732
msgid "_Delete Dupl."
msgstr "_Doppelte Daten löschen"
-#: ../src/viktrwlayer_propwin.c:2813
+#: ../src/viktrwlayer_propwin.c:2757
msgid "<b>Comment:</b>"
msgstr "<b>Kommentar:</b>"
-#: ../src/viktrwlayer_propwin.c:2814
+#: ../src/viktrwlayer_propwin.c:2758
msgid "<b>Description:</b>"
+msgstr "<b>Beschreibung:</b>"
+
+#: ../src/viktrwlayer_propwin.c:2759
+msgid "<b>Color:</b>"
+msgstr "<b>Farbe:</b>"
+
+#: ../src/viktrwlayer_propwin.c:2760
+msgid "<b>Draw Name:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2815
+#: ../src/viktrwlayer_propwin.c:2761
+msgid "<b>Distance Labels:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2764
msgid "<b>Track Length:</b>"
msgstr "<b>Spur-Länge:</b>"
-#: ../src/viktrwlayer_propwin.c:2816
+#: ../src/viktrwlayer_propwin.c:2765
msgid "<b>Trackpoints:</b>"
msgstr "<b>Spurpunkte:</b>"
-#: ../src/viktrwlayer_propwin.c:2817
+#: ../src/viktrwlayer_propwin.c:2766
msgid "<b>Segments:</b>"
msgstr "<b>Segmente:</b>"
-#: ../src/viktrwlayer_propwin.c:2818
+#: ../src/viktrwlayer_propwin.c:2767
msgid "<b>Duplicate Points:</b>"
msgstr "<b>Doppelte Punkte:</b>"
-#: ../src/viktrwlayer_propwin.c:2819
+#: ../src/viktrwlayer_propwin.c:2768
msgid "<b>Max Speed:</b>"
msgstr "<b>Höchstgeschwindigkeit:</b>"
-#: ../src/viktrwlayer_propwin.c:2820
+#: ../src/viktrwlayer_propwin.c:2769
msgid "<b>Avg. Speed:</b>"
msgstr "<b>Durchschnittsgeschwindigkeit:</b>"
-#: ../src/viktrwlayer_propwin.c:2821
+#: ../src/viktrwlayer_propwin.c:2770
msgid "<b>Moving Avg. Speed:</b>"
msgstr "<b>Mittlere Durchschnittsgeschwindigkeit:</b>"
-#: ../src/viktrwlayer_propwin.c:2822
+#: ../src/viktrwlayer_propwin.c:2771
msgid "<b>Avg. Dist. Between TPs:</b>"
msgstr "<b>Durchschnt. Abstand TPs:</b>"
-#: ../src/viktrwlayer_propwin.c:2823
+#: ../src/viktrwlayer_propwin.c:2772
msgid "<b>Elevation Range:</b>"
msgstr "<b>Höhendifferenz:</b>"
-#: ../src/viktrwlayer_propwin.c:2824
+#: ../src/viktrwlayer_propwin.c:2773
msgid "<b>Total Elevation Gain/Loss:</b>"
msgstr "<b>Absoluter Höhengewinn/-verlust:</b>"
-#: ../src/viktrwlayer_propwin.c:2825
+#: ../src/viktrwlayer_propwin.c:2774
msgid "<b>Start:</b>"
msgstr "<b>Start:</b>"
-#: ../src/viktrwlayer_propwin.c:2826
+#: ../src/viktrwlayer_propwin.c:2775
msgid "<b>End:</b>"
msgstr "<b>Ende:</b>"
-#: ../src/viktrwlayer_propwin.c:2827
+#: ../src/viktrwlayer_propwin.c:2776
msgid "<b>Duration:</b>"
msgstr "<b>Dauer:</b>"
-#: ../src/viktrwlayer_propwin.c:2828
-msgid "<b>Color:</b>"
+#: ../src/viktrwlayer_propwin.c:2797
+msgid "No"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2798
+msgid "Centre"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2799
+msgid "Start only"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2800
+msgid "End only"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2801
+msgid "Start and End"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2802
+msgid "Centre, Start and End"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2877 ../src/viktrwlayer_propwin.c:2901
-#: ../src/viktrwlayer_propwin.c:2929 ../src/viktrwlayer_propwin.c:2966
-#: ../src/viktrwlayer_propwin.c:2984 ../src/viktrwlayer_propwin.c:3034
-#: ../src/viktrwlayer_propwin.c:3035 ../src/viktrwlayer_propwin.c:3036
-#: ../src/viktrwlayer_propwin.c:3062 ../src/viktrwlayer_propwin.c:3063
+#: ../src/viktrwlayer_propwin.c:2814
+msgid "Maximum number of distance labels to be shown"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2818
+msgid "Properties"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2856 ../src/viktrwlayer_propwin.c:2880
+#: ../src/viktrwlayer_propwin.c:2908 ../src/viktrwlayer_propwin.c:2945
+#: ../src/viktrwlayer_propwin.c:2963 ../src/viktrwlayer_propwin.c:3009
+#: ../src/viktrwlayer_propwin.c:3010 ../src/viktrwlayer_propwin.c:3011
+#: ../src/viktrwlayer_propwin.c:3020 ../src/viktrwlayer_propwin.c:3021
+#: ../src/viktrwlayer_propwin.c:3036 ../src/viktrwlayer_propwin.c:3037
+#: ../src/viktrwlayer_propwin.c:3050 ../src/viktrwlayer_propwin.c:3051
+#: ../src/viktrwlayer_propwin.c:3064 ../src/viktrwlayer_propwin.c:3065
#: ../src/viktrwlayer_propwin.c:3078 ../src/viktrwlayer_propwin.c:3079
#: ../src/viktrwlayer_propwin.c:3092 ../src/viktrwlayer_propwin.c:3093
-#: ../src/viktrwlayer_propwin.c:3106 ../src/viktrwlayer_propwin.c:3107
-#: ../src/viktrwlayer_propwin.c:3120 ../src/viktrwlayer_propwin.c:3121
-#: ../src/viktrwlayer_propwin.c:3134 ../src/viktrwlayer_propwin.c:3135
+#: ../src/viktrwlayer_analysis.c:257
#, c-format
msgid "No Data"
msgstr "Keine Daten"
-#: ../src/viktrwlayer_propwin.c:3031
+#: ../src/viktrwlayer_propwin.c:3006
#, c-format
msgid "%d minutes"
msgstr "%d Minuten"
-#: ../src/viktrwlayer_propwin.c:3058
+#: ../src/viktrwlayer_propwin.c:3016 ../src/viktrwlayer_analysis.c:515
msgid "Statistics"
msgstr "Statistik"
-#: ../src/viktrwlayer_propwin.c:3064
+#: ../src/viktrwlayer_propwin.c:3022
msgid "Show D_EM"
msgstr "D_EM Anzeigen"
-#: ../src/viktrwlayer_propwin.c:3065 ../src/viktrwlayer_propwin.c:3080
-#: ../src/viktrwlayer_propwin.c:3094 ../src/viktrwlayer_propwin.c:3136
+#: ../src/viktrwlayer_propwin.c:3023 ../src/viktrwlayer_propwin.c:3038
+#: ../src/viktrwlayer_propwin.c:3052 ../src/viktrwlayer_propwin.c:3094
msgid "Show _GPS Speed"
msgstr "_GPS-Geschwindigkeit anzeigen"
-#: ../src/viktrwlayer_propwin.c:3067 ../src/viktrwlayer_propwin.c:3082
-#: ../src/viktrwlayer_propwin.c:3110 ../src/viktrwlayer_propwin.c:3138
+#: ../src/viktrwlayer_propwin.c:3025 ../src/viktrwlayer_propwin.c:3040
+#: ../src/viktrwlayer_propwin.c:3068 ../src/viktrwlayer_propwin.c:3096
msgid "<b>Track Distance:</b>"
msgstr "<b>Spur-Distanz:</b>"
-#: ../src/viktrwlayer_propwin.c:3068 ../src/viktrwlayer_propwin.c:3125
+#: ../src/viktrwlayer_propwin.c:3026 ../src/viktrwlayer_propwin.c:3083
msgid "<b>Track Height:</b>"
msgstr "<b>Spur-Höhe:</b>"
-#: ../src/viktrwlayer_propwin.c:3073
+#: ../src/viktrwlayer_propwin.c:3031
msgid "Elevation-distance"
msgstr "Höhenunterschied"
-#: ../src/viktrwlayer_propwin.c:3083
+#: ../src/viktrwlayer_propwin.c:3041
msgid "<b>Track Gradient:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3087
+#: ../src/viktrwlayer_propwin.c:3045
msgid "Gradient-distance"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3096 ../src/viktrwlayer_propwin.c:3111
-#: ../src/viktrwlayer_propwin.c:3124
+#: ../src/viktrwlayer_propwin.c:3054 ../src/viktrwlayer_propwin.c:3069
+#: ../src/viktrwlayer_propwin.c:3082
msgid "<b>Track Time:</b>"
msgstr "<b>Spur-Zeit:</b>"
-#: ../src/viktrwlayer_propwin.c:3097 ../src/viktrwlayer_propwin.c:3139
+#: ../src/viktrwlayer_propwin.c:3055 ../src/viktrwlayer_propwin.c:3097
msgid "<b>Track Speed:</b>"
msgstr "<b>Spur-Geschwindigkeit:</b>"
-#: ../src/viktrwlayer_propwin.c:3101
+#: ../src/viktrwlayer_propwin.c:3059
msgid "Speed-time"
msgstr "Geschwindigkeit-Zeit"
-#: ../src/viktrwlayer_propwin.c:3108 ../src/viktrwlayer_propwin.c:3122
+#: ../src/viktrwlayer_propwin.c:3066 ../src/viktrwlayer_propwin.c:3080
msgid "Show S_peed"
msgstr "_Geschwindigkeit anzeigen"
-#: ../src/viktrwlayer_propwin.c:3115
+#: ../src/viktrwlayer_propwin.c:3073
msgid "Distance-time"
msgstr "Distanz-Zeit"
-#: ../src/viktrwlayer_propwin.c:3129
+#: ../src/viktrwlayer_propwin.c:3087
msgid "Elevation-time"
msgstr "Höhe-Zeit"
-#: ../src/viktrwlayer_propwin.c:3143
+#: ../src/viktrwlayer_propwin.c:3101
msgid "Speed-distance"
msgstr "Geschwindigkeit-Distanz"
-#: ../src/viktrwlayer_tpwin.c:118
+#: ../src/viktrwlayer_tpwin.c:119
msgid "<b>Part of Track:</b>"
msgstr "<b>Teile der Spur:</b>"
-#: ../src/viktrwlayer_tpwin.c:119
+#: ../src/viktrwlayer_tpwin.c:120
msgid "<b>Latitude:</b>"
msgstr "<b>Breitengrad:<b>"
-#: ../src/viktrwlayer_tpwin.c:120
+#: ../src/viktrwlayer_tpwin.c:121
msgid "<b>Longitude:</b>"
msgstr "<b>Längengrad:</b>"
-#: ../src/viktrwlayer_tpwin.c:121
+#: ../src/viktrwlayer_tpwin.c:122
msgid "<b>Altitude:</b>"
msgstr "<b>Höhe:</b>"
-#: ../src/viktrwlayer_tpwin.c:122
+#: ../src/viktrwlayer_tpwin.c:123
+msgid "<b>Course:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_tpwin.c:124
msgid "<b>Timestamp:</b>"
msgstr "<b>Zeitstempel:</b>"
-#: ../src/viktrwlayer_tpwin.c:123
+#: ../src/viktrwlayer_tpwin.c:125
msgid "<b>Time:</b>"
msgstr "<b>Zeit:</b>"
-#: ../src/viktrwlayer_tpwin.c:124
+#: ../src/viktrwlayer_tpwin.c:126
msgid "<b>Distance Difference:</b>"
msgstr "<b>Distanz-Differenz:</b>"
-#: ../src/viktrwlayer_tpwin.c:125
+#: ../src/viktrwlayer_tpwin.c:127
msgid "<b>Time Difference:</b>"
msgstr "<b>Zeitunterschied:</b>"
-#: ../src/viktrwlayer_tpwin.c:126
+#: ../src/viktrwlayer_tpwin.c:128
msgid "<b>\"Speed\" Between:</b>"
msgstr "<b>\"Geschwindigkeit\" zwischen:</b>"
-#: ../src/viktrwlayer_tpwin.c:127
+#: ../src/viktrwlayer_tpwin.c:129
+msgid "<b>Speed:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_tpwin.c:130
msgid "<b>VDOP:</b>"
msgstr "<b>VDOP:</b>"
-#: ../src/viktrwlayer_tpwin.c:128
+#: ../src/viktrwlayer_tpwin.c:131
msgid "<b>HDOP:</b>"
msgstr "<b>HDOP:</b>"
-#: ../src/viktrwlayer_tpwin.c:129
+#: ../src/viktrwlayer_tpwin.c:132
msgid "<b>PDOP:</b>"
msgstr "<b>PDOP:</b>"
-#: ../src/viktrwlayer_tpwin.c:130
+#: ../src/viktrwlayer_tpwin.c:133
msgid "<b>SAT/FIX:</b>"
msgstr "<b>SAT/FIX:</b>"
-#: ../src/viktrwlayer_tpwin.c:139
+#: ../src/viktrwlayer_tpwin.c:141
msgid "Trackpoint"
msgstr "Spurpunkt"
-#: ../src/viktrwlayer_tpwin.c:142
+#: ../src/viktrwlayer_tpwin.c:144
msgid "_Insert After"
msgstr "Einfügen _nach"
-#: ../src/viktrwlayer_tpwin.c:144
+#: ../src/viktrwlayer_tpwin.c:146
msgid "Split Here"
msgstr "Hier auftrennen"
-#: ../src/viktrwlayer_geotag.c:446
+#.
+#. item = gtk_image_menu_item_new_with_mnemonic ( _("_Select") );
+#. gtk_image_menu_item_set_image ( (GtkImageMenuItem*)item, gtk_image_new_from_stock (GTK_STOCK_FIND, GTK_ICON_SIZE_MENU) );
+#. g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(trw_layer_track_select), values );
+#. gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
+#. gtk_widget_show ( item );
+#.
+#. ATM view auto selects, so don't bother with separate select menu entry
+#: ../src/viktrwlayer_tracklist.c:231 ../src/vikwindow.c:3695
+msgid "_View"
+msgstr "_Ansicht"
+
+#. Insert column for the layer name when viewing multi layers
+#: ../src/viktrwlayer_tracklist.c:514
+msgid "Layer"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:526
+msgid "Date"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:529
+msgid "Visible"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:536
+msgid ""
+"Distance\n"
+"(miles)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:539
+msgid ""
+"Distance\n"
+"(km)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:545
+msgid ""
+"Length\n"
+"(minutes)"
+msgstr ""
+
+#. VIK_UNITS_SPEED_KILOMETRES_PER_HOUR:
+#: ../src/viktrwlayer_tracklist.c:549 ../src/vikutils.c:72
+msgid "km/h"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:550 ../src/vikutils.c:62
+msgid "mph"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:551 ../src/vikutils.c:68
+msgid "knots"
+msgstr ""
+
+#. VIK_UNITS_SPEED_METRES_PER_SECOND:
+#: ../src/viktrwlayer_tracklist.c:553 ../src/vikutils.c:65
+msgid "m/s"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:556
+#, c-format
+msgid ""
+"Av. Speed\n"
+"(%s)"
+msgstr ""
+
+#. Apply own formatting of the data
+#: ../src/viktrwlayer_tracklist.c:561
+#, c-format
+msgid ""
+"Max Speed\n"
+"(%s)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:569
+msgid ""
+"Max Height\n"
+"(Feet)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:571
+msgid ""
+"Max Height\n"
+"(Metres)"
+msgstr ""
+
+#: ../src/viktrwlayer_geotag.c:481
#, c-format
msgid "Geotagging %d Images..."
msgstr "Georeferenziere %d Bilder..."
-#: ../src/viktrwlayer_geotag.c:510
+#: ../src/viktrwlayer_geotag.c:545
msgid "Geotag Images"
msgstr "Bilder georeferenzieren"
-#: ../src/viktrwlayer_geotag.c:516
+#: ../src/viktrwlayer_geotag.c:551
msgid "Images"
msgstr "Bilder"
-#: ../src/viktrwlayer_geotag.c:520
+#: ../src/viktrwlayer_geotag.c:555
msgid "Overwrite Existing Waypoints:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:523
+#: ../src/viktrwlayer_geotag.c:558
msgid "Overwrite Existing GPS Information:"
msgstr "Überschreibe existierende GPS-Information:"
-#: ../src/viktrwlayer_geotag.c:525
+#: ../src/viktrwlayer_geotag.c:560
msgid "Keep File Modification Timestamp:"
msgstr "Erhalte Zeitstempel für Dateiänderung:"
-#: ../src/viktrwlayer_geotag.c:555
+#: ../src/viktrwlayer_geotag.c:592
msgid "Create Waypoints:"
msgstr "Erzeuge Wegpunkte:"
-#: ../src/viktrwlayer_geotag.c:563
+#: ../src/viktrwlayer_geotag.c:600
msgid "Write EXIF:"
msgstr "Schreibe EXIF:"
-#: ../src/viktrwlayer_geotag.c:575
+#: ../src/viktrwlayer_geotag.c:612
msgid "Interpolate Between Track Segments:"
msgstr "Interpoliere zwischen Spursegmenten:"
-#: ../src/viktrwlayer_geotag.c:579
+#: ../src/viktrwlayer_geotag.c:616
msgid "Image Time Offset (Seconds):"
msgstr "Bild-Zeitversatz (Sekunden)"
-#: ../src/viktrwlayer_geotag.c:581
+#: ../src/viktrwlayer_geotag.c:618
msgid ""
"The number of seconds to ADD to the photos time to make it match the GPS "
"data. Calculate this with (GPS - Photo). Can be negative or positive. Useful "
@@ -3143,11 +3774,11 @@ msgstr ""
"synchron zu den GPS-Daten zu sein. Kann negativ oder positiv sein. Nützlich, "
"wenn der Kamerazeitstempel falsch war."
-#: ../src/viktrwlayer_geotag.c:584
+#: ../src/viktrwlayer_geotag.c:621
msgid "Image Timezone:"
msgstr "Zeitzone des Bildes"
-#: ../src/viktrwlayer_geotag.c:586
+#: ../src/viktrwlayer_geotag.c:623
msgid ""
"The timezone that was used when the images were created. For example, if a "
"camera is set to AWST or +8:00 hours. Enter +8:00 here so that the correct "
@@ -3157,47 +3788,259 @@ msgstr ""
"h nutzt, dann hier +2:00 eingeben, so dass der Zeitstempel des Bildes auf "
"die GPS-Zeitbasis (UTC) justiert wird."
-#: ../src/viktrwlayer_geotag.c:590
+#: ../src/viktrwlayer_geotag.c:627
#, c-format
msgid "Using track: %s"
msgstr "Benutze Spur: %s"
-#: ../src/viktrwlayer_geotag.c:592
+#: ../src/viktrwlayer_geotag.c:629
#, c-format
msgid "Using all tracks in: %s"
msgstr "Benutze alle Spuren in: %s"
-#: ../src/vikstatus.c:105
+#: ../src/viktrwlayer_analysis.c:193
+msgid "Number of Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:194
+msgid "Date Range"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:195
+msgid "Total Length"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:196
+msgid "Average Length"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:197
+msgid "Max Speed"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:198
+msgid "Avg. Speed"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:199
+msgid "Minimum Altitude"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:200
+msgid "Maximum Altitude"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:201
+msgid "Total Elevation Gain/Loss"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:202
+msgid "Avg. Elevation Gain/Loss"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:203
+msgid "Total Duration"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:204
+msgid "Avg. Duration"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:278
+#, c-format
+msgid "%.2f miles"
+msgstr ""
+
+#. VIK_UNITS_DISTANCE_KILOMETRES
+#: ../src/viktrwlayer_analysis.c:282
+#, c-format
+msgid "%.2f km"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:297
+#, c-format
+msgid "%.2f m/s"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:306
+#, c-format
+msgid "%.2f knots\n"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:309
+#, c-format
+msgid "%.2f knots"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:316 ../src/viktrwlayer_analysis.c:319
+#, c-format
+msgid "%.2f km/h"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:330 ../src/viktrwlayer_analysis.c:336
+#, c-format
+msgid "%d feet"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:341 ../src/viktrwlayer_analysis.c:343
+#, c-format
+msgid "%d feet / %d feet"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:348 ../src/viktrwlayer_analysis.c:354
+#, c-format
+msgid "%d m"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:359 ../src/viktrwlayer_analysis.c:361
+#, c-format
+msgid "%d m / %d m"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:373
+#, c-format
+msgid "%d:%02d:%02d days:hrs:mins"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:380
+#, c-format
+msgid "%d:%02d hrs:mins"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:550
+msgid "Include Invisible Items"
+msgstr ""
+
+#: ../src/vikstatus.c:107
+msgid "Current number of background tasks. Click to see the background jobs."
+msgstr ""
+
+#: ../src/vikstatus.c:113
msgid "Current zoom level. Click to select a new one."
msgstr ""
-#: ../src/vikwaypoint.c:34
-msgid "Waypoint"
+#: ../src/vikutils.c:80
+msgid "GPSD"
+msgstr ""
+
+#. GPS Preamble
+#: ../src/vikutils.c:81
+msgid "Trkpt"
+msgstr ""
+
+#: ../src/vikutils.c:121
+#, c-format
+msgid "%sSpeed%s %.1f%s"
+msgstr ""
+
+#: ../src/vikutils.c:130
+#, c-format
+msgid "%sAlt %dfeet"
+msgstr ""
+
+#. VIK_UNITS_HEIGHT_METRES:
+#: ../src/vikutils.c:134
+#, c-format
+msgid "%sAlt %dm"
+msgstr ""
+
+#: ../src/vikutils.c:142
+#, c-format
+msgid "%sCourse %03d°"
+msgstr ""
+
+#: ../src/vikutils.c:155
+msgid "yards"
+msgstr ""
+
+#. VIK_UNITS_DISTANCE_KILOMETRES:
+#: ../src/vikutils.c:159
+msgid "m"
+msgstr ""
+
+#: ../src/vikutils.c:163
+#, c-format
+msgid "%sDistance diff %d%s"
+msgstr ""
+
+#: ../src/vikutils.c:179
+#, c-format
+msgid "%sTime %s"
+msgstr ""
+
+#: ../src/vikutils.c:187
+#, c-format
+msgid "%sTime diff %lds"
+msgstr ""
+
+#: ../src/vikutils.c:193
+#, c-format
+msgid "%sNo. of Sats %d"
+msgstr ""
+
+#: ../src/vikutils.c:213
+#, c-format
+msgid "%sDistance along %.2f%s"
msgstr ""
+#. Name of track
+#: ../src/vikutils.c:232
+#, c-format
+msgid "%sTrack: %s"
+msgstr ""
+
+#: ../src/vikwaypoint.c:36
+msgid "Waypoint"
+msgstr "Wegpunkt"
+
#. TODO get rid of this as this is unnecessary duplication...
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Pan"
msgstr "Greifer"
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Zoom"
msgstr "Vergrößerung"
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Ruler"
msgstr "Lineal"
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Select"
msgstr "Auswahl"
+#: ../src/vikwindow.c:381
+msgid "Location lookup aborted"
+msgstr ""
+
+#: ../src/vikwindow.c:401
+#, c-format
+msgid "Location found: %s"
+msgstr ""
+
+#: ../src/vikwindow.c:410
+msgid "Unable to determine location"
+msgstr ""
+
+#: ../src/vikwindow.c:434
+msgid "Default Map"
+msgstr ""
+
+#: ../src/vikwindow.c:444
+msgid "Trying to determine location..."
+msgstr ""
+
+#: ../src/vikwindow.c:447
+msgid "Determining location"
+msgstr ""
+
#. Create tooltip
-#: ../src/vikwindow.c:440
+#: ../src/vikwindow.c:605
msgid "Select zoom level"
-msgstr ""
+msgstr "Vergrößerungsstufe auswählen"
-#: ../src/vikwindow.c:645
+#: ../src/vikwindow.c:923
#, c-format
msgid ""
"Do you want to save the changes you made to the document \"%s\"?\n"
@@ -3207,102 +4050,102 @@ msgstr ""
"Wollen Sie die Änderungen am Dokument \"%s\" speichern?\n"
"Ihre Änderungen gehen verloren, wenn Sie sie nicht speichern."
-#: ../src/vikwindow.c:649
+#: ../src/vikwindow.c:927
msgid "Don't Save"
msgstr "Nicht speichern"
-#: ../src/vikwindow.c:696
+#: ../src/vikwindow.c:1005
msgid "mpp"
msgstr "mpp"
-#: ../src/vikwindow.c:696
+#: ../src/vikwindow.c:1005
msgid "pixelfact"
msgstr "pixelfact"
-#: ../src/vikwindow.c:861
+#: ../src/vikwindow.c:1169
#, c-format
msgid "%s %s %dm"
msgstr "%s %s %d m"
-#: ../src/vikwindow.c:863
+#: ../src/vikwindow.c:1171
#, c-format
msgid "%s %s %dft"
msgstr "%s %s %d ft"
-#: ../src/vikwindow.c:866
+#: ../src/vikwindow.c:1174
#, c-format
msgid "%s %s"
msgstr "%s %s"
#. NB Ctrl+Shift+R is used for Refresh (deemed more important), so use 'U' instead
-#: ../src/vikwindow.c:1254
+#: ../src/vikwindow.c:1562
msgid "_Ruler"
msgstr "_Messwerkzeug"
-#: ../src/vikwindow.c:1254
+#: ../src/vikwindow.c:1562
msgid "Ruler Tool"
msgstr "Messwerkzeug"
-#: ../src/vikwindow.c:1502 ../src/vikwindow.c:3138
+#: ../src/vikwindow.c:1810 ../src/vikwindow.c:3697
msgid "_Zoom"
msgstr "_Vergrößerung"
-#: ../src/vikwindow.c:1502
+#: ../src/vikwindow.c:1810
msgid "Zoom Tool"
msgstr "Vergrößerungswerkzeug"
-#: ../src/vikwindow.c:1547 ../src/vikwindow.c:3139
+#: ../src/vikwindow.c:1855 ../src/vikwindow.c:3698
msgid "_Pan"
msgstr "_Greife"
-#: ../src/vikwindow.c:1547
+#: ../src/vikwindow.c:1855
msgid "Pan Tool"
msgstr "Greifer-Werkzeug"
-#: ../src/vikwindow.c:1664
+#: ../src/vikwindow.c:1972
msgid "_Select"
msgstr "Aus_wählen"
-#: ../src/vikwindow.c:1664
+#: ../src/vikwindow.c:1972
msgid "Select Tool"
msgstr "Auswahlwerkzeug"
-#: ../src/vikwindow.c:1809
+#: ../src/vikwindow.c:2123
msgid "You must select a layer to show its properties."
msgstr "Sie müssen eine Ebene auswählen, um ihre Eigenschaften anzuzeigen."
#. No error to show, so unlikely this will get called
-#: ../src/vikwindow.c:1824
+#: ../src/vikwindow.c:2137
msgid "The help system is not available."
msgstr ""
#. Main error path
-#: ../src/vikwindow.c:1827
+#: ../src/vikwindow.c:2140
#, c-format
msgid ""
"Help is not available because: %s.\n"
"Ensure a Mime Type ghelp handler program is installed (e.g. yelp)."
msgstr ""
-#: ../src/vikwindow.c:1850
+#: ../src/vikwindow.c:2160
msgid "You must select a layer to delete."
msgstr "Sie müssen eine Ebene zum Löschen auswählen."
-#: ../src/vikwindow.c:2087
+#: ../src/vikwindow.c:2396
msgid "Untitled"
msgstr "Unbenannt"
-#: ../src/vikwindow.c:2194
+#: ../src/vikwindow.c:2503
#, c-format
msgid "Unable to add '%s' to the list of recently used documents"
msgstr ""
"'%s' kann der Liste der aktuell benutzten Dokumente nicht angefügt werden."
-#: ../src/vikwindow.c:2208
+#: ../src/vikwindow.c:2540
msgid "The file you requested could not be opened."
msgstr "Die angeforderte Datei konnte nicht geöffnet werden."
-#: ../src/vikwindow.c:2211
+#: ../src/vikwindow.c:2543
msgid ""
"GPSBabel is required to load files of this type or GPSBabel encountered "
"problems."
@@ -3310,70 +4153,129 @@ msgstr ""
"GPSBabel wird benötigt, um Dateien dieses Typs zu laden oder es gab ein "
"Problem beim Anwenden von GPSBabel."
-#: ../src/vikwindow.c:2214
+#: ../src/vikwindow.c:2546
#, c-format
msgid "Unable to load malformed GPX file %s"
msgstr ""
-#: ../src/vikwindow.c:2217
+#: ../src/vikwindow.c:2549
#, c-format
msgid "Unsupported file type for %s"
msgstr "Nicht unterstützter Dateityp für %s"
#. Since we can process .vik files with issues just show a warning in the status bar
#. Not that a user can do much about it... or tells them what this issue is yet...
-#: ../src/vikwindow.c:2223
+#: ../src/vikwindow.c:2555
#, c-format
msgid "WARNING: issues encountered loading %s"
msgstr ""
-#: ../src/vikwindow.c:2278
+#: ../src/vikwindow.c:2613
msgid "Please select a GPS data file to open. "
msgstr "Bitte geben Sie eine GPS-Datendatei zum Öffnen an. "
-#: ../src/vikwindow.c:2288
+#: ../src/vikwindow.c:2629
msgid "Geocaching"
msgstr "Geocaching"
-#: ../src/vikwindow.c:2294
+#: ../src/vikwindow.c:2635
msgid "Google Earth"
msgstr "Google Earth"
-#: ../src/vikwindow.c:2299
+#: ../src/vikwindow.c:2640
msgid "GPX"
msgstr "GPX"
-#: ../src/vikwindow.c:2304 ../src/vikwindow.c:2387
+#: ../src/vikwindow.c:2645 ../src/vikwindow.c:2734
#: ../src/viking.desktop.in.h:1
msgid "Viking"
msgstr "Viking"
-#: ../src/vikwindow.c:2374
+#: ../src/vikwindow.c:2715
msgid "Save as Viking File."
msgstr "Als Viking-Datei speichern."
+#: ../src/vikwindow.c:2841
+msgid "Exporting to file: "
+msgstr ""
+
+#. Confirm what happened.
+#: ../src/vikwindow.c:2858
+#, c-format
+msgid "Exported files: %d"
+msgstr ""
+
+#: ../src/vikwindow.c:2870
+msgid "Nothing to Export!"
+msgstr ""
+
+#: ../src/vikwindow.c:2874
+msgid "Export to directory"
+msgstr ""
+
+#: ../src/vikwindow.c:2896
+msgid "Could not convert all files"
+msgstr ""
+
+#: ../src/vikwindow.c:2932
+#, c-format
+msgid "%d bytes"
+msgstr ""
+
+#: ../src/vikwindow.c:2934
+#, c-format
+msgid "%3.1f kB"
+msgstr ""
+
+#: ../src/vikwindow.c:2936
+#, c-format
+msgid "%3.1f MB"
+msgstr ""
+
+#: ../src/vikwindow.c:2937
+#, c-format
+msgid ""
+"%s\n"
+"\n"
+"%s\n"
+"\n"
+"%s"
+msgstr ""
+
+#: ../src/vikwindow.c:2942
+msgid "File not accessible"
+msgstr ""
+
+#: ../src/vikwindow.c:2945
+msgid "No Viking File"
+msgstr ""
+
+#: ../src/vikwindow.c:3035
+msgid "This layer has no configurable properties."
+msgstr ""
+
#. Try harder...
-#: ../src/vikwindow.c:2619 ../src/vikwindow.c:2625
+#: ../src/vikwindow.c:3169 ../src/vikwindow.c:3175
msgid "Generating image file..."
msgstr ""
-#: ../src/vikwindow.c:2647
+#: ../src/vikwindow.c:3197
msgid ""
"Failed to generate internal image.\n"
"\n"
"Try creating a smaller image."
msgstr ""
-#: ../src/vikwindow.c:2655
+#: ../src/vikwindow.c:3205
msgid "Failed to generate image file."
msgstr ""
#. Success
-#: ../src/vikwindow.c:2660
+#: ../src/vikwindow.c:3210
msgid "Image file generated."
msgstr ""
-#: ../src/vikwindow.c:2764
+#: ../src/vikwindow.c:3314
msgid ""
"Viewable region outside allowable pixel size bounds for image. Clipping "
"width/height values."
@@ -3381,455 +4283,480 @@ msgstr ""
"Der sichtbare Bereich liegt außerhalb der erlaubten Pixelzahl des Bildes. "
"Höhe/Breite beschnitten."
-#: ../src/vikwindow.c:2789
+#: ../src/vikwindow.c:3339
#, c-format
msgid "Total area: %ldm x %ldm (%.3f sq. km)"
msgstr "Gesamtareal: %ld m x %ld m (%.3f km²)"
-#: ../src/vikwindow.c:2792
+#: ../src/vikwindow.c:3342
#, c-format
msgid "Total area: %ldm x %ldm (%.3f sq. miles)"
msgstr "Gesamtareal: %ld m x %ld m (%.3f Quadratmeilen)"
-#: ../src/vikwindow.c:2813
+#: ../src/vikwindow.c:3363
msgid "Save Image"
msgstr "Bild speichern"
-#: ../src/vikwindow.c:2834
+#: ../src/vikwindow.c:3393
msgid "PNG"
-msgstr ""
+msgstr "PNG"
-#: ../src/vikwindow.c:2857
+#: ../src/vikwindow.c:3416
msgid "You must be in UTM mode to use this feature"
msgstr "Diese Funktion nur im UTM-Modus möglich."
-#: ../src/vikwindow.c:2862
+#: ../src/vikwindow.c:3421
msgid "Choose a directory to hold images"
msgstr "Ein Verzeichnis für Speicherung der Bilder auswählen"
#. todo: default for answers inside VikWindow or static (thruout instance)
-#: ../src/vikwindow.c:2883
+#: ../src/vikwindow.c:3442
msgid "Save to Image File"
msgstr "Als Bild-Datei speichern"
-#: ../src/vikwindow.c:2900
+#: ../src/vikwindow.c:3459
msgid "Width (pixels):"
msgstr "Breite (Pixel):"
-#: ../src/vikwindow.c:2902
+#: ../src/vikwindow.c:3461
msgid "Height (pixels):"
msgstr "Höhe (Pixel):"
-#: ../src/vikwindow.c:2905
+#: ../src/vikwindow.c:3464
msgid ""
"WARNING: USING LARGE IMAGES OVER 10000x10000\n"
"MAY CRASH THE PROGRAM!"
msgstr ""
-#: ../src/vikwindow.c:2907
+#: ../src/vikwindow.c:3466
msgid "Zoom (meters per pixel):"
msgstr "Vergrösserung (Meter pro Pixel):"
-#: ../src/vikwindow.c:2921
+#: ../src/vikwindow.c:3482
msgid "Area in current viewable window"
msgstr "Bereich in aktuell sichtbarem Fenster"
-#: ../src/vikwindow.c:2931
+#: ../src/vikwindow.c:3492
msgid "Save as PNG"
msgstr "Als PNG speichern"
-#: ../src/vikwindow.c:2932
+#: ../src/vikwindow.c:3493
msgid "Save as JPEG"
msgstr "Als JPEG speichern"
-#: ../src/vikwindow.c:2954
+#: ../src/vikwindow.c:3515
msgid "East-west image tiles:"
msgstr "Ost-West-Bildkachel:"
-#: ../src/vikwindow.c:2956
+#: ../src/vikwindow.c:3517
msgid "North-south image tiles:"
msgstr "Nord-Süd-Bildkachel:"
-#: ../src/vikwindow.c:3097
+#: ../src/vikwindow.c:3656
msgid "Choose a background color"
msgstr "Hintergrundfarbe wählen"
-#: ../src/vikwindow.c:3113
+#: ../src/vikwindow.c:3672
msgid "Choose a track highlight color"
msgstr "Farbe für Hervorhebung der Spur wählen"
-#: ../src/vikwindow.c:3134
+#: ../src/vikwindow.c:3693
msgid "_File"
msgstr "_Datei"
-#: ../src/vikwindow.c:3135
+#: ../src/vikwindow.c:3694
msgid "_Edit"
msgstr "_Bearbeiten"
-#: ../src/vikwindow.c:3136
-msgid "_View"
-msgstr "_Ansicht"
-
-#: ../src/vikwindow.c:3137
+#: ../src/vikwindow.c:3696
msgid "_Show"
msgstr "_Anzeigen"
-#: ../src/vikwindow.c:3140
+#: ../src/vikwindow.c:3699
msgid "_Layers"
msgstr "_Ebenen"
-#: ../src/vikwindow.c:3141
+#: ../src/vikwindow.c:3700
msgid "_Tools"
msgstr "_Werkzeuge"
-#: ../src/vikwindow.c:3142
+#: ../src/vikwindow.c:3701
msgid "_Webtools"
msgstr "_Internetwerkzeuge"
-#: ../src/vikwindow.c:3143 ../src/vikwindow.c:3206
+#: ../src/vikwindow.c:3702 ../src/vikwindow.c:3763
msgid "_Help"
msgstr "_Hilfe"
-#: ../src/vikwindow.c:3145
+#: ../src/vikwindow.c:3704
msgid "New file"
msgstr "Neue Datei"
-#: ../src/vikwindow.c:3146
+#: ../src/vikwindow.c:3705
msgid "_Open..."
msgstr "_Öffnen..."
-#: ../src/vikwindow.c:3146
+#: ../src/vikwindow.c:3705
msgid "Open a file"
msgstr "Eine Datei öffnen"
-#: ../src/vikwindow.c:3147
+#: ../src/vikwindow.c:3706
msgid "Open _Recent File"
msgstr "_Zuletzt geöffnet"
-#: ../src/vikwindow.c:3148
+#: ../src/vikwindow.c:3707
msgid "Append _File..."
msgstr "Datei _anfügen..."
-#: ../src/vikwindow.c:3148
+#: ../src/vikwindow.c:3707
msgid "Append data from a different file"
msgstr "Daten auf einer anderen Datei anfügen"
-#: ../src/vikwindow.c:3149
+#: ../src/vikwindow.c:3708
+msgid "_Export All"
+msgstr ""
+
+#: ../src/vikwindow.c:3708
+msgid "Export All TrackWaypoint Layers"
+msgstr ""
+
+#: ../src/vikwindow.c:3709
+msgid "_GPX..."
+msgstr ""
+
+#: ../src/vikwindow.c:3709
+msgid "Export as GPX"
+msgstr ""
+
+#: ../src/vikwindow.c:3710
msgid "A_cquire"
msgstr "_Laden"
-#: ../src/vikwindow.c:3150
+#: ../src/vikwindow.c:3711
msgid "Transfer data from a GPS device"
msgstr "Daten von GPS-Gerät übertragen"
-#: ../src/vikwindow.c:3151
+#: ../src/vikwindow.c:3712
msgid "Import File With GPS_Babel..."
msgstr "Importiere Datei mit GPS_Babel..."
-#: ../src/vikwindow.c:3151
+#: ../src/vikwindow.c:3712
msgid "Import file via GPSBabel converter"
msgstr "Importiere Datei über den GPSBabel-Dateikonvertierer"
-#: ../src/vikwindow.c:3153
-msgid "Google _Directions..."
-msgstr "Google-_Richtung..."
+#: ../src/vikwindow.c:3713
+msgid "_Directions..."
+msgstr ""
-#: ../src/vikwindow.c:3153
-msgid "Get driving directions from Google"
-msgstr "Fahrtrichtung von Google beziehen"
+#: ../src/vikwindow.c:3713
+msgid "Get driving directions"
+msgstr ""
-#: ../src/vikwindow.c:3156
+#: ../src/vikwindow.c:3715
msgid "_OSM Traces..."
msgstr "_OSM-Spuren..."
-#: ../src/vikwindow.c:3156
+#: ../src/vikwindow.c:3715
msgid "Get traces from OpenStreetMap"
msgstr "Hole Spuren von Openstreetmap"
-#: ../src/vikwindow.c:3157
+#: ../src/vikwindow.c:3716
msgid "_My OSM Traces..."
-msgstr ""
+msgstr "_Meine OSM-Spuren ..."
-#: ../src/vikwindow.c:3157
+#: ../src/vikwindow.c:3716
msgid "Get Your Own Traces from OpenStreetMap"
msgstr ""
-#: ../src/vikwindow.c:3160
+#: ../src/vikwindow.c:3719
msgid "Geo_caches..."
msgstr "Geo_caches..."
-#: ../src/vikwindow.c:3160
+#: ../src/vikwindow.c:3719
msgid "Get Geocaches from geocaching.com"
msgstr "Geocaches von geocaching.com beziehen"
-#: ../src/vikwindow.c:3163
+#: ../src/vikwindow.c:3722
msgid "Create waypoints from geotagged images"
msgstr "Erzeuge Wegpunkte aus georeferenzierten Bildern"
-#: ../src/vikwindow.c:3166
+#: ../src/vikwindow.c:3725
msgid "Create waypoints from Wikipedia items in the current view"
msgstr ""
-#: ../src/vikwindow.c:3168
+#: ../src/vikwindow.c:3727
msgid "_Save"
msgstr "_Speichern"
-#: ../src/vikwindow.c:3168
+#: ../src/vikwindow.c:3727
msgid "Save the file"
msgstr "Datei speichern"
-#: ../src/vikwindow.c:3169
+#: ../src/vikwindow.c:3728
msgid "Save _As..."
msgstr "Speichern _unter …"
-#: ../src/vikwindow.c:3169
+#: ../src/vikwindow.c:3728
msgid "Save the file under different name"
msgstr "Datei unter anderem Namen Speichern"
-#: ../src/vikwindow.c:3170
+#: ../src/vikwindow.c:3729
+msgid "Properties..."
+msgstr ""
+
+#: ../src/vikwindow.c:3729
+msgid "File Properties"
+msgstr ""
+
+#: ../src/vikwindow.c:3730
msgid "_Generate Image File..."
msgstr "_Bild-Datei erzeugen..."
-#: ../src/vikwindow.c:3170
+#: ../src/vikwindow.c:3730
msgid "Save a snapshot of the workspace into a file"
msgstr "Speichere Schnappschuss des Arbeitsbereichs in einer Datei."
-#: ../src/vikwindow.c:3171
+#: ../src/vikwindow.c:3731
msgid "Generate _Directory of Images..."
msgstr "Bild-_Verzeichnis erzeugen..."
-#: ../src/vikwindow.c:3171
+#: ../src/vikwindow.c:3731
msgid "FIXME:IMGDIR"
msgstr "FIXME:IMGDIR"
-#: ../src/vikwindow.c:3174
+#: ../src/vikwindow.c:3732
msgid "_Print..."
msgstr "_Drucken..."
-#: ../src/vikwindow.c:3174
+#: ../src/vikwindow.c:3732
msgid "Print maps"
msgstr "Karten drucken"
-#: ../src/vikwindow.c:3177
+#: ../src/vikwindow.c:3733
msgid "E_xit"
msgstr "Be_enden"
-#: ../src/vikwindow.c:3177
+#: ../src/vikwindow.c:3733
msgid "Exit the program"
msgstr "Das Programm beenden"
-#: ../src/vikwindow.c:3178
+#: ../src/vikwindow.c:3734
msgid "Save and Exit"
msgstr "Speichern _und beenden"
-#: ../src/vikwindow.c:3178
+#: ../src/vikwindow.c:3734
msgid "Save and Exit the program"
msgstr "Speichern und das Programm beenden"
-#: ../src/vikwindow.c:3180
+#: ../src/vikwindow.c:3736
msgid "Go to the _Default Location"
msgstr "Gehe zum _Ausgangsstandort"
-#: ../src/vikwindow.c:3180
+#: ../src/vikwindow.c:3736
msgid "Go to the default location"
msgstr "Gehe zum Ausgangsstandort"
-#: ../src/vikwindow.c:3181
+#: ../src/vikwindow.c:3737
msgid "Go to _Location..."
msgstr "Gehe zum _Ort"
-#: ../src/vikwindow.c:3181
+#: ../src/vikwindow.c:3737
msgid "Go to address/place using text search"
msgstr "Gehe zu Adresse/Ort mittels _Textsuche"
-#: ../src/vikwindow.c:3182
+#: ../src/vikwindow.c:3738
msgid "_Go to Lat/Lon..."
msgstr "Gehe zu B_reite/Länge..."
-#: ../src/vikwindow.c:3182
+#: ../src/vikwindow.c:3738
msgid "Go to arbitrary lat/lon coordinate"
msgstr "Gehe zu beliebiger Breiten-/Längenkoordinate"
-#: ../src/vikwindow.c:3183
+#: ../src/vikwindow.c:3739
msgid "Go to UTM..."
msgstr "Gehe zu _UTM..."
-#: ../src/vikwindow.c:3183
+#: ../src/vikwindow.c:3739
msgid "Go to arbitrary UTM coordinate"
msgstr "Gehe zu beliebiger UTM-Koordinate"
-#: ../src/vikwindow.c:3184
+#: ../src/vikwindow.c:3740
msgid "_Refresh"
-msgstr ""
+msgstr "_Aktualisieren"
-#: ../src/vikwindow.c:3184
+#: ../src/vikwindow.c:3740
msgid "Refresh any maps displayed"
msgstr ""
-#: ../src/vikwindow.c:3185
+#: ../src/vikwindow.c:3741
msgid "Set _Highlight Color..."
msgstr "Farbe für _Hervorhebung wählen..."
-#: ../src/vikwindow.c:3186
+#: ../src/vikwindow.c:3742
msgid "Set Bac_kground Color..."
msgstr "Hintergrund_farbe"
-#: ../src/vikwindow.c:3187
+#: ../src/vikwindow.c:3743
msgid "Zoom _In"
msgstr "Ver_größern"
-#: ../src/vikwindow.c:3188
+#: ../src/vikwindow.c:3744
msgid "Zoom _Out"
msgstr "Ver_kleinern"
-#: ../src/vikwindow.c:3189
+#: ../src/vikwindow.c:3745
msgid "Zoom _To..."
msgstr "Zoome _auf..."
-#: ../src/vikwindow.c:3190
+#: ../src/vikwindow.c:3746
msgid "Pan _North"
msgstr "Richtung _Nord"
-#: ../src/vikwindow.c:3191
+#: ../src/vikwindow.c:3747
msgid "Pan _East"
msgstr "Richtung _Ost"
-#: ../src/vikwindow.c:3192
+#: ../src/vikwindow.c:3748
msgid "Pan _South"
msgstr "Richtung _Süd"
-#: ../src/vikwindow.c:3193
+#: ../src/vikwindow.c:3749
msgid "Pan _West"
msgstr "Richtung _West"
-#: ../src/vikwindow.c:3194
+#: ../src/vikwindow.c:3750
msgid "Background _Jobs"
msgstr "Hintergrund_aufträge"
-#: ../src/vikwindow.c:3196
+#: ../src/vikwindow.c:3752
msgid "Cu_t"
msgstr "_Ausschneiden"
-#: ../src/vikwindow.c:3197
-msgid "_Copy"
-msgstr "K_opieren"
-
-#: ../src/vikwindow.c:3198
-msgid "_Paste"
-msgstr "_Einfügen"
-
-#: ../src/vikwindow.c:3199
-msgid "_Delete"
-msgstr "_Löschen"
-
-#: ../src/vikwindow.c:3200
+#: ../src/vikwindow.c:3756
msgid "Delete All"
msgstr "_Alle löschen"
-#: ../src/vikwindow.c:3201
+#: ../src/vikwindow.c:3757
msgid "_Flush Map Cache"
msgstr "Kartenpu_ffer löschen"
-#: ../src/vikwindow.c:3202
+#: ../src/vikwindow.c:3758
msgid "_Set the Default Location"
msgstr "Ausgangsstandort _setzen"
-#: ../src/vikwindow.c:3202
+#: ../src/vikwindow.c:3758
msgid "Set the Default Location to the current position"
msgstr "Ausgangsstandort auf aktuelle Position setzen"
-#: ../src/vikwindow.c:3203
+#: ../src/vikwindow.c:3759
msgid "_Preferences"
msgstr "_Einstellungen"
-#: ../src/vikwindow.c:3204
+#: ../src/vikwindow.c:3760
+msgid "_Layer Defaults"
+msgstr ""
+
+#: ../src/vikwindow.c:3761
msgid "_Properties"
msgstr "Ei_genschaften..."
-#: ../src/vikwindow.c:3207
+#: ../src/vikwindow.c:3764
msgid "_About"
msgstr "_Über"
-#: ../src/vikwindow.c:3213
+#: ../src/vikwindow.c:3768
+msgid "_KML..."
+msgstr ""
+
+#: ../src/vikwindow.c:3768
+msgid "Export as KML"
+msgstr ""
+
+#: ../src/vikwindow.c:3774
msgid "_UTM Mode"
msgstr "_UTM-Modus"
-#: ../src/vikwindow.c:3214
+#: ../src/vikwindow.c:3775
msgid "_Expedia Mode"
msgstr "_Expedia-Modus"
-#: ../src/vikwindow.c:3215
+#: ../src/vikwindow.c:3776
msgid "_Mercator Mode"
msgstr "_Mercator-Modus"
-#: ../src/vikwindow.c:3216
+#: ../src/vikwindow.c:3777
msgid "Lat_/Lon Mode"
msgstr "Längen-_/Breitengrad-Modus"
-#: ../src/vikwindow.c:3220
+#: ../src/vikwindow.c:3781
msgid "Show _Scale"
msgstr "Maß_stab anzeigen"
-#: ../src/vikwindow.c:3220
+#: ../src/vikwindow.c:3781
msgid "Show Scale"
msgstr "Maßstab anzeigen"
-#: ../src/vikwindow.c:3221
+#: ../src/vikwindow.c:3782
msgid "Show _Center Mark"
msgstr "_Mittenmarkierung anzeigen"
-#: ../src/vikwindow.c:3221
+#: ../src/vikwindow.c:3782
msgid "Show Center Mark"
msgstr "Zentrumsmarkierung anzeigen"
-#: ../src/vikwindow.c:3222
+#: ../src/vikwindow.c:3783
msgid "Show _Highlight"
msgstr "_Hervorhebung anzeigen"
-#: ../src/vikwindow.c:3222
+#: ../src/vikwindow.c:3783
msgid "Show Highlight"
msgstr "Hervorhebung anzeigen"
-#: ../src/vikwindow.c:3223
+#: ../src/vikwindow.c:3784
msgid "_Full Screen"
msgstr "_Vollbild"
-#: ../src/vikwindow.c:3223
+#: ../src/vikwindow.c:3784
msgid "Activate full screen mode"
msgstr "Vollbildmodus aktivieren"
-#: ../src/vikwindow.c:3224
+#: ../src/vikwindow.c:3785
msgid "Show Side _Panel"
msgstr "Seiten_fenster anzeigen"
-#: ../src/vikwindow.c:3224
+#: ../src/vikwindow.c:3785
msgid "Show Side Panel"
msgstr "Seitenfenster anzeigen"
-#: ../src/vikwindow.c:3225
+#: ../src/vikwindow.c:3786
msgid "Show Status_bar"
msgstr "Status_leiste anzeigen"
-#: ../src/vikwindow.c:3225
+#: ../src/vikwindow.c:3786
msgid "Show Statusbar"
msgstr "Statusleiste anzeigen"
-#: ../src/vikwindow.c:3226
+#: ../src/vikwindow.c:3787
msgid "Show _Toolbar"
msgstr "_Werkzeugleiste anzeigen"
-#: ../src/vikwindow.c:3226
+#: ../src/vikwindow.c:3787
msgid "Show Toolbar"
msgstr "Werkzeugleiste anzeigen"
-#: ../src/vikwindow.c:3227
+#: ../src/vikwindow.c:3788
msgid "Show _Menu"
msgstr "_Menü anzeigen"
-#: ../src/vikwindow.c:3227
+#: ../src/vikwindow.c:3788
msgid "Show Menu"
msgstr "Menü anzeigen"
+#: ../src/vikwindow.c:3862
+#, c-format
+msgid "New _%s Layer"
+msgstr ""
+
#: ../src/viking.desktop.in.h:2
msgid "GPS Data Manager"
msgstr "GPS-Daten-Manager"
diff --git a/po/el.po b/po/el.po
index e576fb6..57f8379 100644
--- a/po/el.po
+++ b/po/el.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: viking\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-02-04 23:29+0100\n"
+"POT-Creation-Date: 2013-09-03 21:58+0200\n"
"PO-Revision-Date: 2010-11-16 03:07+0000\n"
"Last-Translator: Guilhem Bonnefille <guilhem.bonnefille@gmail.com>\n"
"Language-Team: Greek <el@li.org>\n"
@@ -15,60 +15,60 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Launchpad-Export-Date: 2013-03-23 17:12+0000\n"
-"X-Generator: Launchpad (build 16540)\n"
+"X-Launchpad-Export-Date: 2013-10-12 09:04+0000\n"
+"X-Generator: Launchpad (build 16799)\n"
"Language: el\n"
-#: ../src/acquire.c:103 ../src/vikgpslayer.c:1185
+#: ../src/acquire.c:103 ../src/vikgpslayer.c:1235
msgid "Done."
msgstr "Ολοκληρώθηκε."
-#: ../src/acquire.c:114
+#: ../src/acquire.c:112
msgid "No data."
msgstr "Χωρίς δεδομένα"
-#: ../src/acquire.c:154 ../src/acquire.c:404
+#: ../src/acquire.c:154 ../src/acquire.c:424
msgid "Error: acquisition failed."
msgstr ""
-#: ../src/acquire.c:341
+#: ../src/acquire.c:352
msgid "Working..."
msgstr "Εργασία..."
#. This shouldn't happen...
-#: ../src/acquire.c:394
+#: ../src/acquire.c:415
msgid ""
"Unable to create command\n"
"Acquire method failed."
msgstr ""
-#: ../src/acquire.c:486
+#: ../src/acquire.c:517
msgid "_Filter"
msgstr ""
-#: ../src/acquire.c:501
+#: ../src/acquire.c:532
#, c-format
msgid "Filter with %s"
msgstr ""
-#: ../src/acquire.c:518
+#: ../src/acquire.c:549
msgid "Filter"
msgstr ""
-#: ../src/background.c:52
+#: ../src/background.c:53
#, c-format
msgid "%d items"
msgstr ""
-#: ../src/background.c:248
+#: ../src/background.c:254
msgid "Job"
msgstr "Εργασία"
-#: ../src/background.c:252
+#: ../src/background.c:258
msgid "Progress"
msgstr "Πρόοδος"
-#: ../src/background.c:268
+#: ../src/background.c:274
msgid "Viking Background Jobs"
msgstr ""
@@ -77,7 +77,7 @@ msgid "Bing"
msgstr ""
#. VIK_GTK_WINDOW_FROM_WIDGET(vp)
-#: ../src/bingmapsource.c:445
+#: ../src/bingmapsource.c:499
msgid "Bing attribution Loading"
msgstr ""
@@ -102,35 +102,35 @@ msgid ""
"into."
msgstr ""
-#: ../src/dialog.c:52
+#: ../src/dialog.c:53
msgid "Go to Lat/Lon"
msgstr ""
-#: ../src/dialog.c:64 ../src/dialog.c:251
+#: ../src/dialog.c:65 ../src/dialog.c:244
msgid "Latitude:"
msgstr "Γεωγραφικό πλάτος:"
-#: ../src/dialog.c:70 ../src/dialog.c:256
+#: ../src/dialog.c:71 ../src/dialog.c:249
msgid "Longitude:"
msgstr "Γεωγραφικό μήκος:"
-#: ../src/dialog.c:102
+#: ../src/dialog.c:103
msgid "Go to UTM"
msgstr ""
-#: ../src/dialog.c:115
+#: ../src/dialog.c:116
msgid "Northing:"
msgstr ""
-#: ../src/dialog.c:121
+#: ../src/dialog.c:122
msgid "Easting:"
msgstr ""
-#: ../src/dialog.c:128
+#: ../src/dialog.c:129
msgid "Zone:"
msgstr "Ζώνη:"
-#: ../src/dialog.c:131
+#: ../src/dialog.c:132
msgid "Letter:"
msgstr "Επιστολή:"
@@ -138,105 +138,109 @@ msgstr "Επιστολή:"
msgid "Waypoint Properties"
msgstr ""
-#: ../src/dialog.c:233
+#: ../src/dialog.c:235
msgid "Name:"
msgstr "Όνομα:"
-#: ../src/dialog.c:261
+#: ../src/dialog.c:254
msgid "Altitude:"
msgstr "Υψόμετρο:"
-#: ../src/dialog.c:266
+#: ../src/dialog.c:259
msgid "Comment:"
msgstr "Σχόλιο:"
-#: ../src/dialog.c:274 ../src/osm-traces.c:437
+#: ../src/dialog.c:267 ../src/osm-traces.c:445
msgid "Description:"
msgstr "Περιγραφή:"
-#: ../src/dialog.c:277
+#: ../src/dialog.c:270
msgid "Image:"
msgstr "Εικόνα:"
-#: ../src/dialog.c:282
+#: ../src/dialog.c:275
msgid "Symbol:"
msgstr "Σύμβολο:"
-#: ../src/dialog.c:291
+#: ../src/dialog.c:284
msgid "(none)"
msgstr "(κανένα)"
+#: ../src/dialog.c:326
+msgid "Time:"
+msgstr ""
+
#. TODO: other checks (isalpha or whatever )
-#: ../src/dialog.c:356
+#: ../src/dialog.c:363
msgid "Please enter a name for the waypoint."
msgstr ""
-#: ../src/dialog.c:529 ../src/geonamessearch.c:243
+#: ../src/dialog.c:502 ../src/geonamessearch.c:244
#: ../src/datasource_osm_my_traces.c:507
msgid "Nothing was selected"
msgstr "Δεν επιλέχθηκε τίποτα"
-#: ../src/dialog.c:537
+#: ../src/dialog.c:510
msgid "Add Route"
msgstr ""
-#: ../src/dialog.c:537
+#: ../src/dialog.c:510
msgid "Add Track"
msgstr "Προσθήκη Ίχνους"
-#: ../src/dialog.c:545
+#: ../src/dialog.c:518
msgid "Route Name:"
msgstr ""
-#: ../src/dialog.c:545
+#: ../src/dialog.c:518
msgid "Track Name:"
msgstr "Όνομα Ίχνους"
-#: ../src/dialog.c:565
+#: ../src/dialog.c:538
msgid "Please enter a name for the track."
msgstr "Παρακαλώ εισάγετε ένα όνομα για το ίχνος"
-#: ../src/dialog.c:623
+#: ../src/dialog.c:596
msgid "Zoom Factors..."
msgstr ""
-#: ../src/dialog.c:637
+#: ../src/dialog.c:610
msgid "Zoom factor (in meters per pixel):"
msgstr ""
-#: ../src/dialog.c:638
+#: ../src/dialog.c:611
msgid "X (easting): "
msgstr ""
-#: ../src/dialog.c:639
+#: ../src/dialog.c:612
msgid "Y (northing): "
msgstr ""
-#: ../src/dialog.c:644
+#: ../src/dialog.c:617
msgid "X and Y zoom factors must be equal"
msgstr ""
-#: ../src/dialog.c:699
+#: ../src/dialog.c:672
msgid "1 min"
msgstr ""
-#: ../src/dialog.c:700
+#: ../src/dialog.c:673
msgid "1 hour"
msgstr "1 ώρα"
-#: ../src/dialog.c:701
+#: ../src/dialog.c:674
msgid "1 day"
msgstr "1 ημέρα"
-#: ../src/dialog.c:702
+#: ../src/dialog.c:675
msgid "Custom (in minutes):"
msgstr ""
-#: ../src/dialog.c:808
+#: ../src/dialog.c:786
msgid "GPS Data and Topo Analyzer, Explorer, and Manager."
msgstr ""
-#: ../src/dialog.c:809
+#: ../src/dialog.c:787
msgid ""
"This program is free software; you can redistribute it and/or modify it "
"under the terms of the GNU General Public License as published by the Free "
@@ -253,28 +257,28 @@ msgid ""
"Place, Suite 330, Boston, MA 02111-1307, USA"
msgstr ""
-#: ../src/dialog.c:837
+#: ../src/dialog.c:852
msgid "Translation is coordinated on http://launchpad.net/viking"
msgstr ""
-#: ../src/dialog.c:845
+#: ../src/dialog.c:861
msgid "Download along track"
msgstr ""
-#: ../src/dialog.c:851
+#: ../src/dialog.c:868
msgid "Map type:"
msgstr "Τύπος χάρτη:"
-#: ../src/dialog.c:856
+#: ../src/dialog.c:874
msgid "Zoom level:"
msgstr "Επίπεδο εστίασης:"
-#: ../src/dialog.c:896
+#: ../src/dialog.c:914
#, c-format
msgid "The map data is licensed: %s."
msgstr ""
-#: ../src/dialog.c:899
+#: ../src/dialog.c:917
#, c-format
msgid ""
"The data provided by '<b>%s</b>' are licensed under the following license: "
@@ -282,7 +286,7 @@ msgid ""
"Please, read the license before continuing."
msgstr ""
-#: ../src/dialog.c:904
+#: ../src/dialog.c:922
msgid "Open license"
msgstr ""
@@ -327,7 +331,8 @@ msgstr "Δεν βρέθηκαν εγγραφές"
#. NB could allow columns to be shifted around by doing this after each new
#. gtk_tree_view_column_set_reorderable ( column, TRUE );
#. However I don't think is that useful, so I haven't put it in
-#: ../src/geonamessearch.c:177 ../src/datasource_osm_my_traces.c:425
+#: ../src/geonamessearch.c:177 ../src/datasource_osm_my_traces.c:424
+#: ../src/viktrwlayer_tracklist.c:521
msgid "Name"
msgstr ""
@@ -335,82 +340,192 @@ msgstr ""
msgid "Feature"
msgstr ""
-#: ../src/geonamessearch.c:187 ../src/datasource_osm_my_traces.c:440
+#: ../src/geonamessearch.c:187 ../src/datasource_osm_my_traces.c:439
msgid "Lat/Lon"
msgstr ""
-#: ../src/geonamessearch.c:269 ../src/googlesearch.c:100
+#: ../src/geonamessearch.c:270 ../src/googlesearch.c:100 ../src/vikgoto.c:306
msgid "couldn't map temp file"
msgstr "Δεν μπορεί να χαρτογραφηθεί το αρχείο temp"
-#: ../src/globals.c:44
+#: ../src/globals.c:73
+msgid "Absolute"
+msgstr ""
+
+#: ../src/globals.c:73
+msgid "Relative"
+msgstr ""
+
+#: ../src/globals.c:76
msgid "Degree format:"
msgstr ""
-#: ../src/globals.c:48
+#: ../src/globals.c:77
msgid "Distance units:"
msgstr ""
-#: ../src/globals.c:52
+#: ../src/globals.c:78
msgid "Speed units:"
msgstr ""
-#: ../src/globals.c:56
+#: ../src/globals.c:79
msgid "Height units:"
msgstr ""
-#: ../src/globals.c:60
+#: ../src/globals.c:80
msgid "Use large waypoint icons:"
msgstr ""
-#: ../src/globals.c:64
+#: ../src/globals.c:81
msgid "Default latitude:"
msgstr ""
-#: ../src/globals.c:67
+#: ../src/globals.c:82
msgid "Default longitude:"
msgstr ""
-#: ../src/globals.c:73
+#: ../src/globals.c:88
msgid "Alphabetical"
msgstr ""
-#: ../src/globals.c:73 ../src/datasource_osm_my_traces.c:435
+#: ../src/globals.c:88 ../src/datasource_osm_my_traces.c:434
msgid "Time"
msgstr ""
-#: ../src/globals.c:76
+#: ../src/globals.c:88
+msgid "Creation"
+msgstr ""
+
+#: ../src/globals.c:89
+msgid "Title Case"
+msgstr ""
+
+#: ../src/globals.c:89
+msgid "Lowercase"
+msgstr ""
+
+#: ../src/globals.c:92
msgid "KML File Export Units:"
msgstr ""
-#: ../src/globals.c:77
+#: ../src/globals.c:93
msgid "GPX Track Order:"
msgstr ""
-#: ../src/globals.c:82
+#: ../src/globals.c:94
+msgid "GPX Waypoint Symbols:"
+msgstr ""
+
+#: ../src/globals.c:95
+msgid ""
+"Save GPX Waypoint Symbol names in the specified case. May be useful for "
+"compatibility with various devices"
+msgstr ""
+
+#: ../src/globals.c:100
msgid "Image Viewer:"
msgstr ""
-#: ../src/globals.c:87
+#: ../src/globals.c:105
msgid "External GPX Program 1:"
msgstr ""
-#: ../src/globals.c:88
+#: ../src/globals.c:106
msgid "External GPX Program 2:"
msgstr ""
+#: ../src/globals.c:110
+msgid "Save File Reference Mode:"
+msgstr ""
+
+#: ../src/globals.c:111
+msgid ""
+"When saving a Viking .vik file, this determines how the directory paths of "
+"filenames are written."
+msgstr ""
+
+#: ../src/globals.c:112
+msgid "Show Tooltip during Track Creation:"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Home Location"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Last Location"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Specified File"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Auto Location"
+msgstr ""
+
+#: ../src/globals.c:118
+msgid "Restore Window Setup:"
+msgstr ""
+
+#: ../src/globals.c:119
+msgid "Restore window size and layout"
+msgstr ""
+
+#: ../src/globals.c:120
+msgid "Add a Default Map Layer:"
+msgstr ""
+
+#: ../src/globals.c:121
+msgid ""
+"The default map layer added is defined by the Layer Defaults. Use the menu "
+"Edit->Layer Defaults->Map... to change the map type and other values."
+msgstr ""
+
+#: ../src/globals.c:122
+msgid "Startup Method:"
+msgstr ""
+
+#: ../src/globals.c:123
+msgid "Startup File:"
+msgstr ""
+
+#: ../src/globals.c:124
+msgid ""
+"The default file to load on startup. Only applies when the startup method is "
+"set to 'Specified File'"
+msgstr ""
+
+#: ../src/globals.c:125
+msgid "Check For New Version:"
+msgstr ""
+
+#: ../src/globals.c:126
+msgid "Periodically check to see if a new version of Viking is available"
+msgstr ""
+
#. Defaults for the options are setup here
-#: ../src/globals.c:96
+#: ../src/globals.c:163
msgid "General"
msgstr ""
#. New Tab
-#: ../src/globals.c:121
+#: ../src/globals.c:188
+msgid "Startup"
+msgstr ""
+
+#. New Tab
+#: ../src/globals.c:206
msgid "Export/External"
msgstr ""
+#. 'Advanced' Properties
+#: ../src/globals.c:230
+msgid "Advanced"
+msgstr ""
+
#. Webtools
-#: ../src/google.c:36
+#: ../src/google.c:38
msgid "Google"
msgstr ""
@@ -423,24 +538,24 @@ msgid "Imported file"
msgstr ""
#. The file selector
-#: ../src/datasource_file.c:133
+#: ../src/datasource_file.c:127
msgid "File:"
msgstr ""
-#: ../src/datasource_file.c:134
+#: ../src/datasource_file.c:128
msgid "File to import"
msgstr ""
-#: ../src/datasource_file.c:141
+#: ../src/datasource_file.c:135
msgid "All files"
msgstr ""
#. The file format selector
-#: ../src/datasource_file.c:148
+#: ../src/datasource_file.c:142
msgid "File type:"
msgstr ""
-#: ../src/datasource_file.c:193
+#: ../src/datasource_file.c:184
#, c-format
msgid "using babel args '%s' and file '%s'"
msgstr ""
@@ -453,29 +568,29 @@ msgstr ""
msgid "Geocaching.com Caches"
msgstr ""
-#: ../src/datasource_gc.c:84
+#: ../src/datasource_gc.c:85
msgid "geocaching.com username:"
msgstr "geocachiing.com όνομα χρήστη:"
-#: ../src/datasource_gc.c:85
+#: ../src/datasource_gc.c:86
msgid "geocaching.com password:"
msgstr "geocaching.com κωδικός:"
-#: ../src/datasource_gc.c:126
+#: ../src/datasource_gc.c:127
#, c-format
msgid ""
"Can't find %s or %s in path! Check that you have installed it correctly."
msgstr ""
-#: ../src/datasource_gc.c:188
+#: ../src/datasource_gc.c:189
msgid "Number geocaches:"
msgstr ""
-#: ../src/datasource_gc.c:190
+#: ../src/datasource_gc.c:191
msgid "Centered around:"
msgstr ""
-#: ../src/datasource_gc.c:226
+#: ../src/datasource_gc.c:230
msgid "Broken input - using some defaults"
msgstr ""
@@ -487,116 +602,107 @@ msgstr ""
msgid "Geotagged Images"
msgstr ""
-#: ../src/datasource_geotag.c:102 ../src/vikwindow.c:2314
-#: ../src/vikwindow.c:2382 ../src/vikwindow.c:2824
+#: ../src/datasource_geotag.c:102 ../src/vikwindow.c:2655
+#: ../src/vikwindow.c:2729 ../src/vikwindow.c:3380
msgid "All"
msgstr ""
-#: ../src/datasource_geotag.c:107 ../src/vikwindow.c:2829
+#: ../src/datasource_geotag.c:107 ../src/vikwindow.c:3385
msgid "JPG"
msgstr ""
-#: ../src/datasource_geotag.c:165
+#: ../src/datasource_geotag.c:168
#, c-format
msgid "Unable to create waypoint from %s"
msgstr ""
-#: ../src/datasource_google.c:49 ../src/datasource_google.c:50
-msgid "Google Directions"
-msgstr ""
-
-#: ../src/datasource_google.c:77
-msgid "From:"
-msgstr "Από:"
-
-#: ../src/datasource_google.c:79
-msgid "To:"
-msgstr "Προς:"
-
-#: ../src/datasource_gps.c:57
+#: ../src/datasource_gps.c:54
msgid "Acquire from GPS"
msgstr ""
-#: ../src/datasource_gps.c:58
+#: ../src/datasource_gps.c:55
msgid "Acquired from GPS"
msgstr ""
-#: ../src/datasource_gps.c:221
+#: ../src/datasource_gps.c:245
#, c-format
msgid "using cmdline '%s' and file '%s'\n"
msgstr ""
-#: ../src/datasource_gps.c:297 ../src/vikgpslayer.c:884
+#: ../src/datasource_gps.c:327 ../src/vikgpslayer.c:934
#, c-format
msgid "Downloading %d waypoint..."
msgid_plural "Downloading %d waypoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/datasource_gps.c:298 ../src/vikgpslayer.c:885
+#: ../src/datasource_gps.c:328 ../src/vikgpslayer.c:935
#, c-format
msgid "Downloading %d trackpoint..."
msgid_plural "Downloading %d trackpoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/datasource_gps.c:303 ../src/vikgpslayer.c:890
+#: ../src/datasource_gps.c:333 ../src/vikgpslayer.c:940
#, c-format
msgid "Downloading %d routepoint..."
msgid_plural "Downloading %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/datasource_gps.c:325 ../src/datasource_gps.c:326
-#: ../src/datasource_gps.c:327
+#: ../src/datasource_gps.c:355 ../src/datasource_gps.c:356
+#: ../src/datasource_gps.c:357
#, c-format
msgid "Downloaded %d out of %d %s..."
msgstr ""
-#: ../src/datasource_gps.c:331 ../src/datasource_gps.c:332
-#: ../src/datasource_gps.c:333
+#: ../src/datasource_gps.c:361 ../src/datasource_gps.c:362
+#: ../src/datasource_gps.c:363
#, c-format
msgid "Downloaded %d %s."
msgstr ""
-#: ../src/datasource_gps.c:347 ../src/vikgpslayer.c:968
+#: ../src/datasource_gps.c:377 ../src/vikgpslayer.c:1018
#, c-format
msgid "GPS Device: %s"
msgstr ""
-#: ../src/datasource_gps.c:370 ../src/vikgpslayer.c:1042
-#: ../src/vikgpslayer.c:1110
+#: ../src/datasource_gps.c:400 ../src/vikgpslayer.c:1092
+#: ../src/vikgpslayer.c:1160
msgid "Status: Working..."
msgstr ""
-#: ../src/datasource_gps.c:469 ../src/vikgpslayer.c:150
+#. NB gps_layer_inst_init() is performed after parameter registeration
+#. thus to give the protocols some potential values use the old static list
+#. TODO: find another way to use gps_layer_inst_init()?
+#: ../src/datasource_gps.c:500 ../src/vikgpslayer.c:207
msgid "GPS Protocol:"
msgstr "Πρωτόκολλο GPS:"
-#. List now assigned at runtime
-#: ../src/datasource_gps.c:488 ../src/vikgpslayer.c:151
+#. List reassigned at runtime
+#: ../src/datasource_gps.c:526 ../src/vikgpslayer.c:208
msgid "Serial Port:"
msgstr "Σειριακή Θύρα:"
-#: ../src/datasource_gps.c:509
+#: ../src/datasource_gps.c:576
msgid ""
"Turn Off After Transfer\n"
"(Garmin/NAViLink Only)"
msgstr ""
-#: ../src/datasource_gps.c:512
+#: ../src/datasource_gps.c:583
msgid "Tracks:"
msgstr ""
-#: ../src/datasource_gps.c:516
+#: ../src/datasource_gps.c:590
msgid "Routes:"
msgstr ""
-#: ../src/datasource_gps.c:520
+#: ../src/datasource_gps.c:597
msgid "Waypoints:"
msgstr ""
-#: ../src/datasource_gps.c:594 ../src/vikgpslayer.c:1305
+#: ../src/datasource_gps.c:675 ../src/vikgpslayer.c:1355
msgid "GPS device: N/A"
msgstr ""
@@ -604,39 +710,39 @@ msgstr ""
msgid "OSM traces"
msgstr ""
-#: ../src/datasource_osm.c:80
+#: ../src/datasource_osm.c:82
msgid "Page number:"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:63 ../src/datasource_osm_my_traces.c:64
+#: ../src/datasource_osm_my_traces.c:59 ../src/datasource_osm_my_traces.c:60
msgid "OSM My Traces"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:108
+#: ../src/datasource_osm_my_traces.c:104
msgid "Username:"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:113
+#: ../src/datasource_osm_my_traces.c:109
msgid "The email or username used to login to OSM"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:115 ../src/osm-traces.c:413
+#: ../src/datasource_osm_my_traces.c:111 ../src/osm-traces.c:421
msgid "Password:"
msgstr "Κωδικός:"
-#: ../src/datasource_osm_my_traces.c:120
+#: ../src/datasource_osm_my_traces.c:114
msgid "The password used to login to OSM"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:430
+#: ../src/datasource_osm_my_traces.c:429
msgid "Description"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:445
+#: ../src/datasource_osm_my_traces.c:444
msgid "Privacy"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:452
+#: ../src/datasource_osm_my_traces.c:451
msgid "Within Current View"
msgstr ""
@@ -648,15 +754,33 @@ msgstr ""
msgid "None found!"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:629
+#: ../src/datasource_osm_my_traces.c:634
msgid "My OSM Traces"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:645
+#: ../src/datasource_osm_my_traces.c:649
#, c-format
msgid "Unable to get trace: %s"
msgstr ""
+#: ../src/datasource_routing.c:53 ../src/datasource_routing.c:54
+msgid "Directions"
+msgstr ""
+
+#. Engine selector
+#: ../src/datasource_routing.c:83
+msgid "Engine:"
+msgstr ""
+
+#. From and To entries
+#: ../src/datasource_routing.c:88
+msgid "From:"
+msgstr "Από:"
+
+#: ../src/datasource_routing.c:90
+msgid "To:"
+msgstr "Προς:"
+
#: ../src/datasource_wikipedia.c:32
msgid "Create Waypoints from Wikipedia Articles"
msgstr ""
@@ -677,174 +801,185 @@ msgstr ""
msgid "Incorrect DEM Class B record: expected 1"
msgstr ""
-#: ../src/dem.c:360
+#: ../src/dem.c:288 ../src/download.c:170
#, c-format
msgid "Couldn't map file %s: %s"
msgstr ""
-#: ../src/download.c:112
-msgid "Tile age (s):"
+#: ../src/download.c:130
+msgid "Tile age (days):"
msgstr ""
-#: ../src/download.c:233
+#: ../src/download.c:321
#, c-format
msgid "Download error: %s"
msgstr ""
-#: ../src/download.c:313
+#: ../src/download.c:404
msgid "couldn't open temp file"
msgstr "Δεν μπορεί να ανοιχτεί το αρχείο temp"
-#: ../src/file.c:456 ../src/file.c:461
+#: ../src/file.c:451 ../src/file.c:456
#, c-format
msgid "Draw mode '%s' no more supported"
msgstr ""
-#: ../src/geotag_exif.c:433
+#: ../src/geotag_exif.c:421
msgid "Not enough memory."
msgstr ""
-#: ../src/geotag_exif.c:451
+#: ../src/geotag_exif.c:439
msgid "Setting a value for this tag is unsupported!"
msgstr ""
-#: ../src/geotag_exif.c:470
+#: ../src/geotag_exif.c:458
#, c-format
msgid "Too few components specified (need %d, found %d)\n"
msgstr ""
-#: ../src/geotag_exif.c:474
+#: ../src/geotag_exif.c:462
msgid "Numeric value expected\n"
msgstr ""
-#: ../src/geotag_exif.c:482
+#: ../src/geotag_exif.c:470
msgid "This shouldn't happen!"
msgstr ""
-#: ../src/geotag_exif.c:552
+#: ../src/geotag_exif.c:540
msgid "Not yet implemented!"
msgstr ""
-#: ../src/geotag_exif.c:565
+#: ../src/geotag_exif.c:553
msgid "Warning; Too many components specified!"
msgstr ""
-#: ../src/osm-traces.c:73
+#: ../src/osm-traces.c:76
msgid "Identifiable (public w/ timestamps)"
msgstr ""
-#: ../src/osm-traces.c:74
+#: ../src/osm-traces.c:77
msgid "Trackable (private w/ timestamps)"
msgstr ""
-#: ../src/osm-traces.c:75
+#: ../src/osm-traces.c:78
msgid "Public"
msgstr ""
-#: ../src/osm-traces.c:76
+#: ../src/osm-traces.c:79
msgid "Private"
msgstr ""
-#: ../src/osm-traces.c:93
+#: ../src/osm-traces.c:97
msgid "OSM username:"
msgstr "OSM όνομα χρήστη:"
-#: ../src/osm-traces.c:94
+#: ../src/osm-traces.c:98
msgid "OSM password:"
msgstr "OSM κωδικός:"
#. Preferences
-#: ../src/osm-traces.c:151
+#: ../src/osm-traces.c:155
msgid "OpenStreetMap Traces"
msgstr ""
-#: ../src/osm-traces.c:234
+#: ../src/osm-traces.c:238
#, c-format
msgid "failed to upload data: HTTP response is %ld"
msgstr ""
-#: ../src/osm-traces.c:239
+#: ../src/osm-traces.c:243
#, c-format
msgid "curl_easy_getinfo failed: %d"
msgstr ""
-#: ../src/osm-traces.c:244
+#: ../src/osm-traces.c:248
#, c-format
msgid "curl request failed: %s"
msgstr ""
-#: ../src/osm-traces.c:275
+#: ../src/osm-traces.c:279
#, c-format
msgid "failed to open temporary file: %s"
msgstr ""
#. Success
-#: ../src/osm-traces.c:328
+#: ../src/osm-traces.c:340
msgid "Uploaded to OSM"
msgstr ""
-#: ../src/osm-traces.c:332
+#: ../src/osm-traces.c:344
msgid "FAILED TO UPLOAD DATA TO OSM - CURL PROBLEM"
msgstr ""
-#: ../src/osm-traces.c:335
+#: ../src/osm-traces.c:347
msgid "FAILED TO UPLOAD DATA TO OSM"
msgstr ""
-#: ../src/osm-traces.c:335
+#: ../src/osm-traces.c:347
msgid "HTTP response code"
msgstr ""
-#: ../src/osm-traces.c:348
+#: ../src/osm-traces.c:355
#, c-format
msgid "failed to unlink temporary file: %s"
msgstr ""
-#: ../src/osm-traces.c:387
+#: ../src/osm-traces.c:394
msgid "OSM upload"
msgstr ""
-#: ../src/osm-traces.c:405
+#: ../src/osm-traces.c:413
msgid "Email:"
msgstr ""
-#: ../src/osm-traces.c:410
+#: ../src/osm-traces.c:418
msgid ""
"The email used as login\n"
"<small>Enter the email you use to login into www.openstreetmap.org.</small>"
msgstr ""
-#: ../src/osm-traces.c:418
+#: ../src/osm-traces.c:426
msgid ""
"The password used to login\n"
"<small>Enter the password you use to login into "
"www.openstreetmap.org.</small>"
msgstr ""
-#: ../src/osm-traces.c:423
+#: ../src/osm-traces.c:431
msgid "File's name:"
msgstr "Όνομα αρχείου:"
-#: ../src/osm-traces.c:433
+#: ../src/osm-traces.c:441
msgid ""
"The name of the file on OSM\n"
"<small>This is the name of the file created on the server.This is not the "
"name of the local file.</small>"
msgstr ""
-#: ../src/osm-traces.c:442
+#: ../src/osm-traces.c:450
msgid "The description of the trace"
msgstr ""
-#: ../src/osm-traces.c:444
+#: ../src/osm-traces.c:453
+msgid "Anonymize Times:"
+msgstr ""
+
+#: ../src/osm-traces.c:458
+msgid ""
+"Anonymize times of the trace.\n"
+"<small>You may choose to make the trace identifiable, yet mask the actual "
+"real time values</small>"
+msgstr ""
+
+#: ../src/osm-traces.c:462
msgid "Tags:"
msgstr "Ετικέτες:"
-#: ../src/osm-traces.c:449
+#: ../src/osm-traces.c:467
msgid "The tags associated to the trace"
msgstr ""
-#: ../src/osm-traces.c:482
+#: ../src/osm-traces.c:529
#, c-format
msgid "Uploading %s to OSM"
msgstr ""
@@ -853,69 +988,88 @@ msgstr ""
msgid "Map cache memory size (MB):"
msgstr ""
-#: ../src/print.c:53
+#: ../src/print.c:51 ../src/viktrwlayer.c:509
msgid "None"
msgstr "Κανένα"
-#: ../src/print.c:54
+#: ../src/print.c:52
msgid "Horizontally"
msgstr "Οριζόντια"
-#: ../src/print.c:55
+#: ../src/print.c:53
msgid "Vertically"
msgstr "Κατακόρυφα"
-#: ../src/print.c:56
+#: ../src/print.c:54
msgid "Both"
msgstr "Και τα δύο"
-#: ../src/print.c:120
+#: ../src/print.c:118
msgid "Image Settings"
msgstr "Ρυθμίσεις εικόνας"
-#: ../src/print.c:546
+#: ../src/print.c:548
msgid "done"
msgstr "ολοκληρώθηκε"
#. Page Size
-#: ../src/print.c:575
+#: ../src/print.c:577
msgid "_Adjust Page Size and Orientation"
msgstr ""
-#: ../src/print.c:591
+#: ../src/print.c:593
msgid "C_enter:"
msgstr "Κ_έντρο"
#. ignore page margins
-#: ../src/print.c:609
+#: ../src/print.c:611
msgid "Ignore Page _Margins"
msgstr ""
-#: ../src/print.c:628
+#: ../src/print.c:630
msgid "Image S_ize:"
msgstr "Μ_έγεθος Εικόνας:"
-#: ../src/util.c:81
-msgid "Could not launch web browser."
-msgstr "Δεν μπορεί να ανοιχτεί ο περιηγητής."
+#: ../src/util.c:65
+#, c-format
+msgid "Could not launch web browser. %s"
+msgstr ""
-#: ../src/util.c:92
-msgid "Could not create new email."
+#: ../src/util.c:76
+#, c-format
+msgid "Could not create new email. %s"
msgstr ""
-#: ../src/vikcoordlayer.c:46
+#: ../src/util.c:177
+#, c-format
+msgid ""
+"There is a newer version of Viking available: %s\n"
+"\n"
+"Do you wish to go to Viking's website now?"
+msgstr ""
+
+#: ../src/util.c:304
+msgid ""
+"This appears to be Viking's very first run.\n"
+"\n"
+"Do you wish to enable automatic internet features?\n"
+"\n"
+"Individual settings can be controlled in the Preferences."
+msgstr ""
+
+#: ../src/vikcoordlayer.c:57
msgid "Color:"
msgstr "Χρώμα:"
-#: ../src/vikcoordlayer.c:47
+#: ../src/vikcoordlayer.c:58
msgid "Minutes Width:"
msgstr ""
-#: ../src/vikcoordlayer.c:48
+#: ../src/vikcoordlayer.c:59
msgid "Line Thickness:"
msgstr "Πάχος γραμμής:"
-#: ../src/vikcoordlayer.c:56
+#: ../src/vikcoordlayer.c:66
msgid "Coordinate"
msgstr ""
@@ -951,62 +1105,130 @@ msgstr ""
msgid "Polygonzied Layer"
msgstr ""
-#: ../src/main.c:89
+#: ../src/main.c:92
#, c-format
msgid "Ignoring Xlib error: error code %d request code %d\n"
msgstr ""
-#: ../src/main.c:102
+#: ../src/main.c:105
msgid "Enable debug output"
msgstr ""
-#: ../src/main.c:103
+#: ../src/main.c:106
msgid "Enable verbose output"
msgstr ""
-#: ../src/main.c:104
+#: ../src/main.c:107
msgid "Show version"
msgstr "Προβολή έκδοσης"
-#: ../src/osm.c:106
+#: ../src/osm.c:99
msgid "On Disk OSM Tile Format"
msgstr ""
-#: ../src/osm.c:121
+#: ../src/osm.c:113
msgid "OSM (view)"
msgstr ""
-#: ../src/osm.c:125
+#: ../src/osm.c:117
msgid "OSM (edit)"
msgstr ""
-#: ../src/osm.c:129
+#: ../src/osm.c:121
msgid "OSM (render)"
msgstr ""
#. Example: http://127.0.0.1:8111/load_and_zoom?left=8.19&right=8.20&top=48.605&bottom=48.590&select=node413602999
#. JOSM or merkaartor must already be running with remote interface enabled
-#: ../src/osm.c:136
+#: ../src/osm.c:128
msgid "Local port 8111 (eg JOSM)"
msgstr ""
-#: ../src/preferences.c:285
+#: ../src/osm.c:134
+msgid "OpenStreetMap Notes"
+msgstr ""
+
+#: ../src/osm.c:138
+msgid "OpenStreetBugs"
+msgstr ""
+
+#. Not really OSM but can't be bothered to create somewhere else to put it...
+#: ../src/osm.c:164
+msgid "Wikimedia Toolserver GeoHack"
+msgstr ""
+
+#: ../src/preferences.c:191
msgid "Preferences"
msgstr ""
-#: ../src/uibuilder.c:147
+#: ../src/viklayer_defaults.c:232
+#, c-format
+msgid "Could not open file: %s"
+msgstr ""
+
+#: ../src/viklayer_defaults.c:303
+msgid "Layer Defaults"
+msgstr ""
+
+#: ../src/uibuilder.c:185
msgid "Take care that this password will be stored clearly in a plain file."
msgstr ""
-#: ../src/vikaggregatelayer.c:37
+#: ../src/vikaggregatelayer.c:42
msgid "Aggregate"
msgstr ""
-#: ../src/vikdemlayer.c:101
+#. VikLayersPanel *vlp = VIK_LAYERS_PANEL(lav[1]);
+#: ../src/vikaggregatelayer.c:484 ../src/viktrwlayer.c:10238
+#, c-format
+msgid "%s: Track and Route List"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:529 ../src/viktrwlayer.c:7354
+#: ../src/viktrwlayer.c:7420 ../src/viktrwlayer.c:7498
+msgid "_Visibility"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:534
+msgid "_Show All"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:540
+msgid "_Hide All"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:546 ../src/viktrwlayer.c:7371
+#: ../src/viktrwlayer.c:7437 ../src/viktrwlayer.c:7515
+msgid "_Toggle"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:553 ../src/viktrwlayer.c:7536
+msgid "_Sort"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:559 ../src/viktrwlayer.c:7542
+msgid "Name _Ascending"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:565 ../src/viktrwlayer.c:7548
+msgid "Name _Descending"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:571 ../src/viktrwlayer.c:7449
+#: ../src/viktrwlayer.c:7527 ../src/viktrwlayer.c:7587
+#: ../src/viktrwlayer_tracklist.c:237
+msgid "_Statistics"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:576 ../src/viktrwlayer.c:3971
+msgid "Track _List..."
+msgstr ""
+
+#: ../src/vikdemlayer.c:92
msgid "Absolute height"
msgstr ""
-#: ../src/vikdemlayer.c:102
+#: ../src/vikdemlayer.c:93
msgid "Height gradient"
msgstr ""
@@ -1046,25 +1268,52 @@ msgstr ""
msgid "DEM"
msgstr ""
-#: ../src/vikdemlayer.c:284
+#: ../src/vikdemlayer.c:287
#, c-format
msgid "Number of files: %d"
msgstr ""
-#: ../src/vikdemlayer.c:385
+#: ../src/vikdemlayer.c:427
msgid "DEM Loading"
msgstr ""
-#: ../src/vikdemlayer.c:889
+#: ../src/vikdemlayer.c:937
#, c-format
msgid "No SRTM data available for %f, %f"
msgstr ""
-#: ../src/vikdemlayer.c:1149
+#. Probably not over any land...
+#: ../src/vikdemlayer.c:1193
+msgid "No DEM File Available"
+msgstr ""
+
+#: ../src/vikdemlayer.c:1212
+#, c-format
+msgid ""
+"\n"
+"Source: %s\n"
+"\n"
+"DEM File: %s\n"
+"DEM File Timestamp: %s"
+msgstr ""
+
+#: ../src/vikdemlayer.c:1216
+#, c-format
+msgid ""
+"Source: %s\n"
+"\n"
+"No DEM File!"
+msgstr ""
+
+#: ../src/vikdemlayer.c:1256
#, c-format
msgid "Downloading DEM %s"
msgstr ""
+#: ../src/vikdemlayer.c:1280
+msgid "_Show DEM File Information"
+msgstr ""
+
#: ../src/vikfileentry.c:68
msgid "Browse..."
msgstr ""
@@ -1085,248 +1334,266 @@ msgstr "Προσθήκη..."
msgid "Delete"
msgstr "Διαγραφή"
-#: ../src/vikgeoreflayer.c:70
+#: ../src/vikgeoreflayer.c:78
msgid "_Georef Move Map"
msgstr ""
-#: ../src/vikgeoreflayer.c:70
+#: ../src/vikgeoreflayer.c:78
msgid "Georef Move Map"
msgstr ""
-#: ../src/vikgeoreflayer.c:77
+#: ../src/vikgeoreflayer.c:85
msgid "Georef Z_oom Tool"
msgstr ""
-#: ../src/vikgeoreflayer.c:77
+#: ../src/vikgeoreflayer.c:85
msgid "Georef Zoom Tool"
msgstr ""
-#: ../src/vikgeoreflayer.c:87
+#: ../src/vikgeoreflayer.c:95
msgid "GeoRef Map"
msgstr ""
-#: ../src/vikgeoreflayer.c:335 ../src/vikmapslayer.c:685
+#: ../src/vikgeoreflayer.c:377 ../src/vikmapslayer.c:720
#, c-format
msgid "Couldn't open image file: %s"
msgstr ""
-#: ../src/vikgeoreflayer.c:365
+#: ../src/vikgeoreflayer.c:391
+msgid ""
+"GeoRef map cannot be displayed in the current drawmode.\n"
+"Select \"UTM Mode\" from View menu to view it."
+msgstr ""
+
+#: ../src/vikgeoreflayer.c:415
msgid "Unexpected end of file reading World file."
msgstr ""
-#: ../src/vikgeoreflayer.c:381 ../src/vikgeoreflayer.c:426
+#: ../src/vikgeoreflayer.c:431 ../src/vikgeoreflayer.c:476
msgid "Choose World file"
msgstr "Διαλέξτε αρχείο Κόσμου"
-#: ../src/vikgeoreflayer.c:394
+#: ../src/vikgeoreflayer.c:444
msgid "The World file you requested could not be opened for reading."
msgstr "Το αρχείο Κόσμου που επιλέξατε δεν μπορεί να διαβαστεί."
-#: ../src/vikgeoreflayer.c:439
+#: ../src/vikgeoreflayer.c:489
msgid "The file you requested could not be opened for writing."
msgstr "Το αρχείο που επιλέξατε δεν μπορεί να διαβαστεί."
-#: ../src/vikgeoreflayer.c:456 ../src/viklayer.c:480
+#: ../src/vikgeoreflayer.c:506 ../src/viklayer.c:518
msgid "Layer Properties"
msgstr "Ιδιότητες επιπέδου"
-#: ../src/vikgeoreflayer.c:478
+#: ../src/vikgeoreflayer.c:528
msgid "World File Parameters:"
msgstr ""
-#: ../src/vikgeoreflayer.c:479
+#: ../src/vikgeoreflayer.c:529
msgid "Load From File..."
msgstr ""
-#: ../src/vikgeoreflayer.c:484
+#: ../src/vikgeoreflayer.c:534
msgid "Corner pixel easting:"
msgstr ""
-#: ../src/vikgeoreflayer.c:486
-msgid "the UTM \"easting\" value of the upper-right corner pixel of the map"
+#: ../src/vikgeoreflayer.c:536
+msgid "the UTM \"easting\" value of the upper-left corner pixel of the map"
msgstr ""
-#: ../src/vikgeoreflayer.c:488
+#: ../src/vikgeoreflayer.c:538
msgid "Corner pixel northing:"
msgstr ""
-#: ../src/vikgeoreflayer.c:490
-msgid "the UTM \"northing\" value of the upper-right corner pixel of the map"
+#: ../src/vikgeoreflayer.c:540
+msgid "the UTM \"northing\" value of the upper-left corner pixel of the map"
msgstr ""
-#: ../src/vikgeoreflayer.c:492
+#: ../src/vikgeoreflayer.c:542
msgid "X (easting) scale (mpp): "
msgstr ""
-#: ../src/vikgeoreflayer.c:493
+#: ../src/vikgeoreflayer.c:543
msgid "Y (northing) scale (mpp): "
msgstr ""
-#: ../src/vikgeoreflayer.c:496
+#: ../src/vikgeoreflayer.c:546
msgid "the scale of the map in the X direction (meters per pixel)"
msgstr ""
-#: ../src/vikgeoreflayer.c:498
+#: ../src/vikgeoreflayer.c:548
msgid "the scale of the map in the Y direction (meters per pixel)"
msgstr ""
-#: ../src/vikgeoreflayer.c:500
+#: ../src/vikgeoreflayer.c:550
msgid "Map Image:"
msgstr "Εικόνα Χάρτη:"
#. Now with icons
-#: ../src/vikgeoreflayer.c:608
+#: ../src/vikgeoreflayer.c:658
msgid "_Zoom to Fit Map"
msgstr ""
-#: ../src/vikgeoreflayer.c:614
+#: ../src/vikgeoreflayer.c:664
msgid "_Goto Map Center"
msgstr ""
-#: ../src/vikgeoreflayer.c:620
+#: ../src/vikgeoreflayer.c:670
msgid "_Export to World File"
msgstr ""
-#: ../src/vikgoto.c:75
+#: ../src/vikgoto.c:81
msgid "No goto tool available."
msgstr ""
-#: ../src/vikgoto.c:88 ../src/vikgoto.c:107
+#: ../src/vikgoto.c:94 ../src/vikgoto.c:148
msgid "goto"
msgstr "Μετάβαση"
-#: ../src/vikgoto.c:90
+#: ../src/vikgoto.c:96
msgid "I don't know that place. Do you want another goto?"
msgstr ""
-#: ../src/vikgoto.c:109
+#: ../src/vikgoto.c:150
msgid "goto provider:"
msgstr ""
-#: ../src/vikgoto.c:124
+#: ../src/vikgoto.c:165
msgid "Enter address or place name:"
msgstr "Εισάγετε διεύθυνση ή όνομα μέρους:"
-#: ../src/vikgpslayer.c:127
+#: ../src/vikgoto.c:363
+msgid "Locality"
+msgstr ""
+
+#: ../src/vikgpslayer.c:128
msgid "Data Mode"
msgstr ""
-#: ../src/vikgpslayer.c:129
+#: ../src/vikgpslayer.c:130
msgid "Realtime Tracking Mode"
msgstr ""
-#: ../src/vikgpslayer.c:137
+#: ../src/vikgpslayer.c:167
msgid "Keep vehicle at center"
msgstr ""
-#: ../src/vikgpslayer.c:138
+#: ../src/vikgpslayer.c:168
msgid "Keep vehicle on screen"
msgstr ""
-#: ../src/vikgpslayer.c:139
+#: ../src/vikgpslayer.c:169
msgid "Disable"
msgstr ""
-#: ../src/vikgpslayer.c:152
+#: ../src/vikgpslayer.c:209
msgid "Download Tracks:"
msgstr ""
-#: ../src/vikgpslayer.c:153
+#: ../src/vikgpslayer.c:210
msgid "Upload Tracks:"
msgstr ""
-#: ../src/vikgpslayer.c:154
+#: ../src/vikgpslayer.c:211
msgid "Download Routes:"
msgstr ""
-#: ../src/vikgpslayer.c:155
+#: ../src/vikgpslayer.c:212
msgid "Upload Routes:"
msgstr ""
-#: ../src/vikgpslayer.c:156
+#: ../src/vikgpslayer.c:213
msgid "Download Waypoints:"
msgstr ""
-#: ../src/vikgpslayer.c:157
+#: ../src/vikgpslayer.c:214
msgid "Upload Waypoints:"
msgstr ""
-#: ../src/vikgpslayer.c:159
+#: ../src/vikgpslayer.c:216
msgid "Recording tracks"
msgstr ""
-#: ../src/vikgpslayer.c:160
+#: ../src/vikgpslayer.c:217
msgid "Jump to current position on start"
msgstr ""
-#: ../src/vikgpslayer.c:161
+#: ../src/vikgpslayer.c:218
msgid "Moving Map Method:"
msgstr ""
-#: ../src/vikgpslayer.c:162
+#: ../src/vikgpslayer.c:219
+msgid "Update Statusbar:"
+msgstr ""
+
+#: ../src/vikgpslayer.c:219
+msgid "Display information in the statusbar on GPS updates"
+msgstr ""
+
+#: ../src/vikgpslayer.c:220
msgid "Gpsd Host:"
msgstr ""
-#: ../src/vikgpslayer.c:163
+#: ../src/vikgpslayer.c:221
msgid "Gpsd Port:"
msgstr "Gpsd θύρα:"
-#: ../src/vikgpslayer.c:164
+#: ../src/vikgpslayer.c:222
msgid "Gpsd Retry Interval (seconds):"
msgstr ""
-#: ../src/vikgpslayer.c:179
+#: ../src/vikgpslayer.c:243
msgid "GPS"
msgstr ""
-#: ../src/vikgpslayer.c:242 ../src/vikgpslayer.c:1258
+#: ../src/vikgpslayer.c:306 ../src/vikgpslayer.c:1308
msgid "GPS Download"
msgstr ""
-#: ../src/vikgpslayer.c:242 ../src/vikgpslayer.c:1258
-#: ../src/viktrwlayer.c:3094
+#: ../src/vikgpslayer.c:306 ../src/vikgpslayer.c:1308
+#: ../src/viktrwlayer.c:3480
msgid "GPS Upload"
msgstr ""
-#: ../src/vikgpslayer.c:244
+#: ../src/vikgpslayer.c:308
msgid "GPS Realtime Tracking"
msgstr ""
-#: ../src/vikgpslayer.c:451
+#: ../src/vikgpslayer.c:517
msgid "Unknown GPS Protocol"
msgstr "Άγνωστο Πρωτόκολλο GPS"
-#: ../src/vikgpslayer.c:469
+#: ../src/vikgpslayer.c:535
msgid "Unknown serial port device"
msgstr "Άγνωστη συσκευή στην σειριακή θύρα"
-#: ../src/vikgpslayer.c:572
+#: ../src/vikgpslayer.c:648
#, c-format
msgid "%s: unknown parameter"
msgstr "%s: Αγνωστη παράμετρος"
#. Now with icons
-#: ../src/vikgpslayer.c:693
+#: ../src/vikgpslayer.c:743
msgid "_Upload to GPS"
msgstr ""
-#: ../src/vikgpslayer.c:699
+#: ../src/vikgpslayer.c:749
msgid "Download from _GPS"
msgstr ""
-#: ../src/vikgpslayer.c:720
+#: ../src/vikgpslayer.c:770
msgid "Empty _Realtime"
msgstr ""
-#: ../src/vikgpslayer.c:727
+#: ../src/vikgpslayer.c:777
msgid "E_mpty Upload"
msgstr ""
-#: ../src/vikgpslayer.c:733
+#: ../src/vikgpslayer.c:783
msgid "_Empty Download"
msgstr ""
-#: ../src/vikgpslayer.c:739
+#: ../src/vikgpslayer.c:789
msgid "Empty _All"
msgstr ""
@@ -1335,234 +1602,232 @@ msgstr ""
#. This happens when copied GPS layer is deleted (not sure why the number_handlers would be 2)
#. I don't think there's any side effects and certainly better than the program just aborting
#.
-#: ../src/vikgpslayer.c:756
+#: ../src/vikgpslayer.c:806
#, c-format
msgid "Unexpected number of disconnected handlers: %d"
msgstr ""
-#: ../src/vikgpslayer.c:898
+#: ../src/vikgpslayer.c:948
#, c-format
msgid "Uploading %d waypoint..."
msgid_plural "Uploading %d waypoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:899
+#: ../src/vikgpslayer.c:949
#, c-format
msgid "Uploading %d trackpoint..."
msgid_plural "Uploading %d trackpoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:900
+#: ../src/vikgpslayer.c:950
#, c-format
msgid "Uploading %d routepoint..."
msgid_plural "Uploading %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:925
+#: ../src/vikgpslayer.c:975
#, c-format
msgid "Downloaded %d out of %d waypoint..."
msgid_plural "Downloaded %d out of %d waypoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:926
+#: ../src/vikgpslayer.c:976
#, c-format
msgid "Downloaded %d out of %d trackpoint..."
msgid_plural "Downloaded %d out of %d trackpoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:927
+#: ../src/vikgpslayer.c:977
#, c-format
msgid "Downloaded %d out of %d routepoint..."
msgid_plural "Downloaded %d out of %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:932
+#: ../src/vikgpslayer.c:982
#, c-format
msgid "Uploaded %d out of %d waypoint..."
msgid_plural "Uploaded %d out of %d waypoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:933
+#: ../src/vikgpslayer.c:983
#, c-format
msgid "Uploaded %d out of %d trackpoint..."
msgid_plural "Uploaded %d out of %d trackpoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:934
+#: ../src/vikgpslayer.c:984
#, c-format
msgid "Uploaded %d out of %d routepoint..."
msgid_plural "Uploaded %d out of %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:942
+#: ../src/vikgpslayer.c:992
#, c-format
msgid "Downloaded %d waypoint"
msgid_plural "Downloaded %d waypoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:943
+#: ../src/vikgpslayer.c:993
#, c-format
msgid "Downloaded %d trackpoint"
msgid_plural "Downloaded %d trackpoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:944
+#: ../src/vikgpslayer.c:994
#, c-format
msgid "Downloaded %d routepoint"
msgid_plural "Downloaded %d routepoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:949
+#: ../src/vikgpslayer.c:999
#, c-format
msgid "Uploaded %d waypoint"
msgid_plural "Uploaded %d waypoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:950
+#: ../src/vikgpslayer.c:1000
#, c-format
msgid "Uploaded %d trackpoint"
msgid_plural "Uploaded %d trackpoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:951
+#: ../src/vikgpslayer.c:1001
#, c-format
msgid "Uploaded %d routepoint"
msgid_plural "Uploaded %d routepoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:1180
+#: ../src/vikgpslayer.c:1230
msgid "Error: couldn't find gpsbabel."
msgstr ""
-#: ../src/vikgpslayer.c:1269
+#: ../src/vikgpslayer.c:1319
msgid "Warning - GPS Upload items may overwrite each other"
msgstr ""
-#: ../src/vikgpslayer.c:1301
+#: ../src/vikgpslayer.c:1351
msgid "Status: detecting gpsbabel"
msgstr "Κατάσταση: εντοπισμός gpsbabel"
-#: ../src/vikgpslayer.c:1332
+#: ../src/vikgpslayer.c:1386
msgid "No GPS items selected for transfer."
msgstr ""
-#: ../src/vikgpslayer.c:1347
+#: ../src/vikgpslayer.c:1401
msgid "Could not turn off device."
msgstr ""
-#: ../src/vikgpslayer.c:1385
+#: ../src/vikgpslayer.c:1439
msgid "Are you sure you want to delete GPS Upload data?"
msgstr ""
-#: ../src/vikgpslayer.c:1398
+#: ../src/vikgpslayer.c:1452
msgid "Are you sure you want to delete GPS Download data?"
msgstr ""
-#: ../src/vikgpslayer.c:1412
+#: ../src/vikgpslayer.c:1466
msgid "Are you sure you want to delete GPS Realtime data?"
msgstr ""
-#: ../src/vikgpslayer.c:1425
+#: ../src/vikgpslayer.c:1479
msgid "Are you sure you want to delete All GPS data?"
msgstr ""
-#: ../src/viklayerspanel.c:55
-msgid "/C_ut"
+#: ../src/viklayerspanel.c:53
+msgid "C_ut"
msgstr ""
-#: ../src/viklayerspanel.c:56
-msgid "/_Copy"
-msgstr "/_Αντιγραφή"
+#: ../src/viklayerspanel.c:54 ../src/vikwindow.c:3753
+msgid "_Copy"
+msgstr "Αντι_γραφή"
-#: ../src/viklayerspanel.c:57
-msgid "/_Paste"
-msgstr "/_Επικόλληση"
+#: ../src/viklayerspanel.c:55 ../src/vikwindow.c:3754
+msgid "_Paste"
+msgstr "Ε_πικόλληση"
-#: ../src/viklayerspanel.c:58
-msgid "/_Delete"
-msgstr "/_Διαγραφή"
+#: ../src/viklayerspanel.c:56 ../src/vikwindow.c:3755
+msgid "_Delete"
+msgstr "_Διαγραφή"
-#: ../src/viklayerspanel.c:59
-msgid "/New Layer"
+#: ../src/viklayerspanel.c:133
+msgid "New Layer"
msgstr ""
-#: ../src/viklayerspanel.c:127
+#: ../src/viklayerspanel.c:178
msgid "Top Layer"
msgstr ""
-#: ../src/viklayerspanel.c:143
+#: ../src/viklayerspanel.c:194
msgid "Add new layer"
msgstr "Προσθήκη νέου επιπέδου"
-#: ../src/viklayerspanel.c:150
+#: ../src/viklayerspanel.c:201
msgid "Remove selected layer"
msgstr "Αφαίρεση επιλεγμένου επιπέδου"
-#: ../src/viklayerspanel.c:157
+#: ../src/viklayerspanel.c:208
msgid "Move selected layer up"
msgstr ""
-#: ../src/viklayerspanel.c:164
+#: ../src/viklayerspanel.c:215
msgid "Move selected layer down"
msgstr ""
-#: ../src/viklayerspanel.c:171
+#: ../src/viklayerspanel.c:222
msgid "Cut selected layer"
msgstr ""
-#: ../src/viklayerspanel.c:178
+#: ../src/viklayerspanel.c:229
msgid "Copy selected layer"
msgstr ""
-#: ../src/viklayerspanel.c:185
-msgid "Paste layer below selected layer"
+#: ../src/viklayerspanel.c:236
+msgid ""
+"Paste layer into selected container layer or otherwise above selected layer"
msgstr ""
-#. TODO: FIXME: if name has a '/' in it it will get all messed up. why not have an itemfactory field with
-#. name, icon, shortcut, etc.?
-#: ../src/viklayerspanel.c:204 ../src/vikwindow.c:3292
-#, c-format
-msgid "New _%s Layer"
+#: ../src/viklayerspanel.c:300
+msgid "New name can not be blank."
msgstr ""
-#: ../src/viklayerspanel.c:511
+#: ../src/viklayerspanel.c:544
msgid "Aggregate Layers have no settable properties."
msgstr ""
-#: ../src/viklayerspanel.c:555
+#: ../src/viklayerspanel.c:588
msgid "You cannot cut the Top Layer."
msgstr ""
-#: ../src/viklayerspanel.c:600
+#: ../src/viklayerspanel.c:633
#, c-format
msgid "Are you sure you want to delete %s?"
msgstr ""
-#: ../src/viklayerspanel.c:617
+#: ../src/viklayerspanel.c:650
msgid "You cannot delete the Top Layer."
msgstr ""
-#: ../src/viklayerspanel.c:701
+#: ../src/viklayerspanel.c:734
msgid "Are you sure you wish to delete all layers?"
msgstr ""
#. ******* MAPZOOMS ********
-#: ../src/vikmapslayer.c:91
+#: ../src/vikmapslayer.c:80
msgid "Use Viking Zoom Level"
msgstr ""
@@ -1609,70 +1874,70 @@ msgid ""
"actual zoom level."
msgstr ""
-#: ../src/vikmapslayer.c:146
+#: ../src/vikmapslayer.c:156
msgid "_Maps Download"
msgstr ""
-#: ../src/vikmapslayer.c:146
+#: ../src/vikmapslayer.c:156
msgid "Maps Download"
msgstr ""
-#: ../src/vikmapslayer.c:161
+#: ../src/vikmapslayer.c:171
msgid "Map"
msgstr "Χάρτης"
-#: ../src/vikmapslayer.c:249
-msgid "Default maplayer directory:"
+#: ../src/vikmapslayer.c:259
+msgid "Default map layer directory:"
msgstr ""
-#: ../src/vikmapslayer.c:249
+#: ../src/vikmapslayer.c:259
msgid "Choose a directory to store cached Map tiles for this layer"
msgstr ""
-#: ../src/vikmapslayer.c:505
+#: ../src/vikmapslayer.c:523
msgid "Unknown map type"
msgstr "Αγνωστος τύπος χάρτη"
-#: ../src/vikmapslayer.c:516
+#: ../src/vikmapslayer.c:534
msgid "Unknown Map Zoom"
msgstr ""
-#: ../src/vikmapslayer.c:589
+#: ../src/vikmapslayer.c:624
#, c-format
msgid ""
"New map cannot be displayed in the current drawmode.\n"
"Select \"%s\" from View menu to view it."
msgstr ""
-#: ../src/vikmapslayer.c:753
+#: ../src/vikmapslayer.c:798
#, c-format
msgid ""
"Cowardly refusing to draw tiles or existence of tiles beyond %d zoom out "
"factor"
msgstr ""
-#: ../src/vikmapslayer.c:1157
+#: ../src/vikmapslayer.c:1210
#, c-format
msgid "Redownloading up to %d %s map..."
msgid_plural "Redownloading up to %d %s maps..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikmapslayer.c:1159
+#: ../src/vikmapslayer.c:1212
#, c-format
msgid "Redownloading %d %s map..."
msgid_plural "Redownloading %d %s maps..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikmapslayer.c:1163 ../src/vikmapslayer.c:1238
+#: ../src/vikmapslayer.c:1216 ../src/vikmapslayer.c:1290
#, c-format
msgid "Downloading %d %s map..."
msgid_plural "Downloading %d %s maps..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikmapslayer.c:1311
+#: ../src/vikmapslayer.c:1376
#, c-format
msgid ""
"\n"
@@ -1682,7 +1947,7 @@ msgid ""
"Tile File Timestamp: %s"
msgstr ""
-#: ../src/vikmapslayer.c:1318
+#: ../src/vikmapslayer.c:1380
#, c-format
msgid ""
"Source: %s\n"
@@ -1690,1458 +1955,2035 @@ msgid ""
"No Tile File!"
msgstr ""
-#: ../src/vikmapslayer.c:1356
+#: ../src/vikmapslayer.c:1418
msgid "Redownload _Bad Map(s)"
msgstr ""
-#: ../src/vikmapslayer.c:1360
+#: ../src/vikmapslayer.c:1422
msgid "Redownload _New Map(s)"
msgstr ""
-#: ../src/vikmapslayer.c:1364
+#: ../src/vikmapslayer.c:1426
msgid "Redownload _All Map(s)"
msgstr ""
-#: ../src/vikmapslayer.c:1368
+#: ../src/vikmapslayer.c:1430
msgid "_Show Tile Information"
msgstr ""
-#: ../src/vikmapslayer.c:1449
+#: ../src/vikmapslayer.c:1511
#, c-format
msgid ""
"Wrong drawmode for this map.\n"
"Select \"%s\" from View menu and try again."
msgstr ""
-#: ../src/vikmapslayer.c:1454
+#: ../src/vikmapslayer.c:1516
msgid "Wrong zoom level for this map."
msgstr ""
+#: ../src/vikmapslayer.c:1647
+msgid "Zoom Start:"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1654
+msgid "Zoom End:"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1660
+msgid "Download Maps Method:"
+msgstr ""
+
+#. redownload method - needs to align with REDOWNLOAD* macro values
+#: ../src/vikmapslayer.c:1732
+msgid "Missing"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1732
+msgid "Bad"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1732
+msgid "New"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1732
+msgid "Reload All"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1734
+msgid "Download for Zoom Levels"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1774
+#, c-format
+msgid ""
+"You are not allowed to download more than %d tiles in one go (requested %d)"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1782
+#, c-format
+msgid "Do you really want to download %d tiles?"
+msgstr ""
+
#. Now with icons
-#: ../src/vikmapslayer.c:1485
+#: ../src/vikmapslayer.c:1807
msgid "Download _Missing Onscreen Maps"
msgstr ""
-#: ../src/vikmapslayer.c:1492
+#: ../src/vikmapslayer.c:1814
msgid "Download _New Onscreen Maps"
msgstr ""
-#: ../src/vikmapslayer.c:1499
+#: ../src/vikmapslayer.c:1821
msgid "Reload _All Onscreen Maps"
msgstr ""
-#: ../src/viktreeview.c:263
+#: ../src/vikmapslayer.c:1827
+msgid "Download Maps in _Zoom Levels..."
+msgstr ""
+
+#: ../src/vikrouting.c:54
+msgid "Default engine:"
+msgstr ""
+
+#: ../src/viktreeview.c:316
msgid "Layer Name"
msgstr "Ονομα επιπέδου"
-#: ../src/viktreeview.c:742
+#: ../src/viktreeview.c:851
#, c-format
msgid "delete data from %s\n"
msgstr ""
-#: ../src/viktrwlayer.c:377
+#: ../src/viktrwlayer.c:398
msgid "Create _Waypoint"
msgstr ""
-#: ../src/viktrwlayer.c:377
+#: ../src/viktrwlayer.c:398
msgid "Create Waypoint"
msgstr ""
-#: ../src/viktrwlayer.c:383
+#: ../src/viktrwlayer.c:404
msgid "Create _Track"
msgstr ""
-#: ../src/viktrwlayer.c:383
+#: ../src/viktrwlayer.c:404
msgid "Create Track"
msgstr "Δημιουργία Κομματιού"
-#: ../src/viktrwlayer.c:392
+#: ../src/viktrwlayer.c:413
msgid "Create _Route"
msgstr ""
-#: ../src/viktrwlayer.c:392
+#: ../src/viktrwlayer.c:413
msgid "Create Route"
msgstr ""
-#: ../src/viktrwlayer.c:401
+#: ../src/viktrwlayer.c:422
msgid "_Edit Waypoint"
msgstr ""
-#: ../src/viktrwlayer.c:401
+#: ../src/viktrwlayer.c:422
msgid "Edit Waypoint"
msgstr ""
-#: ../src/viktrwlayer.c:409
+#: ../src/viktrwlayer.c:432
msgid "Edit Trac_kpoint"
msgstr ""
-#: ../src/viktrwlayer.c:409
+#: ../src/viktrwlayer.c:432
msgid "Edit Trackpoint"
msgstr ""
-#: ../src/viktrwlayer.c:417
+#: ../src/viktrwlayer.c:442
msgid "Show P_icture"
msgstr ""
-#: ../src/viktrwlayer.c:417
+#: ../src/viktrwlayer.c:442
msgid "Show Picture"
msgstr ""
-#: ../src/viktrwlayer.c:424
+#: ../src/viktrwlayer.c:448
msgid "Route _Finder"
msgstr ""
-#: ../src/viktrwlayer.c:424
+#: ../src/viktrwlayer.c:448
msgid "Route Finder"
msgstr ""
#. ***** PARAMETERS *****
-#: ../src/viktrwlayer.c:447 ../src/viktrwlayer.c:1942
-#: ../src/viktrwlayer.c:1944
+#: ../src/viktrwlayer.c:468 ../src/viktrwlayer.c:2324
msgid "Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:447 ../src/viktrwlayer.c:1933
-#: ../src/viktrwlayer.c:1935
+#: ../src/viktrwlayer.c:468 ../src/viktrwlayer.c:2319
msgid "Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:447
+#: ../src/viktrwlayer.c:468
msgid "Waypoint Images"
msgstr ""
-#: ../src/viktrwlayer.c:450
+#: ../src/viktrwlayer.c:468
+msgid "Tracks Advanced"
+msgstr ""
+
+#: ../src/viktrwlayer.c:471
msgid "Draw by Track"
msgstr ""
-#: ../src/viktrwlayer.c:450
+#: ../src/viktrwlayer.c:471
msgid "Draw by Speed"
msgstr ""
-#: ../src/viktrwlayer.c:450
+#: ../src/viktrwlayer.c:471
msgid "All Tracks Same Color"
msgstr ""
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "Filled Square"
msgstr ""
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "Square"
msgstr "Τετράγωνο"
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "Circle"
msgstr "Κύκλος"
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "X"
msgstr "X"
-#: ../src/viktrwlayer.c:477
+#: ../src/viktrwlayer.c:498
msgid "Extra Extra Small"
msgstr ""
-#: ../src/viktrwlayer.c:478
+#: ../src/viktrwlayer.c:499
msgid "Extra Small"
msgstr ""
-#: ../src/viktrwlayer.c:479
+#: ../src/viktrwlayer.c:500
msgid "Small"
msgstr ""
-#: ../src/viktrwlayer.c:480
+#: ../src/viktrwlayer.c:501
msgid "Medium"
msgstr ""
-#: ../src/viktrwlayer.c:481
+#: ../src/viktrwlayer.c:502
msgid "Large"
msgstr ""
-#: ../src/viktrwlayer.c:482
+#: ../src/viktrwlayer.c:503
msgid "Extra Large"
msgstr ""
-#: ../src/viktrwlayer.c:483
+#: ../src/viktrwlayer.c:504
msgid "Extra Extra Large"
msgstr ""
-#: ../src/viktrwlayer.c:491
+#: ../src/viktrwlayer.c:510
+msgid "Name Ascending"
+msgstr ""
+
+#: ../src/viktrwlayer.c:511
+msgid "Name Descending"
+msgstr ""
+
+#: ../src/viktrwlayer.c:552 ../src/viktrwlayer.c:576
+msgid "Draw Labels"
+msgstr "Σχεδιασμός ετικετών"
+
+#: ../src/viktrwlayer.c:553
+msgid "Note: the individual track controls what labels may be displayed"
+msgstr ""
+
+#: ../src/viktrwlayer.c:554
+msgid "Track Labels Font Size:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:555
msgid "Track Drawing Mode:"
msgstr ""
-#: ../src/viktrwlayer.c:492
+#: ../src/viktrwlayer.c:556
msgid "All Tracks Color:"
msgstr ""
-#: ../src/viktrwlayer.c:493
+#: ../src/viktrwlayer.c:557
msgid "The color used when 'All Tracks Same Color' drawing mode is selected"
msgstr ""
-#: ../src/viktrwlayer.c:494
+#: ../src/viktrwlayer.c:558
msgid "Draw Track Lines"
msgstr ""
-#: ../src/viktrwlayer.c:495
+#: ../src/viktrwlayer.c:559
msgid "Track Thickness:"
msgstr ""
-#: ../src/viktrwlayer.c:496
+#: ../src/viktrwlayer.c:560
msgid "Draw Track Direction"
msgstr ""
-#: ../src/viktrwlayer.c:497
+#: ../src/viktrwlayer.c:561
msgid "Direction Size:"
msgstr ""
-#: ../src/viktrwlayer.c:498
+#: ../src/viktrwlayer.c:562
msgid "Draw Trackpoints"
msgstr ""
-#: ../src/viktrwlayer.c:499
+#: ../src/viktrwlayer.c:563
msgid "Trackpoint Size:"
msgstr ""
-#: ../src/viktrwlayer.c:500
+#: ../src/viktrwlayer.c:564
msgid "Draw Elevation"
msgstr ""
-#: ../src/viktrwlayer.c:501
+#: ../src/viktrwlayer.c:565
msgid "Draw Elevation Height %:"
msgstr ""
-#: ../src/viktrwlayer.c:503
+#: ../src/viktrwlayer.c:566
msgid "Draw Stops"
msgstr ""
-#: ../src/viktrwlayer.c:504
+#: ../src/viktrwlayer.c:567
msgid ""
"Whether to draw a marker when trackpoints are at the same position but over "
"the minimum stop length apart in time"
msgstr ""
-#: ../src/viktrwlayer.c:505
+#: ../src/viktrwlayer.c:568
msgid "Min Stop Length (seconds):"
msgstr ""
-#: ../src/viktrwlayer.c:507
+#: ../src/viktrwlayer.c:570
msgid "Track BG Thickness:"
msgstr ""
-#: ../src/viktrwlayer.c:508
+#: ../src/viktrwlayer.c:571
msgid "Track Background Color"
msgstr ""
-#: ../src/viktrwlayer.c:509
+#: ../src/viktrwlayer.c:572
msgid "Draw by Speed Factor (%):"
msgstr ""
-#: ../src/viktrwlayer.c:510
+#: ../src/viktrwlayer.c:573
msgid ""
"The percentage factor away from the average speed determining the color used"
msgstr ""
-#: ../src/viktrwlayer.c:512
-msgid "Draw Labels"
-msgstr "Σχεδιασμός ετικετών"
+#: ../src/viktrwlayer.c:574
+msgid "Track Sort Order:"
+msgstr ""
-#: ../src/viktrwlayer.c:513
+#: ../src/viktrwlayer.c:577
msgid "Waypoint Font Size:"
msgstr ""
-#: ../src/viktrwlayer.c:514
+#: ../src/viktrwlayer.c:578
msgid "Waypoint Color:"
msgstr ""
-#: ../src/viktrwlayer.c:515
+#: ../src/viktrwlayer.c:579
msgid "Waypoint Text:"
msgstr ""
-#: ../src/viktrwlayer.c:516
+#: ../src/viktrwlayer.c:580
msgid "Background:"
msgstr "Φόντο:"
-#: ../src/viktrwlayer.c:517
+#: ../src/viktrwlayer.c:581
msgid "Fake BG Color Translucency:"
msgstr ""
-#: ../src/viktrwlayer.c:518
+#: ../src/viktrwlayer.c:582
msgid "Waypoint marker:"
msgstr ""
-#: ../src/viktrwlayer.c:519
+#: ../src/viktrwlayer.c:583
msgid "Waypoint size:"
msgstr ""
-#: ../src/viktrwlayer.c:520
+#: ../src/viktrwlayer.c:584
msgid "Draw Waypoint Symbols:"
msgstr ""
-#: ../src/viktrwlayer.c:522
+#: ../src/viktrwlayer.c:585
+msgid "Waypoint Sort Order:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:587
msgid "Draw Waypoint Images"
msgstr ""
-#: ../src/viktrwlayer.c:523
+#: ../src/viktrwlayer.c:588
msgid "Image Size (pixels):"
msgstr "Μέγεθος Εικόνας (pixels):"
-#: ../src/viktrwlayer.c:524
+#: ../src/viktrwlayer.c:589
msgid "Image Alpha:"
msgstr ""
-#: ../src/viktrwlayer.c:525
+#: ../src/viktrwlayer.c:590
msgid "Image Memory Cache Size:"
msgstr ""
-#: ../src/viktrwlayer.c:610
+#: ../src/viktrwlayer.c:678
msgid "TrackWaypoint"
msgstr ""
-#: ../src/viktrwlayer.c:1951 ../src/viktrwlayer.c:1953
+#: ../src/viktrwlayer.c:1534 ../src/vikutils.c:204
+msgid "miles"
+msgstr ""
+
+#. VIK_UNITS_DISTANCE_KILOMETRES:
+#: ../src/viktrwlayer.c:1538 ../src/vikutils.c:209
+msgid "km"
+msgstr ""
+
+#: ../src/viktrwlayer.c:1648
+msgid "start/end"
+msgstr ""
+
+#: ../src/viktrwlayer.c:1660
+msgid "start"
+msgstr ""
+
+#: ../src/viktrwlayer.c:1669
+msgid "end"
+msgstr ""
+
+#: ../src/viktrwlayer.c:2329
msgid "Routes"
msgstr ""
-#: ../src/viktrwlayer.c:2144
+#: ../src/viktrwlayer.c:2519
#, c-format
msgid " in %d:%02d hrs:mins"
msgstr ""
-#: ../src/viktrwlayer.c:2148
+#: ../src/viktrwlayer.c:2523
#, c-format
msgid ""
"\n"
"%sTotal Length %.1f %s%s"
msgstr ""
-#: ../src/viktrwlayer.c:2154
+#: ../src/viktrwlayer.c:2529
#, c-format
msgid "Tracks: %d - Waypoints: %d - Routes: %d%s"
msgstr ""
-#: ../src/viktrwlayer.c:2174
+#: ../src/viktrwlayer.c:2549
#, c-format
msgid "Tracks: %d"
msgstr ""
-#: ../src/viktrwlayer.c:2184
+#: ../src/viktrwlayer.c:2559
#, c-format
msgid "Routes: %d"
msgstr ""
-#: ../src/viktrwlayer.c:2215
+#: ../src/viktrwlayer.c:2590
#, c-format
msgid "- %d:%02d hrs:mins"
msgstr ""
-#: ../src/viktrwlayer.c:2223
+#: ../src/viktrwlayer.c:2598
#, c-format
msgid "%s%.1f km %s"
msgstr ""
-#: ../src/viktrwlayer.c:2226
+#: ../src/viktrwlayer.c:2601
#, c-format
msgid "%s%.1f miles %s"
msgstr ""
-#: ../src/viktrwlayer.c:2240
+#: ../src/viktrwlayer.c:2615
#, c-format
msgid "Waypoints: %d"
msgstr ""
-#: ../src/viktrwlayer.c:2266
-#, c-format
-msgid "Trkpt: Alt %dft"
-msgstr ""
-
-#. VIK_UNITS_HEIGHT_METRES:
-#: ../src/viktrwlayer.c:2270
-#, c-format
-msgid "Trkpt: Alt %dm"
-msgstr ""
-
-#. Compact date time format
-#: ../src/viktrwlayer.c:2277
-#, c-format
-msgid " | Time %x %X"
-msgstr ""
-
-#: ../src/viktrwlayer.c:2295
-#, c-format
-msgid " | Track: %s"
-msgstr ""
-
-#. Combine parts to make overall message
-#: ../src/viktrwlayer.c:2299
-#, c-format
-msgid "%s%s | %s %s %s"
-msgstr ""
-
-#: ../src/viktrwlayer.c:2314
+#: ../src/viktrwlayer.c:2671
#, c-format
msgid "Wpt: Alt %dft"
msgstr ""
#. VIK_UNITS_HEIGHT_METRES:
-#: ../src/viktrwlayer.c:2318
+#: ../src/viktrwlayer.c:2675
#, c-format
msgid "Wpt: Alt %dm"
msgstr ""
#. Add comment if available
-#: ../src/viktrwlayer.c:2333
+#: ../src/viktrwlayer.c:2690
#, c-format
msgid "%s | %s %s | Comment: %s"
msgstr ""
-#: ../src/viktrwlayer.c:2335
+#: ../src/viktrwlayer.c:2692
#, c-format
msgid "%s | %s %s"
msgstr ""
-#: ../src/viktrwlayer.c:2563 ../src/viktrwlayer.c:2634
+#: ../src/viktrwlayer.c:2939 ../src/viktrwlayer.c:3010
msgid "This layer has no waypoints or trackpoints."
msgstr ""
-#: ../src/viktrwlayer.c:2661 ../src/vikwindow.c:2407 ../src/vikwindow.c:2848
+#: ../src/viktrwlayer.c:3045 ../src/vikwindow.c:2754 ../src/vikwindow.c:3407
#, c-format
msgid "The file \"%s\" exists, do you wish to overwrite it?"
msgstr ""
-#: ../src/viktrwlayer.c:2671 ../src/vikwindow.c:2429
+#: ../src/viktrwlayer.c:3057 ../src/vikwindow.c:2778
msgid "The filename you requested could not be opened for writing."
msgstr ""
-#: ../src/viktrwlayer.c:2676 ../src/viktrwlayer.c:2681
-#: ../src/viktrwlayer.c:2691 ../src/viktrwlayer.c:2703
+#: ../src/viktrwlayer.c:3062 ../src/viktrwlayer.c:3067
+#: ../src/viktrwlayer.c:3077 ../src/viktrwlayer.c:3089
msgid "Export Layer"
msgstr "Εξαγωγή Επιπέδου"
-#: ../src/viktrwlayer.c:2720
+#: ../src/viktrwlayer.c:3108
msgid "Could not create temporary file for export."
msgstr ""
-#: ../src/viktrwlayer.c:2729
+#: ../src/viktrwlayer.c:3117
#, c-format
msgid "Could not launch %s."
msgstr ""
-#: ../src/viktrwlayer.c:2773
+#: ../src/viktrwlayer.c:3161
msgid "Export Track as GPX"
msgstr ""
-#: ../src/viktrwlayer.c:2795
+#: ../src/viktrwlayer.c:3183
msgid "Find"
msgstr ""
-#: ../src/viktrwlayer.c:2805
+#: ../src/viktrwlayer.c:3193
msgid "Waypoint Name:"
msgstr ""
-#: ../src/viktrwlayer.c:2822
+#: ../src/viktrwlayer.c:3210
msgid "Waypoint not found in this layer."
msgstr ""
-#: ../src/viktrwlayer.c:3090
+#: ../src/viktrwlayer.c:3476
msgid "Can not upload invisible track."
msgstr ""
-#: ../src/viktrwlayer.c:3192 ../src/viktrwlayer.c:7785
+#: ../src/viktrwlayer.c:3581 ../src/viktrwlayer.c:9283
msgid "Track"
msgstr ""
-#: ../src/viktrwlayer.c:3215 ../src/viktrwlayer.c:7817
+#: ../src/viktrwlayer.c:3606 ../src/viktrwlayer.c:9316
msgid "Route"
msgstr ""
-#: ../src/viktrwlayer.c:3296 ../src/viktrwlayer.c:6265
-#: ../src/viktrwlayer.c:6314
+#: ../src/viktrwlayer.c:3691 ../src/viktrwlayer.c:7460
+#: ../src/viktrwlayer.c:7566
msgid "_Finish Route"
msgstr ""
-#: ../src/viktrwlayer.c:3298 ../src/viktrwlayer.c:6223
-#: ../src/viktrwlayer.c:6312
+#: ../src/viktrwlayer.c:3693 ../src/viktrwlayer.c:7383
+#: ../src/viktrwlayer.c:7564
msgid "_Finish Track"
msgstr ""
#. Now with icons
-#: ../src/viktrwlayer.c:3310
+#: ../src/viktrwlayer.c:3705
msgid "_View Layer"
msgstr ""
-#: ../src/viktrwlayer.c:3317
+#: ../src/viktrwlayer.c:3712
msgid "V_iew"
msgstr ""
-#: ../src/viktrwlayer.c:3323
+#: ../src/viktrwlayer.c:3718
msgid "View All _Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:3328
+#: ../src/viktrwlayer.c:3723
msgid "View All _Routes"
msgstr ""
-#: ../src/viktrwlayer.c:3333
+#: ../src/viktrwlayer.c:3728
msgid "View All _Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:3338
+#: ../src/viktrwlayer.c:3733
msgid "_Goto Center of Layer"
msgstr ""
-#: ../src/viktrwlayer.c:3344 ../src/viktrwlayer.c:6199
+#: ../src/viktrwlayer.c:3739 ../src/viktrwlayer.c:7335
msgid "Goto _Waypoint..."
msgstr ""
-#: ../src/viktrwlayer.c:3350
+#: ../src/viktrwlayer.c:3745
msgid "_Export Layer"
msgstr ""
-#: ../src/viktrwlayer.c:3356
+#: ../src/viktrwlayer.c:3751
msgid "Export as GPS_Point..."
msgstr ""
-#: ../src/viktrwlayer.c:3361
+#: ../src/viktrwlayer.c:3756
msgid "Export as GPS_Mapper..."
msgstr ""
-#: ../src/viktrwlayer.c:3366
+#: ../src/viktrwlayer.c:3761
msgid "Export as _GPX..."
msgstr ""
-#: ../src/viktrwlayer.c:3371
+#: ../src/viktrwlayer.c:3766
msgid "Export as _KML..."
msgstr ""
-#: ../src/viktrwlayer.c:3376
+#: ../src/viktrwlayer.c:3771
msgid "Open with External Program_1: "
msgstr ""
-#: ../src/viktrwlayer.c:3383
+#: ../src/viktrwlayer.c:3778
msgid "Open with External Program_2: "
msgstr ""
-#: ../src/viktrwlayer.c:3391 ../src/vikwindow.c:3145
+#: ../src/viktrwlayer.c:3786 ../src/vikwindow.c:3704
msgid "_New"
msgstr "_Νέο"
-#: ../src/viktrwlayer.c:3397
+#: ../src/viktrwlayer.c:3792
msgid "New _Waypoint..."
msgstr ""
-#: ../src/viktrwlayer.c:3403
+#: ../src/viktrwlayer.c:3798
msgid "New _Track"
msgstr ""
-#: ../src/viktrwlayer.c:3411
+#: ../src/viktrwlayer.c:3806
msgid "New _Route"
msgstr ""
-#: ../src/viktrwlayer.c:3420 ../src/viktrwlayer.c:6597
+#: ../src/viktrwlayer.c:3815 ../src/viktrwlayer.c:7938
msgid "Geotag _Images..."
msgstr ""
-#: ../src/viktrwlayer.c:3427
+#: ../src/viktrwlayer.c:3822
msgid "_Acquire"
msgstr ""
-#: ../src/viktrwlayer.c:3433 ../src/vikwindow.c:3150
+#: ../src/viktrwlayer.c:3828 ../src/vikwindow.c:3711
msgid "From _GPS..."
msgstr ""
-#: ../src/viktrwlayer.c:3439
-msgid "From Google _Directions..."
+#. FIXME: only add menu when at least a routing engine has support for Directions
+#: ../src/viktrwlayer.c:3834
+msgid "From _Directions..."
msgstr ""
-#: ../src/viktrwlayer.c:3446
+#: ../src/viktrwlayer.c:3840
msgid "From _OSM Traces..."
msgstr ""
-#: ../src/viktrwlayer.c:3451
+#: ../src/viktrwlayer.c:3845
msgid "From _My OSM Traces..."
msgstr ""
-#: ../src/viktrwlayer.c:3459 ../src/vikwindow.c:3166
+#: ../src/viktrwlayer.c:3853 ../src/vikwindow.c:3725
msgid "From _Wikipedia Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:3465
+#: ../src/viktrwlayer.c:3859
msgid "Within _Layer Bounds"
msgstr ""
-#: ../src/viktrwlayer.c:3471
+#: ../src/viktrwlayer.c:3865
msgid "Within _Current View"
msgstr ""
-#: ../src/viktrwlayer.c:3479
+#: ../src/viktrwlayer.c:3873
msgid "From Geo_caching..."
msgstr ""
-#: ../src/viktrwlayer.c:3486 ../src/vikwindow.c:3163
+#: ../src/viktrwlayer.c:3880 ../src/vikwindow.c:3722
msgid "From Geotagged _Images..."
msgstr ""
-#: ../src/viktrwlayer.c:3492
+#: ../src/viktrwlayer.c:3886
msgid "From _File..."
msgstr ""
-#: ../src/viktrwlayer.c:3498 ../src/viktrwlayer.c:6542
+#: ../src/viktrwlayer.c:3894 ../src/viktrwlayer.c:7883
msgid "_Upload"
msgstr ""
-#: ../src/viktrwlayer.c:3504
+#: ../src/viktrwlayer.c:3900
msgid "Upload to _GPS..."
msgstr ""
-#: ../src/viktrwlayer.c:3511 ../src/viktrwlayer.c:6570
+#: ../src/viktrwlayer.c:3907 ../src/viktrwlayer.c:7911
msgid "Upload to _OSM..."
msgstr ""
-#: ../src/viktrwlayer.c:3519
+#: ../src/viktrwlayer.c:3915
msgid "De_lete"
msgstr ""
-#: ../src/viktrwlayer.c:3525
+#: ../src/viktrwlayer.c:3921
msgid "Delete All _Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:3531
+#: ../src/viktrwlayer.c:3927
msgid "Delete Tracks _From Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:3537 ../src/viktrwlayer.c:6290
+#: ../src/viktrwlayer.c:3933 ../src/viktrwlayer.c:7485
msgid "Delete _All Routes"
msgstr ""
-#: ../src/viktrwlayer.c:3543 ../src/viktrwlayer.c:6296
+#: ../src/viktrwlayer.c:3939 ../src/viktrwlayer.c:7491
msgid "_Delete Routes From Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:3549
+#: ../src/viktrwlayer.c:3945
msgid "Delete All _Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:3555
+#: ../src/viktrwlayer.c:3951
msgid "Delete Waypoints From _Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:4128
+#: ../src/viktrwlayer.c:4574
#, c-format
msgid "Are you sure you want to delete all tracks in %s?"
msgstr ""
-#: ../src/viktrwlayer.c:4138
+#: ../src/viktrwlayer.c:4584
#, c-format
msgid "Are you sure you want to delete all routes in %s?"
msgstr ""
-#: ../src/viktrwlayer.c:4148
+#: ../src/viktrwlayer.c:4594
#, c-format
msgid "Are you sure you want to delete all waypoints in %s?"
msgstr ""
-#: ../src/viktrwlayer.c:4165
+#: ../src/viktrwlayer.c:4611
#, c-format
-msgid "Are you sure you want to delete the waypoint \"%s\""
+msgid "Are you sure you want to delete the waypoint \"%s\"?"
msgstr ""
-#: ../src/viktrwlayer.c:4178
+#: ../src/viktrwlayer.c:4624
#, c-format
-msgid "Are you sure you want to delete the track \"%s\""
+msgid "Are you sure you want to delete the track \"%s\"?"
msgstr ""
-#: ../src/viktrwlayer.c:4191
+#: ../src/viktrwlayer.c:4637
#, c-format
-msgid "Are you sure you want to delete the route \"%s\""
+msgid "Are you sure you want to delete the route \"%s\"?"
msgstr ""
-#: ../src/viktrwlayer.c:4351 ../src/viktrwlayer.c:4922
+#: ../src/viktrwlayer.c:4849 ../src/viktrwlayer.c:5677
msgid ""
"Converting a track to a route removes extra track data such as segments, "
"timestamps, etc...\n"
"Do you want to continue?"
msgstr ""
-#: ../src/viktrwlayer.c:4711
+#: ../src/viktrwlayer.c:4944
+msgid "No DEM layers available, thus no DEM values can be applied."
+msgstr ""
+
+#: ../src/viktrwlayer.c:4964 ../src/viktrwlayer.c:5005
+#, c-format
+msgid "%ld point adjusted"
+msgid_plural "%ld points adjusted"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/viktrwlayer.c:5049
+#, c-format
+msgid "%ld waypoint changed"
+msgid_plural "%ld waypoints changed"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/viktrwlayer.c:5233
+#, c-format
+msgid ""
+"Refining a track with many points (%d) is unlikely to yield sensible "
+"results. Do you want to Continue?"
+msgstr ""
+
+#. Select engine from dialog
+#: ../src/viktrwlayer.c:5241
+msgid "Refine Route with Routing Engine..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:5249
+msgid "Select routing engine"
+msgstr ""
+
+#: ../src/viktrwlayer.c:5467
msgid "Failed. No other tracks with timestamps in this layer found"
msgstr ""
-#: ../src/viktrwlayer.c:4713
+#: ../src/viktrwlayer.c:5469
msgid "Failed. No other tracks without timestamps in this layer found"
msgstr ""
-#: ../src/viktrwlayer.c:4732
+#: ../src/viktrwlayer.c:5488
msgid "Merge with..."
msgstr ""
-#: ../src/viktrwlayer.c:4733
+#: ../src/viktrwlayer.c:5489
msgid "Select route to merge with"
msgstr ""
-#: ../src/viktrwlayer.c:4733
+#: ../src/viktrwlayer.c:5489
msgid "Select track to merge with"
msgstr ""
-#: ../src/viktrwlayer.c:4818 ../src/viktrwlayer.c:4895
+#: ../src/viktrwlayer.c:5573 ../src/viktrwlayer.c:5650
msgid "Append Route"
msgstr ""
-#: ../src/viktrwlayer.c:4818 ../src/viktrwlayer.c:4895
+#: ../src/viktrwlayer.c:5573 ../src/viktrwlayer.c:5650
msgid "Append Track"
msgstr ""
-#: ../src/viktrwlayer.c:4819
+#: ../src/viktrwlayer.c:5574
msgid "Select the route to append after the current route"
msgstr ""
-#: ../src/viktrwlayer.c:4820
+#: ../src/viktrwlayer.c:5575
msgid "Select the track to append after the current track"
msgstr ""
-#: ../src/viktrwlayer.c:4896
+#: ../src/viktrwlayer.c:5651
msgid "Select the track to append after the current route"
msgstr ""
-#: ../src/viktrwlayer.c:4897
+#: ../src/viktrwlayer.c:5652
msgid "Select the route to append after the current track"
msgstr ""
-#: ../src/viktrwlayer.c:4957
+#: ../src/viktrwlayer.c:5711
#, c-format
msgid "%d segment merged"
msgid_plural "%d segments merged"
msgstr[0] ""
msgstr[1] ""
-#: ../src/viktrwlayer.c:4973
+#: ../src/viktrwlayer.c:5727
msgid "Failed. This track does not have timestamp"
msgstr ""
-#: ../src/viktrwlayer.c:4985
+#: ../src/viktrwlayer.c:5739
msgid "Failed. No other track in this layer has timestamp"
msgstr ""
-#: ../src/viktrwlayer.c:4992
+#: ../src/viktrwlayer.c:5746
msgid "Merge Threshold..."
msgstr ""
-#: ../src/viktrwlayer.c:4993
+#: ../src/viktrwlayer.c:5747
msgid "Merge when time between tracks less than:"
msgstr ""
-#: ../src/viktrwlayer.c:5128
+#: ../src/viktrwlayer.c:5889
msgid "Split Threshold..."
msgstr ""
-#: ../src/viktrwlayer.c:5129
+#: ../src/viktrwlayer.c:5890
msgid "Split when time between trackpoints exceeds:"
msgstr ""
-#: ../src/viktrwlayer.c:5205
+#: ../src/viktrwlayer.c:5907
+#, c-format
+msgid ""
+"Can not split track due to trackpoints not ordered in time - such as at %s.\n"
+"\n"
+"Goto this trackpoint?"
+msgstr ""
+
+#: ../src/viktrwlayer.c:5976
msgid "Split Every Nth Point"
msgstr ""
-#: ../src/viktrwlayer.c:5206
+#: ../src/viktrwlayer.c:5977
msgid "Split on every Nth point:"
msgstr ""
-#: ../src/viktrwlayer.c:5312
+#: ../src/viktrwlayer.c:6087
msgid "Can not split track as it has no segments"
msgstr ""
-#: ../src/viktrwlayer.c:5340 ../src/viktrwlayer.c:5370
+#: ../src/viktrwlayer.c:6169 ../src/viktrwlayer.c:6199
#, c-format
msgid "Deleted %ld point"
msgid_plural "Deleted %ld points"
msgstr[0] ""
msgstr[1] ""
-#: ../src/viktrwlayer.c:5531
+#: ../src/viktrwlayer.c:6392
msgid "Internal Error in vik_trw_layer_uniquify_tracks"
msgstr ""
-#: ../src/viktrwlayer.c:5588 ../src/viktrwlayer.c:5635
-#: ../src/viktrwlayer.c:5814
+#: ../src/viktrwlayer.c:6496 ../src/viktrwlayer.c:6543
+#: ../src/viktrwlayer.c:6704
msgid ""
"Multiple entries with the same name exist. This method only works with "
"unique names. Force unique names now?"
msgstr ""
-#: ../src/viktrwlayer.c:5599
+#: ../src/viktrwlayer.c:6507
msgid "No tracks found"
msgstr ""
-#: ../src/viktrwlayer.c:5607 ../src/viktrwlayer.c:5654
-#: ../src/viktrwlayer.c:5834
+#: ../src/viktrwlayer.c:6515 ../src/viktrwlayer.c:6562
+#: ../src/viktrwlayer.c:6724
msgid "Delete Selection"
msgstr ""
-#: ../src/viktrwlayer.c:5608
+#: ../src/viktrwlayer.c:6516
msgid "Select tracks to delete"
msgstr ""
-#: ../src/viktrwlayer.c:5646
+#: ../src/viktrwlayer.c:6554
msgid "No routes found"
msgstr ""
-#: ../src/viktrwlayer.c:5655
+#: ../src/viktrwlayer.c:6563
msgid "Select routes to delete"
msgstr ""
-#: ../src/viktrwlayer.c:5761
+#: ../src/viktrwlayer.c:6669
msgid "Internal Error in vik_trw_layer_uniquify_waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:5824
+#: ../src/viktrwlayer.c:6714
msgid "No waypoints found"
msgstr ""
-#: ../src/viktrwlayer.c:5835
+#: ../src/viktrwlayer.c:6725
msgid "Select waypoints to delete"
msgstr ""
-#: ../src/viktrwlayer.c:5896
+#: ../src/viktrwlayer.c:7033
#, c-format
msgid ""
"A waypoint with the name \"%s\" already exists. Really rename to the same "
"name?"
msgstr ""
-#: ../src/viktrwlayer.c:5926
+#: ../src/viktrwlayer.c:7063
#, c-format
msgid ""
"A track with the name \"%s\" already exists. Really rename to the same name?"
msgstr ""
-#: ../src/viktrwlayer.c:5963
+#: ../src/viktrwlayer.c:7100
#, c-format
msgid ""
"A route with the name \"%s\" already exists. Really rename to the same name?"
msgstr ""
-#: ../src/viktrwlayer.c:6085 ../src/viktrwlayer.c:6337
+#: ../src/viktrwlayer.c:7221 ../src/viktrwlayer.c:7594
msgid "_Goto"
msgstr ""
-#: ../src/viktrwlayer.c:6104
+#: ../src/viktrwlayer.c:7240
msgid "_Visit Geocache Webpage"
msgstr ""
-#: ../src/viktrwlayer.c:6123
+#: ../src/viktrwlayer.c:7259
msgid "_Show Picture..."
msgstr ""
-#: ../src/viktrwlayer.c:6131
+#: ../src/viktrwlayer.c:7267
msgid "Update Geotag on _Image"
msgstr ""
-#: ../src/viktrwlayer.c:6137
+#: ../src/viktrwlayer.c:7273
msgid "_Update"
msgstr ""
-#: ../src/viktrwlayer.c:6142
+#: ../src/viktrwlayer.c:7278
msgid "Update and _Keep File Timestamp"
msgstr ""
-#: ../src/viktrwlayer.c:6153
+#: ../src/viktrwlayer.c:7289
msgid "Visit _Webpage"
msgstr ""
-#: ../src/viktrwlayer.c:6184
+#: ../src/viktrwlayer.c:7320
msgid "_New Waypoint..."
msgstr ""
-#: ../src/viktrwlayer.c:6193
+#: ../src/viktrwlayer.c:7329
msgid "_View All Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:6205
+#: ../src/viktrwlayer.c:7341
msgid "Delete _All Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:6211
+#: ../src/viktrwlayer.c:7347
msgid "_Delete Waypoints From Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:6233
+#: ../src/viktrwlayer.c:7359
+msgid "_Show All Waypoints"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7365
+msgid "_Hide All Waypoints"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7393
msgid "_View All Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:6239
+#: ../src/viktrwlayer.c:7399
msgid "_New Track"
msgstr ""
-#: ../src/viktrwlayer.c:6247
+#: ../src/viktrwlayer.c:7407
msgid "Delete _All Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:6253
+#: ../src/viktrwlayer.c:7413
msgid "_Delete Tracks From Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:6276
+#: ../src/viktrwlayer.c:7425
+msgid "_Show All Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7431
+msgid "_Hide All Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7442
+msgid "_List Tracks..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7471
msgid "_View All Routes"
msgstr ""
-#: ../src/viktrwlayer.c:6282
+#: ../src/viktrwlayer.c:7477
msgid "_New Route"
msgstr ""
-#: ../src/viktrwlayer.c:6327
+#: ../src/viktrwlayer.c:7503
+msgid "_Show All Routes"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7509
+msgid "_Hide All Routes"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7520
+msgid "_List Routes..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7579
msgid "_View Track"
msgstr ""
-#: ../src/viktrwlayer.c:6329
+#: ../src/viktrwlayer.c:7581
msgid "_View Route"
msgstr ""
-#: ../src/viktrwlayer.c:6343
+#: ../src/viktrwlayer.c:7600
msgid "_Startpoint"
msgstr ""
-#: ../src/viktrwlayer.c:6349
+#: ../src/viktrwlayer.c:7606
msgid "\"_Center\""
msgstr ""
-#: ../src/viktrwlayer.c:6355
+#: ../src/viktrwlayer.c:7612
msgid "_Endpoint"
msgstr ""
-#: ../src/viktrwlayer.c:6361
+#: ../src/viktrwlayer.c:7618
msgid "_Highest Altitude"
msgstr ""
-#: ../src/viktrwlayer.c:6367
+#: ../src/viktrwlayer.c:7624
msgid "_Lowest Altitude"
msgstr ""
-#: ../src/viktrwlayer.c:6375
+#: ../src/viktrwlayer.c:7632
msgid "_Maximum Speed"
msgstr ""
-#: ../src/viktrwlayer.c:6384
+#: ../src/viktrwlayer.c:7641
msgid "Co_mbine"
msgstr ""
-#: ../src/viktrwlayer.c:6392
+#: ../src/viktrwlayer.c:7649
msgid "_Merge By Time..."
msgstr ""
-#: ../src/viktrwlayer.c:6397
+#: ../src/viktrwlayer.c:7654
msgid "Merge _Segments"
msgstr ""
-#: ../src/viktrwlayer.c:6403
+#: ../src/viktrwlayer.c:7660
msgid "Merge _With Other Tracks..."
msgstr ""
-#: ../src/viktrwlayer.c:6409
+#: ../src/viktrwlayer.c:7666
msgid "_Append Track..."
msgstr ""
-#: ../src/viktrwlayer.c:6411
+#: ../src/viktrwlayer.c:7668
msgid "_Append Route..."
msgstr ""
-#: ../src/viktrwlayer.c:6417
+#: ../src/viktrwlayer.c:7674
msgid "Append _Route..."
msgstr ""
-#: ../src/viktrwlayer.c:6419
+#: ../src/viktrwlayer.c:7676
msgid "Append _Track..."
msgstr ""
-#: ../src/viktrwlayer.c:6426
+#: ../src/viktrwlayer.c:7683
msgid "_Split"
msgstr ""
-#: ../src/viktrwlayer.c:6434
+#: ../src/viktrwlayer.c:7691
msgid "_Split By Time..."
msgstr ""
#. ATM always enable this entry - don't want to have to analyse the track before displaying the menu - to keep the menu speedy
-#: ../src/viktrwlayer.c:6440
+#: ../src/viktrwlayer.c:7697
msgid "Split Se_gments"
msgstr ""
-#: ../src/viktrwlayer.c:6446
+#: ../src/viktrwlayer.c:7703
msgid "Split By _Number of Points..."
msgstr ""
-#: ../src/viktrwlayer.c:6451
+#: ../src/viktrwlayer.c:7708
msgid "Split at _Trackpoint"
msgstr ""
-#: ../src/viktrwlayer.c:6460
+#: ../src/viktrwlayer.c:7716
+msgid "_Insert Points"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7722
+msgid "Insert Point _Before Selected Point"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7729
+msgid "Insert Point _After Selected Point"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7738
msgid "Delete Poi_nts"
msgstr ""
-#: ../src/viktrwlayer.c:6466
+#: ../src/viktrwlayer.c:7744
+msgid "Delete _Selected Point"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7752
msgid "Delete Points With The Same _Position"
msgstr ""
-#: ../src/viktrwlayer.c:6471
+#: ../src/viktrwlayer.c:7757
msgid "Delete Points With The Same _Time"
msgstr ""
-#: ../src/viktrwlayer.c:6477
-msgid "_Reverse Track"
+#: ../src/viktrwlayer.c:7764 ../src/viktrwlayer.c:7964
+msgid "_Transform"
msgstr ""
-#: ../src/viktrwlayer.c:6479
-msgid "_Reverse Route"
+#: ../src/viktrwlayer.c:7772 ../src/viktrwlayer.c:7972
+msgid "_Apply DEM Data"
msgstr ""
-#: ../src/viktrwlayer.c:6488
-msgid "Down_load Maps Along Track..."
+#: ../src/viktrwlayer.c:7777 ../src/viktrwlayer.c:7977
+msgid "_Overwrite"
msgstr ""
-#: ../src/viktrwlayer.c:6490
-msgid "Down_load Maps Along Route..."
+#: ../src/viktrwlayer.c:7780 ../src/viktrwlayer.c:7980
+msgid "Overwrite any existing elevation values with DEM values"
msgstr ""
-#: ../src/viktrwlayer.c:6497
-msgid "_Apply DEM Data"
+#: ../src/viktrwlayer.c:7783 ../src/viktrwlayer.c:7983
+msgid "_Keep Existing"
msgstr ""
-#: ../src/viktrwlayer.c:6504
-msgid "_Export Track as GPX..."
+#: ../src/viktrwlayer.c:7786 ../src/viktrwlayer.c:7986
+msgid "Keep existing elevation values, only attempt for missing values"
msgstr ""
-#: ../src/viktrwlayer.c:6506
-msgid "_Export Route as GPX..."
+#: ../src/viktrwlayer.c:7791
+msgid "_Smooth Missing Elevation Data"
msgstr ""
-#: ../src/viktrwlayer.c:6513
-msgid "E_xtend Track End"
+#: ../src/viktrwlayer.c:7796
+msgid "_Interpolated"
msgstr ""
-#: ../src/viktrwlayer.c:6515
-msgid "E_xtend Route End"
+#: ../src/viktrwlayer.c:7799
+msgid ""
+"Interpolate between known elevation values to derive values for the missing "
+"elevations"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7802
+msgid "_Flat"
msgstr ""
-#: ../src/viktrwlayer.c:6522
+#: ../src/viktrwlayer.c:7805
+msgid "Set unknown elevation values to the last known value"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7809
msgid "C_onvert to a Route"
msgstr ""
-#: ../src/viktrwlayer.c:6524
+#: ../src/viktrwlayer.c:7811
msgid "C_onvert to a Track"
msgstr ""
-#: ../src/viktrwlayer.c:6532
+#: ../src/viktrwlayer.c:7819
+msgid "_Anonymize Times"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7822
+msgid "Shift timestamps to a relative offset from 1901-01-01"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7827
+msgid "_Reverse Track"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7829
+msgid "_Reverse Route"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7836
+msgid "Refine Route..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7846
+msgid "Down_load Maps Along Track..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7848
+msgid "Down_load Maps Along Route..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7856
+msgid "_Export Track as GPX..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7858
+msgid "_Export Route as GPX..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7865
+msgid "E_xtend Track End"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7867
+msgid "E_xtend Route End"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7874
msgid "Extend _Using Route Finder"
msgstr ""
-#: ../src/viktrwlayer.c:6548
+#: ../src/viktrwlayer.c:7889
msgid "_Upload to GPS..."
msgstr ""
-#: ../src/viktrwlayer.c:6559
+#: ../src/viktrwlayer.c:7900
msgid "_View Google Directions"
msgstr ""
-#: ../src/viktrwlayer.c:6579
+#: ../src/viktrwlayer.c:7920
msgid "Use with _Filter"
msgstr ""
-#: ../src/viktrwlayer.c:6612
+#: ../src/viktrwlayer.c:7953
msgid "_Edit Trackpoint"
msgstr ""
-#: ../src/viktrwlayer.c:7524
+#: ../src/viktrwlayer.c:9017
#, c-format
msgid " - Gain %dm:Loss %dm"
msgstr ""
-#: ../src/viktrwlayer.c:7526
+#: ../src/viktrwlayer.c:9019
#, c-format
msgid " - Gain %dft:Loss %dft"
msgstr ""
-#: ../src/viktrwlayer.c:7531
+#: ../src/viktrwlayer.c:9024
#, c-format
msgid " - Bearing %3.1f° - Step %s"
msgstr ""
-#: ../src/viktrwlayer.c:8124
+#: ../src/viktrwlayer.c:9628
#, c-format
msgid "Could not launch %s to open file."
msgstr ""
-#: ../src/viktrwlayer.c:8205
+#: ../src/viktrwlayer.c:9709
#, c-format
msgid "Creating %d Image Thumbnails..."
msgstr ""
-#: ../src/viktrwlayer.c:8524
+#: ../src/viktrwlayer.c:10106
msgid "No map layer in use. Create one first"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:898 ../src/viktrwlayer_propwin.c:1155
+#: ../src/viktrwlayer.c:10225
+#, c-format
+msgid "%s: Track List"
+msgstr ""
+
+#: ../src/viktrwlayer.c:10227
+#, c-format
+msgid "%s: Route List"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:828 ../src/viktrwlayer_propwin.c:1085
#, c-format
msgid "%.1f kph"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:901 ../src/viktrwlayer_propwin.c:1158
+#: ../src/viktrwlayer_propwin.c:831 ../src/viktrwlayer_propwin.c:1088
+#: ../src/viktrwlayer_analysis.c:290
#, c-format
msgid "%.1f mph"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:904 ../src/viktrwlayer_propwin.c:1161
+#: ../src/viktrwlayer_propwin.c:834 ../src/viktrwlayer_propwin.c:1091
#, c-format
msgid "%.1f knots"
msgstr ""
#. VIK_UNITS_SPEED_METRES_PER_SECOND:
-#: ../src/viktrwlayer_propwin.c:908 ../src/viktrwlayer_propwin.c:1165
+#: ../src/viktrwlayer_propwin.c:838 ../src/viktrwlayer_propwin.c:1095
#, c-format
msgid "%.1f m/s"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:1745
+#: ../src/viktrwlayer_propwin.c:1662 ../src/viktrwlayer_analysis.c:267
#, c-format
msgid "%.1f miles"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:1747
+#. VIK_UNITS_DISTANCE_KILOMETRES
+#: ../src/viktrwlayer_propwin.c:1664 ../src/viktrwlayer_analysis.c:271
#, c-format
msgid "%.1f km"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2681
+#: ../src/viktrwlayer_propwin.c:2582
msgid "Failed spliting track. Track unchanged"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2779 ../src/viktrwlayer_propwin.c:3178
+#: ../src/viktrwlayer_propwin.c:2724 ../src/viktrwlayer_propwin.c:3140
#, c-format
msgid "%s - Track Properties"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2784
+#: ../src/viktrwlayer_propwin.c:2729
msgid "Split at _Marker"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2785
+#: ../src/viktrwlayer_propwin.c:2730
msgid "Split _Segments"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2786
+#: ../src/viktrwlayer_propwin.c:2731
msgid "_Reverse"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2787
+#: ../src/viktrwlayer_propwin.c:2732
msgid "_Delete Dupl."
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2813
+#: ../src/viktrwlayer_propwin.c:2757
msgid "<b>Comment:</b>"
msgstr "<b>Σχόλιο:</b>"
-#: ../src/viktrwlayer_propwin.c:2814
+#: ../src/viktrwlayer_propwin.c:2758
msgid "<b>Description:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2815
+#: ../src/viktrwlayer_propwin.c:2759
+msgid "<b>Color:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2760
+msgid "<b>Draw Name:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2761
+msgid "<b>Distance Labels:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2764
msgid "<b>Track Length:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2816
+#: ../src/viktrwlayer_propwin.c:2765
msgid "<b>Trackpoints:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2817
+#: ../src/viktrwlayer_propwin.c:2766
msgid "<b>Segments:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2818
+#: ../src/viktrwlayer_propwin.c:2767
msgid "<b>Duplicate Points:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2819
+#: ../src/viktrwlayer_propwin.c:2768
msgid "<b>Max Speed:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2820
+#: ../src/viktrwlayer_propwin.c:2769
msgid "<b>Avg. Speed:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2821
+#: ../src/viktrwlayer_propwin.c:2770
msgid "<b>Moving Avg. Speed:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2822
+#: ../src/viktrwlayer_propwin.c:2771
msgid "<b>Avg. Dist. Between TPs:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2823
+#: ../src/viktrwlayer_propwin.c:2772
msgid "<b>Elevation Range:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2824
+#: ../src/viktrwlayer_propwin.c:2773
msgid "<b>Total Elevation Gain/Loss:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2825
+#: ../src/viktrwlayer_propwin.c:2774
msgid "<b>Start:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2826
+#: ../src/viktrwlayer_propwin.c:2775
msgid "<b>End:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2827
+#: ../src/viktrwlayer_propwin.c:2776
msgid "<b>Duration:</b>"
msgstr "<b>Διάρκεια:</b>"
-#: ../src/viktrwlayer_propwin.c:2828
-msgid "<b>Color:</b>"
+#: ../src/viktrwlayer_propwin.c:2797
+msgid "No"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2798
+msgid "Centre"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2799
+msgid "Start only"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2800
+msgid "End only"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2801
+msgid "Start and End"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2802
+msgid "Centre, Start and End"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2814
+msgid "Maximum number of distance labels to be shown"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2877 ../src/viktrwlayer_propwin.c:2901
-#: ../src/viktrwlayer_propwin.c:2929 ../src/viktrwlayer_propwin.c:2966
-#: ../src/viktrwlayer_propwin.c:2984 ../src/viktrwlayer_propwin.c:3034
-#: ../src/viktrwlayer_propwin.c:3035 ../src/viktrwlayer_propwin.c:3036
-#: ../src/viktrwlayer_propwin.c:3062 ../src/viktrwlayer_propwin.c:3063
+#: ../src/viktrwlayer_propwin.c:2818
+msgid "Properties"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2856 ../src/viktrwlayer_propwin.c:2880
+#: ../src/viktrwlayer_propwin.c:2908 ../src/viktrwlayer_propwin.c:2945
+#: ../src/viktrwlayer_propwin.c:2963 ../src/viktrwlayer_propwin.c:3009
+#: ../src/viktrwlayer_propwin.c:3010 ../src/viktrwlayer_propwin.c:3011
+#: ../src/viktrwlayer_propwin.c:3020 ../src/viktrwlayer_propwin.c:3021
+#: ../src/viktrwlayer_propwin.c:3036 ../src/viktrwlayer_propwin.c:3037
+#: ../src/viktrwlayer_propwin.c:3050 ../src/viktrwlayer_propwin.c:3051
+#: ../src/viktrwlayer_propwin.c:3064 ../src/viktrwlayer_propwin.c:3065
#: ../src/viktrwlayer_propwin.c:3078 ../src/viktrwlayer_propwin.c:3079
#: ../src/viktrwlayer_propwin.c:3092 ../src/viktrwlayer_propwin.c:3093
-#: ../src/viktrwlayer_propwin.c:3106 ../src/viktrwlayer_propwin.c:3107
-#: ../src/viktrwlayer_propwin.c:3120 ../src/viktrwlayer_propwin.c:3121
-#: ../src/viktrwlayer_propwin.c:3134 ../src/viktrwlayer_propwin.c:3135
+#: ../src/viktrwlayer_analysis.c:257
#, c-format
msgid "No Data"
msgstr "Χωρίς δεδομένα"
-#: ../src/viktrwlayer_propwin.c:3031
+#: ../src/viktrwlayer_propwin.c:3006
#, c-format
msgid "%d minutes"
msgstr "%d λεπτά"
-#: ../src/viktrwlayer_propwin.c:3058
+#: ../src/viktrwlayer_propwin.c:3016 ../src/viktrwlayer_analysis.c:515
msgid "Statistics"
msgstr "Στατιστικά"
-#: ../src/viktrwlayer_propwin.c:3064
+#: ../src/viktrwlayer_propwin.c:3022
msgid "Show D_EM"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3065 ../src/viktrwlayer_propwin.c:3080
-#: ../src/viktrwlayer_propwin.c:3094 ../src/viktrwlayer_propwin.c:3136
+#: ../src/viktrwlayer_propwin.c:3023 ../src/viktrwlayer_propwin.c:3038
+#: ../src/viktrwlayer_propwin.c:3052 ../src/viktrwlayer_propwin.c:3094
msgid "Show _GPS Speed"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3067 ../src/viktrwlayer_propwin.c:3082
-#: ../src/viktrwlayer_propwin.c:3110 ../src/viktrwlayer_propwin.c:3138
+#: ../src/viktrwlayer_propwin.c:3025 ../src/viktrwlayer_propwin.c:3040
+#: ../src/viktrwlayer_propwin.c:3068 ../src/viktrwlayer_propwin.c:3096
msgid "<b>Track Distance:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3068 ../src/viktrwlayer_propwin.c:3125
+#: ../src/viktrwlayer_propwin.c:3026 ../src/viktrwlayer_propwin.c:3083
msgid "<b>Track Height:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3073
+#: ../src/viktrwlayer_propwin.c:3031
msgid "Elevation-distance"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3083
+#: ../src/viktrwlayer_propwin.c:3041
msgid "<b>Track Gradient:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3087
+#: ../src/viktrwlayer_propwin.c:3045
msgid "Gradient-distance"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3096 ../src/viktrwlayer_propwin.c:3111
-#: ../src/viktrwlayer_propwin.c:3124
+#: ../src/viktrwlayer_propwin.c:3054 ../src/viktrwlayer_propwin.c:3069
+#: ../src/viktrwlayer_propwin.c:3082
msgid "<b>Track Time:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3097 ../src/viktrwlayer_propwin.c:3139
+#: ../src/viktrwlayer_propwin.c:3055 ../src/viktrwlayer_propwin.c:3097
msgid "<b>Track Speed:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3101
+#: ../src/viktrwlayer_propwin.c:3059
msgid "Speed-time"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3108 ../src/viktrwlayer_propwin.c:3122
+#: ../src/viktrwlayer_propwin.c:3066 ../src/viktrwlayer_propwin.c:3080
msgid "Show S_peed"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3115
+#: ../src/viktrwlayer_propwin.c:3073
msgid "Distance-time"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3129
+#: ../src/viktrwlayer_propwin.c:3087
msgid "Elevation-time"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3143
+#: ../src/viktrwlayer_propwin.c:3101
msgid "Speed-distance"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:118
+#: ../src/viktrwlayer_tpwin.c:119
msgid "<b>Part of Track:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:119
+#: ../src/viktrwlayer_tpwin.c:120
msgid "<b>Latitude:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:120
+#: ../src/viktrwlayer_tpwin.c:121
msgid "<b>Longitude:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:121
+#: ../src/viktrwlayer_tpwin.c:122
msgid "<b>Altitude:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:122
+#: ../src/viktrwlayer_tpwin.c:123
+msgid "<b>Course:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_tpwin.c:124
msgid "<b>Timestamp:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:123
+#: ../src/viktrwlayer_tpwin.c:125
msgid "<b>Time:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:124
+#: ../src/viktrwlayer_tpwin.c:126
msgid "<b>Distance Difference:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:125
+#: ../src/viktrwlayer_tpwin.c:127
msgid "<b>Time Difference:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:126
+#: ../src/viktrwlayer_tpwin.c:128
msgid "<b>\"Speed\" Between:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:127
+#: ../src/viktrwlayer_tpwin.c:129
+msgid "<b>Speed:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_tpwin.c:130
msgid "<b>VDOP:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:128
+#: ../src/viktrwlayer_tpwin.c:131
msgid "<b>HDOP:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:129
+#: ../src/viktrwlayer_tpwin.c:132
msgid "<b>PDOP:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:130
+#: ../src/viktrwlayer_tpwin.c:133
msgid "<b>SAT/FIX:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:139
+#: ../src/viktrwlayer_tpwin.c:141
msgid "Trackpoint"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:142
+#: ../src/viktrwlayer_tpwin.c:144
msgid "_Insert After"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:144
+#: ../src/viktrwlayer_tpwin.c:146
msgid "Split Here"
msgstr "Διαίρεση εδώ"
-#: ../src/viktrwlayer_geotag.c:446
+#.
+#. item = gtk_image_menu_item_new_with_mnemonic ( _("_Select") );
+#. gtk_image_menu_item_set_image ( (GtkImageMenuItem*)item, gtk_image_new_from_stock (GTK_STOCK_FIND, GTK_ICON_SIZE_MENU) );
+#. g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(trw_layer_track_select), values );
+#. gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
+#. gtk_widget_show ( item );
+#.
+#. ATM view auto selects, so don't bother with separate select menu entry
+#: ../src/viktrwlayer_tracklist.c:231 ../src/vikwindow.c:3695
+msgid "_View"
+msgstr "Π_ροβολή"
+
+#. Insert column for the layer name when viewing multi layers
+#: ../src/viktrwlayer_tracklist.c:514
+msgid "Layer"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:526
+msgid "Date"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:529
+msgid "Visible"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:536
+msgid ""
+"Distance\n"
+"(miles)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:539
+msgid ""
+"Distance\n"
+"(km)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:545
+msgid ""
+"Length\n"
+"(minutes)"
+msgstr ""
+
+#. VIK_UNITS_SPEED_KILOMETRES_PER_HOUR:
+#: ../src/viktrwlayer_tracklist.c:549 ../src/vikutils.c:72
+msgid "km/h"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:550 ../src/vikutils.c:62
+msgid "mph"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:551 ../src/vikutils.c:68
+msgid "knots"
+msgstr ""
+
+#. VIK_UNITS_SPEED_METRES_PER_SECOND:
+#: ../src/viktrwlayer_tracklist.c:553 ../src/vikutils.c:65
+msgid "m/s"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:556
+#, c-format
+msgid ""
+"Av. Speed\n"
+"(%s)"
+msgstr ""
+
+#. Apply own formatting of the data
+#: ../src/viktrwlayer_tracklist.c:561
+#, c-format
+msgid ""
+"Max Speed\n"
+"(%s)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:569
+msgid ""
+"Max Height\n"
+"(Feet)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:571
+msgid ""
+"Max Height\n"
+"(Metres)"
+msgstr ""
+
+#: ../src/viktrwlayer_geotag.c:481
#, c-format
msgid "Geotagging %d Images..."
msgstr ""
-#: ../src/viktrwlayer_geotag.c:510
+#: ../src/viktrwlayer_geotag.c:545
msgid "Geotag Images"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:516
+#: ../src/viktrwlayer_geotag.c:551
msgid "Images"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:520
+#: ../src/viktrwlayer_geotag.c:555
msgid "Overwrite Existing Waypoints:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:523
+#: ../src/viktrwlayer_geotag.c:558
msgid "Overwrite Existing GPS Information:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:525
+#: ../src/viktrwlayer_geotag.c:560
msgid "Keep File Modification Timestamp:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:555
+#: ../src/viktrwlayer_geotag.c:592
msgid "Create Waypoints:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:563
+#: ../src/viktrwlayer_geotag.c:600
msgid "Write EXIF:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:575
+#: ../src/viktrwlayer_geotag.c:612
msgid "Interpolate Between Track Segments:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:579
+#: ../src/viktrwlayer_geotag.c:616
msgid "Image Time Offset (Seconds):"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:581
+#: ../src/viktrwlayer_geotag.c:618
msgid ""
"The number of seconds to ADD to the photos time to make it match the GPS "
"data. Calculate this with (GPS - Photo). Can be negative or positive. Useful "
"to adjust times when a camera's timestamp was incorrect."
msgstr ""
-#: ../src/viktrwlayer_geotag.c:584
+#: ../src/viktrwlayer_geotag.c:621
msgid "Image Timezone:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:586
+#: ../src/viktrwlayer_geotag.c:623
msgid ""
"The timezone that was used when the images were created. For example, if a "
"camera is set to AWST or +8:00 hours. Enter +8:00 here so that the correct "
"adjustment to the images' time can be made. GPS data is always in UTC."
msgstr ""
-#: ../src/viktrwlayer_geotag.c:590
+#: ../src/viktrwlayer_geotag.c:627
#, c-format
msgid "Using track: %s"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:592
+#: ../src/viktrwlayer_geotag.c:629
#, c-format
msgid "Using all tracks in: %s"
msgstr ""
-#: ../src/vikstatus.c:105
+#: ../src/viktrwlayer_analysis.c:193
+msgid "Number of Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:194
+msgid "Date Range"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:195
+msgid "Total Length"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:196
+msgid "Average Length"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:197
+msgid "Max Speed"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:198
+msgid "Avg. Speed"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:199
+msgid "Minimum Altitude"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:200
+msgid "Maximum Altitude"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:201
+msgid "Total Elevation Gain/Loss"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:202
+msgid "Avg. Elevation Gain/Loss"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:203
+msgid "Total Duration"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:204
+msgid "Avg. Duration"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:278
+#, c-format
+msgid "%.2f miles"
+msgstr ""
+
+#. VIK_UNITS_DISTANCE_KILOMETRES
+#: ../src/viktrwlayer_analysis.c:282
+#, c-format
+msgid "%.2f km"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:297
+#, c-format
+msgid "%.2f m/s"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:306
+#, c-format
+msgid "%.2f knots\n"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:309
+#, c-format
+msgid "%.2f knots"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:316 ../src/viktrwlayer_analysis.c:319
+#, c-format
+msgid "%.2f km/h"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:330 ../src/viktrwlayer_analysis.c:336
+#, c-format
+msgid "%d feet"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:341 ../src/viktrwlayer_analysis.c:343
+#, c-format
+msgid "%d feet / %d feet"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:348 ../src/viktrwlayer_analysis.c:354
+#, c-format
+msgid "%d m"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:359 ../src/viktrwlayer_analysis.c:361
+#, c-format
+msgid "%d m / %d m"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:373
+#, c-format
+msgid "%d:%02d:%02d days:hrs:mins"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:380
+#, c-format
+msgid "%d:%02d hrs:mins"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:550
+msgid "Include Invisible Items"
+msgstr ""
+
+#: ../src/vikstatus.c:107
+msgid "Current number of background tasks. Click to see the background jobs."
+msgstr ""
+
+#: ../src/vikstatus.c:113
msgid "Current zoom level. Click to select a new one."
msgstr ""
-#: ../src/vikwaypoint.c:34
+#: ../src/vikutils.c:80
+msgid "GPSD"
+msgstr ""
+
+#. GPS Preamble
+#: ../src/vikutils.c:81
+msgid "Trkpt"
+msgstr ""
+
+#: ../src/vikutils.c:121
+#, c-format
+msgid "%sSpeed%s %.1f%s"
+msgstr ""
+
+#: ../src/vikutils.c:130
+#, c-format
+msgid "%sAlt %dfeet"
+msgstr ""
+
+#. VIK_UNITS_HEIGHT_METRES:
+#: ../src/vikutils.c:134
+#, c-format
+msgid "%sAlt %dm"
+msgstr ""
+
+#: ../src/vikutils.c:142
+#, c-format
+msgid "%sCourse %03d°"
+msgstr ""
+
+#: ../src/vikutils.c:155
+msgid "yards"
+msgstr ""
+
+#. VIK_UNITS_DISTANCE_KILOMETRES:
+#: ../src/vikutils.c:159
+msgid "m"
+msgstr ""
+
+#: ../src/vikutils.c:163
+#, c-format
+msgid "%sDistance diff %d%s"
+msgstr ""
+
+#: ../src/vikutils.c:179
+#, c-format
+msgid "%sTime %s"
+msgstr ""
+
+#: ../src/vikutils.c:187
+#, c-format
+msgid "%sTime diff %lds"
+msgstr ""
+
+#: ../src/vikutils.c:193
+#, c-format
+msgid "%sNo. of Sats %d"
+msgstr ""
+
+#: ../src/vikutils.c:213
+#, c-format
+msgid "%sDistance along %.2f%s"
+msgstr ""
+
+#. Name of track
+#: ../src/vikutils.c:232
+#, c-format
+msgid "%sTrack: %s"
+msgstr ""
+
+#: ../src/vikwaypoint.c:36
msgid "Waypoint"
msgstr ""
#. TODO get rid of this as this is unnecessary duplication...
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Pan"
msgstr ""
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Zoom"
msgstr "Εστίαση"
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Ruler"
msgstr "Χάρακας"
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Select"
msgstr ""
+#: ../src/vikwindow.c:381
+msgid "Location lookup aborted"
+msgstr ""
+
+#: ../src/vikwindow.c:401
+#, c-format
+msgid "Location found: %s"
+msgstr ""
+
+#: ../src/vikwindow.c:410
+msgid "Unable to determine location"
+msgstr ""
+
+#: ../src/vikwindow.c:434
+msgid "Default Map"
+msgstr ""
+
+#: ../src/vikwindow.c:444
+msgid "Trying to determine location..."
+msgstr ""
+
+#: ../src/vikwindow.c:447
+msgid "Determining location"
+msgstr ""
+
#. Create tooltip
-#: ../src/vikwindow.c:440
+#: ../src/vikwindow.c:605
msgid "Select zoom level"
msgstr ""
-#: ../src/vikwindow.c:645
+#: ../src/vikwindow.c:923
#, c-format
msgid ""
"Do you want to save the changes you made to the document \"%s\"?\n"
@@ -3149,624 +3991,708 @@ msgid ""
"Your changes will be lost if you don't save them."
msgstr ""
-#: ../src/vikwindow.c:649
+#: ../src/vikwindow.c:927
msgid "Don't Save"
msgstr "Να μη γίνει αποθήκευση"
-#: ../src/vikwindow.c:696
+#: ../src/vikwindow.c:1005
msgid "mpp"
msgstr ""
-#: ../src/vikwindow.c:696
+#: ../src/vikwindow.c:1005
msgid "pixelfact"
msgstr ""
-#: ../src/vikwindow.c:861
+#: ../src/vikwindow.c:1169
#, c-format
msgid "%s %s %dm"
msgstr ""
-#: ../src/vikwindow.c:863
+#: ../src/vikwindow.c:1171
#, c-format
msgid "%s %s %dft"
msgstr ""
-#: ../src/vikwindow.c:866
+#: ../src/vikwindow.c:1174
#, c-format
msgid "%s %s"
msgstr ""
#. NB Ctrl+Shift+R is used for Refresh (deemed more important), so use 'U' instead
-#: ../src/vikwindow.c:1254
+#: ../src/vikwindow.c:1562
msgid "_Ruler"
msgstr ""
-#: ../src/vikwindow.c:1254
+#: ../src/vikwindow.c:1562
msgid "Ruler Tool"
msgstr ""
-#: ../src/vikwindow.c:1502 ../src/vikwindow.c:3138
+#: ../src/vikwindow.c:1810 ../src/vikwindow.c:3697
msgid "_Zoom"
msgstr "_Εστίαση"
-#: ../src/vikwindow.c:1502
+#: ../src/vikwindow.c:1810
msgid "Zoom Tool"
msgstr "Εργαλείο Εστίασης"
-#: ../src/vikwindow.c:1547 ../src/vikwindow.c:3139
+#: ../src/vikwindow.c:1855 ../src/vikwindow.c:3698
msgid "_Pan"
msgstr ""
-#: ../src/vikwindow.c:1547
+#: ../src/vikwindow.c:1855
msgid "Pan Tool"
msgstr ""
-#: ../src/vikwindow.c:1664
+#: ../src/vikwindow.c:1972
msgid "_Select"
msgstr ""
-#: ../src/vikwindow.c:1664
+#: ../src/vikwindow.c:1972
msgid "Select Tool"
msgstr ""
-#: ../src/vikwindow.c:1809
+#: ../src/vikwindow.c:2123
msgid "You must select a layer to show its properties."
msgstr ""
#. No error to show, so unlikely this will get called
-#: ../src/vikwindow.c:1824
+#: ../src/vikwindow.c:2137
msgid "The help system is not available."
msgstr ""
#. Main error path
-#: ../src/vikwindow.c:1827
+#: ../src/vikwindow.c:2140
#, c-format
msgid ""
"Help is not available because: %s.\n"
"Ensure a Mime Type ghelp handler program is installed (e.g. yelp)."
msgstr ""
-#: ../src/vikwindow.c:1850
+#: ../src/vikwindow.c:2160
msgid "You must select a layer to delete."
msgstr ""
-#: ../src/vikwindow.c:2087
+#: ../src/vikwindow.c:2396
msgid "Untitled"
msgstr "Ανώνυμο"
-#: ../src/vikwindow.c:2194
+#: ../src/vikwindow.c:2503
#, c-format
msgid "Unable to add '%s' to the list of recently used documents"
msgstr ""
-#: ../src/vikwindow.c:2208
+#: ../src/vikwindow.c:2540
msgid "The file you requested could not be opened."
msgstr ""
-#: ../src/vikwindow.c:2211
+#: ../src/vikwindow.c:2543
msgid ""
"GPSBabel is required to load files of this type or GPSBabel encountered "
"problems."
msgstr ""
-#: ../src/vikwindow.c:2214
+#: ../src/vikwindow.c:2546
#, c-format
msgid "Unable to load malformed GPX file %s"
msgstr ""
-#: ../src/vikwindow.c:2217
+#: ../src/vikwindow.c:2549
#, c-format
msgid "Unsupported file type for %s"
msgstr ""
#. Since we can process .vik files with issues just show a warning in the status bar
#. Not that a user can do much about it... or tells them what this issue is yet...
-#: ../src/vikwindow.c:2223
+#: ../src/vikwindow.c:2555
#, c-format
msgid "WARNING: issues encountered loading %s"
msgstr ""
-#: ../src/vikwindow.c:2278
+#: ../src/vikwindow.c:2613
msgid "Please select a GPS data file to open. "
msgstr ""
-#: ../src/vikwindow.c:2288
+#: ../src/vikwindow.c:2629
msgid "Geocaching"
msgstr ""
-#: ../src/vikwindow.c:2294
+#: ../src/vikwindow.c:2635
msgid "Google Earth"
msgstr ""
-#: ../src/vikwindow.c:2299
+#: ../src/vikwindow.c:2640
msgid "GPX"
msgstr ""
-#: ../src/vikwindow.c:2304 ../src/vikwindow.c:2387
+#: ../src/vikwindow.c:2645 ../src/vikwindow.c:2734
#: ../src/viking.desktop.in.h:1
msgid "Viking"
msgstr ""
-#: ../src/vikwindow.c:2374
+#: ../src/vikwindow.c:2715
msgid "Save as Viking File."
msgstr ""
+#: ../src/vikwindow.c:2841
+msgid "Exporting to file: "
+msgstr ""
+
+#. Confirm what happened.
+#: ../src/vikwindow.c:2858
+#, c-format
+msgid "Exported files: %d"
+msgstr ""
+
+#: ../src/vikwindow.c:2870
+msgid "Nothing to Export!"
+msgstr ""
+
+#: ../src/vikwindow.c:2874
+msgid "Export to directory"
+msgstr ""
+
+#: ../src/vikwindow.c:2896
+msgid "Could not convert all files"
+msgstr ""
+
+#: ../src/vikwindow.c:2932
+#, c-format
+msgid "%d bytes"
+msgstr ""
+
+#: ../src/vikwindow.c:2934
+#, c-format
+msgid "%3.1f kB"
+msgstr ""
+
+#: ../src/vikwindow.c:2936
+#, c-format
+msgid "%3.1f MB"
+msgstr ""
+
+#: ../src/vikwindow.c:2937
+#, c-format
+msgid ""
+"%s\n"
+"\n"
+"%s\n"
+"\n"
+"%s"
+msgstr ""
+
+#: ../src/vikwindow.c:2942
+msgid "File not accessible"
+msgstr ""
+
+#: ../src/vikwindow.c:2945
+msgid "No Viking File"
+msgstr ""
+
+#: ../src/vikwindow.c:3035
+msgid "This layer has no configurable properties."
+msgstr ""
+
#. Try harder...
-#: ../src/vikwindow.c:2619 ../src/vikwindow.c:2625
+#: ../src/vikwindow.c:3169 ../src/vikwindow.c:3175
msgid "Generating image file..."
msgstr ""
-#: ../src/vikwindow.c:2647
+#: ../src/vikwindow.c:3197
msgid ""
"Failed to generate internal image.\n"
"\n"
"Try creating a smaller image."
msgstr ""
-#: ../src/vikwindow.c:2655
+#: ../src/vikwindow.c:3205
msgid "Failed to generate image file."
msgstr ""
#. Success
-#: ../src/vikwindow.c:2660
+#: ../src/vikwindow.c:3210
msgid "Image file generated."
msgstr ""
-#: ../src/vikwindow.c:2764
+#: ../src/vikwindow.c:3314
msgid ""
"Viewable region outside allowable pixel size bounds for image. Clipping "
"width/height values."
msgstr ""
-#: ../src/vikwindow.c:2789
+#: ../src/vikwindow.c:3339
#, c-format
msgid "Total area: %ldm x %ldm (%.3f sq. km)"
msgstr ""
-#: ../src/vikwindow.c:2792
+#: ../src/vikwindow.c:3342
#, c-format
msgid "Total area: %ldm x %ldm (%.3f sq. miles)"
msgstr ""
-#: ../src/vikwindow.c:2813
+#: ../src/vikwindow.c:3363
msgid "Save Image"
msgstr "Αποθήκευση Εικόνας"
-#: ../src/vikwindow.c:2834
+#: ../src/vikwindow.c:3393
msgid "PNG"
msgstr ""
-#: ../src/vikwindow.c:2857
+#: ../src/vikwindow.c:3416
msgid "You must be in UTM mode to use this feature"
msgstr ""
-#: ../src/vikwindow.c:2862
+#: ../src/vikwindow.c:3421
msgid "Choose a directory to hold images"
msgstr ""
#. todo: default for answers inside VikWindow or static (thruout instance)
-#: ../src/vikwindow.c:2883
+#: ../src/vikwindow.c:3442
msgid "Save to Image File"
msgstr ""
-#: ../src/vikwindow.c:2900
+#: ../src/vikwindow.c:3459
msgid "Width (pixels):"
msgstr "Πλάτος (εικονοστοιχεία):"
-#: ../src/vikwindow.c:2902
+#: ../src/vikwindow.c:3461
msgid "Height (pixels):"
msgstr "Ύψος (εικονοστοιχεία):"
-#: ../src/vikwindow.c:2905
+#: ../src/vikwindow.c:3464
msgid ""
"WARNING: USING LARGE IMAGES OVER 10000x10000\n"
"MAY CRASH THE PROGRAM!"
msgstr ""
-#: ../src/vikwindow.c:2907
+#: ../src/vikwindow.c:3466
msgid "Zoom (meters per pixel):"
msgstr ""
-#: ../src/vikwindow.c:2921
+#: ../src/vikwindow.c:3482
msgid "Area in current viewable window"
msgstr ""
-#: ../src/vikwindow.c:2931
+#: ../src/vikwindow.c:3492
msgid "Save as PNG"
msgstr "Αποθήκευση ως PNG"
-#: ../src/vikwindow.c:2932
+#: ../src/vikwindow.c:3493
msgid "Save as JPEG"
msgstr "Αποθήκευση ως JPEG"
-#: ../src/vikwindow.c:2954
+#: ../src/vikwindow.c:3515
msgid "East-west image tiles:"
msgstr ""
-#: ../src/vikwindow.c:2956
+#: ../src/vikwindow.c:3517
msgid "North-south image tiles:"
msgstr ""
-#: ../src/vikwindow.c:3097
+#: ../src/vikwindow.c:3656
msgid "Choose a background color"
msgstr ""
-#: ../src/vikwindow.c:3113
+#: ../src/vikwindow.c:3672
msgid "Choose a track highlight color"
msgstr ""
-#: ../src/vikwindow.c:3134
+#: ../src/vikwindow.c:3693
msgid "_File"
msgstr "_Αρχείο"
-#: ../src/vikwindow.c:3135
+#: ../src/vikwindow.c:3694
msgid "_Edit"
msgstr "Επε_ξεργασία"
-#: ../src/vikwindow.c:3136
-msgid "_View"
-msgstr "Π_ροβολή"
-
-#: ../src/vikwindow.c:3137
+#: ../src/vikwindow.c:3696
msgid "_Show"
msgstr ""
-#: ../src/vikwindow.c:3140
+#: ../src/vikwindow.c:3699
msgid "_Layers"
msgstr "Ε_πίπεδα"
-#: ../src/vikwindow.c:3141
+#: ../src/vikwindow.c:3700
msgid "_Tools"
msgstr "Εργα_λεία"
-#: ../src/vikwindow.c:3142
+#: ../src/vikwindow.c:3701
msgid "_Webtools"
msgstr ""
-#: ../src/vikwindow.c:3143 ../src/vikwindow.c:3206
+#: ../src/vikwindow.c:3702 ../src/vikwindow.c:3763
msgid "_Help"
msgstr "Βο_ηθεια"
-#: ../src/vikwindow.c:3145
+#: ../src/vikwindow.c:3704
msgid "New file"
msgstr "Νέο αρχείο"
-#: ../src/vikwindow.c:3146
+#: ../src/vikwindow.c:3705
msgid "_Open..."
msgstr "Άν_οιγμα..."
-#: ../src/vikwindow.c:3146
+#: ../src/vikwindow.c:3705
msgid "Open a file"
msgstr "Άνοιγμα αρχείου"
-#: ../src/vikwindow.c:3147
+#: ../src/vikwindow.c:3706
msgid "Open _Recent File"
msgstr ""
-#: ../src/vikwindow.c:3148
+#: ../src/vikwindow.c:3707
msgid "Append _File..."
msgstr ""
-#: ../src/vikwindow.c:3148
+#: ../src/vikwindow.c:3707
msgid "Append data from a different file"
msgstr ""
-#: ../src/vikwindow.c:3149
+#: ../src/vikwindow.c:3708
+msgid "_Export All"
+msgstr ""
+
+#: ../src/vikwindow.c:3708
+msgid "Export All TrackWaypoint Layers"
+msgstr ""
+
+#: ../src/vikwindow.c:3709
+msgid "_GPX..."
+msgstr ""
+
+#: ../src/vikwindow.c:3709
+msgid "Export as GPX"
+msgstr ""
+
+#: ../src/vikwindow.c:3710
msgid "A_cquire"
msgstr ""
-#: ../src/vikwindow.c:3150
+#: ../src/vikwindow.c:3711
msgid "Transfer data from a GPS device"
msgstr ""
-#: ../src/vikwindow.c:3151
+#: ../src/vikwindow.c:3712
msgid "Import File With GPS_Babel..."
msgstr ""
-#: ../src/vikwindow.c:3151
+#: ../src/vikwindow.c:3712
msgid "Import file via GPSBabel converter"
msgstr ""
-#: ../src/vikwindow.c:3153
-msgid "Google _Directions..."
+#: ../src/vikwindow.c:3713
+msgid "_Directions..."
msgstr ""
-#: ../src/vikwindow.c:3153
-msgid "Get driving directions from Google"
+#: ../src/vikwindow.c:3713
+msgid "Get driving directions"
msgstr ""
-#: ../src/vikwindow.c:3156
+#: ../src/vikwindow.c:3715
msgid "_OSM Traces..."
msgstr ""
-#: ../src/vikwindow.c:3156
+#: ../src/vikwindow.c:3715
msgid "Get traces from OpenStreetMap"
msgstr ""
-#: ../src/vikwindow.c:3157
+#: ../src/vikwindow.c:3716
msgid "_My OSM Traces..."
msgstr ""
-#: ../src/vikwindow.c:3157
+#: ../src/vikwindow.c:3716
msgid "Get Your Own Traces from OpenStreetMap"
msgstr ""
-#: ../src/vikwindow.c:3160
+#: ../src/vikwindow.c:3719
msgid "Geo_caches..."
msgstr ""
-#: ../src/vikwindow.c:3160
+#: ../src/vikwindow.c:3719
msgid "Get Geocaches from geocaching.com"
msgstr ""
-#: ../src/vikwindow.c:3163
+#: ../src/vikwindow.c:3722
msgid "Create waypoints from geotagged images"
msgstr ""
-#: ../src/vikwindow.c:3166
+#: ../src/vikwindow.c:3725
msgid "Create waypoints from Wikipedia items in the current view"
msgstr ""
-#: ../src/vikwindow.c:3168
+#: ../src/vikwindow.c:3727
msgid "_Save"
msgstr "Αποθή_κευση"
-#: ../src/vikwindow.c:3168
+#: ../src/vikwindow.c:3727
msgid "Save the file"
msgstr ""
-#: ../src/vikwindow.c:3169
+#: ../src/vikwindow.c:3728
msgid "Save _As..."
msgstr "Αποθήκευση _Ως..."
-#: ../src/vikwindow.c:3169
+#: ../src/vikwindow.c:3728
msgid "Save the file under different name"
msgstr ""
-#: ../src/vikwindow.c:3170
+#: ../src/vikwindow.c:3729
+msgid "Properties..."
+msgstr ""
+
+#: ../src/vikwindow.c:3729
+msgid "File Properties"
+msgstr ""
+
+#: ../src/vikwindow.c:3730
msgid "_Generate Image File..."
msgstr ""
-#: ../src/vikwindow.c:3170
+#: ../src/vikwindow.c:3730
msgid "Save a snapshot of the workspace into a file"
msgstr ""
-#: ../src/vikwindow.c:3171
+#: ../src/vikwindow.c:3731
msgid "Generate _Directory of Images..."
msgstr ""
-#: ../src/vikwindow.c:3171
+#: ../src/vikwindow.c:3731
msgid "FIXME:IMGDIR"
msgstr ""
-#: ../src/vikwindow.c:3174
+#: ../src/vikwindow.c:3732
msgid "_Print..."
msgstr "_Εκτύπωση..."
-#: ../src/vikwindow.c:3174
+#: ../src/vikwindow.c:3732
msgid "Print maps"
msgstr ""
-#: ../src/vikwindow.c:3177
+#: ../src/vikwindow.c:3733
msgid "E_xit"
msgstr "Έ_ξοδος"
-#: ../src/vikwindow.c:3177
+#: ../src/vikwindow.c:3733
msgid "Exit the program"
msgstr "Έξοδος από το πρόγραμμα"
-#: ../src/vikwindow.c:3178
+#: ../src/vikwindow.c:3734
msgid "Save and Exit"
msgstr "Αποθήκευση και Έξοδος"
-#: ../src/vikwindow.c:3178
+#: ../src/vikwindow.c:3734
msgid "Save and Exit the program"
msgstr ""
-#: ../src/vikwindow.c:3180
+#: ../src/vikwindow.c:3736
msgid "Go to the _Default Location"
msgstr ""
-#: ../src/vikwindow.c:3180
+#: ../src/vikwindow.c:3736
msgid "Go to the default location"
msgstr ""
-#: ../src/vikwindow.c:3181
+#: ../src/vikwindow.c:3737
msgid "Go to _Location..."
msgstr ""
-#: ../src/vikwindow.c:3181
+#: ../src/vikwindow.c:3737
msgid "Go to address/place using text search"
msgstr ""
-#: ../src/vikwindow.c:3182
+#: ../src/vikwindow.c:3738
msgid "_Go to Lat/Lon..."
msgstr ""
-#: ../src/vikwindow.c:3182
+#: ../src/vikwindow.c:3738
msgid "Go to arbitrary lat/lon coordinate"
msgstr ""
-#: ../src/vikwindow.c:3183
+#: ../src/vikwindow.c:3739
msgid "Go to UTM..."
msgstr ""
-#: ../src/vikwindow.c:3183
+#: ../src/vikwindow.c:3739
msgid "Go to arbitrary UTM coordinate"
msgstr ""
-#: ../src/vikwindow.c:3184
+#: ../src/vikwindow.c:3740
msgid "_Refresh"
msgstr ""
-#: ../src/vikwindow.c:3184
+#: ../src/vikwindow.c:3740
msgid "Refresh any maps displayed"
msgstr ""
-#: ../src/vikwindow.c:3185
+#: ../src/vikwindow.c:3741
msgid "Set _Highlight Color..."
msgstr ""
-#: ../src/vikwindow.c:3186
+#: ../src/vikwindow.c:3742
msgid "Set Bac_kground Color..."
msgstr ""
-#: ../src/vikwindow.c:3187
+#: ../src/vikwindow.c:3743
msgid "Zoom _In"
msgstr "Μεγέ_θυνση"
-#: ../src/vikwindow.c:3188
+#: ../src/vikwindow.c:3744
msgid "Zoom _Out"
msgstr "Σ_μίκρυνση"
-#: ../src/vikwindow.c:3189
+#: ../src/vikwindow.c:3745
msgid "Zoom _To..."
msgstr ""
-#: ../src/vikwindow.c:3190
+#: ../src/vikwindow.c:3746
msgid "Pan _North"
msgstr ""
-#: ../src/vikwindow.c:3191
+#: ../src/vikwindow.c:3747
msgid "Pan _East"
msgstr ""
-#: ../src/vikwindow.c:3192
+#: ../src/vikwindow.c:3748
msgid "Pan _South"
msgstr ""
-#: ../src/vikwindow.c:3193
+#: ../src/vikwindow.c:3749
msgid "Pan _West"
msgstr ""
-#: ../src/vikwindow.c:3194
+#: ../src/vikwindow.c:3750
msgid "Background _Jobs"
msgstr ""
-#: ../src/vikwindow.c:3196
+#: ../src/vikwindow.c:3752
msgid "Cu_t"
msgstr "Απ_οκοπή"
-#: ../src/vikwindow.c:3197
-msgid "_Copy"
-msgstr "Αντι_γραφή"
-
-#: ../src/vikwindow.c:3198
-msgid "_Paste"
-msgstr "Ε_πικόλληση"
-
-#: ../src/vikwindow.c:3199
-msgid "_Delete"
-msgstr "_Διαγραφή"
-
-#: ../src/vikwindow.c:3200
+#: ../src/vikwindow.c:3756
msgid "Delete All"
msgstr "Διαγραφή όλων"
-#: ../src/vikwindow.c:3201
+#: ../src/vikwindow.c:3757
msgid "_Flush Map Cache"
msgstr ""
-#: ../src/vikwindow.c:3202
+#: ../src/vikwindow.c:3758
msgid "_Set the Default Location"
msgstr ""
-#: ../src/vikwindow.c:3202
+#: ../src/vikwindow.c:3758
msgid "Set the Default Location to the current position"
msgstr ""
-#: ../src/vikwindow.c:3203
+#: ../src/vikwindow.c:3759
msgid "_Preferences"
msgstr ""
-#: ../src/vikwindow.c:3204
+#: ../src/vikwindow.c:3760
+msgid "_Layer Defaults"
+msgstr ""
+
+#: ../src/vikwindow.c:3761
msgid "_Properties"
msgstr "_Ιδιότητες"
-#: ../src/vikwindow.c:3207
+#: ../src/vikwindow.c:3764
msgid "_About"
msgstr "_Περί"
-#: ../src/vikwindow.c:3213
+#: ../src/vikwindow.c:3768
+msgid "_KML..."
+msgstr ""
+
+#: ../src/vikwindow.c:3768
+msgid "Export as KML"
+msgstr ""
+
+#: ../src/vikwindow.c:3774
msgid "_UTM Mode"
msgstr ""
-#: ../src/vikwindow.c:3214
+#: ../src/vikwindow.c:3775
msgid "_Expedia Mode"
msgstr ""
-#: ../src/vikwindow.c:3215
+#: ../src/vikwindow.c:3776
msgid "_Mercator Mode"
msgstr ""
-#: ../src/vikwindow.c:3216
+#: ../src/vikwindow.c:3777
msgid "Lat_/Lon Mode"
msgstr ""
-#: ../src/vikwindow.c:3220
+#: ../src/vikwindow.c:3781
msgid "Show _Scale"
msgstr ""
-#: ../src/vikwindow.c:3220
+#: ../src/vikwindow.c:3781
msgid "Show Scale"
msgstr ""
-#: ../src/vikwindow.c:3221
+#: ../src/vikwindow.c:3782
msgid "Show _Center Mark"
msgstr ""
-#: ../src/vikwindow.c:3221
+#: ../src/vikwindow.c:3782
msgid "Show Center Mark"
msgstr ""
-#: ../src/vikwindow.c:3222
+#: ../src/vikwindow.c:3783
msgid "Show _Highlight"
msgstr ""
-#: ../src/vikwindow.c:3222
+#: ../src/vikwindow.c:3783
msgid "Show Highlight"
msgstr ""
-#: ../src/vikwindow.c:3223
+#: ../src/vikwindow.c:3784
msgid "_Full Screen"
msgstr ""
-#: ../src/vikwindow.c:3223
+#: ../src/vikwindow.c:3784
msgid "Activate full screen mode"
msgstr ""
-#: ../src/vikwindow.c:3224
+#: ../src/vikwindow.c:3785
msgid "Show Side _Panel"
msgstr ""
-#: ../src/vikwindow.c:3224
+#: ../src/vikwindow.c:3785
msgid "Show Side Panel"
msgstr ""
-#: ../src/vikwindow.c:3225
+#: ../src/vikwindow.c:3786
msgid "Show Status_bar"
msgstr ""
-#: ../src/vikwindow.c:3225
+#: ../src/vikwindow.c:3786
msgid "Show Statusbar"
msgstr ""
-#: ../src/vikwindow.c:3226
+#: ../src/vikwindow.c:3787
msgid "Show _Toolbar"
msgstr ""
-#: ../src/vikwindow.c:3226
+#: ../src/vikwindow.c:3787
msgid "Show Toolbar"
msgstr ""
-#: ../src/vikwindow.c:3227
+#: ../src/vikwindow.c:3788
msgid "Show _Menu"
msgstr ""
-#: ../src/vikwindow.c:3227
+#: ../src/vikwindow.c:3788
msgid "Show Menu"
msgstr ""
+#: ../src/vikwindow.c:3862
+#, c-format
+msgid "New _%s Layer"
+msgstr ""
+
#: ../src/viking.desktop.in.h:2
msgid "GPS Data Manager"
msgstr ""
diff --git a/po/en_GB.po b/po/en_GB.po
index 1f0e994..8e8e18c 100644
--- a/po/en_GB.po
+++ b/po/en_GB.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: viking\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2013-02-04 23:29+0100\n"
+"POT-Creation-Date: 2013-09-03 21:58+0200\n"
"PO-Revision-Date: 2013-02-05 00:41+0000\n"
"Last-Translator: Rob Norris <Unknown>\n"
"Language-Team: English (United Kingdom) <en_GB@li.org>\n"
@@ -15,60 +15,60 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Launchpad-Export-Date: 2013-03-23 17:12+0000\n"
-"X-Generator: Launchpad (build 16540)\n"
+"X-Launchpad-Export-Date: 2013-10-12 09:04+0000\n"
+"X-Generator: Launchpad (build 16799)\n"
"Language: \n"
-#: ../src/acquire.c:103 ../src/vikgpslayer.c:1185
+#: ../src/acquire.c:103 ../src/vikgpslayer.c:1235
msgid "Done."
msgstr "Done."
-#: ../src/acquire.c:114
+#: ../src/acquire.c:112
msgid "No data."
msgstr ""
-#: ../src/acquire.c:154 ../src/acquire.c:404
+#: ../src/acquire.c:154 ../src/acquire.c:424
msgid "Error: acquisition failed."
msgstr "Error: acquisition failed."
-#: ../src/acquire.c:341
+#: ../src/acquire.c:352
msgid "Working..."
msgstr "Working…"
#. This shouldn't happen...
-#: ../src/acquire.c:394
+#: ../src/acquire.c:415
msgid ""
"Unable to create command\n"
"Acquire method failed."
msgstr ""
-#: ../src/acquire.c:486
+#: ../src/acquire.c:517
msgid "_Filter"
msgstr ""
-#: ../src/acquire.c:501
+#: ../src/acquire.c:532
#, c-format
msgid "Filter with %s"
msgstr ""
-#: ../src/acquire.c:518
+#: ../src/acquire.c:549
msgid "Filter"
msgstr ""
-#: ../src/background.c:52
+#: ../src/background.c:53
#, c-format
msgid "%d items"
msgstr "%d items"
-#: ../src/background.c:248
+#: ../src/background.c:254
msgid "Job"
msgstr "Job"
-#: ../src/background.c:252
+#: ../src/background.c:258
msgid "Progress"
msgstr "Progress"
-#: ../src/background.c:268
+#: ../src/background.c:274
msgid "Viking Background Jobs"
msgstr "Viking Background Jobs"
@@ -77,7 +77,7 @@ msgid "Bing"
msgstr ""
#. VIK_GTK_WINDOW_FROM_WIDGET(vp)
-#: ../src/bingmapsource.c:445
+#: ../src/bingmapsource.c:499
msgid "Bing attribution Loading"
msgstr ""
@@ -102,35 +102,35 @@ msgid ""
"into."
msgstr ""
-#: ../src/dialog.c:52
+#: ../src/dialog.c:53
msgid "Go to Lat/Lon"
msgstr ""
-#: ../src/dialog.c:64 ../src/dialog.c:251
+#: ../src/dialog.c:65 ../src/dialog.c:244
msgid "Latitude:"
msgstr ""
-#: ../src/dialog.c:70 ../src/dialog.c:256
+#: ../src/dialog.c:71 ../src/dialog.c:249
msgid "Longitude:"
msgstr ""
-#: ../src/dialog.c:102
+#: ../src/dialog.c:103
msgid "Go to UTM"
msgstr ""
-#: ../src/dialog.c:115
+#: ../src/dialog.c:116
msgid "Northing:"
msgstr ""
-#: ../src/dialog.c:121
+#: ../src/dialog.c:122
msgid "Easting:"
msgstr ""
-#: ../src/dialog.c:128
+#: ../src/dialog.c:129
msgid "Zone:"
msgstr ""
-#: ../src/dialog.c:131
+#: ../src/dialog.c:132
msgid "Letter:"
msgstr ""
@@ -138,105 +138,109 @@ msgstr ""
msgid "Waypoint Properties"
msgstr ""
-#: ../src/dialog.c:233
+#: ../src/dialog.c:235
msgid "Name:"
msgstr ""
-#: ../src/dialog.c:261
+#: ../src/dialog.c:254
msgid "Altitude:"
msgstr ""
-#: ../src/dialog.c:266
+#: ../src/dialog.c:259
msgid "Comment:"
msgstr ""
-#: ../src/dialog.c:274 ../src/osm-traces.c:437
+#: ../src/dialog.c:267 ../src/osm-traces.c:445
msgid "Description:"
msgstr ""
-#: ../src/dialog.c:277
+#: ../src/dialog.c:270
msgid "Image:"
msgstr ""
-#: ../src/dialog.c:282
+#: ../src/dialog.c:275
msgid "Symbol:"
msgstr ""
-#: ../src/dialog.c:291
+#: ../src/dialog.c:284
msgid "(none)"
msgstr ""
+#: ../src/dialog.c:326
+msgid "Time:"
+msgstr ""
+
#. TODO: other checks (isalpha or whatever )
-#: ../src/dialog.c:356
+#: ../src/dialog.c:363
msgid "Please enter a name for the waypoint."
msgstr ""
-#: ../src/dialog.c:529 ../src/geonamessearch.c:243
+#: ../src/dialog.c:502 ../src/geonamessearch.c:244
#: ../src/datasource_osm_my_traces.c:507
msgid "Nothing was selected"
msgstr ""
-#: ../src/dialog.c:537
+#: ../src/dialog.c:510
msgid "Add Route"
msgstr ""
-#: ../src/dialog.c:537
+#: ../src/dialog.c:510
msgid "Add Track"
msgstr ""
-#: ../src/dialog.c:545
+#: ../src/dialog.c:518
msgid "Route Name:"
msgstr ""
-#: ../src/dialog.c:545
+#: ../src/dialog.c:518
msgid "Track Name:"
msgstr ""
-#: ../src/dialog.c:565
+#: ../src/dialog.c:538
msgid "Please enter a name for the track."
msgstr ""
-#: ../src/dialog.c:623
+#: ../src/dialog.c:596
msgid "Zoom Factors..."
msgstr ""
-#: ../src/dialog.c:637
+#: ../src/dialog.c:610
msgid "Zoom factor (in meters per pixel):"
msgstr ""
-#: ../src/dialog.c:638
+#: ../src/dialog.c:611
msgid "X (easting): "
msgstr ""
-#: ../src/dialog.c:639
+#: ../src/dialog.c:612
msgid "Y (northing): "
msgstr ""
-#: ../src/dialog.c:644
+#: ../src/dialog.c:617
msgid "X and Y zoom factors must be equal"
msgstr ""
-#: ../src/dialog.c:699
+#: ../src/dialog.c:672
msgid "1 min"
msgstr ""
-#: ../src/dialog.c:700
+#: ../src/dialog.c:673
msgid "1 hour"
msgstr ""
-#: ../src/dialog.c:701
+#: ../src/dialog.c:674
msgid "1 day"
msgstr ""
-#: ../src/dialog.c:702
+#: ../src/dialog.c:675
msgid "Custom (in minutes):"
msgstr ""
-#: ../src/dialog.c:808
+#: ../src/dialog.c:786
msgid "GPS Data and Topo Analyzer, Explorer, and Manager."
msgstr ""
-#: ../src/dialog.c:809
+#: ../src/dialog.c:787
msgid ""
"This program is free software; you can redistribute it and/or modify it "
"under the terms of the GNU General Public License as published by the Free "
@@ -253,28 +257,28 @@ msgid ""
"Place, Suite 330, Boston, MA 02111-1307, USA"
msgstr ""
-#: ../src/dialog.c:837
+#: ../src/dialog.c:852
msgid "Translation is coordinated on http://launchpad.net/viking"
msgstr ""
-#: ../src/dialog.c:845
+#: ../src/dialog.c:861
msgid "Download along track"
msgstr ""
-#: ../src/dialog.c:851
+#: ../src/dialog.c:868
msgid "Map type:"
msgstr ""
-#: ../src/dialog.c:856
+#: ../src/dialog.c:874
msgid "Zoom level:"
msgstr ""
-#: ../src/dialog.c:896
+#: ../src/dialog.c:914
#, c-format
msgid "The map data is licensed: %s."
msgstr ""
-#: ../src/dialog.c:899
+#: ../src/dialog.c:917
#, c-format
msgid ""
"The data provided by '<b>%s</b>' are licensed under the following license: "
@@ -282,7 +286,7 @@ msgid ""
"Please, read the license before continuing."
msgstr ""
-#: ../src/dialog.c:904
+#: ../src/dialog.c:922
msgid "Open license"
msgstr ""
@@ -327,7 +331,8 @@ msgstr ""
#. NB could allow columns to be shifted around by doing this after each new
#. gtk_tree_view_column_set_reorderable ( column, TRUE );
#. However I don't think is that useful, so I haven't put it in
-#: ../src/geonamessearch.c:177 ../src/datasource_osm_my_traces.c:425
+#: ../src/geonamessearch.c:177 ../src/datasource_osm_my_traces.c:424
+#: ../src/viktrwlayer_tracklist.c:521
msgid "Name"
msgstr ""
@@ -335,82 +340,192 @@ msgstr ""
msgid "Feature"
msgstr ""
-#: ../src/geonamessearch.c:187 ../src/datasource_osm_my_traces.c:440
+#: ../src/geonamessearch.c:187 ../src/datasource_osm_my_traces.c:439
msgid "Lat/Lon"
msgstr ""
-#: ../src/geonamessearch.c:269 ../src/googlesearch.c:100
+#: ../src/geonamessearch.c:270 ../src/googlesearch.c:100 ../src/vikgoto.c:306
msgid "couldn't map temp file"
msgstr ""
-#: ../src/globals.c:44
+#: ../src/globals.c:73
+msgid "Absolute"
+msgstr ""
+
+#: ../src/globals.c:73
+msgid "Relative"
+msgstr ""
+
+#: ../src/globals.c:76
msgid "Degree format:"
msgstr ""
-#: ../src/globals.c:48
+#: ../src/globals.c:77
msgid "Distance units:"
msgstr ""
-#: ../src/globals.c:52
+#: ../src/globals.c:78
msgid "Speed units:"
msgstr ""
-#: ../src/globals.c:56
+#: ../src/globals.c:79
msgid "Height units:"
msgstr ""
-#: ../src/globals.c:60
+#: ../src/globals.c:80
msgid "Use large waypoint icons:"
msgstr ""
-#: ../src/globals.c:64
+#: ../src/globals.c:81
msgid "Default latitude:"
msgstr ""
-#: ../src/globals.c:67
+#: ../src/globals.c:82
msgid "Default longitude:"
msgstr ""
-#: ../src/globals.c:73
+#: ../src/globals.c:88
msgid "Alphabetical"
msgstr ""
-#: ../src/globals.c:73 ../src/datasource_osm_my_traces.c:435
+#: ../src/globals.c:88 ../src/datasource_osm_my_traces.c:434
msgid "Time"
msgstr ""
-#: ../src/globals.c:76
+#: ../src/globals.c:88
+msgid "Creation"
+msgstr ""
+
+#: ../src/globals.c:89
+msgid "Title Case"
+msgstr ""
+
+#: ../src/globals.c:89
+msgid "Lowercase"
+msgstr ""
+
+#: ../src/globals.c:92
msgid "KML File Export Units:"
msgstr ""
-#: ../src/globals.c:77
+#: ../src/globals.c:93
msgid "GPX Track Order:"
msgstr ""
-#: ../src/globals.c:82
+#: ../src/globals.c:94
+msgid "GPX Waypoint Symbols:"
+msgstr ""
+
+#: ../src/globals.c:95
+msgid ""
+"Save GPX Waypoint Symbol names in the specified case. May be useful for "
+"compatibility with various devices"
+msgstr ""
+
+#: ../src/globals.c:100
msgid "Image Viewer:"
msgstr ""
-#: ../src/globals.c:87
+#: ../src/globals.c:105
msgid "External GPX Program 1:"
msgstr ""
-#: ../src/globals.c:88
+#: ../src/globals.c:106
msgid "External GPX Program 2:"
msgstr ""
+#: ../src/globals.c:110
+msgid "Save File Reference Mode:"
+msgstr ""
+
+#: ../src/globals.c:111
+msgid ""
+"When saving a Viking .vik file, this determines how the directory paths of "
+"filenames are written."
+msgstr ""
+
+#: ../src/globals.c:112
+msgid "Show Tooltip during Track Creation:"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Home Location"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Last Location"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Specified File"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Auto Location"
+msgstr ""
+
+#: ../src/globals.c:118
+msgid "Restore Window Setup:"
+msgstr ""
+
+#: ../src/globals.c:119
+msgid "Restore window size and layout"
+msgstr ""
+
+#: ../src/globals.c:120
+msgid "Add a Default Map Layer:"
+msgstr ""
+
+#: ../src/globals.c:121
+msgid ""
+"The default map layer added is defined by the Layer Defaults. Use the menu "
+"Edit->Layer Defaults->Map... to change the map type and other values."
+msgstr ""
+
+#: ../src/globals.c:122
+msgid "Startup Method:"
+msgstr ""
+
+#: ../src/globals.c:123
+msgid "Startup File:"
+msgstr ""
+
+#: ../src/globals.c:124
+msgid ""
+"The default file to load on startup. Only applies when the startup method is "
+"set to 'Specified File'"
+msgstr ""
+
+#: ../src/globals.c:125
+msgid "Check For New Version:"
+msgstr ""
+
+#: ../src/globals.c:126
+msgid "Periodically check to see if a new version of Viking is available"
+msgstr ""
+
#. Defaults for the options are setup here
-#: ../src/globals.c:96
+#: ../src/globals.c:163
msgid "General"
msgstr ""
#. New Tab
-#: ../src/globals.c:121
+#: ../src/globals.c:188
+msgid "Startup"
+msgstr ""
+
+#. New Tab
+#: ../src/globals.c:206
msgid "Export/External"
msgstr ""
+#. 'Advanced' Properties
+#: ../src/globals.c:230
+msgid "Advanced"
+msgstr ""
+
#. Webtools
-#: ../src/google.c:36
+#: ../src/google.c:38
msgid "Google"
msgstr ""
@@ -423,24 +538,24 @@ msgid "Imported file"
msgstr ""
#. The file selector
-#: ../src/datasource_file.c:133
+#: ../src/datasource_file.c:127
msgid "File:"
msgstr ""
-#: ../src/datasource_file.c:134
+#: ../src/datasource_file.c:128
msgid "File to import"
msgstr ""
-#: ../src/datasource_file.c:141
+#: ../src/datasource_file.c:135
msgid "All files"
msgstr ""
#. The file format selector
-#: ../src/datasource_file.c:148
+#: ../src/datasource_file.c:142
msgid "File type:"
msgstr ""
-#: ../src/datasource_file.c:193
+#: ../src/datasource_file.c:184
#, c-format
msgid "using babel args '%s' and file '%s'"
msgstr ""
@@ -453,29 +568,29 @@ msgstr ""
msgid "Geocaching.com Caches"
msgstr ""
-#: ../src/datasource_gc.c:84
+#: ../src/datasource_gc.c:85
msgid "geocaching.com username:"
msgstr ""
-#: ../src/datasource_gc.c:85
+#: ../src/datasource_gc.c:86
msgid "geocaching.com password:"
msgstr ""
-#: ../src/datasource_gc.c:126
+#: ../src/datasource_gc.c:127
#, c-format
msgid ""
"Can't find %s or %s in path! Check that you have installed it correctly."
msgstr ""
-#: ../src/datasource_gc.c:188
+#: ../src/datasource_gc.c:189
msgid "Number geocaches:"
msgstr ""
-#: ../src/datasource_gc.c:190
+#: ../src/datasource_gc.c:191
msgid "Centered around:"
msgstr "Centred around:"
-#: ../src/datasource_gc.c:226
+#: ../src/datasource_gc.c:230
msgid "Broken input - using some defaults"
msgstr ""
@@ -487,116 +602,107 @@ msgstr ""
msgid "Geotagged Images"
msgstr ""
-#: ../src/datasource_geotag.c:102 ../src/vikwindow.c:2314
-#: ../src/vikwindow.c:2382 ../src/vikwindow.c:2824
+#: ../src/datasource_geotag.c:102 ../src/vikwindow.c:2655
+#: ../src/vikwindow.c:2729 ../src/vikwindow.c:3380
msgid "All"
msgstr ""
-#: ../src/datasource_geotag.c:107 ../src/vikwindow.c:2829
+#: ../src/datasource_geotag.c:107 ../src/vikwindow.c:3385
msgid "JPG"
msgstr ""
-#: ../src/datasource_geotag.c:165
+#: ../src/datasource_geotag.c:168
#, c-format
msgid "Unable to create waypoint from %s"
msgstr ""
-#: ../src/datasource_google.c:49 ../src/datasource_google.c:50
-msgid "Google Directions"
-msgstr ""
-
-#: ../src/datasource_google.c:77
-msgid "From:"
-msgstr ""
-
-#: ../src/datasource_google.c:79
-msgid "To:"
-msgstr ""
-
-#: ../src/datasource_gps.c:57
+#: ../src/datasource_gps.c:54
msgid "Acquire from GPS"
msgstr ""
-#: ../src/datasource_gps.c:58
+#: ../src/datasource_gps.c:55
msgid "Acquired from GPS"
msgstr ""
-#: ../src/datasource_gps.c:221
+#: ../src/datasource_gps.c:245
#, c-format
msgid "using cmdline '%s' and file '%s'\n"
msgstr ""
-#: ../src/datasource_gps.c:297 ../src/vikgpslayer.c:884
+#: ../src/datasource_gps.c:327 ../src/vikgpslayer.c:934
#, c-format
msgid "Downloading %d waypoint..."
msgid_plural "Downloading %d waypoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/datasource_gps.c:298 ../src/vikgpslayer.c:885
+#: ../src/datasource_gps.c:328 ../src/vikgpslayer.c:935
#, c-format
msgid "Downloading %d trackpoint..."
msgid_plural "Downloading %d trackpoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/datasource_gps.c:303 ../src/vikgpslayer.c:890
+#: ../src/datasource_gps.c:333 ../src/vikgpslayer.c:940
#, c-format
msgid "Downloading %d routepoint..."
msgid_plural "Downloading %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/datasource_gps.c:325 ../src/datasource_gps.c:326
-#: ../src/datasource_gps.c:327
+#: ../src/datasource_gps.c:355 ../src/datasource_gps.c:356
+#: ../src/datasource_gps.c:357
#, c-format
msgid "Downloaded %d out of %d %s..."
msgstr ""
-#: ../src/datasource_gps.c:331 ../src/datasource_gps.c:332
-#: ../src/datasource_gps.c:333
+#: ../src/datasource_gps.c:361 ../src/datasource_gps.c:362
+#: ../src/datasource_gps.c:363
#, c-format
msgid "Downloaded %d %s."
msgstr ""
-#: ../src/datasource_gps.c:347 ../src/vikgpslayer.c:968
+#: ../src/datasource_gps.c:377 ../src/vikgpslayer.c:1018
#, c-format
msgid "GPS Device: %s"
msgstr ""
-#: ../src/datasource_gps.c:370 ../src/vikgpslayer.c:1042
-#: ../src/vikgpslayer.c:1110
+#: ../src/datasource_gps.c:400 ../src/vikgpslayer.c:1092
+#: ../src/vikgpslayer.c:1160
msgid "Status: Working..."
msgstr ""
-#: ../src/datasource_gps.c:469 ../src/vikgpslayer.c:150
+#. NB gps_layer_inst_init() is performed after parameter registeration
+#. thus to give the protocols some potential values use the old static list
+#. TODO: find another way to use gps_layer_inst_init()?
+#: ../src/datasource_gps.c:500 ../src/vikgpslayer.c:207
msgid "GPS Protocol:"
msgstr ""
-#. List now assigned at runtime
-#: ../src/datasource_gps.c:488 ../src/vikgpslayer.c:151
+#. List reassigned at runtime
+#: ../src/datasource_gps.c:526 ../src/vikgpslayer.c:208
msgid "Serial Port:"
msgstr ""
-#: ../src/datasource_gps.c:509
+#: ../src/datasource_gps.c:576
msgid ""
"Turn Off After Transfer\n"
"(Garmin/NAViLink Only)"
msgstr ""
-#: ../src/datasource_gps.c:512
+#: ../src/datasource_gps.c:583
msgid "Tracks:"
msgstr ""
-#: ../src/datasource_gps.c:516
+#: ../src/datasource_gps.c:590
msgid "Routes:"
msgstr ""
-#: ../src/datasource_gps.c:520
+#: ../src/datasource_gps.c:597
msgid "Waypoints:"
msgstr ""
-#: ../src/datasource_gps.c:594 ../src/vikgpslayer.c:1305
+#: ../src/datasource_gps.c:675 ../src/vikgpslayer.c:1355
msgid "GPS device: N/A"
msgstr ""
@@ -604,39 +710,39 @@ msgstr ""
msgid "OSM traces"
msgstr ""
-#: ../src/datasource_osm.c:80
+#: ../src/datasource_osm.c:82
msgid "Page number:"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:63 ../src/datasource_osm_my_traces.c:64
+#: ../src/datasource_osm_my_traces.c:59 ../src/datasource_osm_my_traces.c:60
msgid "OSM My Traces"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:108
+#: ../src/datasource_osm_my_traces.c:104
msgid "Username:"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:113
+#: ../src/datasource_osm_my_traces.c:109
msgid "The email or username used to login to OSM"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:115 ../src/osm-traces.c:413
+#: ../src/datasource_osm_my_traces.c:111 ../src/osm-traces.c:421
msgid "Password:"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:120
+#: ../src/datasource_osm_my_traces.c:114
msgid "The password used to login to OSM"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:430
+#: ../src/datasource_osm_my_traces.c:429
msgid "Description"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:445
+#: ../src/datasource_osm_my_traces.c:444
msgid "Privacy"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:452
+#: ../src/datasource_osm_my_traces.c:451
msgid "Within Current View"
msgstr ""
@@ -648,15 +754,33 @@ msgstr ""
msgid "None found!"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:629
+#: ../src/datasource_osm_my_traces.c:634
msgid "My OSM Traces"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:645
+#: ../src/datasource_osm_my_traces.c:649
#, c-format
msgid "Unable to get trace: %s"
msgstr ""
+#: ../src/datasource_routing.c:53 ../src/datasource_routing.c:54
+msgid "Directions"
+msgstr ""
+
+#. Engine selector
+#: ../src/datasource_routing.c:83
+msgid "Engine:"
+msgstr ""
+
+#. From and To entries
+#: ../src/datasource_routing.c:88
+msgid "From:"
+msgstr ""
+
+#: ../src/datasource_routing.c:90
+msgid "To:"
+msgstr ""
+
#: ../src/datasource_wikipedia.c:32
msgid "Create Waypoints from Wikipedia Articles"
msgstr ""
@@ -677,174 +801,185 @@ msgstr ""
msgid "Incorrect DEM Class B record: expected 1"
msgstr ""
-#: ../src/dem.c:360
+#: ../src/dem.c:288 ../src/download.c:170
#, c-format
msgid "Couldn't map file %s: %s"
msgstr ""
-#: ../src/download.c:112
-msgid "Tile age (s):"
+#: ../src/download.c:130
+msgid "Tile age (days):"
msgstr ""
-#: ../src/download.c:233
+#: ../src/download.c:321
#, c-format
msgid "Download error: %s"
msgstr ""
-#: ../src/download.c:313
+#: ../src/download.c:404
msgid "couldn't open temp file"
msgstr ""
-#: ../src/file.c:456 ../src/file.c:461
+#: ../src/file.c:451 ../src/file.c:456
#, c-format
msgid "Draw mode '%s' no more supported"
msgstr ""
-#: ../src/geotag_exif.c:433
+#: ../src/geotag_exif.c:421
msgid "Not enough memory."
msgstr ""
-#: ../src/geotag_exif.c:451
+#: ../src/geotag_exif.c:439
msgid "Setting a value for this tag is unsupported!"
msgstr ""
-#: ../src/geotag_exif.c:470
+#: ../src/geotag_exif.c:458
#, c-format
msgid "Too few components specified (need %d, found %d)\n"
msgstr ""
-#: ../src/geotag_exif.c:474
+#: ../src/geotag_exif.c:462
msgid "Numeric value expected\n"
msgstr ""
-#: ../src/geotag_exif.c:482
+#: ../src/geotag_exif.c:470
msgid "This shouldn't happen!"
msgstr ""
-#: ../src/geotag_exif.c:552
+#: ../src/geotag_exif.c:540
msgid "Not yet implemented!"
msgstr ""
-#: ../src/geotag_exif.c:565
+#: ../src/geotag_exif.c:553
msgid "Warning; Too many components specified!"
msgstr ""
-#: ../src/osm-traces.c:73
+#: ../src/osm-traces.c:76
msgid "Identifiable (public w/ timestamps)"
msgstr ""
-#: ../src/osm-traces.c:74
+#: ../src/osm-traces.c:77
msgid "Trackable (private w/ timestamps)"
msgstr ""
-#: ../src/osm-traces.c:75
+#: ../src/osm-traces.c:78
msgid "Public"
msgstr ""
-#: ../src/osm-traces.c:76
+#: ../src/osm-traces.c:79
msgid "Private"
msgstr ""
-#: ../src/osm-traces.c:93
+#: ../src/osm-traces.c:97
msgid "OSM username:"
msgstr ""
-#: ../src/osm-traces.c:94
+#: ../src/osm-traces.c:98
msgid "OSM password:"
msgstr ""
#. Preferences
-#: ../src/osm-traces.c:151
+#: ../src/osm-traces.c:155
msgid "OpenStreetMap Traces"
msgstr ""
-#: ../src/osm-traces.c:234
+#: ../src/osm-traces.c:238
#, c-format
msgid "failed to upload data: HTTP response is %ld"
msgstr ""
-#: ../src/osm-traces.c:239
+#: ../src/osm-traces.c:243
#, c-format
msgid "curl_easy_getinfo failed: %d"
msgstr ""
-#: ../src/osm-traces.c:244
+#: ../src/osm-traces.c:248
#, c-format
msgid "curl request failed: %s"
msgstr ""
-#: ../src/osm-traces.c:275
+#: ../src/osm-traces.c:279
#, c-format
msgid "failed to open temporary file: %s"
msgstr ""
#. Success
-#: ../src/osm-traces.c:328
+#: ../src/osm-traces.c:340
msgid "Uploaded to OSM"
msgstr ""
-#: ../src/osm-traces.c:332
+#: ../src/osm-traces.c:344
msgid "FAILED TO UPLOAD DATA TO OSM - CURL PROBLEM"
msgstr ""
-#: ../src/osm-traces.c:335
+#: ../src/osm-traces.c:347
msgid "FAILED TO UPLOAD DATA TO OSM"
msgstr ""
-#: ../src/osm-traces.c:335
+#: ../src/osm-traces.c:347
msgid "HTTP response code"
msgstr ""
-#: ../src/osm-traces.c:348
+#: ../src/osm-traces.c:355
#, c-format
msgid "failed to unlink temporary file: %s"
msgstr ""
-#: ../src/osm-traces.c:387
+#: ../src/osm-traces.c:394
msgid "OSM upload"
msgstr ""
-#: ../src/osm-traces.c:405
+#: ../src/osm-traces.c:413
msgid "Email:"
msgstr ""
-#: ../src/osm-traces.c:410
+#: ../src/osm-traces.c:418
msgid ""
"The email used as login\n"
"<small>Enter the email you use to login into www.openstreetmap.org.</small>"
msgstr ""
-#: ../src/osm-traces.c:418
+#: ../src/osm-traces.c:426
msgid ""
"The password used to login\n"
"<small>Enter the password you use to login into "
"www.openstreetmap.org.</small>"
msgstr ""
-#: ../src/osm-traces.c:423
+#: ../src/osm-traces.c:431
msgid "File's name:"
msgstr ""
-#: ../src/osm-traces.c:433
+#: ../src/osm-traces.c:441
msgid ""
"The name of the file on OSM\n"
"<small>This is the name of the file created on the server.This is not the "
"name of the local file.</small>"
msgstr ""
-#: ../src/osm-traces.c:442
+#: ../src/osm-traces.c:450
msgid "The description of the trace"
msgstr ""
-#: ../src/osm-traces.c:444
+#: ../src/osm-traces.c:453
+msgid "Anonymize Times:"
+msgstr ""
+
+#: ../src/osm-traces.c:458
+msgid ""
+"Anonymize times of the trace.\n"
+"<small>You may choose to make the trace identifiable, yet mask the actual "
+"real time values</small>"
+msgstr ""
+
+#: ../src/osm-traces.c:462
msgid "Tags:"
msgstr ""
-#: ../src/osm-traces.c:449
+#: ../src/osm-traces.c:467
msgid "The tags associated to the trace"
msgstr ""
-#: ../src/osm-traces.c:482
+#: ../src/osm-traces.c:529
#, c-format
msgid "Uploading %s to OSM"
msgstr ""
@@ -853,69 +988,88 @@ msgstr ""
msgid "Map cache memory size (MB):"
msgstr ""
-#: ../src/print.c:53
+#: ../src/print.c:51 ../src/viktrwlayer.c:509
msgid "None"
msgstr ""
-#: ../src/print.c:54
+#: ../src/print.c:52
msgid "Horizontally"
msgstr ""
-#: ../src/print.c:55
+#: ../src/print.c:53
msgid "Vertically"
msgstr ""
-#: ../src/print.c:56
+#: ../src/print.c:54
msgid "Both"
msgstr ""
-#: ../src/print.c:120
+#: ../src/print.c:118
msgid "Image Settings"
msgstr ""
-#: ../src/print.c:546
+#: ../src/print.c:548
msgid "done"
msgstr ""
#. Page Size
-#: ../src/print.c:575
+#: ../src/print.c:577
msgid "_Adjust Page Size and Orientation"
msgstr ""
-#: ../src/print.c:591
+#: ../src/print.c:593
msgid "C_enter:"
msgstr ""
#. ignore page margins
-#: ../src/print.c:609
+#: ../src/print.c:611
msgid "Ignore Page _Margins"
msgstr ""
-#: ../src/print.c:628
+#: ../src/print.c:630
msgid "Image S_ize:"
msgstr ""
-#: ../src/util.c:81
-msgid "Could not launch web browser."
+#: ../src/util.c:65
+#, c-format
+msgid "Could not launch web browser. %s"
msgstr ""
-#: ../src/util.c:92
-msgid "Could not create new email."
+#: ../src/util.c:76
+#, c-format
+msgid "Could not create new email. %s"
msgstr ""
-#: ../src/vikcoordlayer.c:46
+#: ../src/util.c:177
+#, c-format
+msgid ""
+"There is a newer version of Viking available: %s\n"
+"\n"
+"Do you wish to go to Viking's website now?"
+msgstr ""
+
+#: ../src/util.c:304
+msgid ""
+"This appears to be Viking's very first run.\n"
+"\n"
+"Do you wish to enable automatic internet features?\n"
+"\n"
+"Individual settings can be controlled in the Preferences."
+msgstr ""
+
+#: ../src/vikcoordlayer.c:57
msgid "Color:"
msgstr "Colour:"
-#: ../src/vikcoordlayer.c:47
+#: ../src/vikcoordlayer.c:58
msgid "Minutes Width:"
msgstr ""
-#: ../src/vikcoordlayer.c:48
+#: ../src/vikcoordlayer.c:59
msgid "Line Thickness:"
msgstr ""
-#: ../src/vikcoordlayer.c:56
+#: ../src/vikcoordlayer.c:66
msgid "Coordinate"
msgstr ""
@@ -951,62 +1105,130 @@ msgstr ""
msgid "Polygonzied Layer"
msgstr ""
-#: ../src/main.c:89
+#: ../src/main.c:92
#, c-format
msgid "Ignoring Xlib error: error code %d request code %d\n"
msgstr ""
-#: ../src/main.c:102
+#: ../src/main.c:105
msgid "Enable debug output"
msgstr ""
-#: ../src/main.c:103
+#: ../src/main.c:106
msgid "Enable verbose output"
msgstr ""
-#: ../src/main.c:104
+#: ../src/main.c:107
msgid "Show version"
msgstr ""
-#: ../src/osm.c:106
+#: ../src/osm.c:99
msgid "On Disk OSM Tile Format"
msgstr ""
-#: ../src/osm.c:121
+#: ../src/osm.c:113
msgid "OSM (view)"
msgstr ""
-#: ../src/osm.c:125
+#: ../src/osm.c:117
msgid "OSM (edit)"
msgstr ""
-#: ../src/osm.c:129
+#: ../src/osm.c:121
msgid "OSM (render)"
msgstr ""
#. Example: http://127.0.0.1:8111/load_and_zoom?left=8.19&right=8.20&top=48.605&bottom=48.590&select=node413602999
#. JOSM or merkaartor must already be running with remote interface enabled
-#: ../src/osm.c:136
+#: ../src/osm.c:128
msgid "Local port 8111 (eg JOSM)"
msgstr ""
-#: ../src/preferences.c:285
+#: ../src/osm.c:134
+msgid "OpenStreetMap Notes"
+msgstr ""
+
+#: ../src/osm.c:138
+msgid "OpenStreetBugs"
+msgstr ""
+
+#. Not really OSM but can't be bothered to create somewhere else to put it...
+#: ../src/osm.c:164
+msgid "Wikimedia Toolserver GeoHack"
+msgstr ""
+
+#: ../src/preferences.c:191
msgid "Preferences"
msgstr ""
-#: ../src/uibuilder.c:147
+#: ../src/viklayer_defaults.c:232
+#, c-format
+msgid "Could not open file: %s"
+msgstr ""
+
+#: ../src/viklayer_defaults.c:303
+msgid "Layer Defaults"
+msgstr ""
+
+#: ../src/uibuilder.c:185
msgid "Take care that this password will be stored clearly in a plain file."
msgstr ""
-#: ../src/vikaggregatelayer.c:37
+#: ../src/vikaggregatelayer.c:42
msgid "Aggregate"
msgstr ""
-#: ../src/vikdemlayer.c:101
+#. VikLayersPanel *vlp = VIK_LAYERS_PANEL(lav[1]);
+#: ../src/vikaggregatelayer.c:484 ../src/viktrwlayer.c:10238
+#, c-format
+msgid "%s: Track and Route List"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:529 ../src/viktrwlayer.c:7354
+#: ../src/viktrwlayer.c:7420 ../src/viktrwlayer.c:7498
+msgid "_Visibility"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:534
+msgid "_Show All"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:540
+msgid "_Hide All"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:546 ../src/viktrwlayer.c:7371
+#: ../src/viktrwlayer.c:7437 ../src/viktrwlayer.c:7515
+msgid "_Toggle"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:553 ../src/viktrwlayer.c:7536
+msgid "_Sort"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:559 ../src/viktrwlayer.c:7542
+msgid "Name _Ascending"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:565 ../src/viktrwlayer.c:7548
+msgid "Name _Descending"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:571 ../src/viktrwlayer.c:7449
+#: ../src/viktrwlayer.c:7527 ../src/viktrwlayer.c:7587
+#: ../src/viktrwlayer_tracklist.c:237
+msgid "_Statistics"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:576 ../src/viktrwlayer.c:3971
+msgid "Track _List..."
+msgstr ""
+
+#: ../src/vikdemlayer.c:92
msgid "Absolute height"
msgstr ""
-#: ../src/vikdemlayer.c:102
+#: ../src/vikdemlayer.c:93
msgid "Height gradient"
msgstr ""
@@ -1046,25 +1268,52 @@ msgstr ""
msgid "DEM"
msgstr ""
-#: ../src/vikdemlayer.c:284
+#: ../src/vikdemlayer.c:287
#, c-format
msgid "Number of files: %d"
msgstr ""
-#: ../src/vikdemlayer.c:385
+#: ../src/vikdemlayer.c:427
msgid "DEM Loading"
msgstr ""
-#: ../src/vikdemlayer.c:889
+#: ../src/vikdemlayer.c:937
#, c-format
msgid "No SRTM data available for %f, %f"
msgstr ""
-#: ../src/vikdemlayer.c:1149
+#. Probably not over any land...
+#: ../src/vikdemlayer.c:1193
+msgid "No DEM File Available"
+msgstr ""
+
+#: ../src/vikdemlayer.c:1212
+#, c-format
+msgid ""
+"\n"
+"Source: %s\n"
+"\n"
+"DEM File: %s\n"
+"DEM File Timestamp: %s"
+msgstr ""
+
+#: ../src/vikdemlayer.c:1216
+#, c-format
+msgid ""
+"Source: %s\n"
+"\n"
+"No DEM File!"
+msgstr ""
+
+#: ../src/vikdemlayer.c:1256
#, c-format
msgid "Downloading DEM %s"
msgstr ""
+#: ../src/vikdemlayer.c:1280
+msgid "_Show DEM File Information"
+msgstr ""
+
#: ../src/vikfileentry.c:68
msgid "Browse..."
msgstr ""
@@ -1085,248 +1334,266 @@ msgstr ""
msgid "Delete"
msgstr ""
-#: ../src/vikgeoreflayer.c:70
+#: ../src/vikgeoreflayer.c:78
msgid "_Georef Move Map"
msgstr ""
-#: ../src/vikgeoreflayer.c:70
+#: ../src/vikgeoreflayer.c:78
msgid "Georef Move Map"
msgstr ""
-#: ../src/vikgeoreflayer.c:77
+#: ../src/vikgeoreflayer.c:85
msgid "Georef Z_oom Tool"
msgstr ""
-#: ../src/vikgeoreflayer.c:77
+#: ../src/vikgeoreflayer.c:85
msgid "Georef Zoom Tool"
msgstr ""
-#: ../src/vikgeoreflayer.c:87
+#: ../src/vikgeoreflayer.c:95
msgid "GeoRef Map"
msgstr ""
-#: ../src/vikgeoreflayer.c:335 ../src/vikmapslayer.c:685
+#: ../src/vikgeoreflayer.c:377 ../src/vikmapslayer.c:720
#, c-format
msgid "Couldn't open image file: %s"
msgstr ""
-#: ../src/vikgeoreflayer.c:365
+#: ../src/vikgeoreflayer.c:391
+msgid ""
+"GeoRef map cannot be displayed in the current drawmode.\n"
+"Select \"UTM Mode\" from View menu to view it."
+msgstr ""
+
+#: ../src/vikgeoreflayer.c:415
msgid "Unexpected end of file reading World file."
msgstr ""
-#: ../src/vikgeoreflayer.c:381 ../src/vikgeoreflayer.c:426
+#: ../src/vikgeoreflayer.c:431 ../src/vikgeoreflayer.c:476
msgid "Choose World file"
msgstr ""
-#: ../src/vikgeoreflayer.c:394
+#: ../src/vikgeoreflayer.c:444
msgid "The World file you requested could not be opened for reading."
msgstr ""
-#: ../src/vikgeoreflayer.c:439
+#: ../src/vikgeoreflayer.c:489
msgid "The file you requested could not be opened for writing."
msgstr ""
-#: ../src/vikgeoreflayer.c:456 ../src/viklayer.c:480
+#: ../src/vikgeoreflayer.c:506 ../src/viklayer.c:518
msgid "Layer Properties"
msgstr ""
-#: ../src/vikgeoreflayer.c:478
+#: ../src/vikgeoreflayer.c:528
msgid "World File Parameters:"
msgstr "Zoom (metres per pixel):"
-#: ../src/vikgeoreflayer.c:479
+#: ../src/vikgeoreflayer.c:529
msgid "Load From File..."
msgstr ""
-#: ../src/vikgeoreflayer.c:484
+#: ../src/vikgeoreflayer.c:534
msgid "Corner pixel easting:"
msgstr ""
-#: ../src/vikgeoreflayer.c:486
-msgid "the UTM \"easting\" value of the upper-right corner pixel of the map"
+#: ../src/vikgeoreflayer.c:536
+msgid "the UTM \"easting\" value of the upper-left corner pixel of the map"
msgstr ""
-#: ../src/vikgeoreflayer.c:488
+#: ../src/vikgeoreflayer.c:538
msgid "Corner pixel northing:"
msgstr ""
-#: ../src/vikgeoreflayer.c:490
-msgid "the UTM \"northing\" value of the upper-right corner pixel of the map"
+#: ../src/vikgeoreflayer.c:540
+msgid "the UTM \"northing\" value of the upper-left corner pixel of the map"
msgstr ""
-#: ../src/vikgeoreflayer.c:492
+#: ../src/vikgeoreflayer.c:542
msgid "X (easting) scale (mpp): "
msgstr ""
-#: ../src/vikgeoreflayer.c:493
+#: ../src/vikgeoreflayer.c:543
msgid "Y (northing) scale (mpp): "
msgstr ""
-#: ../src/vikgeoreflayer.c:496
+#: ../src/vikgeoreflayer.c:546
msgid "the scale of the map in the X direction (meters per pixel)"
msgstr ""
-#: ../src/vikgeoreflayer.c:498
+#: ../src/vikgeoreflayer.c:548
msgid "the scale of the map in the Y direction (meters per pixel)"
msgstr ""
-#: ../src/vikgeoreflayer.c:500
+#: ../src/vikgeoreflayer.c:550
msgid "Map Image:"
msgstr ""
#. Now with icons
-#: ../src/vikgeoreflayer.c:608
+#: ../src/vikgeoreflayer.c:658
msgid "_Zoom to Fit Map"
msgstr ""
-#: ../src/vikgeoreflayer.c:614
+#: ../src/vikgeoreflayer.c:664
msgid "_Goto Map Center"
msgstr ""
-#: ../src/vikgeoreflayer.c:620
+#: ../src/vikgeoreflayer.c:670
msgid "_Export to World File"
msgstr ""
-#: ../src/vikgoto.c:75
+#: ../src/vikgoto.c:81
msgid "No goto tool available."
msgstr ""
-#: ../src/vikgoto.c:88 ../src/vikgoto.c:107
+#: ../src/vikgoto.c:94 ../src/vikgoto.c:148
msgid "goto"
msgstr ""
-#: ../src/vikgoto.c:90
+#: ../src/vikgoto.c:96
msgid "I don't know that place. Do you want another goto?"
msgstr ""
-#: ../src/vikgoto.c:109
+#: ../src/vikgoto.c:150
msgid "goto provider:"
msgstr ""
-#: ../src/vikgoto.c:124
+#: ../src/vikgoto.c:165
msgid "Enter address or place name:"
msgstr ""
-#: ../src/vikgpslayer.c:127
+#: ../src/vikgoto.c:363
+msgid "Locality"
+msgstr ""
+
+#: ../src/vikgpslayer.c:128
msgid "Data Mode"
msgstr ""
-#: ../src/vikgpslayer.c:129
+#: ../src/vikgpslayer.c:130
msgid "Realtime Tracking Mode"
msgstr ""
-#: ../src/vikgpslayer.c:137
+#: ../src/vikgpslayer.c:167
msgid "Keep vehicle at center"
msgstr ""
-#: ../src/vikgpslayer.c:138
+#: ../src/vikgpslayer.c:168
msgid "Keep vehicle on screen"
msgstr ""
-#: ../src/vikgpslayer.c:139
+#: ../src/vikgpslayer.c:169
msgid "Disable"
msgstr ""
-#: ../src/vikgpslayer.c:152
+#: ../src/vikgpslayer.c:209
msgid "Download Tracks:"
msgstr ""
-#: ../src/vikgpslayer.c:153
+#: ../src/vikgpslayer.c:210
msgid "Upload Tracks:"
msgstr ""
-#: ../src/vikgpslayer.c:154
+#: ../src/vikgpslayer.c:211
msgid "Download Routes:"
msgstr ""
-#: ../src/vikgpslayer.c:155
+#: ../src/vikgpslayer.c:212
msgid "Upload Routes:"
msgstr ""
-#: ../src/vikgpslayer.c:156
+#: ../src/vikgpslayer.c:213
msgid "Download Waypoints:"
msgstr ""
-#: ../src/vikgpslayer.c:157
+#: ../src/vikgpslayer.c:214
msgid "Upload Waypoints:"
msgstr ""
-#: ../src/vikgpslayer.c:159
+#: ../src/vikgpslayer.c:216
msgid "Recording tracks"
msgstr ""
-#: ../src/vikgpslayer.c:160
+#: ../src/vikgpslayer.c:217
msgid "Jump to current position on start"
msgstr ""
-#: ../src/vikgpslayer.c:161
+#: ../src/vikgpslayer.c:218
msgid "Moving Map Method:"
msgstr ""
-#: ../src/vikgpslayer.c:162
+#: ../src/vikgpslayer.c:219
+msgid "Update Statusbar:"
+msgstr ""
+
+#: ../src/vikgpslayer.c:219
+msgid "Display information in the statusbar on GPS updates"
+msgstr ""
+
+#: ../src/vikgpslayer.c:220
msgid "Gpsd Host:"
msgstr ""
-#: ../src/vikgpslayer.c:163
+#: ../src/vikgpslayer.c:221
msgid "Gpsd Port:"
msgstr ""
-#: ../src/vikgpslayer.c:164
+#: ../src/vikgpslayer.c:222
msgid "Gpsd Retry Interval (seconds):"
msgstr ""
-#: ../src/vikgpslayer.c:179
+#: ../src/vikgpslayer.c:243
msgid "GPS"
msgstr ""
-#: ../src/vikgpslayer.c:242 ../src/vikgpslayer.c:1258
+#: ../src/vikgpslayer.c:306 ../src/vikgpslayer.c:1308
msgid "GPS Download"
msgstr ""
-#: ../src/vikgpslayer.c:242 ../src/vikgpslayer.c:1258
-#: ../src/viktrwlayer.c:3094
+#: ../src/vikgpslayer.c:306 ../src/vikgpslayer.c:1308
+#: ../src/viktrwlayer.c:3480
msgid "GPS Upload"
msgstr ""
-#: ../src/vikgpslayer.c:244
+#: ../src/vikgpslayer.c:308
msgid "GPS Realtime Tracking"
msgstr ""
-#: ../src/vikgpslayer.c:451
+#: ../src/vikgpslayer.c:517
msgid "Unknown GPS Protocol"
msgstr ""
-#: ../src/vikgpslayer.c:469
+#: ../src/vikgpslayer.c:535
msgid "Unknown serial port device"
msgstr ""
-#: ../src/vikgpslayer.c:572
+#: ../src/vikgpslayer.c:648
#, c-format
msgid "%s: unknown parameter"
msgstr ""
#. Now with icons
-#: ../src/vikgpslayer.c:693
+#: ../src/vikgpslayer.c:743
msgid "_Upload to GPS"
msgstr ""
-#: ../src/vikgpslayer.c:699
+#: ../src/vikgpslayer.c:749
msgid "Download from _GPS"
msgstr ""
-#: ../src/vikgpslayer.c:720
+#: ../src/vikgpslayer.c:770
msgid "Empty _Realtime"
msgstr ""
-#: ../src/vikgpslayer.c:727
+#: ../src/vikgpslayer.c:777
msgid "E_mpty Upload"
msgstr ""
-#: ../src/vikgpslayer.c:733
+#: ../src/vikgpslayer.c:783
msgid "_Empty Download"
msgstr ""
-#: ../src/vikgpslayer.c:739
+#: ../src/vikgpslayer.c:789
msgid "Empty _All"
msgstr ""
@@ -1335,234 +1602,232 @@ msgstr ""
#. This happens when copied GPS layer is deleted (not sure why the number_handlers would be 2)
#. I don't think there's any side effects and certainly better than the program just aborting
#.
-#: ../src/vikgpslayer.c:756
+#: ../src/vikgpslayer.c:806
#, c-format
msgid "Unexpected number of disconnected handlers: %d"
msgstr ""
-#: ../src/vikgpslayer.c:898
+#: ../src/vikgpslayer.c:948
#, c-format
msgid "Uploading %d waypoint..."
msgid_plural "Uploading %d waypoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:899
+#: ../src/vikgpslayer.c:949
#, c-format
msgid "Uploading %d trackpoint..."
msgid_plural "Uploading %d trackpoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:900
+#: ../src/vikgpslayer.c:950
#, c-format
msgid "Uploading %d routepoint..."
msgid_plural "Uploading %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:925
+#: ../src/vikgpslayer.c:975
#, c-format
msgid "Downloaded %d out of %d waypoint..."
msgid_plural "Downloaded %d out of %d waypoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:926
+#: ../src/vikgpslayer.c:976
#, c-format
msgid "Downloaded %d out of %d trackpoint..."
msgid_plural "Downloaded %d out of %d trackpoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:927
+#: ../src/vikgpslayer.c:977
#, c-format
msgid "Downloaded %d out of %d routepoint..."
msgid_plural "Downloaded %d out of %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:932
+#: ../src/vikgpslayer.c:982
#, c-format
msgid "Uploaded %d out of %d waypoint..."
msgid_plural "Uploaded %d out of %d waypoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:933
+#: ../src/vikgpslayer.c:983
#, c-format
msgid "Uploaded %d out of %d trackpoint..."
msgid_plural "Uploaded %d out of %d trackpoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:934
+#: ../src/vikgpslayer.c:984
#, c-format
msgid "Uploaded %d out of %d routepoint..."
msgid_plural "Uploaded %d out of %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:942
+#: ../src/vikgpslayer.c:992
#, c-format
msgid "Downloaded %d waypoint"
msgid_plural "Downloaded %d waypoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:943
+#: ../src/vikgpslayer.c:993
#, c-format
msgid "Downloaded %d trackpoint"
msgid_plural "Downloaded %d trackpoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:944
+#: ../src/vikgpslayer.c:994
#, c-format
msgid "Downloaded %d routepoint"
msgid_plural "Downloaded %d routepoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:949
+#: ../src/vikgpslayer.c:999
#, c-format
msgid "Uploaded %d waypoint"
msgid_plural "Uploaded %d waypoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:950
+#: ../src/vikgpslayer.c:1000
#, c-format
msgid "Uploaded %d trackpoint"
msgid_plural "Uploaded %d trackpoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:951
+#: ../src/vikgpslayer.c:1001
#, c-format
msgid "Uploaded %d routepoint"
msgid_plural "Uploaded %d routepoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:1180
+#: ../src/vikgpslayer.c:1230
msgid "Error: couldn't find gpsbabel."
msgstr ""
-#: ../src/vikgpslayer.c:1269
+#: ../src/vikgpslayer.c:1319
msgid "Warning - GPS Upload items may overwrite each other"
msgstr ""
-#: ../src/vikgpslayer.c:1301
+#: ../src/vikgpslayer.c:1351
msgid "Status: detecting gpsbabel"
msgstr "Status: detecting gpsbabel"
-#: ../src/vikgpslayer.c:1332
+#: ../src/vikgpslayer.c:1386
msgid "No GPS items selected for transfer."
msgstr ""
-#: ../src/vikgpslayer.c:1347
+#: ../src/vikgpslayer.c:1401
msgid "Could not turn off device."
msgstr ""
-#: ../src/vikgpslayer.c:1385
+#: ../src/vikgpslayer.c:1439
msgid "Are you sure you want to delete GPS Upload data?"
msgstr ""
-#: ../src/vikgpslayer.c:1398
+#: ../src/vikgpslayer.c:1452
msgid "Are you sure you want to delete GPS Download data?"
msgstr ""
-#: ../src/vikgpslayer.c:1412
+#: ../src/vikgpslayer.c:1466
msgid "Are you sure you want to delete GPS Realtime data?"
msgstr ""
-#: ../src/vikgpslayer.c:1425
+#: ../src/vikgpslayer.c:1479
msgid "Are you sure you want to delete All GPS data?"
msgstr ""
-#: ../src/viklayerspanel.c:55
-msgid "/C_ut"
+#: ../src/viklayerspanel.c:53
+msgid "C_ut"
msgstr ""
-#: ../src/viklayerspanel.c:56
-msgid "/_Copy"
+#: ../src/viklayerspanel.c:54 ../src/vikwindow.c:3753
+msgid "_Copy"
msgstr ""
-#: ../src/viklayerspanel.c:57
-msgid "/_Paste"
+#: ../src/viklayerspanel.c:55 ../src/vikwindow.c:3754
+msgid "_Paste"
msgstr ""
-#: ../src/viklayerspanel.c:58
-msgid "/_Delete"
+#: ../src/viklayerspanel.c:56 ../src/vikwindow.c:3755
+msgid "_Delete"
msgstr ""
-#: ../src/viklayerspanel.c:59
-msgid "/New Layer"
+#: ../src/viklayerspanel.c:133
+msgid "New Layer"
msgstr ""
-#: ../src/viklayerspanel.c:127
+#: ../src/viklayerspanel.c:178
msgid "Top Layer"
msgstr ""
-#: ../src/viklayerspanel.c:143
+#: ../src/viklayerspanel.c:194
msgid "Add new layer"
msgstr ""
-#: ../src/viklayerspanel.c:150
+#: ../src/viklayerspanel.c:201
msgid "Remove selected layer"
msgstr ""
-#: ../src/viklayerspanel.c:157
+#: ../src/viklayerspanel.c:208
msgid "Move selected layer up"
msgstr ""
-#: ../src/viklayerspanel.c:164
+#: ../src/viklayerspanel.c:215
msgid "Move selected layer down"
msgstr ""
-#: ../src/viklayerspanel.c:171
+#: ../src/viklayerspanel.c:222
msgid "Cut selected layer"
msgstr ""
-#: ../src/viklayerspanel.c:178
+#: ../src/viklayerspanel.c:229
msgid "Copy selected layer"
msgstr ""
-#: ../src/viklayerspanel.c:185
-msgid "Paste layer below selected layer"
+#: ../src/viklayerspanel.c:236
+msgid ""
+"Paste layer into selected container layer or otherwise above selected layer"
msgstr ""
-#. TODO: FIXME: if name has a '/' in it it will get all messed up. why not have an itemfactory field with
-#. name, icon, shortcut, etc.?
-#: ../src/viklayerspanel.c:204 ../src/vikwindow.c:3292
-#, c-format
-msgid "New _%s Layer"
+#: ../src/viklayerspanel.c:300
+msgid "New name can not be blank."
msgstr ""
-#: ../src/viklayerspanel.c:511
+#: ../src/viklayerspanel.c:544
msgid "Aggregate Layers have no settable properties."
msgstr ""
-#: ../src/viklayerspanel.c:555
+#: ../src/viklayerspanel.c:588
msgid "You cannot cut the Top Layer."
msgstr ""
-#: ../src/viklayerspanel.c:600
+#: ../src/viklayerspanel.c:633
#, c-format
msgid "Are you sure you want to delete %s?"
msgstr ""
-#: ../src/viklayerspanel.c:617
+#: ../src/viklayerspanel.c:650
msgid "You cannot delete the Top Layer."
msgstr ""
-#: ../src/viklayerspanel.c:701
+#: ../src/viklayerspanel.c:734
msgid "Are you sure you wish to delete all layers?"
msgstr ""
#. ******* MAPZOOMS ********
-#: ../src/vikmapslayer.c:91
+#: ../src/vikmapslayer.c:80
msgid "Use Viking Zoom Level"
msgstr ""
@@ -1609,70 +1874,70 @@ msgid ""
"actual zoom level."
msgstr ""
-#: ../src/vikmapslayer.c:146
+#: ../src/vikmapslayer.c:156
msgid "_Maps Download"
msgstr ""
-#: ../src/vikmapslayer.c:146
+#: ../src/vikmapslayer.c:156
msgid "Maps Download"
msgstr ""
-#: ../src/vikmapslayer.c:161
+#: ../src/vikmapslayer.c:171
msgid "Map"
msgstr ""
-#: ../src/vikmapslayer.c:249
-msgid "Default maplayer directory:"
+#: ../src/vikmapslayer.c:259
+msgid "Default map layer directory:"
msgstr ""
-#: ../src/vikmapslayer.c:249
+#: ../src/vikmapslayer.c:259
msgid "Choose a directory to store cached Map tiles for this layer"
msgstr ""
-#: ../src/vikmapslayer.c:505
+#: ../src/vikmapslayer.c:523
msgid "Unknown map type"
msgstr ""
-#: ../src/vikmapslayer.c:516
+#: ../src/vikmapslayer.c:534
msgid "Unknown Map Zoom"
msgstr ""
-#: ../src/vikmapslayer.c:589
+#: ../src/vikmapslayer.c:624
#, c-format
msgid ""
"New map cannot be displayed in the current drawmode.\n"
"Select \"%s\" from View menu to view it."
msgstr ""
-#: ../src/vikmapslayer.c:753
+#: ../src/vikmapslayer.c:798
#, c-format
msgid ""
"Cowardly refusing to draw tiles or existence of tiles beyond %d zoom out "
"factor"
msgstr ""
-#: ../src/vikmapslayer.c:1157
+#: ../src/vikmapslayer.c:1210
#, c-format
msgid "Redownloading up to %d %s map..."
msgid_plural "Redownloading up to %d %s maps..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikmapslayer.c:1159
+#: ../src/vikmapslayer.c:1212
#, c-format
msgid "Redownloading %d %s map..."
msgid_plural "Redownloading %d %s maps..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikmapslayer.c:1163 ../src/vikmapslayer.c:1238
+#: ../src/vikmapslayer.c:1216 ../src/vikmapslayer.c:1290
#, c-format
msgid "Downloading %d %s map..."
msgid_plural "Downloading %d %s maps..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikmapslayer.c:1311
+#: ../src/vikmapslayer.c:1376
#, c-format
msgid ""
"\n"
@@ -1682,7 +1947,7 @@ msgid ""
"Tile File Timestamp: %s"
msgstr ""
-#: ../src/vikmapslayer.c:1318
+#: ../src/vikmapslayer.c:1380
#, c-format
msgid ""
"Source: %s\n"
@@ -1690,1460 +1955,2037 @@ msgid ""
"No Tile File!"
msgstr ""
-#: ../src/vikmapslayer.c:1356
+#: ../src/vikmapslayer.c:1418
msgid "Redownload _Bad Map(s)"
msgstr ""
-#: ../src/vikmapslayer.c:1360
+#: ../src/vikmapslayer.c:1422
msgid "Redownload _New Map(s)"
msgstr ""
-#: ../src/vikmapslayer.c:1364
+#: ../src/vikmapslayer.c:1426
msgid "Redownload _All Map(s)"
msgstr ""
-#: ../src/vikmapslayer.c:1368
+#: ../src/vikmapslayer.c:1430
msgid "_Show Tile Information"
msgstr ""
-#: ../src/vikmapslayer.c:1449
+#: ../src/vikmapslayer.c:1511
#, c-format
msgid ""
"Wrong drawmode for this map.\n"
"Select \"%s\" from View menu and try again."
msgstr ""
-#: ../src/vikmapslayer.c:1454
+#: ../src/vikmapslayer.c:1516
msgid "Wrong zoom level for this map."
msgstr ""
+#: ../src/vikmapslayer.c:1647
+msgid "Zoom Start:"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1654
+msgid "Zoom End:"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1660
+msgid "Download Maps Method:"
+msgstr ""
+
+#. redownload method - needs to align with REDOWNLOAD* macro values
+#: ../src/vikmapslayer.c:1732
+msgid "Missing"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1732
+msgid "Bad"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1732
+msgid "New"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1732
+msgid "Reload All"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1734
+msgid "Download for Zoom Levels"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1774
+#, c-format
+msgid ""
+"You are not allowed to download more than %d tiles in one go (requested %d)"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1782
+#, c-format
+msgid "Do you really want to download %d tiles?"
+msgstr ""
+
#. Now with icons
-#: ../src/vikmapslayer.c:1485
+#: ../src/vikmapslayer.c:1807
msgid "Download _Missing Onscreen Maps"
msgstr ""
-#: ../src/vikmapslayer.c:1492
+#: ../src/vikmapslayer.c:1814
msgid "Download _New Onscreen Maps"
msgstr ""
-#: ../src/vikmapslayer.c:1499
+#: ../src/vikmapslayer.c:1821
msgid "Reload _All Onscreen Maps"
msgstr ""
-#: ../src/viktreeview.c:263
+#: ../src/vikmapslayer.c:1827
+msgid "Download Maps in _Zoom Levels..."
+msgstr ""
+
+#: ../src/vikrouting.c:54
+msgid "Default engine:"
+msgstr ""
+
+#: ../src/viktreeview.c:316
msgid "Layer Name"
msgstr ""
-#: ../src/viktreeview.c:742
+#: ../src/viktreeview.c:851
#, c-format
msgid "delete data from %s\n"
msgstr ""
-#: ../src/viktrwlayer.c:377
+#: ../src/viktrwlayer.c:398
msgid "Create _Waypoint"
msgstr ""
-#: ../src/viktrwlayer.c:377
+#: ../src/viktrwlayer.c:398
msgid "Create Waypoint"
msgstr ""
-#: ../src/viktrwlayer.c:383
+#: ../src/viktrwlayer.c:404
msgid "Create _Track"
msgstr ""
-#: ../src/viktrwlayer.c:383
+#: ../src/viktrwlayer.c:404
msgid "Create Track"
msgstr ""
-#: ../src/viktrwlayer.c:392
+#: ../src/viktrwlayer.c:413
msgid "Create _Route"
msgstr ""
-#: ../src/viktrwlayer.c:392
+#: ../src/viktrwlayer.c:413
msgid "Create Route"
msgstr ""
-#: ../src/viktrwlayer.c:401
+#: ../src/viktrwlayer.c:422
msgid "_Edit Waypoint"
msgstr ""
-#: ../src/viktrwlayer.c:401
+#: ../src/viktrwlayer.c:422
msgid "Edit Waypoint"
msgstr ""
-#: ../src/viktrwlayer.c:409
+#: ../src/viktrwlayer.c:432
msgid "Edit Trac_kpoint"
msgstr ""
-#: ../src/viktrwlayer.c:409
+#: ../src/viktrwlayer.c:432
msgid "Edit Trackpoint"
msgstr ""
-#: ../src/viktrwlayer.c:417
+#: ../src/viktrwlayer.c:442
msgid "Show P_icture"
msgstr ""
-#: ../src/viktrwlayer.c:417
+#: ../src/viktrwlayer.c:442
msgid "Show Picture"
msgstr ""
-#: ../src/viktrwlayer.c:424
+#: ../src/viktrwlayer.c:448
msgid "Route _Finder"
msgstr ""
-#: ../src/viktrwlayer.c:424
+#: ../src/viktrwlayer.c:448
msgid "Route Finder"
msgstr ""
#. ***** PARAMETERS *****
-#: ../src/viktrwlayer.c:447 ../src/viktrwlayer.c:1942
-#: ../src/viktrwlayer.c:1944
+#: ../src/viktrwlayer.c:468 ../src/viktrwlayer.c:2324
msgid "Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:447 ../src/viktrwlayer.c:1933
-#: ../src/viktrwlayer.c:1935
+#: ../src/viktrwlayer.c:468 ../src/viktrwlayer.c:2319
msgid "Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:447
+#: ../src/viktrwlayer.c:468
msgid "Waypoint Images"
msgstr ""
-#: ../src/viktrwlayer.c:450
+#: ../src/viktrwlayer.c:468
+msgid "Tracks Advanced"
+msgstr ""
+
+#: ../src/viktrwlayer.c:471
msgid "Draw by Track"
msgstr ""
-#: ../src/viktrwlayer.c:450
+#: ../src/viktrwlayer.c:471
msgid "Draw by Speed"
msgstr ""
-#: ../src/viktrwlayer.c:450
+#: ../src/viktrwlayer.c:471
msgid "All Tracks Same Color"
msgstr ""
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "Filled Square"
msgstr ""
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "Square"
msgstr ""
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "Circle"
msgstr ""
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "X"
msgstr ""
-#: ../src/viktrwlayer.c:477
+#: ../src/viktrwlayer.c:498
msgid "Extra Extra Small"
msgstr ""
-#: ../src/viktrwlayer.c:478
+#: ../src/viktrwlayer.c:499
msgid "Extra Small"
msgstr ""
-#: ../src/viktrwlayer.c:479
+#: ../src/viktrwlayer.c:500
msgid "Small"
msgstr ""
-#: ../src/viktrwlayer.c:480
+#: ../src/viktrwlayer.c:501
msgid "Medium"
msgstr ""
-#: ../src/viktrwlayer.c:481
+#: ../src/viktrwlayer.c:502
msgid "Large"
msgstr ""
-#: ../src/viktrwlayer.c:482
+#: ../src/viktrwlayer.c:503
msgid "Extra Large"
msgstr ""
-#: ../src/viktrwlayer.c:483
+#: ../src/viktrwlayer.c:504
msgid "Extra Extra Large"
msgstr ""
-#: ../src/viktrwlayer.c:491
+#: ../src/viktrwlayer.c:510
+msgid "Name Ascending"
+msgstr ""
+
+#: ../src/viktrwlayer.c:511
+msgid "Name Descending"
+msgstr ""
+
+#: ../src/viktrwlayer.c:552 ../src/viktrwlayer.c:576
+msgid "Draw Labels"
+msgstr ""
+
+#: ../src/viktrwlayer.c:553
+msgid "Note: the individual track controls what labels may be displayed"
+msgstr ""
+
+#: ../src/viktrwlayer.c:554
+msgid "Track Labels Font Size:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:555
msgid "Track Drawing Mode:"
msgstr ""
-#: ../src/viktrwlayer.c:492
+#: ../src/viktrwlayer.c:556
msgid "All Tracks Color:"
msgstr "All Tracks Colour:"
-#: ../src/viktrwlayer.c:493
+#: ../src/viktrwlayer.c:557
msgid "The color used when 'All Tracks Same Color' drawing mode is selected"
msgstr ""
"The colour used when 'All Tracks Same Colour' drawing mode is selected"
-#: ../src/viktrwlayer.c:494
+#: ../src/viktrwlayer.c:558
msgid "Draw Track Lines"
msgstr ""
-#: ../src/viktrwlayer.c:495
+#: ../src/viktrwlayer.c:559
msgid "Track Thickness:"
msgstr ""
-#: ../src/viktrwlayer.c:496
+#: ../src/viktrwlayer.c:560
msgid "Draw Track Direction"
msgstr ""
-#: ../src/viktrwlayer.c:497
+#: ../src/viktrwlayer.c:561
msgid "Direction Size:"
msgstr ""
-#: ../src/viktrwlayer.c:498
+#: ../src/viktrwlayer.c:562
msgid "Draw Trackpoints"
msgstr ""
-#: ../src/viktrwlayer.c:499
+#: ../src/viktrwlayer.c:563
msgid "Trackpoint Size:"
msgstr ""
-#: ../src/viktrwlayer.c:500
+#: ../src/viktrwlayer.c:564
msgid "Draw Elevation"
msgstr ""
-#: ../src/viktrwlayer.c:501
+#: ../src/viktrwlayer.c:565
msgid "Draw Elevation Height %:"
msgstr ""
-#: ../src/viktrwlayer.c:503
+#: ../src/viktrwlayer.c:566
msgid "Draw Stops"
msgstr ""
-#: ../src/viktrwlayer.c:504
+#: ../src/viktrwlayer.c:567
msgid ""
"Whether to draw a marker when trackpoints are at the same position but over "
"the minimum stop length apart in time"
msgstr ""
-#: ../src/viktrwlayer.c:505
+#: ../src/viktrwlayer.c:568
msgid "Min Stop Length (seconds):"
msgstr ""
-#: ../src/viktrwlayer.c:507
+#: ../src/viktrwlayer.c:570
msgid "Track BG Thickness:"
msgstr ""
-#: ../src/viktrwlayer.c:508
+#: ../src/viktrwlayer.c:571
msgid "Track Background Color"
msgstr "Track Background Colour"
-#: ../src/viktrwlayer.c:509
+#: ../src/viktrwlayer.c:572
msgid "Draw by Speed Factor (%):"
msgstr ""
-#: ../src/viktrwlayer.c:510
+#: ../src/viktrwlayer.c:573
msgid ""
"The percentage factor away from the average speed determining the color used"
msgstr ""
"The percentage factor away from the average speed determining the colour used"
-#: ../src/viktrwlayer.c:512
-msgid "Draw Labels"
+#: ../src/viktrwlayer.c:574
+msgid "Track Sort Order:"
msgstr ""
-#: ../src/viktrwlayer.c:513
+#: ../src/viktrwlayer.c:577
msgid "Waypoint Font Size:"
msgstr ""
-#: ../src/viktrwlayer.c:514
+#: ../src/viktrwlayer.c:578
msgid "Waypoint Color:"
msgstr "Waypoint Colour:"
-#: ../src/viktrwlayer.c:515
+#: ../src/viktrwlayer.c:579
msgid "Waypoint Text:"
msgstr ""
-#: ../src/viktrwlayer.c:516
+#: ../src/viktrwlayer.c:580
msgid "Background:"
msgstr ""
-#: ../src/viktrwlayer.c:517
+#: ../src/viktrwlayer.c:581
msgid "Fake BG Color Translucency:"
msgstr "Fake BG Colour Translucency:"
-#: ../src/viktrwlayer.c:518
+#: ../src/viktrwlayer.c:582
msgid "Waypoint marker:"
msgstr ""
-#: ../src/viktrwlayer.c:519
+#: ../src/viktrwlayer.c:583
msgid "Waypoint size:"
msgstr ""
-#: ../src/viktrwlayer.c:520
+#: ../src/viktrwlayer.c:584
msgid "Draw Waypoint Symbols:"
msgstr ""
-#: ../src/viktrwlayer.c:522
+#: ../src/viktrwlayer.c:585
+msgid "Waypoint Sort Order:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:587
msgid "Draw Waypoint Images"
msgstr ""
-#: ../src/viktrwlayer.c:523
+#: ../src/viktrwlayer.c:588
msgid "Image Size (pixels):"
msgstr ""
-#: ../src/viktrwlayer.c:524
+#: ../src/viktrwlayer.c:589
msgid "Image Alpha:"
msgstr ""
-#: ../src/viktrwlayer.c:525
+#: ../src/viktrwlayer.c:590
msgid "Image Memory Cache Size:"
msgstr ""
-#: ../src/viktrwlayer.c:610
+#: ../src/viktrwlayer.c:678
msgid "TrackWaypoint"
msgstr ""
-#: ../src/viktrwlayer.c:1951 ../src/viktrwlayer.c:1953
+#: ../src/viktrwlayer.c:1534 ../src/vikutils.c:204
+msgid "miles"
+msgstr ""
+
+#. VIK_UNITS_DISTANCE_KILOMETRES:
+#: ../src/viktrwlayer.c:1538 ../src/vikutils.c:209
+msgid "km"
+msgstr ""
+
+#: ../src/viktrwlayer.c:1648
+msgid "start/end"
+msgstr ""
+
+#: ../src/viktrwlayer.c:1660
+msgid "start"
+msgstr ""
+
+#: ../src/viktrwlayer.c:1669
+msgid "end"
+msgstr ""
+
+#: ../src/viktrwlayer.c:2329
msgid "Routes"
msgstr ""
-#: ../src/viktrwlayer.c:2144
+#: ../src/viktrwlayer.c:2519
#, c-format
msgid " in %d:%02d hrs:mins"
msgstr ""
-#: ../src/viktrwlayer.c:2148
+#: ../src/viktrwlayer.c:2523
#, c-format
msgid ""
"\n"
"%sTotal Length %.1f %s%s"
msgstr ""
-#: ../src/viktrwlayer.c:2154
+#: ../src/viktrwlayer.c:2529
#, c-format
msgid "Tracks: %d - Waypoints: %d - Routes: %d%s"
msgstr ""
-#: ../src/viktrwlayer.c:2174
+#: ../src/viktrwlayer.c:2549
#, c-format
msgid "Tracks: %d"
msgstr ""
-#: ../src/viktrwlayer.c:2184
+#: ../src/viktrwlayer.c:2559
#, c-format
msgid "Routes: %d"
msgstr ""
-#: ../src/viktrwlayer.c:2215
+#: ../src/viktrwlayer.c:2590
#, c-format
msgid "- %d:%02d hrs:mins"
msgstr ""
-#: ../src/viktrwlayer.c:2223
+#: ../src/viktrwlayer.c:2598
#, c-format
msgid "%s%.1f km %s"
msgstr ""
-#: ../src/viktrwlayer.c:2226
+#: ../src/viktrwlayer.c:2601
#, c-format
msgid "%s%.1f miles %s"
msgstr ""
-#: ../src/viktrwlayer.c:2240
+#: ../src/viktrwlayer.c:2615
#, c-format
msgid "Waypoints: %d"
msgstr ""
-#: ../src/viktrwlayer.c:2266
-#, c-format
-msgid "Trkpt: Alt %dft"
-msgstr ""
-
-#. VIK_UNITS_HEIGHT_METRES:
-#: ../src/viktrwlayer.c:2270
-#, c-format
-msgid "Trkpt: Alt %dm"
-msgstr ""
-
-#. Compact date time format
-#: ../src/viktrwlayer.c:2277
-#, c-format
-msgid " | Time %x %X"
-msgstr ""
-
-#: ../src/viktrwlayer.c:2295
-#, c-format
-msgid " | Track: %s"
-msgstr ""
-
-#. Combine parts to make overall message
-#: ../src/viktrwlayer.c:2299
-#, c-format
-msgid "%s%s | %s %s %s"
-msgstr ""
-
-#: ../src/viktrwlayer.c:2314
+#: ../src/viktrwlayer.c:2671
#, c-format
msgid "Wpt: Alt %dft"
msgstr ""
#. VIK_UNITS_HEIGHT_METRES:
-#: ../src/viktrwlayer.c:2318
+#: ../src/viktrwlayer.c:2675
#, c-format
msgid "Wpt: Alt %dm"
msgstr ""
#. Add comment if available
-#: ../src/viktrwlayer.c:2333
+#: ../src/viktrwlayer.c:2690
#, c-format
msgid "%s | %s %s | Comment: %s"
msgstr ""
-#: ../src/viktrwlayer.c:2335
+#: ../src/viktrwlayer.c:2692
#, c-format
msgid "%s | %s %s"
msgstr ""
-#: ../src/viktrwlayer.c:2563 ../src/viktrwlayer.c:2634
+#: ../src/viktrwlayer.c:2939 ../src/viktrwlayer.c:3010
msgid "This layer has no waypoints or trackpoints."
msgstr ""
-#: ../src/viktrwlayer.c:2661 ../src/vikwindow.c:2407 ../src/vikwindow.c:2848
+#: ../src/viktrwlayer.c:3045 ../src/vikwindow.c:2754 ../src/vikwindow.c:3407
#, c-format
msgid "The file \"%s\" exists, do you wish to overwrite it?"
msgstr ""
-#: ../src/viktrwlayer.c:2671 ../src/vikwindow.c:2429
+#: ../src/viktrwlayer.c:3057 ../src/vikwindow.c:2778
msgid "The filename you requested could not be opened for writing."
msgstr ""
-#: ../src/viktrwlayer.c:2676 ../src/viktrwlayer.c:2681
-#: ../src/viktrwlayer.c:2691 ../src/viktrwlayer.c:2703
+#: ../src/viktrwlayer.c:3062 ../src/viktrwlayer.c:3067
+#: ../src/viktrwlayer.c:3077 ../src/viktrwlayer.c:3089
msgid "Export Layer"
msgstr ""
-#: ../src/viktrwlayer.c:2720
+#: ../src/viktrwlayer.c:3108
msgid "Could not create temporary file for export."
msgstr ""
-#: ../src/viktrwlayer.c:2729
+#: ../src/viktrwlayer.c:3117
#, c-format
msgid "Could not launch %s."
msgstr ""
-#: ../src/viktrwlayer.c:2773
+#: ../src/viktrwlayer.c:3161
msgid "Export Track as GPX"
msgstr ""
-#: ../src/viktrwlayer.c:2795
+#: ../src/viktrwlayer.c:3183
msgid "Find"
msgstr ""
-#: ../src/viktrwlayer.c:2805
+#: ../src/viktrwlayer.c:3193
msgid "Waypoint Name:"
msgstr ""
-#: ../src/viktrwlayer.c:2822
+#: ../src/viktrwlayer.c:3210
msgid "Waypoint not found in this layer."
msgstr ""
-#: ../src/viktrwlayer.c:3090
+#: ../src/viktrwlayer.c:3476
msgid "Can not upload invisible track."
msgstr ""
-#: ../src/viktrwlayer.c:3192 ../src/viktrwlayer.c:7785
+#: ../src/viktrwlayer.c:3581 ../src/viktrwlayer.c:9283
msgid "Track"
msgstr ""
-#: ../src/viktrwlayer.c:3215 ../src/viktrwlayer.c:7817
+#: ../src/viktrwlayer.c:3606 ../src/viktrwlayer.c:9316
msgid "Route"
msgstr ""
-#: ../src/viktrwlayer.c:3296 ../src/viktrwlayer.c:6265
-#: ../src/viktrwlayer.c:6314
+#: ../src/viktrwlayer.c:3691 ../src/viktrwlayer.c:7460
+#: ../src/viktrwlayer.c:7566
msgid "_Finish Route"
msgstr ""
-#: ../src/viktrwlayer.c:3298 ../src/viktrwlayer.c:6223
-#: ../src/viktrwlayer.c:6312
+#: ../src/viktrwlayer.c:3693 ../src/viktrwlayer.c:7383
+#: ../src/viktrwlayer.c:7564
msgid "_Finish Track"
msgstr ""
#. Now with icons
-#: ../src/viktrwlayer.c:3310
+#: ../src/viktrwlayer.c:3705
msgid "_View Layer"
msgstr ""
-#: ../src/viktrwlayer.c:3317
+#: ../src/viktrwlayer.c:3712
msgid "V_iew"
msgstr ""
-#: ../src/viktrwlayer.c:3323
+#: ../src/viktrwlayer.c:3718
msgid "View All _Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:3328
+#: ../src/viktrwlayer.c:3723
msgid "View All _Routes"
msgstr ""
-#: ../src/viktrwlayer.c:3333
+#: ../src/viktrwlayer.c:3728
msgid "View All _Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:3338
+#: ../src/viktrwlayer.c:3733
msgid "_Goto Center of Layer"
msgstr ""
-#: ../src/viktrwlayer.c:3344 ../src/viktrwlayer.c:6199
+#: ../src/viktrwlayer.c:3739 ../src/viktrwlayer.c:7335
msgid "Goto _Waypoint..."
msgstr ""
-#: ../src/viktrwlayer.c:3350
+#: ../src/viktrwlayer.c:3745
msgid "_Export Layer"
msgstr ""
-#: ../src/viktrwlayer.c:3356
+#: ../src/viktrwlayer.c:3751
msgid "Export as GPS_Point..."
msgstr ""
-#: ../src/viktrwlayer.c:3361
+#: ../src/viktrwlayer.c:3756
msgid "Export as GPS_Mapper..."
msgstr ""
-#: ../src/viktrwlayer.c:3366
+#: ../src/viktrwlayer.c:3761
msgid "Export as _GPX..."
msgstr ""
-#: ../src/viktrwlayer.c:3371
+#: ../src/viktrwlayer.c:3766
msgid "Export as _KML..."
msgstr ""
-#: ../src/viktrwlayer.c:3376
+#: ../src/viktrwlayer.c:3771
msgid "Open with External Program_1: "
msgstr ""
-#: ../src/viktrwlayer.c:3383
+#: ../src/viktrwlayer.c:3778
msgid "Open with External Program_2: "
msgstr ""
-#: ../src/viktrwlayer.c:3391 ../src/vikwindow.c:3145
+#: ../src/viktrwlayer.c:3786 ../src/vikwindow.c:3704
msgid "_New"
msgstr ""
-#: ../src/viktrwlayer.c:3397
+#: ../src/viktrwlayer.c:3792
msgid "New _Waypoint..."
msgstr ""
-#: ../src/viktrwlayer.c:3403
+#: ../src/viktrwlayer.c:3798
msgid "New _Track"
msgstr ""
-#: ../src/viktrwlayer.c:3411
+#: ../src/viktrwlayer.c:3806
msgid "New _Route"
msgstr ""
-#: ../src/viktrwlayer.c:3420 ../src/viktrwlayer.c:6597
+#: ../src/viktrwlayer.c:3815 ../src/viktrwlayer.c:7938
msgid "Geotag _Images..."
msgstr ""
-#: ../src/viktrwlayer.c:3427
+#: ../src/viktrwlayer.c:3822
msgid "_Acquire"
msgstr ""
-#: ../src/viktrwlayer.c:3433 ../src/vikwindow.c:3150
+#: ../src/viktrwlayer.c:3828 ../src/vikwindow.c:3711
msgid "From _GPS..."
msgstr ""
-#: ../src/viktrwlayer.c:3439
-msgid "From Google _Directions..."
+#. FIXME: only add menu when at least a routing engine has support for Directions
+#: ../src/viktrwlayer.c:3834
+msgid "From _Directions..."
msgstr ""
-#: ../src/viktrwlayer.c:3446
+#: ../src/viktrwlayer.c:3840
msgid "From _OSM Traces..."
msgstr ""
-#: ../src/viktrwlayer.c:3451
+#: ../src/viktrwlayer.c:3845
msgid "From _My OSM Traces..."
msgstr ""
-#: ../src/viktrwlayer.c:3459 ../src/vikwindow.c:3166
+#: ../src/viktrwlayer.c:3853 ../src/vikwindow.c:3725
msgid "From _Wikipedia Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:3465
+#: ../src/viktrwlayer.c:3859
msgid "Within _Layer Bounds"
msgstr ""
-#: ../src/viktrwlayer.c:3471
+#: ../src/viktrwlayer.c:3865
msgid "Within _Current View"
msgstr ""
-#: ../src/viktrwlayer.c:3479
+#: ../src/viktrwlayer.c:3873
msgid "From Geo_caching..."
msgstr ""
-#: ../src/viktrwlayer.c:3486 ../src/vikwindow.c:3163
+#: ../src/viktrwlayer.c:3880 ../src/vikwindow.c:3722
msgid "From Geotagged _Images..."
msgstr ""
-#: ../src/viktrwlayer.c:3492
+#: ../src/viktrwlayer.c:3886
msgid "From _File..."
msgstr ""
-#: ../src/viktrwlayer.c:3498 ../src/viktrwlayer.c:6542
+#: ../src/viktrwlayer.c:3894 ../src/viktrwlayer.c:7883
msgid "_Upload"
msgstr ""
-#: ../src/viktrwlayer.c:3504
+#: ../src/viktrwlayer.c:3900
msgid "Upload to _GPS..."
msgstr ""
-#: ../src/viktrwlayer.c:3511 ../src/viktrwlayer.c:6570
+#: ../src/viktrwlayer.c:3907 ../src/viktrwlayer.c:7911
msgid "Upload to _OSM..."
msgstr ""
-#: ../src/viktrwlayer.c:3519
+#: ../src/viktrwlayer.c:3915
msgid "De_lete"
msgstr ""
-#: ../src/viktrwlayer.c:3525
+#: ../src/viktrwlayer.c:3921
msgid "Delete All _Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:3531
+#: ../src/viktrwlayer.c:3927
msgid "Delete Tracks _From Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:3537 ../src/viktrwlayer.c:6290
+#: ../src/viktrwlayer.c:3933 ../src/viktrwlayer.c:7485
msgid "Delete _All Routes"
msgstr ""
-#: ../src/viktrwlayer.c:3543 ../src/viktrwlayer.c:6296
+#: ../src/viktrwlayer.c:3939 ../src/viktrwlayer.c:7491
msgid "_Delete Routes From Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:3549
+#: ../src/viktrwlayer.c:3945
msgid "Delete All _Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:3555
+#: ../src/viktrwlayer.c:3951
msgid "Delete Waypoints From _Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:4128
+#: ../src/viktrwlayer.c:4574
#, c-format
msgid "Are you sure you want to delete all tracks in %s?"
msgstr ""
-#: ../src/viktrwlayer.c:4138
+#: ../src/viktrwlayer.c:4584
#, c-format
msgid "Are you sure you want to delete all routes in %s?"
msgstr ""
-#: ../src/viktrwlayer.c:4148
+#: ../src/viktrwlayer.c:4594
#, c-format
msgid "Are you sure you want to delete all waypoints in %s?"
msgstr ""
-#: ../src/viktrwlayer.c:4165
+#: ../src/viktrwlayer.c:4611
#, c-format
-msgid "Are you sure you want to delete the waypoint \"%s\""
+msgid "Are you sure you want to delete the waypoint \"%s\"?"
msgstr ""
-#: ../src/viktrwlayer.c:4178
+#: ../src/viktrwlayer.c:4624
#, c-format
-msgid "Are you sure you want to delete the track \"%s\""
+msgid "Are you sure you want to delete the track \"%s\"?"
msgstr ""
-#: ../src/viktrwlayer.c:4191
+#: ../src/viktrwlayer.c:4637
#, c-format
-msgid "Are you sure you want to delete the route \"%s\""
+msgid "Are you sure you want to delete the route \"%s\"?"
msgstr ""
-#: ../src/viktrwlayer.c:4351 ../src/viktrwlayer.c:4922
+#: ../src/viktrwlayer.c:4849 ../src/viktrwlayer.c:5677
msgid ""
"Converting a track to a route removes extra track data such as segments, "
"timestamps, etc...\n"
"Do you want to continue?"
msgstr ""
-#: ../src/viktrwlayer.c:4711
+#: ../src/viktrwlayer.c:4944
+msgid "No DEM layers available, thus no DEM values can be applied."
+msgstr ""
+
+#: ../src/viktrwlayer.c:4964 ../src/viktrwlayer.c:5005
+#, c-format
+msgid "%ld point adjusted"
+msgid_plural "%ld points adjusted"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/viktrwlayer.c:5049
+#, c-format
+msgid "%ld waypoint changed"
+msgid_plural "%ld waypoints changed"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/viktrwlayer.c:5233
+#, c-format
+msgid ""
+"Refining a track with many points (%d) is unlikely to yield sensible "
+"results. Do you want to Continue?"
+msgstr ""
+
+#. Select engine from dialog
+#: ../src/viktrwlayer.c:5241
+msgid "Refine Route with Routing Engine..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:5249
+msgid "Select routing engine"
+msgstr ""
+
+#: ../src/viktrwlayer.c:5467
msgid "Failed. No other tracks with timestamps in this layer found"
msgstr ""
-#: ../src/viktrwlayer.c:4713
+#: ../src/viktrwlayer.c:5469
msgid "Failed. No other tracks without timestamps in this layer found"
msgstr ""
-#: ../src/viktrwlayer.c:4732
+#: ../src/viktrwlayer.c:5488
msgid "Merge with..."
msgstr ""
-#: ../src/viktrwlayer.c:4733
+#: ../src/viktrwlayer.c:5489
msgid "Select route to merge with"
msgstr ""
-#: ../src/viktrwlayer.c:4733
+#: ../src/viktrwlayer.c:5489
msgid "Select track to merge with"
msgstr ""
-#: ../src/viktrwlayer.c:4818 ../src/viktrwlayer.c:4895
+#: ../src/viktrwlayer.c:5573 ../src/viktrwlayer.c:5650
msgid "Append Route"
msgstr ""
-#: ../src/viktrwlayer.c:4818 ../src/viktrwlayer.c:4895
+#: ../src/viktrwlayer.c:5573 ../src/viktrwlayer.c:5650
msgid "Append Track"
msgstr ""
-#: ../src/viktrwlayer.c:4819
+#: ../src/viktrwlayer.c:5574
msgid "Select the route to append after the current route"
msgstr ""
-#: ../src/viktrwlayer.c:4820
+#: ../src/viktrwlayer.c:5575
msgid "Select the track to append after the current track"
msgstr ""
-#: ../src/viktrwlayer.c:4896
+#: ../src/viktrwlayer.c:5651
msgid "Select the track to append after the current route"
msgstr ""
-#: ../src/viktrwlayer.c:4897
+#: ../src/viktrwlayer.c:5652
msgid "Select the route to append after the current track"
msgstr ""
-#: ../src/viktrwlayer.c:4957
+#: ../src/viktrwlayer.c:5711
#, c-format
msgid "%d segment merged"
msgid_plural "%d segments merged"
msgstr[0] ""
msgstr[1] ""
-#: ../src/viktrwlayer.c:4973
+#: ../src/viktrwlayer.c:5727
msgid "Failed. This track does not have timestamp"
msgstr ""
-#: ../src/viktrwlayer.c:4985
+#: ../src/viktrwlayer.c:5739
msgid "Failed. No other track in this layer has timestamp"
msgstr ""
-#: ../src/viktrwlayer.c:4992
+#: ../src/viktrwlayer.c:5746
msgid "Merge Threshold..."
msgstr ""
-#: ../src/viktrwlayer.c:4993
+#: ../src/viktrwlayer.c:5747
msgid "Merge when time between tracks less than:"
msgstr ""
-#: ../src/viktrwlayer.c:5128
+#: ../src/viktrwlayer.c:5889
msgid "Split Threshold..."
msgstr ""
-#: ../src/viktrwlayer.c:5129
+#: ../src/viktrwlayer.c:5890
msgid "Split when time between trackpoints exceeds:"
msgstr ""
-#: ../src/viktrwlayer.c:5205
+#: ../src/viktrwlayer.c:5907
+#, c-format
+msgid ""
+"Can not split track due to trackpoints not ordered in time - such as at %s.\n"
+"\n"
+"Goto this trackpoint?"
+msgstr ""
+
+#: ../src/viktrwlayer.c:5976
msgid "Split Every Nth Point"
msgstr ""
-#: ../src/viktrwlayer.c:5206
+#: ../src/viktrwlayer.c:5977
msgid "Split on every Nth point:"
msgstr ""
-#: ../src/viktrwlayer.c:5312
+#: ../src/viktrwlayer.c:6087
msgid "Can not split track as it has no segments"
msgstr ""
-#: ../src/viktrwlayer.c:5340 ../src/viktrwlayer.c:5370
+#: ../src/viktrwlayer.c:6169 ../src/viktrwlayer.c:6199
#, c-format
msgid "Deleted %ld point"
msgid_plural "Deleted %ld points"
msgstr[0] ""
msgstr[1] ""
-#: ../src/viktrwlayer.c:5531
+#: ../src/viktrwlayer.c:6392
msgid "Internal Error in vik_trw_layer_uniquify_tracks"
msgstr ""
-#: ../src/viktrwlayer.c:5588 ../src/viktrwlayer.c:5635
-#: ../src/viktrwlayer.c:5814
+#: ../src/viktrwlayer.c:6496 ../src/viktrwlayer.c:6543
+#: ../src/viktrwlayer.c:6704
msgid ""
"Multiple entries with the same name exist. This method only works with "
"unique names. Force unique names now?"
msgstr ""
-#: ../src/viktrwlayer.c:5599
+#: ../src/viktrwlayer.c:6507
msgid "No tracks found"
msgstr ""
-#: ../src/viktrwlayer.c:5607 ../src/viktrwlayer.c:5654
-#: ../src/viktrwlayer.c:5834
+#: ../src/viktrwlayer.c:6515 ../src/viktrwlayer.c:6562
+#: ../src/viktrwlayer.c:6724
msgid "Delete Selection"
msgstr ""
-#: ../src/viktrwlayer.c:5608
+#: ../src/viktrwlayer.c:6516
msgid "Select tracks to delete"
msgstr ""
-#: ../src/viktrwlayer.c:5646
+#: ../src/viktrwlayer.c:6554
msgid "No routes found"
msgstr ""
-#: ../src/viktrwlayer.c:5655
+#: ../src/viktrwlayer.c:6563
msgid "Select routes to delete"
msgstr ""
-#: ../src/viktrwlayer.c:5761
+#: ../src/viktrwlayer.c:6669
msgid "Internal Error in vik_trw_layer_uniquify_waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:5824
+#: ../src/viktrwlayer.c:6714
msgid "No waypoints found"
msgstr ""
-#: ../src/viktrwlayer.c:5835
+#: ../src/viktrwlayer.c:6725
msgid "Select waypoints to delete"
msgstr ""
-#: ../src/viktrwlayer.c:5896
+#: ../src/viktrwlayer.c:7033
#, c-format
msgid ""
"A waypoint with the name \"%s\" already exists. Really rename to the same "
"name?"
msgstr ""
-#: ../src/viktrwlayer.c:5926
+#: ../src/viktrwlayer.c:7063
#, c-format
msgid ""
"A track with the name \"%s\" already exists. Really rename to the same name?"
msgstr ""
-#: ../src/viktrwlayer.c:5963
+#: ../src/viktrwlayer.c:7100
#, c-format
msgid ""
"A route with the name \"%s\" already exists. Really rename to the same name?"
msgstr ""
-#: ../src/viktrwlayer.c:6085 ../src/viktrwlayer.c:6337
+#: ../src/viktrwlayer.c:7221 ../src/viktrwlayer.c:7594
msgid "_Goto"
msgstr ""
-#: ../src/viktrwlayer.c:6104
+#: ../src/viktrwlayer.c:7240
msgid "_Visit Geocache Webpage"
msgstr ""
-#: ../src/viktrwlayer.c:6123
+#: ../src/viktrwlayer.c:7259
msgid "_Show Picture..."
msgstr ""
-#: ../src/viktrwlayer.c:6131
+#: ../src/viktrwlayer.c:7267
msgid "Update Geotag on _Image"
msgstr ""
-#: ../src/viktrwlayer.c:6137
+#: ../src/viktrwlayer.c:7273
msgid "_Update"
msgstr ""
-#: ../src/viktrwlayer.c:6142
+#: ../src/viktrwlayer.c:7278
msgid "Update and _Keep File Timestamp"
msgstr ""
-#: ../src/viktrwlayer.c:6153
+#: ../src/viktrwlayer.c:7289
msgid "Visit _Webpage"
msgstr ""
-#: ../src/viktrwlayer.c:6184
+#: ../src/viktrwlayer.c:7320
msgid "_New Waypoint..."
msgstr ""
-#: ../src/viktrwlayer.c:6193
+#: ../src/viktrwlayer.c:7329
msgid "_View All Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:6205
+#: ../src/viktrwlayer.c:7341
msgid "Delete _All Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:6211
+#: ../src/viktrwlayer.c:7347
msgid "_Delete Waypoints From Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:6233
+#: ../src/viktrwlayer.c:7359
+msgid "_Show All Waypoints"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7365
+msgid "_Hide All Waypoints"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7393
msgid "_View All Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:6239
+#: ../src/viktrwlayer.c:7399
msgid "_New Track"
msgstr ""
-#: ../src/viktrwlayer.c:6247
+#: ../src/viktrwlayer.c:7407
msgid "Delete _All Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:6253
+#: ../src/viktrwlayer.c:7413
msgid "_Delete Tracks From Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:6276
+#: ../src/viktrwlayer.c:7425
+msgid "_Show All Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7431
+msgid "_Hide All Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7442
+msgid "_List Tracks..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7471
msgid "_View All Routes"
msgstr ""
-#: ../src/viktrwlayer.c:6282
+#: ../src/viktrwlayer.c:7477
msgid "_New Route"
msgstr ""
-#: ../src/viktrwlayer.c:6327
+#: ../src/viktrwlayer.c:7503
+msgid "_Show All Routes"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7509
+msgid "_Hide All Routes"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7520
+msgid "_List Routes..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7579
msgid "_View Track"
msgstr ""
-#: ../src/viktrwlayer.c:6329
+#: ../src/viktrwlayer.c:7581
msgid "_View Route"
msgstr ""
-#: ../src/viktrwlayer.c:6343
+#: ../src/viktrwlayer.c:7600
msgid "_Startpoint"
msgstr ""
-#: ../src/viktrwlayer.c:6349
+#: ../src/viktrwlayer.c:7606
msgid "\"_Center\""
msgstr ""
-#: ../src/viktrwlayer.c:6355
+#: ../src/viktrwlayer.c:7612
msgid "_Endpoint"
msgstr ""
-#: ../src/viktrwlayer.c:6361
+#: ../src/viktrwlayer.c:7618
msgid "_Highest Altitude"
msgstr ""
-#: ../src/viktrwlayer.c:6367
+#: ../src/viktrwlayer.c:7624
msgid "_Lowest Altitude"
msgstr ""
-#: ../src/viktrwlayer.c:6375
+#: ../src/viktrwlayer.c:7632
msgid "_Maximum Speed"
msgstr ""
-#: ../src/viktrwlayer.c:6384
+#: ../src/viktrwlayer.c:7641
msgid "Co_mbine"
msgstr ""
-#: ../src/viktrwlayer.c:6392
+#: ../src/viktrwlayer.c:7649
msgid "_Merge By Time..."
msgstr ""
-#: ../src/viktrwlayer.c:6397
+#: ../src/viktrwlayer.c:7654
msgid "Merge _Segments"
msgstr ""
-#: ../src/viktrwlayer.c:6403
+#: ../src/viktrwlayer.c:7660
msgid "Merge _With Other Tracks..."
msgstr ""
-#: ../src/viktrwlayer.c:6409
+#: ../src/viktrwlayer.c:7666
msgid "_Append Track..."
msgstr ""
-#: ../src/viktrwlayer.c:6411
+#: ../src/viktrwlayer.c:7668
msgid "_Append Route..."
msgstr ""
-#: ../src/viktrwlayer.c:6417
+#: ../src/viktrwlayer.c:7674
msgid "Append _Route..."
msgstr ""
-#: ../src/viktrwlayer.c:6419
+#: ../src/viktrwlayer.c:7676
msgid "Append _Track..."
msgstr ""
-#: ../src/viktrwlayer.c:6426
+#: ../src/viktrwlayer.c:7683
msgid "_Split"
msgstr ""
-#: ../src/viktrwlayer.c:6434
+#: ../src/viktrwlayer.c:7691
msgid "_Split By Time..."
msgstr ""
#. ATM always enable this entry - don't want to have to analyse the track before displaying the menu - to keep the menu speedy
-#: ../src/viktrwlayer.c:6440
+#: ../src/viktrwlayer.c:7697
msgid "Split Se_gments"
msgstr ""
-#: ../src/viktrwlayer.c:6446
+#: ../src/viktrwlayer.c:7703
msgid "Split By _Number of Points..."
msgstr ""
-#: ../src/viktrwlayer.c:6451
+#: ../src/viktrwlayer.c:7708
msgid "Split at _Trackpoint"
msgstr ""
-#: ../src/viktrwlayer.c:6460
+#: ../src/viktrwlayer.c:7716
+msgid "_Insert Points"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7722
+msgid "Insert Point _Before Selected Point"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7729
+msgid "Insert Point _After Selected Point"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7738
msgid "Delete Poi_nts"
msgstr ""
-#: ../src/viktrwlayer.c:6466
+#: ../src/viktrwlayer.c:7744
+msgid "Delete _Selected Point"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7752
msgid "Delete Points With The Same _Position"
msgstr ""
-#: ../src/viktrwlayer.c:6471
+#: ../src/viktrwlayer.c:7757
msgid "Delete Points With The Same _Time"
msgstr ""
-#: ../src/viktrwlayer.c:6477
-msgid "_Reverse Track"
+#: ../src/viktrwlayer.c:7764 ../src/viktrwlayer.c:7964
+msgid "_Transform"
msgstr ""
-#: ../src/viktrwlayer.c:6479
-msgid "_Reverse Route"
+#: ../src/viktrwlayer.c:7772 ../src/viktrwlayer.c:7972
+msgid "_Apply DEM Data"
msgstr ""
-#: ../src/viktrwlayer.c:6488
-msgid "Down_load Maps Along Track..."
+#: ../src/viktrwlayer.c:7777 ../src/viktrwlayer.c:7977
+msgid "_Overwrite"
msgstr ""
-#: ../src/viktrwlayer.c:6490
-msgid "Down_load Maps Along Route..."
+#: ../src/viktrwlayer.c:7780 ../src/viktrwlayer.c:7980
+msgid "Overwrite any existing elevation values with DEM values"
msgstr ""
-#: ../src/viktrwlayer.c:6497
-msgid "_Apply DEM Data"
+#: ../src/viktrwlayer.c:7783 ../src/viktrwlayer.c:7983
+msgid "_Keep Existing"
msgstr ""
-#: ../src/viktrwlayer.c:6504
-msgid "_Export Track as GPX..."
+#: ../src/viktrwlayer.c:7786 ../src/viktrwlayer.c:7986
+msgid "Keep existing elevation values, only attempt for missing values"
msgstr ""
-#: ../src/viktrwlayer.c:6506
-msgid "_Export Route as GPX..."
+#: ../src/viktrwlayer.c:7791
+msgid "_Smooth Missing Elevation Data"
msgstr ""
-#: ../src/viktrwlayer.c:6513
-msgid "E_xtend Track End"
+#: ../src/viktrwlayer.c:7796
+msgid "_Interpolated"
msgstr ""
-#: ../src/viktrwlayer.c:6515
-msgid "E_xtend Route End"
+#: ../src/viktrwlayer.c:7799
+msgid ""
+"Interpolate between known elevation values to derive values for the missing "
+"elevations"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7802
+msgid "_Flat"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7805
+msgid "Set unknown elevation values to the last known value"
msgstr ""
-#: ../src/viktrwlayer.c:6522
+#: ../src/viktrwlayer.c:7809
msgid "C_onvert to a Route"
msgstr ""
-#: ../src/viktrwlayer.c:6524
+#: ../src/viktrwlayer.c:7811
msgid "C_onvert to a Track"
msgstr ""
-#: ../src/viktrwlayer.c:6532
+#: ../src/viktrwlayer.c:7819
+msgid "_Anonymize Times"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7822
+msgid "Shift timestamps to a relative offset from 1901-01-01"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7827
+msgid "_Reverse Track"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7829
+msgid "_Reverse Route"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7836
+msgid "Refine Route..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7846
+msgid "Down_load Maps Along Track..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7848
+msgid "Down_load Maps Along Route..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7856
+msgid "_Export Track as GPX..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7858
+msgid "_Export Route as GPX..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7865
+msgid "E_xtend Track End"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7867
+msgid "E_xtend Route End"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7874
msgid "Extend _Using Route Finder"
msgstr ""
-#: ../src/viktrwlayer.c:6548
+#: ../src/viktrwlayer.c:7889
msgid "_Upload to GPS..."
msgstr ""
-#: ../src/viktrwlayer.c:6559
+#: ../src/viktrwlayer.c:7900
msgid "_View Google Directions"
msgstr ""
-#: ../src/viktrwlayer.c:6579
+#: ../src/viktrwlayer.c:7920
msgid "Use with _Filter"
msgstr ""
-#: ../src/viktrwlayer.c:6612
+#: ../src/viktrwlayer.c:7953
msgid "_Edit Trackpoint"
msgstr ""
-#: ../src/viktrwlayer.c:7524
+#: ../src/viktrwlayer.c:9017
#, c-format
msgid " - Gain %dm:Loss %dm"
msgstr ""
-#: ../src/viktrwlayer.c:7526
+#: ../src/viktrwlayer.c:9019
#, c-format
msgid " - Gain %dft:Loss %dft"
msgstr ""
-#: ../src/viktrwlayer.c:7531
+#: ../src/viktrwlayer.c:9024
#, c-format
msgid " - Bearing %3.1f° - Step %s"
msgstr ""
-#: ../src/viktrwlayer.c:8124
+#: ../src/viktrwlayer.c:9628
#, c-format
msgid "Could not launch %s to open file."
msgstr ""
-#: ../src/viktrwlayer.c:8205
+#: ../src/viktrwlayer.c:9709
#, c-format
msgid "Creating %d Image Thumbnails..."
msgstr ""
-#: ../src/viktrwlayer.c:8524
+#: ../src/viktrwlayer.c:10106
msgid "No map layer in use. Create one first"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:898 ../src/viktrwlayer_propwin.c:1155
+#: ../src/viktrwlayer.c:10225
+#, c-format
+msgid "%s: Track List"
+msgstr ""
+
+#: ../src/viktrwlayer.c:10227
+#, c-format
+msgid "%s: Route List"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:828 ../src/viktrwlayer_propwin.c:1085
#, c-format
msgid "%.1f kph"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:901 ../src/viktrwlayer_propwin.c:1158
+#: ../src/viktrwlayer_propwin.c:831 ../src/viktrwlayer_propwin.c:1088
+#: ../src/viktrwlayer_analysis.c:290
#, c-format
msgid "%.1f mph"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:904 ../src/viktrwlayer_propwin.c:1161
+#: ../src/viktrwlayer_propwin.c:834 ../src/viktrwlayer_propwin.c:1091
#, c-format
msgid "%.1f knots"
msgstr ""
#. VIK_UNITS_SPEED_METRES_PER_SECOND:
-#: ../src/viktrwlayer_propwin.c:908 ../src/viktrwlayer_propwin.c:1165
+#: ../src/viktrwlayer_propwin.c:838 ../src/viktrwlayer_propwin.c:1095
#, c-format
msgid "%.1f m/s"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:1745
+#: ../src/viktrwlayer_propwin.c:1662 ../src/viktrwlayer_analysis.c:267
#, c-format
msgid "%.1f miles"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:1747
+#. VIK_UNITS_DISTANCE_KILOMETRES
+#: ../src/viktrwlayer_propwin.c:1664 ../src/viktrwlayer_analysis.c:271
#, c-format
msgid "%.1f km"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2681
+#: ../src/viktrwlayer_propwin.c:2582
msgid "Failed spliting track. Track unchanged"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2779 ../src/viktrwlayer_propwin.c:3178
+#: ../src/viktrwlayer_propwin.c:2724 ../src/viktrwlayer_propwin.c:3140
#, c-format
msgid "%s - Track Properties"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2784
+#: ../src/viktrwlayer_propwin.c:2729
msgid "Split at _Marker"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2785
+#: ../src/viktrwlayer_propwin.c:2730
msgid "Split _Segments"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2786
+#: ../src/viktrwlayer_propwin.c:2731
msgid "_Reverse"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2787
+#: ../src/viktrwlayer_propwin.c:2732
msgid "_Delete Dupl."
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2813
+#: ../src/viktrwlayer_propwin.c:2757
msgid "<b>Comment:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2814
+#: ../src/viktrwlayer_propwin.c:2758
msgid "<b>Description:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2815
+#: ../src/viktrwlayer_propwin.c:2759
+msgid "<b>Color:</b>"
+msgstr "<b>Colour:</b>"
+
+#: ../src/viktrwlayer_propwin.c:2760
+msgid "<b>Draw Name:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2761
+msgid "<b>Distance Labels:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2764
msgid "<b>Track Length:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2816
+#: ../src/viktrwlayer_propwin.c:2765
msgid "<b>Trackpoints:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2817
+#: ../src/viktrwlayer_propwin.c:2766
msgid "<b>Segments:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2818
+#: ../src/viktrwlayer_propwin.c:2767
msgid "<b>Duplicate Points:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2819
+#: ../src/viktrwlayer_propwin.c:2768
msgid "<b>Max Speed:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2820
+#: ../src/viktrwlayer_propwin.c:2769
msgid "<b>Avg. Speed:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2821
+#: ../src/viktrwlayer_propwin.c:2770
msgid "<b>Moving Avg. Speed:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2822
+#: ../src/viktrwlayer_propwin.c:2771
msgid "<b>Avg. Dist. Between TPs:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2823
+#: ../src/viktrwlayer_propwin.c:2772
msgid "<b>Elevation Range:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2824
+#: ../src/viktrwlayer_propwin.c:2773
msgid "<b>Total Elevation Gain/Loss:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2825
+#: ../src/viktrwlayer_propwin.c:2774
msgid "<b>Start:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2826
+#: ../src/viktrwlayer_propwin.c:2775
msgid "<b>End:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2827
+#: ../src/viktrwlayer_propwin.c:2776
msgid "<b>Duration:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2828
-msgid "<b>Color:</b>"
-msgstr "<b>Colour:</b>"
+#: ../src/viktrwlayer_propwin.c:2797
+msgid "No"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2798
+msgid "Centre"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2799
+msgid "Start only"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2800
+msgid "End only"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2801
+msgid "Start and End"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2802
+msgid "Centre, Start and End"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2814
+msgid "Maximum number of distance labels to be shown"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2818
+msgid "Properties"
+msgstr ""
-#: ../src/viktrwlayer_propwin.c:2877 ../src/viktrwlayer_propwin.c:2901
-#: ../src/viktrwlayer_propwin.c:2929 ../src/viktrwlayer_propwin.c:2966
-#: ../src/viktrwlayer_propwin.c:2984 ../src/viktrwlayer_propwin.c:3034
-#: ../src/viktrwlayer_propwin.c:3035 ../src/viktrwlayer_propwin.c:3036
-#: ../src/viktrwlayer_propwin.c:3062 ../src/viktrwlayer_propwin.c:3063
+#: ../src/viktrwlayer_propwin.c:2856 ../src/viktrwlayer_propwin.c:2880
+#: ../src/viktrwlayer_propwin.c:2908 ../src/viktrwlayer_propwin.c:2945
+#: ../src/viktrwlayer_propwin.c:2963 ../src/viktrwlayer_propwin.c:3009
+#: ../src/viktrwlayer_propwin.c:3010 ../src/viktrwlayer_propwin.c:3011
+#: ../src/viktrwlayer_propwin.c:3020 ../src/viktrwlayer_propwin.c:3021
+#: ../src/viktrwlayer_propwin.c:3036 ../src/viktrwlayer_propwin.c:3037
+#: ../src/viktrwlayer_propwin.c:3050 ../src/viktrwlayer_propwin.c:3051
+#: ../src/viktrwlayer_propwin.c:3064 ../src/viktrwlayer_propwin.c:3065
#: ../src/viktrwlayer_propwin.c:3078 ../src/viktrwlayer_propwin.c:3079
#: ../src/viktrwlayer_propwin.c:3092 ../src/viktrwlayer_propwin.c:3093
-#: ../src/viktrwlayer_propwin.c:3106 ../src/viktrwlayer_propwin.c:3107
-#: ../src/viktrwlayer_propwin.c:3120 ../src/viktrwlayer_propwin.c:3121
-#: ../src/viktrwlayer_propwin.c:3134 ../src/viktrwlayer_propwin.c:3135
+#: ../src/viktrwlayer_analysis.c:257
#, c-format
msgid "No Data"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3031
+#: ../src/viktrwlayer_propwin.c:3006
#, c-format
msgid "%d minutes"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3058
+#: ../src/viktrwlayer_propwin.c:3016 ../src/viktrwlayer_analysis.c:515
msgid "Statistics"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3064
+#: ../src/viktrwlayer_propwin.c:3022
msgid "Show D_EM"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3065 ../src/viktrwlayer_propwin.c:3080
-#: ../src/viktrwlayer_propwin.c:3094 ../src/viktrwlayer_propwin.c:3136
+#: ../src/viktrwlayer_propwin.c:3023 ../src/viktrwlayer_propwin.c:3038
+#: ../src/viktrwlayer_propwin.c:3052 ../src/viktrwlayer_propwin.c:3094
msgid "Show _GPS Speed"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3067 ../src/viktrwlayer_propwin.c:3082
-#: ../src/viktrwlayer_propwin.c:3110 ../src/viktrwlayer_propwin.c:3138
+#: ../src/viktrwlayer_propwin.c:3025 ../src/viktrwlayer_propwin.c:3040
+#: ../src/viktrwlayer_propwin.c:3068 ../src/viktrwlayer_propwin.c:3096
msgid "<b>Track Distance:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3068 ../src/viktrwlayer_propwin.c:3125
+#: ../src/viktrwlayer_propwin.c:3026 ../src/viktrwlayer_propwin.c:3083
msgid "<b>Track Height:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3073
+#: ../src/viktrwlayer_propwin.c:3031
msgid "Elevation-distance"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3083
+#: ../src/viktrwlayer_propwin.c:3041
msgid "<b>Track Gradient:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3087
+#: ../src/viktrwlayer_propwin.c:3045
msgid "Gradient-distance"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3096 ../src/viktrwlayer_propwin.c:3111
-#: ../src/viktrwlayer_propwin.c:3124
+#: ../src/viktrwlayer_propwin.c:3054 ../src/viktrwlayer_propwin.c:3069
+#: ../src/viktrwlayer_propwin.c:3082
msgid "<b>Track Time:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3097 ../src/viktrwlayer_propwin.c:3139
+#: ../src/viktrwlayer_propwin.c:3055 ../src/viktrwlayer_propwin.c:3097
msgid "<b>Track Speed:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3101
+#: ../src/viktrwlayer_propwin.c:3059
msgid "Speed-time"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3108 ../src/viktrwlayer_propwin.c:3122
+#: ../src/viktrwlayer_propwin.c:3066 ../src/viktrwlayer_propwin.c:3080
msgid "Show S_peed"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3115
+#: ../src/viktrwlayer_propwin.c:3073
msgid "Distance-time"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3129
+#: ../src/viktrwlayer_propwin.c:3087
msgid "Elevation-time"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3143
+#: ../src/viktrwlayer_propwin.c:3101
msgid "Speed-distance"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:118
+#: ../src/viktrwlayer_tpwin.c:119
msgid "<b>Part of Track:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:119
+#: ../src/viktrwlayer_tpwin.c:120
msgid "<b>Latitude:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:120
+#: ../src/viktrwlayer_tpwin.c:121
msgid "<b>Longitude:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:121
+#: ../src/viktrwlayer_tpwin.c:122
msgid "<b>Altitude:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:122
+#: ../src/viktrwlayer_tpwin.c:123
+msgid "<b>Course:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_tpwin.c:124
msgid "<b>Timestamp:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:123
+#: ../src/viktrwlayer_tpwin.c:125
msgid "<b>Time:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:124
+#: ../src/viktrwlayer_tpwin.c:126
msgid "<b>Distance Difference:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:125
+#: ../src/viktrwlayer_tpwin.c:127
msgid "<b>Time Difference:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:126
+#: ../src/viktrwlayer_tpwin.c:128
msgid "<b>\"Speed\" Between:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:127
+#: ../src/viktrwlayer_tpwin.c:129
+msgid "<b>Speed:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_tpwin.c:130
msgid "<b>VDOP:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:128
+#: ../src/viktrwlayer_tpwin.c:131
msgid "<b>HDOP:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:129
+#: ../src/viktrwlayer_tpwin.c:132
msgid "<b>PDOP:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:130
+#: ../src/viktrwlayer_tpwin.c:133
msgid "<b>SAT/FIX:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:139
+#: ../src/viktrwlayer_tpwin.c:141
msgid "Trackpoint"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:142
+#: ../src/viktrwlayer_tpwin.c:144
msgid "_Insert After"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:144
+#: ../src/viktrwlayer_tpwin.c:146
msgid "Split Here"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:446
+#.
+#. item = gtk_image_menu_item_new_with_mnemonic ( _("_Select") );
+#. gtk_image_menu_item_set_image ( (GtkImageMenuItem*)item, gtk_image_new_from_stock (GTK_STOCK_FIND, GTK_ICON_SIZE_MENU) );
+#. g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(trw_layer_track_select), values );
+#. gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
+#. gtk_widget_show ( item );
+#.
+#. ATM view auto selects, so don't bother with separate select menu entry
+#: ../src/viktrwlayer_tracklist.c:231 ../src/vikwindow.c:3695
+msgid "_View"
+msgstr ""
+
+#. Insert column for the layer name when viewing multi layers
+#: ../src/viktrwlayer_tracklist.c:514
+msgid "Layer"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:526
+msgid "Date"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:529
+msgid "Visible"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:536
+msgid ""
+"Distance\n"
+"(miles)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:539
+msgid ""
+"Distance\n"
+"(km)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:545
+msgid ""
+"Length\n"
+"(minutes)"
+msgstr ""
+
+#. VIK_UNITS_SPEED_KILOMETRES_PER_HOUR:
+#: ../src/viktrwlayer_tracklist.c:549 ../src/vikutils.c:72
+msgid "km/h"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:550 ../src/vikutils.c:62
+msgid "mph"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:551 ../src/vikutils.c:68
+msgid "knots"
+msgstr ""
+
+#. VIK_UNITS_SPEED_METRES_PER_SECOND:
+#: ../src/viktrwlayer_tracklist.c:553 ../src/vikutils.c:65
+msgid "m/s"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:556
+#, c-format
+msgid ""
+"Av. Speed\n"
+"(%s)"
+msgstr ""
+
+#. Apply own formatting of the data
+#: ../src/viktrwlayer_tracklist.c:561
+#, c-format
+msgid ""
+"Max Speed\n"
+"(%s)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:569
+msgid ""
+"Max Height\n"
+"(Feet)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:571
+msgid ""
+"Max Height\n"
+"(Metres)"
+msgstr ""
+
+#: ../src/viktrwlayer_geotag.c:481
#, c-format
msgid "Geotagging %d Images..."
msgstr ""
-#: ../src/viktrwlayer_geotag.c:510
+#: ../src/viktrwlayer_geotag.c:545
msgid "Geotag Images"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:516
+#: ../src/viktrwlayer_geotag.c:551
msgid "Images"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:520
+#: ../src/viktrwlayer_geotag.c:555
msgid "Overwrite Existing Waypoints:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:523
+#: ../src/viktrwlayer_geotag.c:558
msgid "Overwrite Existing GPS Information:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:525
+#: ../src/viktrwlayer_geotag.c:560
msgid "Keep File Modification Timestamp:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:555
+#: ../src/viktrwlayer_geotag.c:592
msgid "Create Waypoints:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:563
+#: ../src/viktrwlayer_geotag.c:600
msgid "Write EXIF:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:575
+#: ../src/viktrwlayer_geotag.c:612
msgid "Interpolate Between Track Segments:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:579
+#: ../src/viktrwlayer_geotag.c:616
msgid "Image Time Offset (Seconds):"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:581
+#: ../src/viktrwlayer_geotag.c:618
msgid ""
"The number of seconds to ADD to the photos time to make it match the GPS "
"data. Calculate this with (GPS - Photo). Can be negative or positive. Useful "
"to adjust times when a camera's timestamp was incorrect."
msgstr ""
-#: ../src/viktrwlayer_geotag.c:584
+#: ../src/viktrwlayer_geotag.c:621
msgid "Image Timezone:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:586
+#: ../src/viktrwlayer_geotag.c:623
msgid ""
"The timezone that was used when the images were created. For example, if a "
"camera is set to AWST or +8:00 hours. Enter +8:00 here so that the correct "
"adjustment to the images' time can be made. GPS data is always in UTC."
msgstr ""
-#: ../src/viktrwlayer_geotag.c:590
+#: ../src/viktrwlayer_geotag.c:627
#, c-format
msgid "Using track: %s"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:592
+#: ../src/viktrwlayer_geotag.c:629
#, c-format
msgid "Using all tracks in: %s"
msgstr ""
-#: ../src/vikstatus.c:105
+#: ../src/viktrwlayer_analysis.c:193
+msgid "Number of Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:194
+msgid "Date Range"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:195
+msgid "Total Length"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:196
+msgid "Average Length"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:197
+msgid "Max Speed"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:198
+msgid "Avg. Speed"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:199
+msgid "Minimum Altitude"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:200
+msgid "Maximum Altitude"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:201
+msgid "Total Elevation Gain/Loss"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:202
+msgid "Avg. Elevation Gain/Loss"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:203
+msgid "Total Duration"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:204
+msgid "Avg. Duration"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:278
+#, c-format
+msgid "%.2f miles"
+msgstr ""
+
+#. VIK_UNITS_DISTANCE_KILOMETRES
+#: ../src/viktrwlayer_analysis.c:282
+#, c-format
+msgid "%.2f km"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:297
+#, c-format
+msgid "%.2f m/s"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:306
+#, c-format
+msgid "%.2f knots\n"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:309
+#, c-format
+msgid "%.2f knots"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:316 ../src/viktrwlayer_analysis.c:319
+#, c-format
+msgid "%.2f km/h"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:330 ../src/viktrwlayer_analysis.c:336
+#, c-format
+msgid "%d feet"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:341 ../src/viktrwlayer_analysis.c:343
+#, c-format
+msgid "%d feet / %d feet"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:348 ../src/viktrwlayer_analysis.c:354
+#, c-format
+msgid "%d m"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:359 ../src/viktrwlayer_analysis.c:361
+#, c-format
+msgid "%d m / %d m"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:373
+#, c-format
+msgid "%d:%02d:%02d days:hrs:mins"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:380
+#, c-format
+msgid "%d:%02d hrs:mins"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:550
+msgid "Include Invisible Items"
+msgstr ""
+
+#: ../src/vikstatus.c:107
+msgid "Current number of background tasks. Click to see the background jobs."
+msgstr ""
+
+#: ../src/vikstatus.c:113
msgid "Current zoom level. Click to select a new one."
msgstr ""
-#: ../src/vikwaypoint.c:34
+#: ../src/vikutils.c:80
+msgid "GPSD"
+msgstr ""
+
+#. GPS Preamble
+#: ../src/vikutils.c:81
+msgid "Trkpt"
+msgstr ""
+
+#: ../src/vikutils.c:121
+#, c-format
+msgid "%sSpeed%s %.1f%s"
+msgstr ""
+
+#: ../src/vikutils.c:130
+#, c-format
+msgid "%sAlt %dfeet"
+msgstr ""
+
+#. VIK_UNITS_HEIGHT_METRES:
+#: ../src/vikutils.c:134
+#, c-format
+msgid "%sAlt %dm"
+msgstr ""
+
+#: ../src/vikutils.c:142
+#, c-format
+msgid "%sCourse %03d°"
+msgstr ""
+
+#: ../src/vikutils.c:155
+msgid "yards"
+msgstr ""
+
+#. VIK_UNITS_DISTANCE_KILOMETRES:
+#: ../src/vikutils.c:159
+msgid "m"
+msgstr ""
+
+#: ../src/vikutils.c:163
+#, c-format
+msgid "%sDistance diff %d%s"
+msgstr ""
+
+#: ../src/vikutils.c:179
+#, c-format
+msgid "%sTime %s"
+msgstr ""
+
+#: ../src/vikutils.c:187
+#, c-format
+msgid "%sTime diff %lds"
+msgstr ""
+
+#: ../src/vikutils.c:193
+#, c-format
+msgid "%sNo. of Sats %d"
+msgstr ""
+
+#: ../src/vikutils.c:213
+#, c-format
+msgid "%sDistance along %.2f%s"
+msgstr ""
+
+#. Name of track
+#: ../src/vikutils.c:232
+#, c-format
+msgid "%sTrack: %s"
+msgstr ""
+
+#: ../src/vikwaypoint.c:36
msgid "Waypoint"
msgstr ""
#. TODO get rid of this as this is unnecessary duplication...
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Pan"
msgstr ""
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Zoom"
msgstr ""
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Ruler"
msgstr ""
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Select"
msgstr ""
+#: ../src/vikwindow.c:381
+msgid "Location lookup aborted"
+msgstr ""
+
+#: ../src/vikwindow.c:401
+#, c-format
+msgid "Location found: %s"
+msgstr ""
+
+#: ../src/vikwindow.c:410
+msgid "Unable to determine location"
+msgstr ""
+
+#: ../src/vikwindow.c:434
+msgid "Default Map"
+msgstr ""
+
+#: ../src/vikwindow.c:444
+msgid "Trying to determine location..."
+msgstr ""
+
+#: ../src/vikwindow.c:447
+msgid "Determining location"
+msgstr ""
+
#. Create tooltip
-#: ../src/vikwindow.c:440
+#: ../src/vikwindow.c:605
msgid "Select zoom level"
msgstr ""
-#: ../src/vikwindow.c:645
+#: ../src/vikwindow.c:923
#, c-format
msgid ""
"Do you want to save the changes you made to the document \"%s\"?\n"
@@ -3151,624 +3993,708 @@ msgid ""
"Your changes will be lost if you don't save them."
msgstr ""
-#: ../src/vikwindow.c:649
+#: ../src/vikwindow.c:927
msgid "Don't Save"
msgstr ""
-#: ../src/vikwindow.c:696
+#: ../src/vikwindow.c:1005
msgid "mpp"
msgstr ""
-#: ../src/vikwindow.c:696
+#: ../src/vikwindow.c:1005
msgid "pixelfact"
msgstr ""
-#: ../src/vikwindow.c:861
+#: ../src/vikwindow.c:1169
#, c-format
msgid "%s %s %dm"
msgstr ""
-#: ../src/vikwindow.c:863
+#: ../src/vikwindow.c:1171
#, c-format
msgid "%s %s %dft"
msgstr ""
-#: ../src/vikwindow.c:866
+#: ../src/vikwindow.c:1174
#, c-format
msgid "%s %s"
msgstr ""
#. NB Ctrl+Shift+R is used for Refresh (deemed more important), so use 'U' instead
-#: ../src/vikwindow.c:1254
+#: ../src/vikwindow.c:1562
msgid "_Ruler"
msgstr ""
-#: ../src/vikwindow.c:1254
+#: ../src/vikwindow.c:1562
msgid "Ruler Tool"
msgstr ""
-#: ../src/vikwindow.c:1502 ../src/vikwindow.c:3138
+#: ../src/vikwindow.c:1810 ../src/vikwindow.c:3697
msgid "_Zoom"
msgstr ""
-#: ../src/vikwindow.c:1502
+#: ../src/vikwindow.c:1810
msgid "Zoom Tool"
msgstr ""
-#: ../src/vikwindow.c:1547 ../src/vikwindow.c:3139
+#: ../src/vikwindow.c:1855 ../src/vikwindow.c:3698
msgid "_Pan"
msgstr ""
-#: ../src/vikwindow.c:1547
+#: ../src/vikwindow.c:1855
msgid "Pan Tool"
msgstr ""
-#: ../src/vikwindow.c:1664
+#: ../src/vikwindow.c:1972
msgid "_Select"
msgstr ""
-#: ../src/vikwindow.c:1664
+#: ../src/vikwindow.c:1972
msgid "Select Tool"
msgstr ""
-#: ../src/vikwindow.c:1809
+#: ../src/vikwindow.c:2123
msgid "You must select a layer to show its properties."
msgstr ""
#. No error to show, so unlikely this will get called
-#: ../src/vikwindow.c:1824
+#: ../src/vikwindow.c:2137
msgid "The help system is not available."
msgstr ""
#. Main error path
-#: ../src/vikwindow.c:1827
+#: ../src/vikwindow.c:2140
#, c-format
msgid ""
"Help is not available because: %s.\n"
"Ensure a Mime Type ghelp handler program is installed (e.g. yelp)."
msgstr ""
-#: ../src/vikwindow.c:1850
+#: ../src/vikwindow.c:2160
msgid "You must select a layer to delete."
msgstr ""
-#: ../src/vikwindow.c:2087
+#: ../src/vikwindow.c:2396
msgid "Untitled"
msgstr ""
-#: ../src/vikwindow.c:2194
+#: ../src/vikwindow.c:2503
#, c-format
msgid "Unable to add '%s' to the list of recently used documents"
msgstr ""
-#: ../src/vikwindow.c:2208
+#: ../src/vikwindow.c:2540
msgid "The file you requested could not be opened."
msgstr ""
-#: ../src/vikwindow.c:2211
+#: ../src/vikwindow.c:2543
msgid ""
"GPSBabel is required to load files of this type or GPSBabel encountered "
"problems."
msgstr ""
-#: ../src/vikwindow.c:2214
+#: ../src/vikwindow.c:2546
#, c-format
msgid "Unable to load malformed GPX file %s"
msgstr ""
-#: ../src/vikwindow.c:2217
+#: ../src/vikwindow.c:2549
#, c-format
msgid "Unsupported file type for %s"
msgstr ""
#. Since we can process .vik files with issues just show a warning in the status bar
#. Not that a user can do much about it... or tells them what this issue is yet...
-#: ../src/vikwindow.c:2223
+#: ../src/vikwindow.c:2555
#, c-format
msgid "WARNING: issues encountered loading %s"
msgstr ""
-#: ../src/vikwindow.c:2278
+#: ../src/vikwindow.c:2613
msgid "Please select a GPS data file to open. "
msgstr ""
-#: ../src/vikwindow.c:2288
+#: ../src/vikwindow.c:2629
msgid "Geocaching"
msgstr ""
-#: ../src/vikwindow.c:2294
+#: ../src/vikwindow.c:2635
msgid "Google Earth"
msgstr ""
-#: ../src/vikwindow.c:2299
+#: ../src/vikwindow.c:2640
msgid "GPX"
msgstr ""
-#: ../src/vikwindow.c:2304 ../src/vikwindow.c:2387
+#: ../src/vikwindow.c:2645 ../src/vikwindow.c:2734
#: ../src/viking.desktop.in.h:1
msgid "Viking"
msgstr ""
-#: ../src/vikwindow.c:2374
+#: ../src/vikwindow.c:2715
msgid "Save as Viking File."
msgstr ""
+#: ../src/vikwindow.c:2841
+msgid "Exporting to file: "
+msgstr ""
+
+#. Confirm what happened.
+#: ../src/vikwindow.c:2858
+#, c-format
+msgid "Exported files: %d"
+msgstr ""
+
+#: ../src/vikwindow.c:2870
+msgid "Nothing to Export!"
+msgstr ""
+
+#: ../src/vikwindow.c:2874
+msgid "Export to directory"
+msgstr ""
+
+#: ../src/vikwindow.c:2896
+msgid "Could not convert all files"
+msgstr ""
+
+#: ../src/vikwindow.c:2932
+#, c-format
+msgid "%d bytes"
+msgstr ""
+
+#: ../src/vikwindow.c:2934
+#, c-format
+msgid "%3.1f kB"
+msgstr ""
+
+#: ../src/vikwindow.c:2936
+#, c-format
+msgid "%3.1f MB"
+msgstr ""
+
+#: ../src/vikwindow.c:2937
+#, c-format
+msgid ""
+"%s\n"
+"\n"
+"%s\n"
+"\n"
+"%s"
+msgstr ""
+
+#: ../src/vikwindow.c:2942
+msgid "File not accessible"
+msgstr ""
+
+#: ../src/vikwindow.c:2945
+msgid "No Viking File"
+msgstr ""
+
+#: ../src/vikwindow.c:3035
+msgid "This layer has no configurable properties."
+msgstr ""
+
#. Try harder...
-#: ../src/vikwindow.c:2619 ../src/vikwindow.c:2625
+#: ../src/vikwindow.c:3169 ../src/vikwindow.c:3175
msgid "Generating image file..."
msgstr ""
-#: ../src/vikwindow.c:2647
+#: ../src/vikwindow.c:3197
msgid ""
"Failed to generate internal image.\n"
"\n"
"Try creating a smaller image."
msgstr ""
-#: ../src/vikwindow.c:2655
+#: ../src/vikwindow.c:3205
msgid "Failed to generate image file."
msgstr ""
#. Success
-#: ../src/vikwindow.c:2660
+#: ../src/vikwindow.c:3210
msgid "Image file generated."
msgstr ""
-#: ../src/vikwindow.c:2764
+#: ../src/vikwindow.c:3314
msgid ""
"Viewable region outside allowable pixel size bounds for image. Clipping "
"width/height values."
msgstr ""
-#: ../src/vikwindow.c:2789
+#: ../src/vikwindow.c:3339
#, c-format
msgid "Total area: %ldm x %ldm (%.3f sq. km)"
msgstr ""
-#: ../src/vikwindow.c:2792
+#: ../src/vikwindow.c:3342
#, c-format
msgid "Total area: %ldm x %ldm (%.3f sq. miles)"
msgstr ""
-#: ../src/vikwindow.c:2813
+#: ../src/vikwindow.c:3363
msgid "Save Image"
msgstr ""
-#: ../src/vikwindow.c:2834
+#: ../src/vikwindow.c:3393
msgid "PNG"
msgstr ""
-#: ../src/vikwindow.c:2857
+#: ../src/vikwindow.c:3416
msgid "You must be in UTM mode to use this feature"
msgstr ""
-#: ../src/vikwindow.c:2862
+#: ../src/vikwindow.c:3421
msgid "Choose a directory to hold images"
msgstr ""
#. todo: default for answers inside VikWindow or static (thruout instance)
-#: ../src/vikwindow.c:2883
+#: ../src/vikwindow.c:3442
msgid "Save to Image File"
msgstr ""
-#: ../src/vikwindow.c:2900
+#: ../src/vikwindow.c:3459
msgid "Width (pixels):"
msgstr ""
-#: ../src/vikwindow.c:2902
+#: ../src/vikwindow.c:3461
msgid "Height (pixels):"
msgstr ""
-#: ../src/vikwindow.c:2905
+#: ../src/vikwindow.c:3464
msgid ""
"WARNING: USING LARGE IMAGES OVER 10000x10000\n"
"MAY CRASH THE PROGRAM!"
msgstr ""
-#: ../src/vikwindow.c:2907
+#: ../src/vikwindow.c:3466
msgid "Zoom (meters per pixel):"
msgstr "Zoom (metres per pixel):"
-#: ../src/vikwindow.c:2921
+#: ../src/vikwindow.c:3482
msgid "Area in current viewable window"
msgstr ""
-#: ../src/vikwindow.c:2931
+#: ../src/vikwindow.c:3492
msgid "Save as PNG"
msgstr ""
-#: ../src/vikwindow.c:2932
+#: ../src/vikwindow.c:3493
msgid "Save as JPEG"
msgstr ""
-#: ../src/vikwindow.c:2954
+#: ../src/vikwindow.c:3515
msgid "East-west image tiles:"
msgstr ""
-#: ../src/vikwindow.c:2956
+#: ../src/vikwindow.c:3517
msgid "North-south image tiles:"
msgstr ""
-#: ../src/vikwindow.c:3097
+#: ../src/vikwindow.c:3656
msgid "Choose a background color"
msgstr "Choose a background colour"
-#: ../src/vikwindow.c:3113
+#: ../src/vikwindow.c:3672
msgid "Choose a track highlight color"
msgstr "Choose a track highlight colour"
-#: ../src/vikwindow.c:3134
+#: ../src/vikwindow.c:3693
msgid "_File"
msgstr ""
-#: ../src/vikwindow.c:3135
+#: ../src/vikwindow.c:3694
msgid "_Edit"
msgstr ""
-#: ../src/vikwindow.c:3136
-msgid "_View"
-msgstr ""
-
-#: ../src/vikwindow.c:3137
+#: ../src/vikwindow.c:3696
msgid "_Show"
msgstr ""
-#: ../src/vikwindow.c:3140
+#: ../src/vikwindow.c:3699
msgid "_Layers"
msgstr ""
-#: ../src/vikwindow.c:3141
+#: ../src/vikwindow.c:3700
msgid "_Tools"
msgstr ""
-#: ../src/vikwindow.c:3142
+#: ../src/vikwindow.c:3701
msgid "_Webtools"
msgstr ""
-#: ../src/vikwindow.c:3143 ../src/vikwindow.c:3206
+#: ../src/vikwindow.c:3702 ../src/vikwindow.c:3763
msgid "_Help"
msgstr ""
-#: ../src/vikwindow.c:3145
+#: ../src/vikwindow.c:3704
msgid "New file"
msgstr ""
-#: ../src/vikwindow.c:3146
+#: ../src/vikwindow.c:3705
msgid "_Open..."
msgstr ""
-#: ../src/vikwindow.c:3146
+#: ../src/vikwindow.c:3705
msgid "Open a file"
msgstr ""
-#: ../src/vikwindow.c:3147
+#: ../src/vikwindow.c:3706
msgid "Open _Recent File"
msgstr ""
-#: ../src/vikwindow.c:3148
+#: ../src/vikwindow.c:3707
msgid "Append _File..."
msgstr ""
-#: ../src/vikwindow.c:3148
+#: ../src/vikwindow.c:3707
msgid "Append data from a different file"
msgstr ""
-#: ../src/vikwindow.c:3149
+#: ../src/vikwindow.c:3708
+msgid "_Export All"
+msgstr ""
+
+#: ../src/vikwindow.c:3708
+msgid "Export All TrackWaypoint Layers"
+msgstr ""
+
+#: ../src/vikwindow.c:3709
+msgid "_GPX..."
+msgstr ""
+
+#: ../src/vikwindow.c:3709
+msgid "Export as GPX"
+msgstr ""
+
+#: ../src/vikwindow.c:3710
msgid "A_cquire"
msgstr ""
-#: ../src/vikwindow.c:3150
+#: ../src/vikwindow.c:3711
msgid "Transfer data from a GPS device"
msgstr ""
-#: ../src/vikwindow.c:3151
+#: ../src/vikwindow.c:3712
msgid "Import File With GPS_Babel..."
msgstr ""
-#: ../src/vikwindow.c:3151
+#: ../src/vikwindow.c:3712
msgid "Import file via GPSBabel converter"
msgstr ""
-#: ../src/vikwindow.c:3153
-msgid "Google _Directions..."
+#: ../src/vikwindow.c:3713
+msgid "_Directions..."
msgstr ""
-#: ../src/vikwindow.c:3153
-msgid "Get driving directions from Google"
+#: ../src/vikwindow.c:3713
+msgid "Get driving directions"
msgstr ""
-#: ../src/vikwindow.c:3156
+#: ../src/vikwindow.c:3715
msgid "_OSM Traces..."
msgstr ""
-#: ../src/vikwindow.c:3156
+#: ../src/vikwindow.c:3715
msgid "Get traces from OpenStreetMap"
msgstr ""
-#: ../src/vikwindow.c:3157
+#: ../src/vikwindow.c:3716
msgid "_My OSM Traces..."
msgstr ""
-#: ../src/vikwindow.c:3157
+#: ../src/vikwindow.c:3716
msgid "Get Your Own Traces from OpenStreetMap"
msgstr ""
-#: ../src/vikwindow.c:3160
+#: ../src/vikwindow.c:3719
msgid "Geo_caches..."
msgstr ""
-#: ../src/vikwindow.c:3160
+#: ../src/vikwindow.c:3719
msgid "Get Geocaches from geocaching.com"
msgstr ""
-#: ../src/vikwindow.c:3163
+#: ../src/vikwindow.c:3722
msgid "Create waypoints from geotagged images"
msgstr ""
-#: ../src/vikwindow.c:3166
+#: ../src/vikwindow.c:3725
msgid "Create waypoints from Wikipedia items in the current view"
msgstr ""
-#: ../src/vikwindow.c:3168
+#: ../src/vikwindow.c:3727
msgid "_Save"
msgstr ""
-#: ../src/vikwindow.c:3168
+#: ../src/vikwindow.c:3727
msgid "Save the file"
msgstr ""
-#: ../src/vikwindow.c:3169
+#: ../src/vikwindow.c:3728
msgid "Save _As..."
msgstr ""
-#: ../src/vikwindow.c:3169
+#: ../src/vikwindow.c:3728
msgid "Save the file under different name"
msgstr ""
-#: ../src/vikwindow.c:3170
+#: ../src/vikwindow.c:3729
+msgid "Properties..."
+msgstr ""
+
+#: ../src/vikwindow.c:3729
+msgid "File Properties"
+msgstr ""
+
+#: ../src/vikwindow.c:3730
msgid "_Generate Image File..."
msgstr ""
-#: ../src/vikwindow.c:3170
+#: ../src/vikwindow.c:3730
msgid "Save a snapshot of the workspace into a file"
msgstr ""
-#: ../src/vikwindow.c:3171
+#: ../src/vikwindow.c:3731
msgid "Generate _Directory of Images..."
msgstr ""
-#: ../src/vikwindow.c:3171
+#: ../src/vikwindow.c:3731
msgid "FIXME:IMGDIR"
msgstr ""
-#: ../src/vikwindow.c:3174
+#: ../src/vikwindow.c:3732
msgid "_Print..."
msgstr ""
-#: ../src/vikwindow.c:3174
+#: ../src/vikwindow.c:3732
msgid "Print maps"
msgstr ""
-#: ../src/vikwindow.c:3177
+#: ../src/vikwindow.c:3733
msgid "E_xit"
msgstr ""
-#: ../src/vikwindow.c:3177
+#: ../src/vikwindow.c:3733
msgid "Exit the program"
msgstr ""
-#: ../src/vikwindow.c:3178
+#: ../src/vikwindow.c:3734
msgid "Save and Exit"
msgstr ""
-#: ../src/vikwindow.c:3178
+#: ../src/vikwindow.c:3734
msgid "Save and Exit the program"
msgstr ""
-#: ../src/vikwindow.c:3180
+#: ../src/vikwindow.c:3736
msgid "Go to the _Default Location"
msgstr ""
-#: ../src/vikwindow.c:3180
+#: ../src/vikwindow.c:3736
msgid "Go to the default location"
msgstr ""
-#: ../src/vikwindow.c:3181
+#: ../src/vikwindow.c:3737
msgid "Go to _Location..."
msgstr ""
-#: ../src/vikwindow.c:3181
+#: ../src/vikwindow.c:3737
msgid "Go to address/place using text search"
msgstr ""
-#: ../src/vikwindow.c:3182
+#: ../src/vikwindow.c:3738
msgid "_Go to Lat/Lon..."
msgstr ""
-#: ../src/vikwindow.c:3182
+#: ../src/vikwindow.c:3738
msgid "Go to arbitrary lat/lon coordinate"
msgstr ""
-#: ../src/vikwindow.c:3183
+#: ../src/vikwindow.c:3739
msgid "Go to UTM..."
msgstr ""
-#: ../src/vikwindow.c:3183
+#: ../src/vikwindow.c:3739
msgid "Go to arbitrary UTM coordinate"
msgstr ""
-#: ../src/vikwindow.c:3184
+#: ../src/vikwindow.c:3740
msgid "_Refresh"
msgstr ""
-#: ../src/vikwindow.c:3184
+#: ../src/vikwindow.c:3740
msgid "Refresh any maps displayed"
msgstr ""
-#: ../src/vikwindow.c:3185
+#: ../src/vikwindow.c:3741
msgid "Set _Highlight Color..."
msgstr "Set _Highlight Colour..."
-#: ../src/vikwindow.c:3186
+#: ../src/vikwindow.c:3742
msgid "Set Bac_kground Color..."
msgstr "Set Bac_kground Colour..."
-#: ../src/vikwindow.c:3187
+#: ../src/vikwindow.c:3743
msgid "Zoom _In"
msgstr ""
-#: ../src/vikwindow.c:3188
+#: ../src/vikwindow.c:3744
msgid "Zoom _Out"
msgstr ""
-#: ../src/vikwindow.c:3189
+#: ../src/vikwindow.c:3745
msgid "Zoom _To..."
msgstr ""
-#: ../src/vikwindow.c:3190
+#: ../src/vikwindow.c:3746
msgid "Pan _North"
msgstr ""
-#: ../src/vikwindow.c:3191
+#: ../src/vikwindow.c:3747
msgid "Pan _East"
msgstr ""
-#: ../src/vikwindow.c:3192
+#: ../src/vikwindow.c:3748
msgid "Pan _South"
msgstr ""
-#: ../src/vikwindow.c:3193
+#: ../src/vikwindow.c:3749
msgid "Pan _West"
msgstr ""
-#: ../src/vikwindow.c:3194
+#: ../src/vikwindow.c:3750
msgid "Background _Jobs"
msgstr ""
-#: ../src/vikwindow.c:3196
+#: ../src/vikwindow.c:3752
msgid "Cu_t"
msgstr ""
-#: ../src/vikwindow.c:3197
-msgid "_Copy"
-msgstr ""
-
-#: ../src/vikwindow.c:3198
-msgid "_Paste"
-msgstr ""
-
-#: ../src/vikwindow.c:3199
-msgid "_Delete"
-msgstr ""
-
-#: ../src/vikwindow.c:3200
+#: ../src/vikwindow.c:3756
msgid "Delete All"
msgstr ""
-#: ../src/vikwindow.c:3201
+#: ../src/vikwindow.c:3757
msgid "_Flush Map Cache"
msgstr ""
-#: ../src/vikwindow.c:3202
+#: ../src/vikwindow.c:3758
msgid "_Set the Default Location"
msgstr ""
-#: ../src/vikwindow.c:3202
+#: ../src/vikwindow.c:3758
msgid "Set the Default Location to the current position"
msgstr ""
-#: ../src/vikwindow.c:3203
+#: ../src/vikwindow.c:3759
msgid "_Preferences"
msgstr ""
-#: ../src/vikwindow.c:3204
+#: ../src/vikwindow.c:3760
+msgid "_Layer Defaults"
+msgstr ""
+
+#: ../src/vikwindow.c:3761
msgid "_Properties"
msgstr ""
-#: ../src/vikwindow.c:3207
+#: ../src/vikwindow.c:3764
msgid "_About"
msgstr ""
-#: ../src/vikwindow.c:3213
+#: ../src/vikwindow.c:3768
+msgid "_KML..."
+msgstr ""
+
+#: ../src/vikwindow.c:3768
+msgid "Export as KML"
+msgstr ""
+
+#: ../src/vikwindow.c:3774
msgid "_UTM Mode"
msgstr ""
-#: ../src/vikwindow.c:3214
+#: ../src/vikwindow.c:3775
msgid "_Expedia Mode"
msgstr ""
-#: ../src/vikwindow.c:3215
+#: ../src/vikwindow.c:3776
msgid "_Mercator Mode"
msgstr ""
-#: ../src/vikwindow.c:3216
+#: ../src/vikwindow.c:3777
msgid "Lat_/Lon Mode"
msgstr ""
-#: ../src/vikwindow.c:3220
+#: ../src/vikwindow.c:3781
msgid "Show _Scale"
msgstr ""
-#: ../src/vikwindow.c:3220
+#: ../src/vikwindow.c:3781
msgid "Show Scale"
msgstr ""
-#: ../src/vikwindow.c:3221
+#: ../src/vikwindow.c:3782
msgid "Show _Center Mark"
msgstr ""
-#: ../src/vikwindow.c:3221
+#: ../src/vikwindow.c:3782
msgid "Show Center Mark"
msgstr "Show Centre Mark"
-#: ../src/vikwindow.c:3222
+#: ../src/vikwindow.c:3783
msgid "Show _Highlight"
msgstr ""
-#: ../src/vikwindow.c:3222
+#: ../src/vikwindow.c:3783
msgid "Show Highlight"
msgstr ""
-#: ../src/vikwindow.c:3223
+#: ../src/vikwindow.c:3784
msgid "_Full Screen"
msgstr ""
-#: ../src/vikwindow.c:3223
+#: ../src/vikwindow.c:3784
msgid "Activate full screen mode"
msgstr ""
-#: ../src/vikwindow.c:3224
+#: ../src/vikwindow.c:3785
msgid "Show Side _Panel"
msgstr ""
-#: ../src/vikwindow.c:3224
+#: ../src/vikwindow.c:3785
msgid "Show Side Panel"
msgstr ""
-#: ../src/vikwindow.c:3225
+#: ../src/vikwindow.c:3786
msgid "Show Status_bar"
msgstr ""
-#: ../src/vikwindow.c:3225
+#: ../src/vikwindow.c:3786
msgid "Show Statusbar"
msgstr ""
-#: ../src/vikwindow.c:3226
+#: ../src/vikwindow.c:3787
msgid "Show _Toolbar"
msgstr ""
-#: ../src/vikwindow.c:3226
+#: ../src/vikwindow.c:3787
msgid "Show Toolbar"
msgstr ""
-#: ../src/vikwindow.c:3227
+#: ../src/vikwindow.c:3788
msgid "Show _Menu"
msgstr ""
-#: ../src/vikwindow.c:3227
+#: ../src/vikwindow.c:3788
msgid "Show Menu"
msgstr ""
+#: ../src/vikwindow.c:3862
+#, c-format
+msgid "New _%s Layer"
+msgstr ""
+
#: ../src/viking.desktop.in.h:2
msgid "GPS Data Manager"
msgstr ""
diff --git a/po/es.po b/po/es.po
index 1720031..569b551 100644
--- a/po/es.po
+++ b/po/es.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: viking\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-02-04 23:29+0100\n"
+"POT-Creation-Date: 2013-09-03 21:58+0200\n"
"PO-Revision-Date: 2012-11-04 20:58+0000\n"
"Last-Translator: Aiguanachein <Unknown>\n"
"Language-Team: Spanish <es@li.org>\n"
@@ -15,63 +15,63 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Launchpad-Export-Date: 2013-03-23 17:12+0000\n"
-"X-Generator: Launchpad (build 16540)\n"
+"X-Launchpad-Export-Date: 2013-10-12 09:04+0000\n"
+"X-Generator: Launchpad (build 16799)\n"
#: ../src/dialog.c:199
msgid "Waypoint Properties"
msgstr "Propiedades del punto de ruta (Waypoint)"
-#: ../src/acquire.c:103 ../src/vikgpslayer.c:1185
+#: ../src/acquire.c:103 ../src/vikgpslayer.c:1235
msgid "Done."
msgstr "Hecho."
-#: ../src/acquire.c:114
+#: ../src/acquire.c:112
msgid "No data."
msgstr "Sin datos."
-#: ../src/acquire.c:154 ../src/acquire.c:404
+#: ../src/acquire.c:154 ../src/acquire.c:424
msgid "Error: acquisition failed."
msgstr "Error: Fallo en la adquisión"
-#: ../src/acquire.c:341
+#: ../src/acquire.c:352
msgid "Working..."
msgstr "Trabajando..."
#. This shouldn't happen...
-#: ../src/acquire.c:394
+#: ../src/acquire.c:415
msgid ""
"Unable to create command\n"
"Acquire method failed."
msgstr ""
-#: ../src/acquire.c:486
+#: ../src/acquire.c:517
msgid "_Filter"
msgstr ""
-#: ../src/acquire.c:501
+#: ../src/acquire.c:532
#, c-format
msgid "Filter with %s"
msgstr ""
-#: ../src/acquire.c:518
+#: ../src/acquire.c:549
msgid "Filter"
msgstr ""
-#: ../src/background.c:52
+#: ../src/background.c:53
#, c-format
msgid "%d items"
msgstr "%d elementos"
-#: ../src/background.c:248
+#: ../src/background.c:254
msgid "Job"
msgstr "Tarea"
-#: ../src/background.c:252
+#: ../src/background.c:258
msgid "Progress"
msgstr "En proceso"
-#: ../src/background.c:268
+#: ../src/background.c:274
msgid "Viking Background Jobs"
msgstr "Tareas en segundo plano de Viking"
@@ -80,7 +80,7 @@ msgid "Bing"
msgstr ""
#. VIK_GTK_WINDOW_FROM_WIDGET(vp)
-#: ../src/bingmapsource.c:445
+#: ../src/bingmapsource.c:499
msgid "Bing attribution Loading"
msgstr ""
@@ -107,137 +107,141 @@ msgid ""
"into."
msgstr "Por favor, seleccione una capa apropiada para pegar el waypoint."
-#: ../src/dialog.c:52
+#: ../src/dialog.c:53
msgid "Go to Lat/Lon"
msgstr "Ir a Lat/Lon"
-#: ../src/dialog.c:64 ../src/dialog.c:251
+#: ../src/dialog.c:65 ../src/dialog.c:244
msgid "Latitude:"
msgstr "Latitud:"
-#: ../src/dialog.c:70 ../src/dialog.c:256
+#: ../src/dialog.c:71 ../src/dialog.c:249
msgid "Longitude:"
msgstr "Longitud:"
-#: ../src/dialog.c:102
+#: ../src/dialog.c:103
msgid "Go to UTM"
msgstr "Ir hacia UTM"
-#: ../src/dialog.c:115
+#: ../src/dialog.c:116
msgid "Northing:"
msgstr "Despl. N:"
-#: ../src/dialog.c:121
+#: ../src/dialog.c:122
msgid "Easting:"
msgstr "Despl. E:"
-#: ../src/dialog.c:128
+#: ../src/dialog.c:129
msgid "Zone:"
msgstr "Zona:"
-#: ../src/dialog.c:131
+#: ../src/dialog.c:132
msgid "Letter:"
msgstr "Carta:"
-#: ../src/dialog.c:233
+#: ../src/dialog.c:235
msgid "Name:"
msgstr "Nombre:"
-#: ../src/dialog.c:261
+#: ../src/dialog.c:254
msgid "Altitude:"
msgstr "Altitud:"
-#: ../src/dialog.c:266
+#: ../src/dialog.c:259
msgid "Comment:"
msgstr "Comentario:"
-#: ../src/dialog.c:274 ../src/osm-traces.c:437
+#: ../src/dialog.c:267 ../src/osm-traces.c:445
msgid "Description:"
msgstr "Descripción:"
-#: ../src/dialog.c:277
+#: ../src/dialog.c:270
msgid "Image:"
msgstr "Imagen:"
-#: ../src/dialog.c:282
+#: ../src/dialog.c:275
msgid "Symbol:"
msgstr "Símbolo:"
-#: ../src/dialog.c:291
+#: ../src/dialog.c:284
msgid "(none)"
msgstr "(nada)"
+#: ../src/dialog.c:326
+msgid "Time:"
+msgstr ""
+
#. TODO: other checks (isalpha or whatever )
-#: ../src/dialog.c:356
+#: ../src/dialog.c:363
msgid "Please enter a name for the waypoint."
msgstr "Por favor, introduzca el nombre del waypoint."
-#: ../src/dialog.c:529 ../src/geonamessearch.c:243
+#: ../src/dialog.c:502 ../src/geonamessearch.c:244
#: ../src/datasource_osm_my_traces.c:507
msgid "Nothing was selected"
msgstr "Nada fue seleccionado"
-#: ../src/dialog.c:537
+#: ../src/dialog.c:510
msgid "Add Route"
msgstr ""
-#: ../src/dialog.c:537
+#: ../src/dialog.c:510
msgid "Add Track"
msgstr "Añadir ruta"
-#: ../src/dialog.c:545
+#: ../src/dialog.c:518
msgid "Route Name:"
msgstr ""
-#: ../src/dialog.c:545
+#: ../src/dialog.c:518
msgid "Track Name:"
msgstr "Nombre de ruta:"
-#: ../src/dialog.c:565
+#: ../src/dialog.c:538
msgid "Please enter a name for the track."
msgstr "Por favor, introduzca el nombre de la ruta."
-#: ../src/dialog.c:623
+#: ../src/dialog.c:596
msgid "Zoom Factors..."
msgstr "Factor de acercamiento"
-#: ../src/dialog.c:637
+#: ../src/dialog.c:610
msgid "Zoom factor (in meters per pixel):"
msgstr "Factor de zoom (en metros por pixel)"
-#: ../src/dialog.c:638
+#: ../src/dialog.c:611
msgid "X (easting): "
msgstr "X (despl. E): "
-#: ../src/dialog.c:639
+#: ../src/dialog.c:612
msgid "Y (northing): "
msgstr "Y (despl. N): "
-#: ../src/dialog.c:644
+#: ../src/dialog.c:617
msgid "X and Y zoom factors must be equal"
msgstr "Mantener factores de zoom X e Y iguales"
-#: ../src/dialog.c:699
+#: ../src/dialog.c:672
msgid "1 min"
msgstr "1 min"
-#: ../src/dialog.c:700
+#: ../src/dialog.c:673
msgid "1 hour"
msgstr "1 hora"
-#: ../src/dialog.c:701
+#: ../src/dialog.c:674
msgid "1 day"
msgstr "1 día"
-#: ../src/dialog.c:702
+#: ../src/dialog.c:675
msgid "Custom (in minutes):"
msgstr "Personalizado (minutos):"
-#: ../src/dialog.c:808
+#: ../src/dialog.c:786
msgid "GPS Data and Topo Analyzer, Explorer, and Manager."
msgstr "Analizador, Explorador y Gestor de datos topológicos y GPS."
-#: ../src/dialog.c:809
+#: ../src/dialog.c:787
msgid ""
"This program is free software; you can redistribute it and/or modify it "
"under the terms of the GNU General Public License as published by the Free "
@@ -268,28 +272,28 @@ msgstr ""
"Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-"
"1307, USA"
-#: ../src/dialog.c:837
+#: ../src/dialog.c:852
msgid "Translation is coordinated on http://launchpad.net/viking"
msgstr "La traducción se coordina en http://launchpad.net/viking"
-#: ../src/dialog.c:845
+#: ../src/dialog.c:861
msgid "Download along track"
msgstr "Descargar a lo largo de la ruta"
-#: ../src/dialog.c:851
+#: ../src/dialog.c:868
msgid "Map type:"
msgstr "Tipo de mapa:"
-#: ../src/dialog.c:856
+#: ../src/dialog.c:874
msgid "Zoom level:"
msgstr "Nivel de zoom:"
-#: ../src/dialog.c:896
+#: ../src/dialog.c:914
#, c-format
msgid "The map data is licensed: %s."
msgstr "Los datos del mapa están bajo licencia: %s"
-#: ../src/dialog.c:899
+#: ../src/dialog.c:917
#, c-format
msgid ""
"The data provided by '<b>%s</b>' are licensed under the following license: "
@@ -300,7 +304,7 @@ msgstr ""
"<b>%s</b>.\n"
"Por favor, lee esta licencia antes de seguir."
-#: ../src/dialog.c:904
+#: ../src/dialog.c:922
msgid "Open license"
msgstr "Licencia libre"
@@ -349,7 +353,8 @@ msgstr "¡No se encontraron resultados!"
#. NB could allow columns to be shifted around by doing this after each new
#. gtk_tree_view_column_set_reorderable ( column, TRUE );
#. However I don't think is that useful, so I haven't put it in
-#: ../src/geonamessearch.c:177 ../src/datasource_osm_my_traces.c:425
+#: ../src/geonamessearch.c:177 ../src/datasource_osm_my_traces.c:424
+#: ../src/viktrwlayer_tracklist.c:521
msgid "Name"
msgstr ""
@@ -357,82 +362,192 @@ msgstr ""
msgid "Feature"
msgstr ""
-#: ../src/geonamessearch.c:187 ../src/datasource_osm_my_traces.c:440
+#: ../src/geonamessearch.c:187 ../src/datasource_osm_my_traces.c:439
msgid "Lat/Lon"
msgstr ""
-#: ../src/geonamessearch.c:269 ../src/googlesearch.c:100
+#: ../src/geonamessearch.c:270 ../src/googlesearch.c:100 ../src/vikgoto.c:306
msgid "couldn't map temp file"
msgstr "No se ha podido trazar el mapa del archivo temporal"
-#: ../src/globals.c:44
+#: ../src/globals.c:73
+msgid "Absolute"
+msgstr ""
+
+#: ../src/globals.c:73
+msgid "Relative"
+msgstr ""
+
+#: ../src/globals.c:76
msgid "Degree format:"
msgstr "Formato de aceptación"
-#: ../src/globals.c:48
+#: ../src/globals.c:77
msgid "Distance units:"
msgstr "Unidades de distancia"
-#: ../src/globals.c:52
+#: ../src/globals.c:78
msgid "Speed units:"
msgstr "Unidades de velocidad"
-#: ../src/globals.c:56
+#: ../src/globals.c:79
msgid "Height units:"
msgstr "Unidades de altura"
-#: ../src/globals.c:60
+#: ../src/globals.c:80
msgid "Use large waypoint icons:"
msgstr "Usar iconos grandes para Waypoints"
-#: ../src/globals.c:64
+#: ../src/globals.c:81
msgid "Default latitude:"
msgstr "Latitud por defecto"
-#: ../src/globals.c:67
+#: ../src/globals.c:82
msgid "Default longitude:"
msgstr "Longitud por defecto"
-#: ../src/globals.c:73
+#: ../src/globals.c:88
msgid "Alphabetical"
msgstr ""
-#: ../src/globals.c:73 ../src/datasource_osm_my_traces.c:435
+#: ../src/globals.c:88 ../src/datasource_osm_my_traces.c:434
msgid "Time"
msgstr ""
-#: ../src/globals.c:76
+#: ../src/globals.c:88
+msgid "Creation"
+msgstr ""
+
+#: ../src/globals.c:89
+msgid "Title Case"
+msgstr ""
+
+#: ../src/globals.c:89
+msgid "Lowercase"
+msgstr ""
+
+#: ../src/globals.c:92
msgid "KML File Export Units:"
msgstr ""
-#: ../src/globals.c:77
+#: ../src/globals.c:93
msgid "GPX Track Order:"
msgstr ""
-#: ../src/globals.c:82
+#: ../src/globals.c:94
+msgid "GPX Waypoint Symbols:"
+msgstr ""
+
+#: ../src/globals.c:95
+msgid ""
+"Save GPX Waypoint Symbol names in the specified case. May be useful for "
+"compatibility with various devices"
+msgstr ""
+
+#: ../src/globals.c:100
msgid "Image Viewer:"
msgstr "Visor de imágenes:"
-#: ../src/globals.c:87
+#: ../src/globals.c:105
msgid "External GPX Program 1:"
msgstr ""
-#: ../src/globals.c:88
+#: ../src/globals.c:106
msgid "External GPX Program 2:"
msgstr ""
+#: ../src/globals.c:110
+msgid "Save File Reference Mode:"
+msgstr ""
+
+#: ../src/globals.c:111
+msgid ""
+"When saving a Viking .vik file, this determines how the directory paths of "
+"filenames are written."
+msgstr ""
+
+#: ../src/globals.c:112
+msgid "Show Tooltip during Track Creation:"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Home Location"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Last Location"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Specified File"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Auto Location"
+msgstr ""
+
+#: ../src/globals.c:118
+msgid "Restore Window Setup:"
+msgstr ""
+
+#: ../src/globals.c:119
+msgid "Restore window size and layout"
+msgstr ""
+
+#: ../src/globals.c:120
+msgid "Add a Default Map Layer:"
+msgstr ""
+
+#: ../src/globals.c:121
+msgid ""
+"The default map layer added is defined by the Layer Defaults. Use the menu "
+"Edit->Layer Defaults->Map... to change the map type and other values."
+msgstr ""
+
+#: ../src/globals.c:122
+msgid "Startup Method:"
+msgstr ""
+
+#: ../src/globals.c:123
+msgid "Startup File:"
+msgstr ""
+
+#: ../src/globals.c:124
+msgid ""
+"The default file to load on startup. Only applies when the startup method is "
+"set to 'Specified File'"
+msgstr ""
+
+#: ../src/globals.c:125
+msgid "Check For New Version:"
+msgstr ""
+
+#: ../src/globals.c:126
+msgid "Periodically check to see if a new version of Viking is available"
+msgstr ""
+
#. Defaults for the options are setup here
-#: ../src/globals.c:96
+#: ../src/globals.c:163
msgid "General"
msgstr ""
#. New Tab
-#: ../src/globals.c:121
+#: ../src/globals.c:188
+msgid "Startup"
+msgstr ""
+
+#. New Tab
+#: ../src/globals.c:206
msgid "Export/External"
msgstr ""
+#. 'Advanced' Properties
+#: ../src/globals.c:230
+msgid "Advanced"
+msgstr ""
+
#. Webtools
-#: ../src/google.c:36
+#: ../src/google.c:38
msgid "Google"
msgstr "Google"
@@ -445,24 +560,24 @@ msgid "Imported file"
msgstr "Archivo importado"
#. The file selector
-#: ../src/datasource_file.c:133
+#: ../src/datasource_file.c:127
msgid "File:"
msgstr ""
-#: ../src/datasource_file.c:134
+#: ../src/datasource_file.c:128
msgid "File to import"
msgstr ""
-#: ../src/datasource_file.c:141
+#: ../src/datasource_file.c:135
msgid "All files"
msgstr ""
#. The file format selector
-#: ../src/datasource_file.c:148
+#: ../src/datasource_file.c:142
msgid "File type:"
msgstr ""
-#: ../src/datasource_file.c:193
+#: ../src/datasource_file.c:184
#, c-format
msgid "using babel args '%s' and file '%s'"
msgstr ""
@@ -475,29 +590,29 @@ msgstr "Descargar geocachés"
msgid "Geocaching.com Caches"
msgstr "Cachés de Geocaching.com"
-#: ../src/datasource_gc.c:84
+#: ../src/datasource_gc.c:85
msgid "geocaching.com username:"
msgstr "Nombre de usuario de geocaching.com"
-#: ../src/datasource_gc.c:85
+#: ../src/datasource_gc.c:86
msgid "geocaching.com password:"
msgstr "Contraseña de geocaching.com"
-#: ../src/datasource_gc.c:126
+#: ../src/datasource_gc.c:127
#, c-format
msgid ""
"Can't find %s or %s in path! Check that you have installed it correctly."
msgstr ""
-#: ../src/datasource_gc.c:188
+#: ../src/datasource_gc.c:189
msgid "Number geocaches:"
msgstr "Número de geocachés:"
-#: ../src/datasource_gc.c:190
+#: ../src/datasource_gc.c:191
msgid "Centered around:"
msgstr "Centrado alrededor de:"
-#: ../src/datasource_gc.c:226
+#: ../src/datasource_gc.c:230
msgid "Broken input - using some defaults"
msgstr ""
@@ -509,98 +624,89 @@ msgstr ""
msgid "Geotagged Images"
msgstr ""
-#: ../src/datasource_geotag.c:102 ../src/vikwindow.c:2314
-#: ../src/vikwindow.c:2382 ../src/vikwindow.c:2824
+#: ../src/datasource_geotag.c:102 ../src/vikwindow.c:2655
+#: ../src/vikwindow.c:2729 ../src/vikwindow.c:3380
msgid "All"
msgstr ""
-#: ../src/datasource_geotag.c:107 ../src/vikwindow.c:2829
+#: ../src/datasource_geotag.c:107 ../src/vikwindow.c:3385
msgid "JPG"
msgstr ""
-#: ../src/datasource_geotag.c:165
+#: ../src/datasource_geotag.c:168
#, c-format
msgid "Unable to create waypoint from %s"
msgstr ""
-#: ../src/datasource_google.c:49 ../src/datasource_google.c:50
-msgid "Google Directions"
-msgstr "Direcciones Google"
-
-#: ../src/datasource_google.c:77
-msgid "From:"
-msgstr "Desde:"
-
-#: ../src/datasource_google.c:79
-msgid "To:"
-msgstr "Hasta:"
-
-#: ../src/datasource_gps.c:57
+#: ../src/datasource_gps.c:54
msgid "Acquire from GPS"
msgstr "Adquirir desde GPS"
-#: ../src/datasource_gps.c:58
+#: ../src/datasource_gps.c:55
msgid "Acquired from GPS"
msgstr "Adquirido desde GPS"
-#: ../src/datasource_gps.c:221
+#: ../src/datasource_gps.c:245
#, c-format
msgid "using cmdline '%s' and file '%s'\n"
msgstr "usando línea de comandos '%s' y fichero '%s'\n"
-#: ../src/datasource_gps.c:297 ../src/vikgpslayer.c:884
+#: ../src/datasource_gps.c:327 ../src/vikgpslayer.c:934
#, c-format
msgid "Downloading %d waypoint..."
msgid_plural "Downloading %d waypoints..."
msgstr[0] "Descargando %d waypoint..."
msgstr[1] "Descargando %d waypoints..."
-#: ../src/datasource_gps.c:298 ../src/vikgpslayer.c:885
+#: ../src/datasource_gps.c:328 ../src/vikgpslayer.c:935
#, c-format
msgid "Downloading %d trackpoint..."
msgid_plural "Downloading %d trackpoints..."
msgstr[0] "Descargando %d traza"
msgstr[1] "Descargando %d trazas"
-#: ../src/datasource_gps.c:303 ../src/vikgpslayer.c:890
+#: ../src/datasource_gps.c:333 ../src/vikgpslayer.c:940
#, c-format
msgid "Downloading %d routepoint..."
msgid_plural "Downloading %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/datasource_gps.c:325 ../src/datasource_gps.c:326
-#: ../src/datasource_gps.c:327
+#: ../src/datasource_gps.c:355 ../src/datasource_gps.c:356
+#: ../src/datasource_gps.c:357
#, c-format
msgid "Downloaded %d out of %d %s..."
msgstr "Descargados %d de %d %s..."
-#: ../src/datasource_gps.c:331 ../src/datasource_gps.c:332
-#: ../src/datasource_gps.c:333
+#: ../src/datasource_gps.c:361 ../src/datasource_gps.c:362
+#: ../src/datasource_gps.c:363
#, c-format
msgid "Downloaded %d %s."
msgstr "Descargados %d %s."
-#: ../src/datasource_gps.c:347 ../src/vikgpslayer.c:968
+#: ../src/datasource_gps.c:377 ../src/vikgpslayer.c:1018
#, c-format
msgid "GPS Device: %s"
msgstr "Dispositivo GPS: %s"
-#: ../src/datasource_gps.c:370 ../src/vikgpslayer.c:1042
-#: ../src/vikgpslayer.c:1110
+#: ../src/datasource_gps.c:400 ../src/vikgpslayer.c:1092
+#: ../src/vikgpslayer.c:1160
msgid "Status: Working..."
msgstr ""
-#: ../src/datasource_gps.c:469 ../src/vikgpslayer.c:150
+#. NB gps_layer_inst_init() is performed after parameter registeration
+#. thus to give the protocols some potential values use the old static list
+#. TODO: find another way to use gps_layer_inst_init()?
+#: ../src/datasource_gps.c:500 ../src/vikgpslayer.c:207
msgid "GPS Protocol:"
msgstr "Protocolo GPS:"
-#. List now assigned at runtime
-#: ../src/datasource_gps.c:488 ../src/vikgpslayer.c:151
+#. List reassigned at runtime
+#: ../src/datasource_gps.c:526 ../src/vikgpslayer.c:208
msgid "Serial Port:"
msgstr "Puerto serie:"
-#: ../src/datasource_gps.c:509
+#: ../src/datasource_gps.c:576
msgid ""
"Turn Off After Transfer\n"
"(Garmin/NAViLink Only)"
@@ -608,19 +714,19 @@ msgstr ""
"Girar después del cambio\n"
"(Garmin/NAViLink Sólo)"
-#: ../src/datasource_gps.c:512
+#: ../src/datasource_gps.c:583
msgid "Tracks:"
msgstr ""
-#: ../src/datasource_gps.c:516
+#: ../src/datasource_gps.c:590
msgid "Routes:"
msgstr ""
-#: ../src/datasource_gps.c:520
+#: ../src/datasource_gps.c:597
msgid "Waypoints:"
msgstr ""
-#: ../src/datasource_gps.c:594 ../src/vikgpslayer.c:1305
+#: ../src/datasource_gps.c:675 ../src/vikgpslayer.c:1355
msgid "GPS device: N/A"
msgstr "Dispositivo GPS: (no disponible)"
@@ -628,39 +734,39 @@ msgstr "Dispositivo GPS: (no disponible)"
msgid "OSM traces"
msgstr "Trazas de OSM"
-#: ../src/datasource_osm.c:80
+#: ../src/datasource_osm.c:82
msgid "Page number:"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:63 ../src/datasource_osm_my_traces.c:64
+#: ../src/datasource_osm_my_traces.c:59 ../src/datasource_osm_my_traces.c:60
msgid "OSM My Traces"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:108
+#: ../src/datasource_osm_my_traces.c:104
msgid "Username:"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:113
+#: ../src/datasource_osm_my_traces.c:109
msgid "The email or username used to login to OSM"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:115 ../src/osm-traces.c:413
+#: ../src/datasource_osm_my_traces.c:111 ../src/osm-traces.c:421
msgid "Password:"
msgstr "Contraseña:"
-#: ../src/datasource_osm_my_traces.c:120
+#: ../src/datasource_osm_my_traces.c:114
msgid "The password used to login to OSM"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:430
+#: ../src/datasource_osm_my_traces.c:429
msgid "Description"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:445
+#: ../src/datasource_osm_my_traces.c:444
msgid "Privacy"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:452
+#: ../src/datasource_osm_my_traces.c:451
msgid "Within Current View"
msgstr ""
@@ -672,15 +778,33 @@ msgstr ""
msgid "None found!"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:629
+#: ../src/datasource_osm_my_traces.c:634
msgid "My OSM Traces"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:645
+#: ../src/datasource_osm_my_traces.c:649
#, c-format
msgid "Unable to get trace: %s"
msgstr ""
+#: ../src/datasource_routing.c:53 ../src/datasource_routing.c:54
+msgid "Directions"
+msgstr ""
+
+#. Engine selector
+#: ../src/datasource_routing.c:83
+msgid "Engine:"
+msgstr ""
+
+#. From and To entries
+#: ../src/datasource_routing.c:88
+msgid "From:"
+msgstr "Desde:"
+
+#: ../src/datasource_routing.c:90
+msgid "To:"
+msgstr "Hasta:"
+
#: ../src/datasource_wikipedia.c:32
msgid "Create Waypoints from Wikipedia Articles"
msgstr ""
@@ -701,138 +825,138 @@ msgstr "Cabecera DEM no válida"
msgid "Incorrect DEM Class B record: expected 1"
msgstr "Registro DEM de clase B incorrecto: se esperaba 1"
-#: ../src/dem.c:360
+#: ../src/dem.c:288 ../src/download.c:170
#, c-format
msgid "Couldn't map file %s: %s"
msgstr "No se encuentra el archivo de mapa %s:%s"
-#: ../src/download.c:112
-msgid "Tile age (s):"
-msgstr "Edad(es) de la tesela:"
+#: ../src/download.c:130
+msgid "Tile age (days):"
+msgstr ""
-#: ../src/download.c:233
+#: ../src/download.c:321
#, c-format
msgid "Download error: %s"
msgstr "Error en descarga: %s"
-#: ../src/download.c:313
+#: ../src/download.c:404
msgid "couldn't open temp file"
msgstr "No se ha podido abrir el archivo temporal"
-#: ../src/file.c:456 ../src/file.c:461
+#: ../src/file.c:451 ../src/file.c:456
#, c-format
msgid "Draw mode '%s' no more supported"
msgstr "El modo de dibujo '%s' no es soportado ya"
-#: ../src/geotag_exif.c:433
+#: ../src/geotag_exif.c:421
msgid "Not enough memory."
msgstr ""
-#: ../src/geotag_exif.c:451
+#: ../src/geotag_exif.c:439
msgid "Setting a value for this tag is unsupported!"
msgstr ""
-#: ../src/geotag_exif.c:470
+#: ../src/geotag_exif.c:458
#, c-format
msgid "Too few components specified (need %d, found %d)\n"
msgstr ""
-#: ../src/geotag_exif.c:474
+#: ../src/geotag_exif.c:462
msgid "Numeric value expected\n"
msgstr "Se espera un valor numérico\n"
-#: ../src/geotag_exif.c:482
+#: ../src/geotag_exif.c:470
msgid "This shouldn't happen!"
msgstr "¡Esto no debería suceder!"
-#: ../src/geotag_exif.c:552
+#: ../src/geotag_exif.c:540
msgid "Not yet implemented!"
msgstr "¡No implementado aún!"
-#: ../src/geotag_exif.c:565
+#: ../src/geotag_exif.c:553
msgid "Warning; Too many components specified!"
msgstr ""
-#: ../src/osm-traces.c:73
+#: ../src/osm-traces.c:76
msgid "Identifiable (public w/ timestamps)"
msgstr "Identificable (público c/ timestamps)"
-#: ../src/osm-traces.c:74
+#: ../src/osm-traces.c:77
msgid "Trackable (private w/ timestamps)"
msgstr "Trazable (privado con fecha y hora)"
-#: ../src/osm-traces.c:75
+#: ../src/osm-traces.c:78
msgid "Public"
msgstr "Pública"
-#: ../src/osm-traces.c:76
+#: ../src/osm-traces.c:79
msgid "Private"
msgstr "Privado"
-#: ../src/osm-traces.c:93
+#: ../src/osm-traces.c:97
msgid "OSM username:"
msgstr "Usuario OSM:"
-#: ../src/osm-traces.c:94
+#: ../src/osm-traces.c:98
msgid "OSM password:"
msgstr "Contraseña OSM:"
#. Preferences
-#: ../src/osm-traces.c:151
+#: ../src/osm-traces.c:155
msgid "OpenStreetMap Traces"
msgstr "Trazas OpenStreetMap"
-#: ../src/osm-traces.c:234
+#: ../src/osm-traces.c:238
#, c-format
msgid "failed to upload data: HTTP response is %ld"
msgstr "fallo al enviar datos: la respuesta HTTP es %ld"
-#: ../src/osm-traces.c:239
+#: ../src/osm-traces.c:243
#, c-format
msgid "curl_easy_getinfo failed: %d"
msgstr "fallo en la llamada a la función curl_easy_getinfo(): %d"
-#: ../src/osm-traces.c:244
+#: ../src/osm-traces.c:248
#, c-format
msgid "curl request failed: %s"
msgstr "fallo en petición curl: %s"
-#: ../src/osm-traces.c:275
+#: ../src/osm-traces.c:279
#, c-format
msgid "failed to open temporary file: %s"
msgstr "fallo al abrir fichero temporal: %s"
#. Success
-#: ../src/osm-traces.c:328
+#: ../src/osm-traces.c:340
msgid "Uploaded to OSM"
msgstr "Subido a OSM"
-#: ../src/osm-traces.c:332
+#: ../src/osm-traces.c:344
msgid "FAILED TO UPLOAD DATA TO OSM - CURL PROBLEM"
msgstr ""
-#: ../src/osm-traces.c:335
+#: ../src/osm-traces.c:347
msgid "FAILED TO UPLOAD DATA TO OSM"
msgstr ""
-#: ../src/osm-traces.c:335
+#: ../src/osm-traces.c:347
msgid "HTTP response code"
msgstr "Código de respuesta HTTP"
-#: ../src/osm-traces.c:348
+#: ../src/osm-traces.c:355
#, c-format
msgid "failed to unlink temporary file: %s"
msgstr "fallo al borrar fichero temporal: %s"
-#: ../src/osm-traces.c:387
+#: ../src/osm-traces.c:394
msgid "OSM upload"
msgstr "Enviar a OSM"
-#: ../src/osm-traces.c:405
+#: ../src/osm-traces.c:413
msgid "Email:"
msgstr "Correo-e:"
-#: ../src/osm-traces.c:410
+#: ../src/osm-traces.c:418
msgid ""
"The email used as login\n"
"<small>Enter the email you use to login into www.openstreetmap.org.</small>"
@@ -841,7 +965,7 @@ msgstr ""
"<small>Introduzca el correo electronico usado para iniciar sesión en "
"www.openstreetmap.org.</small>"
-#: ../src/osm-traces.c:418
+#: ../src/osm-traces.c:426
msgid ""
"The password used to login\n"
"<small>Enter the password you use to login into "
@@ -851,11 +975,11 @@ msgstr ""
"<small>Introduzca la clave usada para iniciar sesión en "
"www.openstreetmap.org.</small>"
-#: ../src/osm-traces.c:423
+#: ../src/osm-traces.c:431
msgid "File's name:"
msgstr "Nombre del fichero:"
-#: ../src/osm-traces.c:433
+#: ../src/osm-traces.c:441
msgid ""
"The name of the file on OSM\n"
"<small>This is the name of the file created on the server.This is not the "
@@ -865,19 +989,30 @@ msgstr ""
"<small>Este es el nombre del archivo creado en el servidor. Este no es el "
"nombre del archivo local.</small>"
-#: ../src/osm-traces.c:442
+#: ../src/osm-traces.c:450
msgid "The description of the trace"
msgstr "La descripción de la traza"
-#: ../src/osm-traces.c:444
+#: ../src/osm-traces.c:453
+msgid "Anonymize Times:"
+msgstr ""
+
+#: ../src/osm-traces.c:458
+msgid ""
+"Anonymize times of the trace.\n"
+"<small>You may choose to make the trace identifiable, yet mask the actual "
+"real time values</small>"
+msgstr ""
+
+#: ../src/osm-traces.c:462
msgid "Tags:"
msgstr "Etiquetas:"
-#: ../src/osm-traces.c:449
+#: ../src/osm-traces.c:467
msgid "The tags associated to the trace"
msgstr "Las etiquetas asociadas a la traza"
-#: ../src/osm-traces.c:482
+#: ../src/osm-traces.c:529
#, c-format
msgid "Uploading %s to OSM"
msgstr "Enviando %s a OSM"
@@ -886,69 +1021,88 @@ msgstr "Enviando %s a OSM"
msgid "Map cache memory size (MB):"
msgstr ""
-#: ../src/print.c:53
+#: ../src/print.c:51 ../src/viktrwlayer.c:509
msgid "None"
msgstr "Ninguno"
-#: ../src/print.c:54
+#: ../src/print.c:52
msgid "Horizontally"
msgstr "Horizontal"
-#: ../src/print.c:55
+#: ../src/print.c:53
msgid "Vertically"
msgstr "Vertical"
-#: ../src/print.c:56
+#: ../src/print.c:54
msgid "Both"
msgstr "Ambos"
-#: ../src/print.c:120
+#: ../src/print.c:118
msgid "Image Settings"
msgstr "Ajustes de imagen"
-#: ../src/print.c:546
+#: ../src/print.c:548
msgid "done"
msgstr "hecho"
#. Page Size
-#: ../src/print.c:575
+#: ../src/print.c:577
msgid "_Adjust Page Size and Orientation"
msgstr "_Ajustar el tamaño y la orientación de la página"
-#: ../src/print.c:591
+#: ../src/print.c:593
msgid "C_enter:"
msgstr "C_entrado:"
#. ignore page margins
-#: ../src/print.c:609
+#: ../src/print.c:611
msgid "Ignore Page _Margins"
msgstr "Ignorar los _márgenes de la página"
-#: ../src/print.c:628
+#: ../src/print.c:630
msgid "Image S_ize:"
msgstr "_Tamaño de imagen"
-#: ../src/util.c:81
-msgid "Could not launch web browser."
-msgstr "No se ha podido lanzar el navegador"
+#: ../src/util.c:65
+#, c-format
+msgid "Could not launch web browser. %s"
+msgstr ""
-#: ../src/util.c:92
-msgid "Could not create new email."
-msgstr "No puedo crear un nuevo email"
+#: ../src/util.c:76
+#, c-format
+msgid "Could not create new email. %s"
+msgstr ""
-#: ../src/vikcoordlayer.c:46
+#: ../src/util.c:177
+#, c-format
+msgid ""
+"There is a newer version of Viking available: %s\n"
+"\n"
+"Do you wish to go to Viking's website now?"
+msgstr ""
+
+#: ../src/util.c:304
+msgid ""
+"This appears to be Viking's very first run.\n"
+"\n"
+"Do you wish to enable automatic internet features?\n"
+"\n"
+"Individual settings can be controlled in the Preferences."
+msgstr ""
+
+#: ../src/vikcoordlayer.c:57
msgid "Color:"
msgstr "Color:"
-#: ../src/vikcoordlayer.c:47
+#: ../src/vikcoordlayer.c:58
msgid "Minutes Width:"
msgstr "Ancho (minutos):"
-#: ../src/vikcoordlayer.c:48
+#: ../src/vikcoordlayer.c:59
msgid "Line Thickness:"
msgstr "Ancho de línea:"
-#: ../src/vikcoordlayer.c:56
+#: ../src/vikcoordlayer.c:66
msgid "Coordinate"
msgstr ""
@@ -984,62 +1138,130 @@ msgstr "Waypoints en el exterior"
msgid "Polygonzied Layer"
msgstr "Capa poligonal"
-#: ../src/main.c:89
+#: ../src/main.c:92
#, c-format
msgid "Ignoring Xlib error: error code %d request code %d\n"
msgstr ""
-#: ../src/main.c:102
+#: ../src/main.c:105
msgid "Enable debug output"
msgstr "no puedo activar la salida"
-#: ../src/main.c:103
+#: ../src/main.c:106
msgid "Enable verbose output"
msgstr "salida verbosa activada"
-#: ../src/main.c:104
+#: ../src/main.c:107
msgid "Show version"
msgstr "Mostrar versión"
-#: ../src/osm.c:106
+#: ../src/osm.c:99
msgid "On Disk OSM Tile Format"
msgstr ""
-#: ../src/osm.c:121
+#: ../src/osm.c:113
msgid "OSM (view)"
msgstr "Vista OSM"
-#: ../src/osm.c:125
+#: ../src/osm.c:117
msgid "OSM (edit)"
msgstr "Edicion OSM"
-#: ../src/osm.c:129
+#: ../src/osm.c:121
msgid "OSM (render)"
msgstr "Renderizado OSM"
#. Example: http://127.0.0.1:8111/load_and_zoom?left=8.19&right=8.20&top=48.605&bottom=48.590&select=node413602999
#. JOSM or merkaartor must already be running with remote interface enabled
-#: ../src/osm.c:136
+#: ../src/osm.c:128
msgid "Local port 8111 (eg JOSM)"
msgstr ""
-#: ../src/preferences.c:285
+#: ../src/osm.c:134
+msgid "OpenStreetMap Notes"
+msgstr ""
+
+#: ../src/osm.c:138
+msgid "OpenStreetBugs"
+msgstr ""
+
+#. Not really OSM but can't be bothered to create somewhere else to put it...
+#: ../src/osm.c:164
+msgid "Wikimedia Toolserver GeoHack"
+msgstr ""
+
+#: ../src/preferences.c:191
msgid "Preferences"
msgstr "Preferencias"
-#: ../src/uibuilder.c:147
+#: ../src/viklayer_defaults.c:232
+#, c-format
+msgid "Could not open file: %s"
+msgstr ""
+
+#: ../src/viklayer_defaults.c:303
+msgid "Layer Defaults"
+msgstr ""
+
+#: ../src/uibuilder.c:185
msgid "Take care that this password will be stored clearly in a plain file."
msgstr "verifica que este password se borre en el archivo plano"
-#: ../src/vikaggregatelayer.c:37
+#: ../src/vikaggregatelayer.c:42
msgid "Aggregate"
msgstr ""
-#: ../src/vikdemlayer.c:101
+#. VikLayersPanel *vlp = VIK_LAYERS_PANEL(lav[1]);
+#: ../src/vikaggregatelayer.c:484 ../src/viktrwlayer.c:10238
+#, c-format
+msgid "%s: Track and Route List"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:529 ../src/viktrwlayer.c:7354
+#: ../src/viktrwlayer.c:7420 ../src/viktrwlayer.c:7498
+msgid "_Visibility"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:534
+msgid "_Show All"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:540
+msgid "_Hide All"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:546 ../src/viktrwlayer.c:7371
+#: ../src/viktrwlayer.c:7437 ../src/viktrwlayer.c:7515
+msgid "_Toggle"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:553 ../src/viktrwlayer.c:7536
+msgid "_Sort"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:559 ../src/viktrwlayer.c:7542
+msgid "Name _Ascending"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:565 ../src/viktrwlayer.c:7548
+msgid "Name _Descending"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:571 ../src/viktrwlayer.c:7449
+#: ../src/viktrwlayer.c:7527 ../src/viktrwlayer.c:7587
+#: ../src/viktrwlayer_tracklist.c:237
+msgid "_Statistics"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:576 ../src/viktrwlayer.c:3971
+msgid "Track _List..."
+msgstr ""
+
+#: ../src/vikdemlayer.c:92
msgid "Absolute height"
msgstr "Altura Absoluta"
-#: ../src/vikdemlayer.c:102
+#: ../src/vikdemlayer.c:93
msgid "Height gradient"
msgstr "Gradiente de Altura"
@@ -1079,25 +1301,52 @@ msgstr ""
msgid "DEM"
msgstr ""
-#: ../src/vikdemlayer.c:284
+#: ../src/vikdemlayer.c:287
#, c-format
msgid "Number of files: %d"
msgstr "Número de ficheros: %d"
-#: ../src/vikdemlayer.c:385
+#: ../src/vikdemlayer.c:427
msgid "DEM Loading"
msgstr "Cargando DEM"
-#: ../src/vikdemlayer.c:889
+#: ../src/vikdemlayer.c:937
#, c-format
msgid "No SRTM data available for %f, %f"
msgstr "Ningun dato SRTM disponible para %f, %f"
-#: ../src/vikdemlayer.c:1149
+#. Probably not over any land...
+#: ../src/vikdemlayer.c:1193
+msgid "No DEM File Available"
+msgstr ""
+
+#: ../src/vikdemlayer.c:1212
+#, c-format
+msgid ""
+"\n"
+"Source: %s\n"
+"\n"
+"DEM File: %s\n"
+"DEM File Timestamp: %s"
+msgstr ""
+
+#: ../src/vikdemlayer.c:1216
+#, c-format
+msgid ""
+"Source: %s\n"
+"\n"
+"No DEM File!"
+msgstr ""
+
+#: ../src/vikdemlayer.c:1256
#, c-format
msgid "Downloading DEM %s"
msgstr "Descargando DEM %s"
+#: ../src/vikdemlayer.c:1280
+msgid "_Show DEM File Information"
+msgstr ""
+
#: ../src/vikfileentry.c:68
msgid "Browse..."
msgstr "Examinar..."
@@ -1118,250 +1367,266 @@ msgstr "Añadir…"
msgid "Delete"
msgstr "Borrar"
-#: ../src/vikgeoreflayer.c:70
+#: ../src/vikgeoreflayer.c:78
msgid "_Georef Move Map"
msgstr ""
-#: ../src/vikgeoreflayer.c:70
+#: ../src/vikgeoreflayer.c:78
msgid "Georef Move Map"
msgstr "Mover mapa Georef"
-#: ../src/vikgeoreflayer.c:77
+#: ../src/vikgeoreflayer.c:85
msgid "Georef Z_oom Tool"
msgstr ""
-#: ../src/vikgeoreflayer.c:77
+#: ../src/vikgeoreflayer.c:85
msgid "Georef Zoom Tool"
msgstr "Zoom Georef"
-#: ../src/vikgeoreflayer.c:87
+#: ../src/vikgeoreflayer.c:95
msgid "GeoRef Map"
msgstr ""
-#: ../src/vikgeoreflayer.c:335 ../src/vikmapslayer.c:685
+#: ../src/vikgeoreflayer.c:377 ../src/vikmapslayer.c:720
#, c-format
msgid "Couldn't open image file: %s"
msgstr "No se ha podido abrir el fichero de imagen: %s"
-#: ../src/vikgeoreflayer.c:365
+#: ../src/vikgeoreflayer.c:391
+msgid ""
+"GeoRef map cannot be displayed in the current drawmode.\n"
+"Select \"UTM Mode\" from View menu to view it."
+msgstr ""
+
+#: ../src/vikgeoreflayer.c:415
msgid "Unexpected end of file reading World file."
msgstr "Final de fichero inesperado mientras se leía el fichero World."
-#: ../src/vikgeoreflayer.c:381 ../src/vikgeoreflayer.c:426
+#: ../src/vikgeoreflayer.c:431 ../src/vikgeoreflayer.c:476
msgid "Choose World file"
msgstr "Elegir fichero World"
-#: ../src/vikgeoreflayer.c:394
+#: ../src/vikgeoreflayer.c:444
msgid "The World file you requested could not be opened for reading."
msgstr "El fichero World seleccionado no se ha podido abrir para lectura."
-#: ../src/vikgeoreflayer.c:439
+#: ../src/vikgeoreflayer.c:489
msgid "The file you requested could not be opened for writing."
msgstr "El fichero seleccionado no se ha podido abrir para escritura."
-#: ../src/vikgeoreflayer.c:456 ../src/viklayer.c:480
+#: ../src/vikgeoreflayer.c:506 ../src/viklayer.c:518
msgid "Layer Properties"
msgstr "Propiedades de capa"
-#: ../src/vikgeoreflayer.c:478
+#: ../src/vikgeoreflayer.c:528
msgid "World File Parameters:"
msgstr "Parámetros de fichero World:"
-#: ../src/vikgeoreflayer.c:479
+#: ../src/vikgeoreflayer.c:529
msgid "Load From File..."
msgstr "Cargar desde archivo..."
-#: ../src/vikgeoreflayer.c:484
+#: ../src/vikgeoreflayer.c:534
msgid "Corner pixel easting:"
msgstr "Despl. E de la esquina"
-#: ../src/vikgeoreflayer.c:486
-msgid "the UTM \"easting\" value of the upper-right corner pixel of the map"
+#: ../src/vikgeoreflayer.c:536
+msgid "the UTM \"easting\" value of the upper-left corner pixel of the map"
msgstr ""
-"el ajuste de latitud UTM del pixel de la esquina superior derecha en el mapa"
-#: ../src/vikgeoreflayer.c:488
+#: ../src/vikgeoreflayer.c:538
msgid "Corner pixel northing:"
msgstr "Despl. N de la esquina"
-#: ../src/vikgeoreflayer.c:490
-msgid "the UTM \"northing\" value of the upper-right corner pixel of the map"
+#: ../src/vikgeoreflayer.c:540
+msgid "the UTM \"northing\" value of the upper-left corner pixel of the map"
msgstr ""
-"the UTM \"northing\" value of the upper-right corner pixel of the map"
-#: ../src/vikgeoreflayer.c:492
+#: ../src/vikgeoreflayer.c:542
msgid "X (easting) scale (mpp): "
msgstr "Escala X (desp. E, metros/píxel): "
-#: ../src/vikgeoreflayer.c:493
+#: ../src/vikgeoreflayer.c:543
msgid "Y (northing) scale (mpp): "
msgstr "Escala Y (desp. N, metros/píxel): "
-#: ../src/vikgeoreflayer.c:496
+#: ../src/vikgeoreflayer.c:546
msgid "the scale of the map in the X direction (meters per pixel)"
msgstr "la escala del mapa en la dirección X (metros por pixel)"
-#: ../src/vikgeoreflayer.c:498
+#: ../src/vikgeoreflayer.c:548
msgid "the scale of the map in the Y direction (meters per pixel)"
msgstr "la escala del mapa en la dirección Y (metros por pixel)"
-#: ../src/vikgeoreflayer.c:500
+#: ../src/vikgeoreflayer.c:550
msgid "Map Image:"
msgstr "Imagen de mapa:"
#. Now with icons
-#: ../src/vikgeoreflayer.c:608
+#: ../src/vikgeoreflayer.c:658
msgid "_Zoom to Fit Map"
msgstr "_Zoom para ajustar mapa"
-#: ../src/vikgeoreflayer.c:614
+#: ../src/vikgeoreflayer.c:664
msgid "_Goto Map Center"
msgstr "_Ir al centro del mapa"
-#: ../src/vikgeoreflayer.c:620
+#: ../src/vikgeoreflayer.c:670
msgid "_Export to World File"
msgstr "_Exportar hacia Archivo Mundial"
-#: ../src/vikgoto.c:75
+#: ../src/vikgoto.c:81
msgid "No goto tool available."
msgstr "La herramienta \"ir a\" no esta disponible"
-#: ../src/vikgoto.c:88 ../src/vikgoto.c:107
+#: ../src/vikgoto.c:94 ../src/vikgoto.c:148
msgid "goto"
msgstr "ir a"
-#: ../src/vikgoto.c:90
+#: ../src/vikgoto.c:96
msgid "I don't know that place. Do you want another goto?"
msgstr "No conozco ese lugar. Desea realizar otro \"ir a\""
-#: ../src/vikgoto.c:109
+#: ../src/vikgoto.c:150
msgid "goto provider:"
msgstr "proveedor \"ir a\""
-#: ../src/vikgoto.c:124
+#: ../src/vikgoto.c:165
msgid "Enter address or place name:"
msgstr "Introduzca la dirección o nombre del lugar:"
-#: ../src/vikgpslayer.c:127
+#: ../src/vikgoto.c:363
+msgid "Locality"
+msgstr ""
+
+#: ../src/vikgpslayer.c:128
msgid "Data Mode"
msgstr ""
-#: ../src/vikgpslayer.c:129
+#: ../src/vikgpslayer.c:130
msgid "Realtime Tracking Mode"
msgstr ""
-#: ../src/vikgpslayer.c:137
+#: ../src/vikgpslayer.c:167
msgid "Keep vehicle at center"
msgstr ""
-#: ../src/vikgpslayer.c:138
+#: ../src/vikgpslayer.c:168
msgid "Keep vehicle on screen"
msgstr ""
-#: ../src/vikgpslayer.c:139
+#: ../src/vikgpslayer.c:169
msgid "Disable"
msgstr ""
-#: ../src/vikgpslayer.c:152
+#: ../src/vikgpslayer.c:209
msgid "Download Tracks:"
msgstr ""
-#: ../src/vikgpslayer.c:153
+#: ../src/vikgpslayer.c:210
msgid "Upload Tracks:"
msgstr ""
-#: ../src/vikgpslayer.c:154
+#: ../src/vikgpslayer.c:211
msgid "Download Routes:"
msgstr ""
-#: ../src/vikgpslayer.c:155
+#: ../src/vikgpslayer.c:212
msgid "Upload Routes:"
msgstr ""
-#: ../src/vikgpslayer.c:156
+#: ../src/vikgpslayer.c:213
msgid "Download Waypoints:"
msgstr ""
-#: ../src/vikgpslayer.c:157
+#: ../src/vikgpslayer.c:214
msgid "Upload Waypoints:"
msgstr ""
-#: ../src/vikgpslayer.c:159
+#: ../src/vikgpslayer.c:216
msgid "Recording tracks"
msgstr "Grabando rutas"
-#: ../src/vikgpslayer.c:160
+#: ../src/vikgpslayer.c:217
msgid "Jump to current position on start"
msgstr "Saltar a la posición actual al comienzo"
-#: ../src/vikgpslayer.c:161
+#: ../src/vikgpslayer.c:218
msgid "Moving Map Method:"
msgstr "Metodo de movimiento de mapas"
-#: ../src/vikgpslayer.c:162
+#: ../src/vikgpslayer.c:219
+msgid "Update Statusbar:"
+msgstr ""
+
+#: ../src/vikgpslayer.c:219
+msgid "Display information in the statusbar on GPS updates"
+msgstr ""
+
+#: ../src/vikgpslayer.c:220
msgid "Gpsd Host:"
msgstr "Servidor gpsd:"
-#: ../src/vikgpslayer.c:163
+#: ../src/vikgpslayer.c:221
msgid "Gpsd Port:"
msgstr "Puerto gpsd:"
-#: ../src/vikgpslayer.c:164
+#: ../src/vikgpslayer.c:222
msgid "Gpsd Retry Interval (seconds):"
msgstr "Intervalo de reconexión de Gpsd (segundos)"
-#: ../src/vikgpslayer.c:179
+#: ../src/vikgpslayer.c:243
msgid "GPS"
msgstr ""
-#: ../src/vikgpslayer.c:242 ../src/vikgpslayer.c:1258
+#: ../src/vikgpslayer.c:306 ../src/vikgpslayer.c:1308
msgid "GPS Download"
msgstr "Descargar desde GPS"
-#: ../src/vikgpslayer.c:242 ../src/vikgpslayer.c:1258
-#: ../src/viktrwlayer.c:3094
+#: ../src/vikgpslayer.c:306 ../src/vikgpslayer.c:1308
+#: ../src/viktrwlayer.c:3480
msgid "GPS Upload"
msgstr "Enviar al GPS"
-#: ../src/vikgpslayer.c:244
+#: ../src/vikgpslayer.c:308
msgid "GPS Realtime Tracking"
msgstr "Seguimiento GPS en tiempo real"
-#: ../src/vikgpslayer.c:451
+#: ../src/vikgpslayer.c:517
msgid "Unknown GPS Protocol"
msgstr "Protocolo GPS desconocido"
-#: ../src/vikgpslayer.c:469
+#: ../src/vikgpslayer.c:535
msgid "Unknown serial port device"
msgstr "Puerto serie desconocido"
-#: ../src/vikgpslayer.c:572
+#: ../src/vikgpslayer.c:648
#, c-format
msgid "%s: unknown parameter"
msgstr "Parámetro desconocido: %s"
#. Now with icons
-#: ../src/vikgpslayer.c:693
+#: ../src/vikgpslayer.c:743
msgid "_Upload to GPS"
msgstr "_Subir a GPS"
-#: ../src/vikgpslayer.c:699
+#: ../src/vikgpslayer.c:749
msgid "Download from _GPS"
msgstr "Descargar desde _GPS"
-#: ../src/vikgpslayer.c:720
+#: ../src/vikgpslayer.c:770
msgid "Empty _Realtime"
msgstr "Vaciar en tiempo real"
-#: ../src/vikgpslayer.c:727
+#: ../src/vikgpslayer.c:777
msgid "E_mpty Upload"
msgstr "Subida vacía"
-#: ../src/vikgpslayer.c:733
+#: ../src/vikgpslayer.c:783
msgid "_Empty Download"
msgstr "Descarga vacía"
-#: ../src/vikgpslayer.c:739
+#: ../src/vikgpslayer.c:789
msgid "Empty _All"
msgstr "Todo vacío"
@@ -1370,234 +1635,232 @@ msgstr "Todo vacío"
#. This happens when copied GPS layer is deleted (not sure why the number_handlers would be 2)
#. I don't think there's any side effects and certainly better than the program just aborting
#.
-#: ../src/vikgpslayer.c:756
+#: ../src/vikgpslayer.c:806
#, c-format
msgid "Unexpected number of disconnected handlers: %d"
msgstr "Número inesperado de manejadores desconectados: %d"
-#: ../src/vikgpslayer.c:898
+#: ../src/vikgpslayer.c:948
#, c-format
msgid "Uploading %d waypoint..."
msgid_plural "Uploading %d waypoints..."
msgstr[0] "Subiendo %d waypoint..."
msgstr[1] "Subiendo %d waypoints..."
-#: ../src/vikgpslayer.c:899
+#: ../src/vikgpslayer.c:949
#, c-format
msgid "Uploading %d trackpoint..."
msgid_plural "Uploading %d trackpoints..."
msgstr[0] "Subiendo %d traza..."
msgstr[1] "Subiendo %d trazas..."
-#: ../src/vikgpslayer.c:900
+#: ../src/vikgpslayer.c:950
#, c-format
msgid "Uploading %d routepoint..."
msgid_plural "Uploading %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:925
+#: ../src/vikgpslayer.c:975
#, c-format
msgid "Downloaded %d out of %d waypoint..."
msgid_plural "Downloaded %d out of %d waypoints..."
msgstr[0] "Descargado %d de %d waypoint..."
msgstr[1] "Descargados %d de %d waypoints..."
-#: ../src/vikgpslayer.c:926
+#: ../src/vikgpslayer.c:976
#, c-format
msgid "Downloaded %d out of %d trackpoint..."
msgid_plural "Downloaded %d out of %d trackpoints..."
msgstr[0] "Descargada %d de %d traza..."
msgstr[1] "Descargadas %d de %d trazas..."
-#: ../src/vikgpslayer.c:927
+#: ../src/vikgpslayer.c:977
#, c-format
msgid "Downloaded %d out of %d routepoint..."
msgid_plural "Downloaded %d out of %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:932
+#: ../src/vikgpslayer.c:982
#, c-format
msgid "Uploaded %d out of %d waypoint..."
msgid_plural "Uploaded %d out of %d waypoints..."
msgstr[0] "Subida %d de %d waypoint..."
msgstr[1] "Subidas %d de %d waypoints..."
-#: ../src/vikgpslayer.c:933
+#: ../src/vikgpslayer.c:983
#, c-format
msgid "Uploaded %d out of %d trackpoint..."
msgid_plural "Uploaded %d out of %d trackpoints..."
msgstr[0] "Subida %d de %d trza..."
msgstr[1] "Subidas %d de %d trazas..."
-#: ../src/vikgpslayer.c:934
+#: ../src/vikgpslayer.c:984
#, c-format
msgid "Uploaded %d out of %d routepoint..."
msgid_plural "Uploaded %d out of %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:942
+#: ../src/vikgpslayer.c:992
#, c-format
msgid "Downloaded %d waypoint"
msgid_plural "Downloaded %d waypoints"
msgstr[0] "Descargado %d waypoint"
msgstr[1] "Descargados %d waypoints"
-#: ../src/vikgpslayer.c:943
+#: ../src/vikgpslayer.c:993
#, c-format
msgid "Downloaded %d trackpoint"
msgid_plural "Downloaded %d trackpoints"
msgstr[0] "Descargada %d traza"
msgstr[1] "Descargadas %d trazas"
-#: ../src/vikgpslayer.c:944
+#: ../src/vikgpslayer.c:994
#, c-format
msgid "Downloaded %d routepoint"
msgid_plural "Downloaded %d routepoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:949
+#: ../src/vikgpslayer.c:999
#, c-format
msgid "Uploaded %d waypoint"
msgid_plural "Uploaded %d waypoints"
msgstr[0] "Subido %d waypoint"
msgstr[1] "Subidos %d waypoints"
-#: ../src/vikgpslayer.c:950
+#: ../src/vikgpslayer.c:1000
#, c-format
msgid "Uploaded %d trackpoint"
msgid_plural "Uploaded %d trackpoints"
msgstr[0] "Subida %d traza"
msgstr[1] "Subidas %d trazas"
-#: ../src/vikgpslayer.c:951
+#: ../src/vikgpslayer.c:1001
#, c-format
msgid "Uploaded %d routepoint"
msgid_plural "Uploaded %d routepoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:1180
+#: ../src/vikgpslayer.c:1230
msgid "Error: couldn't find gpsbabel."
msgstr "Error: gpsbabel no encontrado"
-#: ../src/vikgpslayer.c:1269
+#: ../src/vikgpslayer.c:1319
msgid "Warning - GPS Upload items may overwrite each other"
msgstr ""
-#: ../src/vikgpslayer.c:1301
+#: ../src/vikgpslayer.c:1351
msgid "Status: detecting gpsbabel"
msgstr "Conectando a gpsbabel"
-#: ../src/vikgpslayer.c:1332
+#: ../src/vikgpslayer.c:1386
msgid "No GPS items selected for transfer."
msgstr ""
-#: ../src/vikgpslayer.c:1347
+#: ../src/vikgpslayer.c:1401
msgid "Could not turn off device."
msgstr ""
-#: ../src/vikgpslayer.c:1385
+#: ../src/vikgpslayer.c:1439
msgid "Are you sure you want to delete GPS Upload data?"
msgstr ""
-#: ../src/vikgpslayer.c:1398
+#: ../src/vikgpslayer.c:1452
msgid "Are you sure you want to delete GPS Download data?"
msgstr ""
-#: ../src/vikgpslayer.c:1412
+#: ../src/vikgpslayer.c:1466
msgid "Are you sure you want to delete GPS Realtime data?"
msgstr ""
-#: ../src/vikgpslayer.c:1425
+#: ../src/vikgpslayer.c:1479
msgid "Are you sure you want to delete All GPS data?"
msgstr ""
-#: ../src/viklayerspanel.c:55
-msgid "/C_ut"
-msgstr "/Co_rtar"
+#: ../src/viklayerspanel.c:53
+msgid "C_ut"
+msgstr ""
-#: ../src/viklayerspanel.c:56
-msgid "/_Copy"
-msgstr "/_Copiar"
+#: ../src/viklayerspanel.c:54 ../src/vikwindow.c:3753
+msgid "_Copy"
+msgstr "_Copiar"
-#: ../src/viklayerspanel.c:57
-msgid "/_Paste"
-msgstr "/_Pegar"
+#: ../src/viklayerspanel.c:55 ../src/vikwindow.c:3754
+msgid "_Paste"
+msgstr "_Pegar"
-#: ../src/viklayerspanel.c:58
-msgid "/_Delete"
-msgstr "/_Borrar"
+#: ../src/viklayerspanel.c:56 ../src/vikwindow.c:3755
+msgid "_Delete"
+msgstr "_Borrar"
-#: ../src/viklayerspanel.c:59
-msgid "/New Layer"
-msgstr "/Nueva capa"
+#: ../src/viklayerspanel.c:133
+msgid "New Layer"
+msgstr ""
-#: ../src/viklayerspanel.c:127
+#: ../src/viklayerspanel.c:178
msgid "Top Layer"
msgstr "Capa principal"
-#: ../src/viklayerspanel.c:143
+#: ../src/viklayerspanel.c:194
msgid "Add new layer"
msgstr "Añadir nueva capa"
-#: ../src/viklayerspanel.c:150
+#: ../src/viklayerspanel.c:201
msgid "Remove selected layer"
msgstr "Remover la capa seleccionada"
-#: ../src/viklayerspanel.c:157
+#: ../src/viklayerspanel.c:208
msgid "Move selected layer up"
msgstr "Mover la capa seleccionada"
-#: ../src/viklayerspanel.c:164
+#: ../src/viklayerspanel.c:215
msgid "Move selected layer down"
msgstr "Mover la capa seleccionada abajo"
-#: ../src/viklayerspanel.c:171
+#: ../src/viklayerspanel.c:222
msgid "Cut selected layer"
msgstr "Cortar la capa seleccionada"
-#: ../src/viklayerspanel.c:178
+#: ../src/viklayerspanel.c:229
msgid "Copy selected layer"
msgstr "Copiar la capa seleccionada"
-#: ../src/viklayerspanel.c:185
-msgid "Paste layer below selected layer"
-msgstr "Pegar la capa por de bajo de la capa seleccionada"
+#: ../src/viklayerspanel.c:236
+msgid ""
+"Paste layer into selected container layer or otherwise above selected layer"
+msgstr ""
-#. TODO: FIXME: if name has a '/' in it it will get all messed up. why not have an itemfactory field with
-#. name, icon, shortcut, etc.?
-#: ../src/viklayerspanel.c:204 ../src/vikwindow.c:3292
-#, c-format
-msgid "New _%s Layer"
+#: ../src/viklayerspanel.c:300
+msgid "New name can not be blank."
msgstr ""
-#: ../src/viklayerspanel.c:511
+#: ../src/viklayerspanel.c:544
msgid "Aggregate Layers have no settable properties."
msgstr "Las capas de agregación no tienen propiedades modificables."
-#: ../src/viklayerspanel.c:555
+#: ../src/viklayerspanel.c:588
msgid "You cannot cut the Top Layer."
msgstr "No se puede cortar la capa principal."
-#: ../src/viklayerspanel.c:600
+#: ../src/viklayerspanel.c:633
#, c-format
msgid "Are you sure you want to delete %s?"
msgstr ""
-#: ../src/viklayerspanel.c:617
+#: ../src/viklayerspanel.c:650
msgid "You cannot delete the Top Layer."
msgstr "No se puede borrar la capa principal."
-#: ../src/viklayerspanel.c:701
+#: ../src/viklayerspanel.c:734
msgid "Are you sure you wish to delete all layers?"
msgstr "¿Está seguro de que desea borrar todas las capas?"
#. ******* MAPZOOMS ********
-#: ../src/vikmapslayer.c:91
+#: ../src/vikmapslayer.c:80
msgid "Use Viking Zoom Level"
msgstr "Usar nivel de zoom de Viking"
@@ -1644,35 +1907,35 @@ msgid ""
"actual zoom level."
msgstr ""
-#: ../src/vikmapslayer.c:146
+#: ../src/vikmapslayer.c:156
msgid "_Maps Download"
msgstr ""
-#: ../src/vikmapslayer.c:146
+#: ../src/vikmapslayer.c:156
msgid "Maps Download"
msgstr "Descarga de mapas"
-#: ../src/vikmapslayer.c:161
+#: ../src/vikmapslayer.c:171
msgid "Map"
msgstr "Mapa"
-#: ../src/vikmapslayer.c:249
-msgid "Default maplayer directory:"
-msgstr "Directorio por defecto de maplayer:"
+#: ../src/vikmapslayer.c:259
+msgid "Default map layer directory:"
+msgstr ""
-#: ../src/vikmapslayer.c:249
+#: ../src/vikmapslayer.c:259
msgid "Choose a directory to store cached Map tiles for this layer"
msgstr ""
-#: ../src/vikmapslayer.c:505
+#: ../src/vikmapslayer.c:523
msgid "Unknown map type"
msgstr "Tipo de mapa desconocido"
-#: ../src/vikmapslayer.c:516
+#: ../src/vikmapslayer.c:534
msgid "Unknown Map Zoom"
msgstr "Nivel de zoom de mapa desconocido"
-#: ../src/vikmapslayer.c:589
+#: ../src/vikmapslayer.c:624
#, c-format
msgid ""
"New map cannot be displayed in the current drawmode.\n"
@@ -1681,7 +1944,7 @@ msgstr ""
"El nuevo mapa no puede ser visualizado en el modo actual.\n"
"Seleccione \"%s\" en el menu Ver para mostrarlo."
-#: ../src/vikmapslayer.c:753
+#: ../src/vikmapslayer.c:798
#, c-format
msgid ""
"Cowardly refusing to draw tiles or existence of tiles beyond %d zoom out "
@@ -1690,28 +1953,28 @@ msgstr ""
"Evitando pusilánimemente el dibujado de teselas o existencia de teselas mas "
"alla del factor de zoom %d"
-#: ../src/vikmapslayer.c:1157
+#: ../src/vikmapslayer.c:1210
#, c-format
msgid "Redownloading up to %d %s map..."
msgid_plural "Redownloading up to %d %s maps..."
msgstr[0] "Descargando arriba de %d%s mapas"
msgstr[1] "Descargando arriba de %d%s mapas"
-#: ../src/vikmapslayer.c:1159
+#: ../src/vikmapslayer.c:1212
#, c-format
msgid "Redownloading %d %s map..."
msgid_plural "Redownloading %d %s maps..."
msgstr[0] "Redescargando %d %s mapa..."
msgstr[1] "Redescargando %d %s mapas..."
-#: ../src/vikmapslayer.c:1163 ../src/vikmapslayer.c:1238
+#: ../src/vikmapslayer.c:1216 ../src/vikmapslayer.c:1290
#, c-format
msgid "Downloading %d %s map..."
msgid_plural "Downloading %d %s maps..."
msgstr[0] "Descargando mapa %d (%s)..."
msgstr[1] "Descargando mapas %d (%s)..."
-#: ../src/vikmapslayer.c:1311
+#: ../src/vikmapslayer.c:1376
#, c-format
msgid ""
"\n"
@@ -1721,7 +1984,7 @@ msgid ""
"Tile File Timestamp: %s"
msgstr ""
-#: ../src/vikmapslayer.c:1318
+#: ../src/vikmapslayer.c:1380
#, c-format
msgid ""
"Source: %s\n"
@@ -1729,23 +1992,23 @@ msgid ""
"No Tile File!"
msgstr ""
-#: ../src/vikmapslayer.c:1356
+#: ../src/vikmapslayer.c:1418
msgid "Redownload _Bad Map(s)"
msgstr "Descargar de nuevo mapas incorrectos"
-#: ../src/vikmapslayer.c:1360
+#: ../src/vikmapslayer.c:1422
msgid "Redownload _New Map(s)"
msgstr "Descargar de nuevo los mapas nuevos"
-#: ../src/vikmapslayer.c:1364
+#: ../src/vikmapslayer.c:1426
msgid "Redownload _All Map(s)"
msgstr "Cargar de nuevo todos los mapas"
-#: ../src/vikmapslayer.c:1368
+#: ../src/vikmapslayer.c:1430
msgid "_Show Tile Information"
msgstr ""
-#: ../src/vikmapslayer.c:1449
+#: ../src/vikmapslayer.c:1511
#, c-format
msgid ""
"Wrong drawmode for this map.\n"
@@ -1754,300 +2017,399 @@ msgstr ""
"El modo de dibujado es incorrecto para este mapa.\n"
"Seleccione \"%s\" en el menú Ver e inténtelo de nuevo."
-#: ../src/vikmapslayer.c:1454
+#: ../src/vikmapslayer.c:1516
msgid "Wrong zoom level for this map."
msgstr "Nivel de zoom incorrecto para este mapa."
+#: ../src/vikmapslayer.c:1647
+msgid "Zoom Start:"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1654
+msgid "Zoom End:"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1660
+msgid "Download Maps Method:"
+msgstr ""
+
+#. redownload method - needs to align with REDOWNLOAD* macro values
+#: ../src/vikmapslayer.c:1732
+msgid "Missing"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1732
+msgid "Bad"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1732
+msgid "New"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1732
+msgid "Reload All"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1734
+msgid "Download for Zoom Levels"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1774
+#, c-format
+msgid ""
+"You are not allowed to download more than %d tiles in one go (requested %d)"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1782
+#, c-format
+msgid "Do you really want to download %d tiles?"
+msgstr ""
+
#. Now with icons
-#: ../src/vikmapslayer.c:1485
+#: ../src/vikmapslayer.c:1807
msgid "Download _Missing Onscreen Maps"
msgstr "Descargar mapas incorrectos en pantalla"
-#: ../src/vikmapslayer.c:1492
+#: ../src/vikmapslayer.c:1814
msgid "Download _New Onscreen Maps"
msgstr "Descargar mapas nuevos en pantalla"
-#: ../src/vikmapslayer.c:1499
+#: ../src/vikmapslayer.c:1821
msgid "Reload _All Onscreen Maps"
msgstr "Recargar todos los mapas en pantalla"
-#: ../src/viktreeview.c:263
+#: ../src/vikmapslayer.c:1827
+msgid "Download Maps in _Zoom Levels..."
+msgstr ""
+
+#: ../src/vikrouting.c:54
+msgid "Default engine:"
+msgstr ""
+
+#: ../src/viktreeview.c:316
msgid "Layer Name"
msgstr "Nombre de capa"
-#: ../src/viktreeview.c:742
+#: ../src/viktreeview.c:851
#, c-format
msgid "delete data from %s\n"
msgstr "borrar datos de %s\n"
-#: ../src/viktrwlayer.c:377
+#: ../src/viktrwlayer.c:398
msgid "Create _Waypoint"
msgstr ""
-#: ../src/viktrwlayer.c:377
+#: ../src/viktrwlayer.c:398
msgid "Create Waypoint"
msgstr "Crear waypoint"
-#: ../src/viktrwlayer.c:383
+#: ../src/viktrwlayer.c:404
msgid "Create _Track"
msgstr ""
-#: ../src/viktrwlayer.c:383
+#: ../src/viktrwlayer.c:404
msgid "Create Track"
msgstr "Crear ruta"
-#: ../src/viktrwlayer.c:392
+#: ../src/viktrwlayer.c:413
msgid "Create _Route"
msgstr ""
-#: ../src/viktrwlayer.c:392
+#: ../src/viktrwlayer.c:413
msgid "Create Route"
msgstr ""
-#: ../src/viktrwlayer.c:401
+#: ../src/viktrwlayer.c:422
msgid "_Edit Waypoint"
msgstr ""
-#: ../src/viktrwlayer.c:401
+#: ../src/viktrwlayer.c:422
msgid "Edit Waypoint"
msgstr "Editar waypoint"
-#: ../src/viktrwlayer.c:409
+#: ../src/viktrwlayer.c:432
msgid "Edit Trac_kpoint"
msgstr ""
-#: ../src/viktrwlayer.c:409
+#: ../src/viktrwlayer.c:432
msgid "Edit Trackpoint"
msgstr "Editar punto de ruta"
-#: ../src/viktrwlayer.c:417
+#: ../src/viktrwlayer.c:442
msgid "Show P_icture"
msgstr ""
-#: ../src/viktrwlayer.c:417
+#: ../src/viktrwlayer.c:442
msgid "Show Picture"
msgstr "Mostrar imagen"
-#: ../src/viktrwlayer.c:424
+#: ../src/viktrwlayer.c:448
msgid "Route _Finder"
msgstr ""
-#: ../src/viktrwlayer.c:424
+#: ../src/viktrwlayer.c:448
msgid "Route Finder"
msgstr ""
#. ***** PARAMETERS *****
-#: ../src/viktrwlayer.c:447 ../src/viktrwlayer.c:1942
-#: ../src/viktrwlayer.c:1944
+#: ../src/viktrwlayer.c:468 ../src/viktrwlayer.c:2324
msgid "Waypoints"
msgstr "Waypoints"
-#: ../src/viktrwlayer.c:447 ../src/viktrwlayer.c:1933
-#: ../src/viktrwlayer.c:1935
+#: ../src/viktrwlayer.c:468 ../src/viktrwlayer.c:2319
msgid "Tracks"
msgstr "Rutas"
-#: ../src/viktrwlayer.c:447
+#: ../src/viktrwlayer.c:468
msgid "Waypoint Images"
msgstr "Imágenes de waypoints"
-#: ../src/viktrwlayer.c:450
+#: ../src/viktrwlayer.c:468
+msgid "Tracks Advanced"
+msgstr ""
+
+#: ../src/viktrwlayer.c:471
msgid "Draw by Track"
msgstr "Dbujar por ruta"
-#: ../src/viktrwlayer.c:450
+#: ../src/viktrwlayer.c:471
msgid "Draw by Speed"
msgstr ""
-#: ../src/viktrwlayer.c:450
+#: ../src/viktrwlayer.c:471
msgid "All Tracks Same Color"
msgstr ""
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "Filled Square"
msgstr "Cuadro relleno"
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "Square"
msgstr "Cuadrado"
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "Circle"
msgstr "Círculo"
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "X"
msgstr "X"
-#: ../src/viktrwlayer.c:477
+#: ../src/viktrwlayer.c:498
msgid "Extra Extra Small"
msgstr ""
-#: ../src/viktrwlayer.c:478
+#: ../src/viktrwlayer.c:499
msgid "Extra Small"
msgstr ""
-#: ../src/viktrwlayer.c:479
+#: ../src/viktrwlayer.c:500
msgid "Small"
msgstr ""
-#: ../src/viktrwlayer.c:480
+#: ../src/viktrwlayer.c:501
msgid "Medium"
msgstr ""
-#: ../src/viktrwlayer.c:481
+#: ../src/viktrwlayer.c:502
msgid "Large"
msgstr ""
-#: ../src/viktrwlayer.c:482
+#: ../src/viktrwlayer.c:503
msgid "Extra Large"
msgstr ""
-#: ../src/viktrwlayer.c:483
+#: ../src/viktrwlayer.c:504
msgid "Extra Extra Large"
msgstr ""
-#: ../src/viktrwlayer.c:491
+#: ../src/viktrwlayer.c:510
+msgid "Name Ascending"
+msgstr ""
+
+#: ../src/viktrwlayer.c:511
+msgid "Name Descending"
+msgstr ""
+
+#: ../src/viktrwlayer.c:552 ../src/viktrwlayer.c:576
+msgid "Draw Labels"
+msgstr "Dibujar etiquetas"
+
+#: ../src/viktrwlayer.c:553
+msgid "Note: the individual track controls what labels may be displayed"
+msgstr ""
+
+#: ../src/viktrwlayer.c:554
+msgid "Track Labels Font Size:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:555
msgid "Track Drawing Mode:"
msgstr "Modo de dibujo de rutas:"
-#: ../src/viktrwlayer.c:492
+#: ../src/viktrwlayer.c:556
msgid "All Tracks Color:"
msgstr ""
-#: ../src/viktrwlayer.c:493
+#: ../src/viktrwlayer.c:557
msgid "The color used when 'All Tracks Same Color' drawing mode is selected"
msgstr ""
-#: ../src/viktrwlayer.c:494
+#: ../src/viktrwlayer.c:558
msgid "Draw Track Lines"
msgstr "Dibujar líneas de ruta"
-#: ../src/viktrwlayer.c:495
+#: ../src/viktrwlayer.c:559
msgid "Track Thickness:"
msgstr "Ancho de ruta:"
-#: ../src/viktrwlayer.c:496
+#: ../src/viktrwlayer.c:560
msgid "Draw Track Direction"
msgstr ""
-#: ../src/viktrwlayer.c:497
+#: ../src/viktrwlayer.c:561
msgid "Direction Size:"
msgstr ""
-#: ../src/viktrwlayer.c:498
+#: ../src/viktrwlayer.c:562
msgid "Draw Trackpoints"
msgstr "Dibujar puntos de rutas"
-#: ../src/viktrwlayer.c:499
+#: ../src/viktrwlayer.c:563
msgid "Trackpoint Size:"
msgstr ""
-#: ../src/viktrwlayer.c:500
+#: ../src/viktrwlayer.c:564
msgid "Draw Elevation"
msgstr "Dibujar elevación"
-#: ../src/viktrwlayer.c:501
+#: ../src/viktrwlayer.c:565
msgid "Draw Elevation Height %:"
msgstr "Dibujar elevación %d:"
-#: ../src/viktrwlayer.c:503
+#: ../src/viktrwlayer.c:566
msgid "Draw Stops"
msgstr "Dibujar paradas"
-#: ../src/viktrwlayer.c:504
+#: ../src/viktrwlayer.c:567
msgid ""
"Whether to draw a marker when trackpoints are at the same position but over "
"the minimum stop length apart in time"
msgstr ""
-#: ../src/viktrwlayer.c:505
+#: ../src/viktrwlayer.c:568
msgid "Min Stop Length (seconds):"
msgstr "Duración min. de parada (segundos):"
-#: ../src/viktrwlayer.c:507
+#: ../src/viktrwlayer.c:570
msgid "Track BG Thickness:"
msgstr "Ancho de fondo de ruta:"
-#: ../src/viktrwlayer.c:508
+#: ../src/viktrwlayer.c:571
msgid "Track Background Color"
msgstr "Color de fondo de ruta"
-#: ../src/viktrwlayer.c:509
+#: ../src/viktrwlayer.c:572
msgid "Draw by Speed Factor (%):"
msgstr ""
-#: ../src/viktrwlayer.c:510
+#: ../src/viktrwlayer.c:573
msgid ""
"The percentage factor away from the average speed determining the color used"
msgstr ""
-#: ../src/viktrwlayer.c:512
-msgid "Draw Labels"
-msgstr "Dibujar etiquetas"
+#: ../src/viktrwlayer.c:574
+msgid "Track Sort Order:"
+msgstr ""
-#: ../src/viktrwlayer.c:513
+#: ../src/viktrwlayer.c:577
msgid "Waypoint Font Size:"
msgstr ""
-#: ../src/viktrwlayer.c:514
+#: ../src/viktrwlayer.c:578
msgid "Waypoint Color:"
msgstr "Color de waypoint:"
-#: ../src/viktrwlayer.c:515
+#: ../src/viktrwlayer.c:579
msgid "Waypoint Text:"
msgstr "Texto de waypoint:"
-#: ../src/viktrwlayer.c:516
+#: ../src/viktrwlayer.c:580
msgid "Background:"
msgstr "Fondo:"
-#: ../src/viktrwlayer.c:517
+#: ../src/viktrwlayer.c:581
msgid "Fake BG Color Translucency:"
msgstr "Color de transparencia simulada:"
-#: ../src/viktrwlayer.c:518
+#: ../src/viktrwlayer.c:582
msgid "Waypoint marker:"
msgstr "Marcador de waypoint:"
-#: ../src/viktrwlayer.c:519
+#: ../src/viktrwlayer.c:583
msgid "Waypoint size:"
msgstr "Tamaño de waypoint:"
-#: ../src/viktrwlayer.c:520
+#: ../src/viktrwlayer.c:584
msgid "Draw Waypoint Symbols:"
msgstr "Dibujar símbolos de waypoint:"
-#: ../src/viktrwlayer.c:522
+#: ../src/viktrwlayer.c:585
+msgid "Waypoint Sort Order:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:587
msgid "Draw Waypoint Images"
msgstr "Dibujar imágenes de waypoint:"
-#: ../src/viktrwlayer.c:523
+#: ../src/viktrwlayer.c:588
msgid "Image Size (pixels):"
msgstr "Tamaño de imagen (pixels):"
-#: ../src/viktrwlayer.c:524
+#: ../src/viktrwlayer.c:589
msgid "Image Alpha:"
msgstr "Factor alfa de imagen:"
-#: ../src/viktrwlayer.c:525
+#: ../src/viktrwlayer.c:590
msgid "Image Memory Cache Size:"
msgstr "Tamaño de la caché de imágenes:"
-#: ../src/viktrwlayer.c:610
+#: ../src/viktrwlayer.c:678
msgid "TrackWaypoint"
msgstr ""
-#: ../src/viktrwlayer.c:1951 ../src/viktrwlayer.c:1953
+#: ../src/viktrwlayer.c:1534 ../src/vikutils.c:204
+msgid "miles"
+msgstr ""
+
+#. VIK_UNITS_DISTANCE_KILOMETRES:
+#: ../src/viktrwlayer.c:1538 ../src/vikutils.c:209
+msgid "km"
+msgstr ""
+
+#: ../src/viktrwlayer.c:1648
+msgid "start/end"
+msgstr ""
+
+#: ../src/viktrwlayer.c:1660
+msgid "start"
+msgstr ""
+
+#: ../src/viktrwlayer.c:1669
+msgid "end"
+msgstr ""
+
+#: ../src/viktrwlayer.c:2329
msgid "Routes"
msgstr ""
-#: ../src/viktrwlayer.c:2144
+#: ../src/viktrwlayer.c:2519
#, c-format
msgid " in %d:%02d hrs:mins"
msgstr " en %d:%02d hrs:mins"
-#: ../src/viktrwlayer.c:2148
+#: ../src/viktrwlayer.c:2523
#, c-format
msgid ""
"\n"
@@ -2056,1135 +2418,1613 @@ msgstr ""
"\n"
"%s Longitud Total %.1f %s%s"
-#: ../src/viktrwlayer.c:2154
+#: ../src/viktrwlayer.c:2529
#, c-format
msgid "Tracks: %d - Waypoints: %d - Routes: %d%s"
msgstr ""
-#: ../src/viktrwlayer.c:2174
+#: ../src/viktrwlayer.c:2549
#, c-format
msgid "Tracks: %d"
msgstr ""
-#: ../src/viktrwlayer.c:2184
+#: ../src/viktrwlayer.c:2559
#, c-format
msgid "Routes: %d"
msgstr ""
-#: ../src/viktrwlayer.c:2215
+#: ../src/viktrwlayer.c:2590
#, c-format
msgid "- %d:%02d hrs:mins"
msgstr "- %d:%02d hrs:mins"
-#: ../src/viktrwlayer.c:2223
+#: ../src/viktrwlayer.c:2598
#, c-format
msgid "%s%.1f km %s"
msgstr "%s%.1f km %s"
-#: ../src/viktrwlayer.c:2226
+#: ../src/viktrwlayer.c:2601
#, c-format
msgid "%s%.1f miles %s"
msgstr "%s%.1f millas %s"
-#: ../src/viktrwlayer.c:2240
+#: ../src/viktrwlayer.c:2615
#, c-format
msgid "Waypoints: %d"
msgstr ""
-#: ../src/viktrwlayer.c:2266
-#, c-format
-msgid "Trkpt: Alt %dft"
-msgstr ""
-
-#. VIK_UNITS_HEIGHT_METRES:
-#: ../src/viktrwlayer.c:2270
-#, c-format
-msgid "Trkpt: Alt %dm"
-msgstr ""
-
-#. Compact date time format
-#: ../src/viktrwlayer.c:2277
-#, c-format
-msgid " | Time %x %X"
-msgstr ""
-
-#: ../src/viktrwlayer.c:2295
-#, c-format
-msgid " | Track: %s"
-msgstr ""
-
-#. Combine parts to make overall message
-#: ../src/viktrwlayer.c:2299
-#, c-format
-msgid "%s%s | %s %s %s"
-msgstr ""
-
-#: ../src/viktrwlayer.c:2314
+#: ../src/viktrwlayer.c:2671
#, c-format
msgid "Wpt: Alt %dft"
msgstr ""
#. VIK_UNITS_HEIGHT_METRES:
-#: ../src/viktrwlayer.c:2318
+#: ../src/viktrwlayer.c:2675
#, c-format
msgid "Wpt: Alt %dm"
msgstr ""
#. Add comment if available
-#: ../src/viktrwlayer.c:2333
+#: ../src/viktrwlayer.c:2690
#, c-format
msgid "%s | %s %s | Comment: %s"
msgstr ""
-#: ../src/viktrwlayer.c:2335
+#: ../src/viktrwlayer.c:2692
#, c-format
msgid "%s | %s %s"
msgstr ""
-#: ../src/viktrwlayer.c:2563 ../src/viktrwlayer.c:2634
+#: ../src/viktrwlayer.c:2939 ../src/viktrwlayer.c:3010
msgid "This layer has no waypoints or trackpoints."
msgstr "Esta capa no tiene waypoints ni puntos de ruta."
-#: ../src/viktrwlayer.c:2661 ../src/vikwindow.c:2407 ../src/vikwindow.c:2848
+#: ../src/viktrwlayer.c:3045 ../src/vikwindow.c:2754 ../src/vikwindow.c:3407
#, c-format
msgid "The file \"%s\" exists, do you wish to overwrite it?"
msgstr "El fichero \"%s\" existe. ¿Desea sobreescribirlo?"
-#: ../src/viktrwlayer.c:2671 ../src/vikwindow.c:2429
+#: ../src/viktrwlayer.c:3057 ../src/vikwindow.c:2778
msgid "The filename you requested could not be opened for writing."
msgstr "El fichero seleccionado no se puede abrir para escritura."
-#: ../src/viktrwlayer.c:2676 ../src/viktrwlayer.c:2681
-#: ../src/viktrwlayer.c:2691 ../src/viktrwlayer.c:2703
+#: ../src/viktrwlayer.c:3062 ../src/viktrwlayer.c:3067
+#: ../src/viktrwlayer.c:3077 ../src/viktrwlayer.c:3089
msgid "Export Layer"
msgstr "Exportar capa"
-#: ../src/viktrwlayer.c:2720
+#: ../src/viktrwlayer.c:3108
msgid "Could not create temporary file for export."
msgstr ""
-#: ../src/viktrwlayer.c:2729
+#: ../src/viktrwlayer.c:3117
#, c-format
msgid "Could not launch %s."
msgstr ""
-#: ../src/viktrwlayer.c:2773
+#: ../src/viktrwlayer.c:3161
msgid "Export Track as GPX"
msgstr "Exportar traza como GPX"
-#: ../src/viktrwlayer.c:2795
+#: ../src/viktrwlayer.c:3183
msgid "Find"
msgstr "Buscar"
-#: ../src/viktrwlayer.c:2805
+#: ../src/viktrwlayer.c:3193
msgid "Waypoint Name:"
msgstr "Nombre del waypoint:"
-#: ../src/viktrwlayer.c:2822
+#: ../src/viktrwlayer.c:3210
msgid "Waypoint not found in this layer."
msgstr "Waypoint no encontrado en esta capa."
-#: ../src/viktrwlayer.c:3090
+#: ../src/viktrwlayer.c:3476
msgid "Can not upload invisible track."
msgstr ""
-#: ../src/viktrwlayer.c:3192 ../src/viktrwlayer.c:7785
+#: ../src/viktrwlayer.c:3581 ../src/viktrwlayer.c:9283
msgid "Track"
msgstr "Traza"
-#: ../src/viktrwlayer.c:3215 ../src/viktrwlayer.c:7817
+#: ../src/viktrwlayer.c:3606 ../src/viktrwlayer.c:9316
msgid "Route"
msgstr ""
-#: ../src/viktrwlayer.c:3296 ../src/viktrwlayer.c:6265
-#: ../src/viktrwlayer.c:6314
+#: ../src/viktrwlayer.c:3691 ../src/viktrwlayer.c:7460
+#: ../src/viktrwlayer.c:7566
msgid "_Finish Route"
msgstr ""
-#: ../src/viktrwlayer.c:3298 ../src/viktrwlayer.c:6223
-#: ../src/viktrwlayer.c:6312
+#: ../src/viktrwlayer.c:3693 ../src/viktrwlayer.c:7383
+#: ../src/viktrwlayer.c:7564
msgid "_Finish Track"
msgstr ""
#. Now with icons
-#: ../src/viktrwlayer.c:3310
+#: ../src/viktrwlayer.c:3705
msgid "_View Layer"
msgstr "Ver capa"
-#: ../src/viktrwlayer.c:3317
+#: ../src/viktrwlayer.c:3712
msgid "V_iew"
msgstr ""
-#: ../src/viktrwlayer.c:3323
+#: ../src/viktrwlayer.c:3718
msgid "View All _Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:3328
+#: ../src/viktrwlayer.c:3723
msgid "View All _Routes"
msgstr ""
-#: ../src/viktrwlayer.c:3333
+#: ../src/viktrwlayer.c:3728
msgid "View All _Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:3338
+#: ../src/viktrwlayer.c:3733
msgid "_Goto Center of Layer"
msgstr "Ir al centro de la capa"
-#: ../src/viktrwlayer.c:3344 ../src/viktrwlayer.c:6199
+#: ../src/viktrwlayer.c:3739 ../src/viktrwlayer.c:7335
msgid "Goto _Waypoint..."
msgstr ""
-#: ../src/viktrwlayer.c:3350
+#: ../src/viktrwlayer.c:3745
msgid "_Export Layer"
msgstr "Exportar capa"
-#: ../src/viktrwlayer.c:3356
+#: ../src/viktrwlayer.c:3751
msgid "Export as GPS_Point..."
msgstr ""
-#: ../src/viktrwlayer.c:3361
+#: ../src/viktrwlayer.c:3756
msgid "Export as GPS_Mapper..."
msgstr ""
-#: ../src/viktrwlayer.c:3366
+#: ../src/viktrwlayer.c:3761
msgid "Export as _GPX..."
msgstr ""
-#: ../src/viktrwlayer.c:3371
+#: ../src/viktrwlayer.c:3766
msgid "Export as _KML..."
msgstr ""
-#: ../src/viktrwlayer.c:3376
+#: ../src/viktrwlayer.c:3771
msgid "Open with External Program_1: "
msgstr ""
-#: ../src/viktrwlayer.c:3383
+#: ../src/viktrwlayer.c:3778
msgid "Open with External Program_2: "
msgstr ""
-#: ../src/viktrwlayer.c:3391 ../src/vikwindow.c:3145
+#: ../src/viktrwlayer.c:3786 ../src/vikwindow.c:3704
msgid "_New"
msgstr "_Nuevo"
-#: ../src/viktrwlayer.c:3397
+#: ../src/viktrwlayer.c:3792
msgid "New _Waypoint..."
msgstr ""
-#: ../src/viktrwlayer.c:3403
+#: ../src/viktrwlayer.c:3798
msgid "New _Track"
msgstr ""
-#: ../src/viktrwlayer.c:3411
+#: ../src/viktrwlayer.c:3806
msgid "New _Route"
msgstr ""
-#: ../src/viktrwlayer.c:3420 ../src/viktrwlayer.c:6597
+#: ../src/viktrwlayer.c:3815 ../src/viktrwlayer.c:7938
msgid "Geotag _Images..."
msgstr ""
-#: ../src/viktrwlayer.c:3427
+#: ../src/viktrwlayer.c:3822
msgid "_Acquire"
msgstr ""
-#: ../src/viktrwlayer.c:3433 ../src/vikwindow.c:3150
+#: ../src/viktrwlayer.c:3828 ../src/vikwindow.c:3711
msgid "From _GPS..."
msgstr "Desde _GPS..."
-#: ../src/viktrwlayer.c:3439
-msgid "From Google _Directions..."
+#. FIXME: only add menu when at least a routing engine has support for Directions
+#: ../src/viktrwlayer.c:3834
+msgid "From _Directions..."
msgstr ""
-#: ../src/viktrwlayer.c:3446
+#: ../src/viktrwlayer.c:3840
msgid "From _OSM Traces..."
msgstr ""
-#: ../src/viktrwlayer.c:3451
+#: ../src/viktrwlayer.c:3845
msgid "From _My OSM Traces..."
msgstr ""
-#: ../src/viktrwlayer.c:3459 ../src/vikwindow.c:3166
+#: ../src/viktrwlayer.c:3853 ../src/vikwindow.c:3725
msgid "From _Wikipedia Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:3465
+#: ../src/viktrwlayer.c:3859
msgid "Within _Layer Bounds"
msgstr "Dentro de los límites de la capa"
-#: ../src/viktrwlayer.c:3471
+#: ../src/viktrwlayer.c:3865
msgid "Within _Current View"
msgstr "Dentro de la vista actual"
-#: ../src/viktrwlayer.c:3479
+#: ../src/viktrwlayer.c:3873
msgid "From Geo_caching..."
msgstr ""
-#: ../src/viktrwlayer.c:3486 ../src/vikwindow.c:3163
+#: ../src/viktrwlayer.c:3880 ../src/vikwindow.c:3722
msgid "From Geotagged _Images..."
msgstr ""
-#: ../src/viktrwlayer.c:3492
+#: ../src/viktrwlayer.c:3886
msgid "From _File..."
msgstr ""
-#: ../src/viktrwlayer.c:3498 ../src/viktrwlayer.c:6542
+#: ../src/viktrwlayer.c:3894 ../src/viktrwlayer.c:7883
msgid "_Upload"
msgstr ""
-#: ../src/viktrwlayer.c:3504
+#: ../src/viktrwlayer.c:3900
msgid "Upload to _GPS..."
msgstr ""
-#: ../src/viktrwlayer.c:3511 ../src/viktrwlayer.c:6570
+#: ../src/viktrwlayer.c:3907 ../src/viktrwlayer.c:7911
msgid "Upload to _OSM..."
msgstr ""
-#: ../src/viktrwlayer.c:3519
+#: ../src/viktrwlayer.c:3915
msgid "De_lete"
msgstr ""
-#: ../src/viktrwlayer.c:3525
+#: ../src/viktrwlayer.c:3921
msgid "Delete All _Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:3531
+#: ../src/viktrwlayer.c:3927
msgid "Delete Tracks _From Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:3537 ../src/viktrwlayer.c:6290
+#: ../src/viktrwlayer.c:3933 ../src/viktrwlayer.c:7485
msgid "Delete _All Routes"
msgstr ""
-#: ../src/viktrwlayer.c:3543 ../src/viktrwlayer.c:6296
+#: ../src/viktrwlayer.c:3939 ../src/viktrwlayer.c:7491
msgid "_Delete Routes From Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:3549
+#: ../src/viktrwlayer.c:3945
msgid "Delete All _Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:3555
+#: ../src/viktrwlayer.c:3951
msgid "Delete Waypoints From _Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:4128
+#: ../src/viktrwlayer.c:4574
#, c-format
msgid "Are you sure you want to delete all tracks in %s?"
msgstr ""
-#: ../src/viktrwlayer.c:4138
+#: ../src/viktrwlayer.c:4584
#, c-format
msgid "Are you sure you want to delete all routes in %s?"
msgstr ""
-#: ../src/viktrwlayer.c:4148
+#: ../src/viktrwlayer.c:4594
#, c-format
msgid "Are you sure you want to delete all waypoints in %s?"
msgstr ""
-#: ../src/viktrwlayer.c:4165
+#: ../src/viktrwlayer.c:4611
#, c-format
-msgid "Are you sure you want to delete the waypoint \"%s\""
+msgid "Are you sure you want to delete the waypoint \"%s\"?"
msgstr ""
-#: ../src/viktrwlayer.c:4178
+#: ../src/viktrwlayer.c:4624
#, c-format
-msgid "Are you sure you want to delete the track \"%s\""
+msgid "Are you sure you want to delete the track \"%s\"?"
msgstr ""
-#: ../src/viktrwlayer.c:4191
+#: ../src/viktrwlayer.c:4637
#, c-format
-msgid "Are you sure you want to delete the route \"%s\""
+msgid "Are you sure you want to delete the route \"%s\"?"
msgstr ""
-#: ../src/viktrwlayer.c:4351 ../src/viktrwlayer.c:4922
+#: ../src/viktrwlayer.c:4849 ../src/viktrwlayer.c:5677
msgid ""
"Converting a track to a route removes extra track data such as segments, "
"timestamps, etc...\n"
"Do you want to continue?"
msgstr ""
-#: ../src/viktrwlayer.c:4711
+#: ../src/viktrwlayer.c:4944
+msgid "No DEM layers available, thus no DEM values can be applied."
+msgstr ""
+
+#: ../src/viktrwlayer.c:4964 ../src/viktrwlayer.c:5005
+#, c-format
+msgid "%ld point adjusted"
+msgid_plural "%ld points adjusted"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/viktrwlayer.c:5049
+#, c-format
+msgid "%ld waypoint changed"
+msgid_plural "%ld waypoints changed"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/viktrwlayer.c:5233
+#, c-format
+msgid ""
+"Refining a track with many points (%d) is unlikely to yield sensible "
+"results. Do you want to Continue?"
+msgstr ""
+
+#. Select engine from dialog
+#: ../src/viktrwlayer.c:5241
+msgid "Refine Route with Routing Engine..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:5249
+msgid "Select routing engine"
+msgstr ""
+
+#: ../src/viktrwlayer.c:5467
msgid "Failed. No other tracks with timestamps in this layer found"
msgstr ""
-#: ../src/viktrwlayer.c:4713
+#: ../src/viktrwlayer.c:5469
msgid "Failed. No other tracks without timestamps in this layer found"
msgstr ""
-#: ../src/viktrwlayer.c:4732
+#: ../src/viktrwlayer.c:5488
msgid "Merge with..."
msgstr "Unido con..."
-#: ../src/viktrwlayer.c:4733
+#: ../src/viktrwlayer.c:5489
msgid "Select route to merge with"
msgstr ""
-#: ../src/viktrwlayer.c:4733
+#: ../src/viktrwlayer.c:5489
msgid "Select track to merge with"
msgstr "Track seleccionado unido con..."
-#: ../src/viktrwlayer.c:4818 ../src/viktrwlayer.c:4895
+#: ../src/viktrwlayer.c:5573 ../src/viktrwlayer.c:5650
msgid "Append Route"
msgstr ""
-#: ../src/viktrwlayer.c:4818 ../src/viktrwlayer.c:4895
+#: ../src/viktrwlayer.c:5573 ../src/viktrwlayer.c:5650
msgid "Append Track"
msgstr ""
-#: ../src/viktrwlayer.c:4819
+#: ../src/viktrwlayer.c:5574
msgid "Select the route to append after the current route"
msgstr ""
-#: ../src/viktrwlayer.c:4820
+#: ../src/viktrwlayer.c:5575
msgid "Select the track to append after the current track"
msgstr ""
-#: ../src/viktrwlayer.c:4896
+#: ../src/viktrwlayer.c:5651
msgid "Select the track to append after the current route"
msgstr ""
-#: ../src/viktrwlayer.c:4897
+#: ../src/viktrwlayer.c:5652
msgid "Select the route to append after the current track"
msgstr ""
-#: ../src/viktrwlayer.c:4957
+#: ../src/viktrwlayer.c:5711
#, c-format
msgid "%d segment merged"
msgid_plural "%d segments merged"
msgstr[0] ""
msgstr[1] ""
-#: ../src/viktrwlayer.c:4973
+#: ../src/viktrwlayer.c:5727
msgid "Failed. This track does not have timestamp"
msgstr "Fallo: Este track no tiene tiempo de registro"
-#: ../src/viktrwlayer.c:4985
+#: ../src/viktrwlayer.c:5739
msgid "Failed. No other track in this layer has timestamp"
msgstr "Fallo: no existe otro track con tiempo de registro"
-#: ../src/viktrwlayer.c:4992
+#: ../src/viktrwlayer.c:5746
msgid "Merge Threshold..."
msgstr "Umbral de fusionado..."
-#: ../src/viktrwlayer.c:4993
+#: ../src/viktrwlayer.c:5747
msgid "Merge when time between tracks less than:"
msgstr "Fusionar cuando el tiempo entre trazas de menos de:"
-#: ../src/viktrwlayer.c:5128
+#: ../src/viktrwlayer.c:5889
msgid "Split Threshold..."
msgstr "Umbral de división..."
-#: ../src/viktrwlayer.c:5129
+#: ../src/viktrwlayer.c:5890
msgid "Split when time between trackpoints exceeds:"
msgstr "Dividir cuando el intervalo entre puntos exceda:"
-#: ../src/viktrwlayer.c:5205
+#: ../src/viktrwlayer.c:5907
+#, c-format
+msgid ""
+"Can not split track due to trackpoints not ordered in time - such as at %s.\n"
+"\n"
+"Goto this trackpoint?"
+msgstr ""
+
+#: ../src/viktrwlayer.c:5976
msgid "Split Every Nth Point"
msgstr "Separar cada punto N-ésimo:"
-#: ../src/viktrwlayer.c:5206
+#: ../src/viktrwlayer.c:5977
msgid "Split on every Nth point:"
msgstr "Separar en cada punto N-ésimo:"
-#: ../src/viktrwlayer.c:5312
+#: ../src/viktrwlayer.c:6087
msgid "Can not split track as it has no segments"
msgstr ""
-#: ../src/viktrwlayer.c:5340 ../src/viktrwlayer.c:5370
+#: ../src/viktrwlayer.c:6169 ../src/viktrwlayer.c:6199
#, c-format
msgid "Deleted %ld point"
msgid_plural "Deleted %ld points"
msgstr[0] ""
msgstr[1] ""
-#: ../src/viktrwlayer.c:5531
+#: ../src/viktrwlayer.c:6392
msgid "Internal Error in vik_trw_layer_uniquify_tracks"
msgstr ""
-#: ../src/viktrwlayer.c:5588 ../src/viktrwlayer.c:5635
-#: ../src/viktrwlayer.c:5814
+#: ../src/viktrwlayer.c:6496 ../src/viktrwlayer.c:6543
+#: ../src/viktrwlayer.c:6704
msgid ""
"Multiple entries with the same name exist. This method only works with "
"unique names. Force unique names now?"
msgstr ""
-#: ../src/viktrwlayer.c:5599
+#: ../src/viktrwlayer.c:6507
msgid "No tracks found"
msgstr ""
-#: ../src/viktrwlayer.c:5607 ../src/viktrwlayer.c:5654
-#: ../src/viktrwlayer.c:5834
+#: ../src/viktrwlayer.c:6515 ../src/viktrwlayer.c:6562
+#: ../src/viktrwlayer.c:6724
msgid "Delete Selection"
msgstr ""
-#: ../src/viktrwlayer.c:5608
+#: ../src/viktrwlayer.c:6516
msgid "Select tracks to delete"
msgstr "Seleccione pistas a eliminar"
-#: ../src/viktrwlayer.c:5646
+#: ../src/viktrwlayer.c:6554
msgid "No routes found"
msgstr ""
-#: ../src/viktrwlayer.c:5655
+#: ../src/viktrwlayer.c:6563
msgid "Select routes to delete"
msgstr ""
-#: ../src/viktrwlayer.c:5761
+#: ../src/viktrwlayer.c:6669
msgid "Internal Error in vik_trw_layer_uniquify_waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:5824
+#: ../src/viktrwlayer.c:6714
msgid "No waypoints found"
msgstr ""
-#: ../src/viktrwlayer.c:5835
+#: ../src/viktrwlayer.c:6725
msgid "Select waypoints to delete"
msgstr ""
-#: ../src/viktrwlayer.c:5896
+#: ../src/viktrwlayer.c:7033
#, c-format
msgid ""
"A waypoint with the name \"%s\" already exists. Really rename to the same "
"name?"
msgstr ""
-#: ../src/viktrwlayer.c:5926
+#: ../src/viktrwlayer.c:7063
#, c-format
msgid ""
"A track with the name \"%s\" already exists. Really rename to the same name?"
msgstr ""
-#: ../src/viktrwlayer.c:5963
+#: ../src/viktrwlayer.c:7100
#, c-format
msgid ""
"A route with the name \"%s\" already exists. Really rename to the same name?"
msgstr ""
-#: ../src/viktrwlayer.c:6085 ../src/viktrwlayer.c:6337
+#: ../src/viktrwlayer.c:7221 ../src/viktrwlayer.c:7594
msgid "_Goto"
msgstr "_Ir a"
-#: ../src/viktrwlayer.c:6104
+#: ../src/viktrwlayer.c:7240
msgid "_Visit Geocache Webpage"
msgstr "Visitar página de Geocache"
-#: ../src/viktrwlayer.c:6123
+#: ../src/viktrwlayer.c:7259
msgid "_Show Picture..."
msgstr ""
-#: ../src/viktrwlayer.c:6131
+#: ../src/viktrwlayer.c:7267
msgid "Update Geotag on _Image"
msgstr ""
-#: ../src/viktrwlayer.c:6137
+#: ../src/viktrwlayer.c:7273
msgid "_Update"
msgstr ""
-#: ../src/viktrwlayer.c:6142
+#: ../src/viktrwlayer.c:7278
msgid "Update and _Keep File Timestamp"
msgstr ""
-#: ../src/viktrwlayer.c:6153
+#: ../src/viktrwlayer.c:7289
msgid "Visit _Webpage"
msgstr ""
-#: ../src/viktrwlayer.c:6184
+#: ../src/viktrwlayer.c:7320
msgid "_New Waypoint..."
msgstr ""
-#: ../src/viktrwlayer.c:6193
+#: ../src/viktrwlayer.c:7329
msgid "_View All Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:6205
+#: ../src/viktrwlayer.c:7341
msgid "Delete _All Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:6211
+#: ../src/viktrwlayer.c:7347
msgid "_Delete Waypoints From Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:6233
+#: ../src/viktrwlayer.c:7359
+msgid "_Show All Waypoints"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7365
+msgid "_Hide All Waypoints"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7393
msgid "_View All Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:6239
+#: ../src/viktrwlayer.c:7399
msgid "_New Track"
msgstr ""
-#: ../src/viktrwlayer.c:6247
+#: ../src/viktrwlayer.c:7407
msgid "Delete _All Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:6253
+#: ../src/viktrwlayer.c:7413
msgid "_Delete Tracks From Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:6276
+#: ../src/viktrwlayer.c:7425
+msgid "_Show All Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7431
+msgid "_Hide All Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7442
+msgid "_List Tracks..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7471
msgid "_View All Routes"
msgstr ""
-#: ../src/viktrwlayer.c:6282
+#: ../src/viktrwlayer.c:7477
msgid "_New Route"
msgstr ""
-#: ../src/viktrwlayer.c:6327
+#: ../src/viktrwlayer.c:7503
+msgid "_Show All Routes"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7509
+msgid "_Hide All Routes"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7520
+msgid "_List Routes..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7579
msgid "_View Track"
msgstr "Ver traza"
-#: ../src/viktrwlayer.c:6329
+#: ../src/viktrwlayer.c:7581
msgid "_View Route"
msgstr ""
-#: ../src/viktrwlayer.c:6343
+#: ../src/viktrwlayer.c:7600
msgid "_Startpoint"
msgstr "Punto de inicio"
-#: ../src/viktrwlayer.c:6349
+#: ../src/viktrwlayer.c:7606
msgid "\"_Center\""
msgstr "Centrar"
-#: ../src/viktrwlayer.c:6355
+#: ../src/viktrwlayer.c:7612
msgid "_Endpoint"
msgstr "Fin"
-#: ../src/viktrwlayer.c:6361
+#: ../src/viktrwlayer.c:7618
msgid "_Highest Altitude"
msgstr "Altitud superior"
-#: ../src/viktrwlayer.c:6367
+#: ../src/viktrwlayer.c:7624
msgid "_Lowest Altitude"
msgstr "Altitud inferior"
-#: ../src/viktrwlayer.c:6375
+#: ../src/viktrwlayer.c:7632
msgid "_Maximum Speed"
msgstr "Velocidad máxima"
-#: ../src/viktrwlayer.c:6384
+#: ../src/viktrwlayer.c:7641
msgid "Co_mbine"
msgstr ""
-#: ../src/viktrwlayer.c:6392
+#: ../src/viktrwlayer.c:7649
msgid "_Merge By Time..."
msgstr ""
-#: ../src/viktrwlayer.c:6397
+#: ../src/viktrwlayer.c:7654
msgid "Merge _Segments"
msgstr ""
-#: ../src/viktrwlayer.c:6403
+#: ../src/viktrwlayer.c:7660
msgid "Merge _With Other Tracks..."
msgstr "Mezclar con otras trazas"
-#: ../src/viktrwlayer.c:6409
+#: ../src/viktrwlayer.c:7666
msgid "_Append Track..."
msgstr ""
-#: ../src/viktrwlayer.c:6411
+#: ../src/viktrwlayer.c:7668
msgid "_Append Route..."
msgstr ""
-#: ../src/viktrwlayer.c:6417
+#: ../src/viktrwlayer.c:7674
msgid "Append _Route..."
msgstr ""
-#: ../src/viktrwlayer.c:6419
+#: ../src/viktrwlayer.c:7676
msgid "Append _Track..."
msgstr ""
-#: ../src/viktrwlayer.c:6426
+#: ../src/viktrwlayer.c:7683
msgid "_Split"
msgstr ""
-#: ../src/viktrwlayer.c:6434
+#: ../src/viktrwlayer.c:7691
msgid "_Split By Time..."
msgstr ""
#. ATM always enable this entry - don't want to have to analyse the track before displaying the menu - to keep the menu speedy
-#: ../src/viktrwlayer.c:6440
+#: ../src/viktrwlayer.c:7697
msgid "Split Se_gments"
msgstr ""
-#: ../src/viktrwlayer.c:6446
+#: ../src/viktrwlayer.c:7703
msgid "Split By _Number of Points..."
msgstr ""
-#: ../src/viktrwlayer.c:6451
+#: ../src/viktrwlayer.c:7708
msgid "Split at _Trackpoint"
msgstr ""
-#: ../src/viktrwlayer.c:6460
+#: ../src/viktrwlayer.c:7716
+msgid "_Insert Points"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7722
+msgid "Insert Point _Before Selected Point"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7729
+msgid "Insert Point _After Selected Point"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7738
msgid "Delete Poi_nts"
msgstr ""
-#: ../src/viktrwlayer.c:6466
+#: ../src/viktrwlayer.c:7744
+msgid "Delete _Selected Point"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7752
msgid "Delete Points With The Same _Position"
msgstr ""
-#: ../src/viktrwlayer.c:6471
+#: ../src/viktrwlayer.c:7757
msgid "Delete Points With The Same _Time"
msgstr ""
-#: ../src/viktrwlayer.c:6477
+#: ../src/viktrwlayer.c:7764 ../src/viktrwlayer.c:7964
+msgid "_Transform"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7772 ../src/viktrwlayer.c:7972
+msgid "_Apply DEM Data"
+msgstr "Aplicar datos DEM"
+
+#: ../src/viktrwlayer.c:7777 ../src/viktrwlayer.c:7977
+msgid "_Overwrite"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7780 ../src/viktrwlayer.c:7980
+msgid "Overwrite any existing elevation values with DEM values"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7783 ../src/viktrwlayer.c:7983
+msgid "_Keep Existing"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7786 ../src/viktrwlayer.c:7986
+msgid "Keep existing elevation values, only attempt for missing values"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7791
+msgid "_Smooth Missing Elevation Data"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7796
+msgid "_Interpolated"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7799
+msgid ""
+"Interpolate between known elevation values to derive values for the missing "
+"elevations"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7802
+msgid "_Flat"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7805
+msgid "Set unknown elevation values to the last known value"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7809
+msgid "C_onvert to a Route"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7811
+msgid "C_onvert to a Track"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7819
+msgid "_Anonymize Times"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7822
+msgid "Shift timestamps to a relative offset from 1901-01-01"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7827
msgid "_Reverse Track"
msgstr ""
-#: ../src/viktrwlayer.c:6479
+#: ../src/viktrwlayer.c:7829
msgid "_Reverse Route"
msgstr ""
-#: ../src/viktrwlayer.c:6488
+#: ../src/viktrwlayer.c:7836
+msgid "Refine Route..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7846
msgid "Down_load Maps Along Track..."
msgstr "Descargar mapas a lo largo de la traza"
-#: ../src/viktrwlayer.c:6490
+#: ../src/viktrwlayer.c:7848
msgid "Down_load Maps Along Route..."
msgstr ""
-#: ../src/viktrwlayer.c:6497
-msgid "_Apply DEM Data"
-msgstr "Aplicar datos DEM"
-
-#: ../src/viktrwlayer.c:6504
+#: ../src/viktrwlayer.c:7856
msgid "_Export Track as GPX..."
msgstr ""
-#: ../src/viktrwlayer.c:6506
+#: ../src/viktrwlayer.c:7858
msgid "_Export Route as GPX..."
msgstr ""
-#: ../src/viktrwlayer.c:6513
+#: ../src/viktrwlayer.c:7865
msgid "E_xtend Track End"
msgstr "Extender al final de la traza"
-#: ../src/viktrwlayer.c:6515
+#: ../src/viktrwlayer.c:7867
msgid "E_xtend Route End"
msgstr ""
-#: ../src/viktrwlayer.c:6522
-msgid "C_onvert to a Route"
-msgstr ""
-
-#: ../src/viktrwlayer.c:6524
-msgid "C_onvert to a Track"
-msgstr ""
-
-#: ../src/viktrwlayer.c:6532
+#: ../src/viktrwlayer.c:7874
msgid "Extend _Using Route Finder"
msgstr ""
-#: ../src/viktrwlayer.c:6548
+#: ../src/viktrwlayer.c:7889
msgid "_Upload to GPS..."
msgstr ""
-#: ../src/viktrwlayer.c:6559
+#: ../src/viktrwlayer.c:7900
msgid "_View Google Directions"
msgstr "Ver Direcciones de Google"
-#: ../src/viktrwlayer.c:6579
+#: ../src/viktrwlayer.c:7920
msgid "Use with _Filter"
msgstr "Usar con filtro"
-#: ../src/viktrwlayer.c:6612
+#: ../src/viktrwlayer.c:7953
msgid "_Edit Trackpoint"
msgstr ""
-#: ../src/viktrwlayer.c:7524
+#: ../src/viktrwlayer.c:9017
#, c-format
msgid " - Gain %dm:Loss %dm"
msgstr ""
-#: ../src/viktrwlayer.c:7526
+#: ../src/viktrwlayer.c:9019
#, c-format
msgid " - Gain %dft:Loss %dft"
msgstr ""
-#: ../src/viktrwlayer.c:7531
+#: ../src/viktrwlayer.c:9024
#, c-format
msgid " - Bearing %3.1f° - Step %s"
msgstr ""
-#: ../src/viktrwlayer.c:8124
+#: ../src/viktrwlayer.c:9628
#, c-format
msgid "Could not launch %s to open file."
msgstr ""
-#: ../src/viktrwlayer.c:8205
+#: ../src/viktrwlayer.c:9709
#, c-format
msgid "Creating %d Image Thumbnails..."
msgstr "Creando %d miniaturas..."
-#: ../src/viktrwlayer.c:8524
+#: ../src/viktrwlayer.c:10106
msgid "No map layer in use. Create one first"
msgstr "No hay una capa de mapa en uso. Cree una primero"
-#: ../src/viktrwlayer_propwin.c:898 ../src/viktrwlayer_propwin.c:1155
+#: ../src/viktrwlayer.c:10225
+#, c-format
+msgid "%s: Track List"
+msgstr ""
+
+#: ../src/viktrwlayer.c:10227
+#, c-format
+msgid "%s: Route List"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:828 ../src/viktrwlayer_propwin.c:1085
#, c-format
msgid "%.1f kph"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:901 ../src/viktrwlayer_propwin.c:1158
+#: ../src/viktrwlayer_propwin.c:831 ../src/viktrwlayer_propwin.c:1088
+#: ../src/viktrwlayer_analysis.c:290
#, c-format
msgid "%.1f mph"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:904 ../src/viktrwlayer_propwin.c:1161
+#: ../src/viktrwlayer_propwin.c:834 ../src/viktrwlayer_propwin.c:1091
#, c-format
msgid "%.1f knots"
msgstr ""
#. VIK_UNITS_SPEED_METRES_PER_SECOND:
-#: ../src/viktrwlayer_propwin.c:908 ../src/viktrwlayer_propwin.c:1165
+#: ../src/viktrwlayer_propwin.c:838 ../src/viktrwlayer_propwin.c:1095
#, c-format
msgid "%.1f m/s"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:1745
+#: ../src/viktrwlayer_propwin.c:1662 ../src/viktrwlayer_analysis.c:267
#, c-format
msgid "%.1f miles"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:1747
+#. VIK_UNITS_DISTANCE_KILOMETRES
+#: ../src/viktrwlayer_propwin.c:1664 ../src/viktrwlayer_analysis.c:271
#, c-format
msgid "%.1f km"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2681
+#: ../src/viktrwlayer_propwin.c:2582
msgid "Failed spliting track. Track unchanged"
msgstr "falla en la operacion del spliting . Track no modificado"
-#: ../src/viktrwlayer_propwin.c:2779 ../src/viktrwlayer_propwin.c:3178
+#: ../src/viktrwlayer_propwin.c:2724 ../src/viktrwlayer_propwin.c:3140
#, c-format
msgid "%s - Track Properties"
msgstr "%s - Propiedades de ruta"
-#: ../src/viktrwlayer_propwin.c:2784
+#: ../src/viktrwlayer_propwin.c:2729
msgid "Split at _Marker"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2785
+#: ../src/viktrwlayer_propwin.c:2730
msgid "Split _Segments"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2786
+#: ../src/viktrwlayer_propwin.c:2731
msgid "_Reverse"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2787
+#: ../src/viktrwlayer_propwin.c:2732
msgid "_Delete Dupl."
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2813
+#: ../src/viktrwlayer_propwin.c:2757
msgid "<b>Comment:</b>"
msgstr "<b>Comentario:</b>"
-#: ../src/viktrwlayer_propwin.c:2814
+#: ../src/viktrwlayer_propwin.c:2758
msgid "<b>Description:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2815
+#: ../src/viktrwlayer_propwin.c:2759
+msgid "<b>Color:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2760
+msgid "<b>Draw Name:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2761
+msgid "<b>Distance Labels:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2764
msgid "<b>Track Length:</b>"
msgstr "<b>Longitud de ruta:</b>"
-#: ../src/viktrwlayer_propwin.c:2816
+#: ../src/viktrwlayer_propwin.c:2765
msgid "<b>Trackpoints:</b>"
msgstr "<b>Puntos de ruta:</b>"
-#: ../src/viktrwlayer_propwin.c:2817
+#: ../src/viktrwlayer_propwin.c:2766
msgid "<b>Segments:</b>"
msgstr "<b>Segmentos:</b>"
-#: ../src/viktrwlayer_propwin.c:2818
+#: ../src/viktrwlayer_propwin.c:2767
msgid "<b>Duplicate Points:</b>"
msgstr "<b>Puntos duplicados:</b>"
-#: ../src/viktrwlayer_propwin.c:2819
+#: ../src/viktrwlayer_propwin.c:2768
msgid "<b>Max Speed:</b>"
msgstr "<b>Velocidad max.:</b>"
-#: ../src/viktrwlayer_propwin.c:2820
+#: ../src/viktrwlayer_propwin.c:2769
msgid "<b>Avg. Speed:</b>"
msgstr "<b>Velocidad media:</b>"
-#: ../src/viktrwlayer_propwin.c:2821
+#: ../src/viktrwlayer_propwin.c:2770
msgid "<b>Moving Avg. Speed:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2822
+#: ../src/viktrwlayer_propwin.c:2771
msgid "<b>Avg. Dist. Between TPs:</b>"
msgstr "<b>Dist. media entre puntos:</b>"
-#: ../src/viktrwlayer_propwin.c:2823
+#: ../src/viktrwlayer_propwin.c:2772
msgid "<b>Elevation Range:</b>"
msgstr "<b>Horquilla de elevación:</b>"
-#: ../src/viktrwlayer_propwin.c:2824
+#: ../src/viktrwlayer_propwin.c:2773
msgid "<b>Total Elevation Gain/Loss:</b>"
msgstr "<b>Diferencia total de elevación:</b>"
-#: ../src/viktrwlayer_propwin.c:2825
+#: ../src/viktrwlayer_propwin.c:2774
msgid "<b>Start:</b>"
msgstr "<b>Comienzo:</b>"
-#: ../src/viktrwlayer_propwin.c:2826
+#: ../src/viktrwlayer_propwin.c:2775
msgid "<b>End:</b>"
msgstr "<b>Fin:</b>"
-#: ../src/viktrwlayer_propwin.c:2827
+#: ../src/viktrwlayer_propwin.c:2776
msgid "<b>Duration:</b>"
msgstr "<b>Duración:</b>"
-#: ../src/viktrwlayer_propwin.c:2828
-msgid "<b>Color:</b>"
+#: ../src/viktrwlayer_propwin.c:2797
+msgid "No"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2798
+msgid "Centre"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2799
+msgid "Start only"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2800
+msgid "End only"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2801
+msgid "Start and End"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2802
+msgid "Centre, Start and End"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2814
+msgid "Maximum number of distance labels to be shown"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2877 ../src/viktrwlayer_propwin.c:2901
-#: ../src/viktrwlayer_propwin.c:2929 ../src/viktrwlayer_propwin.c:2966
-#: ../src/viktrwlayer_propwin.c:2984 ../src/viktrwlayer_propwin.c:3034
-#: ../src/viktrwlayer_propwin.c:3035 ../src/viktrwlayer_propwin.c:3036
-#: ../src/viktrwlayer_propwin.c:3062 ../src/viktrwlayer_propwin.c:3063
+#: ../src/viktrwlayer_propwin.c:2818
+msgid "Properties"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2856 ../src/viktrwlayer_propwin.c:2880
+#: ../src/viktrwlayer_propwin.c:2908 ../src/viktrwlayer_propwin.c:2945
+#: ../src/viktrwlayer_propwin.c:2963 ../src/viktrwlayer_propwin.c:3009
+#: ../src/viktrwlayer_propwin.c:3010 ../src/viktrwlayer_propwin.c:3011
+#: ../src/viktrwlayer_propwin.c:3020 ../src/viktrwlayer_propwin.c:3021
+#: ../src/viktrwlayer_propwin.c:3036 ../src/viktrwlayer_propwin.c:3037
+#: ../src/viktrwlayer_propwin.c:3050 ../src/viktrwlayer_propwin.c:3051
+#: ../src/viktrwlayer_propwin.c:3064 ../src/viktrwlayer_propwin.c:3065
#: ../src/viktrwlayer_propwin.c:3078 ../src/viktrwlayer_propwin.c:3079
#: ../src/viktrwlayer_propwin.c:3092 ../src/viktrwlayer_propwin.c:3093
-#: ../src/viktrwlayer_propwin.c:3106 ../src/viktrwlayer_propwin.c:3107
-#: ../src/viktrwlayer_propwin.c:3120 ../src/viktrwlayer_propwin.c:3121
-#: ../src/viktrwlayer_propwin.c:3134 ../src/viktrwlayer_propwin.c:3135
+#: ../src/viktrwlayer_analysis.c:257
#, c-format
msgid "No Data"
msgstr "Sin datos"
-#: ../src/viktrwlayer_propwin.c:3031
+#: ../src/viktrwlayer_propwin.c:3006
#, c-format
msgid "%d minutes"
msgstr "%d minutos"
-#: ../src/viktrwlayer_propwin.c:3058
+#: ../src/viktrwlayer_propwin.c:3016 ../src/viktrwlayer_analysis.c:515
msgid "Statistics"
msgstr "Estadisticas"
-#: ../src/viktrwlayer_propwin.c:3064
+#: ../src/viktrwlayer_propwin.c:3022
msgid "Show D_EM"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3065 ../src/viktrwlayer_propwin.c:3080
-#: ../src/viktrwlayer_propwin.c:3094 ../src/viktrwlayer_propwin.c:3136
+#: ../src/viktrwlayer_propwin.c:3023 ../src/viktrwlayer_propwin.c:3038
+#: ../src/viktrwlayer_propwin.c:3052 ../src/viktrwlayer_propwin.c:3094
msgid "Show _GPS Speed"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3067 ../src/viktrwlayer_propwin.c:3082
-#: ../src/viktrwlayer_propwin.c:3110 ../src/viktrwlayer_propwin.c:3138
+#: ../src/viktrwlayer_propwin.c:3025 ../src/viktrwlayer_propwin.c:3040
+#: ../src/viktrwlayer_propwin.c:3068 ../src/viktrwlayer_propwin.c:3096
msgid "<b>Track Distance:</b>"
msgstr "<b>Distancia del Track:</b>"
-#: ../src/viktrwlayer_propwin.c:3068 ../src/viktrwlayer_propwin.c:3125
+#: ../src/viktrwlayer_propwin.c:3026 ../src/viktrwlayer_propwin.c:3083
msgid "<b>Track Height:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3073
+#: ../src/viktrwlayer_propwin.c:3031
msgid "Elevation-distance"
msgstr "Elevación-distancia"
-#: ../src/viktrwlayer_propwin.c:3083
+#: ../src/viktrwlayer_propwin.c:3041
msgid "<b>Track Gradient:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3087
+#: ../src/viktrwlayer_propwin.c:3045
msgid "Gradient-distance"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3096 ../src/viktrwlayer_propwin.c:3111
-#: ../src/viktrwlayer_propwin.c:3124
+#: ../src/viktrwlayer_propwin.c:3054 ../src/viktrwlayer_propwin.c:3069
+#: ../src/viktrwlayer_propwin.c:3082
msgid "<b>Track Time:</b>"
msgstr "<b>Tiempo del Track:</b>"
-#: ../src/viktrwlayer_propwin.c:3097 ../src/viktrwlayer_propwin.c:3139
+#: ../src/viktrwlayer_propwin.c:3055 ../src/viktrwlayer_propwin.c:3097
msgid "<b>Track Speed:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3101
+#: ../src/viktrwlayer_propwin.c:3059
msgid "Speed-time"
msgstr "Velocidad-tiempo"
-#: ../src/viktrwlayer_propwin.c:3108 ../src/viktrwlayer_propwin.c:3122
+#: ../src/viktrwlayer_propwin.c:3066 ../src/viktrwlayer_propwin.c:3080
msgid "Show S_peed"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3115
+#: ../src/viktrwlayer_propwin.c:3073
msgid "Distance-time"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3129
+#: ../src/viktrwlayer_propwin.c:3087
msgid "Elevation-time"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3143
+#: ../src/viktrwlayer_propwin.c:3101
msgid "Speed-distance"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:118
+#: ../src/viktrwlayer_tpwin.c:119
msgid "<b>Part of Track:</b>"
msgstr "<b>Parte de la ruta:</b>"
-#: ../src/viktrwlayer_tpwin.c:119
+#: ../src/viktrwlayer_tpwin.c:120
msgid "<b>Latitude:</b>"
msgstr "<b>Latitud:</b>"
-#: ../src/viktrwlayer_tpwin.c:120
+#: ../src/viktrwlayer_tpwin.c:121
msgid "<b>Longitude:</b>"
msgstr "<b>Longitud:</b>"
-#: ../src/viktrwlayer_tpwin.c:121
+#: ../src/viktrwlayer_tpwin.c:122
msgid "<b>Altitude:</b>"
msgstr "<b>Altitud:</b>"
-#: ../src/viktrwlayer_tpwin.c:122
+#: ../src/viktrwlayer_tpwin.c:123
+msgid "<b>Course:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_tpwin.c:124
msgid "<b>Timestamp:</b>"
msgstr "<b>Instante temporal:</b>"
-#: ../src/viktrwlayer_tpwin.c:123
+#: ../src/viktrwlayer_tpwin.c:125
msgid "<b>Time:</b>"
msgstr "<b>Tiempo:</b>"
-#: ../src/viktrwlayer_tpwin.c:124
+#: ../src/viktrwlayer_tpwin.c:126
msgid "<b>Distance Difference:</b>"
msgstr "<b>Diferencia en distancia:</b>"
-#: ../src/viktrwlayer_tpwin.c:125
+#: ../src/viktrwlayer_tpwin.c:127
msgid "<b>Time Difference:</b>"
msgstr "<b>Diferencia en tiempo:</b>"
-#: ../src/viktrwlayer_tpwin.c:126
+#: ../src/viktrwlayer_tpwin.c:128
msgid "<b>\"Speed\" Between:</b>"
msgstr "<b>\"Velocidad\" entre:</b>"
-#: ../src/viktrwlayer_tpwin.c:127
+#: ../src/viktrwlayer_tpwin.c:129
+msgid "<b>Speed:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_tpwin.c:130
msgid "<b>VDOP:</b>"
msgstr "<b>VDOP:</b>"
-#: ../src/viktrwlayer_tpwin.c:128
+#: ../src/viktrwlayer_tpwin.c:131
msgid "<b>HDOP:</b>"
msgstr "<b>HDOP:</b>"
-#: ../src/viktrwlayer_tpwin.c:129
+#: ../src/viktrwlayer_tpwin.c:132
msgid "<b>PDOP:</b>"
msgstr "<b>PDOP:</b>"
-#: ../src/viktrwlayer_tpwin.c:130
+#: ../src/viktrwlayer_tpwin.c:133
msgid "<b>SAT/FIX:</b>"
msgstr "<B>Configurar / Establecer: </b>"
-#: ../src/viktrwlayer_tpwin.c:139
+#: ../src/viktrwlayer_tpwin.c:141
msgid "Trackpoint"
msgstr "Punto de ruta"
-#: ../src/viktrwlayer_tpwin.c:142
+#: ../src/viktrwlayer_tpwin.c:144
msgid "_Insert After"
msgstr "Insertar después"
-#: ../src/viktrwlayer_tpwin.c:144
+#: ../src/viktrwlayer_tpwin.c:146
msgid "Split Here"
msgstr "Dividir aquí"
-#: ../src/viktrwlayer_geotag.c:446
+#.
+#. item = gtk_image_menu_item_new_with_mnemonic ( _("_Select") );
+#. gtk_image_menu_item_set_image ( (GtkImageMenuItem*)item, gtk_image_new_from_stock (GTK_STOCK_FIND, GTK_ICON_SIZE_MENU) );
+#. g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(trw_layer_track_select), values );
+#. gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
+#. gtk_widget_show ( item );
+#.
+#. ATM view auto selects, so don't bother with separate select menu entry
+#: ../src/viktrwlayer_tracklist.c:231 ../src/vikwindow.c:3695
+msgid "_View"
+msgstr "_Ver"
+
+#. Insert column for the layer name when viewing multi layers
+#: ../src/viktrwlayer_tracklist.c:514
+msgid "Layer"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:526
+msgid "Date"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:529
+msgid "Visible"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:536
+msgid ""
+"Distance\n"
+"(miles)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:539
+msgid ""
+"Distance\n"
+"(km)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:545
+msgid ""
+"Length\n"
+"(minutes)"
+msgstr ""
+
+#. VIK_UNITS_SPEED_KILOMETRES_PER_HOUR:
+#: ../src/viktrwlayer_tracklist.c:549 ../src/vikutils.c:72
+msgid "km/h"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:550 ../src/vikutils.c:62
+msgid "mph"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:551 ../src/vikutils.c:68
+msgid "knots"
+msgstr ""
+
+#. VIK_UNITS_SPEED_METRES_PER_SECOND:
+#: ../src/viktrwlayer_tracklist.c:553 ../src/vikutils.c:65
+msgid "m/s"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:556
+#, c-format
+msgid ""
+"Av. Speed\n"
+"(%s)"
+msgstr ""
+
+#. Apply own formatting of the data
+#: ../src/viktrwlayer_tracklist.c:561
+#, c-format
+msgid ""
+"Max Speed\n"
+"(%s)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:569
+msgid ""
+"Max Height\n"
+"(Feet)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:571
+msgid ""
+"Max Height\n"
+"(Metres)"
+msgstr ""
+
+#: ../src/viktrwlayer_geotag.c:481
#, c-format
msgid "Geotagging %d Images..."
msgstr ""
-#: ../src/viktrwlayer_geotag.c:510
+#: ../src/viktrwlayer_geotag.c:545
msgid "Geotag Images"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:516
+#: ../src/viktrwlayer_geotag.c:551
msgid "Images"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:520
+#: ../src/viktrwlayer_geotag.c:555
msgid "Overwrite Existing Waypoints:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:523
+#: ../src/viktrwlayer_geotag.c:558
msgid "Overwrite Existing GPS Information:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:525
+#: ../src/viktrwlayer_geotag.c:560
msgid "Keep File Modification Timestamp:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:555
+#: ../src/viktrwlayer_geotag.c:592
msgid "Create Waypoints:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:563
+#: ../src/viktrwlayer_geotag.c:600
msgid "Write EXIF:"
msgstr "Escribir EXIF:"
-#: ../src/viktrwlayer_geotag.c:575
+#: ../src/viktrwlayer_geotag.c:612
msgid "Interpolate Between Track Segments:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:579
+#: ../src/viktrwlayer_geotag.c:616
msgid "Image Time Offset (Seconds):"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:581
+#: ../src/viktrwlayer_geotag.c:618
msgid ""
"The number of seconds to ADD to the photos time to make it match the GPS "
"data. Calculate this with (GPS - Photo). Can be negative or positive. Useful "
"to adjust times when a camera's timestamp was incorrect."
msgstr ""
-#: ../src/viktrwlayer_geotag.c:584
+#: ../src/viktrwlayer_geotag.c:621
msgid "Image Timezone:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:586
+#: ../src/viktrwlayer_geotag.c:623
msgid ""
"The timezone that was used when the images were created. For example, if a "
"camera is set to AWST or +8:00 hours. Enter +8:00 here so that the correct "
"adjustment to the images' time can be made. GPS data is always in UTC."
msgstr ""
-#: ../src/viktrwlayer_geotag.c:590
+#: ../src/viktrwlayer_geotag.c:627
#, c-format
msgid "Using track: %s"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:592
+#: ../src/viktrwlayer_geotag.c:629
#, c-format
msgid "Using all tracks in: %s"
msgstr ""
-#: ../src/vikstatus.c:105
+#: ../src/viktrwlayer_analysis.c:193
+msgid "Number of Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:194
+msgid "Date Range"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:195
+msgid "Total Length"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:196
+msgid "Average Length"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:197
+msgid "Max Speed"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:198
+msgid "Avg. Speed"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:199
+msgid "Minimum Altitude"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:200
+msgid "Maximum Altitude"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:201
+msgid "Total Elevation Gain/Loss"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:202
+msgid "Avg. Elevation Gain/Loss"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:203
+msgid "Total Duration"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:204
+msgid "Avg. Duration"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:278
+#, c-format
+msgid "%.2f miles"
+msgstr ""
+
+#. VIK_UNITS_DISTANCE_KILOMETRES
+#: ../src/viktrwlayer_analysis.c:282
+#, c-format
+msgid "%.2f km"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:297
+#, c-format
+msgid "%.2f m/s"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:306
+#, c-format
+msgid "%.2f knots\n"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:309
+#, c-format
+msgid "%.2f knots"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:316 ../src/viktrwlayer_analysis.c:319
+#, c-format
+msgid "%.2f km/h"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:330 ../src/viktrwlayer_analysis.c:336
+#, c-format
+msgid "%d feet"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:341 ../src/viktrwlayer_analysis.c:343
+#, c-format
+msgid "%d feet / %d feet"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:348 ../src/viktrwlayer_analysis.c:354
+#, c-format
+msgid "%d m"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:359 ../src/viktrwlayer_analysis.c:361
+#, c-format
+msgid "%d m / %d m"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:373
+#, c-format
+msgid "%d:%02d:%02d days:hrs:mins"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:380
+#, c-format
+msgid "%d:%02d hrs:mins"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:550
+msgid "Include Invisible Items"
+msgstr ""
+
+#: ../src/vikstatus.c:107
+msgid "Current number of background tasks. Click to see the background jobs."
+msgstr ""
+
+#: ../src/vikstatus.c:113
msgid "Current zoom level. Click to select a new one."
msgstr ""
-#: ../src/vikwaypoint.c:34
+#: ../src/vikutils.c:80
+msgid "GPSD"
+msgstr ""
+
+#. GPS Preamble
+#: ../src/vikutils.c:81
+msgid "Trkpt"
+msgstr ""
+
+#: ../src/vikutils.c:121
+#, c-format
+msgid "%sSpeed%s %.1f%s"
+msgstr ""
+
+#: ../src/vikutils.c:130
+#, c-format
+msgid "%sAlt %dfeet"
+msgstr ""
+
+#. VIK_UNITS_HEIGHT_METRES:
+#: ../src/vikutils.c:134
+#, c-format
+msgid "%sAlt %dm"
+msgstr ""
+
+#: ../src/vikutils.c:142
+#, c-format
+msgid "%sCourse %03d°"
+msgstr ""
+
+#: ../src/vikutils.c:155
+msgid "yards"
+msgstr ""
+
+#. VIK_UNITS_DISTANCE_KILOMETRES:
+#: ../src/vikutils.c:159
+msgid "m"
+msgstr ""
+
+#: ../src/vikutils.c:163
+#, c-format
+msgid "%sDistance diff %d%s"
+msgstr ""
+
+#: ../src/vikutils.c:179
+#, c-format
+msgid "%sTime %s"
+msgstr ""
+
+#: ../src/vikutils.c:187
+#, c-format
+msgid "%sTime diff %lds"
+msgstr ""
+
+#: ../src/vikutils.c:193
+#, c-format
+msgid "%sNo. of Sats %d"
+msgstr ""
+
+#: ../src/vikutils.c:213
+#, c-format
+msgid "%sDistance along %.2f%s"
+msgstr ""
+
+#. Name of track
+#: ../src/vikutils.c:232
+#, c-format
+msgid "%sTrack: %s"
+msgstr ""
+
+#: ../src/vikwaypoint.c:36
msgid "Waypoint"
msgstr ""
#. TODO get rid of this as this is unnecessary duplication...
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Pan"
msgstr "Desplazar"
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Zoom"
msgstr "Zoom"
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Ruler"
msgstr "Regla"
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Select"
msgstr ""
+#: ../src/vikwindow.c:381
+msgid "Location lookup aborted"
+msgstr ""
+
+#: ../src/vikwindow.c:401
+#, c-format
+msgid "Location found: %s"
+msgstr ""
+
+#: ../src/vikwindow.c:410
+msgid "Unable to determine location"
+msgstr ""
+
+#: ../src/vikwindow.c:434
+msgid "Default Map"
+msgstr ""
+
+#: ../src/vikwindow.c:444
+msgid "Trying to determine location..."
+msgstr ""
+
+#: ../src/vikwindow.c:447
+msgid "Determining location"
+msgstr ""
+
#. Create tooltip
-#: ../src/vikwindow.c:440
+#: ../src/vikwindow.c:605
msgid "Select zoom level"
msgstr ""
-#: ../src/vikwindow.c:645
+#: ../src/vikwindow.c:923
#, c-format
msgid ""
"Do you want to save the changes you made to the document \"%s\"?\n"
@@ -3195,172 +4035,231 @@ msgstr ""
"\n"
"Sus cambios se perderán si no los graba."
-#: ../src/vikwindow.c:649
+#: ../src/vikwindow.c:927
msgid "Don't Save"
msgstr "No guardar"
-#: ../src/vikwindow.c:696
+#: ../src/vikwindow.c:1005
msgid "mpp"
msgstr "metros/pixel"
-#: ../src/vikwindow.c:696
+#: ../src/vikwindow.c:1005
msgid "pixelfact"
msgstr "factor de pixel"
-#: ../src/vikwindow.c:861
+#: ../src/vikwindow.c:1169
#, c-format
msgid "%s %s %dm"
msgstr "%s%s%dm"
-#: ../src/vikwindow.c:863
+#: ../src/vikwindow.c:1171
#, c-format
msgid "%s %s %dft"
msgstr "%s %s %dpiés"
-#: ../src/vikwindow.c:866
+#: ../src/vikwindow.c:1174
#, c-format
msgid "%s %s"
msgstr "%s%s"
#. NB Ctrl+Shift+R is used for Refresh (deemed more important), so use 'U' instead
-#: ../src/vikwindow.c:1254
+#: ../src/vikwindow.c:1562
msgid "_Ruler"
msgstr "_Regla"
-#: ../src/vikwindow.c:1254
+#: ../src/vikwindow.c:1562
msgid "Ruler Tool"
msgstr "Herramienta regla"
-#: ../src/vikwindow.c:1502 ../src/vikwindow.c:3138
+#: ../src/vikwindow.c:1810 ../src/vikwindow.c:3697
msgid "_Zoom"
msgstr "_Zoom"
-#: ../src/vikwindow.c:1502
+#: ../src/vikwindow.c:1810
msgid "Zoom Tool"
msgstr "Herramienta zoom"
-#: ../src/vikwindow.c:1547 ../src/vikwindow.c:3139
+#: ../src/vikwindow.c:1855 ../src/vikwindow.c:3698
msgid "_Pan"
msgstr "_Desplazar"
-#: ../src/vikwindow.c:1547
+#: ../src/vikwindow.c:1855
msgid "Pan Tool"
msgstr "Herramienta de paneo"
-#: ../src/vikwindow.c:1664
+#: ../src/vikwindow.c:1972
msgid "_Select"
msgstr ""
-#: ../src/vikwindow.c:1664
+#: ../src/vikwindow.c:1972
msgid "Select Tool"
msgstr ""
-#: ../src/vikwindow.c:1809
+#: ../src/vikwindow.c:2123
msgid "You must select a layer to show its properties."
msgstr "Debe seleccionar una capa para mostrar sus propiedades."
#. No error to show, so unlikely this will get called
-#: ../src/vikwindow.c:1824
+#: ../src/vikwindow.c:2137
msgid "The help system is not available."
msgstr ""
#. Main error path
-#: ../src/vikwindow.c:1827
+#: ../src/vikwindow.c:2140
#, c-format
msgid ""
"Help is not available because: %s.\n"
"Ensure a Mime Type ghelp handler program is installed (e.g. yelp)."
msgstr ""
-#: ../src/vikwindow.c:1850
+#: ../src/vikwindow.c:2160
msgid "You must select a layer to delete."
msgstr "Debe seleccionar una capa que borrar."
-#: ../src/vikwindow.c:2087
+#: ../src/vikwindow.c:2396
msgid "Untitled"
msgstr "Sin nombre"
-#: ../src/vikwindow.c:2194
+#: ../src/vikwindow.c:2503
#, c-format
msgid "Unable to add '%s' to the list of recently used documents"
msgstr ""
"Imposibilitado de agregar '%s' a la lista de los documentos recientemente "
"usados"
-#: ../src/vikwindow.c:2208
+#: ../src/vikwindow.c:2540
msgid "The file you requested could not be opened."
msgstr "El fichero seleccionado no se puede abrir"
-#: ../src/vikwindow.c:2211
+#: ../src/vikwindow.c:2543
msgid ""
"GPSBabel is required to load files of this type or GPSBabel encountered "
"problems."
msgstr ""
-#: ../src/vikwindow.c:2214
+#: ../src/vikwindow.c:2546
#, c-format
msgid "Unable to load malformed GPX file %s"
msgstr ""
-#: ../src/vikwindow.c:2217
+#: ../src/vikwindow.c:2549
#, c-format
msgid "Unsupported file type for %s"
msgstr ""
#. Since we can process .vik files with issues just show a warning in the status bar
#. Not that a user can do much about it... or tells them what this issue is yet...
-#: ../src/vikwindow.c:2223
+#: ../src/vikwindow.c:2555
#, c-format
msgid "WARNING: issues encountered loading %s"
msgstr ""
-#: ../src/vikwindow.c:2278
+#: ../src/vikwindow.c:2613
msgid "Please select a GPS data file to open. "
msgstr "Por favor seleccione un fichero GPS que abrir. "
-#: ../src/vikwindow.c:2288
+#: ../src/vikwindow.c:2629
msgid "Geocaching"
msgstr ""
-#: ../src/vikwindow.c:2294
+#: ../src/vikwindow.c:2635
msgid "Google Earth"
msgstr ""
-#: ../src/vikwindow.c:2299
+#: ../src/vikwindow.c:2640
msgid "GPX"
msgstr ""
-#: ../src/vikwindow.c:2304 ../src/vikwindow.c:2387
+#: ../src/vikwindow.c:2645 ../src/vikwindow.c:2734
#: ../src/viking.desktop.in.h:1
msgid "Viking"
msgstr "Vikingo"
-#: ../src/vikwindow.c:2374
+#: ../src/vikwindow.c:2715
msgid "Save as Viking File."
msgstr "Guardar como archivo Viking."
+#: ../src/vikwindow.c:2841
+msgid "Exporting to file: "
+msgstr ""
+
+#. Confirm what happened.
+#: ../src/vikwindow.c:2858
+#, c-format
+msgid "Exported files: %d"
+msgstr ""
+
+#: ../src/vikwindow.c:2870
+msgid "Nothing to Export!"
+msgstr ""
+
+#: ../src/vikwindow.c:2874
+msgid "Export to directory"
+msgstr ""
+
+#: ../src/vikwindow.c:2896
+msgid "Could not convert all files"
+msgstr ""
+
+#: ../src/vikwindow.c:2932
+#, c-format
+msgid "%d bytes"
+msgstr ""
+
+#: ../src/vikwindow.c:2934
+#, c-format
+msgid "%3.1f kB"
+msgstr ""
+
+#: ../src/vikwindow.c:2936
+#, c-format
+msgid "%3.1f MB"
+msgstr ""
+
+#: ../src/vikwindow.c:2937
+#, c-format
+msgid ""
+"%s\n"
+"\n"
+"%s\n"
+"\n"
+"%s"
+msgstr ""
+
+#: ../src/vikwindow.c:2942
+msgid "File not accessible"
+msgstr ""
+
+#: ../src/vikwindow.c:2945
+msgid "No Viking File"
+msgstr ""
+
+#: ../src/vikwindow.c:3035
+msgid "This layer has no configurable properties."
+msgstr ""
+
#. Try harder...
-#: ../src/vikwindow.c:2619 ../src/vikwindow.c:2625
+#: ../src/vikwindow.c:3169 ../src/vikwindow.c:3175
msgid "Generating image file..."
msgstr ""
-#: ../src/vikwindow.c:2647
+#: ../src/vikwindow.c:3197
msgid ""
"Failed to generate internal image.\n"
"\n"
"Try creating a smaller image."
msgstr ""
-#: ../src/vikwindow.c:2655
+#: ../src/vikwindow.c:3205
msgid "Failed to generate image file."
msgstr ""
#. Success
-#: ../src/vikwindow.c:2660
+#: ../src/vikwindow.c:3210
msgid "Image file generated."
msgstr ""
-#: ../src/vikwindow.c:2764
+#: ../src/vikwindow.c:3314
msgid ""
"Viewable region outside allowable pixel size bounds for image. Clipping "
"width/height values."
@@ -3368,455 +4267,480 @@ msgstr ""
"La región visible fuera esta fuera de los valores permitidos para los "
"límites de la imagen. Se limitarán el ancho y el alto."
-#: ../src/vikwindow.c:2789
+#: ../src/vikwindow.c:3339
#, c-format
msgid "Total area: %ldm x %ldm (%.3f sq. km)"
msgstr "Area total: %ldm x %ldm (%.3f km cuadrados)"
-#: ../src/vikwindow.c:2792
+#: ../src/vikwindow.c:3342
#, c-format
msgid "Total area: %ldm x %ldm (%.3f sq. miles)"
msgstr "Area total: %ldm x %ldm (%.3f sq. miles)"
-#: ../src/vikwindow.c:2813
+#: ../src/vikwindow.c:3363
msgid "Save Image"
msgstr "Guardar imagen"
-#: ../src/vikwindow.c:2834
+#: ../src/vikwindow.c:3393
msgid "PNG"
msgstr ""
-#: ../src/vikwindow.c:2857
+#: ../src/vikwindow.c:3416
msgid "You must be in UTM mode to use this feature"
msgstr "Debe estar en modo UTM para usar esta función"
-#: ../src/vikwindow.c:2862
+#: ../src/vikwindow.c:3421
msgid "Choose a directory to hold images"
msgstr "Elije un directorio para colocar las imagenes"
#. todo: default for answers inside VikWindow or static (thruout instance)
-#: ../src/vikwindow.c:2883
+#: ../src/vikwindow.c:3442
msgid "Save to Image File"
msgstr "Guardar como imagen"
-#: ../src/vikwindow.c:2900
+#: ../src/vikwindow.c:3459
msgid "Width (pixels):"
msgstr "Ancho (pixels):"
-#: ../src/vikwindow.c:2902
+#: ../src/vikwindow.c:3461
msgid "Height (pixels):"
msgstr "Alto (pixels):"
-#: ../src/vikwindow.c:2905
+#: ../src/vikwindow.c:3464
msgid ""
"WARNING: USING LARGE IMAGES OVER 10000x10000\n"
"MAY CRASH THE PROGRAM!"
msgstr ""
-#: ../src/vikwindow.c:2907
+#: ../src/vikwindow.c:3466
msgid "Zoom (meters per pixel):"
msgstr "Zoom (metros/pixel):"
-#: ../src/vikwindow.c:2921
+#: ../src/vikwindow.c:3482
msgid "Area in current viewable window"
msgstr "Area en ventana visible"
-#: ../src/vikwindow.c:2931
+#: ../src/vikwindow.c:3492
msgid "Save as PNG"
msgstr "Guardar como PNG"
-#: ../src/vikwindow.c:2932
+#: ../src/vikwindow.c:3493
msgid "Save as JPEG"
msgstr "Guardar como JPEG"
-#: ../src/vikwindow.c:2954
+#: ../src/vikwindow.c:3515
msgid "East-west image tiles:"
msgstr "Teselas de imagen E-W:"
-#: ../src/vikwindow.c:2956
+#: ../src/vikwindow.c:3517
msgid "North-south image tiles:"
msgstr "Teselas de imagen N-S:"
-#: ../src/vikwindow.c:3097
+#: ../src/vikwindow.c:3656
msgid "Choose a background color"
msgstr "Escoja un color de fondo"
-#: ../src/vikwindow.c:3113
+#: ../src/vikwindow.c:3672
msgid "Choose a track highlight color"
msgstr ""
-#: ../src/vikwindow.c:3134
+#: ../src/vikwindow.c:3693
msgid "_File"
msgstr "_Archivo"
-#: ../src/vikwindow.c:3135
+#: ../src/vikwindow.c:3694
msgid "_Edit"
msgstr "_Editar"
-#: ../src/vikwindow.c:3136
-msgid "_View"
-msgstr "_Ver"
-
-#: ../src/vikwindow.c:3137
+#: ../src/vikwindow.c:3696
msgid "_Show"
msgstr "_Mostrar"
-#: ../src/vikwindow.c:3140
+#: ../src/vikwindow.c:3699
msgid "_Layers"
msgstr "_Capas"
-#: ../src/vikwindow.c:3141
+#: ../src/vikwindow.c:3700
msgid "_Tools"
msgstr "_Herramientas"
-#: ../src/vikwindow.c:3142
+#: ../src/vikwindow.c:3701
msgid "_Webtools"
msgstr "_Herramientas WEB"
-#: ../src/vikwindow.c:3143 ../src/vikwindow.c:3206
+#: ../src/vikwindow.c:3702 ../src/vikwindow.c:3763
msgid "_Help"
msgstr "A_yuda"
-#: ../src/vikwindow.c:3145
+#: ../src/vikwindow.c:3704
msgid "New file"
msgstr "Archivo nuevo"
-#: ../src/vikwindow.c:3146
+#: ../src/vikwindow.c:3705
msgid "_Open..."
msgstr "_Abrir…"
-#: ../src/vikwindow.c:3146
+#: ../src/vikwindow.c:3705
msgid "Open a file"
msgstr "Abrir un archivo"
-#: ../src/vikwindow.c:3147
+#: ../src/vikwindow.c:3706
msgid "Open _Recent File"
msgstr "Abrir fichero reciente"
-#: ../src/vikwindow.c:3148
+#: ../src/vikwindow.c:3707
msgid "Append _File..."
msgstr "Añadir fichero"
-#: ../src/vikwindow.c:3148
+#: ../src/vikwindow.c:3707
msgid "Append data from a different file"
msgstr "Añadir datos de otro fichero"
-#: ../src/vikwindow.c:3149
+#: ../src/vikwindow.c:3708
+msgid "_Export All"
+msgstr ""
+
+#: ../src/vikwindow.c:3708
+msgid "Export All TrackWaypoint Layers"
+msgstr ""
+
+#: ../src/vikwindow.c:3709
+msgid "_GPX..."
+msgstr ""
+
+#: ../src/vikwindow.c:3709
+msgid "Export as GPX"
+msgstr ""
+
+#: ../src/vikwindow.c:3710
msgid "A_cquire"
msgstr "A_dquirir"
-#: ../src/vikwindow.c:3150
+#: ../src/vikwindow.c:3711
msgid "Transfer data from a GPS device"
msgstr "Transferir datos desde un dispositivo GPS"
-#: ../src/vikwindow.c:3151
+#: ../src/vikwindow.c:3712
msgid "Import File With GPS_Babel..."
msgstr ""
-#: ../src/vikwindow.c:3151
+#: ../src/vikwindow.c:3712
msgid "Import file via GPSBabel converter"
msgstr ""
-#: ../src/vikwindow.c:3153
-msgid "Google _Directions..."
-msgstr "Google _Directions..."
+#: ../src/vikwindow.c:3713
+msgid "_Directions..."
+msgstr ""
-#: ../src/vikwindow.c:3153
-msgid "Get driving directions from Google"
-msgstr "Obtener trayectos desde Google"
+#: ../src/vikwindow.c:3713
+msgid "Get driving directions"
+msgstr ""
-#: ../src/vikwindow.c:3156
+#: ../src/vikwindow.c:3715
msgid "_OSM Traces..."
msgstr ""
-#: ../src/vikwindow.c:3156
+#: ../src/vikwindow.c:3715
msgid "Get traces from OpenStreetMap"
msgstr ""
-#: ../src/vikwindow.c:3157
+#: ../src/vikwindow.c:3716
msgid "_My OSM Traces..."
msgstr ""
-#: ../src/vikwindow.c:3157
+#: ../src/vikwindow.c:3716
msgid "Get Your Own Traces from OpenStreetMap"
msgstr ""
-#: ../src/vikwindow.c:3160
+#: ../src/vikwindow.c:3719
msgid "Geo_caches..."
msgstr "Geocaches"
-#: ../src/vikwindow.c:3160
+#: ../src/vikwindow.c:3719
msgid "Get Geocaches from geocaching.com"
msgstr "Obtener geocachés de geocaching.com"
-#: ../src/vikwindow.c:3163
+#: ../src/vikwindow.c:3722
msgid "Create waypoints from geotagged images"
msgstr ""
-#: ../src/vikwindow.c:3166
+#: ../src/vikwindow.c:3725
msgid "Create waypoints from Wikipedia items in the current view"
msgstr ""
-#: ../src/vikwindow.c:3168
+#: ../src/vikwindow.c:3727
msgid "_Save"
msgstr "_Guardar"
-#: ../src/vikwindow.c:3168
+#: ../src/vikwindow.c:3727
msgid "Save the file"
msgstr "Guardar el fichero"
-#: ../src/vikwindow.c:3169
+#: ../src/vikwindow.c:3728
msgid "Save _As..."
msgstr "Guardar _como..."
-#: ../src/vikwindow.c:3169
+#: ../src/vikwindow.c:3728
msgid "Save the file under different name"
msgstr "Guardar el fichero con otro nombre"
-#: ../src/vikwindow.c:3170
+#: ../src/vikwindow.c:3729
+msgid "Properties..."
+msgstr ""
+
+#: ../src/vikwindow.c:3729
+msgid "File Properties"
+msgstr ""
+
+#: ../src/vikwindow.c:3730
msgid "_Generate Image File..."
msgstr "Generar i_magen..."
-#: ../src/vikwindow.c:3170
+#: ../src/vikwindow.c:3730
msgid "Save a snapshot of the workspace into a file"
msgstr "Guardar una imagen del area de trabajo en un fichero"
-#: ../src/vikwindow.c:3171
+#: ../src/vikwindow.c:3731
msgid "Generate _Directory of Images..."
msgstr "Generar _directorio de imágenes..."
-#: ../src/vikwindow.c:3171
+#: ../src/vikwindow.c:3731
msgid "FIXME:IMGDIR"
msgstr "FIXME:IMGDIR"
-#: ../src/vikwindow.c:3174
+#: ../src/vikwindow.c:3732
msgid "_Print..."
msgstr "_Imprimir…"
-#: ../src/vikwindow.c:3174
+#: ../src/vikwindow.c:3732
msgid "Print maps"
msgstr "Imprimir mapas"
-#: ../src/vikwindow.c:3177
+#: ../src/vikwindow.c:3733
msgid "E_xit"
msgstr "_Salir"
-#: ../src/vikwindow.c:3177
+#: ../src/vikwindow.c:3733
msgid "Exit the program"
msgstr "Salir del programa"
-#: ../src/vikwindow.c:3178
+#: ../src/vikwindow.c:3734
msgid "Save and Exit"
msgstr "Guardar y salir"
-#: ../src/vikwindow.c:3178
+#: ../src/vikwindow.c:3734
msgid "Save and Exit the program"
msgstr "Guardar el fichero y salir de Viking"
-#: ../src/vikwindow.c:3180
+#: ../src/vikwindow.c:3736
msgid "Go to the _Default Location"
msgstr "Ir a la localización por defecto"
-#: ../src/vikwindow.c:3180
+#: ../src/vikwindow.c:3736
msgid "Go to the default location"
msgstr "Ir a la localización por defecto"
-#: ../src/vikwindow.c:3181
+#: ../src/vikwindow.c:3737
msgid "Go to _Location..."
msgstr "Ir a localización..."
-#: ../src/vikwindow.c:3181
+#: ../src/vikwindow.c:3737
msgid "Go to address/place using text search"
msgstr "Ir a la direccion/posición usada por la busqueda de texto"
-#: ../src/vikwindow.c:3182
+#: ../src/vikwindow.c:3738
msgid "_Go to Lat/Lon..."
msgstr "_Ir a Lat/Lon..."
-#: ../src/vikwindow.c:3182
+#: ../src/vikwindow.c:3738
msgid "Go to arbitrary lat/lon coordinate"
msgstr "Ir a una lat/lon arbitraria"
-#: ../src/vikwindow.c:3183
+#: ../src/vikwindow.c:3739
msgid "Go to UTM..."
msgstr "Ir a UTM..."
-#: ../src/vikwindow.c:3183
+#: ../src/vikwindow.c:3739
msgid "Go to arbitrary UTM coordinate"
msgstr "Ir a una coordenada UTM arbitraria"
-#: ../src/vikwindow.c:3184
+#: ../src/vikwindow.c:3740
msgid "_Refresh"
msgstr ""
-#: ../src/vikwindow.c:3184
+#: ../src/vikwindow.c:3740
msgid "Refresh any maps displayed"
msgstr ""
-#: ../src/vikwindow.c:3185
+#: ../src/vikwindow.c:3741
msgid "Set _Highlight Color..."
msgstr ""
-#: ../src/vikwindow.c:3186
+#: ../src/vikwindow.c:3742
msgid "Set Bac_kground Color..."
msgstr "Poner color de fondo"
-#: ../src/vikwindow.c:3187
+#: ../src/vikwindow.c:3743
msgid "Zoom _In"
msgstr "_Ampliar"
-#: ../src/vikwindow.c:3188
+#: ../src/vikwindow.c:3744
msgid "Zoom _Out"
msgstr "_Reducir"
-#: ../src/vikwindow.c:3189
+#: ../src/vikwindow.c:3745
msgid "Zoom _To..."
msgstr "Acercar/alejar a..."
-#: ../src/vikwindow.c:3190
+#: ../src/vikwindow.c:3746
msgid "Pan _North"
msgstr "Girar hacia el Norte"
-#: ../src/vikwindow.c:3191
+#: ../src/vikwindow.c:3747
msgid "Pan _East"
msgstr "Girar hacia el Este"
-#: ../src/vikwindow.c:3192
+#: ../src/vikwindow.c:3748
msgid "Pan _South"
msgstr "Girar hacia el Sur"
-#: ../src/vikwindow.c:3193
+#: ../src/vikwindow.c:3749
msgid "Pan _West"
msgstr "Girar hacia el Oeste"
-#: ../src/vikwindow.c:3194
+#: ../src/vikwindow.c:3750
msgid "Background _Jobs"
msgstr "_Tareas en segundo plano"
-#: ../src/vikwindow.c:3196
+#: ../src/vikwindow.c:3752
msgid "Cu_t"
msgstr "Cor_tar"
-#: ../src/vikwindow.c:3197
-msgid "_Copy"
-msgstr "_Copiar"
-
-#: ../src/vikwindow.c:3198
-msgid "_Paste"
-msgstr "_Pegar"
-
-#: ../src/vikwindow.c:3199
-msgid "_Delete"
-msgstr "_Borrar"
-
-#: ../src/vikwindow.c:3200
+#: ../src/vikwindow.c:3756
msgid "Delete All"
msgstr "Borrar todo"
-#: ../src/vikwindow.c:3201
+#: ../src/vikwindow.c:3757
msgid "_Flush Map Cache"
msgstr "Vaciar caché de mapas"
-#: ../src/vikwindow.c:3202
+#: ../src/vikwindow.c:3758
msgid "_Set the Default Location"
msgstr "Establecer como localización por defecto"
-#: ../src/vikwindow.c:3202
+#: ../src/vikwindow.c:3758
msgid "Set the Default Location to the current position"
msgstr "Establecer la localización actual como localización por defecto"
-#: ../src/vikwindow.c:3203
+#: ../src/vikwindow.c:3759
msgid "_Preferences"
msgstr "_Preferencias"
-#: ../src/vikwindow.c:3204
+#: ../src/vikwindow.c:3760
+msgid "_Layer Defaults"
+msgstr ""
+
+#: ../src/vikwindow.c:3761
msgid "_Properties"
msgstr "P_ropiedades"
-#: ../src/vikwindow.c:3207
+#: ../src/vikwindow.c:3764
msgid "_About"
msgstr "_Acerca de..."
-#: ../src/vikwindow.c:3213
+#: ../src/vikwindow.c:3768
+msgid "_KML..."
+msgstr ""
+
+#: ../src/vikwindow.c:3768
+msgid "Export as KML"
+msgstr ""
+
+#: ../src/vikwindow.c:3774
msgid "_UTM Mode"
msgstr "Modo _UTM"
-#: ../src/vikwindow.c:3214
+#: ../src/vikwindow.c:3775
msgid "_Expedia Mode"
msgstr "Modo _Expedia"
-#: ../src/vikwindow.c:3215
+#: ../src/vikwindow.c:3776
msgid "_Mercator Mode"
msgstr "Modo _Mercator"
-#: ../src/vikwindow.c:3216
+#: ../src/vikwindow.c:3777
msgid "Lat_/Lon Mode"
msgstr "Modo de Lat/Lon"
-#: ../src/vikwindow.c:3220
+#: ../src/vikwindow.c:3781
msgid "Show _Scale"
msgstr "Mostrar escala"
-#: ../src/vikwindow.c:3220
+#: ../src/vikwindow.c:3781
msgid "Show Scale"
msgstr "Mostrar escala"
-#: ../src/vikwindow.c:3221
+#: ../src/vikwindow.c:3782
msgid "Show _Center Mark"
msgstr "Mostrar marca de centro"
-#: ../src/vikwindow.c:3221
+#: ../src/vikwindow.c:3782
msgid "Show Center Mark"
msgstr "Mostrar marca central"
-#: ../src/vikwindow.c:3222
+#: ../src/vikwindow.c:3783
msgid "Show _Highlight"
msgstr ""
-#: ../src/vikwindow.c:3222
+#: ../src/vikwindow.c:3783
msgid "Show Highlight"
msgstr ""
-#: ../src/vikwindow.c:3223
+#: ../src/vikwindow.c:3784
msgid "_Full Screen"
msgstr "_Pantalla completa"
-#: ../src/vikwindow.c:3223
+#: ../src/vikwindow.c:3784
msgid "Activate full screen mode"
msgstr "Activando el modo de pantalla completa"
-#: ../src/vikwindow.c:3224
+#: ../src/vikwindow.c:3785
msgid "Show Side _Panel"
msgstr "Mostrar panel lateral"
-#: ../src/vikwindow.c:3224
+#: ../src/vikwindow.c:3785
msgid "Show Side Panel"
msgstr "Muestra el panel lateral"
-#: ../src/vikwindow.c:3225
+#: ../src/vikwindow.c:3786
msgid "Show Status_bar"
msgstr "Mostrar barra de estado"
-#: ../src/vikwindow.c:3225
+#: ../src/vikwindow.c:3786
msgid "Show Statusbar"
msgstr "Mostrar barra de estado"
-#: ../src/vikwindow.c:3226
+#: ../src/vikwindow.c:3787
msgid "Show _Toolbar"
msgstr "Mostrar Barra de _Herramientas"
-#: ../src/vikwindow.c:3226
+#: ../src/vikwindow.c:3787
msgid "Show Toolbar"
msgstr "Mostrar Barra de Herramientas"
-#: ../src/vikwindow.c:3227
+#: ../src/vikwindow.c:3788
msgid "Show _Menu"
msgstr "Mostrar Menú"
-#: ../src/vikwindow.c:3227
+#: ../src/vikwindow.c:3788
msgid "Show Menu"
msgstr "Mostrar Menú"
+#: ../src/vikwindow.c:3862
+#, c-format
+msgid "New _%s Layer"
+msgstr ""
+
#: ../src/viking.desktop.in.h:2
msgid "GPS Data Manager"
msgstr "Administrador de datos GPS"
diff --git a/po/eu.po b/po/eu.po
new file mode 100644
index 0000000..bd14410
--- /dev/null
+++ b/po/eu.po
@@ -0,0 +1,4825 @@
+# Basque translation for viking
+# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
+# This file is distributed under the same license as the viking package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: viking\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2013-09-03 21:58+0200\n"
+"PO-Revision-Date: 2013-08-06 06:57+0000\n"
+"Last-Translator: gorkaazk <gorkaazkarate@gmail.com>\n"
+"Language-Team: Basque <eu@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Launchpad-Export-Date: 2013-10-12 09:04+0000\n"
+"X-Generator: Launchpad (build 16799)\n"
+
+#: ../src/acquire.c:103 ../src/vikgpslayer.c:1235
+msgid "Done."
+msgstr "Eginda."
+
+#: ../src/acquire.c:112
+msgid "No data."
+msgstr "Daturik ez."
+
+#: ../src/acquire.c:154 ../src/acquire.c:424
+msgid "Error: acquisition failed."
+msgstr "Errorea: eskuratzeak huts egin du."
+
+#: ../src/acquire.c:352
+msgid "Working..."
+msgstr "Lanean..."
+
+#. This shouldn't happen...
+#: ../src/acquire.c:415
+msgid ""
+"Unable to create command\n"
+"Acquire method failed."
+msgstr ""
+"Ezin da komandoa sortu\n"
+"eskuratze-metodoak huts egin du."
+
+#: ../src/acquire.c:517
+msgid "_Filter"
+msgstr "_Iragazkia"
+
+#: ../src/acquire.c:532
+#, c-format
+msgid "Filter with %s"
+msgstr "Iragazi honen bidez %s"
+
+#: ../src/acquire.c:549
+msgid "Filter"
+msgstr "Iragazi"
+
+#: ../src/background.c:53
+#, c-format
+msgid "%d items"
+msgstr "%d elementuak"
+
+#: ../src/background.c:254
+msgid "Job"
+msgstr "Lana"
+
+#: ../src/background.c:258
+msgid "Progress"
+msgstr "Aurrerapena"
+
+#: ../src/background.c:274
+msgid "Viking Background Jobs"
+msgstr "Viking atzeko planoko lanak"
+
+#: ../src/bing.c:47
+msgid "Bing"
+msgstr "Bing"
+
+#. VIK_GTK_WINDOW_FROM_WIDGET(vp)
+#: ../src/bingmapsource.c:499
+msgid "Bing attribution Loading"
+msgstr "Bing atributuak kargatzen"
+
+#: ../src/clipboard.c:95
+msgid "paste failed"
+msgstr "Errorea itsastean"
+
+#: ../src/clipboard.c:105
+msgid "wrong clipboard data size"
+msgstr "arbeleko datuen tamaina okerra"
+
+#: ../src/clipboard.c:124
+#, c-format
+msgid ""
+"The clipboard contains sublayer data for %s layers. You must select a layer "
+"of this type to paste the clipboard data."
+msgstr ""
+"Arbelak %s geruzaren azpigeruza-datuak ditu. Hautatu behar duzu mota "
+"horretako geruza arbeleko datuak itsasteko."
+
+#: ../src/clipboard.c:236
+msgid ""
+"In order to paste a waypoint, please select an appropriate layer to paste "
+"into."
+msgstr "Hautatu geruza egokia bide-puntu bat itsasteko."
+
+#: ../src/dialog.c:53
+msgid "Go to Lat/Lon"
+msgstr "Joan latit/longitudera"
+
+#: ../src/dialog.c:65 ../src/dialog.c:244
+msgid "Latitude:"
+msgstr "Latitudea:"
+
+#: ../src/dialog.c:71 ../src/dialog.c:249
+msgid "Longitude:"
+msgstr "Longitudea:"
+
+#: ../src/dialog.c:103
+msgid "Go to UTM"
+msgstr ""
+"Joan UTM-ra (Universal Transverse Mercator coordinate system horretara; "
+"Mercator-ren trebeseko koordenada sistema unibertsal horretara))"
+
+#: ../src/dialog.c:116
+msgid "Northing:"
+msgstr "Iparra:"
+
+#: ../src/dialog.c:122
+msgid "Easting:"
+msgstr "Ekialdea:"
+
+#: ../src/dialog.c:129
+msgid "Zone:"
+msgstr "Zona:"
+
+#: ../src/dialog.c:132
+msgid "Letter:"
+msgstr "Hizkia:"
+
+#: ../src/dialog.c:199
+msgid "Waypoint Properties"
+msgstr "Bide-puntuaren propietateak"
+
+#: ../src/dialog.c:235
+msgid "Name:"
+msgstr "Izena:"
+
+#: ../src/dialog.c:254
+msgid "Altitude:"
+msgstr "Altitudea:"
+
+#: ../src/dialog.c:259
+msgid "Comment:"
+msgstr "Iruzkina:"
+
+#: ../src/dialog.c:267 ../src/osm-traces.c:445
+msgid "Description:"
+msgstr "Deskripzioa:"
+
+#: ../src/dialog.c:270
+msgid "Image:"
+msgstr "Irudia:"
+
+#: ../src/dialog.c:275
+msgid "Symbol:"
+msgstr "Ikurra:"
+
+#: ../src/dialog.c:284
+msgid "(none)"
+msgstr "(bat ere ez)"
+
+#: ../src/dialog.c:326
+msgid "Time:"
+msgstr ""
+
+#. TODO: other checks (isalpha or whatever )
+#: ../src/dialog.c:363
+msgid "Please enter a name for the waypoint."
+msgstr "Eman iezaiozu izen bat bide-puntuari, mesedez."
+
+#: ../src/dialog.c:502 ../src/geonamessearch.c:244
+#: ../src/datasource_osm_my_traces.c:507
+msgid "Nothing was selected"
+msgstr "Ez zegoen ezer hautatuta"
+
+#: ../src/dialog.c:510
+msgid "Add Route"
+msgstr "Gehitu ibilbidea"
+
+#: ../src/dialog.c:510
+msgid "Add Track"
+msgstr "Gehitu arrastoa"
+
+#: ../src/dialog.c:518
+msgid "Route Name:"
+msgstr "Ibilbidearen izena:"
+
+#: ../src/dialog.c:518
+msgid "Track Name:"
+msgstr "Arrastoaren izena:"
+
+#: ../src/dialog.c:538
+msgid "Please enter a name for the track."
+msgstr "Eman izen bat arrastoari."
+
+#: ../src/dialog.c:596
+msgid "Zoom Factors..."
+msgstr "Zoom faktoreak..."
+
+#: ../src/dialog.c:610
+msgid "Zoom factor (in meters per pixel):"
+msgstr "Zoom faktorea (metro/pixeleko)"
+
+#: ../src/dialog.c:611
+msgid "X (easting): "
+msgstr "X (ekialdea): "
+
+#: ../src/dialog.c:612
+msgid "Y (northing): "
+msgstr "Y (iparra): "
+
+#: ../src/dialog.c:617
+msgid "X and Y zoom factors must be equal"
+msgstr "X eta Y zoom-faktoreak berdinak izan behar dute"
+
+#: ../src/dialog.c:672
+msgid "1 min"
+msgstr "Minutu 1"
+
+#: ../src/dialog.c:673
+msgid "1 hour"
+msgstr "Ordu 1"
+
+#: ../src/dialog.c:674
+msgid "1 day"
+msgstr "Egun 1"
+
+#: ../src/dialog.c:675
+msgid "Custom (in minutes):"
+msgstr "Pertsonalizatua (minututan):"
+
+#: ../src/dialog.c:786
+msgid "GPS Data and Topo Analyzer, Explorer, and Manager."
+msgstr "GPS Data eta Topo Analyzer, Explorer eta Manager."
+
+#: ../src/dialog.c:787
+msgid ""
+"This program is free software; you can redistribute it and/or modify it "
+"under the terms of the GNU General Public License as published by the Free "
+"Software Foundation; either version 2 of the License, or (at your option) "
+"any later version.\n"
+"\n"
+"This program is distributed in the hope that it will be useful, but WITHOUT "
+"ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or "
+"FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for "
+"more details.\n"
+"\n"
+"You should have received a copy of the GNU General Public License along with "
+"this program; if not, write to the Free Software Foundation, Inc., 59 Temple "
+"Place, Suite 330, Boston, MA 02111-1307, USA"
+msgstr ""
+"Programa hau software librea da; birbanatu edo eta aldatu dezakezu "
+"Software Librearen Fundazioak argitaratutako GNU General Public License-aren "
+"baldintzapean; baita ere Lizentziaren 2. edo ondorengo bertsioak.\n"
+"\n"
+"Programa hau banatu da erabilgarria izan dadin, baina INOLAKO BERMERIK GABE; "
+" ez merkatal erabilpenerako ez eta erabilpen pertsonalerako. Xehetasun "
+"gehiago GNU General Public License-an aurki ditzakezu.\n"
+"\n"
+"Programa honekin batera, GNU General Public License-aren kopia bat jaso "
+"beharko zenuke; bestela, Software Librearen Fundazioari idatzi, Inc., 59 "
+"Temple Place, Suite 330, Boston, MA 02111-1307, USA"
+
+#: ../src/dialog.c:852
+msgid "Translation is coordinated on http://launchpad.net/viking"
+msgstr "Itzulpen koordinatuta dago http://launchpad.net/viking orrian"
+
+#: ../src/dialog.c:861
+msgid "Download along track"
+msgstr "Deskargatu zeharkako arrastoa"
+
+#: ../src/dialog.c:868
+msgid "Map type:"
+msgstr "Mapa mota:"
+
+#: ../src/dialog.c:874
+msgid "Zoom level:"
+msgstr "Zoom maila:"
+
+#: ../src/dialog.c:914
+#, c-format
+msgid "The map data is licensed: %s."
+msgstr "Maparen datuak lizentzia honekin: %s."
+
+#: ../src/dialog.c:917
+#, c-format
+msgid ""
+"The data provided by '<b>%s</b>' are licensed under the following license: "
+"<b>%s</b>.\n"
+"Please, read the license before continuing."
+msgstr ""
+"'<b>%s</b>'-k hornitutako datuak ondorengo lizentziapean argitaratuta "
+"daude: <b>%s</b>.\n"
+"Jarraitu aurretik lizentzia irakurri."
+
+#: ../src/dialog.c:922
+msgid "Open license"
+msgstr "Lizentzia irekia"
+
+#: ../src/expedia.c:53
+msgid "Expedia Street Maps"
+msgstr "Expedia Street Maps"
+
+#: ../src/expedia.c:81
+msgid "Invalid expedia altitude"
+msgstr "Expedia altitudea ez da baliozkoa"
+
+#: ../src/expedia.c:112
+#, c-format
+msgid ""
+"Couldn't open EXPEDIA image file (right after successful download! Please "
+"report and delete image file!): %s"
+msgstr ""
+"Ezin da ireki EXPEDIA irudi-fitxategia (hain justu arrakastaz deskargatu "
+"ondoren! Informatu eta ezabatu irudi-fitxategai!): %s"
+
+#: ../src/expedia.c:125
+#, c-format
+msgid ""
+"Couldn't save EXPEDIA image file (right after successful download! Please "
+"report and delete image file!): %s"
+msgstr ""
+"Ezin da gorde EXPEDIA irudi-fitxategia (hain justu arrakastaz deskargatu "
+"ondoren! Informatu eta ezabatu irudi-fitxategai!): %s"
+
+#. *
+#. * See http://www.geonames.org/export/wikipedia-webservice.html#wikipediaBoundingBox
+#.
+#. Translators may wish to change this setting as appropriate to get Wikipedia articles in that language
+#: ../src/geonamessearch.c:46
+msgid "en"
+msgstr "en"
+
+#: ../src/geonamessearch.c:121
+msgid "Search"
+msgstr "Bilatu"
+
+#: ../src/geonamessearch.c:123
+msgid "No entries found!"
+msgstr "Ez da sarrerarik aurkitu!"
+
+#. NB could allow columns to be shifted around by doing this after each new
+#. gtk_tree_view_column_set_reorderable ( column, TRUE );
+#. However I don't think is that useful, so I haven't put it in
+#: ../src/geonamessearch.c:177 ../src/datasource_osm_my_traces.c:424
+#: ../src/viktrwlayer_tracklist.c:521
+msgid "Name"
+msgstr "Izena"
+
+#: ../src/geonamessearch.c:182
+msgid "Feature"
+msgstr "Ezaugarri"
+
+#: ../src/geonamessearch.c:187 ../src/datasource_osm_my_traces.c:439
+msgid "Lat/Lon"
+msgstr "Lat/Lon"
+
+#: ../src/geonamessearch.c:270 ../src/googlesearch.c:100 ../src/vikgoto.c:306
+msgid "couldn't map temp file"
+msgstr "ezin esleitu aldi baterako fitxategia"
+
+#: ../src/globals.c:73
+msgid "Absolute"
+msgstr ""
+
+#: ../src/globals.c:73
+msgid "Relative"
+msgstr ""
+
+#: ../src/globals.c:76
+msgid "Degree format:"
+msgstr "Gradu-formatua"
+
+#: ../src/globals.c:77
+msgid "Distance units:"
+msgstr "Distantzia-unitateak:"
+
+#: ../src/globals.c:78
+msgid "Speed units:"
+msgstr "Abiadura-unitateak:"
+
+#: ../src/globals.c:79
+msgid "Height units:"
+msgstr "Alturera-unitateak:"
+
+#: ../src/globals.c:80
+msgid "Use large waypoint icons:"
+msgstr "Erabili bide-puntu ikono handiak:"
+
+#: ../src/globals.c:81
+msgid "Default latitude:"
+msgstr "Lehenetsitako latitudea:"
+
+#: ../src/globals.c:82
+msgid "Default longitude:"
+msgstr "Lehenetsitako longitudea:"
+
+#: ../src/globals.c:88
+msgid "Alphabetical"
+msgstr "Alfabetikoa"
+
+#: ../src/globals.c:88 ../src/datasource_osm_my_traces.c:434
+msgid "Time"
+msgstr "Denbora"
+
+#: ../src/globals.c:88
+msgid "Creation"
+msgstr ""
+
+#: ../src/globals.c:89
+msgid "Title Case"
+msgstr ""
+
+#: ../src/globals.c:89
+msgid "Lowercase"
+msgstr ""
+
+#: ../src/globals.c:92
+msgid "KML File Export Units:"
+msgstr "KML fitxategien esportazio unitateak:"
+
+#: ../src/globals.c:93
+msgid "GPX Track Order:"
+msgstr "GPXaren arrastoaren agindua:"
+
+#: ../src/globals.c:94
+msgid "GPX Waypoint Symbols:"
+msgstr ""
+
+#: ../src/globals.c:95
+msgid ""
+"Save GPX Waypoint Symbol names in the specified case. May be useful for "
+"compatibility with various devices"
+msgstr ""
+
+#: ../src/globals.c:100
+msgid "Image Viewer:"
+msgstr "Irudi-ikustailea:"
+
+#: ../src/globals.c:105
+msgid "External GPX Program 1:"
+msgstr "GPX kanpoko programa 1:"
+
+#: ../src/globals.c:106
+msgid "External GPX Program 2:"
+msgstr "GPX kanpoko programa 2:"
+
+#: ../src/globals.c:110
+msgid "Save File Reference Mode:"
+msgstr ""
+
+#: ../src/globals.c:111
+msgid ""
+"When saving a Viking .vik file, this determines how the directory paths of "
+"filenames are written."
+msgstr ""
+
+#: ../src/globals.c:112
+msgid "Show Tooltip during Track Creation:"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Home Location"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Last Location"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Specified File"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Auto Location"
+msgstr ""
+
+#: ../src/globals.c:118
+msgid "Restore Window Setup:"
+msgstr ""
+
+#: ../src/globals.c:119
+msgid "Restore window size and layout"
+msgstr ""
+
+#: ../src/globals.c:120
+msgid "Add a Default Map Layer:"
+msgstr ""
+
+#: ../src/globals.c:121
+msgid ""
+"The default map layer added is defined by the Layer Defaults. Use the menu "
+"Edit->Layer Defaults->Map... to change the map type and other values."
+msgstr ""
+
+#: ../src/globals.c:122
+msgid "Startup Method:"
+msgstr ""
+
+#: ../src/globals.c:123
+msgid "Startup File:"
+msgstr ""
+
+#: ../src/globals.c:124
+msgid ""
+"The default file to load on startup. Only applies when the startup method is "
+"set to 'Specified File'"
+msgstr ""
+
+#: ../src/globals.c:125
+msgid "Check For New Version:"
+msgstr ""
+
+#: ../src/globals.c:126
+msgid "Periodically check to see if a new version of Viking is available"
+msgstr ""
+
+#. Defaults for the options are setup here
+#: ../src/globals.c:163
+msgid "General"
+msgstr "Orokorra"
+
+#. New Tab
+#: ../src/globals.c:188
+msgid "Startup"
+msgstr ""
+
+#. New Tab
+#: ../src/globals.c:206
+msgid "Export/External"
+msgstr "Esportatu/Kanpokoa"
+
+#. 'Advanced' Properties
+#: ../src/globals.c:230
+msgid "Advanced"
+msgstr ""
+
+#. Webtools
+#: ../src/google.c:38
+msgid "Google"
+msgstr "Google"
+
+#: ../src/datasource_file.c:59
+msgid "Import file with GPSBabel"
+msgstr "Inportatu irudia GPSBabel-en bidez"
+
+#: ../src/datasource_file.c:60
+msgid "Imported file"
+msgstr "Inportatutako fitxategia"
+
+#. The file selector
+#: ../src/datasource_file.c:127
+msgid "File:"
+msgstr "Fitxategia:"
+
+#: ../src/datasource_file.c:128
+msgid "File to import"
+msgstr "Inportatzeko fitxategia"
+
+#: ../src/datasource_file.c:135
+msgid "All files"
+msgstr "Fitxategi guztiak"
+
+#. The file format selector
+#: ../src/datasource_file.c:142
+msgid "File type:"
+msgstr "Fitxategi mota:"
+
+#: ../src/datasource_file.c:184
+#, c-format
+msgid "using babel args '%s' and file '%s'"
+msgstr "Erabiltzen Babel argumentuak '%s' eta fitxategia '%s'"
+
+#: ../src/datasource_gc.c:66
+msgid "Download Geocaches"
+msgstr "Deskargatu Geocache-ak"
+
+#: ../src/datasource_gc.c:67
+msgid "Geocaching.com Caches"
+msgstr "Geocaching.com Cache-ak"
+
+#: ../src/datasource_gc.c:85
+msgid "geocaching.com username:"
+msgstr "geocaching.com erabiltzaile-izena:"
+
+#: ../src/datasource_gc.c:86
+msgid "geocaching.com password:"
+msgstr "geocaching.com pasahitza:"
+
+#: ../src/datasource_gc.c:127
+#, c-format
+msgid ""
+"Can't find %s or %s in path! Check that you have installed it correctly."
+msgstr ""
+"Ezin da aurkitu %s edo %s kokalekuan! Egiaztatu ongi instalatu duzula."
+
+#: ../src/datasource_gc.c:189
+msgid "Number geocaches:"
+msgstr "geocahes-zenbakia:"
+
+#: ../src/datasource_gc.c:191
+msgid "Centered around:"
+msgstr "Zentratuta inguruan:"
+
+#: ../src/datasource_gc.c:230
+msgid "Broken input - using some defaults"
+msgstr "Hautsitako sarrera - lehenetsitako batzuk erabiltzen"
+
+#: ../src/datasource_geotag.c:51
+msgid "Create Waypoints from Geotagged Images"
+msgstr "Sortu bide-puntuak geo-etiketatutako irudietatik"
+
+#: ../src/datasource_geotag.c:52
+msgid "Geotagged Images"
+msgstr "Geo-etiketatutako irudiak"
+
+#: ../src/datasource_geotag.c:102 ../src/vikwindow.c:2655
+#: ../src/vikwindow.c:2729 ../src/vikwindow.c:3380
+msgid "All"
+msgstr "Guztiak"
+
+#: ../src/datasource_geotag.c:107 ../src/vikwindow.c:3385
+msgid "JPG"
+msgstr "JPG"
+
+#: ../src/datasource_geotag.c:168
+#, c-format
+msgid "Unable to create waypoint from %s"
+msgstr "Ezin da bide-punturik sortu %s-tik"
+
+#: ../src/datasource_gps.c:54
+msgid "Acquire from GPS"
+msgstr "Eskuratu GPStik"
+
+#: ../src/datasource_gps.c:55
+msgid "Acquired from GPS"
+msgstr "GPStik eskuratua"
+
+#: ../src/datasource_gps.c:245
+#, c-format
+msgid "using cmdline '%s' and file '%s'\n"
+msgstr "'%s' cmdline eta '%s' fitxategia erabiltzen\n"
+
+#: ../src/datasource_gps.c:327 ../src/vikgpslayer.c:934
+#, c-format
+msgid "Downloading %d waypoint..."
+msgid_plural "Downloading %d waypoints..."
+msgstr[0] "Deskargatzen %d bide-puntua..."
+msgstr[1] "Deskargatzen %d bide-puntuak..."
+
+#: ../src/datasource_gps.c:328 ../src/vikgpslayer.c:935
+#, c-format
+msgid "Downloading %d trackpoint..."
+msgid_plural "Downloading %d trackpoints..."
+msgstr[0] "Deskargatzen %d arrasto-puntua..."
+msgstr[1] "Deskargatzen %d arrasto-puntuak..."
+
+#: ../src/datasource_gps.c:333 ../src/vikgpslayer.c:940
+#, c-format
+msgid "Downloading %d routepoint..."
+msgid_plural "Downloading %d routepoints..."
+msgstr[0] "Deskargatzen %d ibilbide-puntua..."
+msgstr[1] "Deskargatzen %d ibilbide-puntuak..."
+
+#: ../src/datasource_gps.c:355 ../src/datasource_gps.c:356
+#: ../src/datasource_gps.c:357
+#, c-format
+msgid "Downloaded %d out of %d %s..."
+msgstr "%d horietatik %d %s deskargaturik..."
+
+#: ../src/datasource_gps.c:361 ../src/datasource_gps.c:362
+#: ../src/datasource_gps.c:363
+#, c-format
+msgid "Downloaded %d %s."
+msgstr "Deskargatuak %d %s."
+
+#: ../src/datasource_gps.c:377 ../src/vikgpslayer.c:1018
+#, c-format
+msgid "GPS Device: %s"
+msgstr "GPS gailua: %s"
+
+#: ../src/datasource_gps.c:400 ../src/vikgpslayer.c:1092
+#: ../src/vikgpslayer.c:1160
+msgid "Status: Working..."
+msgstr "Orain: lanean..."
+
+#. NB gps_layer_inst_init() is performed after parameter registeration
+#. thus to give the protocols some potential values use the old static list
+#. TODO: find another way to use gps_layer_inst_init()?
+#: ../src/datasource_gps.c:500 ../src/vikgpslayer.c:207
+msgid "GPS Protocol:"
+msgstr "GPS protokoloa:"
+
+#. List reassigned at runtime
+#: ../src/datasource_gps.c:526 ../src/vikgpslayer.c:208
+msgid "Serial Port:"
+msgstr "Serie-ataka:"
+
+#: ../src/datasource_gps.c:576
+msgid ""
+"Turn Off After Transfer\n"
+"(Garmin/NAViLink Only)"
+msgstr ""
+"Itzali transferitu eta gero\n"
+"(bakarrik Garmin/NAVlink)"
+
+#: ../src/datasource_gps.c:583
+msgid "Tracks:"
+msgstr "Arrastoak:"
+
+#: ../src/datasource_gps.c:590
+msgid "Routes:"
+msgstr "Ibilbideak:"
+
+#: ../src/datasource_gps.c:597
+msgid "Waypoints:"
+msgstr "Bide-puntuak:"
+
+#: ../src/datasource_gps.c:675 ../src/vikgpslayer.c:1355
+msgid "GPS device: N/A"
+msgstr "GPS gailua: ez dago eskuragarri"
+
+#: ../src/datasource_osm.c:52 ../src/datasource_osm.c:53
+msgid "OSM traces"
+msgstr "OSM arrastoak"
+
+#: ../src/datasource_osm.c:82
+msgid "Page number:"
+msgstr "Orrialde-zenbakia:"
+
+#: ../src/datasource_osm_my_traces.c:59 ../src/datasource_osm_my_traces.c:60
+msgid "OSM My Traces"
+msgstr "OSM My Traces (OpenStreetMap-eko Nire Arrastoak)"
+
+#: ../src/datasource_osm_my_traces.c:104
+msgid "Username:"
+msgstr "Erabiltzailea:"
+
+#: ../src/datasource_osm_my_traces.c:109
+msgid "The email or username used to login to OSM"
+msgstr ""
+"OSM-en sartzeko erabiltzen duzun posta-helbidea edo erabiltzaile-izena"
+
+#: ../src/datasource_osm_my_traces.c:111 ../src/osm-traces.c:421
+msgid "Password:"
+msgstr "Pasahitza:"
+
+#: ../src/datasource_osm_my_traces.c:114
+msgid "The password used to login to OSM"
+msgstr "OSM-en sartzeko erabilitako pasahitza"
+
+#: ../src/datasource_osm_my_traces.c:429
+msgid "Description"
+msgstr "Deskripzioa"
+
+#: ../src/datasource_osm_my_traces.c:444
+msgid "Privacy"
+msgstr "Pribatutasuna"
+
+#: ../src/datasource_osm_my_traces.c:451
+msgid "Within Current View"
+msgstr "Uneko ikuspegi barruan"
+
+#: ../src/datasource_osm_my_traces.c:518
+msgid "GPS Traces"
+msgstr "GPS-arrastoak"
+
+#: ../src/datasource_osm_my_traces.c:520
+msgid "None found!"
+msgstr "Ez da ezer aurkitu!"
+
+#: ../src/datasource_osm_my_traces.c:634
+msgid "My OSM Traces"
+msgstr "My OSM Traces (Nire OSM arrastoak)"
+
+#: ../src/datasource_osm_my_traces.c:649
+#, c-format
+msgid "Unable to get trace: %s"
+msgstr "Ezin izan da arrastoa lortu: %s"
+
+#: ../src/datasource_routing.c:53 ../src/datasource_routing.c:54
+msgid "Directions"
+msgstr ""
+
+#. Engine selector
+#: ../src/datasource_routing.c:83
+msgid "Engine:"
+msgstr ""
+
+#. From and To entries
+#: ../src/datasource_routing.c:88
+msgid "From:"
+msgstr "Nondik:"
+
+#: ../src/datasource_routing.c:90
+msgid "To:"
+msgstr "Nora:"
+
+#: ../src/datasource_wikipedia.c:32
+msgid "Create Waypoints from Wikipedia Articles"
+msgstr "Sortu bide-puntuak Wikipedia artikuluetatik"
+
+#: ../src/datasource_wikipedia.c:33
+msgid "Wikipedia Waypoints"
+msgstr "Wikipediako bide-puntuak"
+
+#: ../src/dem.c:65 ../src/dem.c:79
+msgid "Invalid DEM"
+msgstr "Ez da onartzeko moduko DEM (Digital Elevation Model)"
+
+#: ../src/dem.c:121
+msgid "Invalid DEM header"
+msgstr "Ez da onartzeko moduko DEM burua (Digital Elevation Model)"
+
+#: ../src/dem.c:190 ../src/dem.c:203
+msgid "Incorrect DEM Class B record: expected 1"
+msgstr "DEM Class B erregistro okerra: itxaroten 1"
+
+#: ../src/dem.c:288 ../src/download.c:170
+#, c-format
+msgid "Couldn't map file %s: %s"
+msgstr "Ezin da aurkitu map fitxategia %s: %s"
+
+#: ../src/download.c:130
+msgid "Tile age (days):"
+msgstr ""
+
+#: ../src/download.c:321
+#, c-format
+msgid "Download error: %s"
+msgstr "Deskarga-errorea: %s"
+
+#: ../src/download.c:404
+msgid "couldn't open temp file"
+msgstr "Ezin da aldi baterako fitxategia ireki"
+
+#: ../src/file.c:451 ../src/file.c:456
+#, c-format
+msgid "Draw mode '%s' no more supported"
+msgstr "Marrazketa modua '%s' ez da gehiago onartzen"
+
+#: ../src/geotag_exif.c:421
+msgid "Not enough memory."
+msgstr "Memoria nahikorik ez."
+
+#: ../src/geotag_exif.c:439
+msgid "Setting a value for this tag is unsupported!"
+msgstr "Etiketa honetarako balio bat ezartzeko zerbitzurik ez dago!"
+
+#: ../src/geotag_exif.c:458
+#, c-format
+msgid "Too few components specified (need %d, found %d)\n"
+msgstr "Osagai gutxiegi zehaztu dira (%d behar ziren, %d topatu dira)\n"
+
+#: ../src/geotag_exif.c:462
+msgid "Numeric value expected\n"
+msgstr "Balio numerikoa espero zen\n"
+
+#: ../src/geotag_exif.c:470
+msgid "This shouldn't happen!"
+msgstr "Hau ez luke gertatu behar!"
+
+#: ../src/geotag_exif.c:540
+msgid "Not yet implemented!"
+msgstr "Oraindik ez dago egikaritua!"
+
+#: ../src/geotag_exif.c:553
+msgid "Warning; Too many components specified!"
+msgstr "Kontuz; osagai gehiegi zehaztuta!"
+
+#: ../src/osm-traces.c:76
+msgid "Identifiable (public w/ timestamps)"
+msgstr "Identifikagarria (publikoa, data-zigilu eta guzti)"
+
+#: ../src/osm-traces.c:77
+msgid "Trackable (private w/ timestamps)"
+msgstr "Arrastogarria (pribatua, data-zigilu eta guzti)"
+
+#: ../src/osm-traces.c:78
+msgid "Public"
+msgstr "Publikoa"
+
+#: ../src/osm-traces.c:79
+msgid "Private"
+msgstr "Pribatua"
+
+#: ../src/osm-traces.c:97
+msgid "OSM username:"
+msgstr "OSM erabiltzaile-izena:"
+
+#: ../src/osm-traces.c:98
+msgid "OSM password:"
+msgstr "OSM pasahitza:"
+
+#. Preferences
+#: ../src/osm-traces.c:155
+msgid "OpenStreetMap Traces"
+msgstr "OpenStreetMap arrastoak"
+
+#: ../src/osm-traces.c:238
+#, c-format
+msgid "failed to upload data: HTTP response is %ld"
+msgstr "Errorea datuak kargatzean: HTTP erantzuna %ld da"
+
+#: ../src/osm-traces.c:243
+#, c-format
+msgid "curl_easy_getinfo failed: %d"
+msgstr "curl_easy_getinfo errorea: %d"
+
+#: ../src/osm-traces.c:248
+#, c-format
+msgid "curl request failed: %s"
+msgstr "curl eskaera-errorea: %s"
+
+#: ../src/osm-traces.c:279
+#, c-format
+msgid "failed to open temporary file: %s"
+msgstr "Errorea aldi baterako fitxategia irikitzean: %s"
+
+#. Success
+#: ../src/osm-traces.c:340
+msgid "Uploaded to OSM"
+msgstr "OSMera kargatuta"
+
+#: ../src/osm-traces.c:344
+msgid "FAILED TO UPLOAD DATA TO OSM - CURL PROBLEM"
+msgstr "Errorea OSMera datuak kargatzean- curl errorea"
+
+#: ../src/osm-traces.c:347
+msgid "FAILED TO UPLOAD DATA TO OSM"
+msgstr "Errorea OSMera datuak kargatzean"
+
+#: ../src/osm-traces.c:347
+msgid "HTTP response code"
+msgstr "HTTP erantzun-kodea"
+
+#: ../src/osm-traces.c:355
+#, c-format
+msgid "failed to unlink temporary file: %s"
+msgstr "Errorea aldi baterako fitxategia desesteketzen: %s"
+
+#: ../src/osm-traces.c:394
+msgid "OSM upload"
+msgstr "OSM karga"
+
+#: ../src/osm-traces.c:413
+msgid "Email:"
+msgstr "E-posta:"
+
+#: ../src/osm-traces.c:418
+msgid ""
+"The email used as login\n"
+"<small>Enter the email you use to login into www.openstreetmap.org.</small>"
+msgstr ""
+"Sartzeko idatzi helbide elektonikoa\n"
+"<small>Idatzi www.openstreetmap.org orrian sartzeko erabiltzen duzun helbide "
+"elektronikoa.</small>"
+
+#: ../src/osm-traces.c:426
+msgid ""
+"The password used to login\n"
+"<small>Enter the password you use to login into "
+"www.openstreetmap.org.</small>"
+msgstr ""
+"Sartzeko idatzi pasahitza\n"
+"<small>Idatzi www.openstreetmap.org orrian sartzeko erabiltzen duzun "
+"pasahitza.</small>"
+
+#: ../src/osm-traces.c:431
+msgid "File's name:"
+msgstr "Fitxategiaren izena:"
+
+#: ../src/osm-traces.c:441
+msgid ""
+"The name of the file on OSM\n"
+"<small>This is the name of the file created on the server.This is not the "
+"name of the local file.</small>"
+msgstr ""
+"OSMko fitxategiaren izena\n"
+"<small>Hau da zerbitzarian sortutako fitxategiaren izena. Hau ez da errore "
+"lokalaren izena.</small>"
+
+#: ../src/osm-traces.c:450
+msgid "The description of the trace"
+msgstr "Arrastoaren deskripzioa"
+
+#: ../src/osm-traces.c:453
+msgid "Anonymize Times:"
+msgstr ""
+
+#: ../src/osm-traces.c:458
+msgid ""
+"Anonymize times of the trace.\n"
+"<small>You may choose to make the trace identifiable, yet mask the actual "
+"real time values</small>"
+msgstr ""
+
+#: ../src/osm-traces.c:462
+msgid "Tags:"
+msgstr "Etiketak:"
+
+#: ../src/osm-traces.c:467
+msgid "The tags associated to the trace"
+msgstr "Arrastoari asoziatutako etiketak"
+
+#: ../src/osm-traces.c:529
+#, c-format
+msgid "Uploading %s to OSM"
+msgstr "%s OSMera kargatzen"
+
+#: ../src/mapcache.c:61
+msgid "Map cache memory size (MB):"
+msgstr "Maparen cache-memoriaren tamaina (MB)"
+
+#: ../src/print.c:51 ../src/viktrwlayer.c:509
+msgid "None"
+msgstr "Bat ere ez"
+
+#: ../src/print.c:52
+msgid "Horizontally"
+msgstr "Horizontalki"
+
+#: ../src/print.c:53
+msgid "Vertically"
+msgstr "Bertikalki"
+
+#: ../src/print.c:54
+msgid "Both"
+msgstr "Biak"
+
+#: ../src/print.c:118
+msgid "Image Settings"
+msgstr "Irudi-ezarpenak"
+
+#: ../src/print.c:548
+msgid "done"
+msgstr "eginda"
+
+#. Page Size
+#: ../src/print.c:577
+msgid "_Adjust Page Size and Orientation"
+msgstr "_Doitu orriaren tamaina eta orientazioa"
+
+#: ../src/print.c:593
+msgid "C_enter:"
+msgstr "_Zentratuta:"
+
+#. ignore page margins
+#: ../src/print.c:611
+msgid "Ignore Page _Margins"
+msgstr "Ez ikusi egin orrialdeko _marjinei"
+
+#: ../src/print.c:630
+msgid "Image S_ize:"
+msgstr "Irudiaren tamaina"
+
+#: ../src/util.c:65
+#, c-format
+msgid "Could not launch web browser. %s"
+msgstr ""
+
+#: ../src/util.c:76
+#, c-format
+msgid "Could not create new email. %s"
+msgstr ""
+
+#: ../src/util.c:177
+#, c-format
+msgid ""
+"There is a newer version of Viking available: %s\n"
+"\n"
+"Do you wish to go to Viking's website now?"
+msgstr ""
+
+#: ../src/util.c:304
+msgid ""
+"This appears to be Viking's very first run.\n"
+"\n"
+"Do you wish to enable automatic internet features?\n"
+"\n"
+"Individual settings can be controlled in the Preferences."
+msgstr ""
+
+#: ../src/vikcoordlayer.c:57
+msgid "Color:"
+msgstr "Kolorea:"
+
+#: ../src/vikcoordlayer.c:58
+msgid "Minutes Width:"
+msgstr "Zabalera minututan:"
+
+#: ../src/vikcoordlayer.c:59
+msgid "Line Thickness:"
+msgstr "Marraren lodiera"
+
+#: ../src/vikcoordlayer.c:66
+msgid "Coordinate"
+msgstr "Koordenatua"
+
+#: ../src/datasource_bfilter.c:46
+msgid "Max number of points:"
+msgstr "Gehienezko puntu-kopurua"
+
+#: ../src/datasource_bfilter.c:60
+msgid "Simplify All Tracks..."
+msgstr "Sinplifikatu arrasto guztiak..."
+
+#: ../src/datasource_bfilter.c:61
+msgid "Simplified Tracks"
+msgstr "Sinplifikatutako arrastoak"
+
+#: ../src/datasource_bfilter.c:96 ../src/datasource_bfilter.c:97
+msgid "Remove Duplicate Waypoints"
+msgstr "Ezabatu bikoiztutak bide-puntuak"
+
+#: ../src/datasource_bfilter.c:129
+msgid "Waypoints Inside This"
+msgstr "Bide-puntuak honen barnean"
+
+#: ../src/datasource_bfilter.c:130
+msgid "Polygonized Layer"
+msgstr "Poligono-geruza"
+
+#: ../src/datasource_bfilter.c:165
+msgid "Waypoints Outside This"
+msgstr "Bide-puntuak honen kanpoan"
+
+#: ../src/datasource_bfilter.c:166
+msgid "Polygonzied Layer"
+msgstr "Poligono-geruza"
+
+#: ../src/main.c:92
+#, c-format
+msgid "Ignoring Xlib error: error code %d request code %d\n"
+msgstr "Ez ikusia egiten Xlib errorea: errore-kodea %d eskaera-kodea %d\n"
+
+#: ../src/main.c:105
+msgid "Enable debug output"
+msgstr "Gaitu arazketaren irteera"
+
+#: ../src/main.c:106
+msgid "Enable verbose output"
+msgstr "Gaitu irteera xehatua"
+
+#: ../src/main.c:107
+msgid "Show version"
+msgstr "Erakutsi bertsioa"
+
+#: ../src/osm.c:99
+msgid "On Disk OSM Tile Format"
+msgstr "On Disk OSM lauza formatua"
+
+#: ../src/osm.c:113
+msgid "OSM (view)"
+msgstr "OSM (ikusi)"
+
+#: ../src/osm.c:117
+msgid "OSM (edit)"
+msgstr "OSM (editatu)"
+
+#: ../src/osm.c:121
+msgid "OSM (render)"
+msgstr "OSM (errendatu)"
+
+#. Example: http://127.0.0.1:8111/load_and_zoom?left=8.19&right=8.20&top=48.605&bottom=48.590&select=node413602999
+#. JOSM or merkaartor must already be running with remote interface enabled
+#: ../src/osm.c:128
+msgid "Local port 8111 (eg JOSM)"
+msgstr "8111 ataka lokala (e.b. JOSM)"
+
+#: ../src/osm.c:134
+msgid "OpenStreetMap Notes"
+msgstr ""
+
+#: ../src/osm.c:138
+msgid "OpenStreetBugs"
+msgstr ""
+
+#. Not really OSM but can't be bothered to create somewhere else to put it...
+#: ../src/osm.c:164
+msgid "Wikimedia Toolserver GeoHack"
+msgstr ""
+
+#: ../src/preferences.c:191
+msgid "Preferences"
+msgstr "Hobespenak"
+
+#: ../src/viklayer_defaults.c:232
+#, c-format
+msgid "Could not open file: %s"
+msgstr ""
+
+#: ../src/viklayer_defaults.c:303
+msgid "Layer Defaults"
+msgstr ""
+
+#: ../src/uibuilder.c:185
+msgid "Take care that this password will be stored clearly in a plain file."
+msgstr "Kontuan izan pasahitza formaturik gabeko testu-fitxategi batean."
+
+#: ../src/vikaggregatelayer.c:42
+msgid "Aggregate"
+msgstr "Agregatu"
+
+#. VikLayersPanel *vlp = VIK_LAYERS_PANEL(lav[1]);
+#: ../src/vikaggregatelayer.c:484 ../src/viktrwlayer.c:10238
+#, c-format
+msgid "%s: Track and Route List"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:529 ../src/viktrwlayer.c:7354
+#: ../src/viktrwlayer.c:7420 ../src/viktrwlayer.c:7498
+msgid "_Visibility"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:534
+msgid "_Show All"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:540
+msgid "_Hide All"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:546 ../src/viktrwlayer.c:7371
+#: ../src/viktrwlayer.c:7437 ../src/viktrwlayer.c:7515
+msgid "_Toggle"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:553 ../src/viktrwlayer.c:7536
+msgid "_Sort"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:559 ../src/viktrwlayer.c:7542
+msgid "Name _Ascending"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:565 ../src/viktrwlayer.c:7548
+msgid "Name _Descending"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:571 ../src/viktrwlayer.c:7449
+#: ../src/viktrwlayer.c:7527 ../src/viktrwlayer.c:7587
+#: ../src/viktrwlayer_tracklist.c:237
+msgid "_Statistics"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:576 ../src/viktrwlayer.c:3971
+msgid "Track _List..."
+msgstr ""
+
+#: ../src/vikdemlayer.c:92
+msgid "Absolute height"
+msgstr "Altuera absolutua"
+
+#: ../src/vikdemlayer.c:93
+msgid "Height gradient"
+msgstr "Altuera-gradientea"
+
+#: ../src/vikdemlayer.c:118
+msgid "DEM Files:"
+msgstr "DEM fitxategiak"
+
+#: ../src/vikdemlayer.c:119
+msgid "Download Source:"
+msgstr "Deskargatu iturria:"
+
+#: ../src/vikdemlayer.c:120
+msgid "Min Elev Color:"
+msgstr "Altuera txikienaren kolorea"
+
+#: ../src/vikdemlayer.c:121
+msgid "Type:"
+msgstr "Mota:"
+
+#: ../src/vikdemlayer.c:122
+msgid "Min Elev:"
+msgstr "Altuera txikiena"
+
+#: ../src/vikdemlayer.c:123
+msgid "Max Elev:"
+msgstr "Alturera maximoa"
+
+#: ../src/vikdemlayer.c:134
+msgid "_DEM Download"
+msgstr "_DEM deskarga"
+
+#: ../src/vikdemlayer.c:134
+msgid "DEM Download"
+msgstr "DEM deskarga"
+
+#: ../src/vikdemlayer.c:188
+msgid "DEM"
+msgstr "DEM"
+
+#: ../src/vikdemlayer.c:287
+#, c-format
+msgid "Number of files: %d"
+msgstr "Fitxategi-kopura: %d"
+
+#: ../src/vikdemlayer.c:427
+msgid "DEM Loading"
+msgstr "DEM kargatzen"
+
+#: ../src/vikdemlayer.c:937
+#, c-format
+msgid "No SRTM data available for %f, %f"
+msgstr "SRTM data ez baliozkoa hemen %f, %f"
+
+#. Probably not over any land...
+#: ../src/vikdemlayer.c:1193
+msgid "No DEM File Available"
+msgstr ""
+
+#: ../src/vikdemlayer.c:1212
+#, c-format
+msgid ""
+"\n"
+"Source: %s\n"
+"\n"
+"DEM File: %s\n"
+"DEM File Timestamp: %s"
+msgstr ""
+
+#: ../src/vikdemlayer.c:1216
+#, c-format
+msgid ""
+"Source: %s\n"
+"\n"
+"No DEM File!"
+msgstr ""
+
+#: ../src/vikdemlayer.c:1256
+#, c-format
+msgid "Downloading DEM %s"
+msgstr "DEM deskargatzen %s"
+
+#: ../src/vikdemlayer.c:1280
+msgid "_Show DEM File Information"
+msgstr ""
+
+#: ../src/vikfileentry.c:68
+msgid "Browse..."
+msgstr "Arakatu..."
+
+#: ../src/vikfileentry.c:96
+msgid "Choose file"
+msgstr "Aukeratu fitxategia"
+
+#: ../src/vikfilelist.c:48
+msgid "Choose file(s)"
+msgstr "Aukeratu fitxategia(k)"
+
+#: ../src/vikfilelist.c:172
+msgid "Add..."
+msgstr "Gehitu..."
+
+#: ../src/vikfilelist.c:173
+msgid "Delete"
+msgstr "Ezabatu"
+
+#: ../src/vikgeoreflayer.c:78
+msgid "_Georef Move Map"
+msgstr "_Georef Move Map"
+
+#: ../src/vikgeoreflayer.c:78
+msgid "Georef Move Map"
+msgstr "Georef Move Map"
+
+#: ../src/vikgeoreflayer.c:85
+msgid "Georef Z_oom Tool"
+msgstr "Georef zoom-tresna"
+
+#: ../src/vikgeoreflayer.c:85
+msgid "Georef Zoom Tool"
+msgstr "Georef zoom-tresna"
+
+#: ../src/vikgeoreflayer.c:95
+msgid "GeoRef Map"
+msgstr "GeoRef mapa"
+
+#: ../src/vikgeoreflayer.c:377 ../src/vikmapslayer.c:720
+#, c-format
+msgid "Couldn't open image file: %s"
+msgstr "Ezin da irudi-fitxategia ireki: %s"
+
+#: ../src/vikgeoreflayer.c:391
+msgid ""
+"GeoRef map cannot be displayed in the current drawmode.\n"
+"Select \"UTM Mode\" from View menu to view it."
+msgstr ""
+
+#: ../src/vikgeoreflayer.c:415
+msgid "Unexpected end of file reading World file."
+msgstr "Mundua fitxategia irakurtzean ustegabekok bukaera"
+
+#: ../src/vikgeoreflayer.c:431 ../src/vikgeoreflayer.c:476
+msgid "Choose World file"
+msgstr "Aukeratu Mundua fitxategia"
+
+#: ../src/vikgeoreflayer.c:444
+msgid "The World file you requested could not be opened for reading."
+msgstr "Aukeratu duzun Mundua fitxategia ezin da ireki irakurtzeko."
+
+#: ../src/vikgeoreflayer.c:489
+msgid "The file you requested could not be opened for writing."
+msgstr "Eskatu duzun fitxategia ezin da ireki idazteko."
+
+#: ../src/vikgeoreflayer.c:506 ../src/viklayer.c:518
+msgid "Layer Properties"
+msgstr "Geruza-propietateak"
+
+#: ../src/vikgeoreflayer.c:528
+msgid "World File Parameters:"
+msgstr "Mundua fitxategiaren parametroak"
+
+#: ../src/vikgeoreflayer.c:529
+msgid "Load From File..."
+msgstr "Kargatu fitxategitik..."
+
+#: ../src/vikgeoreflayer.c:534
+msgid "Corner pixel easting:"
+msgstr "Izkinako pixela ekialdean lerrokatzen:"
+
+#: ../src/vikgeoreflayer.c:536
+msgid "the UTM \"easting\" value of the upper-left corner pixel of the map"
+msgstr ""
+
+#: ../src/vikgeoreflayer.c:538
+msgid "Corner pixel northing:"
+msgstr "Izkinako pixela iparrean lerrokatzen:"
+
+#: ../src/vikgeoreflayer.c:540
+msgid "the UTM \"northing\" value of the upper-left corner pixel of the map"
+msgstr ""
+
+#: ../src/vikgeoreflayer.c:542
+msgid "X (easting) scale (mpp): "
+msgstr "X (ekialde) eskala (mpp) "
+
+#: ../src/vikgeoreflayer.c:543
+msgid "Y (northing) scale (mpp): "
+msgstr "Y (iparra) eskala (mpp) "
+
+#: ../src/vikgeoreflayer.c:546
+msgid "the scale of the map in the X direction (meters per pixel)"
+msgstr "Maparen eskala X norabidean (pixeleko metroak)"
+
+#: ../src/vikgeoreflayer.c:548
+msgid "the scale of the map in the Y direction (meters per pixel)"
+msgstr "Maparen eskala Y norabidean (pixeleko metroak)"
+
+#: ../src/vikgeoreflayer.c:550
+msgid "Map Image:"
+msgstr "Mapa-irudia"
+
+#. Now with icons
+#: ../src/vikgeoreflayer.c:658
+msgid "_Zoom to Fit Map"
+msgstr "_Zoom egin mapa doitzeko"
+
+#: ../src/vikgeoreflayer.c:664
+msgid "_Goto Map Center"
+msgstr "_Joan maparen erdira"
+
+#: ../src/vikgeoreflayer.c:670
+msgid "_Export to World File"
+msgstr "_Esportatu Mundua fitxategira"
+
+#: ../src/vikgoto.c:81
+msgid "No goto tool available."
+msgstr "Joan-tresna ezin da erabili"
+
+#: ../src/vikgoto.c:94 ../src/vikgoto.c:148
+msgid "goto"
+msgstr "Joan"
+
+#: ../src/vikgoto.c:96
+msgid "I don't know that place. Do you want another goto?"
+msgstr "Ez dut toki hori ezagutzen. Beste toki batera joan nahi duzu?"
+
+#: ../src/vikgoto.c:150
+msgid "goto provider:"
+msgstr "Jo zerbitzu-hornitzailearengana:"
+
+#: ../src/vikgoto.c:165
+msgid "Enter address or place name:"
+msgstr "Sartu helbidea edo toki-izena"
+
+#: ../src/vikgoto.c:363
+msgid "Locality"
+msgstr ""
+
+#: ../src/vikgpslayer.c:128
+msgid "Data Mode"
+msgstr "Datu modua"
+
+#: ../src/vikgpslayer.c:130
+msgid "Realtime Tracking Mode"
+msgstr "Denbora errealeko arrastoa modua"
+
+#: ../src/vikgpslayer.c:167
+msgid "Keep vehicle at center"
+msgstr "Mantendu ibilgailua erdian"
+
+#: ../src/vikgpslayer.c:168
+msgid "Keep vehicle on screen"
+msgstr "Mantendu ibilgailua pantailan"
+
+#: ../src/vikgpslayer.c:169
+msgid "Disable"
+msgstr "Ezgaitu"
+
+#: ../src/vikgpslayer.c:209
+msgid "Download Tracks:"
+msgstr "Deskargatu arrastoak:"
+
+#: ../src/vikgpslayer.c:210
+msgid "Upload Tracks:"
+msgstr "Kargatu arratoak:"
+
+#: ../src/vikgpslayer.c:211
+msgid "Download Routes:"
+msgstr "Deskargatu ibilbideak:"
+
+#: ../src/vikgpslayer.c:212
+msgid "Upload Routes:"
+msgstr "Kargatu ibilbideak:"
+
+#: ../src/vikgpslayer.c:213
+msgid "Download Waypoints:"
+msgstr "Deskargatu bide-puntuak:"
+
+#: ../src/vikgpslayer.c:214
+msgid "Upload Waypoints:"
+msgstr "Kargatu bide-puntuak:"
+
+#: ../src/vikgpslayer.c:216
+msgid "Recording tracks"
+msgstr "Arrastoak grabatzen"
+
+#: ../src/vikgpslayer.c:217
+msgid "Jump to current position on start"
+msgstr "Jauzi egin uneko posiziora abiatzean"
+
+#: ../src/vikgpslayer.c:218
+msgid "Moving Map Method:"
+msgstr "Mapa-mugikorra metodoa:"
+
+#: ../src/vikgpslayer.c:219
+msgid "Update Statusbar:"
+msgstr ""
+
+#: ../src/vikgpslayer.c:219
+msgid "Display information in the statusbar on GPS updates"
+msgstr ""
+
+#: ../src/vikgpslayer.c:220
+msgid "Gpsd Host:"
+msgstr "Gpsd-ostalaria:"
+
+#: ../src/vikgpslayer.c:221
+msgid "Gpsd Port:"
+msgstr "Gpsd-ataka:"
+
+#: ../src/vikgpslayer.c:222
+msgid "Gpsd Retry Interval (seconds):"
+msgstr "Gpsd berriz saiatzek interbaloa (segundoak):"
+
+#: ../src/vikgpslayer.c:243
+msgid "GPS"
+msgstr "GPSa"
+
+#: ../src/vikgpslayer.c:306 ../src/vikgpslayer.c:1308
+msgid "GPS Download"
+msgstr "GPS deskarga"
+
+#: ../src/vikgpslayer.c:306 ../src/vikgpslayer.c:1308
+#: ../src/viktrwlayer.c:3480
+msgid "GPS Upload"
+msgstr "GPS karga"
+
+#: ../src/vikgpslayer.c:308
+msgid "GPS Realtime Tracking"
+msgstr "GPS denbora errealeko arrastoa"
+
+#: ../src/vikgpslayer.c:517
+msgid "Unknown GPS Protocol"
+msgstr "GPS-protokolo ezezaguna"
+
+#: ../src/vikgpslayer.c:535
+msgid "Unknown serial port device"
+msgstr "serie-atakako gailu ezezaguna"
+
+#: ../src/vikgpslayer.c:648
+#, c-format
+msgid "%s: unknown parameter"
+msgstr "%s: parametro ezezaguna"
+
+#. Now with icons
+#: ../src/vikgpslayer.c:743
+msgid "_Upload to GPS"
+msgstr "_GPSra kargatu"
+
+#: ../src/vikgpslayer.c:749
+msgid "Download from _GPS"
+msgstr "_GPStik deskargatu"
+
+#: ../src/vikgpslayer.c:770
+msgid "Empty _Realtime"
+msgstr "Hustu benetako_denbora"
+
+#: ../src/vikgpslayer.c:777
+msgid "E_mpty Upload"
+msgstr "Karga hutsa"
+
+#: ../src/vikgpslayer.c:783
+msgid "_Empty Download"
+msgstr "Deskarga hutsa"
+
+#: ../src/vikgpslayer.c:789
+msgid "Empty _All"
+msgstr "Dena hutsa"
+
+#.
+#. NB It's not fatal if this gives 2 for example! Hence removal of the g_assert
+#. This happens when copied GPS layer is deleted (not sure why the number_handlers would be 2)
+#. I don't think there's any side effects and certainly better than the program just aborting
+#.
+#: ../src/vikgpslayer.c:806
+#, c-format
+msgid "Unexpected number of disconnected handlers: %d"
+msgstr "Deskonektatutako gailu kopuru ustegabea: %d"
+
+#: ../src/vikgpslayer.c:948
+#, c-format
+msgid "Uploading %d waypoint..."
+msgid_plural "Uploading %d waypoints..."
+msgstr[0] "%d bide-puntua kargatzen..."
+msgstr[1] "%d bide-puntuak kargatzen..."
+
+#: ../src/vikgpslayer.c:949
+#, c-format
+msgid "Uploading %d trackpoint..."
+msgid_plural "Uploading %d trackpoints..."
+msgstr[0] "%d arrastoa kargatzen..."
+msgstr[1] "%d arrastoak kargatzen..."
+
+#: ../src/vikgpslayer.c:950
+#, c-format
+msgid "Uploading %d routepoint..."
+msgid_plural "Uploading %d routepoints..."
+msgstr[0] "%d ibilbide-puntua kargatzen..."
+msgstr[1] "%d ibilbide-puntu kargatzen..."
+
+#: ../src/vikgpslayer.c:975
+#, c-format
+msgid "Downloaded %d out of %d waypoint..."
+msgid_plural "Downloaded %d out of %d waypoints..."
+msgstr[0] "%d/%d bide-puntu deskargatuta..."
+msgstr[1] "%d/%d bide-puntu deskargatuta..."
+
+#: ../src/vikgpslayer.c:976
+#, c-format
+msgid "Downloaded %d out of %d trackpoint..."
+msgid_plural "Downloaded %d out of %d trackpoints..."
+msgstr[0] "%d/%d arrasto-puntu deskargatuta..."
+msgstr[1] "%d/%d arrasto-puntu deskargatuta..."
+
+#: ../src/vikgpslayer.c:977
+#, c-format
+msgid "Downloaded %d out of %d routepoint..."
+msgid_plural "Downloaded %d out of %d routepoints..."
+msgstr[0] "%d/%d ibilbide-puntu deskargatuta..."
+msgstr[1] "%d/%d ibilbide-puntu deskargatuta..."
+
+#: ../src/vikgpslayer.c:982
+#, c-format
+msgid "Uploaded %d out of %d waypoint..."
+msgid_plural "Uploaded %d out of %d waypoints..."
+msgstr[0] "%d/%d bide-puntu kargatuta..."
+msgstr[1] "%d/%d bide-puntu kargatuta..."
+
+#: ../src/vikgpslayer.c:983
+#, c-format
+msgid "Uploaded %d out of %d trackpoint..."
+msgid_plural "Uploaded %d out of %d trackpoints..."
+msgstr[0] "%d/%d arrasto-puntu kargatuta..."
+msgstr[1] "%d/%d arrasto-puntu kargatuta..."
+
+#: ../src/vikgpslayer.c:984
+#, c-format
+msgid "Uploaded %d out of %d routepoint..."
+msgid_plural "Uploaded %d out of %d routepoints..."
+msgstr[0] "%d/%d ibilbide-puntu kargatuta..."
+msgstr[1] "%d/%d ibilbide-puntu kargatuta..."
+
+#: ../src/vikgpslayer.c:992
+#, c-format
+msgid "Downloaded %d waypoint"
+msgid_plural "Downloaded %d waypoints"
+msgstr[0] "%d bide-puntu deskargatuta"
+msgstr[1] "%d bide-puntuak deskargatuta"
+
+#: ../src/vikgpslayer.c:993
+#, c-format
+msgid "Downloaded %d trackpoint"
+msgid_plural "Downloaded %d trackpoints"
+msgstr[0] "%d arrasto-puntu deskargatuta"
+msgstr[1] "%d arrasto-puntu deskargatuta"
+
+#: ../src/vikgpslayer.c:994
+#, c-format
+msgid "Downloaded %d routepoint"
+msgid_plural "Downloaded %d routepoints"
+msgstr[0] "%d ibilbide-puntu deskargatuta"
+msgstr[1] "%d ibilbide-puntu deskargatuta"
+
+#: ../src/vikgpslayer.c:999
+#, c-format
+msgid "Uploaded %d waypoint"
+msgid_plural "Uploaded %d waypoints"
+msgstr[0] "%d bide-puntu kargatuta"
+msgstr[1] "%d bide-puntu kargatuta"
+
+#: ../src/vikgpslayer.c:1000
+#, c-format
+msgid "Uploaded %d trackpoint"
+msgid_plural "Uploaded %d trackpoints"
+msgstr[0] "%d arrasto-puntu kargatuta"
+msgstr[1] "%d arrasto-puntu kargatuta"
+
+#: ../src/vikgpslayer.c:1001
+#, c-format
+msgid "Uploaded %d routepoint"
+msgid_plural "Uploaded %d routepoints"
+msgstr[0] "%d ibilbide-puntu kargatuta"
+msgstr[1] "%d ibilbide-puntu kargatuta"
+
+#: ../src/vikgpslayer.c:1230
+msgid "Error: couldn't find gpsbabel."
+msgstr "Errorea: Ezin da aurkitu gpsbabel"
+
+#: ../src/vikgpslayer.c:1319
+msgid "Warning - GPS Upload items may overwrite each other"
+msgstr "Kontuz - kargatutako GPS-elementuek beste batzuk gainidatz ditzakete"
+
+#: ../src/vikgpslayer.c:1351
+msgid "Status: detecting gpsbabel"
+msgstr "Egoera: gpsbabel bilatzen"
+
+#: ../src/vikgpslayer.c:1386
+msgid "No GPS items selected for transfer."
+msgstr "Ez dago GPS-elementu hautaturik transferitzeko"
+
+#: ../src/vikgpslayer.c:1401
+msgid "Could not turn off device."
+msgstr "Ezin da gailua itzali"
+
+#: ../src/vikgpslayer.c:1439
+msgid "Are you sure you want to delete GPS Upload data?"
+msgstr "Seguru zaude ezabatu nahi dituzula kargatutako GPS datuak?"
+
+#: ../src/vikgpslayer.c:1452
+msgid "Are you sure you want to delete GPS Download data?"
+msgstr "Seguru zaude ezabatu nahi dituzula deskargatutako GPS datuak?"
+
+#: ../src/vikgpslayer.c:1466
+msgid "Are you sure you want to delete GPS Realtime data?"
+msgstr "Seguru zaude ezabatu nahi dituzula kargatutako GPS Realtime datuak?"
+
+#: ../src/vikgpslayer.c:1479
+msgid "Are you sure you want to delete All GPS data?"
+msgstr "Seguru zaude ezabatu nahi dituzula GPS datu guztiak?"
+
+#: ../src/viklayerspanel.c:53
+msgid "C_ut"
+msgstr ""
+
+#: ../src/viklayerspanel.c:54 ../src/vikwindow.c:3753
+msgid "_Copy"
+msgstr "_Kopiatu"
+
+#: ../src/viklayerspanel.c:55 ../src/vikwindow.c:3754
+msgid "_Paste"
+msgstr "_Itsatsi"
+
+#: ../src/viklayerspanel.c:56 ../src/vikwindow.c:3755
+msgid "_Delete"
+msgstr "_Ezabatu"
+
+#: ../src/viklayerspanel.c:133
+msgid "New Layer"
+msgstr ""
+
+#: ../src/viklayerspanel.c:178
+msgid "Top Layer"
+msgstr "Goiko geruza"
+
+#: ../src/viklayerspanel.c:194
+msgid "Add new layer"
+msgstr "Gehitu geruza berria"
+
+#: ../src/viklayerspanel.c:201
+msgid "Remove selected layer"
+msgstr "Ezabatu hautatutako geruza"
+
+#: ../src/viklayerspanel.c:208
+msgid "Move selected layer up"
+msgstr "Mugitu gora hautatutako geruza"
+
+#: ../src/viklayerspanel.c:215
+msgid "Move selected layer down"
+msgstr "Mugitu behera hautatutako geruza"
+
+#: ../src/viklayerspanel.c:222
+msgid "Cut selected layer"
+msgstr "Moztu hautatutako geruza"
+
+#: ../src/viklayerspanel.c:229
+msgid "Copy selected layer"
+msgstr "Kopiatu hautatutako geruza"
+
+#: ../src/viklayerspanel.c:236
+msgid ""
+"Paste layer into selected container layer or otherwise above selected layer"
+msgstr ""
+
+#: ../src/viklayerspanel.c:300
+msgid "New name can not be blank."
+msgstr ""
+
+#: ../src/viklayerspanel.c:544
+msgid "Aggregate Layers have no settable properties."
+msgstr "Gehitutako geruzek ez dute propietate konfiguragarririk"
+
+#: ../src/viklayerspanel.c:588
+msgid "You cannot cut the Top Layer."
+msgstr "Ezin duzu moztu goiko geruza"
+
+#: ../src/viklayerspanel.c:633
+#, c-format
+msgid "Are you sure you want to delete %s?"
+msgstr "Ziur zaude %s ezabatu nahi duzula?"
+
+#: ../src/viklayerspanel.c:650
+msgid "You cannot delete the Top Layer."
+msgstr "Ezin duzu ezabatu goiko geruza"
+
+#: ../src/viklayerspanel.c:734
+msgid "Are you sure you wish to delete all layers?"
+msgstr "Seguru zaude geruza guztiak ezabatu nahi dituzula?"
+
+#. ******* MAPZOOMS ********
+#: ../src/vikmapslayer.c:80
+msgid "Use Viking Zoom Level"
+msgstr "Erabili Viking Zoom Level"
+
+#: ../src/vikmapslayer.c:124
+msgid "Map Type:"
+msgstr "Mapa mota"
+
+#: ../src/vikmapslayer.c:125
+msgid "Maps Directory:"
+msgstr "Mapen direktorioa"
+
+#: ../src/vikmapslayer.c:126
+msgid "Alpha:"
+msgstr "Alfa:"
+
+#: ../src/vikmapslayer.c:127
+msgid "Control the Alpha value for transparency effects"
+msgstr "Kontrolatu Alfa-balioa gardentasun efektuetarako"
+
+#: ../src/vikmapslayer.c:128
+msgid "Autodownload maps:"
+msgstr "Autodeskargatu mapak:"
+
+#: ../src/vikmapslayer.c:129
+msgid "Autodownload Only Gets Missing Maps:"
+msgstr "Autodeskargatu galdutako mapak bakarrik:"
+
+#: ../src/vikmapslayer.c:130
+msgid ""
+"Using this option avoids attempting to update already acquired tiles. This "
+"can be useful if you want to restrict the network usage, without having to "
+"resort to manual control. Only applies when 'Autodownload Maps' is on."
+msgstr ""
+"Aukera hau erabilita saihets dezakezu lehendik eskuratutako lauzak "
+"eguneratzea. Aukera interesgarria konexioaren erabilera murriztu nahi "
+"baduzu. Erabili bakarrik 'Autodeskargatu mapak' aktibatuta dagoenean."
+
+#: ../src/vikmapslayer.c:131
+msgid "Zoom Level:"
+msgstr "Zoom-maila:"
+
+#: ../src/vikmapslayer.c:132
+msgid ""
+"Determines the method of displaying map tiles for the current zoom level. "
+"'Viking Zoom Level' uses the best matching level, otherwise setting a fixed "
+"value will always use map tiles of the specified value regardless of the "
+"actual zoom level."
+msgstr ""
+"Ebazten du zein metodo erabili mapako lauzak erakusteko erabiltzen ari den "
+"zoomarekin. 'Viking Zoom maila' horrek erabiltzen du zoom mailarik egokiena, "
+"bestela, ezarriz gero balio jakin bat, beti erabiliko ditu neurri jakin "
+"horretako mapa-lauzak, orain dagoen zoom mailari ez-ikusiarena eginez."
+
+#: ../src/vikmapslayer.c:156
+msgid "_Maps Download"
+msgstr "_Deskargatu mapak"
+
+#: ../src/vikmapslayer.c:156
+msgid "Maps Download"
+msgstr "Deskargatu mapak"
+
+#: ../src/vikmapslayer.c:171
+msgid "Map"
+msgstr "Mapa"
+
+#: ../src/vikmapslayer.c:259
+msgid "Default map layer directory:"
+msgstr ""
+
+#: ../src/vikmapslayer.c:259
+msgid "Choose a directory to store cached Map tiles for this layer"
+msgstr "Aukeratu direktorio bat gordetzeko geruza honetako mapa-lauzak"
+
+#: ../src/vikmapslayer.c:523
+msgid "Unknown map type"
+msgstr "Mapa mota ezezaguna"
+
+#: ../src/vikmapslayer.c:534
+msgid "Unknown Map Zoom"
+msgstr "Mapa zoom ezezaguna"
+
+#: ../src/vikmapslayer.c:624
+#, c-format
+msgid ""
+"New map cannot be displayed in the current drawmode.\n"
+"Select \"%s\" from View menu to view it."
+msgstr ""
+"Mapa berria ezin da bistaratu uneko marrazketa-moduan.\n"
+"Hautatu menuko Ikusi ataleko \"%s\" ondo ikusteko."
+
+#: ../src/vikmapslayer.c:798
+#, c-format
+msgid ""
+"Cowardly refusing to draw tiles or existence of tiles beyond %d zoom out "
+"factor"
+msgstr ""
+"Era koldar batean uko egiten mapa-lauzak marrazteari edo bestela, badaude "
+"mapa-lauzak %d zoom faktore horren harago"
+
+#: ../src/vikmapslayer.c:1210
+#, c-format
+msgid "Redownloading up to %d %s map..."
+msgid_plural "Redownloading up to %d %s maps..."
+msgstr[0] "Berriro deskargatzen %d %s maparaino..."
+msgstr[1] "Berriro deskargatzen %d %s mapetaraino..."
+
+#: ../src/vikmapslayer.c:1212
+#, c-format
+msgid "Redownloading %d %s map..."
+msgid_plural "Redownloading %d %s maps..."
+msgstr[0] "Berriro deskargatzen %d %s mapa..."
+msgstr[1] "Berriro deskargatzen %d %s mapak..."
+
+#: ../src/vikmapslayer.c:1216 ../src/vikmapslayer.c:1290
+#, c-format
+msgid "Downloading %d %s map..."
+msgid_plural "Downloading %d %s maps..."
+msgstr[0] "Deskargatzen %d %s mapa..."
+msgstr[1] "Deskargatzen %d %s mapak..."
+
+#: ../src/vikmapslayer.c:1376
+#, c-format
+msgid ""
+"\n"
+"Source: %s\n"
+"\n"
+"Tile File: %s\n"
+"Tile File Timestamp: %s"
+msgstr ""
+"\n"
+"Iturburua: %s\n"
+"\n"
+"Mapa-lauza fitxategia: %s\n"
+"Mapa-lauza fitxategi data-zigilua: %s"
+
+#: ../src/vikmapslayer.c:1380
+#, c-format
+msgid ""
+"Source: %s\n"
+"\n"
+"No Tile File!"
+msgstr ""
+"Iturburua: %s\n"
+"\n"
+"Ez dago mapa-lauzarik!"
+
+#: ../src/vikmapslayer.c:1418
+msgid "Redownload _Bad Map(s)"
+msgstr "Kargatu berriro mapa _kaxkarra(k)"
+
+#: ../src/vikmapslayer.c:1422
+msgid "Redownload _New Map(s)"
+msgstr "Kargatu berriro mapa _berria(k)"
+
+#: ../src/vikmapslayer.c:1426
+msgid "Redownload _All Map(s)"
+msgstr "Kargatu berriro mapa _guztia(k)"
+
+#: ../src/vikmapslayer.c:1430
+msgid "_Show Tile Information"
+msgstr "_Erakutsi lauzen informazioa"
+
+#: ../src/vikmapslayer.c:1511
+#, c-format
+msgid ""
+"Wrong drawmode for this map.\n"
+"Select \"%s\" from View menu and try again."
+msgstr ""
+"Marrazteko moduaren akatsa mapa honetan\n"
+"Hautatu \"%s\" menuko Ikusi atalean eta saiatu berriz."
+
+#: ../src/vikmapslayer.c:1516
+msgid "Wrong zoom level for this map."
+msgstr "Zoom maila okerra mapa honentzat"
+
+#: ../src/vikmapslayer.c:1647
+msgid "Zoom Start:"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1654
+msgid "Zoom End:"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1660
+msgid "Download Maps Method:"
+msgstr ""
+
+#. redownload method - needs to align with REDOWNLOAD* macro values
+#: ../src/vikmapslayer.c:1732
+msgid "Missing"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1732
+msgid "Bad"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1732
+msgid "New"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1732
+msgid "Reload All"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1734
+msgid "Download for Zoom Levels"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1774
+#, c-format
+msgid ""
+"You are not allowed to download more than %d tiles in one go (requested %d)"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1782
+#, c-format
+msgid "Do you really want to download %d tiles?"
+msgstr ""
+
+#. Now with icons
+#: ../src/vikmapslayer.c:1807
+msgid "Download _Missing Onscreen Maps"
+msgstr "Kargatu _Galdutako pantailako mapak"
+
+#: ../src/vikmapslayer.c:1814
+msgid "Download _New Onscreen Maps"
+msgstr "Kargatu pantailako mapa _berriak"
+
+#: ../src/vikmapslayer.c:1821
+msgid "Reload _All Onscreen Maps"
+msgstr "Berriro kargatu pantailako mapa _guztiak"
+
+#: ../src/vikmapslayer.c:1827
+msgid "Download Maps in _Zoom Levels..."
+msgstr ""
+
+#: ../src/vikrouting.c:54
+msgid "Default engine:"
+msgstr ""
+
+#: ../src/viktreeview.c:316
+msgid "Layer Name"
+msgstr "Geruza-izena"
+
+#: ../src/viktreeview.c:851
+#, c-format
+msgid "delete data from %s\n"
+msgstr "ezabatu datuak hemendik %s\n"
+
+#: ../src/viktrwlayer.c:398
+msgid "Create _Waypoint"
+msgstr "Sortu _bide-puntua"
+
+#: ../src/viktrwlayer.c:398
+msgid "Create Waypoint"
+msgstr "Sortu bide-puntua"
+
+#: ../src/viktrwlayer.c:404
+msgid "Create _Track"
+msgstr "Sortu _arrastoa"
+
+#: ../src/viktrwlayer.c:404
+msgid "Create Track"
+msgstr "Sortu arrastoa"
+
+#: ../src/viktrwlayer.c:413
+msgid "Create _Route"
+msgstr "Sortu _ibilbidea"
+
+#: ../src/viktrwlayer.c:413
+msgid "Create Route"
+msgstr "Sortu ibilbidea"
+
+#: ../src/viktrwlayer.c:422
+msgid "_Edit Waypoint"
+msgstr "_Editatu bide-puntua"
+
+#: ../src/viktrwlayer.c:422
+msgid "Edit Waypoint"
+msgstr "Editatu bide-puntua"
+
+#: ../src/viktrwlayer.c:432
+msgid "Edit Trac_kpoint"
+msgstr "Editatu _arrasto-puntua"
+
+#: ../src/viktrwlayer.c:432
+msgid "Edit Trackpoint"
+msgstr "Editatu arrasto-puntua"
+
+#: ../src/viktrwlayer.c:442
+msgid "Show P_icture"
+msgstr "Ikusi _irudia"
+
+#: ../src/viktrwlayer.c:442
+msgid "Show Picture"
+msgstr "Ikusi irudia"
+
+#: ../src/viktrwlayer.c:448
+msgid "Route _Finder"
+msgstr "Ibilbideen _bilatzailea"
+
+#: ../src/viktrwlayer.c:448
+msgid "Route Finder"
+msgstr "Ibilbideen bilatzailea"
+
+#. ***** PARAMETERS *****
+#: ../src/viktrwlayer.c:468 ../src/viktrwlayer.c:2324
+msgid "Waypoints"
+msgstr "Bide-puntuak"
+
+#: ../src/viktrwlayer.c:468 ../src/viktrwlayer.c:2319
+msgid "Tracks"
+msgstr "Arrastoak"
+
+#: ../src/viktrwlayer.c:468
+msgid "Waypoint Images"
+msgstr "Bide-puntu irudiak"
+
+#: ../src/viktrwlayer.c:468
+msgid "Tracks Advanced"
+msgstr ""
+
+#: ../src/viktrwlayer.c:471
+msgid "Draw by Track"
+msgstr "Irudikatu arrastoaren bidez"
+
+#: ../src/viktrwlayer.c:471
+msgid "Draw by Speed"
+msgstr "Irudikatu abiaduraren bidez"
+
+#: ../src/viktrwlayer.c:471
+msgid "All Tracks Same Color"
+msgstr "Arrasto guztiek kolore bera"
+
+#: ../src/viktrwlayer.c:472
+msgid "Filled Square"
+msgstr "Karratu betea"
+
+#: ../src/viktrwlayer.c:472
+msgid "Square"
+msgstr "Karratua"
+
+#: ../src/viktrwlayer.c:472
+msgid "Circle"
+msgstr "Zirkulua"
+
+#: ../src/viktrwlayer.c:472
+msgid "X"
+msgstr "X"
+
+#: ../src/viktrwlayer.c:498
+msgid "Extra Extra Small"
+msgstr "Txiki txiki txikia"
+
+#: ../src/viktrwlayer.c:499
+msgid "Extra Small"
+msgstr "Txiki txikia"
+
+#: ../src/viktrwlayer.c:500
+msgid "Small"
+msgstr "Txikia"
+
+#: ../src/viktrwlayer.c:501
+msgid "Medium"
+msgstr "Ertaina"
+
+#: ../src/viktrwlayer.c:502
+msgid "Large"
+msgstr "Handia"
+
+#: ../src/viktrwlayer.c:503
+msgid "Extra Large"
+msgstr "Handi handia"
+
+#: ../src/viktrwlayer.c:504
+msgid "Extra Extra Large"
+msgstr "Handi handi handia"
+
+#: ../src/viktrwlayer.c:510
+msgid "Name Ascending"
+msgstr ""
+
+#: ../src/viktrwlayer.c:511
+msgid "Name Descending"
+msgstr ""
+
+#: ../src/viktrwlayer.c:552 ../src/viktrwlayer.c:576
+msgid "Draw Labels"
+msgstr "Marraztu etiketak"
+
+#: ../src/viktrwlayer.c:553
+msgid "Note: the individual track controls what labels may be displayed"
+msgstr ""
+
+#: ../src/viktrwlayer.c:554
+msgid "Track Labels Font Size:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:555
+msgid "Track Drawing Mode:"
+msgstr "Arrasto-marrazketa modua"
+
+#: ../src/viktrwlayer.c:556
+msgid "All Tracks Color:"
+msgstr "Kolore guztietako arrastoak:"
+
+#: ../src/viktrwlayer.c:557
+msgid "The color used when 'All Tracks Same Color' drawing mode is selected"
+msgstr ""
+"'Arrasto guztiek kolore bera' marrazketa moduan erabili beharreko kolorea "
+"hautatu da"
+
+#: ../src/viktrwlayer.c:558
+msgid "Draw Track Lines"
+msgstr "Marraztu arrasto-lerroak"
+
+#: ../src/viktrwlayer.c:559
+msgid "Track Thickness:"
+msgstr "Arrastoaren lodiera"
+
+#: ../src/viktrwlayer.c:560
+msgid "Draw Track Direction"
+msgstr "Marraztu arrastoaren norabidea"
+
+#: ../src/viktrwlayer.c:561
+msgid "Direction Size:"
+msgstr "Norabidearen tamaina:"
+
+#: ../src/viktrwlayer.c:562
+msgid "Draw Trackpoints"
+msgstr "Marraztu arrasto-puntuak"
+
+#: ../src/viktrwlayer.c:563
+msgid "Trackpoint Size:"
+msgstr "Arrasto-puntuaren tamaina"
+
+#: ../src/viktrwlayer.c:564
+msgid "Draw Elevation"
+msgstr "Marraztu altitudea"
+
+#: ../src/viktrwlayer.c:565
+msgid "Draw Elevation Height %:"
+msgstr "Marraztu altitudearen altuera %:"
+
+#: ../src/viktrwlayer.c:566
+msgid "Draw Stops"
+msgstr "Marraztu geldialdiak"
+
+#: ../src/viktrwlayer.c:567
+msgid ""
+"Whether to draw a marker when trackpoints are at the same position but over "
+"the minimum stop length apart in time"
+msgstr ""
+"Ea marraztu ala ez marraztu markatzaile bat arrasto-puntuak leku berean "
+"daudenean baina geldiune jakin baten iraupena gainditu baldin bada"
+
+#: ../src/viktrwlayer.c:568
+msgid "Min Stop Length (seconds):"
+msgstr "Geldialdiaren luzera minimoa (segundoak)"
+
+#: ../src/viktrwlayer.c:570
+msgid "Track BG Thickness:"
+msgstr "Arrastoaren atzeko planoaren lodiera"
+
+#: ../src/viktrwlayer.c:571
+msgid "Track Background Color"
+msgstr "Arrastoaren atzeko planoaren kolorea"
+
+#: ../src/viktrwlayer.c:572
+msgid "Draw by Speed Factor (%):"
+msgstr "Marraztu abiadura faktorearen bidez (%):"
+
+#: ../src/viktrwlayer.c:573
+msgid ""
+"The percentage factor away from the average speed determining the color used"
+msgstr ""
+"Batez besteko abiadurarekiko faktoreak zehazten du erabilitako kolorea"
+
+#: ../src/viktrwlayer.c:574
+msgid "Track Sort Order:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:577
+msgid "Waypoint Font Size:"
+msgstr "Bide-puntuaren letra-mota"
+
+#: ../src/viktrwlayer.c:578
+msgid "Waypoint Color:"
+msgstr "Bide-puntuaren kolorea"
+
+#: ../src/viktrwlayer.c:579
+msgid "Waypoint Text:"
+msgstr "Bide-puntuaren testua:"
+
+#: ../src/viktrwlayer.c:580
+msgid "Background:"
+msgstr "Atzeko planoa:"
+
+#: ../src/viktrwlayer.c:581
+msgid "Fake BG Color Translucency:"
+msgstr "Balizko BG Color gardentasuna:"
+
+#: ../src/viktrwlayer.c:582
+msgid "Waypoint marker:"
+msgstr "Bide-puntuaren markatzailea:"
+
+#: ../src/viktrwlayer.c:583
+msgid "Waypoint size:"
+msgstr "Bide-puntuaren tamaina:"
+
+#: ../src/viktrwlayer.c:584
+msgid "Draw Waypoint Symbols:"
+msgstr "Marraztu bide-puntuen ikurrak:"
+
+#: ../src/viktrwlayer.c:585
+msgid "Waypoint Sort Order:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:587
+msgid "Draw Waypoint Images"
+msgstr "Marraztu bide-puntuen irudiak:"
+
+#: ../src/viktrwlayer.c:588
+msgid "Image Size (pixels):"
+msgstr "Irudiaren tamaina (pixelak):"
+
+#: ../src/viktrwlayer.c:589
+msgid "Image Alpha:"
+msgstr "Irudiaren alfa:"
+
+#: ../src/viktrwlayer.c:590
+msgid "Image Memory Cache Size:"
+msgstr "Irudiaren cache-memoriaren tamaina:"
+
+#: ../src/viktrwlayer.c:678
+msgid "TrackWaypoint"
+msgstr "Arrasto-puntua"
+
+#: ../src/viktrwlayer.c:1534 ../src/vikutils.c:204
+msgid "miles"
+msgstr ""
+
+#. VIK_UNITS_DISTANCE_KILOMETRES:
+#: ../src/viktrwlayer.c:1538 ../src/vikutils.c:209
+msgid "km"
+msgstr ""
+
+#: ../src/viktrwlayer.c:1648
+msgid "start/end"
+msgstr ""
+
+#: ../src/viktrwlayer.c:1660
+msgid "start"
+msgstr ""
+
+#: ../src/viktrwlayer.c:1669
+msgid "end"
+msgstr ""
+
+#: ../src/viktrwlayer.c:2329
+msgid "Routes"
+msgstr "Ibilbideak"
+
+#: ../src/viktrwlayer.c:2519
+#, c-format
+msgid " in %d:%02d hrs:mins"
+msgstr " %d:%02d ordu:min"
+
+#: ../src/viktrwlayer.c:2523
+#, c-format
+msgid ""
+"\n"
+"%sTotal Length %.1f %s%s"
+msgstr ""
+"\n"
+"Luzera %sOsoa %.1f %s%s"
+
+#: ../src/viktrwlayer.c:2529
+#, c-format
+msgid "Tracks: %d - Waypoints: %d - Routes: %d%s"
+msgstr "Arrastoak: %d - Bide-puntuak: %d - Ibilbideak: %d%s"
+
+#: ../src/viktrwlayer.c:2549
+#, c-format
+msgid "Tracks: %d"
+msgstr "Arrastoak: %d"
+
+#: ../src/viktrwlayer.c:2559
+#, c-format
+msgid "Routes: %d"
+msgstr "Ibilbideak: %d"
+
+#: ../src/viktrwlayer.c:2590
+#, c-format
+msgid "- %d:%02d hrs:mins"
+msgstr "- %d:%02d ordu:min"
+
+#: ../src/viktrwlayer.c:2598
+#, c-format
+msgid "%s%.1f km %s"
+msgstr "%s%.1f km %s"
+
+#: ../src/viktrwlayer.c:2601
+#, c-format
+msgid "%s%.1f miles %s"
+msgstr "%s%.1f milia %s"
+
+#: ../src/viktrwlayer.c:2615
+#, c-format
+msgid "Waypoints: %d"
+msgstr "Bide-puntuak: %d"
+
+#: ../src/viktrwlayer.c:2671
+#, c-format
+msgid "Wpt: Alt %dft"
+msgstr "Bide-puntu: Alt %d oin"
+
+#. VIK_UNITS_HEIGHT_METRES:
+#: ../src/viktrwlayer.c:2675
+#, c-format
+msgid "Wpt: Alt %dm"
+msgstr "Bide-puntu: Alt %d m"
+
+#. Add comment if available
+#: ../src/viktrwlayer.c:2690
+#, c-format
+msgid "%s | %s %s | Comment: %s"
+msgstr "%s | %s %s | Iruzkina: %s"
+
+#: ../src/viktrwlayer.c:2692
+#, c-format
+msgid "%s | %s %s"
+msgstr "%s | %s %s"
+
+#: ../src/viktrwlayer.c:2939 ../src/viktrwlayer.c:3010
+msgid "This layer has no waypoints or trackpoints."
+msgstr "Geruza honek ez dauka bide-punturik ez arrato-punturik"
+
+#: ../src/viktrwlayer.c:3045 ../src/vikwindow.c:2754 ../src/vikwindow.c:3407
+#, c-format
+msgid "The file \"%s\" exists, do you wish to overwrite it?"
+msgstr "Lehendik badago \"%s\" izeneko fitxategia, gainidatzi nahi duzu?"
+
+#: ../src/viktrwlayer.c:3057 ../src/vikwindow.c:2778
+msgid "The filename you requested could not be opened for writing."
+msgstr "Eskatu duzun fitxategia ezin da ireki idazteko"
+
+#: ../src/viktrwlayer.c:3062 ../src/viktrwlayer.c:3067
+#: ../src/viktrwlayer.c:3077 ../src/viktrwlayer.c:3089
+msgid "Export Layer"
+msgstr "Esportatu geruza"
+
+#: ../src/viktrwlayer.c:3108
+msgid "Could not create temporary file for export."
+msgstr "Ezin da esportatzeko aldi baterako fitxategia sortu"
+
+#: ../src/viktrwlayer.c:3117
+#, c-format
+msgid "Could not launch %s."
+msgstr "Ezin izan da %s abiatu."
+
+#: ../src/viktrwlayer.c:3161
+msgid "Export Track as GPX"
+msgstr "Esportatu arrastoa GPX formatuan."
+
+#: ../src/viktrwlayer.c:3183
+msgid "Find"
+msgstr "Aurkitu"
+
+#: ../src/viktrwlayer.c:3193
+msgid "Waypoint Name:"
+msgstr "Bide-puntuaren izena:"
+
+#: ../src/viktrwlayer.c:3210
+msgid "Waypoint not found in this layer."
+msgstr "Bide-puntua ez da aurkitu geruza honetan."
+
+#: ../src/viktrwlayer.c:3476
+msgid "Can not upload invisible track."
+msgstr "Ezin da kargatu arrato ikustezina."
+
+#: ../src/viktrwlayer.c:3581 ../src/viktrwlayer.c:9283
+msgid "Track"
+msgstr "Arrastoa"
+
+#: ../src/viktrwlayer.c:3606 ../src/viktrwlayer.c:9316
+msgid "Route"
+msgstr "Ibilbidea"
+
+#: ../src/viktrwlayer.c:3691 ../src/viktrwlayer.c:7460
+#: ../src/viktrwlayer.c:7566
+msgid "_Finish Route"
+msgstr "_Bukatu ibilbidea"
+
+#: ../src/viktrwlayer.c:3693 ../src/viktrwlayer.c:7383
+#: ../src/viktrwlayer.c:7564
+msgid "_Finish Track"
+msgstr "_Bukatu arrastoa"
+
+#. Now with icons
+#: ../src/viktrwlayer.c:3705
+msgid "_View Layer"
+msgstr "_Ikusi geruza"
+
+#: ../src/viktrwlayer.c:3712
+msgid "V_iew"
+msgstr "_Ikusi"
+
+#: ../src/viktrwlayer.c:3718
+msgid "View All _Tracks"
+msgstr "_Ikusi arrasto guztiak"
+
+#: ../src/viktrwlayer.c:3723
+msgid "View All _Routes"
+msgstr "_Ikusi ibilbide guztiak"
+
+#: ../src/viktrwlayer.c:3728
+msgid "View All _Waypoints"
+msgstr "_Ikusi bide-puntu guztiak"
+
+#: ../src/viktrwlayer.c:3733
+msgid "_Goto Center of Layer"
+msgstr "_Joan geruzaren erdira"
+
+#: ../src/viktrwlayer.c:3739 ../src/viktrwlayer.c:7335
+msgid "Goto _Waypoint..."
+msgstr "_Joan bide-puntura"
+
+#: ../src/viktrwlayer.c:3745
+msgid "_Export Layer"
+msgstr "_Esportatu geruza"
+
+#: ../src/viktrwlayer.c:3751
+msgid "Export as GPS_Point..."
+msgstr "Esportatu GPS_Point gisa..."
+
+#: ../src/viktrwlayer.c:3756
+msgid "Export as GPS_Mapper..."
+msgstr "Esportatu GPS_Mapper gisa..."
+
+#: ../src/viktrwlayer.c:3761
+msgid "Export as _GPX..."
+msgstr "_Esportatu GPX gisa..."
+
+#: ../src/viktrwlayer.c:3766
+msgid "Export as _KML..."
+msgstr "_Esportatu KML gisa..."
+
+#: ../src/viktrwlayer.c:3771
+msgid "Open with External Program_1: "
+msgstr "Zabaldu honekin: External Program_1: "
+
+#: ../src/viktrwlayer.c:3778
+msgid "Open with External Program_2: "
+msgstr "Zabaldu honekin: External Program_2: "
+
+#: ../src/viktrwlayer.c:3786 ../src/vikwindow.c:3704
+msgid "_New"
+msgstr "_Berria"
+
+#: ../src/viktrwlayer.c:3792
+msgid "New _Waypoint..."
+msgstr "Bide-puntu berria"
+
+#: ../src/viktrwlayer.c:3798
+msgid "New _Track"
+msgstr "_Arrasto berria"
+
+#: ../src/viktrwlayer.c:3806
+msgid "New _Route"
+msgstr "_Ibilbide berria"
+
+#: ../src/viktrwlayer.c:3815 ../src/viktrwlayer.c:7938
+msgid "Geotag _Images..."
+msgstr "_Geo-etiketatutako irudiak..."
+
+#: ../src/viktrwlayer.c:3822
+msgid "_Acquire"
+msgstr "_Eskuratu"
+
+#: ../src/viktrwlayer.c:3828 ../src/vikwindow.c:3711
+msgid "From _GPS..."
+msgstr "_GPStik"
+
+#. FIXME: only add menu when at least a routing engine has support for Directions
+#: ../src/viktrwlayer.c:3834
+msgid "From _Directions..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:3840
+msgid "From _OSM Traces..."
+msgstr "_OSM Traces-etik..."
+
+#: ../src/viktrwlayer.c:3845
+msgid "From _My OSM Traces..."
+msgstr "_My OSM Traces-etik..."
+
+#: ../src/viktrwlayer.c:3853 ../src/vikwindow.c:3725
+msgid "From _Wikipedia Waypoints"
+msgstr "Wikipedia Waypoints-etik"
+
+#: ../src/viktrwlayer.c:3859
+msgid "Within _Layer Bounds"
+msgstr "Geruzaren mugen barruan"
+
+#: ../src/viktrwlayer.c:3865
+msgid "Within _Current View"
+msgstr "Uneko ikuspegiaren barruan"
+
+#: ../src/viktrwlayer.c:3873
+msgid "From Geo_caching..."
+msgstr "Geo_cachin-etik..."
+
+#: ../src/viktrwlayer.c:3880 ../src/vikwindow.c:3722
+msgid "From Geotagged _Images..."
+msgstr "Geotagged _Images-etik..."
+
+#: ../src/viktrwlayer.c:3886
+msgid "From _File..."
+msgstr "Fitxategitik..."
+
+#: ../src/viktrwlayer.c:3894 ../src/viktrwlayer.c:7883
+msgid "_Upload"
+msgstr "_Kargatu"
+
+#: ../src/viktrwlayer.c:3900
+msgid "Upload to _GPS..."
+msgstr "_Kargatu GPSra..."
+
+#: ../src/viktrwlayer.c:3907 ../src/viktrwlayer.c:7911
+msgid "Upload to _OSM..."
+msgstr "_Kargatu OSMra..."
+
+#: ../src/viktrwlayer.c:3915
+msgid "De_lete"
+msgstr "_Ezabatu"
+
+#: ../src/viktrwlayer.c:3921
+msgid "Delete All _Tracks"
+msgstr "_Ezabatu arrasto guztiak"
+
+#: ../src/viktrwlayer.c:3927
+msgid "Delete Tracks _From Selection..."
+msgstr "_Ezabatu hautatutako arrastoak"
+
+#: ../src/viktrwlayer.c:3933 ../src/viktrwlayer.c:7485
+msgid "Delete _All Routes"
+msgstr "_Ezabatu ibilbide guztiak"
+
+#: ../src/viktrwlayer.c:3939 ../src/viktrwlayer.c:7491
+msgid "_Delete Routes From Selection..."
+msgstr "_Ezabatu hautatutako ibilbideak..."
+
+#: ../src/viktrwlayer.c:3945
+msgid "Delete All _Waypoints"
+msgstr "_Ezabatu bide-puntu guztiak"
+
+#: ../src/viktrwlayer.c:3951
+msgid "Delete Waypoints From _Selection..."
+msgstr "_Ezabatu hautatutako bide-puntuak..."
+
+#: ../src/viktrwlayer.c:4574
+#, c-format
+msgid "Are you sure you want to delete all tracks in %s?"
+msgstr "Seguru zaude %s-ko arrasto guztiak ezabatu nahi dituzula?"
+
+#: ../src/viktrwlayer.c:4584
+#, c-format
+msgid "Are you sure you want to delete all routes in %s?"
+msgstr "Seguru zaude %s-ko ibilbide guztiak ezabatu nahi dituzula?"
+
+#: ../src/viktrwlayer.c:4594
+#, c-format
+msgid "Are you sure you want to delete all waypoints in %s?"
+msgstr "Seguru zaude %s-ko bide-puntu guztiak ezabatu nahi dituzula?"
+
+#: ../src/viktrwlayer.c:4611
+#, c-format
+msgid "Are you sure you want to delete the waypoint \"%s\"?"
+msgstr ""
+
+#: ../src/viktrwlayer.c:4624
+#, c-format
+msgid "Are you sure you want to delete the track \"%s\"?"
+msgstr ""
+
+#: ../src/viktrwlayer.c:4637
+#, c-format
+msgid "Are you sure you want to delete the route \"%s\"?"
+msgstr ""
+
+#: ../src/viktrwlayer.c:4849 ../src/viktrwlayer.c:5677
+msgid ""
+"Converting a track to a route removes extra track data such as segments, "
+"timestamps, etc...\n"
+"Do you want to continue?"
+msgstr ""
+"Arrasto bat ibilbidea bihurtzean arrastoaren hainbat datu, hala nola "
+"segmentuak, denborak eta abar galduko dira.\n"
+"Aurrera egin nahi duzu?"
+
+#: ../src/viktrwlayer.c:4944
+msgid "No DEM layers available, thus no DEM values can be applied."
+msgstr ""
+
+#: ../src/viktrwlayer.c:4964 ../src/viktrwlayer.c:5005
+#, c-format
+msgid "%ld point adjusted"
+msgid_plural "%ld points adjusted"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/viktrwlayer.c:5049
+#, c-format
+msgid "%ld waypoint changed"
+msgid_plural "%ld waypoints changed"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/viktrwlayer.c:5233
+#, c-format
+msgid ""
+"Refining a track with many points (%d) is unlikely to yield sensible "
+"results. Do you want to Continue?"
+msgstr ""
+
+#. Select engine from dialog
+#: ../src/viktrwlayer.c:5241
+msgid "Refine Route with Routing Engine..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:5249
+msgid "Select routing engine"
+msgstr ""
+
+#: ../src/viktrwlayer.c:5467
+msgid "Failed. No other tracks with timestamps in this layer found"
+msgstr ""
+"Errorea. Ez da topatu denbora-datuak dituen beste arrastorik geruza honetan"
+
+#: ../src/viktrwlayer.c:5469
+msgid "Failed. No other tracks without timestamps in this layer found"
+msgstr ""
+"Errorea. Ez da topatu denbora-daturik gabeko beste arrastorik geruza honetan"
+
+#: ../src/viktrwlayer.c:5488
+msgid "Merge with..."
+msgstr "Batu honekin..."
+
+#: ../src/viktrwlayer.c:5489
+msgid "Select route to merge with"
+msgstr "Hautatu ibilbidea batzeko honekin"
+
+#: ../src/viktrwlayer.c:5489
+msgid "Select track to merge with"
+msgstr "Hautatu arrastoa batzeko honekin"
+
+#: ../src/viktrwlayer.c:5573 ../src/viktrwlayer.c:5650
+msgid "Append Route"
+msgstr "Erantsi ibilbidea"
+
+#: ../src/viktrwlayer.c:5573 ../src/viktrwlayer.c:5650
+msgid "Append Track"
+msgstr "Erantsi arrastoa"
+
+#: ../src/viktrwlayer.c:5574
+msgid "Select the route to append after the current route"
+msgstr "Hautatu ibilbidea uneko ibilbidearen ostean eransteko"
+
+#: ../src/viktrwlayer.c:5575
+msgid "Select the track to append after the current track"
+msgstr "Hautatu arrastoa uneko arrastoaren ostean eransteko"
+
+#: ../src/viktrwlayer.c:5651
+msgid "Select the track to append after the current route"
+msgstr "Hautatu arrastoa uneko ibilbidearen ostean eransteko"
+
+#: ../src/viktrwlayer.c:5652
+msgid "Select the route to append after the current track"
+msgstr "Hautatu ibilbidea uneko arrastoaren ostean eransteko"
+
+#: ../src/viktrwlayer.c:5711
+#, c-format
+msgid "%d segment merged"
+msgid_plural "%d segments merged"
+msgstr[0] "%d segmentua batuta"
+msgstr[1] "%d segmentuak batuta"
+
+#: ../src/viktrwlayer.c:5727
+msgid "Failed. This track does not have timestamp"
+msgstr "Errorea. Arrasto honek ez dauka denbora-daturik"
+
+#: ../src/viktrwlayer.c:5739
+msgid "Failed. No other track in this layer has timestamp"
+msgstr ""
+"Errorea. Geruza honetan denbora-daturik duen beste arrastorik ez dago."
+
+#: ../src/viktrwlayer.c:5746
+msgid "Merge Threshold..."
+msgstr "Batzeko mugak..."
+
+#: ../src/viktrwlayer.c:5747
+msgid "Merge when time between tracks less than:"
+msgstr "Batu arrastoen arteko denbora hau baino txikiagoa denean:"
+
+#: ../src/viktrwlayer.c:5889
+msgid "Split Threshold..."
+msgstr "Zatitzeko mugak..."
+
+#: ../src/viktrwlayer.c:5890
+msgid "Split when time between trackpoints exceeds:"
+msgstr "Zatitu arrasto-puntuen arteko denbora hau baino handiagoa denean:"
+
+#: ../src/viktrwlayer.c:5907
+#, c-format
+msgid ""
+"Can not split track due to trackpoints not ordered in time - such as at %s.\n"
+"\n"
+"Goto this trackpoint?"
+msgstr ""
+
+#: ../src/viktrwlayer.c:5976
+msgid "Split Every Nth Point"
+msgstr "Zatitu n-puntuka"
+
+#: ../src/viktrwlayer.c:5977
+msgid "Split on every Nth point:"
+msgstr "Zatitu n-puntuka"
+
+#: ../src/viktrwlayer.c:6087
+msgid "Can not split track as it has no segments"
+msgstr "Ezin da zatitu arratoa segmenturik ez badu"
+
+#: ../src/viktrwlayer.c:6169 ../src/viktrwlayer.c:6199
+#, c-format
+msgid "Deleted %ld point"
+msgid_plural "Deleted %ld points"
+msgstr[0] "%ld puntua ezabau da"
+msgstr[1] "%ld puntuak ezabatu dira"
+
+#: ../src/viktrwlayer.c:6392
+msgid "Internal Error in vik_trw_layer_uniquify_tracks"
+msgstr "Barne errorea bertan: vik_trw_layer_uniquify_tracks"
+
+#: ../src/viktrwlayer.c:6496 ../src/viktrwlayer.c:6543
+#: ../src/viktrwlayer.c:6704
+msgid ""
+"Multiple entries with the same name exist. This method only works with "
+"unique names. Force unique names now?"
+msgstr ""
+"Izen bereko hainbat sarrera daude. Metodo honek soilik izan bakarrarekin lan "
+"egiten du. Behartu izan bakarra orain?"
+
+#: ../src/viktrwlayer.c:6507
+msgid "No tracks found"
+msgstr "Ez da arrastorik aurkitu"
+
+#: ../src/viktrwlayer.c:6515 ../src/viktrwlayer.c:6562
+#: ../src/viktrwlayer.c:6724
+msgid "Delete Selection"
+msgstr "Ezabatu hautapena"
+
+#: ../src/viktrwlayer.c:6516
+msgid "Select tracks to delete"
+msgstr "Hautatu ezabatu beharreko arrastoak"
+
+#: ../src/viktrwlayer.c:6554
+msgid "No routes found"
+msgstr "Ez da ibilbiderik aurkitu"
+
+#: ../src/viktrwlayer.c:6563
+msgid "Select routes to delete"
+msgstr "Hautatu ezabatu beharreko ibilbideak"
+
+#: ../src/viktrwlayer.c:6669
+msgid "Internal Error in vik_trw_layer_uniquify_waypoints"
+msgstr "Barne-errorea hemen: vik_trw_layer_uniquify_waypoints"
+
+#: ../src/viktrwlayer.c:6714
+msgid "No waypoints found"
+msgstr "Ez da bide-punturik aurkitu"
+
+#: ../src/viktrwlayer.c:6725
+msgid "Select waypoints to delete"
+msgstr "Hautatu ezabatu beharreko bide-puntuak"
+
+#: ../src/viktrwlayer.c:7033
+#, c-format
+msgid ""
+"A waypoint with the name \"%s\" already exists. Really rename to the same "
+"name?"
+msgstr ""
+"Lehendik badago \"%s\" izeneko bide-puntua. Benetan nahi duzu izen berarekin "
+"berrizendatu?"
+
+#: ../src/viktrwlayer.c:7063
+#, c-format
+msgid ""
+"A track with the name \"%s\" already exists. Really rename to the same name?"
+msgstr ""
+"Lehendik badago \"%s\" izeneko arrastoa. Benetan izen berarekin "
+"berrizendatu nahi duzu?"
+
+#: ../src/viktrwlayer.c:7100
+#, c-format
+msgid ""
+"A route with the name \"%s\" already exists. Really rename to the same name?"
+msgstr ""
+"Lehendik badago \"%s\" izeneko ibilbidea. Benetan izen berarekin "
+"berrizendatu nahi duzu?"
+
+#: ../src/viktrwlayer.c:7221 ../src/viktrwlayer.c:7594
+msgid "_Goto"
+msgstr "_Joan hona"
+
+#: ../src/viktrwlayer.c:7240
+msgid "_Visit Geocache Webpage"
+msgstr "_Bisitatu Geocache web-orria"
+
+#: ../src/viktrwlayer.c:7259
+msgid "_Show Picture..."
+msgstr "_Erakutsi irudia..."
+
+#: ../src/viktrwlayer.c:7267
+msgid "Update Geotag on _Image"
+msgstr "_Eguneratu irudiaren Geo-etiketa"
+
+#: ../src/viktrwlayer.c:7273
+msgid "_Update"
+msgstr "_Eguneratu"
+
+#: ../src/viktrwlayer.c:7278
+msgid "Update and _Keep File Timestamp"
+msgstr "Eguneratu eta mantendu denbora-datuak"
+
+#: ../src/viktrwlayer.c:7289
+msgid "Visit _Webpage"
+msgstr "_Bisitatu web-orria"
+
+#: ../src/viktrwlayer.c:7320
+msgid "_New Waypoint..."
+msgstr "_Bide-puntu berria"
+
+#: ../src/viktrwlayer.c:7329
+msgid "_View All Waypoints"
+msgstr "_Ikusi bideko puntu guztiak"
+
+#: ../src/viktrwlayer.c:7341
+msgid "Delete _All Waypoints"
+msgstr "_Ezabatu bideko puntu guztiak"
+
+#: ../src/viktrwlayer.c:7347
+msgid "_Delete Waypoints From Selection..."
+msgstr "_Ezabatu hautatuako bide-puntu guztiak"
+
+#: ../src/viktrwlayer.c:7359
+msgid "_Show All Waypoints"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7365
+msgid "_Hide All Waypoints"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7393
+msgid "_View All Tracks"
+msgstr "_Ikusi arrasto guztiak"
+
+#: ../src/viktrwlayer.c:7399
+msgid "_New Track"
+msgstr "_Arrasto berria"
+
+#: ../src/viktrwlayer.c:7407
+msgid "Delete _All Tracks"
+msgstr "_Ezabatu arrasto guztiak"
+
+#: ../src/viktrwlayer.c:7413
+msgid "_Delete Tracks From Selection..."
+msgstr "_Ezabatu hautatutako arrasto guztiak"
+
+#: ../src/viktrwlayer.c:7425
+msgid "_Show All Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7431
+msgid "_Hide All Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7442
+msgid "_List Tracks..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7471
+msgid "_View All Routes"
+msgstr "_Ikusi ibilbide guztiak"
+
+#: ../src/viktrwlayer.c:7477
+msgid "_New Route"
+msgstr "_Ibilbide berria"
+
+#: ../src/viktrwlayer.c:7503
+msgid "_Show All Routes"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7509
+msgid "_Hide All Routes"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7520
+msgid "_List Routes..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7579
+msgid "_View Track"
+msgstr "_Ikusi arrastoa"
+
+#: ../src/viktrwlayer.c:7581
+msgid "_View Route"
+msgstr "_Ikusi ibilbidea"
+
+#: ../src/viktrwlayer.c:7600
+msgid "_Startpoint"
+msgstr "_Hasierako puntua"
+
+#: ../src/viktrwlayer.c:7606
+msgid "\"_Center\""
+msgstr "_Erdia"
+
+#: ../src/viktrwlayer.c:7612
+msgid "_Endpoint"
+msgstr "_Bukaerako puntua"
+
+#: ../src/viktrwlayer.c:7618
+msgid "_Highest Altitude"
+msgstr "_Altituderik handiena"
+
+#: ../src/viktrwlayer.c:7624
+msgid "_Lowest Altitude"
+msgstr "_Altituderik txikiena"
+
+#: ../src/viktrwlayer.c:7632
+msgid "_Maximum Speed"
+msgstr "_Abiadurarik handiena"
+
+#: ../src/viktrwlayer.c:7641
+msgid "Co_mbine"
+msgstr "_Konbinatu"
+
+#: ../src/viktrwlayer.c:7649
+msgid "_Merge By Time..."
+msgstr "_Batu denboraren arabera"
+
+#: ../src/viktrwlayer.c:7654
+msgid "Merge _Segments"
+msgstr "_Batu segmentuak"
+
+#: ../src/viktrwlayer.c:7660
+msgid "Merge _With Other Tracks..."
+msgstr "_Batu beste arrastoekin"
+
+#: ../src/viktrwlayer.c:7666
+msgid "_Append Track..."
+msgstr "_Erantsi arrastoa"
+
+#: ../src/viktrwlayer.c:7668
+msgid "_Append Route..."
+msgstr "_Erantsi ibilbidea..."
+
+#: ../src/viktrwlayer.c:7674
+msgid "Append _Route..."
+msgstr "Erantsi ibilbidea"
+
+#: ../src/viktrwlayer.c:7676
+msgid "Append _Track..."
+msgstr "_Erantsi arrastoa"
+
+#: ../src/viktrwlayer.c:7683
+msgid "_Split"
+msgstr "_Zatitu"
+
+#: ../src/viktrwlayer.c:7691
+msgid "_Split By Time..."
+msgstr "_Zatitu denboraren arabera..."
+
+#. ATM always enable this entry - don't want to have to analyse the track before displaying the menu - to keep the menu speedy
+#: ../src/viktrwlayer.c:7697
+msgid "Split Se_gments"
+msgstr "_Zatitu segmentuak"
+
+#: ../src/viktrwlayer.c:7703
+msgid "Split By _Number of Points..."
+msgstr "_Zatitu puntu-kopuruaren arabera"
+
+#: ../src/viktrwlayer.c:7708
+msgid "Split at _Trackpoint"
+msgstr "_Zatitu arrato-puntuan"
+
+#: ../src/viktrwlayer.c:7716
+msgid "_Insert Points"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7722
+msgid "Insert Point _Before Selected Point"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7729
+msgid "Insert Point _After Selected Point"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7738
+msgid "Delete Poi_nts"
+msgstr "_Ezabatu puntuak"
+
+#: ../src/viktrwlayer.c:7744
+msgid "Delete _Selected Point"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7752
+msgid "Delete Points With The Same _Position"
+msgstr "_Ezabatu posizio bereko puntuak"
+
+#: ../src/viktrwlayer.c:7757
+msgid "Delete Points With The Same _Time"
+msgstr "_Ezabatu une bereko puntuak"
+
+#: ../src/viktrwlayer.c:7764 ../src/viktrwlayer.c:7964
+msgid "_Transform"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7772 ../src/viktrwlayer.c:7972
+msgid "_Apply DEM Data"
+msgstr "_Aplikatu DEM datuak"
+
+#: ../src/viktrwlayer.c:7777 ../src/viktrwlayer.c:7977
+msgid "_Overwrite"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7780 ../src/viktrwlayer.c:7980
+msgid "Overwrite any existing elevation values with DEM values"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7783 ../src/viktrwlayer.c:7983
+msgid "_Keep Existing"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7786 ../src/viktrwlayer.c:7986
+msgid "Keep existing elevation values, only attempt for missing values"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7791
+msgid "_Smooth Missing Elevation Data"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7796
+msgid "_Interpolated"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7799
+msgid ""
+"Interpolate between known elevation values to derive values for the missing "
+"elevations"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7802
+msgid "_Flat"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7805
+msgid "Set unknown elevation values to the last known value"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7809
+msgid "C_onvert to a Route"
+msgstr "Ibilbidea bihurtu"
+
+#: ../src/viktrwlayer.c:7811
+msgid "C_onvert to a Track"
+msgstr "_Arrastoa bihurtu"
+
+#: ../src/viktrwlayer.c:7819
+msgid "_Anonymize Times"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7822
+msgid "Shift timestamps to a relative offset from 1901-01-01"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7827
+msgid "_Reverse Track"
+msgstr "_Alderantzizkatu arrastoa"
+
+#: ../src/viktrwlayer.c:7829
+msgid "_Reverse Route"
+msgstr "_Alderantzizkatu ibilbidea"
+
+#: ../src/viktrwlayer.c:7836
+msgid "Refine Route..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7846
+msgid "Down_load Maps Along Track..."
+msgstr "_Deskargatu arrastoko mapak"
+
+#: ../src/viktrwlayer.c:7848
+msgid "Down_load Maps Along Route..."
+msgstr "_Deskargatu ibilbideko mapak"
+
+#: ../src/viktrwlayer.c:7856
+msgid "_Export Track as GPX..."
+msgstr "_Esportatu arrastoa GPX gisa..."
+
+#: ../src/viktrwlayer.c:7858
+msgid "_Export Route as GPX..."
+msgstr "_Esportatu ibilbidea GPX gisa..."
+
+#: ../src/viktrwlayer.c:7865
+msgid "E_xtend Track End"
+msgstr "_Zabaldutako arrastoaren bukaera"
+
+#: ../src/viktrwlayer.c:7867
+msgid "E_xtend Route End"
+msgstr "_Zabaldutako ibilbidearen bukaera"
+
+#: ../src/viktrwlayer.c:7874
+msgid "Extend _Using Route Finder"
+msgstr "_Zabaldu ibilbide-bilatzailearen bidez"
+
+#: ../src/viktrwlayer.c:7889
+msgid "_Upload to GPS..."
+msgstr "_GPSra kargatu"
+
+#: ../src/viktrwlayer.c:7900
+msgid "_View Google Directions"
+msgstr "_Ikusi Google Directions"
+
+#: ../src/viktrwlayer.c:7920
+msgid "Use with _Filter"
+msgstr "_Iragazkia erabili"
+
+#: ../src/viktrwlayer.c:7953
+msgid "_Edit Trackpoint"
+msgstr "_Editatu arrasto-puntua"
+
+#: ../src/viktrwlayer.c:9017
+#, c-format
+msgid " - Gain %dm:Loss %dm"
+msgstr " - Lortu %dm:Galdu %dm"
+
+#: ../src/viktrwlayer.c:9019
+#, c-format
+msgid " - Gain %dft:Loss %dft"
+msgstr " - Lortu %dft:Galdu %dft"
+
+#: ../src/viktrwlayer.c:9024
+#, c-format
+msgid " - Bearing %3.1f° - Step %s"
+msgstr " - Portaera: %3.1f° - Urratsa: %s"
+
+#: ../src/viktrwlayer.c:9628
+#, c-format
+msgid "Could not launch %s to open file."
+msgstr "Ezin dut %s abiatu fitxategia irekitzeko"
+
+#: ../src/viktrwlayer.c:9709
+#, c-format
+msgid "Creating %d Image Thumbnails..."
+msgstr "%d irudiaren miniaturak sortzen"
+
+#: ../src/viktrwlayer.c:10106
+msgid "No map layer in use. Create one first"
+msgstr "Ez dago mapa-geruzarik. Sortu bat lehenago"
+
+#: ../src/viktrwlayer.c:10225
+#, c-format
+msgid "%s: Track List"
+msgstr ""
+
+#: ../src/viktrwlayer.c:10227
+#, c-format
+msgid "%s: Route List"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:828 ../src/viktrwlayer_propwin.c:1085
+#, c-format
+msgid "%.1f kph"
+msgstr "%.1f k/h"
+
+#: ../src/viktrwlayer_propwin.c:831 ../src/viktrwlayer_propwin.c:1088
+#: ../src/viktrwlayer_analysis.c:290
+#, c-format
+msgid "%.1f mph"
+msgstr "%.1f m/h"
+
+#: ../src/viktrwlayer_propwin.c:834 ../src/viktrwlayer_propwin.c:1091
+#, c-format
+msgid "%.1f knots"
+msgstr "%.1f korapilo"
+
+#. VIK_UNITS_SPEED_METRES_PER_SECOND:
+#: ../src/viktrwlayer_propwin.c:838 ../src/viktrwlayer_propwin.c:1095
+#, c-format
+msgid "%.1f m/s"
+msgstr "%.1f m/s"
+
+#: ../src/viktrwlayer_propwin.c:1662 ../src/viktrwlayer_analysis.c:267
+#, c-format
+msgid "%.1f miles"
+msgstr "%.1f milia"
+
+#. VIK_UNITS_DISTANCE_KILOMETRES
+#: ../src/viktrwlayer_propwin.c:1664 ../src/viktrwlayer_analysis.c:271
+#, c-format
+msgid "%.1f km"
+msgstr "%.1f km"
+
+#: ../src/viktrwlayer_propwin.c:2582
+msgid "Failed spliting track. Track unchanged"
+msgstr "Errorea arraztoa zatitzen. Arrastoa ez da aldatu"
+
+#: ../src/viktrwlayer_propwin.c:2724 ../src/viktrwlayer_propwin.c:3140
+#, c-format
+msgid "%s - Track Properties"
+msgstr "%s - arrastoaren propietatateak"
+
+#: ../src/viktrwlayer_propwin.c:2729
+msgid "Split at _Marker"
+msgstr "_Zatitu markatzailean"
+
+#: ../src/viktrwlayer_propwin.c:2730
+msgid "Split _Segments"
+msgstr "_Zatitu segmentuak"
+
+#: ../src/viktrwlayer_propwin.c:2731
+msgid "_Reverse"
+msgstr "_Alderantzikatu"
+
+#: ../src/viktrwlayer_propwin.c:2732
+msgid "_Delete Dupl."
+msgstr "_Ezabatu bikoiztutakoak"
+
+#: ../src/viktrwlayer_propwin.c:2757
+msgid "<b>Comment:</b>"
+msgstr "<b>Iruzkina:</b>"
+
+#: ../src/viktrwlayer_propwin.c:2758
+msgid "<b>Description:</b>"
+msgstr "<b>Deskribapena:</b>"
+
+#: ../src/viktrwlayer_propwin.c:2759
+msgid "<b>Color:</b>"
+msgstr "<b>Kolorea::</b>"
+
+#: ../src/viktrwlayer_propwin.c:2760
+msgid "<b>Draw Name:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2761
+msgid "<b>Distance Labels:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2764
+msgid "<b>Track Length:</b>"
+msgstr "<b>Arrastoaren luzera::</b>"
+
+#: ../src/viktrwlayer_propwin.c:2765
+msgid "<b>Trackpoints:</b>"
+msgstr "<b>Arrasto-puntuak:</b>"
+
+#: ../src/viktrwlayer_propwin.c:2766
+msgid "<b>Segments:</b>"
+msgstr "<b>Segmentuak:</b>"
+
+#: ../src/viktrwlayer_propwin.c:2767
+msgid "<b>Duplicate Points:</b>"
+msgstr "<b>Bikoiztutako puntuak:</b>"
+
+#: ../src/viktrwlayer_propwin.c:2768
+msgid "<b>Max Speed:</b>"
+msgstr "<b>Abiadura handiena:</b>"
+
+#: ../src/viktrwlayer_propwin.c:2769
+msgid "<b>Avg. Speed:</b>"
+msgstr "<b>Batez besteko abiadura:</b>"
+
+#: ../src/viktrwlayer_propwin.c:2770
+msgid "<b>Moving Avg. Speed:</b>"
+msgstr "<b>Batez besteko abiadura mugimenduan:</b>"
+
+#: ../src/viktrwlayer_propwin.c:2771
+msgid "<b>Avg. Dist. Between TPs:</b>"
+msgstr "<b>Arrasto-puntuen batez besteko distantzia:</b>"
+
+#: ../src/viktrwlayer_propwin.c:2772
+msgid "<b>Elevation Range:</b>"
+msgstr "<b>Altitude-tartea:</b>"
+
+#: ../src/viktrwlayer_propwin.c:2773
+msgid "<b>Total Elevation Gain/Loss:</b>"
+msgstr "<b>Altitudea denetara Lortua/Galdua:</b>"
+
+#: ../src/viktrwlayer_propwin.c:2774
+msgid "<b>Start:</b>"
+msgstr "Copy<b>Hasi:</b>"
+
+#: ../src/viktrwlayer_propwin.c:2775
+msgid "<b>End:</b>"
+msgstr "<b>Bukaera:</b>"
+
+#: ../src/viktrwlayer_propwin.c:2776
+msgid "<b>Duration:</b>"
+msgstr "<b>Iraupena:</b>"
+
+#: ../src/viktrwlayer_propwin.c:2797
+msgid "No"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2798
+msgid "Centre"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2799
+msgid "Start only"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2800
+msgid "End only"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2801
+msgid "Start and End"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2802
+msgid "Centre, Start and End"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2814
+msgid "Maximum number of distance labels to be shown"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2818
+msgid "Properties"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2856 ../src/viktrwlayer_propwin.c:2880
+#: ../src/viktrwlayer_propwin.c:2908 ../src/viktrwlayer_propwin.c:2945
+#: ../src/viktrwlayer_propwin.c:2963 ../src/viktrwlayer_propwin.c:3009
+#: ../src/viktrwlayer_propwin.c:3010 ../src/viktrwlayer_propwin.c:3011
+#: ../src/viktrwlayer_propwin.c:3020 ../src/viktrwlayer_propwin.c:3021
+#: ../src/viktrwlayer_propwin.c:3036 ../src/viktrwlayer_propwin.c:3037
+#: ../src/viktrwlayer_propwin.c:3050 ../src/viktrwlayer_propwin.c:3051
+#: ../src/viktrwlayer_propwin.c:3064 ../src/viktrwlayer_propwin.c:3065
+#: ../src/viktrwlayer_propwin.c:3078 ../src/viktrwlayer_propwin.c:3079
+#: ../src/viktrwlayer_propwin.c:3092 ../src/viktrwlayer_propwin.c:3093
+#: ../src/viktrwlayer_analysis.c:257
+#, c-format
+msgid "No Data"
+msgstr "Daturik ez"
+
+#: ../src/viktrwlayer_propwin.c:3006
+#, c-format
+msgid "%d minutes"
+msgstr "%d minutu"
+
+#: ../src/viktrwlayer_propwin.c:3016 ../src/viktrwlayer_analysis.c:515
+msgid "Statistics"
+msgstr "Estatistikak"
+
+#: ../src/viktrwlayer_propwin.c:3022
+msgid "Show D_EM"
+msgstr "_Erakutsi DEM"
+
+#: ../src/viktrwlayer_propwin.c:3023 ../src/viktrwlayer_propwin.c:3038
+#: ../src/viktrwlayer_propwin.c:3052 ../src/viktrwlayer_propwin.c:3094
+msgid "Show _GPS Speed"
+msgstr "_Erakutsi GPS-abiadura"
+
+#: ../src/viktrwlayer_propwin.c:3025 ../src/viktrwlayer_propwin.c:3040
+#: ../src/viktrwlayer_propwin.c:3068 ../src/viktrwlayer_propwin.c:3096
+msgid "<b>Track Distance:</b>"
+msgstr "<b>Arrastoaren distantzia:</b>"
+
+#: ../src/viktrwlayer_propwin.c:3026 ../src/viktrwlayer_propwin.c:3083
+msgid "<b>Track Height:</b>"
+msgstr "<b>Arrastoaren altuera:</b>"
+
+#: ../src/viktrwlayer_propwin.c:3031
+msgid "Elevation-distance"
+msgstr "Altuera-distantzia"
+
+#: ../src/viktrwlayer_propwin.c:3041
+msgid "<b>Track Gradient:</b>"
+msgstr "<b>Arrastoaren gradientea:</b>"
+
+#: ../src/viktrwlayer_propwin.c:3045
+msgid "Gradient-distance"
+msgstr "Gradiente-distantzia"
+
+#: ../src/viktrwlayer_propwin.c:3054 ../src/viktrwlayer_propwin.c:3069
+#: ../src/viktrwlayer_propwin.c:3082
+msgid "<b>Track Time:</b>"
+msgstr "<b>Arrastoaren denbora:</b>"
+
+#: ../src/viktrwlayer_propwin.c:3055 ../src/viktrwlayer_propwin.c:3097
+msgid "<b>Track Speed:</b>"
+msgstr "<b>Arrastoaren abiadura:</b>"
+
+#: ../src/viktrwlayer_propwin.c:3059
+msgid "Speed-time"
+msgstr "Abiadura-denbora"
+
+#: ../src/viktrwlayer_propwin.c:3066 ../src/viktrwlayer_propwin.c:3080
+msgid "Show S_peed"
+msgstr "_Erakutsi abiadura"
+
+#: ../src/viktrwlayer_propwin.c:3073
+msgid "Distance-time"
+msgstr "Distantzia-denbora"
+
+#: ../src/viktrwlayer_propwin.c:3087
+msgid "Elevation-time"
+msgstr "Altuera-denbora"
+
+#: ../src/viktrwlayer_propwin.c:3101
+msgid "Speed-distance"
+msgstr "Abiadura-distantzia"
+
+#: ../src/viktrwlayer_tpwin.c:119
+msgid "<b>Part of Track:</b>"
+msgstr "<b>arrasto-zatia:</b>"
+
+#: ../src/viktrwlayer_tpwin.c:120
+msgid "<b>Latitude:</b>"
+msgstr "<b>Latitudea:</b>"
+
+#: ../src/viktrwlayer_tpwin.c:121
+msgid "<b>Longitude:</b>"
+msgstr "<b>Longitudea:</b>"
+
+#: ../src/viktrwlayer_tpwin.c:122
+msgid "<b>Altitude:</b>"
+msgstr "<b>Altitudea:</b>"
+
+#: ../src/viktrwlayer_tpwin.c:123
+msgid "<b>Course:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_tpwin.c:124
+msgid "<b>Timestamp:</b>"
+msgstr "<b>Denbora-marka:</b>"
+
+#: ../src/viktrwlayer_tpwin.c:125
+msgid "<b>Time:</b>"
+msgstr "<b>Denbora:</b>"
+
+#: ../src/viktrwlayer_tpwin.c:126
+msgid "<b>Distance Difference:</b>"
+msgstr "<b>Distantzia aldea:</b>"
+
+#: ../src/viktrwlayer_tpwin.c:127
+msgid "<b>Time Difference:</b>"
+msgstr "<b>Denbora aldea:</b>"
+
+#: ../src/viktrwlayer_tpwin.c:128
+msgid "<b>\"Speed\" Between:</b>"
+msgstr "<b>\"Lastertasuna\" hauen artean:</b>"
+
+#: ../src/viktrwlayer_tpwin.c:129
+msgid "<b>Speed:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_tpwin.c:130
+msgid "<b>VDOP:</b>"
+msgstr ""
+"<b>VDOP (Vertical Dilution of Position; Kokapenaren diluzio bertikala):</b>"
+
+#: ../src/viktrwlayer_tpwin.c:131
+msgid "<b>HDOP:</b>"
+msgstr ""
+"<b>HDOP (Horizontal Dilution of Position; Kokapenaren diluzio "
+"horizontala):</b>"
+
+#: ../src/viktrwlayer_tpwin.c:132
+msgid "<b>PDOP:</b>"
+msgstr ""
+"<b>PDOP (Position Dilution of Precision; Kokapenaren zehaztasunezko "
+"diluzioa):</b>"
+
+#: ../src/viktrwlayer_tpwin.c:133
+msgid "<b>SAT/FIX:</b>"
+msgstr "<b>SAT/FIX (konpondu satelitearekikoa):</b>"
+
+#: ../src/viktrwlayer_tpwin.c:141
+msgid "Trackpoint"
+msgstr "Arrasto-puntua"
+
+#: ../src/viktrwlayer_tpwin.c:144
+msgid "_Insert After"
+msgstr "_Txertatu ondoren"
+
+#: ../src/viktrwlayer_tpwin.c:146
+msgid "Split Here"
+msgstr "Moztu hemen"
+
+#.
+#. item = gtk_image_menu_item_new_with_mnemonic ( _("_Select") );
+#. gtk_image_menu_item_set_image ( (GtkImageMenuItem*)item, gtk_image_new_from_stock (GTK_STOCK_FIND, GTK_ICON_SIZE_MENU) );
+#. g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(trw_layer_track_select), values );
+#. gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
+#. gtk_widget_show ( item );
+#.
+#. ATM view auto selects, so don't bother with separate select menu entry
+#: ../src/viktrwlayer_tracklist.c:231 ../src/vikwindow.c:3695
+msgid "_View"
+msgstr "_Ikusi"
+
+#. Insert column for the layer name when viewing multi layers
+#: ../src/viktrwlayer_tracklist.c:514
+msgid "Layer"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:526
+msgid "Date"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:529
+msgid "Visible"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:536
+msgid ""
+"Distance\n"
+"(miles)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:539
+msgid ""
+"Distance\n"
+"(km)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:545
+msgid ""
+"Length\n"
+"(minutes)"
+msgstr ""
+
+#. VIK_UNITS_SPEED_KILOMETRES_PER_HOUR:
+#: ../src/viktrwlayer_tracklist.c:549 ../src/vikutils.c:72
+msgid "km/h"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:550 ../src/vikutils.c:62
+msgid "mph"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:551 ../src/vikutils.c:68
+msgid "knots"
+msgstr ""
+
+#. VIK_UNITS_SPEED_METRES_PER_SECOND:
+#: ../src/viktrwlayer_tracklist.c:553 ../src/vikutils.c:65
+msgid "m/s"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:556
+#, c-format
+msgid ""
+"Av. Speed\n"
+"(%s)"
+msgstr ""
+
+#. Apply own formatting of the data
+#: ../src/viktrwlayer_tracklist.c:561
+#, c-format
+msgid ""
+"Max Speed\n"
+"(%s)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:569
+msgid ""
+"Max Height\n"
+"(Feet)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:571
+msgid ""
+"Max Height\n"
+"(Metres)"
+msgstr ""
+
+#: ../src/viktrwlayer_geotag.c:481
+#, c-format
+msgid "Geotagging %d Images..."
+msgstr "%d irudiak geo-etiketatzen..."
+
+#: ../src/viktrwlayer_geotag.c:545
+msgid "Geotag Images"
+msgstr "Geo-etiketatu irudiak"
+
+#: ../src/viktrwlayer_geotag.c:551
+msgid "Images"
+msgstr "Irudiak"
+
+#: ../src/viktrwlayer_geotag.c:555
+msgid "Overwrite Existing Waypoints:"
+msgstr "Gainidatzi dauden bide-puntuak"
+
+#: ../src/viktrwlayer_geotag.c:558
+msgid "Overwrite Existing GPS Information:"
+msgstr "Gainidatzi dagoen GPS-informazioa"
+
+#: ../src/viktrwlayer_geotag.c:560
+msgid "Keep File Modification Timestamp:"
+msgstr "Mantendu fitxategi aldatuaren denbora"
+
+#: ../src/viktrwlayer_geotag.c:592
+msgid "Create Waypoints:"
+msgstr "Sortu bide-puntuak:"
+
+#: ../src/viktrwlayer_geotag.c:600
+msgid "Write EXIF:"
+msgstr "Idatzi EXIF:"
+
+#: ../src/viktrwlayer_geotag.c:612
+msgid "Interpolate Between Track Segments:"
+msgstr "Interpolatu arraso-segmentuen artean"
+
+#: ../src/viktrwlayer_geotag.c:616
+msgid "Image Time Offset (Seconds):"
+msgstr "Irudiarekiko denbora jauzia (segundoak):"
+
+#: ../src/viktrwlayer_geotag.c:618
+msgid ""
+"The number of seconds to ADD to the photos time to make it match the GPS "
+"data. Calculate this with (GPS - Photo). Can be negative or positive. Useful "
+"to adjust times when a camera's timestamp was incorrect."
+msgstr ""
+"Argazkien denbora-marketara GEHITU beharreko segundo kopurua GPS datuekin "
+"bat egiteko. Kalkula ezazu (GPS - Photo) hori erabiliz. Positibo zein "
+"negatibo izan daiteke. Erabilgarria oso argazki-kameraren denbora-zigiluak "
+"huts egin duenean."
+
+#: ../src/viktrwlayer_geotag.c:621
+msgid "Image Timezone:"
+msgstr "Irudiaren denbora-zona"
+
+#: ../src/viktrwlayer_geotag.c:623
+msgid ""
+"The timezone that was used when the images were created. For example, if a "
+"camera is set to AWST or +8:00 hours. Enter +8:00 here so that the correct "
+"adjustment to the images' time can be made. GPS data is always in UTC."
+msgstr ""
+"Ordu-zonaldea erabili izan da irudiak sortzerakoan. Esate baterako, kamera "
+"batean lehenetsita baldin badago +8:00 ordua, sartu +8:00 hemen ere eta "
+"horrela konponduko dituzu aurretik behar bada egin dituzun beste doiketa "
+"batzuk. GPS datuak beti daude UTC (Ordu Unibertsal Koordinatua) horren "
+"arabera doiturik."
+
+#: ../src/viktrwlayer_geotag.c:627
+#, c-format
+msgid "Using track: %s"
+msgstr "Arrastoa erabiltzen: %s"
+
+#: ../src/viktrwlayer_geotag.c:629
+#, c-format
+msgid "Using all tracks in: %s"
+msgstr "Hemengo arrasto guztiak erabiltzen: %s"
+
+#: ../src/viktrwlayer_analysis.c:193
+msgid "Number of Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:194
+msgid "Date Range"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:195
+msgid "Total Length"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:196
+msgid "Average Length"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:197
+msgid "Max Speed"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:198
+msgid "Avg. Speed"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:199
+msgid "Minimum Altitude"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:200
+msgid "Maximum Altitude"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:201
+msgid "Total Elevation Gain/Loss"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:202
+msgid "Avg. Elevation Gain/Loss"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:203
+msgid "Total Duration"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:204
+msgid "Avg. Duration"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:278
+#, c-format
+msgid "%.2f miles"
+msgstr ""
+
+#. VIK_UNITS_DISTANCE_KILOMETRES
+#: ../src/viktrwlayer_analysis.c:282
+#, c-format
+msgid "%.2f km"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:297
+#, c-format
+msgid "%.2f m/s"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:306
+#, c-format
+msgid "%.2f knots\n"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:309
+#, c-format
+msgid "%.2f knots"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:316 ../src/viktrwlayer_analysis.c:319
+#, c-format
+msgid "%.2f km/h"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:330 ../src/viktrwlayer_analysis.c:336
+#, c-format
+msgid "%d feet"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:341 ../src/viktrwlayer_analysis.c:343
+#, c-format
+msgid "%d feet / %d feet"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:348 ../src/viktrwlayer_analysis.c:354
+#, c-format
+msgid "%d m"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:359 ../src/viktrwlayer_analysis.c:361
+#, c-format
+msgid "%d m / %d m"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:373
+#, c-format
+msgid "%d:%02d:%02d days:hrs:mins"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:380
+#, c-format
+msgid "%d:%02d hrs:mins"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:550
+msgid "Include Invisible Items"
+msgstr ""
+
+#: ../src/vikstatus.c:107
+msgid "Current number of background tasks. Click to see the background jobs."
+msgstr ""
+
+#: ../src/vikstatus.c:113
+msgid "Current zoom level. Click to select a new one."
+msgstr "Uneko zoom maila. Klikatu beste bat hautatzeko."
+
+#: ../src/vikutils.c:80
+msgid "GPSD"
+msgstr ""
+
+#. GPS Preamble
+#: ../src/vikutils.c:81
+msgid "Trkpt"
+msgstr ""
+
+#: ../src/vikutils.c:121
+#, c-format
+msgid "%sSpeed%s %.1f%s"
+msgstr ""
+
+#: ../src/vikutils.c:130
+#, c-format
+msgid "%sAlt %dfeet"
+msgstr ""
+
+#. VIK_UNITS_HEIGHT_METRES:
+#: ../src/vikutils.c:134
+#, c-format
+msgid "%sAlt %dm"
+msgstr ""
+
+#: ../src/vikutils.c:142
+#, c-format
+msgid "%sCourse %03d°"
+msgstr ""
+
+#: ../src/vikutils.c:155
+msgid "yards"
+msgstr ""
+
+#. VIK_UNITS_DISTANCE_KILOMETRES:
+#: ../src/vikutils.c:159
+msgid "m"
+msgstr ""
+
+#: ../src/vikutils.c:163
+#, c-format
+msgid "%sDistance diff %d%s"
+msgstr ""
+
+#: ../src/vikutils.c:179
+#, c-format
+msgid "%sTime %s"
+msgstr ""
+
+#: ../src/vikutils.c:187
+#, c-format
+msgid "%sTime diff %lds"
+msgstr ""
+
+#: ../src/vikutils.c:193
+#, c-format
+msgid "%sNo. of Sats %d"
+msgstr ""
+
+#: ../src/vikutils.c:213
+#, c-format
+msgid "%sDistance along %.2f%s"
+msgstr ""
+
+#. Name of track
+#: ../src/vikutils.c:232
+#, c-format
+msgid "%sTrack: %s"
+msgstr ""
+
+#: ../src/vikwaypoint.c:36
+msgid "Waypoint"
+msgstr "Bide-puntua"
+
+#. TODO get rid of this as this is unnecessary duplication...
+#: ../src/vikwindow.c:224
+msgid "Pan"
+msgstr "Desplazamendua"
+
+#: ../src/vikwindow.c:224
+msgid "Zoom"
+msgstr "Zooma"
+
+#: ../src/vikwindow.c:224
+msgid "Ruler"
+msgstr "Erregela"
+
+#: ../src/vikwindow.c:224
+msgid "Select"
+msgstr "Hautatu"
+
+#: ../src/vikwindow.c:381
+msgid "Location lookup aborted"
+msgstr ""
+
+#: ../src/vikwindow.c:401
+#, c-format
+msgid "Location found: %s"
+msgstr ""
+
+#: ../src/vikwindow.c:410
+msgid "Unable to determine location"
+msgstr ""
+
+#: ../src/vikwindow.c:434
+msgid "Default Map"
+msgstr ""
+
+#: ../src/vikwindow.c:444
+msgid "Trying to determine location..."
+msgstr ""
+
+#: ../src/vikwindow.c:447
+msgid "Determining location"
+msgstr ""
+
+#. Create tooltip
+#: ../src/vikwindow.c:605
+msgid "Select zoom level"
+msgstr "Hautatu zoom-maila"
+
+#: ../src/vikwindow.c:923
+#, c-format
+msgid ""
+"Do you want to save the changes you made to the document \"%s\"?\n"
+"\n"
+"Your changes will be lost if you don't save them."
+msgstr ""
+"Gorde nahi duzu \"%s\" dokumentuan egindako aldaketak?\n"
+"\n"
+"Zuk egindako aldaketak gal daitezke gordetzen ez baduzu."
+
+#: ../src/vikwindow.c:927
+msgid "Don't Save"
+msgstr "Ez gorde"
+
+#: ../src/vikwindow.c:1005
+msgid "mpp"
+msgstr "mpp"
+
+#: ../src/vikwindow.c:1005
+msgid "pixelfact"
+msgstr "pixel-faktorea"
+
+#: ../src/vikwindow.c:1169
+#, c-format
+msgid "%s %s %dm"
+msgstr "%s %s %dm"
+
+#: ../src/vikwindow.c:1171
+#, c-format
+msgid "%s %s %dft"
+msgstr "%s %s %doin"
+
+#: ../src/vikwindow.c:1174
+#, c-format
+msgid "%s %s"
+msgstr "%s %s"
+
+#. NB Ctrl+Shift+R is used for Refresh (deemed more important), so use 'U' instead
+#: ../src/vikwindow.c:1562
+msgid "_Ruler"
+msgstr "_Erregela"
+
+#: ../src/vikwindow.c:1562
+msgid "Ruler Tool"
+msgstr "Erregela-tresna"
+
+#: ../src/vikwindow.c:1810 ../src/vikwindow.c:3697
+msgid "_Zoom"
+msgstr "_Zooma"
+
+#: ../src/vikwindow.c:1810
+msgid "Zoom Tool"
+msgstr "Zoom tresna"
+
+#: ../src/vikwindow.c:1855 ../src/vikwindow.c:3698
+msgid "_Pan"
+msgstr "_Desplazamendu"
+
+#: ../src/vikwindow.c:1855
+msgid "Pan Tool"
+msgstr "Desplazamentu tresna"
+
+#: ../src/vikwindow.c:1972
+msgid "_Select"
+msgstr "_Hautatu"
+
+#: ../src/vikwindow.c:1972
+msgid "Select Tool"
+msgstr "Hautatze-tresna"
+
+#: ../src/vikwindow.c:2123
+msgid "You must select a layer to show its properties."
+msgstr "Aurekatu geruza bat bere propietateak ikusteko."
+
+#. No error to show, so unlikely this will get called
+#: ../src/vikwindow.c:2137
+msgid "The help system is not available."
+msgstr "Laguntza sistema ez dago eskuragarri."
+
+#. Main error path
+#: ../src/vikwindow.c:2140
+#, c-format
+msgid ""
+"Help is not available because: %s.\n"
+"Ensure a Mime Type ghelp handler program is installed (e.g. yelp)."
+msgstr ""
+"Laguntza ez dago eskuragarri honengatik: %s\n"
+"Instalatu ghelp laguntza kudeatzen duen Mime motatako programa bat (hala "
+"nola yelp)."
+
+#: ../src/vikwindow.c:2160
+msgid "You must select a layer to delete."
+msgstr "Aukeratu behar duzu ezabatu nahi duzun geruza."
+
+#: ../src/vikwindow.c:2396
+msgid "Untitled"
+msgstr "Titulugabea"
+
+#: ../src/vikwindow.c:2503
+#, c-format
+msgid "Unable to add '%s' to the list of recently used documents"
+msgstr "Ezin da '%s' gehitu erabili berri diren dokumentuen zerrendara"
+
+#: ../src/vikwindow.c:2540
+msgid "The file you requested could not be opened."
+msgstr "Eskatu duzun fitxategia ezin da ireki."
+
+#: ../src/vikwindow.c:2543
+msgid ""
+"GPSBabel is required to load files of this type or GPSBabel encountered "
+"problems."
+msgstr ""
+"GPSBabel eskatzen du mota horretako fitxategiak kargatzeko edo GPSBabel-ek "
+"arazoak izan ditu."
+
+#: ../src/vikwindow.c:2546
+#, c-format
+msgid "Unable to load malformed GPX file %s"
+msgstr "Ezin da gaizki eratutako %s GPX fitxategia kargatu"
+
+#: ../src/vikwindow.c:2549
+#, c-format
+msgid "Unsupported file type for %s"
+msgstr "Onartzen ez den fitxategi mota % s"
+
+#. Since we can process .vik files with issues just show a warning in the status bar
+#. Not that a user can do much about it... or tells them what this issue is yet...
+#: ../src/vikwindow.c:2555
+#, c-format
+msgid "WARNING: issues encountered loading %s"
+msgstr "Kontuz: erroreak %s kargatzean"
+
+#: ../src/vikwindow.c:2613
+msgid "Please select a GPS data file to open. "
+msgstr "Hautatu GPS datu-fitxategia irekitzeko. "
+
+#: ../src/vikwindow.c:2629
+msgid "Geocaching"
+msgstr "Geocaching"
+
+#: ../src/vikwindow.c:2635
+msgid "Google Earth"
+msgstr "Google Earth"
+
+#: ../src/vikwindow.c:2640
+msgid "GPX"
+msgstr "GPX"
+
+#: ../src/vikwindow.c:2645 ../src/vikwindow.c:2734
+#: ../src/viking.desktop.in.h:1
+msgid "Viking"
+msgstr "Viking"
+
+#: ../src/vikwindow.c:2715
+msgid "Save as Viking File."
+msgstr "Gorde Viking fitxategi gisa"
+
+#: ../src/vikwindow.c:2841
+msgid "Exporting to file: "
+msgstr ""
+
+#. Confirm what happened.
+#: ../src/vikwindow.c:2858
+#, c-format
+msgid "Exported files: %d"
+msgstr ""
+
+#: ../src/vikwindow.c:2870
+msgid "Nothing to Export!"
+msgstr ""
+
+#: ../src/vikwindow.c:2874
+msgid "Export to directory"
+msgstr ""
+
+#: ../src/vikwindow.c:2896
+msgid "Could not convert all files"
+msgstr ""
+
+#: ../src/vikwindow.c:2932
+#, c-format
+msgid "%d bytes"
+msgstr ""
+
+#: ../src/vikwindow.c:2934
+#, c-format
+msgid "%3.1f kB"
+msgstr ""
+
+#: ../src/vikwindow.c:2936
+#, c-format
+msgid "%3.1f MB"
+msgstr ""
+
+#: ../src/vikwindow.c:2937
+#, c-format
+msgid ""
+"%s\n"
+"\n"
+"%s\n"
+"\n"
+"%s"
+msgstr ""
+
+#: ../src/vikwindow.c:2942
+msgid "File not accessible"
+msgstr ""
+
+#: ../src/vikwindow.c:2945
+msgid "No Viking File"
+msgstr ""
+
+#: ../src/vikwindow.c:3035
+msgid "This layer has no configurable properties."
+msgstr ""
+
+#. Try harder...
+#: ../src/vikwindow.c:3169 ../src/vikwindow.c:3175
+msgid "Generating image file..."
+msgstr "Irudi-fitxategia sortzen..."
+
+#: ../src/vikwindow.c:3197
+msgid ""
+"Failed to generate internal image.\n"
+"\n"
+"Try creating a smaller image."
+msgstr ""
+"Errorea barne irudi-fitxategia sortzen.\n"
+"\n"
+"Saiatu irudi txikiagoa sortzen."
+
+#: ../src/vikwindow.c:3205
+msgid "Failed to generate image file."
+msgstr "Ezin izan da irudi-fitxategia sortu."
+
+#. Success
+#: ../src/vikwindow.c:3210
+msgid "Image file generated."
+msgstr "Irudi-fitxategia sortu da."
+
+#: ../src/vikwindow.c:3314
+msgid ""
+"Viewable region outside allowable pixel size bounds for image. Clipping "
+"width/height values."
+msgstr ""
+"Ikusgai dagoen erregioa onartzen den irudiaren mugatik kanpo dago. Txikitu "
+"luze-zabaleraren balioak."
+
+#: ../src/vikwindow.c:3339
+#, c-format
+msgid "Total area: %ldm x %ldm (%.3f sq. km)"
+msgstr "Area osoa: %ldm x %ldm (%.3f km koadro)"
+
+#: ../src/vikwindow.c:3342
+#, c-format
+msgid "Total area: %ldm x %ldm (%.3f sq. miles)"
+msgstr "Area osoa: %ldm x %ldm (%.3f milia koadro)"
+
+#: ../src/vikwindow.c:3363
+msgid "Save Image"
+msgstr "Gorde irudia"
+
+#: ../src/vikwindow.c:3393
+msgid "PNG"
+msgstr "PNG"
+
+#: ../src/vikwindow.c:3416
+msgid "You must be in UTM mode to use this feature"
+msgstr "Eginbide hau erabili ahal izateko UTM moeuan egon behar zara."
+
+#: ../src/vikwindow.c:3421
+msgid "Choose a directory to hold images"
+msgstr "Hautatu direktorio bat irudiak sartzeko"
+
+#. todo: default for answers inside VikWindow or static (thruout instance)
+#: ../src/vikwindow.c:3442
+msgid "Save to Image File"
+msgstr "Gorde irudi-fitxategian"
+
+#: ../src/vikwindow.c:3459
+msgid "Width (pixels):"
+msgstr "Zabalera (pixel):"
+
+#: ../src/vikwindow.c:3461
+msgid "Height (pixels):"
+msgstr "Altuera (pixeletan):"
+
+#: ../src/vikwindow.c:3464
+msgid ""
+"WARNING: USING LARGE IMAGES OVER 10000x10000\n"
+"MAY CRASH THE PROGRAM!"
+msgstr ""
+"Kontuz! 10000x10000 pixel edo handiagoak diren irudiak erabiltzeak\n"
+"programa blokea dezake."
+
+#: ../src/vikwindow.c:3466
+msgid "Zoom (meters per pixel):"
+msgstr "Zooma (metroak pixeleko):"
+
+#: ../src/vikwindow.c:3482
+msgid "Area in current viewable window"
+msgstr "Area ikusgai den huneko leihoan"
+
+#: ../src/vikwindow.c:3492
+msgid "Save as PNG"
+msgstr "Gorde PNG gisa"
+
+#: ../src/vikwindow.c:3493
+msgid "Save as JPEG"
+msgstr "Gorde JPEG gisa"
+
+#: ../src/vikwindow.c:3515
+msgid "East-west image tiles:"
+msgstr "Ekialde-mendebalde irudi-lauzak"
+
+#: ../src/vikwindow.c:3517
+msgid "North-south image tiles:"
+msgstr "Iparra-Hegoa irudi-lauzak"
+
+#: ../src/vikwindow.c:3656
+msgid "Choose a background color"
+msgstr "Aukeratu atzeko planoko kolorea"
+
+#: ../src/vikwindow.c:3672
+msgid "Choose a track highlight color"
+msgstr "Aukeratu arrastoa nabarmentzeko kolorea"
+
+#: ../src/vikwindow.c:3693
+msgid "_File"
+msgstr "_Fitxategia"
+
+#: ../src/vikwindow.c:3694
+msgid "_Edit"
+msgstr "_Editatu"
+
+#: ../src/vikwindow.c:3696
+msgid "_Show"
+msgstr "_Erakutsi"
+
+#: ../src/vikwindow.c:3699
+msgid "_Layers"
+msgstr "_Geruzak"
+
+#: ../src/vikwindow.c:3700
+msgid "_Tools"
+msgstr "_Tresnak"
+
+#: ../src/vikwindow.c:3701
+msgid "_Webtools"
+msgstr "_Web-tresnak"
+
+#: ../src/vikwindow.c:3702 ../src/vikwindow.c:3763
+msgid "_Help"
+msgstr "_Laguntza"
+
+#: ../src/vikwindow.c:3704
+msgid "New file"
+msgstr "Fitxategi berria"
+
+#: ../src/vikwindow.c:3705
+msgid "_Open..."
+msgstr "_Ireki..."
+
+#: ../src/vikwindow.c:3705
+msgid "Open a file"
+msgstr "Ireki fitxategi bat"
+
+#: ../src/vikwindow.c:3706
+msgid "Open _Recent File"
+msgstr "Azken fitxategiak"
+
+#: ../src/vikwindow.c:3707
+msgid "Append _File..."
+msgstr "Erantsi fitxatgia..."
+
+#: ../src/vikwindow.c:3707
+msgid "Append data from a different file"
+msgstr "Erantsi beste fitxategi baten datuak"
+
+#: ../src/vikwindow.c:3708
+msgid "_Export All"
+msgstr ""
+
+#: ../src/vikwindow.c:3708
+msgid "Export All TrackWaypoint Layers"
+msgstr ""
+
+#: ../src/vikwindow.c:3709
+msgid "_GPX..."
+msgstr ""
+
+#: ../src/vikwindow.c:3709
+msgid "Export as GPX"
+msgstr ""
+
+#: ../src/vikwindow.c:3710
+msgid "A_cquire"
+msgstr "Eskuratu"
+
+#: ../src/vikwindow.c:3711
+msgid "Transfer data from a GPS device"
+msgstr "Ekarri datuak GPS batetik"
+
+#: ../src/vikwindow.c:3712
+msgid "Import File With GPS_Babel..."
+msgstr "Inportatu datuak GPSBabel-en bidez"
+
+#: ../src/vikwindow.c:3712
+msgid "Import file via GPSBabel converter"
+msgstr "Inportatu datuak GPSBabel bihurgailuaren bidez"
+
+#: ../src/vikwindow.c:3713
+msgid "_Directions..."
+msgstr ""
+
+#: ../src/vikwindow.c:3713
+msgid "Get driving directions"
+msgstr ""
+
+#: ../src/vikwindow.c:3715
+msgid "_OSM Traces..."
+msgstr "_OSM Traces..."
+
+#: ../src/vikwindow.c:3715
+msgid "Get traces from OpenStreetMap"
+msgstr "Lortu arrastoak OpenStreetMap-etik"
+
+#: ../src/vikwindow.c:3716
+msgid "_My OSM Traces..."
+msgstr "_My OSM Traces..."
+
+#: ../src/vikwindow.c:3716
+msgid "Get Your Own Traces from OpenStreetMap"
+msgstr "Lortu zure arrastoak OpenStreetMaps-etik"
+
+#: ../src/vikwindow.c:3719
+msgid "Geo_caches..."
+msgstr "Geo_cache-ak..."
+
+#: ../src/vikwindow.c:3719
+msgid "Get Geocaches from geocaching.com"
+msgstr "Lortu Geocache-ak geocaching.com orritik"
+
+#: ../src/vikwindow.c:3722
+msgid "Create waypoints from geotagged images"
+msgstr "Sortu bide-puntuak geo-etiketatutako irudietatik"
+
+#: ../src/vikwindow.c:3725
+msgid "Create waypoints from Wikipedia items in the current view"
+msgstr "Sortu bide-puntuak Wikipedia elementuetatik uneko ikuspegian"
+
+#: ../src/vikwindow.c:3727
+msgid "_Save"
+msgstr "_Gorde"
+
+#: ../src/vikwindow.c:3727
+msgid "Save the file"
+msgstr "Gorde fitxategia"
+
+#: ../src/vikwindow.c:3728
+msgid "Save _As..."
+msgstr "Gorde _honela..."
+
+#: ../src/vikwindow.c:3728
+msgid "Save the file under different name"
+msgstr "Gorde fitxategia beste izen batez"
+
+#: ../src/vikwindow.c:3729
+msgid "Properties..."
+msgstr ""
+
+#: ../src/vikwindow.c:3729
+msgid "File Properties"
+msgstr ""
+
+#: ../src/vikwindow.c:3730
+msgid "_Generate Image File..."
+msgstr "_Sortu irudi-fitxategia..."
+
+#: ../src/vikwindow.c:3730
+msgid "Save a snapshot of the workspace into a file"
+msgstr "Gorde lan-arearen pantaila-argazkia fitxategi batean"
+
+#: ../src/vikwindow.c:3731
+msgid "Generate _Directory of Images..."
+msgstr "Sortu irudi-direktorio bat"
+
+#: ../src/vikwindow.c:3731
+msgid "FIXME:IMGDIR"
+msgstr "FIXME:IMGDIR"
+
+#: ../src/vikwindow.c:3732
+msgid "_Print..."
+msgstr "_Inprimatu..."
+
+#: ../src/vikwindow.c:3732
+msgid "Print maps"
+msgstr "Inprimatu mapak"
+
+#: ../src/vikwindow.c:3733
+msgid "E_xit"
+msgstr "I_rten"
+
+#: ../src/vikwindow.c:3733
+msgid "Exit the program"
+msgstr "Irten programatik"
+
+#: ../src/vikwindow.c:3734
+msgid "Save and Exit"
+msgstr "Gorde eta Atera"
+
+#: ../src/vikwindow.c:3734
+msgid "Save and Exit the program"
+msgstr "Gorde eta atera programatik"
+
+#: ../src/vikwindow.c:3736
+msgid "Go to the _Default Location"
+msgstr "Joan lehenetsitako kokalekura"
+
+#: ../src/vikwindow.c:3736
+msgid "Go to the default location"
+msgstr "Joan lehenetsitako kokalekura"
+
+#: ../src/vikwindow.c:3737
+msgid "Go to _Location..."
+msgstr "Joan kokalekura..."
+
+#: ../src/vikwindow.c:3737
+msgid "Go to address/place using text search"
+msgstr "Joan helbidera/tokira testu bilaketaren bidez"
+
+#: ../src/vikwindow.c:3738
+msgid "_Go to Lat/Lon..."
+msgstr "_Joan Lat/Lon kokalekura..."
+
+#: ../src/vikwindow.c:3738
+msgid "Go to arbitrary lat/lon coordinate"
+msgstr "Joan lat/lon kokaleku arbitrario batera"
+
+#: ../src/vikwindow.c:3739
+msgid "Go to UTM..."
+msgstr "Joan UTMra...."
+
+#: ../src/vikwindow.c:3739
+msgid "Go to arbitrary UTM coordinate"
+msgstr "Joan UTM koordinatu arbitrario batera"
+
+#: ../src/vikwindow.c:3740
+msgid "_Refresh"
+msgstr "_Freskatu"
+
+#: ../src/vikwindow.c:3740
+msgid "Refresh any maps displayed"
+msgstr "Freskatu bistaratutako mapa guztiak"
+
+#: ../src/vikwindow.c:3741
+msgid "Set _Highlight Color..."
+msgstr "Ezarri nabarmentzeko kolorea..."
+
+#: ../src/vikwindow.c:3742
+msgid "Set Bac_kground Color..."
+msgstr "Ezarri atzeko planoko kolorea"
+
+#: ../src/vikwindow.c:3743
+msgid "Zoom _In"
+msgstr "_Handiagotu"
+
+#: ../src/vikwindow.c:3744
+msgid "Zoom _Out"
+msgstr "_Txikiagotu"
+
+#: ../src/vikwindow.c:3745
+msgid "Zoom _To..."
+msgstr "Zoom hona..."
+
+#: ../src/vikwindow.c:3746
+msgid "Pan _North"
+msgstr "Desplazatu iparrera"
+
+#: ../src/vikwindow.c:3747
+msgid "Pan _East"
+msgstr "Desplazatu ekialdera"
+
+#: ../src/vikwindow.c:3748
+msgid "Pan _South"
+msgstr "Desplazatu hegoaldera"
+
+#: ../src/vikwindow.c:3749
+msgid "Pan _West"
+msgstr "Desplazatu mendebaldera"
+
+#: ../src/vikwindow.c:3750
+msgid "Background _Jobs"
+msgstr "Atzeko planoko lanak"
+
+#: ../src/vikwindow.c:3752
+msgid "Cu_t"
+msgstr "_Ebaki"
+
+#: ../src/vikwindow.c:3756
+msgid "Delete All"
+msgstr "Ezabatu guztiak"
+
+#: ../src/vikwindow.c:3757
+msgid "_Flush Map Cache"
+msgstr "_Hustu mapen cache-a"
+
+#: ../src/vikwindow.c:3758
+msgid "_Set the Default Location"
+msgstr "_Ezarri lehenetsitako kokalekua"
+
+#: ../src/vikwindow.c:3758
+msgid "Set the Default Location to the current position"
+msgstr "_Ezarri lehenetsitako kokalekua uneko posizioan"
+
+#: ../src/vikwindow.c:3759
+msgid "_Preferences"
+msgstr "_Hobespenak"
+
+#: ../src/vikwindow.c:3760
+msgid "_Layer Defaults"
+msgstr ""
+
+#: ../src/vikwindow.c:3761
+msgid "_Properties"
+msgstr "_Propietateak"
+
+#: ../src/vikwindow.c:3764
+msgid "_About"
+msgstr "Honi _buruz"
+
+#: ../src/vikwindow.c:3768
+msgid "_KML..."
+msgstr ""
+
+#: ../src/vikwindow.c:3768
+msgid "Export as KML"
+msgstr ""
+
+#: ../src/vikwindow.c:3774
+msgid "_UTM Mode"
+msgstr "_UTM modua"
+
+#: ../src/vikwindow.c:3775
+msgid "_Expedia Mode"
+msgstr "_Expedia modua"
+
+#: ../src/vikwindow.c:3776
+msgid "_Mercator Mode"
+msgstr "_Mercator modua"
+
+#: ../src/vikwindow.c:3777
+msgid "Lat_/Lon Mode"
+msgstr "Lat_/Lon modua"
+
+#: ../src/vikwindow.c:3781
+msgid "Show _Scale"
+msgstr "Erakutsi eskala"
+
+#: ../src/vikwindow.c:3781
+msgid "Show Scale"
+msgstr "Erakutsi eskala"
+
+#: ../src/vikwindow.c:3782
+msgid "Show _Center Mark"
+msgstr "Erakutsi erdiko marka"
+
+#: ../src/vikwindow.c:3782
+msgid "Show Center Mark"
+msgstr "Erakutsi erdiko marka"
+
+#: ../src/vikwindow.c:3783
+msgid "Show _Highlight"
+msgstr "Erakutsi nabarmen"
+
+#: ../src/vikwindow.c:3783
+msgid "Show Highlight"
+msgstr "Erakutsi nabarmen"
+
+#: ../src/vikwindow.c:3784
+msgid "_Full Screen"
+msgstr "_Pantaila osoa"
+
+#: ../src/vikwindow.c:3784
+msgid "Activate full screen mode"
+msgstr "Aktibatu pantaila osoa modua"
+
+#: ../src/vikwindow.c:3785
+msgid "Show Side _Panel"
+msgstr "Erakutsi alboko panela"
+
+#: ../src/vikwindow.c:3785
+msgid "Show Side Panel"
+msgstr "Erakutsi alboko panela"
+
+#: ../src/vikwindow.c:3786
+msgid "Show Status_bar"
+msgstr "Erakutsi egoera-barra"
+
+#: ../src/vikwindow.c:3786
+msgid "Show Statusbar"
+msgstr "Erakutsi egoera-barra"
+
+#: ../src/vikwindow.c:3787
+msgid "Show _Toolbar"
+msgstr "Erakutsi _tresna-barra"
+
+#: ../src/vikwindow.c:3787
+msgid "Show Toolbar"
+msgstr "Erakutsi tresna barra"
+
+#: ../src/vikwindow.c:3788
+msgid "Show _Menu"
+msgstr "Erakutsi _menua"
+
+#: ../src/vikwindow.c:3788
+msgid "Show Menu"
+msgstr "Erakutsi menua"
+
+#: ../src/vikwindow.c:3862
+#, c-format
+msgid "New _%s Layer"
+msgstr "_%s geruza berria"
+
+#: ../src/viking.desktop.in.h:2
+msgid "GPS Data Manager"
+msgstr "GPS datu-kudeatzailea"
+
+#: ../src/viking.desktop.in.h:3
+msgid "Map Based GPS Data Manager (live data capable)."
+msgstr ""
+"GPS Data Manager horretan oinarrituriko mapa (bat-bateko datuak zuzenean "
+"erabiltzeko gai)."
+
+#: ../src/libjpeg/jpeg-data.c:206
+msgid "Data does not follow JPEG specification."
+msgstr "Datuek ez dute JPEG espezifikazioak betetzen."
+
+#: ../src/libjpeg/jpeg-data.c:291
+#, c-format
+msgid "Path '%s' invalid."
+msgstr "'%s' ez baliozko bide-izena"
+
+#: ../src/libjpeg/jpeg-data.c:309
+#, c-format
+msgid "Could not read '%s'."
+msgstr "Ezin da irakurri '%s'."
diff --git a/po/fi.po b/po/fi.po
index fe5db08..9bf071c 100644
--- a/po/fi.po
+++ b/po/fi.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: viking\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2013-02-04 23:29+0100\n"
+"POT-Creation-Date: 2013-09-03 21:58+0200\n"
"PO-Revision-Date: 2012-11-13 23:03+0000\n"
"Last-Translator: Jorma Karvonen <karvonen.jorma@gmail.com>\n"
"Language-Team: Finnish <fi@li.org>\n"
@@ -15,60 +15,60 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Launchpad-Export-Date: 2013-03-23 17:12+0000\n"
-"X-Generator: Launchpad (build 16540)\n"
+"X-Launchpad-Export-Date: 2013-10-12 09:04+0000\n"
+"X-Generator: Launchpad (build 16799)\n"
"Language: fi\n"
-#: ../src/acquire.c:103 ../src/vikgpslayer.c:1185
+#: ../src/acquire.c:103 ../src/vikgpslayer.c:1235
msgid "Done."
msgstr "Valmis."
-#: ../src/acquire.c:114
+#: ../src/acquire.c:112
msgid "No data."
msgstr "Ei tietoja."
-#: ../src/acquire.c:154 ../src/acquire.c:404
+#: ../src/acquire.c:154 ../src/acquire.c:424
msgid "Error: acquisition failed."
msgstr "Virhe: hankinta epäonnistui."
-#: ../src/acquire.c:341
+#: ../src/acquire.c:352
msgid "Working..."
msgstr "Työn alla..."
#. This shouldn't happen...
-#: ../src/acquire.c:394
+#: ../src/acquire.c:415
msgid ""
"Unable to create command\n"
"Acquire method failed."
msgstr ""
-#: ../src/acquire.c:486
+#: ../src/acquire.c:517
msgid "_Filter"
msgstr ""
-#: ../src/acquire.c:501
+#: ../src/acquire.c:532
#, c-format
msgid "Filter with %s"
msgstr ""
-#: ../src/acquire.c:518
+#: ../src/acquire.c:549
msgid "Filter"
msgstr ""
-#: ../src/background.c:52
+#: ../src/background.c:53
#, c-format
msgid "%d items"
msgstr "%d alkiota"
-#: ../src/background.c:248
+#: ../src/background.c:254
msgid "Job"
msgstr "Työ"
-#: ../src/background.c:252
+#: ../src/background.c:258
msgid "Progress"
msgstr "Edistyminen"
-#: ../src/background.c:268
+#: ../src/background.c:274
msgid "Viking Background Jobs"
msgstr "Viking-taustatyöt"
@@ -77,7 +77,7 @@ msgid "Bing"
msgstr "Bing"
#. VIK_GTK_WINDOW_FROM_WIDGET(vp)
-#: ../src/bingmapsource.c:445
+#: ../src/bingmapsource.c:499
msgid "Bing attribution Loading"
msgstr "Bing-attribuuttilataus"
@@ -104,35 +104,35 @@ msgid ""
"into."
msgstr "Välietapin liittämiseksi valitse sopiva kerros liittämiskohteeksi."
-#: ../src/dialog.c:52
+#: ../src/dialog.c:53
msgid "Go to Lat/Lon"
msgstr "Siirry leveysp./pituusp."
-#: ../src/dialog.c:64 ../src/dialog.c:251
+#: ../src/dialog.c:65 ../src/dialog.c:244
msgid "Latitude:"
msgstr "Leveyspiiri:"
-#: ../src/dialog.c:70 ../src/dialog.c:256
+#: ../src/dialog.c:71 ../src/dialog.c:249
msgid "Longitude:"
msgstr "Pituuspiiri:"
-#: ../src/dialog.c:102
+#: ../src/dialog.c:103
msgid "Go to UTM"
msgstr "Siirry UTM:ään"
-#: ../src/dialog.c:115
+#: ../src/dialog.c:116
msgid "Northing:"
msgstr "Pohjoista leveyttä:"
-#: ../src/dialog.c:121
+#: ../src/dialog.c:122
msgid "Easting:"
msgstr "Itäistä pituutta:"
-#: ../src/dialog.c:128
+#: ../src/dialog.c:129
msgid "Zone:"
msgstr "Vyöhyke:"
-#: ../src/dialog.c:131
+#: ../src/dialog.c:132
msgid "Letter:"
msgstr "Kirjain:"
@@ -140,105 +140,109 @@ msgstr "Kirjain:"
msgid "Waypoint Properties"
msgstr "Välietappiominaisuudet"
-#: ../src/dialog.c:233
+#: ../src/dialog.c:235
msgid "Name:"
msgstr "Nimi:"
-#: ../src/dialog.c:261
+#: ../src/dialog.c:254
msgid "Altitude:"
msgstr "Korkeusasema:"
-#: ../src/dialog.c:266
+#: ../src/dialog.c:259
msgid "Comment:"
msgstr "Kommentti:"
-#: ../src/dialog.c:274 ../src/osm-traces.c:437
+#: ../src/dialog.c:267 ../src/osm-traces.c:445
msgid "Description:"
msgstr "Kuvaus:"
-#: ../src/dialog.c:277
+#: ../src/dialog.c:270
msgid "Image:"
msgstr "Kuva:"
-#: ../src/dialog.c:282
+#: ../src/dialog.c:275
msgid "Symbol:"
msgstr "Symboli:"
-#: ../src/dialog.c:291
+#: ../src/dialog.c:284
msgid "(none)"
msgstr "(ei mitään)"
+#: ../src/dialog.c:326
+msgid "Time:"
+msgstr ""
+
#. TODO: other checks (isalpha or whatever )
-#: ../src/dialog.c:356
+#: ../src/dialog.c:363
msgid "Please enter a name for the waypoint."
msgstr "Kirjoita välietapin nimi."
-#: ../src/dialog.c:529 ../src/geonamessearch.c:243
+#: ../src/dialog.c:502 ../src/geonamessearch.c:244
#: ../src/datasource_osm_my_traces.c:507
msgid "Nothing was selected"
msgstr "Mitään ei ole valittu"
-#: ../src/dialog.c:537
+#: ../src/dialog.c:510
msgid "Add Route"
msgstr ""
-#: ../src/dialog.c:537
+#: ../src/dialog.c:510
msgid "Add Track"
msgstr "Lisää reitti"
-#: ../src/dialog.c:545
+#: ../src/dialog.c:518
msgid "Route Name:"
msgstr ""
-#: ../src/dialog.c:545
+#: ../src/dialog.c:518
msgid "Track Name:"
msgstr "Reittinimi:"
-#: ../src/dialog.c:565
+#: ../src/dialog.c:538
msgid "Please enter a name for the track."
msgstr "Kirjoita reitin nimi."
-#: ../src/dialog.c:623
+#: ../src/dialog.c:596
msgid "Zoom Factors..."
msgstr "Loitonnus-/lähennystekijät..."
-#: ../src/dialog.c:637
+#: ../src/dialog.c:610
msgid "Zoom factor (in meters per pixel):"
msgstr "Loitonnus-/lähennystekijä (metreissä per pikseli):"
-#: ../src/dialog.c:638
+#: ../src/dialog.c:611
msgid "X (easting): "
msgstr "X (itäistä pituutta): "
-#: ../src/dialog.c:639
+#: ../src/dialog.c:612
msgid "Y (northing): "
msgstr "Y (pohjoista leveyttä): "
-#: ../src/dialog.c:644
+#: ../src/dialog.c:617
msgid "X and Y zoom factors must be equal"
msgstr "X- ja Y-loitonnus/lähennystekijöiden on oltava yhtä suuria"
-#: ../src/dialog.c:699
+#: ../src/dialog.c:672
msgid "1 min"
msgstr "1 min."
-#: ../src/dialog.c:700
+#: ../src/dialog.c:673
msgid "1 hour"
msgstr "1 tunti"
-#: ../src/dialog.c:701
+#: ../src/dialog.c:674
msgid "1 day"
msgstr "1 päivä"
-#: ../src/dialog.c:702
+#: ../src/dialog.c:675
msgid "Custom (in minutes):"
msgstr "Oma (minuuteissa):"
-#: ../src/dialog.c:808
+#: ../src/dialog.c:786
msgid "GPS Data and Topo Analyzer, Explorer, and Manager."
msgstr "GPS-tieto- ja topologia-analysoija, -selain ja -hallintaohjelma"
-#: ../src/dialog.c:809
+#: ../src/dialog.c:787
msgid ""
"This program is free software; you can redistribute it and/or modify it "
"under the terms of the GNU General Public License as published by the Free "
@@ -269,28 +273,28 @@ msgstr ""
"Free Software Foundation, Inc., 59 Temple Place, Suite 330,\n"
"Boston, MA 02111-1307, USA."
-#: ../src/dialog.c:837
+#: ../src/dialog.c:852
msgid "Translation is coordinated on http://launchpad.net/viking"
msgstr "Kotoistamiset koordinoi http://launchpad.net/viking"
-#: ../src/dialog.c:845
+#: ../src/dialog.c:861
msgid "Download along track"
msgstr "Lataa reittiä pitkin"
-#: ../src/dialog.c:851
+#: ../src/dialog.c:868
msgid "Map type:"
msgstr "Karttatyyppi:"
-#: ../src/dialog.c:856
+#: ../src/dialog.c:874
msgid "Zoom level:"
msgstr "Loitonnus-/lähennystaso:"
-#: ../src/dialog.c:896
+#: ../src/dialog.c:914
#, c-format
msgid "The map data is licensed: %s."
msgstr "Karttatiedot on lisensoitu: %s."
-#: ../src/dialog.c:899
+#: ../src/dialog.c:917
#, c-format
msgid ""
"The data provided by '<b>%s</b>' are licensed under the following license: "
@@ -301,7 +305,7 @@ msgstr ""
"mukaan: <b>%s</b>.\n"
"Lue lisenssiehdot ennen jatkamista."
-#: ../src/dialog.c:904
+#: ../src/dialog.c:922
msgid "Open license"
msgstr "Avaa lisenssi"
@@ -350,7 +354,8 @@ msgstr "Kohteita ei löytynyt!"
#. NB could allow columns to be shifted around by doing this after each new
#. gtk_tree_view_column_set_reorderable ( column, TRUE );
#. However I don't think is that useful, so I haven't put it in
-#: ../src/geonamessearch.c:177 ../src/datasource_osm_my_traces.c:425
+#: ../src/geonamessearch.c:177 ../src/datasource_osm_my_traces.c:424
+#: ../src/viktrwlayer_tracklist.c:521
msgid "Name"
msgstr ""
@@ -358,82 +363,192 @@ msgstr ""
msgid "Feature"
msgstr ""
-#: ../src/geonamessearch.c:187 ../src/datasource_osm_my_traces.c:440
+#: ../src/geonamessearch.c:187 ../src/datasource_osm_my_traces.c:439
msgid "Lat/Lon"
msgstr ""
-#: ../src/geonamessearch.c:269 ../src/googlesearch.c:100
+#: ../src/geonamessearch.c:270 ../src/googlesearch.c:100 ../src/vikgoto.c:306
msgid "couldn't map temp file"
msgstr "tilapäisen tiedoston kartoittaminen epäonnistui"
-#: ../src/globals.c:44
+#: ../src/globals.c:73
+msgid "Absolute"
+msgstr ""
+
+#: ../src/globals.c:73
+msgid "Relative"
+msgstr ""
+
+#: ../src/globals.c:76
msgid "Degree format:"
msgstr "Astemuoto:"
-#: ../src/globals.c:48
+#: ../src/globals.c:77
msgid "Distance units:"
msgstr "Etäisyysyksiköt:"
-#: ../src/globals.c:52
+#: ../src/globals.c:78
msgid "Speed units:"
msgstr "Nopeusyksiköt:"
-#: ../src/globals.c:56
+#: ../src/globals.c:79
msgid "Height units:"
msgstr "Korkeusyksiköt:"
-#: ../src/globals.c:60
+#: ../src/globals.c:80
msgid "Use large waypoint icons:"
msgstr "Käytä suurikokoisia välietappikuvakkeita:"
-#: ../src/globals.c:64
+#: ../src/globals.c:81
msgid "Default latitude:"
msgstr "Oletusleveysaste:"
-#: ../src/globals.c:67
+#: ../src/globals.c:82
msgid "Default longitude:"
msgstr "Oletuspituusaste:"
-#: ../src/globals.c:73
+#: ../src/globals.c:88
msgid "Alphabetical"
msgstr ""
-#: ../src/globals.c:73 ../src/datasource_osm_my_traces.c:435
+#: ../src/globals.c:88 ../src/datasource_osm_my_traces.c:434
msgid "Time"
msgstr ""
-#: ../src/globals.c:76
+#: ../src/globals.c:88
+msgid "Creation"
+msgstr ""
+
+#: ../src/globals.c:89
+msgid "Title Case"
+msgstr ""
+
+#: ../src/globals.c:89
+msgid "Lowercase"
+msgstr ""
+
+#: ../src/globals.c:92
msgid "KML File Export Units:"
msgstr "KML-tiedostovientiyksiköt:"
-#: ../src/globals.c:77
+#: ../src/globals.c:93
msgid "GPX Track Order:"
msgstr ""
-#: ../src/globals.c:82
+#: ../src/globals.c:94
+msgid "GPX Waypoint Symbols:"
+msgstr ""
+
+#: ../src/globals.c:95
+msgid ""
+"Save GPX Waypoint Symbol names in the specified case. May be useful for "
+"compatibility with various devices"
+msgstr ""
+
+#: ../src/globals.c:100
msgid "Image Viewer:"
msgstr "Kuvaselain:"
-#: ../src/globals.c:87
+#: ../src/globals.c:105
msgid "External GPX Program 1:"
msgstr "Ulkoinen GPX-ohjelma 1:"
-#: ../src/globals.c:88
+#: ../src/globals.c:106
msgid "External GPX Program 2:"
msgstr "Ulkoinen GPX-ohjelma 2:"
+#: ../src/globals.c:110
+msgid "Save File Reference Mode:"
+msgstr ""
+
+#: ../src/globals.c:111
+msgid ""
+"When saving a Viking .vik file, this determines how the directory paths of "
+"filenames are written."
+msgstr ""
+
+#: ../src/globals.c:112
+msgid "Show Tooltip during Track Creation:"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Home Location"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Last Location"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Specified File"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Auto Location"
+msgstr ""
+
+#: ../src/globals.c:118
+msgid "Restore Window Setup:"
+msgstr ""
+
+#: ../src/globals.c:119
+msgid "Restore window size and layout"
+msgstr ""
+
+#: ../src/globals.c:120
+msgid "Add a Default Map Layer:"
+msgstr ""
+
+#: ../src/globals.c:121
+msgid ""
+"The default map layer added is defined by the Layer Defaults. Use the menu "
+"Edit->Layer Defaults->Map... to change the map type and other values."
+msgstr ""
+
+#: ../src/globals.c:122
+msgid "Startup Method:"
+msgstr ""
+
+#: ../src/globals.c:123
+msgid "Startup File:"
+msgstr ""
+
+#: ../src/globals.c:124
+msgid ""
+"The default file to load on startup. Only applies when the startup method is "
+"set to 'Specified File'"
+msgstr ""
+
+#: ../src/globals.c:125
+msgid "Check For New Version:"
+msgstr ""
+
+#: ../src/globals.c:126
+msgid "Periodically check to see if a new version of Viking is available"
+msgstr ""
+
#. Defaults for the options are setup here
-#: ../src/globals.c:96
+#: ../src/globals.c:163
msgid "General"
msgstr "Yleistä"
#. New Tab
-#: ../src/globals.c:121
+#: ../src/globals.c:188
+msgid "Startup"
+msgstr ""
+
+#. New Tab
+#: ../src/globals.c:206
msgid "Export/External"
msgstr "Vie/Ulkoinen"
+#. 'Advanced' Properties
+#: ../src/globals.c:230
+msgid "Advanced"
+msgstr ""
+
#. Webtools
-#: ../src/google.c:36
+#: ../src/google.c:38
msgid "Google"
msgstr "Google"
@@ -446,25 +561,25 @@ msgid "Imported file"
msgstr "Tuotu tiedosto"
#. The file selector
-#: ../src/datasource_file.c:133
+#: ../src/datasource_file.c:127
msgid "File:"
msgstr "Tiedosto:"
-#: ../src/datasource_file.c:134
+#: ../src/datasource_file.c:128
msgid "File to import"
msgstr "Tuotava tiedosto"
-#: ../src/datasource_file.c:141
+#: ../src/datasource_file.c:135
msgid "All files"
msgstr "Kaikki tiedostot"
#. The file format selector
-#: ../src/datasource_file.c:148
+#: ../src/datasource_file.c:142
msgid "File type:"
msgstr "Tiedostotyyppi:"
# Tämä on debug-sanoma
-#: ../src/datasource_file.c:193
+#: ../src/datasource_file.c:184
#, c-format
msgid "using babel args '%s' and file '%s'"
msgstr "käytetään babel-argumentteja ’%s’ ja tiedostoa ’%s’"
@@ -477,15 +592,15 @@ msgstr "Lataa geokätköt"
msgid "Geocaching.com Caches"
msgstr "Geocaching.com-kätköt"
-#: ../src/datasource_gc.c:84
+#: ../src/datasource_gc.c:85
msgid "geocaching.com username:"
msgstr "geocaching.com-käyttäjänimi:"
-#: ../src/datasource_gc.c:85
+#: ../src/datasource_gc.c:86
msgid "geocaching.com password:"
msgstr "geocaching.com-salasana:"
-#: ../src/datasource_gc.c:126
+#: ../src/datasource_gc.c:127
#, c-format
msgid ""
"Can't find %s or %s in path! Check that you have installed it correctly."
@@ -493,15 +608,15 @@ msgstr ""
"Kohteiden %s tai %s löytäminen polussa epäonnistui! Tarkista, että olet "
"asentanut sen oikein."
-#: ../src/datasource_gc.c:188
+#: ../src/datasource_gc.c:189
msgid "Number geocaches:"
msgstr "Geokätköjen lukumäärä:"
-#: ../src/datasource_gc.c:190
+#: ../src/datasource_gc.c:191
msgid "Centered around:"
msgstr "Keskitetty ympärille:"
-#: ../src/datasource_gc.c:226
+#: ../src/datasource_gc.c:230
msgid "Broken input - using some defaults"
msgstr "Rikkinäinen syöte - käytetään joitakin oletusarvoja"
@@ -513,99 +628,90 @@ msgstr "Luo välietapit Geotagged-kuvista"
msgid "Geotagged Images"
msgstr "Geotagged-kuvat"
-#: ../src/datasource_geotag.c:102 ../src/vikwindow.c:2314
-#: ../src/vikwindow.c:2382 ../src/vikwindow.c:2824
+#: ../src/datasource_geotag.c:102 ../src/vikwindow.c:2655
+#: ../src/vikwindow.c:2729 ../src/vikwindow.c:3380
msgid "All"
msgstr "Kaikki"
-#: ../src/datasource_geotag.c:107 ../src/vikwindow.c:2829
+#: ../src/datasource_geotag.c:107 ../src/vikwindow.c:3385
msgid "JPG"
msgstr "JPG"
-#: ../src/datasource_geotag.c:165
+#: ../src/datasource_geotag.c:168
#, c-format
msgid "Unable to create waypoint from %s"
msgstr "Välietapin luominen kohteesta %s epäonnistui"
-#: ../src/datasource_google.c:49 ../src/datasource_google.c:50
-msgid "Google Directions"
-msgstr "Google-ajo-ohjeet"
-
-#: ../src/datasource_google.c:77
-msgid "From:"
-msgstr "Mistä:"
-
-#: ../src/datasource_google.c:79
-msgid "To:"
-msgstr "Mihin:"
-
-#: ../src/datasource_gps.c:57
+#: ../src/datasource_gps.c:54
msgid "Acquire from GPS"
msgstr "Hanki GPS:stä"
-#: ../src/datasource_gps.c:58
+#: ../src/datasource_gps.c:55
msgid "Acquired from GPS"
msgstr "Hankittu GPS:stä"
# Tämä on debug-sanoma
-#: ../src/datasource_gps.c:221
+#: ../src/datasource_gps.c:245
#, c-format
msgid "using cmdline '%s' and file '%s'\n"
msgstr "käytetään cmdline ’%s’ ja file ’%s’\n"
-#: ../src/datasource_gps.c:297 ../src/vikgpslayer.c:884
+#: ../src/datasource_gps.c:327 ../src/vikgpslayer.c:934
#, c-format
msgid "Downloading %d waypoint..."
msgid_plural "Downloading %d waypoints..."
msgstr[0] "Ladataan %d välietappi..."
msgstr[1] "Ladataan %d välietappia..."
-#: ../src/datasource_gps.c:298 ../src/vikgpslayer.c:885
+#: ../src/datasource_gps.c:328 ../src/vikgpslayer.c:935
#, c-format
msgid "Downloading %d trackpoint..."
msgid_plural "Downloading %d trackpoints..."
msgstr[0] "Ladataan %d reittipiste..."
msgstr[1] "Ladataan %d reittipisteet..."
-#: ../src/datasource_gps.c:303 ../src/vikgpslayer.c:890
+#: ../src/datasource_gps.c:333 ../src/vikgpslayer.c:940
#, c-format
msgid "Downloading %d routepoint..."
msgid_plural "Downloading %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/datasource_gps.c:325 ../src/datasource_gps.c:326
-#: ../src/datasource_gps.c:327
+#: ../src/datasource_gps.c:355 ../src/datasource_gps.c:356
+#: ../src/datasource_gps.c:357
#, c-format
msgid "Downloaded %d out of %d %s..."
msgstr "Ladattu %d / %d %s..."
-#: ../src/datasource_gps.c:331 ../src/datasource_gps.c:332
-#: ../src/datasource_gps.c:333
+#: ../src/datasource_gps.c:361 ../src/datasource_gps.c:362
+#: ../src/datasource_gps.c:363
#, c-format
msgid "Downloaded %d %s."
msgstr "Ladattu %d %s."
-#: ../src/datasource_gps.c:347 ../src/vikgpslayer.c:968
+#: ../src/datasource_gps.c:377 ../src/vikgpslayer.c:1018
#, c-format
msgid "GPS Device: %s"
msgstr "GPS-laite: %s"
-#: ../src/datasource_gps.c:370 ../src/vikgpslayer.c:1042
-#: ../src/vikgpslayer.c:1110
+#: ../src/datasource_gps.c:400 ../src/vikgpslayer.c:1092
+#: ../src/vikgpslayer.c:1160
msgid "Status: Working..."
msgstr ""
-#: ../src/datasource_gps.c:469 ../src/vikgpslayer.c:150
+#. NB gps_layer_inst_init() is performed after parameter registeration
+#. thus to give the protocols some potential values use the old static list
+#. TODO: find another way to use gps_layer_inst_init()?
+#: ../src/datasource_gps.c:500 ../src/vikgpslayer.c:207
msgid "GPS Protocol:"
msgstr "GPS-yhteyskäytäntö:"
-#. List now assigned at runtime
-#: ../src/datasource_gps.c:488 ../src/vikgpslayer.c:151
+#. List reassigned at runtime
+#: ../src/datasource_gps.c:526 ../src/vikgpslayer.c:208
msgid "Serial Port:"
msgstr "Sarjaportti:"
-#: ../src/datasource_gps.c:509
+#: ../src/datasource_gps.c:576
msgid ""
"Turn Off After Transfer\n"
"(Garmin/NAViLink Only)"
@@ -613,19 +719,19 @@ msgstr ""
"Käännä pois päältä siirron jälkeen\n"
"(Vain Garmin/NAViLink)"
-#: ../src/datasource_gps.c:512
+#: ../src/datasource_gps.c:583
msgid "Tracks:"
msgstr "Reitit:"
-#: ../src/datasource_gps.c:516
+#: ../src/datasource_gps.c:590
msgid "Routes:"
msgstr ""
-#: ../src/datasource_gps.c:520
+#: ../src/datasource_gps.c:597
msgid "Waypoints:"
msgstr "Välietapit:"
-#: ../src/datasource_gps.c:594 ../src/vikgpslayer.c:1305
+#: ../src/datasource_gps.c:675 ../src/vikgpslayer.c:1355
msgid "GPS device: N/A"
msgstr "GPS-laite: Ei saatavilla"
@@ -633,39 +739,39 @@ msgstr "GPS-laite: Ei saatavilla"
msgid "OSM traces"
msgstr "OSM-jäljet:"
-#: ../src/datasource_osm.c:80
+#: ../src/datasource_osm.c:82
msgid "Page number:"
msgstr "Sivunumero:"
-#: ../src/datasource_osm_my_traces.c:63 ../src/datasource_osm_my_traces.c:64
+#: ../src/datasource_osm_my_traces.c:59 ../src/datasource_osm_my_traces.c:60
msgid "OSM My Traces"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:108
+#: ../src/datasource_osm_my_traces.c:104
msgid "Username:"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:113
+#: ../src/datasource_osm_my_traces.c:109
msgid "The email or username used to login to OSM"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:115 ../src/osm-traces.c:413
+#: ../src/datasource_osm_my_traces.c:111 ../src/osm-traces.c:421
msgid "Password:"
msgstr "Salasana:"
-#: ../src/datasource_osm_my_traces.c:120
+#: ../src/datasource_osm_my_traces.c:114
msgid "The password used to login to OSM"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:430
+#: ../src/datasource_osm_my_traces.c:429
msgid "Description"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:445
+#: ../src/datasource_osm_my_traces.c:444
msgid "Privacy"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:452
+#: ../src/datasource_osm_my_traces.c:451
msgid "Within Current View"
msgstr ""
@@ -677,15 +783,33 @@ msgstr ""
msgid "None found!"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:629
+#: ../src/datasource_osm_my_traces.c:634
msgid "My OSM Traces"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:645
+#: ../src/datasource_osm_my_traces.c:649
#, c-format
msgid "Unable to get trace: %s"
msgstr ""
+#: ../src/datasource_routing.c:53 ../src/datasource_routing.c:54
+msgid "Directions"
+msgstr ""
+
+#. Engine selector
+#: ../src/datasource_routing.c:83
+msgid "Engine:"
+msgstr ""
+
+#. From and To entries
+#: ../src/datasource_routing.c:88
+msgid "From:"
+msgstr "Mistä:"
+
+#: ../src/datasource_routing.c:90
+msgid "To:"
+msgstr "Mihin:"
+
#: ../src/datasource_wikipedia.c:32
msgid "Create Waypoints from Wikipedia Articles"
msgstr ""
@@ -706,139 +830,138 @@ msgstr "Virheellinen DEM-otsake"
msgid "Incorrect DEM Class B record: expected 1"
msgstr "Virheellinen DEM Class B-tietue, odotettiin 1"
-#: ../src/dem.c:360
+#: ../src/dem.c:288 ../src/download.c:170
#, c-format
msgid "Couldn't map file %s: %s"
msgstr "Tiedoston %s kartoittaminen epäonnistui: %s"
-# As a translator I have no idea, what this means. What is Tile age and what (s)??
-#: ../src/download.c:112
-msgid "Tile age (s):"
-msgstr "Tiili-ikä (s):"
+#: ../src/download.c:130
+msgid "Tile age (days):"
+msgstr ""
-#: ../src/download.c:233
+#: ../src/download.c:321
#, c-format
msgid "Download error: %s"
msgstr "Latausvirhe: %s"
-#: ../src/download.c:313
+#: ../src/download.c:404
msgid "couldn't open temp file"
msgstr "tilapäisen tiedoston avaaminen epäonnistui"
-#: ../src/file.c:456 ../src/file.c:461
+#: ../src/file.c:451 ../src/file.c:456
#, c-format
msgid "Draw mode '%s' no more supported"
msgstr "Piirrostilaa ’%s’ ei enää tueta"
-#: ../src/geotag_exif.c:433
+#: ../src/geotag_exif.c:421
msgid "Not enough memory."
msgstr "Muisti ei riitä."
-#: ../src/geotag_exif.c:451
+#: ../src/geotag_exif.c:439
msgid "Setting a value for this tag is unsupported!"
msgstr "Arvon asettamista tälle tunnisteelle ei tueta!"
-#: ../src/geotag_exif.c:470
+#: ../src/geotag_exif.c:458
#, c-format
msgid "Too few components specified (need %d, found %d)\n"
msgstr "Määritelty liian vähän komponentteja (tarvitaan %d, löytyi %d)\n"
-#: ../src/geotag_exif.c:474
+#: ../src/geotag_exif.c:462
msgid "Numeric value expected\n"
msgstr "Odotettiin numeroarvoa\n"
-#: ../src/geotag_exif.c:482
+#: ../src/geotag_exif.c:470
msgid "This shouldn't happen!"
msgstr "Tätä ei pitäisi tapahtua!"
-#: ../src/geotag_exif.c:552
+#: ../src/geotag_exif.c:540
msgid "Not yet implemented!"
msgstr "Ei ole vielä toteutettu!"
-#: ../src/geotag_exif.c:565
+#: ../src/geotag_exif.c:553
msgid "Warning; Too many components specified!"
msgstr "Varoitus; Liian monta komponenttia määritelty!"
-#: ../src/osm-traces.c:73
+#: ../src/osm-traces.c:76
msgid "Identifiable (public w/ timestamps)"
msgstr "Tunnistettava (julkiset w/ aikaleimat)"
-#: ../src/osm-traces.c:74
+#: ../src/osm-traces.c:77
msgid "Trackable (private w/ timestamps)"
msgstr "Reititettävä (yksityiset w/ aikaleimat)"
-#: ../src/osm-traces.c:75
+#: ../src/osm-traces.c:78
msgid "Public"
msgstr "Julkinen"
-#: ../src/osm-traces.c:76
+#: ../src/osm-traces.c:79
msgid "Private"
msgstr "Yksityinen"
-#: ../src/osm-traces.c:93
+#: ../src/osm-traces.c:97
msgid "OSM username:"
msgstr "OSM-käyttäjänimi:"
-#: ../src/osm-traces.c:94
+#: ../src/osm-traces.c:98
msgid "OSM password:"
msgstr "OSM-salasana:"
#. Preferences
-#: ../src/osm-traces.c:151
+#: ../src/osm-traces.c:155
msgid "OpenStreetMap Traces"
msgstr "OpenStreetMap-jäljet"
-#: ../src/osm-traces.c:234
+#: ../src/osm-traces.c:238
#, c-format
msgid "failed to upload data: HTTP response is %ld"
msgstr "tietojen kopioiminen palvelimelle epäonnistui: HTTP-vastaus on %ld"
-#: ../src/osm-traces.c:239
+#: ../src/osm-traces.c:243
#, c-format
msgid "curl_easy_getinfo failed: %d"
msgstr "curl_easy_getinfo epäonnistui: %d"
-#: ../src/osm-traces.c:244
+#: ../src/osm-traces.c:248
#, c-format
msgid "curl request failed: %s"
msgstr "curl-pyyntö epäonnistui: %s"
-#: ../src/osm-traces.c:275
+#: ../src/osm-traces.c:279
#, c-format
msgid "failed to open temporary file: %s"
msgstr "tilapäisen tiedoston avaaminen epäonnistui: %s"
#. Success
-#: ../src/osm-traces.c:328
+#: ../src/osm-traces.c:340
msgid "Uploaded to OSM"
msgstr "Kopioitu OSM-palvelimelle"
-#: ../src/osm-traces.c:332
+#: ../src/osm-traces.c:344
msgid "FAILED TO UPLOAD DATA TO OSM - CURL PROBLEM"
msgstr "TIETOJEN KOPIOIMINEN OSM-PALVELIMELLE EPÄONNISTUI - CURL-PULMA"
-#: ../src/osm-traces.c:335
+#: ../src/osm-traces.c:347
msgid "FAILED TO UPLOAD DATA TO OSM"
msgstr "TIETOJEN KOPIOIMINEN OSM-PALVELIMELLE EPÄONNISTUI"
-#: ../src/osm-traces.c:335
+#: ../src/osm-traces.c:347
msgid "HTTP response code"
msgstr "HTTP-vastauskoodi"
-#: ../src/osm-traces.c:348
+#: ../src/osm-traces.c:355
#, c-format
msgid "failed to unlink temporary file: %s"
msgstr "unlink-toiminto tilapäiselle tiedostolle epäonnistui: %s"
-#: ../src/osm-traces.c:387
+#: ../src/osm-traces.c:394
msgid "OSM upload"
msgstr "OSM-kopiointi palvelimelle"
-#: ../src/osm-traces.c:405
+#: ../src/osm-traces.c:413
msgid "Email:"
msgstr "Sähköpostiosoite:"
-#: ../src/osm-traces.c:410
+#: ../src/osm-traces.c:418
msgid ""
"The email used as login\n"
"<small>Enter the email you use to login into www.openstreetmap.org.</small>"
@@ -847,7 +970,7 @@ msgstr ""
"<small>Kirjoita sähköpostiosoite, jota käytät kirjautumiseen sivustolle "
"www.openstreetmap.org.</small>"
-#: ../src/osm-traces.c:418
+#: ../src/osm-traces.c:426
msgid ""
"The password used to login\n"
"<small>Enter the password you use to login into "
@@ -857,11 +980,11 @@ msgstr ""
"<small>Kirjoita salasana, jota käytät kirjautumiseen sivustolle "
"www.openstreetmap.org.</small>"
-#: ../src/osm-traces.c:423
+#: ../src/osm-traces.c:431
msgid "File's name:"
msgstr "Tiedoston nimi:"
-#: ../src/osm-traces.c:433
+#: ../src/osm-traces.c:441
msgid ""
"The name of the file on OSM\n"
"<small>This is the name of the file created on the server.This is not the "
@@ -871,19 +994,30 @@ msgstr ""
"<small>Tämä on palvelimella luodun tiedoston nimi. Tämä ei ole paikallisen "
"tiedoston nimi.</small>"
-#: ../src/osm-traces.c:442
+#: ../src/osm-traces.c:450
msgid "The description of the trace"
msgstr "Jäljen kuvaus"
-#: ../src/osm-traces.c:444
+#: ../src/osm-traces.c:453
+msgid "Anonymize Times:"
+msgstr ""
+
+#: ../src/osm-traces.c:458
+msgid ""
+"Anonymize times of the trace.\n"
+"<small>You may choose to make the trace identifiable, yet mask the actual "
+"real time values</small>"
+msgstr ""
+
+#: ../src/osm-traces.c:462
msgid "Tags:"
msgstr "Tunnisteet:"
-#: ../src/osm-traces.c:449
+#: ../src/osm-traces.c:467
msgid "The tags associated to the trace"
msgstr "Jälkeen liitetyt tunnisteet"
-#: ../src/osm-traces.c:482
+#: ../src/osm-traces.c:529
#, c-format
msgid "Uploading %s to OSM"
msgstr "Kopioidaan %s OSM-palvelimelle"
@@ -892,69 +1026,88 @@ msgstr "Kopioidaan %s OSM-palvelimelle"
msgid "Map cache memory size (MB):"
msgstr ""
-#: ../src/print.c:53
+#: ../src/print.c:51 ../src/viktrwlayer.c:509
msgid "None"
msgstr "Ei mitään"
-#: ../src/print.c:54
+#: ../src/print.c:52
msgid "Horizontally"
msgstr "Vaakasuoraan"
-#: ../src/print.c:55
+#: ../src/print.c:53
msgid "Vertically"
msgstr "Pystysuoraan"
-#: ../src/print.c:56
+#: ../src/print.c:54
msgid "Both"
msgstr "Molemmat"
-#: ../src/print.c:120
+#: ../src/print.c:118
msgid "Image Settings"
msgstr "Kuva-asetukset"
-#: ../src/print.c:546
+#: ../src/print.c:548
msgid "done"
msgstr "valmis"
#. Page Size
-#: ../src/print.c:575
+#: ../src/print.c:577
msgid "_Adjust Page Size and Orientation"
msgstr "_Säädä kuvakoko ja suuntaus"
-#: ../src/print.c:591
+#: ../src/print.c:593
msgid "C_enter:"
msgstr "K_eskitä:"
#. ignore page margins
-#: ../src/print.c:609
+#: ../src/print.c:611
msgid "Ignore Page _Margins"
msgstr "Ohita sivu_marginaalit"
-#: ../src/print.c:628
+#: ../src/print.c:630
msgid "Image S_ize:"
msgstr "_Kuvakoko:"
-#: ../src/util.c:81
-msgid "Could not launch web browser."
-msgstr "Webbiselaimen käynnistäminen epäonnistui."
+#: ../src/util.c:65
+#, c-format
+msgid "Could not launch web browser. %s"
+msgstr ""
-#: ../src/util.c:92
-msgid "Could not create new email."
-msgstr "Uuden sähköpostiosoitteen luominen epäonnistui."
+#: ../src/util.c:76
+#, c-format
+msgid "Could not create new email. %s"
+msgstr ""
-#: ../src/vikcoordlayer.c:46
+#: ../src/util.c:177
+#, c-format
+msgid ""
+"There is a newer version of Viking available: %s\n"
+"\n"
+"Do you wish to go to Viking's website now?"
+msgstr ""
+
+#: ../src/util.c:304
+msgid ""
+"This appears to be Viking's very first run.\n"
+"\n"
+"Do you wish to enable automatic internet features?\n"
+"\n"
+"Individual settings can be controlled in the Preferences."
+msgstr ""
+
+#: ../src/vikcoordlayer.c:57
msgid "Color:"
msgstr "Väri:"
-#: ../src/vikcoordlayer.c:47
+#: ../src/vikcoordlayer.c:58
msgid "Minutes Width:"
msgstr "Minuuttipituus:"
-#: ../src/vikcoordlayer.c:48
+#: ../src/vikcoordlayer.c:59
msgid "Line Thickness:"
msgstr "Viivan paksuus:"
-#: ../src/vikcoordlayer.c:56
+#: ../src/vikcoordlayer.c:66
msgid "Coordinate"
msgstr ""
@@ -991,63 +1144,131 @@ msgstr "Välietapit tämän ulkopuolella"
msgid "Polygonzied Layer"
msgstr "Monikulmaistettu kerros"
-#: ../src/main.c:89
+#: ../src/main.c:92
#, c-format
msgid "Ignoring Xlib error: error code %d request code %d\n"
msgstr ""
-#: ../src/main.c:102
+#: ../src/main.c:105
msgid "Enable debug output"
msgstr "Ota käyttöön vianjäljitystulostus"
-#: ../src/main.c:103
+#: ../src/main.c:106
msgid "Enable verbose output"
msgstr "Ota käyttöön lavea tulostus"
-#: ../src/main.c:104
+#: ../src/main.c:107
msgid "Show version"
msgstr "Näytä versio"
-#: ../src/osm.c:106
+#: ../src/osm.c:99
msgid "On Disk OSM Tile Format"
msgstr ""
-#: ../src/osm.c:121
+#: ../src/osm.c:113
msgid "OSM (view)"
msgstr "OSM (näkymä)"
-#: ../src/osm.c:125
+#: ../src/osm.c:117
msgid "OSM (edit)"
msgstr "OSM (muokkaa)"
-#: ../src/osm.c:129
+#: ../src/osm.c:121
msgid "OSM (render)"
msgstr "OSM (renderoi)"
#. Example: http://127.0.0.1:8111/load_and_zoom?left=8.19&right=8.20&top=48.605&bottom=48.590&select=node413602999
#. JOSM or merkaartor must already be running with remote interface enabled
-#: ../src/osm.c:136
+#: ../src/osm.c:128
msgid "Local port 8111 (eg JOSM)"
msgstr "Paikallinen portti 8111 (esim.: JOSM)"
-#: ../src/preferences.c:285
+#: ../src/osm.c:134
+msgid "OpenStreetMap Notes"
+msgstr ""
+
+#: ../src/osm.c:138
+msgid "OpenStreetBugs"
+msgstr ""
+
+#. Not really OSM but can't be bothered to create somewhere else to put it...
+#: ../src/osm.c:164
+msgid "Wikimedia Toolserver GeoHack"
+msgstr ""
+
+#: ../src/preferences.c:191
msgid "Preferences"
msgstr "Asetukset"
-#: ../src/uibuilder.c:147
+#: ../src/viklayer_defaults.c:232
+#, c-format
+msgid "Could not open file: %s"
+msgstr ""
+
+#: ../src/viklayer_defaults.c:303
+msgid "Layer Defaults"
+msgstr ""
+
+#: ../src/uibuilder.c:185
msgid "Take care that this password will be stored clearly in a plain file."
msgstr ""
"Muista, että tämä salasana tallennetaan salaamattomaan tekstitiedostoon."
-#: ../src/vikaggregatelayer.c:37
+#: ../src/vikaggregatelayer.c:42
msgid "Aggregate"
msgstr ""
-#: ../src/vikdemlayer.c:101
+#. VikLayersPanel *vlp = VIK_LAYERS_PANEL(lav[1]);
+#: ../src/vikaggregatelayer.c:484 ../src/viktrwlayer.c:10238
+#, c-format
+msgid "%s: Track and Route List"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:529 ../src/viktrwlayer.c:7354
+#: ../src/viktrwlayer.c:7420 ../src/viktrwlayer.c:7498
+msgid "_Visibility"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:534
+msgid "_Show All"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:540
+msgid "_Hide All"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:546 ../src/viktrwlayer.c:7371
+#: ../src/viktrwlayer.c:7437 ../src/viktrwlayer.c:7515
+msgid "_Toggle"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:553 ../src/viktrwlayer.c:7536
+msgid "_Sort"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:559 ../src/viktrwlayer.c:7542
+msgid "Name _Ascending"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:565 ../src/viktrwlayer.c:7548
+msgid "Name _Descending"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:571 ../src/viktrwlayer.c:7449
+#: ../src/viktrwlayer.c:7527 ../src/viktrwlayer.c:7587
+#: ../src/viktrwlayer_tracklist.c:237
+msgid "_Statistics"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:576 ../src/viktrwlayer.c:3971
+msgid "Track _List..."
+msgstr ""
+
+#: ../src/vikdemlayer.c:92
msgid "Absolute height"
msgstr "Absoluuttinen korkeus"
-#: ../src/vikdemlayer.c:102
+#: ../src/vikdemlayer.c:93
msgid "Height gradient"
msgstr "Korkeuskaltevuus"
@@ -1087,25 +1308,52 @@ msgstr ""
msgid "DEM"
msgstr ""
-#: ../src/vikdemlayer.c:284
+#: ../src/vikdemlayer.c:287
#, c-format
msgid "Number of files: %d"
msgstr "Tiedostojen lukumäärä: %d"
-#: ../src/vikdemlayer.c:385
+#: ../src/vikdemlayer.c:427
msgid "DEM Loading"
msgstr "DEM-lataus"
-#: ../src/vikdemlayer.c:889
+#: ../src/vikdemlayer.c:937
#, c-format
msgid "No SRTM data available for %f, %f"
msgstr "SRTM-tietoja ei ole käytettävissä kohteelle %f, %f"
-#: ../src/vikdemlayer.c:1149
+#. Probably not over any land...
+#: ../src/vikdemlayer.c:1193
+msgid "No DEM File Available"
+msgstr ""
+
+#: ../src/vikdemlayer.c:1212
+#, c-format
+msgid ""
+"\n"
+"Source: %s\n"
+"\n"
+"DEM File: %s\n"
+"DEM File Timestamp: %s"
+msgstr ""
+
+#: ../src/vikdemlayer.c:1216
+#, c-format
+msgid ""
+"Source: %s\n"
+"\n"
+"No DEM File!"
+msgstr ""
+
+#: ../src/vikdemlayer.c:1256
#, c-format
msgid "Downloading DEM %s"
msgstr "Ladataan DEM %s"
+#: ../src/vikdemlayer.c:1280
+msgid "_Show DEM File Information"
+msgstr ""
+
#: ../src/vikfileentry.c:68
msgid "Browse..."
msgstr "Selaa..."
@@ -1126,248 +1374,266 @@ msgstr "Lisää..."
msgid "Delete"
msgstr "Poista"
-#: ../src/vikgeoreflayer.c:70
+#: ../src/vikgeoreflayer.c:78
msgid "_Georef Move Map"
msgstr ""
-#: ../src/vikgeoreflayer.c:70
+#: ../src/vikgeoreflayer.c:78
msgid "Georef Move Map"
msgstr "Georef-siirtokartta"
-#: ../src/vikgeoreflayer.c:77
+#: ../src/vikgeoreflayer.c:85
msgid "Georef Z_oom Tool"
msgstr ""
-#: ../src/vikgeoreflayer.c:77
+#: ../src/vikgeoreflayer.c:85
msgid "Georef Zoom Tool"
msgstr "Georef-loitonnus-/lähennystyökalu"
-#: ../src/vikgeoreflayer.c:87
+#: ../src/vikgeoreflayer.c:95
msgid "GeoRef Map"
msgstr ""
-#: ../src/vikgeoreflayer.c:335 ../src/vikmapslayer.c:685
+#: ../src/vikgeoreflayer.c:377 ../src/vikmapslayer.c:720
#, c-format
msgid "Couldn't open image file: %s"
msgstr "Kuvatiedoston avaus epäonnistui: %s"
-#: ../src/vikgeoreflayer.c:365
+#: ../src/vikgeoreflayer.c:391
+msgid ""
+"GeoRef map cannot be displayed in the current drawmode.\n"
+"Select \"UTM Mode\" from View menu to view it."
+msgstr ""
+
+#: ../src/vikgeoreflayer.c:415
msgid "Unexpected end of file reading World file."
msgstr "World-tiedoston lukemisen odottamaton loppu."
-#: ../src/vikgeoreflayer.c:381 ../src/vikgeoreflayer.c:426
+#: ../src/vikgeoreflayer.c:431 ../src/vikgeoreflayer.c:476
msgid "Choose World file"
msgstr "Valitse World-tiedosto"
-#: ../src/vikgeoreflayer.c:394
+#: ../src/vikgeoreflayer.c:444
msgid "The World file you requested could not be opened for reading."
msgstr "Pyytämäsi World-tiedoston avaus lukemista varten epäonnistui."
-#: ../src/vikgeoreflayer.c:439
+#: ../src/vikgeoreflayer.c:489
msgid "The file you requested could not be opened for writing."
msgstr "Pyytämäsi tiedoston avaus kirjoittamista varten epäonnistui."
-#: ../src/vikgeoreflayer.c:456 ../src/viklayer.c:480
+#: ../src/vikgeoreflayer.c:506 ../src/viklayer.c:518
msgid "Layer Properties"
msgstr "Kerrosominaisuudet"
-#: ../src/vikgeoreflayer.c:478
+#: ../src/vikgeoreflayer.c:528
msgid "World File Parameters:"
msgstr "Loitonna/lähennä (metriä per pikseli):"
-#: ../src/vikgeoreflayer.c:479
+#: ../src/vikgeoreflayer.c:529
msgid "Load From File..."
msgstr "Lataa tiedostosta..."
-#: ../src/vikgeoreflayer.c:484
+#: ../src/vikgeoreflayer.c:534
msgid "Corner pixel easting:"
msgstr "Kulmapikselin itäinen pituusaste:"
-#: ../src/vikgeoreflayer.c:486
-msgid "the UTM \"easting\" value of the upper-right corner pixel of the map"
-msgstr "Kartan oikean yläkulman pikselin UTM ”itäistä pituutta”-arvo"
+#: ../src/vikgeoreflayer.c:536
+msgid "the UTM \"easting\" value of the upper-left corner pixel of the map"
+msgstr ""
-#: ../src/vikgeoreflayer.c:488
+#: ../src/vikgeoreflayer.c:538
msgid "Corner pixel northing:"
msgstr "Kulmapikselin pohjoinen leveysaste:"
-#: ../src/vikgeoreflayer.c:490
-msgid "the UTM \"northing\" value of the upper-right corner pixel of the map"
-msgstr "Kartan oikean yläkulman pikselin UTM ”pohjoista leveyttä”-arvo"
+#: ../src/vikgeoreflayer.c:540
+msgid "the UTM \"northing\" value of the upper-left corner pixel of the map"
+msgstr ""
-#: ../src/vikgeoreflayer.c:492
+#: ../src/vikgeoreflayer.c:542
msgid "X (easting) scale (mpp): "
msgstr "X (itäistä pituutta)-skaala (mpp): "
-#: ../src/vikgeoreflayer.c:493
+#: ../src/vikgeoreflayer.c:543
msgid "Y (northing) scale (mpp): "
msgstr "Y (pohjoista leveyttä)-skaala (mpp): "
-#: ../src/vikgeoreflayer.c:496
+#: ../src/vikgeoreflayer.c:546
msgid "the scale of the map in the X direction (meters per pixel)"
msgstr "karttaskaala X-suunnassa (metriä per pikseli)"
-#: ../src/vikgeoreflayer.c:498
+#: ../src/vikgeoreflayer.c:548
msgid "the scale of the map in the Y direction (meters per pixel)"
msgstr "karttaskaala Y-suunnassa (metriä per pikseli)"
-#: ../src/vikgeoreflayer.c:500
+#: ../src/vikgeoreflayer.c:550
msgid "Map Image:"
msgstr "Karttakuva:"
#. Now with icons
-#: ../src/vikgeoreflayer.c:608
+#: ../src/vikgeoreflayer.c:658
msgid "_Zoom to Fit Map"
msgstr "_Loitonna/Lähennä sopimaan karttaan"
-#: ../src/vikgeoreflayer.c:614
+#: ../src/vikgeoreflayer.c:664
msgid "_Goto Map Center"
msgstr "_Siirry karttakeskustaan"
-#: ../src/vikgeoreflayer.c:620
+#: ../src/vikgeoreflayer.c:670
msgid "_Export to World File"
msgstr "_World-tiedoston vienti"
-#: ../src/vikgoto.c:75
+#: ../src/vikgoto.c:81
msgid "No goto tool available."
msgstr "Siirtymistyökalua ei ole käytettävissä."
-#: ../src/vikgoto.c:88 ../src/vikgoto.c:107
+#: ../src/vikgoto.c:94 ../src/vikgoto.c:148
msgid "goto"
msgstr "siirry"
-#: ../src/vikgoto.c:90
+#: ../src/vikgoto.c:96
msgid "I don't know that place. Do you want another goto?"
msgstr "En tunne paikkaa. Haluatko siirtyä muualle?"
-#: ../src/vikgoto.c:109
+#: ../src/vikgoto.c:150
msgid "goto provider:"
msgstr "siirtymistarjoaja:"
-#: ../src/vikgoto.c:124
+#: ../src/vikgoto.c:165
msgid "Enter address or place name:"
msgstr "Kirjoita osoite tai paikan nimi:"
-#: ../src/vikgpslayer.c:127
+#: ../src/vikgoto.c:363
+msgid "Locality"
+msgstr ""
+
+#: ../src/vikgpslayer.c:128
msgid "Data Mode"
msgstr ""
-#: ../src/vikgpslayer.c:129
+#: ../src/vikgpslayer.c:130
msgid "Realtime Tracking Mode"
msgstr ""
-#: ../src/vikgpslayer.c:137
+#: ../src/vikgpslayer.c:167
msgid "Keep vehicle at center"
msgstr ""
-#: ../src/vikgpslayer.c:138
+#: ../src/vikgpslayer.c:168
msgid "Keep vehicle on screen"
msgstr ""
-#: ../src/vikgpslayer.c:139
+#: ../src/vikgpslayer.c:169
msgid "Disable"
msgstr ""
-#: ../src/vikgpslayer.c:152
+#: ../src/vikgpslayer.c:209
msgid "Download Tracks:"
msgstr "Lataa reitit:"
-#: ../src/vikgpslayer.c:153
+#: ../src/vikgpslayer.c:210
msgid "Upload Tracks:"
msgstr "Kopioi reitit palvelimelle:"
-#: ../src/vikgpslayer.c:154
+#: ../src/vikgpslayer.c:211
msgid "Download Routes:"
msgstr ""
-#: ../src/vikgpslayer.c:155
+#: ../src/vikgpslayer.c:212
msgid "Upload Routes:"
msgstr ""
-#: ../src/vikgpslayer.c:156
+#: ../src/vikgpslayer.c:213
msgid "Download Waypoints:"
msgstr "Lataa välietapit:"
-#: ../src/vikgpslayer.c:157
+#: ../src/vikgpslayer.c:214
msgid "Upload Waypoints:"
msgstr "Kopioi välietapit palvelimelle:"
-#: ../src/vikgpslayer.c:159
+#: ../src/vikgpslayer.c:216
msgid "Recording tracks"
msgstr "Tallennetaan reittejä"
-#: ../src/vikgpslayer.c:160
+#: ../src/vikgpslayer.c:217
msgid "Jump to current position on start"
msgstr "Hyppää alussa nykyiseen sijaintiin"
-#: ../src/vikgpslayer.c:161
+#: ../src/vikgpslayer.c:218
msgid "Moving Map Method:"
msgstr "Siirretään kartta-menetelmä:"
-#: ../src/vikgpslayer.c:162
+#: ../src/vikgpslayer.c:219
+msgid "Update Statusbar:"
+msgstr ""
+
+#: ../src/vikgpslayer.c:219
+msgid "Display information in the statusbar on GPS updates"
+msgstr ""
+
+#: ../src/vikgpslayer.c:220
msgid "Gpsd Host:"
msgstr "Gpsd-tietokone:"
-#: ../src/vikgpslayer.c:163
+#: ../src/vikgpslayer.c:221
msgid "Gpsd Port:"
msgstr "Gpsd-portti:"
-#: ../src/vikgpslayer.c:164
+#: ../src/vikgpslayer.c:222
msgid "Gpsd Retry Interval (seconds):"
msgstr "Gpsd-toistoväli (sekuntia):"
-#: ../src/vikgpslayer.c:179
+#: ../src/vikgpslayer.c:243
msgid "GPS"
msgstr ""
-#: ../src/vikgpslayer.c:242 ../src/vikgpslayer.c:1258
+#: ../src/vikgpslayer.c:306 ../src/vikgpslayer.c:1308
msgid "GPS Download"
msgstr "GPS-lataus"
-#: ../src/vikgpslayer.c:242 ../src/vikgpslayer.c:1258
-#: ../src/viktrwlayer.c:3094
+#: ../src/vikgpslayer.c:306 ../src/vikgpslayer.c:1308
+#: ../src/viktrwlayer.c:3480
msgid "GPS Upload"
msgstr "GPS-kopiointi palvelimelle"
-#: ../src/vikgpslayer.c:244
+#: ../src/vikgpslayer.c:308
msgid "GPS Realtime Tracking"
msgstr "GPS-tosiaikareititys"
-#: ../src/vikgpslayer.c:451
+#: ../src/vikgpslayer.c:517
msgid "Unknown GPS Protocol"
msgstr "Tuntematon GPS-yhteyskäytäntö"
-#: ../src/vikgpslayer.c:469
+#: ../src/vikgpslayer.c:535
msgid "Unknown serial port device"
msgstr "Tuntematon sarjaporttilaite"
-#: ../src/vikgpslayer.c:572
+#: ../src/vikgpslayer.c:648
#, c-format
msgid "%s: unknown parameter"
msgstr "%s: tuntematon parametri"
#. Now with icons
-#: ../src/vikgpslayer.c:693
+#: ../src/vikgpslayer.c:743
msgid "_Upload to GPS"
msgstr "Kopioi_daan GPS-palvelimelle"
-#: ../src/vikgpslayer.c:699
+#: ../src/vikgpslayer.c:749
msgid "Download from _GPS"
msgstr "Lataa _GPS:stä"
-#: ../src/vikgpslayer.c:720
+#: ../src/vikgpslayer.c:770
msgid "Empty _Realtime"
msgstr "Tyhje_nna tosiaika"
-#: ../src/vikgpslayer.c:727
+#: ../src/vikgpslayer.c:777
msgid "E_mpty Upload"
msgstr "Tyhjennä _kopioiminen palvelimelle"
-#: ../src/vikgpslayer.c:733
+#: ../src/vikgpslayer.c:783
msgid "_Empty Download"
msgstr "Ty_hjennä lataus"
-#: ../src/vikgpslayer.c:739
+#: ../src/vikgpslayer.c:789
msgid "Empty _All"
msgstr "Tyhjennä K_aikki"
@@ -1376,234 +1642,232 @@ msgstr "Tyhjennä K_aikki"
#. This happens when copied GPS layer is deleted (not sure why the number_handlers would be 2)
#. I don't think there's any side effects and certainly better than the program just aborting
#.
-#: ../src/vikgpslayer.c:756
+#: ../src/vikgpslayer.c:806
#, c-format
msgid "Unexpected number of disconnected handlers: %d"
msgstr "Odottamaton irtikytkettyjen käsittelijöiden lukumäärä: %d"
-#: ../src/vikgpslayer.c:898
+#: ../src/vikgpslayer.c:948
#, c-format
msgid "Uploading %d waypoint..."
msgid_plural "Uploading %d waypoints..."
msgstr[0] "Kopioidaan %d välietappi palvelimelle..."
msgstr[1] "Kopioidaan %d välietappia palvelimelle..."
-#: ../src/vikgpslayer.c:899
+#: ../src/vikgpslayer.c:949
#, c-format
msgid "Uploading %d trackpoint..."
msgid_plural "Uploading %d trackpoints..."
msgstr[0] "Kopioidaan %d reittipiste palvelimelle..."
msgstr[1] "Kopioidaan %d reittipistettä palvelimelle..."
-#: ../src/vikgpslayer.c:900
+#: ../src/vikgpslayer.c:950
#, c-format
msgid "Uploading %d routepoint..."
msgid_plural "Uploading %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:925
+#: ../src/vikgpslayer.c:975
#, c-format
msgid "Downloaded %d out of %d waypoint..."
msgid_plural "Downloaded %d out of %d waypoints..."
msgstr[0] "Ladattu %d / %d välietappi..."
msgstr[1] "Ladattu %d / %d välietappia..."
-#: ../src/vikgpslayer.c:926
+#: ../src/vikgpslayer.c:976
#, c-format
msgid "Downloaded %d out of %d trackpoint..."
msgid_plural "Downloaded %d out of %d trackpoints..."
msgstr[0] "Ladattu %d / %d reittipiste..."
msgstr[1] "Ladattu %d / %d reittipistettä..."
-#: ../src/vikgpslayer.c:927
+#: ../src/vikgpslayer.c:977
#, c-format
msgid "Downloaded %d out of %d routepoint..."
msgid_plural "Downloaded %d out of %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:932
+#: ../src/vikgpslayer.c:982
#, c-format
msgid "Uploaded %d out of %d waypoint..."
msgid_plural "Uploaded %d out of %d waypoints..."
msgstr[0] "Kopioitu %d / %d välietappi palvelimelle..."
msgstr[1] "Kopioitu %d / %d välietappia palvelimelle..."
-#: ../src/vikgpslayer.c:933
+#: ../src/vikgpslayer.c:983
#, c-format
msgid "Uploaded %d out of %d trackpoint..."
msgid_plural "Uploaded %d out of %d trackpoints..."
msgstr[0] "Kopioitu %d / %d reittipiste palvelimelle..."
msgstr[1] "Kopioitu %d / %d reittipistettä palvelimelle..."
-#: ../src/vikgpslayer.c:934
+#: ../src/vikgpslayer.c:984
#, c-format
msgid "Uploaded %d out of %d routepoint..."
msgid_plural "Uploaded %d out of %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:942
+#: ../src/vikgpslayer.c:992
#, c-format
msgid "Downloaded %d waypoint"
msgid_plural "Downloaded %d waypoints"
msgstr[0] "Ladattiin %d välietappi"
msgstr[1] "Ladattiin %d välietappia"
-#: ../src/vikgpslayer.c:943
+#: ../src/vikgpslayer.c:993
#, c-format
msgid "Downloaded %d trackpoint"
msgid_plural "Downloaded %d trackpoints"
msgstr[0] "Ladattiin %d reittipiste"
msgstr[1] "Ladattiin %d reittipistettä"
-#: ../src/vikgpslayer.c:944
+#: ../src/vikgpslayer.c:994
#, c-format
msgid "Downloaded %d routepoint"
msgid_plural "Downloaded %d routepoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:949
+#: ../src/vikgpslayer.c:999
#, c-format
msgid "Uploaded %d waypoint"
msgid_plural "Uploaded %d waypoints"
msgstr[0] "Kopioitu %d välietappi palvelimelle"
msgstr[1] "Kopioitu %d välietappia palvelimelle"
-#: ../src/vikgpslayer.c:950
+#: ../src/vikgpslayer.c:1000
#, c-format
msgid "Uploaded %d trackpoint"
msgid_plural "Uploaded %d trackpoints"
msgstr[0] "Kopioitu %d reittipiste palvelimelle"
msgstr[1] "Kopioitu %d reittipistettä palvelimelle"
-#: ../src/vikgpslayer.c:951
+#: ../src/vikgpslayer.c:1001
#, c-format
msgid "Uploaded %d routepoint"
msgid_plural "Uploaded %d routepoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:1180
+#: ../src/vikgpslayer.c:1230
msgid "Error: couldn't find gpsbabel."
msgstr "Virhe: ohjelman gpsbabel löytyminen epäonnistui."
-#: ../src/vikgpslayer.c:1269
+#: ../src/vikgpslayer.c:1319
msgid "Warning - GPS Upload items may overwrite each other"
msgstr ""
-#: ../src/vikgpslayer.c:1301
+#: ../src/vikgpslayer.c:1351
msgid "Status: detecting gpsbabel"
msgstr "Tila: havaittiin gpsbabel"
-#: ../src/vikgpslayer.c:1332
+#: ../src/vikgpslayer.c:1386
msgid "No GPS items selected for transfer."
msgstr ""
-#: ../src/vikgpslayer.c:1347
+#: ../src/vikgpslayer.c:1401
msgid "Could not turn off device."
msgstr ""
-#: ../src/vikgpslayer.c:1385
+#: ../src/vikgpslayer.c:1439
msgid "Are you sure you want to delete GPS Upload data?"
msgstr "Oletko varma, että haluat poistaa palvelimelle kopioidut GPS-tiedot?"
-#: ../src/vikgpslayer.c:1398
+#: ../src/vikgpslayer.c:1452
msgid "Are you sure you want to delete GPS Download data?"
msgstr "Oletko varma, että haluat poistaa GPS-ladatut tiedot?"
-#: ../src/vikgpslayer.c:1412
+#: ../src/vikgpslayer.c:1466
msgid "Are you sure you want to delete GPS Realtime data?"
msgstr "Oletko varma, että haluat poistaa GPS-tosiaikatiedot?"
-#: ../src/vikgpslayer.c:1425
+#: ../src/vikgpslayer.c:1479
msgid "Are you sure you want to delete All GPS data?"
msgstr "Oletko varma, että haluat poistaa kaikki GPS-tiedot?"
-#: ../src/viklayerspanel.c:55
-msgid "/C_ut"
-msgstr "/L_eikkaa"
+#: ../src/viklayerspanel.c:53
+msgid "C_ut"
+msgstr ""
-#: ../src/viklayerspanel.c:56
-msgid "/_Copy"
-msgstr "/K_opioi"
+#: ../src/viklayerspanel.c:54 ../src/vikwindow.c:3753
+msgid "_Copy"
+msgstr "Kop_ioi"
-#: ../src/viklayerspanel.c:57
-msgid "/_Paste"
-msgstr "/_Liitä"
+#: ../src/viklayerspanel.c:55 ../src/vikwindow.c:3754
+msgid "_Paste"
+msgstr "_Liitä"
-#: ../src/viklayerspanel.c:58
-msgid "/_Delete"
-msgstr "/_Poista"
+#: ../src/viklayerspanel.c:56 ../src/vikwindow.c:3755
+msgid "_Delete"
+msgstr "_Poista"
-#: ../src/viklayerspanel.c:59
-msgid "/New Layer"
-msgstr "/Uusi kerros"
+#: ../src/viklayerspanel.c:133
+msgid "New Layer"
+msgstr ""
-#: ../src/viklayerspanel.c:127
+#: ../src/viklayerspanel.c:178
msgid "Top Layer"
msgstr "Ylin kerros"
-#: ../src/viklayerspanel.c:143
+#: ../src/viklayerspanel.c:194
msgid "Add new layer"
msgstr "Lisää uusi kerros"
-#: ../src/viklayerspanel.c:150
+#: ../src/viklayerspanel.c:201
msgid "Remove selected layer"
msgstr "Siirrä valittu kerros"
-#: ../src/viklayerspanel.c:157
+#: ../src/viklayerspanel.c:208
msgid "Move selected layer up"
msgstr "Siirrä valittua kerrosta ylöspäin"
-#: ../src/viklayerspanel.c:164
+#: ../src/viklayerspanel.c:215
msgid "Move selected layer down"
msgstr "Siirrä valittua kerrosta alaspäin"
-#: ../src/viklayerspanel.c:171
+#: ../src/viklayerspanel.c:222
msgid "Cut selected layer"
msgstr "Leikkaa valittu kerros"
-#: ../src/viklayerspanel.c:178
+#: ../src/viklayerspanel.c:229
msgid "Copy selected layer"
msgstr "Kopioi valittu kerros"
-#: ../src/viklayerspanel.c:185
-msgid "Paste layer below selected layer"
-msgstr "Liitä kerros valitun kerroksen alapuolelle"
+#: ../src/viklayerspanel.c:236
+msgid ""
+"Paste layer into selected container layer or otherwise above selected layer"
+msgstr ""
-#. TODO: FIXME: if name has a '/' in it it will get all messed up. why not have an itemfactory field with
-#. name, icon, shortcut, etc.?
-#: ../src/viklayerspanel.c:204 ../src/vikwindow.c:3292
-#, c-format
-msgid "New _%s Layer"
+#: ../src/viklayerspanel.c:300
+msgid "New name can not be blank."
msgstr ""
-#: ../src/viklayerspanel.c:511
+#: ../src/viklayerspanel.c:544
msgid "Aggregate Layers have no settable properties."
msgstr "Aggregate-kerroksissa ei ole asetettavia ominaisuuksia."
-#: ../src/viklayerspanel.c:555
+#: ../src/viklayerspanel.c:588
msgid "You cannot cut the Top Layer."
msgstr "Et voi leikata ylintä kerrosta."
-#: ../src/viklayerspanel.c:600
+#: ../src/viklayerspanel.c:633
#, c-format
msgid "Are you sure you want to delete %s?"
msgstr "Oletko varma, että haluat poistaa kohteen %s?"
-#: ../src/viklayerspanel.c:617
+#: ../src/viklayerspanel.c:650
msgid "You cannot delete the Top Layer."
msgstr "Et voi poistaa ylintä kerrosta."
-#: ../src/viklayerspanel.c:701
+#: ../src/viklayerspanel.c:734
msgid "Are you sure you wish to delete all layers?"
msgstr "Oletko varma, että haluat poistaa kaikki kerrokset?"
#. ******* MAPZOOMS ********
-#: ../src/vikmapslayer.c:91
+#: ../src/vikmapslayer.c:80
msgid "Use Viking Zoom Level"
msgstr "Käytä Viking-loitonnus-/lähentämistasoa"
@@ -1650,35 +1914,35 @@ msgid ""
"actual zoom level."
msgstr ""
-#: ../src/vikmapslayer.c:146
+#: ../src/vikmapslayer.c:156
msgid "_Maps Download"
msgstr ""
-#: ../src/vikmapslayer.c:146
+#: ../src/vikmapslayer.c:156
msgid "Maps Download"
msgstr "Kartat ladattu"
-#: ../src/vikmapslayer.c:161
+#: ../src/vikmapslayer.c:171
msgid "Map"
msgstr "Kartta"
-#: ../src/vikmapslayer.c:249
-msgid "Default maplayer directory:"
-msgstr "Karttakerrosoletushakemisto:"
+#: ../src/vikmapslayer.c:259
+msgid "Default map layer directory:"
+msgstr ""
-#: ../src/vikmapslayer.c:249
+#: ../src/vikmapslayer.c:259
msgid "Choose a directory to store cached Map tiles for this layer"
msgstr ""
-#: ../src/vikmapslayer.c:505
+#: ../src/vikmapslayer.c:523
msgid "Unknown map type"
msgstr "Tuntematon karttatyyppi"
-#: ../src/vikmapslayer.c:516
+#: ../src/vikmapslayer.c:534
msgid "Unknown Map Zoom"
msgstr "Tuntematon karttaloitonnus/-lähennys"
-#: ../src/vikmapslayer.c:589
+#: ../src/vikmapslayer.c:624
#, c-format
msgid ""
"New map cannot be displayed in the current drawmode.\n"
@@ -1687,7 +1951,7 @@ msgstr ""
"Uutta karttaa ei voida näyttää nykyisessä piirrostilassa.\n"
"Valitse ”%s” Näkymä-valikosta sen katsomiseksi."
-#: ../src/vikmapslayer.c:753
+#: ../src/vikmapslayer.c:798
#, c-format
msgid ""
"Cowardly refusing to draw tiles or existence of tiles beyond %d zoom out "
@@ -1696,28 +1960,28 @@ msgstr ""
"Raukkamaisesti kieltäydytään tiilien piirtämisestä tai tiilien esiintyminen "
"on loitonnus-/lähentämistekijän %d takana"
-#: ../src/vikmapslayer.c:1157
+#: ../src/vikmapslayer.c:1210
#, c-format
msgid "Redownloading up to %d %s map..."
msgid_plural "Redownloading up to %d %s maps..."
msgstr[0] "Ladataan uudelleen korkeintaan %d %s kartta..."
msgstr[1] "Ladataan uudelleen kokeintaan %d %s karttaa..."
-#: ../src/vikmapslayer.c:1159
+#: ../src/vikmapslayer.c:1212
#, c-format
msgid "Redownloading %d %s map..."
msgid_plural "Redownloading %d %s maps..."
msgstr[0] "Ladataan uudelleen %d %s kartta..."
msgstr[1] "Ladataan uudelleen %d %s karttaa..."
-#: ../src/vikmapslayer.c:1163 ../src/vikmapslayer.c:1238
+#: ../src/vikmapslayer.c:1216 ../src/vikmapslayer.c:1290
#, c-format
msgid "Downloading %d %s map..."
msgid_plural "Downloading %d %s maps..."
msgstr[0] "Ladataan %d %s kartta..."
msgstr[1] "Ladataan %d %s karttaa..."
-#: ../src/vikmapslayer.c:1311
+#: ../src/vikmapslayer.c:1376
#, c-format
msgid ""
"\n"
@@ -1727,7 +1991,7 @@ msgid ""
"Tile File Timestamp: %s"
msgstr ""
-#: ../src/vikmapslayer.c:1318
+#: ../src/vikmapslayer.c:1380
#, c-format
msgid ""
"Source: %s\n"
@@ -1735,23 +1999,23 @@ msgid ""
"No Tile File!"
msgstr ""
-#: ../src/vikmapslayer.c:1356
+#: ../src/vikmapslayer.c:1418
msgid "Redownload _Bad Map(s)"
msgstr "Lataa uu_delleen huonot kartat"
-#: ../src/vikmapslayer.c:1360
+#: ../src/vikmapslayer.c:1422
msgid "Redownload _New Map(s)"
msgstr "Lataa uudelleen _uudet kartat"
-#: ../src/vikmapslayer.c:1364
+#: ../src/vikmapslayer.c:1426
msgid "Redownload _All Map(s)"
msgstr "Lataa _uudelleen kaikki kartat"
-#: ../src/vikmapslayer.c:1368
+#: ../src/vikmapslayer.c:1430
msgid "_Show Tile Information"
msgstr ""
-#: ../src/vikmapslayer.c:1449
+#: ../src/vikmapslayer.c:1511
#, c-format
msgid ""
"Wrong drawmode for this map.\n"
@@ -1760,300 +2024,399 @@ msgstr ""
"Väärä piirrostila tälle kartalle.\n"
"Valitse ”%s” Näkymä-valikosta ja yritä uudelleen."
-#: ../src/vikmapslayer.c:1454
+#: ../src/vikmapslayer.c:1516
msgid "Wrong zoom level for this map."
msgstr "Väärä loitonnus-/lähennystaso tälle kartalle."
+#: ../src/vikmapslayer.c:1647
+msgid "Zoom Start:"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1654
+msgid "Zoom End:"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1660
+msgid "Download Maps Method:"
+msgstr ""
+
+#. redownload method - needs to align with REDOWNLOAD* macro values
+#: ../src/vikmapslayer.c:1732
+msgid "Missing"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1732
+msgid "Bad"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1732
+msgid "New"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1732
+msgid "Reload All"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1734
+msgid "Download for Zoom Levels"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1774
+#, c-format
+msgid ""
+"You are not allowed to download more than %d tiles in one go (requested %d)"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1782
+#, c-format
+msgid "Do you really want to download %d tiles?"
+msgstr ""
+
#. Now with icons
-#: ../src/vikmapslayer.c:1485
+#: ../src/vikmapslayer.c:1807
msgid "Download _Missing Onscreen Maps"
msgstr "Lataa _puuttuva näytön kartat"
-#: ../src/vikmapslayer.c:1492
+#: ../src/vikmapslayer.c:1814
msgid "Download _New Onscreen Maps"
msgstr "Lataa uu_det näytön kartat"
-#: ../src/vikmapslayer.c:1499
+#: ../src/vikmapslayer.c:1821
msgid "Reload _All Onscreen Maps"
msgstr "Lat_aa uudelleen kaikki näytön kartat"
-#: ../src/viktreeview.c:263
+#: ../src/vikmapslayer.c:1827
+msgid "Download Maps in _Zoom Levels..."
+msgstr ""
+
+#: ../src/vikrouting.c:54
+msgid "Default engine:"
+msgstr ""
+
+#: ../src/viktreeview.c:316
msgid "Layer Name"
msgstr "Kerrosnimi"
-#: ../src/viktreeview.c:742
+#: ../src/viktreeview.c:851
#, c-format
msgid "delete data from %s\n"
msgstr "poista tiedot kohteesta %s\n"
-#: ../src/viktrwlayer.c:377
+#: ../src/viktrwlayer.c:398
msgid "Create _Waypoint"
msgstr ""
-#: ../src/viktrwlayer.c:377
+#: ../src/viktrwlayer.c:398
msgid "Create Waypoint"
msgstr "Luo välietappi"
-#: ../src/viktrwlayer.c:383
+#: ../src/viktrwlayer.c:404
msgid "Create _Track"
msgstr ""
-#: ../src/viktrwlayer.c:383
+#: ../src/viktrwlayer.c:404
msgid "Create Track"
msgstr "Luo reitti"
-#: ../src/viktrwlayer.c:392
+#: ../src/viktrwlayer.c:413
msgid "Create _Route"
msgstr ""
-#: ../src/viktrwlayer.c:392
+#: ../src/viktrwlayer.c:413
msgid "Create Route"
msgstr ""
-#: ../src/viktrwlayer.c:401
+#: ../src/viktrwlayer.c:422
msgid "_Edit Waypoint"
msgstr ""
-#: ../src/viktrwlayer.c:401
+#: ../src/viktrwlayer.c:422
msgid "Edit Waypoint"
msgstr "Muokkaa välietappia"
-#: ../src/viktrwlayer.c:409
+#: ../src/viktrwlayer.c:432
msgid "Edit Trac_kpoint"
msgstr ""
-#: ../src/viktrwlayer.c:409
+#: ../src/viktrwlayer.c:432
msgid "Edit Trackpoint"
msgstr "Muokkaa reittipistettä"
-#: ../src/viktrwlayer.c:417
+#: ../src/viktrwlayer.c:442
msgid "Show P_icture"
msgstr ""
-#: ../src/viktrwlayer.c:417
+#: ../src/viktrwlayer.c:442
msgid "Show Picture"
msgstr "Näytä kuva"
-#: ../src/viktrwlayer.c:424
+#: ../src/viktrwlayer.c:448
msgid "Route _Finder"
msgstr ""
-#: ../src/viktrwlayer.c:424
+#: ../src/viktrwlayer.c:448
msgid "Route Finder"
msgstr "Reittietsijä"
#. ***** PARAMETERS *****
-#: ../src/viktrwlayer.c:447 ../src/viktrwlayer.c:1942
-#: ../src/viktrwlayer.c:1944
+#: ../src/viktrwlayer.c:468 ../src/viktrwlayer.c:2324
msgid "Waypoints"
msgstr "Välietapit"
-#: ../src/viktrwlayer.c:447 ../src/viktrwlayer.c:1933
-#: ../src/viktrwlayer.c:1935
+#: ../src/viktrwlayer.c:468 ../src/viktrwlayer.c:2319
msgid "Tracks"
msgstr "Reitit"
-#: ../src/viktrwlayer.c:447
+#: ../src/viktrwlayer.c:468
msgid "Waypoint Images"
msgstr "Välietappikuvat"
-#: ../src/viktrwlayer.c:450
+#: ../src/viktrwlayer.c:468
+msgid "Tracks Advanced"
+msgstr ""
+
+#: ../src/viktrwlayer.c:471
msgid "Draw by Track"
msgstr "Piirrä reitin mukaan"
-#: ../src/viktrwlayer.c:450
+#: ../src/viktrwlayer.c:471
msgid "Draw by Speed"
msgstr ""
-#: ../src/viktrwlayer.c:450
+#: ../src/viktrwlayer.c:471
msgid "All Tracks Same Color"
msgstr ""
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "Filled Square"
msgstr "Täytetty nelikulmio"
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "Square"
msgstr "Nelikulmio"
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "Circle"
msgstr "Ympyrä"
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "X"
msgstr "X"
-#: ../src/viktrwlayer.c:477
+#: ../src/viktrwlayer.c:498
msgid "Extra Extra Small"
msgstr ""
-#: ../src/viktrwlayer.c:478
+#: ../src/viktrwlayer.c:499
msgid "Extra Small"
msgstr ""
-#: ../src/viktrwlayer.c:479
+#: ../src/viktrwlayer.c:500
msgid "Small"
msgstr ""
-#: ../src/viktrwlayer.c:480
+#: ../src/viktrwlayer.c:501
msgid "Medium"
msgstr ""
-#: ../src/viktrwlayer.c:481
+#: ../src/viktrwlayer.c:502
msgid "Large"
msgstr ""
-#: ../src/viktrwlayer.c:482
+#: ../src/viktrwlayer.c:503
msgid "Extra Large"
msgstr ""
-#: ../src/viktrwlayer.c:483
+#: ../src/viktrwlayer.c:504
msgid "Extra Extra Large"
msgstr ""
-#: ../src/viktrwlayer.c:491
+#: ../src/viktrwlayer.c:510
+msgid "Name Ascending"
+msgstr ""
+
+#: ../src/viktrwlayer.c:511
+msgid "Name Descending"
+msgstr ""
+
+#: ../src/viktrwlayer.c:552 ../src/viktrwlayer.c:576
+msgid "Draw Labels"
+msgstr "Piirrä nimiöt"
+
+#: ../src/viktrwlayer.c:553
+msgid "Note: the individual track controls what labels may be displayed"
+msgstr ""
+
+#: ../src/viktrwlayer.c:554
+msgid "Track Labels Font Size:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:555
msgid "Track Drawing Mode:"
msgstr "Reittipiirrostila:"
-#: ../src/viktrwlayer.c:492
+#: ../src/viktrwlayer.c:556
msgid "All Tracks Color:"
msgstr ""
-#: ../src/viktrwlayer.c:493
+#: ../src/viktrwlayer.c:557
msgid "The color used when 'All Tracks Same Color' drawing mode is selected"
msgstr ""
-#: ../src/viktrwlayer.c:494
+#: ../src/viktrwlayer.c:558
msgid "Draw Track Lines"
msgstr "Piirrä reittiviivat"
-#: ../src/viktrwlayer.c:495
+#: ../src/viktrwlayer.c:559
msgid "Track Thickness:"
msgstr "Reittipaksuus:"
-#: ../src/viktrwlayer.c:496
+#: ../src/viktrwlayer.c:560
msgid "Draw Track Direction"
msgstr ""
-#: ../src/viktrwlayer.c:497
+#: ../src/viktrwlayer.c:561
msgid "Direction Size:"
msgstr ""
-#: ../src/viktrwlayer.c:498
+#: ../src/viktrwlayer.c:562
msgid "Draw Trackpoints"
msgstr "Piirrä reittipisteet"
-#: ../src/viktrwlayer.c:499
+#: ../src/viktrwlayer.c:563
msgid "Trackpoint Size:"
msgstr ""
-#: ../src/viktrwlayer.c:500
+#: ../src/viktrwlayer.c:564
msgid "Draw Elevation"
msgstr "Piirrä korkeusasema"
-#: ../src/viktrwlayer.c:501
+#: ../src/viktrwlayer.c:565
msgid "Draw Elevation Height %:"
msgstr "Piirrä korkeusaseman korkeus %:"
-#: ../src/viktrwlayer.c:503
+#: ../src/viktrwlayer.c:566
msgid "Draw Stops"
msgstr "Piirrä pysähdykset"
-#: ../src/viktrwlayer.c:504
+#: ../src/viktrwlayer.c:567
msgid ""
"Whether to draw a marker when trackpoints are at the same position but over "
"the minimum stop length apart in time"
msgstr ""
-#: ../src/viktrwlayer.c:505
+#: ../src/viktrwlayer.c:568
msgid "Min Stop Length (seconds):"
msgstr "Pienin pysähdyspituus (sekunteina):"
-#: ../src/viktrwlayer.c:507
+#: ../src/viktrwlayer.c:570
msgid "Track BG Thickness:"
msgstr "Reitin taustapaksuus:"
-#: ../src/viktrwlayer.c:508
+#: ../src/viktrwlayer.c:571
msgid "Track Background Color"
msgstr "Reitin taustaväri"
-#: ../src/viktrwlayer.c:509
+#: ../src/viktrwlayer.c:572
msgid "Draw by Speed Factor (%):"
msgstr ""
-#: ../src/viktrwlayer.c:510
+#: ../src/viktrwlayer.c:573
msgid ""
"The percentage factor away from the average speed determining the color used"
msgstr ""
-#: ../src/viktrwlayer.c:512
-msgid "Draw Labels"
-msgstr "Piirrä nimiöt"
+#: ../src/viktrwlayer.c:574
+msgid "Track Sort Order:"
+msgstr ""
-#: ../src/viktrwlayer.c:513
+#: ../src/viktrwlayer.c:577
msgid "Waypoint Font Size:"
msgstr ""
-#: ../src/viktrwlayer.c:514
+#: ../src/viktrwlayer.c:578
msgid "Waypoint Color:"
msgstr "Välietapin väri:"
-#: ../src/viktrwlayer.c:515
+#: ../src/viktrwlayer.c:579
msgid "Waypoint Text:"
msgstr "Välietappiteksti:"
-#: ../src/viktrwlayer.c:516
+#: ../src/viktrwlayer.c:580
msgid "Background:"
msgstr "Tausta:"
-#: ../src/viktrwlayer.c:517
+#: ../src/viktrwlayer.c:581
msgid "Fake BG Color Translucency:"
msgstr "Teeskennelty taustavärin ĺäpikuultavuus:"
-#: ../src/viktrwlayer.c:518
+#: ../src/viktrwlayer.c:582
msgid "Waypoint marker:"
msgstr "Välietappimerkki:"
-#: ../src/viktrwlayer.c:519
+#: ../src/viktrwlayer.c:583
msgid "Waypoint size:"
msgstr "Välietapin koko:"
-#: ../src/viktrwlayer.c:520
+#: ../src/viktrwlayer.c:584
msgid "Draw Waypoint Symbols:"
msgstr "Piirrä välietappisymbolit:"
-#: ../src/viktrwlayer.c:522
+#: ../src/viktrwlayer.c:585
+msgid "Waypoint Sort Order:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:587
msgid "Draw Waypoint Images"
msgstr "Piirrä välietappikuvat"
-#: ../src/viktrwlayer.c:523
+#: ../src/viktrwlayer.c:588
msgid "Image Size (pixels):"
msgstr "Kuvakoko (pikseliä):"
-#: ../src/viktrwlayer.c:524
+#: ../src/viktrwlayer.c:589
msgid "Image Alpha:"
msgstr "Kuva-alfa:"
-#: ../src/viktrwlayer.c:525
+#: ../src/viktrwlayer.c:590
msgid "Image Memory Cache Size:"
msgstr "Kuvamuistin välimuistikoko:"
-#: ../src/viktrwlayer.c:610
+#: ../src/viktrwlayer.c:678
msgid "TrackWaypoint"
msgstr ""
-#: ../src/viktrwlayer.c:1951 ../src/viktrwlayer.c:1953
+#: ../src/viktrwlayer.c:1534 ../src/vikutils.c:204
+msgid "miles"
+msgstr ""
+
+#. VIK_UNITS_DISTANCE_KILOMETRES:
+#: ../src/viktrwlayer.c:1538 ../src/vikutils.c:209
+msgid "km"
+msgstr ""
+
+#: ../src/viktrwlayer.c:1648
+msgid "start/end"
+msgstr ""
+
+#: ../src/viktrwlayer.c:1660
+msgid "start"
+msgstr ""
+
+#: ../src/viktrwlayer.c:1669
+msgid "end"
+msgstr ""
+
+#: ../src/viktrwlayer.c:2329
msgid "Routes"
msgstr ""
-#: ../src/viktrwlayer.c:2144
+#: ../src/viktrwlayer.c:2519
#, c-format
msgid " in %d:%02d hrs:mins"
msgstr " ajassa %d:%02d tuntia:minuuttia"
-#: ../src/viktrwlayer.c:2148
+#: ../src/viktrwlayer.c:2523
#, c-format
msgid ""
"\n"
@@ -2062,1079 +2425,1345 @@ msgstr ""
"\n"
"%sKokonaispituus %.1f %s%s"
-#: ../src/viktrwlayer.c:2154
+#: ../src/viktrwlayer.c:2529
#, c-format
msgid "Tracks: %d - Waypoints: %d - Routes: %d%s"
msgstr ""
-#: ../src/viktrwlayer.c:2174
+#: ../src/viktrwlayer.c:2549
#, c-format
msgid "Tracks: %d"
msgstr ""
-#: ../src/viktrwlayer.c:2184
+#: ../src/viktrwlayer.c:2559
#, c-format
msgid "Routes: %d"
msgstr ""
-#: ../src/viktrwlayer.c:2215
+#: ../src/viktrwlayer.c:2590
#, c-format
msgid "- %d:%02d hrs:mins"
msgstr "- %d:%02d tuntia:minuuttia"
-#: ../src/viktrwlayer.c:2223
+#: ../src/viktrwlayer.c:2598
#, c-format
msgid "%s%.1f km %s"
msgstr "%s%.1f km %s"
-#: ../src/viktrwlayer.c:2226
+#: ../src/viktrwlayer.c:2601
#, c-format
msgid "%s%.1f miles %s"
msgstr "%s%.1f mailia %s"
-#: ../src/viktrwlayer.c:2240
+#: ../src/viktrwlayer.c:2615
#, c-format
msgid "Waypoints: %d"
msgstr ""
-#: ../src/viktrwlayer.c:2266
-#, c-format
-msgid "Trkpt: Alt %dft"
-msgstr "Trkpt: Alt %d jalkaa"
-
-#. VIK_UNITS_HEIGHT_METRES:
-#: ../src/viktrwlayer.c:2270
-#, c-format
-msgid "Trkpt: Alt %dm"
-msgstr "Trkpt: Alt %d m"
-
-#. Compact date time format
-#: ../src/viktrwlayer.c:2277
-#, c-format
-msgid " | Time %x %X"
-msgstr " | Aika %x %X"
-
-#: ../src/viktrwlayer.c:2295
-#, c-format
-msgid " | Track: %s"
-msgstr " | Reitti: %s"
-
-#. Combine parts to make overall message
-#: ../src/viktrwlayer.c:2299
-#, c-format
-msgid "%s%s | %s %s %s"
-msgstr "%s%s | %s %s %s"
-
-#: ../src/viktrwlayer.c:2314
+#: ../src/viktrwlayer.c:2671
#, c-format
msgid "Wpt: Alt %dft"
msgstr "Wpt: Korkeus %d jalkaa"
#. VIK_UNITS_HEIGHT_METRES:
-#: ../src/viktrwlayer.c:2318
+#: ../src/viktrwlayer.c:2675
#, c-format
msgid "Wpt: Alt %dm"
msgstr "Wpt: Korkeus %d m"
#. Add comment if available
-#: ../src/viktrwlayer.c:2333
+#: ../src/viktrwlayer.c:2690
#, c-format
msgid "%s | %s %s | Comment: %s"
msgstr "%s | %s %s | Kommentti: %s"
-#: ../src/viktrwlayer.c:2335
+#: ../src/viktrwlayer.c:2692
#, c-format
msgid "%s | %s %s"
msgstr "%s | %s %s"
-#: ../src/viktrwlayer.c:2563 ../src/viktrwlayer.c:2634
+#: ../src/viktrwlayer.c:2939 ../src/viktrwlayer.c:3010
msgid "This layer has no waypoints or trackpoints."
msgstr "Tässä kerroksessa ei ole välietappeja tai reittipisteitä."
-#: ../src/viktrwlayer.c:2661 ../src/vikwindow.c:2407 ../src/vikwindow.c:2848
+#: ../src/viktrwlayer.c:3045 ../src/vikwindow.c:2754 ../src/vikwindow.c:3407
#, c-format
msgid "The file \"%s\" exists, do you wish to overwrite it?"
msgstr "Tiedosto ”%s” on olemassa, haluatko korvata sen?"
-#: ../src/viktrwlayer.c:2671 ../src/vikwindow.c:2429
+#: ../src/viktrwlayer.c:3057 ../src/vikwindow.c:2778
msgid "The filename you requested could not be opened for writing."
msgstr "Pyytämäsi tiedostonimen avaus kirjoittamista varten epäonnistui."
-#: ../src/viktrwlayer.c:2676 ../src/viktrwlayer.c:2681
-#: ../src/viktrwlayer.c:2691 ../src/viktrwlayer.c:2703
+#: ../src/viktrwlayer.c:3062 ../src/viktrwlayer.c:3067
+#: ../src/viktrwlayer.c:3077 ../src/viktrwlayer.c:3089
msgid "Export Layer"
msgstr "Vie kerros"
-#: ../src/viktrwlayer.c:2720
+#: ../src/viktrwlayer.c:3108
msgid "Could not create temporary file for export."
msgstr "Tilapäisen tiedoston luominen vientiä varten epäonnistui."
-#: ../src/viktrwlayer.c:2729
+#: ../src/viktrwlayer.c:3117
#, c-format
msgid "Could not launch %s."
msgstr "Kohteen %s käynnistäminen epäonnistui."
-#: ../src/viktrwlayer.c:2773
+#: ../src/viktrwlayer.c:3161
msgid "Export Track as GPX"
msgstr "Vie reitti GPX:nä"
-#: ../src/viktrwlayer.c:2795
+#: ../src/viktrwlayer.c:3183
msgid "Find"
msgstr "Etsi"
-#: ../src/viktrwlayer.c:2805
+#: ../src/viktrwlayer.c:3193
msgid "Waypoint Name:"
msgstr "Välietapin nimi:"
-#: ../src/viktrwlayer.c:2822
+#: ../src/viktrwlayer.c:3210
msgid "Waypoint not found in this layer."
msgstr "Välietappia ei löytynyt tässä kerroksessa."
-#: ../src/viktrwlayer.c:3090
+#: ../src/viktrwlayer.c:3476
msgid "Can not upload invisible track."
msgstr ""
-#: ../src/viktrwlayer.c:3192 ../src/viktrwlayer.c:7785
+#: ../src/viktrwlayer.c:3581 ../src/viktrwlayer.c:9283
msgid "Track"
msgstr "Reitti"
-#: ../src/viktrwlayer.c:3215 ../src/viktrwlayer.c:7817
+#: ../src/viktrwlayer.c:3606 ../src/viktrwlayer.c:9316
msgid "Route"
msgstr ""
-#: ../src/viktrwlayer.c:3296 ../src/viktrwlayer.c:6265
-#: ../src/viktrwlayer.c:6314
+#: ../src/viktrwlayer.c:3691 ../src/viktrwlayer.c:7460
+#: ../src/viktrwlayer.c:7566
msgid "_Finish Route"
msgstr ""
-#: ../src/viktrwlayer.c:3298 ../src/viktrwlayer.c:6223
-#: ../src/viktrwlayer.c:6312
+#: ../src/viktrwlayer.c:3693 ../src/viktrwlayer.c:7383
+#: ../src/viktrwlayer.c:7564
msgid "_Finish Track"
msgstr ""
#. Now with icons
-#: ../src/viktrwlayer.c:3310
+#: ../src/viktrwlayer.c:3705
msgid "_View Layer"
msgstr "_Näkymäkerros"
-#: ../src/viktrwlayer.c:3317
+#: ../src/viktrwlayer.c:3712
msgid "V_iew"
msgstr ""
-#: ../src/viktrwlayer.c:3323
+#: ../src/viktrwlayer.c:3718
msgid "View All _Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:3328
+#: ../src/viktrwlayer.c:3723
msgid "View All _Routes"
msgstr ""
-#: ../src/viktrwlayer.c:3333
+#: ../src/viktrwlayer.c:3728
msgid "View All _Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:3338
+#: ../src/viktrwlayer.c:3733
msgid "_Goto Center of Layer"
msgstr "Sii_rry kerroksen keskustaan"
-#: ../src/viktrwlayer.c:3344 ../src/viktrwlayer.c:6199
+#: ../src/viktrwlayer.c:3739 ../src/viktrwlayer.c:7335
msgid "Goto _Waypoint..."
msgstr "Siirry _välietappiin..."
-#: ../src/viktrwlayer.c:3350
+#: ../src/viktrwlayer.c:3745
msgid "_Export Layer"
msgstr "_Vie kerros"
-#: ../src/viktrwlayer.c:3356
+#: ../src/viktrwlayer.c:3751
msgid "Export as GPS_Point..."
msgstr "Vie tyyppinä GPS_Point..."
-#: ../src/viktrwlayer.c:3361
+#: ../src/viktrwlayer.c:3756
msgid "Export as GPS_Mapper..."
msgstr "Vie tyyppinä GPS_Mapper..."
-#: ../src/viktrwlayer.c:3366
+#: ../src/viktrwlayer.c:3761
msgid "Export as _GPX..."
msgstr "Vie tyyppinä _GPX..."
-#: ../src/viktrwlayer.c:3371
+#: ../src/viktrwlayer.c:3766
msgid "Export as _KML..."
msgstr "Vie tyyppinä _KML..."
-#: ../src/viktrwlayer.c:3376
+#: ../src/viktrwlayer.c:3771
msgid "Open with External Program_1: "
msgstr "Avaa ulkoisella ohjelmalla Program_1: "
-#: ../src/viktrwlayer.c:3383
+#: ../src/viktrwlayer.c:3778
msgid "Open with External Program_2: "
msgstr "Avaa ulkoisella ohjelmalla Program_2: "
-#: ../src/viktrwlayer.c:3391 ../src/vikwindow.c:3145
+#: ../src/viktrwlayer.c:3786 ../src/vikwindow.c:3704
msgid "_New"
msgstr "_Uusi"
-#: ../src/viktrwlayer.c:3397
+#: ../src/viktrwlayer.c:3792
msgid "New _Waypoint..."
msgstr ""
-#: ../src/viktrwlayer.c:3403
+#: ../src/viktrwlayer.c:3798
msgid "New _Track"
msgstr ""
-#: ../src/viktrwlayer.c:3411
+#: ../src/viktrwlayer.c:3806
msgid "New _Route"
msgstr ""
-#: ../src/viktrwlayer.c:3420 ../src/viktrwlayer.c:6597
+#: ../src/viktrwlayer.c:3815 ../src/viktrwlayer.c:7938
msgid "Geotag _Images..."
msgstr "Geotag-_kuvat..."
-#: ../src/viktrwlayer.c:3427
+#: ../src/viktrwlayer.c:3822
msgid "_Acquire"
msgstr ""
-#: ../src/viktrwlayer.c:3433 ../src/vikwindow.c:3150
+#: ../src/viktrwlayer.c:3828 ../src/vikwindow.c:3711
msgid "From _GPS..."
msgstr "_GPS:stä..."
-#: ../src/viktrwlayer.c:3439
-msgid "From Google _Directions..."
+#. FIXME: only add menu when at least a routing engine has support for Directions
+#: ../src/viktrwlayer.c:3834
+msgid "From _Directions..."
msgstr ""
-#: ../src/viktrwlayer.c:3446
+#: ../src/viktrwlayer.c:3840
msgid "From _OSM Traces..."
msgstr "_OSM-jäljistä..."
-#: ../src/viktrwlayer.c:3451
+#: ../src/viktrwlayer.c:3845
msgid "From _My OSM Traces..."
msgstr ""
-#: ../src/viktrwlayer.c:3459 ../src/vikwindow.c:3166
+#: ../src/viktrwlayer.c:3853 ../src/vikwindow.c:3725
msgid "From _Wikipedia Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:3465
+#: ../src/viktrwlayer.c:3859
msgid "Within _Layer Bounds"
msgstr "Kerr_osrajojen sisällä"
-#: ../src/viktrwlayer.c:3471
+#: ../src/viktrwlayer.c:3865
msgid "Within _Current View"
msgstr "Nykyisen nä_kymän sisällä"
-#: ../src/viktrwlayer.c:3479
+#: ../src/viktrwlayer.c:3873
msgid "From Geo_caching..."
msgstr "Geo_kätköistä..."
-#: ../src/viktrwlayer.c:3486 ../src/vikwindow.c:3163
+#: ../src/viktrwlayer.c:3880 ../src/vikwindow.c:3722
msgid "From Geotagged _Images..."
msgstr "Geotagged-_kuvista..."
-#: ../src/viktrwlayer.c:3492
+#: ../src/viktrwlayer.c:3886
msgid "From _File..."
msgstr ""
-#: ../src/viktrwlayer.c:3498 ../src/viktrwlayer.c:6542
+#: ../src/viktrwlayer.c:3894 ../src/viktrwlayer.c:7883
msgid "_Upload"
msgstr ""
-#: ../src/viktrwlayer.c:3504
+#: ../src/viktrwlayer.c:3900
msgid "Upload to _GPS..."
msgstr ""
-#: ../src/viktrwlayer.c:3511 ../src/viktrwlayer.c:6570
+#: ../src/viktrwlayer.c:3907 ../src/viktrwlayer.c:7911
msgid "Upload to _OSM..."
msgstr "Kopioi _OSM-palvelimelle..."
-#: ../src/viktrwlayer.c:3519
+#: ../src/viktrwlayer.c:3915
msgid "De_lete"
msgstr "Po_ista"
-#: ../src/viktrwlayer.c:3525
+#: ../src/viktrwlayer.c:3921
msgid "Delete All _Tracks"
msgstr "Poista kaikki _reitit"
-#: ../src/viktrwlayer.c:3531
+#: ../src/viktrwlayer.c:3927
msgid "Delete Tracks _From Selection..."
msgstr "_Poista reitit valinnasta..."
-#: ../src/viktrwlayer.c:3537 ../src/viktrwlayer.c:6290
+#: ../src/viktrwlayer.c:3933 ../src/viktrwlayer.c:7485
msgid "Delete _All Routes"
msgstr ""
-#: ../src/viktrwlayer.c:3543 ../src/viktrwlayer.c:6296
+#: ../src/viktrwlayer.c:3939 ../src/viktrwlayer.c:7491
msgid "_Delete Routes From Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:3549
+#: ../src/viktrwlayer.c:3945
msgid "Delete All _Waypoints"
msgstr "Poista _kaikki välietapit"
-#: ../src/viktrwlayer.c:3555
+#: ../src/viktrwlayer.c:3951
msgid "Delete Waypoints From _Selection..."
msgstr "Poista _välietapit valinnasta..."
-#: ../src/viktrwlayer.c:4128
+#: ../src/viktrwlayer.c:4574
#, c-format
msgid "Are you sure you want to delete all tracks in %s?"
msgstr "Oletko varma, että haluat poistaa kaikki reitit kohteessa %s?"
-#: ../src/viktrwlayer.c:4138
+#: ../src/viktrwlayer.c:4584
#, c-format
msgid "Are you sure you want to delete all routes in %s?"
msgstr ""
-#: ../src/viktrwlayer.c:4148
+#: ../src/viktrwlayer.c:4594
#, c-format
msgid "Are you sure you want to delete all waypoints in %s?"
msgstr "Oletko varma, että haluat poistaa kaikki välietapit kohteessa %s?"
-#: ../src/viktrwlayer.c:4165
+#: ../src/viktrwlayer.c:4611
#, c-format
-msgid "Are you sure you want to delete the waypoint \"%s\""
-msgstr "Oletko varma, että haluat poistaa välietapin ”%s”?"
+msgid "Are you sure you want to delete the waypoint \"%s\"?"
+msgstr ""
-#: ../src/viktrwlayer.c:4178
+#: ../src/viktrwlayer.c:4624
#, c-format
-msgid "Are you sure you want to delete the track \"%s\""
-msgstr "Oletko varma, että haluat poistaa reitin ”%s”"
+msgid "Are you sure you want to delete the track \"%s\"?"
+msgstr ""
-#: ../src/viktrwlayer.c:4191
+#: ../src/viktrwlayer.c:4637
#, c-format
-msgid "Are you sure you want to delete the route \"%s\""
+msgid "Are you sure you want to delete the route \"%s\"?"
msgstr ""
-#: ../src/viktrwlayer.c:4351 ../src/viktrwlayer.c:4922
+#: ../src/viktrwlayer.c:4849 ../src/viktrwlayer.c:5677
msgid ""
"Converting a track to a route removes extra track data such as segments, "
"timestamps, etc...\n"
"Do you want to continue?"
msgstr ""
-#: ../src/viktrwlayer.c:4711
+#: ../src/viktrwlayer.c:4944
+msgid "No DEM layers available, thus no DEM values can be applied."
+msgstr ""
+
+#: ../src/viktrwlayer.c:4964 ../src/viktrwlayer.c:5005
+#, c-format
+msgid "%ld point adjusted"
+msgid_plural "%ld points adjusted"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/viktrwlayer.c:5049
+#, c-format
+msgid "%ld waypoint changed"
+msgid_plural "%ld waypoints changed"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/viktrwlayer.c:5233
+#, c-format
+msgid ""
+"Refining a track with many points (%d) is unlikely to yield sensible "
+"results. Do you want to Continue?"
+msgstr ""
+
+#. Select engine from dialog
+#: ../src/viktrwlayer.c:5241
+msgid "Refine Route with Routing Engine..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:5249
+msgid "Select routing engine"
+msgstr ""
+
+#: ../src/viktrwlayer.c:5467
msgid "Failed. No other tracks with timestamps in this layer found"
msgstr "Epäonnistui. Tästä kerroksesta ei löytynyt reittejä aikaleimoilla"
-#: ../src/viktrwlayer.c:4713
+#: ../src/viktrwlayer.c:5469
msgid "Failed. No other tracks without timestamps in this layer found"
msgstr ""
"Epäonnistui. Tästä kerroksesta ei löytynyt muita reittejä ilman aikaleimoja"
-#: ../src/viktrwlayer.c:4732
+#: ../src/viktrwlayer.c:5488
msgid "Merge with..."
msgstr "Yhdistetty kohteeseen..."
-#: ../src/viktrwlayer.c:4733
+#: ../src/viktrwlayer.c:5489
msgid "Select route to merge with"
msgstr ""
-#: ../src/viktrwlayer.c:4733
+#: ../src/viktrwlayer.c:5489
msgid "Select track to merge with"
msgstr "Valitse reitti, joka yhdistetään"
-#: ../src/viktrwlayer.c:4818 ../src/viktrwlayer.c:4895
+#: ../src/viktrwlayer.c:5573 ../src/viktrwlayer.c:5650
msgid "Append Route"
msgstr ""
-#: ../src/viktrwlayer.c:4818 ../src/viktrwlayer.c:4895
+#: ../src/viktrwlayer.c:5573 ../src/viktrwlayer.c:5650
msgid "Append Track"
msgstr ""
-#: ../src/viktrwlayer.c:4819
+#: ../src/viktrwlayer.c:5574
msgid "Select the route to append after the current route"
msgstr ""
-#: ../src/viktrwlayer.c:4820
+#: ../src/viktrwlayer.c:5575
msgid "Select the track to append after the current track"
msgstr ""
-#: ../src/viktrwlayer.c:4896
+#: ../src/viktrwlayer.c:5651
msgid "Select the track to append after the current route"
msgstr ""
-#: ../src/viktrwlayer.c:4897
+#: ../src/viktrwlayer.c:5652
msgid "Select the route to append after the current track"
msgstr ""
-#: ../src/viktrwlayer.c:4957
+#: ../src/viktrwlayer.c:5711
#, c-format
msgid "%d segment merged"
msgid_plural "%d segments merged"
msgstr[0] ""
msgstr[1] ""
-#: ../src/viktrwlayer.c:4973
+#: ../src/viktrwlayer.c:5727
msgid "Failed. This track does not have timestamp"
msgstr "Epäonnistui. Tällä reitillä ei ole aikaleimaa"
-#: ../src/viktrwlayer.c:4985
+#: ../src/viktrwlayer.c:5739
msgid "Failed. No other track in this layer has timestamp"
msgstr ""
"Epäonnistui. Millään muulla reitillä tässä kerroksessa ei ole aikaleimaa"
-#: ../src/viktrwlayer.c:4992
+#: ../src/viktrwlayer.c:5746
msgid "Merge Threshold..."
msgstr "Yhdistämiskynnys..."
-#: ../src/viktrwlayer.c:4993
+#: ../src/viktrwlayer.c:5747
msgid "Merge when time between tracks less than:"
msgstr "Yhdistä, kun aika reittien välillä on pienempi kuin:"
-#: ../src/viktrwlayer.c:5128
+#: ../src/viktrwlayer.c:5889
msgid "Split Threshold..."
msgstr "Halkaise kynnys..."
-#: ../src/viktrwlayer.c:5129
+#: ../src/viktrwlayer.c:5890
msgid "Split when time between trackpoints exceeds:"
msgstr "Jaa kahtia kun reittipisteiden välinen aika ylittää:"
-#: ../src/viktrwlayer.c:5205
+#: ../src/viktrwlayer.c:5907
+#, c-format
+msgid ""
+"Can not split track due to trackpoints not ordered in time - such as at %s.\n"
+"\n"
+"Goto this trackpoint?"
+msgstr ""
+
+#: ../src/viktrwlayer.c:5976
msgid "Split Every Nth Point"
msgstr "Jaa osiin joka N. piste"
-#: ../src/viktrwlayer.c:5206
+#: ../src/viktrwlayer.c:5977
msgid "Split on every Nth point:"
msgstr "Jaa osiin joka N. pisteellä:"
-#: ../src/viktrwlayer.c:5312
+#: ../src/viktrwlayer.c:6087
msgid "Can not split track as it has no segments"
msgstr ""
-#: ../src/viktrwlayer.c:5340 ../src/viktrwlayer.c:5370
+#: ../src/viktrwlayer.c:6169 ../src/viktrwlayer.c:6199
#, c-format
msgid "Deleted %ld point"
msgid_plural "Deleted %ld points"
msgstr[0] ""
msgstr[1] ""
-#: ../src/viktrwlayer.c:5531
+#: ../src/viktrwlayer.c:6392
msgid "Internal Error in vik_trw_layer_uniquify_tracks"
msgstr ""
-#: ../src/viktrwlayer.c:5588 ../src/viktrwlayer.c:5635
-#: ../src/viktrwlayer.c:5814
+#: ../src/viktrwlayer.c:6496 ../src/viktrwlayer.c:6543
+#: ../src/viktrwlayer.c:6704
msgid ""
"Multiple entries with the same name exist. This method only works with "
"unique names. Force unique names now?"
msgstr ""
-#: ../src/viktrwlayer.c:5599
+#: ../src/viktrwlayer.c:6507
msgid "No tracks found"
msgstr "Reittejä ei löytynyt"
-#: ../src/viktrwlayer.c:5607 ../src/viktrwlayer.c:5654
-#: ../src/viktrwlayer.c:5834
+#: ../src/viktrwlayer.c:6515 ../src/viktrwlayer.c:6562
+#: ../src/viktrwlayer.c:6724
msgid "Delete Selection"
msgstr "Poista valinta"
-#: ../src/viktrwlayer.c:5608
+#: ../src/viktrwlayer.c:6516
msgid "Select tracks to delete"
msgstr "Valitse poistettavat reitit"
-#: ../src/viktrwlayer.c:5646
+#: ../src/viktrwlayer.c:6554
msgid "No routes found"
msgstr ""
-#: ../src/viktrwlayer.c:5655
+#: ../src/viktrwlayer.c:6563
msgid "Select routes to delete"
msgstr ""
-#: ../src/viktrwlayer.c:5761
+#: ../src/viktrwlayer.c:6669
msgid "Internal Error in vik_trw_layer_uniquify_waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:5824
+#: ../src/viktrwlayer.c:6714
msgid "No waypoints found"
msgstr "Välietappeja ei löytynyt"
-#: ../src/viktrwlayer.c:5835
+#: ../src/viktrwlayer.c:6725
msgid "Select waypoints to delete"
msgstr "Valitse poistettavat välietapit"
-#: ../src/viktrwlayer.c:5896
+#: ../src/viktrwlayer.c:7033
#, c-format
msgid ""
"A waypoint with the name \"%s\" already exists. Really rename to the same "
"name?"
msgstr ""
-#: ../src/viktrwlayer.c:5926
+#: ../src/viktrwlayer.c:7063
#, c-format
msgid ""
"A track with the name \"%s\" already exists. Really rename to the same name?"
msgstr ""
-#: ../src/viktrwlayer.c:5963
+#: ../src/viktrwlayer.c:7100
#, c-format
msgid ""
"A route with the name \"%s\" already exists. Really rename to the same name?"
msgstr ""
-#: ../src/viktrwlayer.c:6085 ../src/viktrwlayer.c:6337
+#: ../src/viktrwlayer.c:7221 ../src/viktrwlayer.c:7594
msgid "_Goto"
msgstr "_Siirry"
-#: ../src/viktrwlayer.c:6104
+#: ../src/viktrwlayer.c:7240
msgid "_Visit Geocache Webpage"
msgstr "_Vieraile Geocache-webbisivulla"
-#: ../src/viktrwlayer.c:6123
+#: ../src/viktrwlayer.c:7259
msgid "_Show Picture..."
msgstr "Näytä k_uva"
-#: ../src/viktrwlayer.c:6131
+#: ../src/viktrwlayer.c:7267
msgid "Update Geotag on _Image"
msgstr "Päivitä Geotag-tunnistetta _kuvassa"
-#: ../src/viktrwlayer.c:6137
+#: ../src/viktrwlayer.c:7273
msgid "_Update"
msgstr "_Päivitä"
-#: ../src/viktrwlayer.c:6142
+#: ../src/viktrwlayer.c:7278
msgid "Update and _Keep File Timestamp"
msgstr "Päivitä ja pidä tiedostoaikaleima"
-#: ../src/viktrwlayer.c:6153
+#: ../src/viktrwlayer.c:7289
msgid "Visit _Webpage"
msgstr ""
-#: ../src/viktrwlayer.c:6184
+#: ../src/viktrwlayer.c:7320
msgid "_New Waypoint..."
msgstr "_Uusi välietappi..."
-#: ../src/viktrwlayer.c:6193
+#: ../src/viktrwlayer.c:7329
msgid "_View All Waypoints"
msgstr "Ka_tso kaikkia välietappeja"
-#: ../src/viktrwlayer.c:6205
+#: ../src/viktrwlayer.c:7341
msgid "Delete _All Waypoints"
msgstr "Poist_a kaikki välietapit"
-#: ../src/viktrwlayer.c:6211
+#: ../src/viktrwlayer.c:7347
msgid "_Delete Waypoints From Selection..."
msgstr "_Poista välietapit valinnasta..."
-#: ../src/viktrwlayer.c:6233
+#: ../src/viktrwlayer.c:7359
+msgid "_Show All Waypoints"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7365
+msgid "_Hide All Waypoints"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7393
msgid "_View All Tracks"
msgstr "Katso kaikk_ia reittejä"
-#: ../src/viktrwlayer.c:6239
+#: ../src/viktrwlayer.c:7399
msgid "_New Track"
msgstr ""
-#: ../src/viktrwlayer.c:6247
+#: ../src/viktrwlayer.c:7407
msgid "Delete _All Tracks"
msgstr "Poi_sta kaikki reitit"
-#: ../src/viktrwlayer.c:6253
+#: ../src/viktrwlayer.c:7413
msgid "_Delete Tracks From Selection..."
msgstr "_Poista reitit valinnasta..."
-#: ../src/viktrwlayer.c:6276
+#: ../src/viktrwlayer.c:7425
+msgid "_Show All Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7431
+msgid "_Hide All Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7442
+msgid "_List Tracks..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7471
msgid "_View All Routes"
msgstr ""
-#: ../src/viktrwlayer.c:6282
+#: ../src/viktrwlayer.c:7477
msgid "_New Route"
msgstr ""
-#: ../src/viktrwlayer.c:6327
+#: ../src/viktrwlayer.c:7503
+msgid "_Show All Routes"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7509
+msgid "_Hide All Routes"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7520
+msgid "_List Routes..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7579
msgid "_View Track"
msgstr "Näkymä_reitti"
-#: ../src/viktrwlayer.c:6329
+#: ../src/viktrwlayer.c:7581
msgid "_View Route"
msgstr ""
-#: ../src/viktrwlayer.c:6343
+#: ../src/viktrwlayer.c:7600
msgid "_Startpoint"
msgstr "_Alkupiste"
-#: ../src/viktrwlayer.c:6349
+#: ../src/viktrwlayer.c:7606
msgid "\"_Center\""
msgstr "”_Keskipiste”"
-#: ../src/viktrwlayer.c:6355
+#: ../src/viktrwlayer.c:7612
msgid "_Endpoint"
msgstr "L_oppupiste"
-#: ../src/viktrwlayer.c:6361
+#: ../src/viktrwlayer.c:7618
msgid "_Highest Altitude"
msgstr "Korkein ko_hta"
-#: ../src/viktrwlayer.c:6367
+#: ../src/viktrwlayer.c:7624
msgid "_Lowest Altitude"
msgstr "Ali_n kohta"
-#: ../src/viktrwlayer.c:6375
+#: ../src/viktrwlayer.c:7632
msgid "_Maximum Speed"
msgstr "_Enimmäisnopeus"
-#: ../src/viktrwlayer.c:6384
+#: ../src/viktrwlayer.c:7641
msgid "Co_mbine"
msgstr ""
-#: ../src/viktrwlayer.c:6392
+#: ../src/viktrwlayer.c:7649
msgid "_Merge By Time..."
msgstr "Y_hdistä ajan perusteella..."
-#: ../src/viktrwlayer.c:6397
+#: ../src/viktrwlayer.c:7654
msgid "Merge _Segments"
msgstr ""
-#: ../src/viktrwlayer.c:6403
+#: ../src/viktrwlayer.c:7660
msgid "Merge _With Other Tracks..."
msgstr "Yhdistä _muiden reittien kanssa..."
-#: ../src/viktrwlayer.c:6409
+#: ../src/viktrwlayer.c:7666
msgid "_Append Track..."
msgstr ""
-#: ../src/viktrwlayer.c:6411
+#: ../src/viktrwlayer.c:7668
msgid "_Append Route..."
msgstr ""
-#: ../src/viktrwlayer.c:6417
+#: ../src/viktrwlayer.c:7674
msgid "Append _Route..."
msgstr ""
-#: ../src/viktrwlayer.c:6419
+#: ../src/viktrwlayer.c:7676
msgid "Append _Track..."
msgstr ""
-#: ../src/viktrwlayer.c:6426
+#: ../src/viktrwlayer.c:7683
msgid "_Split"
msgstr ""
-#: ../src/viktrwlayer.c:6434
+#: ../src/viktrwlayer.c:7691
msgid "_Split By Time..."
msgstr "_Jaa osiin ajan mukaan..."
#. ATM always enable this entry - don't want to have to analyse the track before displaying the menu - to keep the menu speedy
-#: ../src/viktrwlayer.c:6440
+#: ../src/viktrwlayer.c:7697
msgid "Split Se_gments"
msgstr ""
-#: ../src/viktrwlayer.c:6446
+#: ../src/viktrwlayer.c:7703
msgid "Split By _Number of Points..."
msgstr "J_aa osiin pisteiden määrän mukaan..."
-#: ../src/viktrwlayer.c:6451
+#: ../src/viktrwlayer.c:7708
msgid "Split at _Trackpoint"
msgstr ""
-#: ../src/viktrwlayer.c:6460
+#: ../src/viktrwlayer.c:7716
+msgid "_Insert Points"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7722
+msgid "Insert Point _Before Selected Point"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7729
+msgid "Insert Point _After Selected Point"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7738
msgid "Delete Poi_nts"
msgstr ""
-#: ../src/viktrwlayer.c:6466
+#: ../src/viktrwlayer.c:7744
+msgid "Delete _Selected Point"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7752
msgid "Delete Points With The Same _Position"
msgstr ""
-#: ../src/viktrwlayer.c:6471
+#: ../src/viktrwlayer.c:7757
msgid "Delete Points With The Same _Time"
msgstr ""
-#: ../src/viktrwlayer.c:6477
+#: ../src/viktrwlayer.c:7764 ../src/viktrwlayer.c:7964
+msgid "_Transform"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7772 ../src/viktrwlayer.c:7972
+msgid "_Apply DEM Data"
+msgstr "_Käytä DEM-tietoja"
+
+#: ../src/viktrwlayer.c:7777 ../src/viktrwlayer.c:7977
+msgid "_Overwrite"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7780 ../src/viktrwlayer.c:7980
+msgid "Overwrite any existing elevation values with DEM values"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7783 ../src/viktrwlayer.c:7983
+msgid "_Keep Existing"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7786 ../src/viktrwlayer.c:7986
+msgid "Keep existing elevation values, only attempt for missing values"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7791
+msgid "_Smooth Missing Elevation Data"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7796
+msgid "_Interpolated"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7799
+msgid ""
+"Interpolate between known elevation values to derive values for the missing "
+"elevations"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7802
+msgid "_Flat"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7805
+msgid "Set unknown elevation values to the last known value"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7809
+msgid "C_onvert to a Route"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7811
+msgid "C_onvert to a Track"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7819
+msgid "_Anonymize Times"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7822
+msgid "Shift timestamps to a relative offset from 1901-01-01"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7827
msgid "_Reverse Track"
msgstr "Kään_teinen reitti"
-#: ../src/viktrwlayer.c:6479
+#: ../src/viktrwlayer.c:7829
msgid "_Reverse Route"
msgstr ""
-#: ../src/viktrwlayer.c:6488
+#: ../src/viktrwlayer.c:7836
+msgid "Refine Route..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7846
msgid "Down_load Maps Along Track..."
msgstr "_Lataa kartat reitin varrelta..."
-#: ../src/viktrwlayer.c:6490
+#: ../src/viktrwlayer.c:7848
msgid "Down_load Maps Along Route..."
msgstr ""
-#: ../src/viktrwlayer.c:6497
-msgid "_Apply DEM Data"
-msgstr "_Käytä DEM-tietoja"
-
-#: ../src/viktrwlayer.c:6504
+#: ../src/viktrwlayer.c:7856
msgid "_Export Track as GPX..."
msgstr ""
-#: ../src/viktrwlayer.c:6506
+#: ../src/viktrwlayer.c:7858
msgid "_Export Route as GPX..."
msgstr ""
-#: ../src/viktrwlayer.c:6513
+#: ../src/viktrwlayer.c:7865
msgid "E_xtend Track End"
msgstr "Laaj_enna reitin loppu"
-#: ../src/viktrwlayer.c:6515
+#: ../src/viktrwlayer.c:7867
msgid "E_xtend Route End"
msgstr ""
-#: ../src/viktrwlayer.c:6522
-msgid "C_onvert to a Route"
-msgstr ""
-
-#: ../src/viktrwlayer.c:6524
-msgid "C_onvert to a Track"
-msgstr ""
-
-#: ../src/viktrwlayer.c:6532
+#: ../src/viktrwlayer.c:7874
msgid "Extend _Using Route Finder"
msgstr "Laaj_enna käyttäen reittietsijää"
-#: ../src/viktrwlayer.c:6548
+#: ../src/viktrwlayer.c:7889
msgid "_Upload to GPS..."
msgstr ""
-#: ../src/viktrwlayer.c:6559
+#: ../src/viktrwlayer.c:7900
msgid "_View Google Directions"
msgstr "_Katso Google-ajo-ohjeita"
-#: ../src/viktrwlayer.c:6579
+#: ../src/viktrwlayer.c:7920
msgid "Use with _Filter"
msgstr "Käytä suo_dattimen kera"
-#: ../src/viktrwlayer.c:6612
+#: ../src/viktrwlayer.c:7953
msgid "_Edit Trackpoint"
msgstr "M_uokkaa reittipistettä"
-#: ../src/viktrwlayer.c:7524
+#: ../src/viktrwlayer.c:9017
#, c-format
msgid " - Gain %dm:Loss %dm"
msgstr " - Hyöty %d m:Tappio %d m"
-#: ../src/viktrwlayer.c:7526
+#: ../src/viktrwlayer.c:9019
#, c-format
msgid " - Gain %dft:Loss %dft"
msgstr " - Hyöty %d jalkaa:Tappio %d jalkaa"
-#: ../src/viktrwlayer.c:7531
+#: ../src/viktrwlayer.c:9024
#, c-format
msgid " - Bearing %3.1f° - Step %s"
msgstr ""
-#: ../src/viktrwlayer.c:8124
+#: ../src/viktrwlayer.c:9628
#, c-format
msgid "Could not launch %s to open file."
msgstr "Kohteen %s käynnistäminen tiedoston avaamiseksi epäonnistui."
-#: ../src/viktrwlayer.c:8205
+#: ../src/viktrwlayer.c:9709
#, c-format
msgid "Creating %d Image Thumbnails..."
msgstr "Luodaan %d pienoiskuvaa..."
-#: ../src/viktrwlayer.c:8524
+#: ../src/viktrwlayer.c:10106
msgid "No map layer in use. Create one first"
msgstr "Yhtään karttakerrosta ei ole käytössä. Luo ensin yksi"
-#: ../src/viktrwlayer_propwin.c:898 ../src/viktrwlayer_propwin.c:1155
+#: ../src/viktrwlayer.c:10225
+#, c-format
+msgid "%s: Track List"
+msgstr ""
+
+#: ../src/viktrwlayer.c:10227
+#, c-format
+msgid "%s: Route List"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:828 ../src/viktrwlayer_propwin.c:1085
#, c-format
msgid "%.1f kph"
msgstr "%.1f km/h"
-#: ../src/viktrwlayer_propwin.c:901 ../src/viktrwlayer_propwin.c:1158
+#: ../src/viktrwlayer_propwin.c:831 ../src/viktrwlayer_propwin.c:1088
+#: ../src/viktrwlayer_analysis.c:290
#, c-format
msgid "%.1f mph"
msgstr "%.1f mph"
-#: ../src/viktrwlayer_propwin.c:904 ../src/viktrwlayer_propwin.c:1161
+#: ../src/viktrwlayer_propwin.c:834 ../src/viktrwlayer_propwin.c:1091
#, c-format
msgid "%.1f knots"
msgstr "%.1f solmua"
#. VIK_UNITS_SPEED_METRES_PER_SECOND:
-#: ../src/viktrwlayer_propwin.c:908 ../src/viktrwlayer_propwin.c:1165
+#: ../src/viktrwlayer_propwin.c:838 ../src/viktrwlayer_propwin.c:1095
#, c-format
msgid "%.1f m/s"
msgstr "%.1f m/s"
-#: ../src/viktrwlayer_propwin.c:1745
+#: ../src/viktrwlayer_propwin.c:1662 ../src/viktrwlayer_analysis.c:267
#, c-format
msgid "%.1f miles"
msgstr "%.1f mailia"
-#: ../src/viktrwlayer_propwin.c:1747
+#. VIK_UNITS_DISTANCE_KILOMETRES
+#: ../src/viktrwlayer_propwin.c:1664 ../src/viktrwlayer_analysis.c:271
#, c-format
msgid "%.1f km"
msgstr "%.1f km"
-#: ../src/viktrwlayer_propwin.c:2681
+#: ../src/viktrwlayer_propwin.c:2582
msgid "Failed spliting track. Track unchanged"
msgstr "Reitin jakaminen osiin epäonnistui. Reitti on muuttumaton"
-#: ../src/viktrwlayer_propwin.c:2779 ../src/viktrwlayer_propwin.c:3178
+#: ../src/viktrwlayer_propwin.c:2724 ../src/viktrwlayer_propwin.c:3140
#, c-format
msgid "%s - Track Properties"
msgstr "%s - Reittiominaisuudet"
-#: ../src/viktrwlayer_propwin.c:2784
+#: ../src/viktrwlayer_propwin.c:2729
msgid "Split at _Marker"
msgstr "Jaa osiin _merkitsijän kohdalta"
-#: ../src/viktrwlayer_propwin.c:2785
+#: ../src/viktrwlayer_propwin.c:2730
msgid "Split _Segments"
msgstr "Jaa osiin se_gmentit"
-#: ../src/viktrwlayer_propwin.c:2786
+#: ../src/viktrwlayer_propwin.c:2731
msgid "_Reverse"
msgstr "Kää_nteinen"
-#: ../src/viktrwlayer_propwin.c:2787
+#: ../src/viktrwlayer_propwin.c:2732
msgid "_Delete Dupl."
msgstr "Po_ista kaksoiskappale"
-#: ../src/viktrwlayer_propwin.c:2813
+#: ../src/viktrwlayer_propwin.c:2757
msgid "<b>Comment:</b>"
msgstr "<b>Kommentti:</b>"
-#: ../src/viktrwlayer_propwin.c:2814
+#: ../src/viktrwlayer_propwin.c:2758
msgid "<b>Description:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2815
+#: ../src/viktrwlayer_propwin.c:2759
+msgid "<b>Color:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2760
+msgid "<b>Draw Name:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2761
+msgid "<b>Distance Labels:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2764
msgid "<b>Track Length:</b>"
msgstr "<b>Reittipituus:</b>"
-#: ../src/viktrwlayer_propwin.c:2816
+#: ../src/viktrwlayer_propwin.c:2765
msgid "<b>Trackpoints:</b>"
msgstr "<b>Reittipisteet:</b>"
-#: ../src/viktrwlayer_propwin.c:2817
+#: ../src/viktrwlayer_propwin.c:2766
msgid "<b>Segments:</b>"
msgstr "<b>Segmentit:</b>"
-#: ../src/viktrwlayer_propwin.c:2818
+#: ../src/viktrwlayer_propwin.c:2767
msgid "<b>Duplicate Points:</b>"
msgstr "<b>Pisteiden kaksoiskappaleet:</b>"
-#: ../src/viktrwlayer_propwin.c:2819
+#: ../src/viktrwlayer_propwin.c:2768
msgid "<b>Max Speed:</b>"
msgstr "<b>Enimmäisnopeus:</b>"
-#: ../src/viktrwlayer_propwin.c:2820
+#: ../src/viktrwlayer_propwin.c:2769
msgid "<b>Avg. Speed:</b>"
msgstr "<b>Keskinopeus:</b>"
-#: ../src/viktrwlayer_propwin.c:2821
+#: ../src/viktrwlayer_propwin.c:2770
msgid "<b>Moving Avg. Speed:</b>"
msgstr "<b>Siirrytään keskinopeudella:</b>"
-#: ../src/viktrwlayer_propwin.c:2822
+#: ../src/viktrwlayer_propwin.c:2771
msgid "<b>Avg. Dist. Between TPs:</b>"
msgstr "<b>Keskimääräinen etäisyys reittipisteiden välillä</b>"
-#: ../src/viktrwlayer_propwin.c:2823
+#: ../src/viktrwlayer_propwin.c:2772
msgid "<b>Elevation Range:</b>"
msgstr "<b>Korkeusasema-alue:</b>"
-#: ../src/viktrwlayer_propwin.c:2824
+#: ../src/viktrwlayer_propwin.c:2773
msgid "<b>Total Elevation Gain/Loss:</b>"
msgstr "<b>Kokonaiskorkeusaseman hyöty/tappio:</b>"
-#: ../src/viktrwlayer_propwin.c:2825
+#: ../src/viktrwlayer_propwin.c:2774
msgid "<b>Start:</b>"
msgstr "<b>Alku:</b>"
-#: ../src/viktrwlayer_propwin.c:2826
+#: ../src/viktrwlayer_propwin.c:2775
msgid "<b>End:</b>"
msgstr "<b>Loppu:</b>"
-#: ../src/viktrwlayer_propwin.c:2827
+#: ../src/viktrwlayer_propwin.c:2776
msgid "<b>Duration:</b>"
msgstr "<b>Kesto:</b>"
-#: ../src/viktrwlayer_propwin.c:2828
-msgid "<b>Color:</b>"
+#: ../src/viktrwlayer_propwin.c:2797
+msgid "No"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2798
+msgid "Centre"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2799
+msgid "Start only"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2800
+msgid "End only"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2801
+msgid "Start and End"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2802
+msgid "Centre, Start and End"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2814
+msgid "Maximum number of distance labels to be shown"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2877 ../src/viktrwlayer_propwin.c:2901
-#: ../src/viktrwlayer_propwin.c:2929 ../src/viktrwlayer_propwin.c:2966
-#: ../src/viktrwlayer_propwin.c:2984 ../src/viktrwlayer_propwin.c:3034
-#: ../src/viktrwlayer_propwin.c:3035 ../src/viktrwlayer_propwin.c:3036
-#: ../src/viktrwlayer_propwin.c:3062 ../src/viktrwlayer_propwin.c:3063
+#: ../src/viktrwlayer_propwin.c:2818
+msgid "Properties"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2856 ../src/viktrwlayer_propwin.c:2880
+#: ../src/viktrwlayer_propwin.c:2908 ../src/viktrwlayer_propwin.c:2945
+#: ../src/viktrwlayer_propwin.c:2963 ../src/viktrwlayer_propwin.c:3009
+#: ../src/viktrwlayer_propwin.c:3010 ../src/viktrwlayer_propwin.c:3011
+#: ../src/viktrwlayer_propwin.c:3020 ../src/viktrwlayer_propwin.c:3021
+#: ../src/viktrwlayer_propwin.c:3036 ../src/viktrwlayer_propwin.c:3037
+#: ../src/viktrwlayer_propwin.c:3050 ../src/viktrwlayer_propwin.c:3051
+#: ../src/viktrwlayer_propwin.c:3064 ../src/viktrwlayer_propwin.c:3065
#: ../src/viktrwlayer_propwin.c:3078 ../src/viktrwlayer_propwin.c:3079
#: ../src/viktrwlayer_propwin.c:3092 ../src/viktrwlayer_propwin.c:3093
-#: ../src/viktrwlayer_propwin.c:3106 ../src/viktrwlayer_propwin.c:3107
-#: ../src/viktrwlayer_propwin.c:3120 ../src/viktrwlayer_propwin.c:3121
-#: ../src/viktrwlayer_propwin.c:3134 ../src/viktrwlayer_propwin.c:3135
+#: ../src/viktrwlayer_analysis.c:257
#, c-format
msgid "No Data"
msgstr "Ei tietoja"
-#: ../src/viktrwlayer_propwin.c:3031
+#: ../src/viktrwlayer_propwin.c:3006
#, c-format
msgid "%d minutes"
msgstr "%d minuuttia"
-#: ../src/viktrwlayer_propwin.c:3058
+#: ../src/viktrwlayer_propwin.c:3016 ../src/viktrwlayer_analysis.c:515
msgid "Statistics"
msgstr "Tilastot"
-#: ../src/viktrwlayer_propwin.c:3064
+#: ../src/viktrwlayer_propwin.c:3022
msgid "Show D_EM"
msgstr "Näytä D_EM"
-#: ../src/viktrwlayer_propwin.c:3065 ../src/viktrwlayer_propwin.c:3080
-#: ../src/viktrwlayer_propwin.c:3094 ../src/viktrwlayer_propwin.c:3136
+#: ../src/viktrwlayer_propwin.c:3023 ../src/viktrwlayer_propwin.c:3038
+#: ../src/viktrwlayer_propwin.c:3052 ../src/viktrwlayer_propwin.c:3094
msgid "Show _GPS Speed"
msgstr "Näytä _GPS-nopeus"
-#: ../src/viktrwlayer_propwin.c:3067 ../src/viktrwlayer_propwin.c:3082
-#: ../src/viktrwlayer_propwin.c:3110 ../src/viktrwlayer_propwin.c:3138
+#: ../src/viktrwlayer_propwin.c:3025 ../src/viktrwlayer_propwin.c:3040
+#: ../src/viktrwlayer_propwin.c:3068 ../src/viktrwlayer_propwin.c:3096
msgid "<b>Track Distance:</b>"
msgstr "<b>Reittietäisyys:</b>"
-#: ../src/viktrwlayer_propwin.c:3068 ../src/viktrwlayer_propwin.c:3125
+#: ../src/viktrwlayer_propwin.c:3026 ../src/viktrwlayer_propwin.c:3083
msgid "<b>Track Height:</b>"
msgstr "<b>Reittikorkeus:</b>"
-#: ../src/viktrwlayer_propwin.c:3073
+#: ../src/viktrwlayer_propwin.c:3031
msgid "Elevation-distance"
msgstr "Korkeusasema-etäisyys"
-#: ../src/viktrwlayer_propwin.c:3083
+#: ../src/viktrwlayer_propwin.c:3041
msgid "<b>Track Gradient:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3087
+#: ../src/viktrwlayer_propwin.c:3045
msgid "Gradient-distance"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3096 ../src/viktrwlayer_propwin.c:3111
-#: ../src/viktrwlayer_propwin.c:3124
+#: ../src/viktrwlayer_propwin.c:3054 ../src/viktrwlayer_propwin.c:3069
+#: ../src/viktrwlayer_propwin.c:3082
msgid "<b>Track Time:</b>"
msgstr "<b>Reittiaika:</b>"
-#: ../src/viktrwlayer_propwin.c:3097 ../src/viktrwlayer_propwin.c:3139
+#: ../src/viktrwlayer_propwin.c:3055 ../src/viktrwlayer_propwin.c:3097
msgid "<b>Track Speed:</b>"
msgstr "<b>Reittinopeus:</b>"
-#: ../src/viktrwlayer_propwin.c:3101
+#: ../src/viktrwlayer_propwin.c:3059
msgid "Speed-time"
msgstr "Nopeusaika"
-#: ../src/viktrwlayer_propwin.c:3108 ../src/viktrwlayer_propwin.c:3122
+#: ../src/viktrwlayer_propwin.c:3066 ../src/viktrwlayer_propwin.c:3080
msgid "Show S_peed"
msgstr "Näytä no_peus"
-#: ../src/viktrwlayer_propwin.c:3115
+#: ../src/viktrwlayer_propwin.c:3073
msgid "Distance-time"
msgstr "Etäisyysaika"
-#: ../src/viktrwlayer_propwin.c:3129
+#: ../src/viktrwlayer_propwin.c:3087
msgid "Elevation-time"
msgstr "Korkeusasema-aika"
-#: ../src/viktrwlayer_propwin.c:3143
+#: ../src/viktrwlayer_propwin.c:3101
msgid "Speed-distance"
msgstr "Nopeusetäisyys"
-#: ../src/viktrwlayer_tpwin.c:118
+#: ../src/viktrwlayer_tpwin.c:119
msgid "<b>Part of Track:</b>"
msgstr "<b>Reitin osa:</b>"
-#: ../src/viktrwlayer_tpwin.c:119
+#: ../src/viktrwlayer_tpwin.c:120
msgid "<b>Latitude:</b>"
msgstr "<b>Leveysaste:</b>"
-#: ../src/viktrwlayer_tpwin.c:120
+#: ../src/viktrwlayer_tpwin.c:121
msgid "<b>Longitude:</b>"
msgstr "<b>Pituusaste:</b>"
-#: ../src/viktrwlayer_tpwin.c:121
+#: ../src/viktrwlayer_tpwin.c:122
msgid "<b>Altitude:</b>"
msgstr "<b>Korkeus:</b>"
-#: ../src/viktrwlayer_tpwin.c:122
+#: ../src/viktrwlayer_tpwin.c:123
+msgid "<b>Course:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_tpwin.c:124
msgid "<b>Timestamp:</b>"
msgstr "<b>Aikaleima:</b>"
-#: ../src/viktrwlayer_tpwin.c:123
+#: ../src/viktrwlayer_tpwin.c:125
msgid "<b>Time:</b>"
msgstr "<b>Aika:</b>"
-#: ../src/viktrwlayer_tpwin.c:124
+#: ../src/viktrwlayer_tpwin.c:126
msgid "<b>Distance Difference:</b>"
msgstr "<b>Etäisyysero:</b>"
-#: ../src/viktrwlayer_tpwin.c:125
+#: ../src/viktrwlayer_tpwin.c:127
msgid "<b>Time Difference:</b>"
msgstr "<b>Aikaero:</b>"
-#: ../src/viktrwlayer_tpwin.c:126
+#: ../src/viktrwlayer_tpwin.c:128
msgid "<b>\"Speed\" Between:</b>"
msgstr "<b>”Nopeus” välillä:</b>"
-#: ../src/viktrwlayer_tpwin.c:127
+#: ../src/viktrwlayer_tpwin.c:129
+msgid "<b>Speed:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_tpwin.c:130
msgid "<b>VDOP:</b>"
msgstr "<b>VDOP:</b>"
-#: ../src/viktrwlayer_tpwin.c:128
+#: ../src/viktrwlayer_tpwin.c:131
msgid "<b>HDOP:</b>"
msgstr "<b>HDOP:</b>"
-#: ../src/viktrwlayer_tpwin.c:129
+#: ../src/viktrwlayer_tpwin.c:132
msgid "<b>PDOP:</b>"
msgstr "<b>PDOP:</b>"
-#: ../src/viktrwlayer_tpwin.c:130
+#: ../src/viktrwlayer_tpwin.c:133
msgid "<b>SAT/FIX:</b>"
msgstr "<b>SAT/FIX:</b>"
-#: ../src/viktrwlayer_tpwin.c:139
+#: ../src/viktrwlayer_tpwin.c:141
msgid "Trackpoint"
msgstr "Reittipiste"
-#: ../src/viktrwlayer_tpwin.c:142
+#: ../src/viktrwlayer_tpwin.c:144
msgid "_Insert After"
msgstr "L_isää jälkeen"
-#: ../src/viktrwlayer_tpwin.c:144
+#: ../src/viktrwlayer_tpwin.c:146
msgid "Split Here"
msgstr "Jaa osiin tässä"
-#: ../src/viktrwlayer_geotag.c:446
+#.
+#. item = gtk_image_menu_item_new_with_mnemonic ( _("_Select") );
+#. gtk_image_menu_item_set_image ( (GtkImageMenuItem*)item, gtk_image_new_from_stock (GTK_STOCK_FIND, GTK_ICON_SIZE_MENU) );
+#. g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(trw_layer_track_select), values );
+#. gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
+#. gtk_widget_show ( item );
+#.
+#. ATM view auto selects, so don't bother with separate select menu entry
+#: ../src/viktrwlayer_tracklist.c:231 ../src/vikwindow.c:3695
+msgid "_View"
+msgstr "_Näkymä"
+
+#. Insert column for the layer name when viewing multi layers
+#: ../src/viktrwlayer_tracklist.c:514
+msgid "Layer"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:526
+msgid "Date"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:529
+msgid "Visible"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:536
+msgid ""
+"Distance\n"
+"(miles)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:539
+msgid ""
+"Distance\n"
+"(km)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:545
+msgid ""
+"Length\n"
+"(minutes)"
+msgstr ""
+
+#. VIK_UNITS_SPEED_KILOMETRES_PER_HOUR:
+#: ../src/viktrwlayer_tracklist.c:549 ../src/vikutils.c:72
+msgid "km/h"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:550 ../src/vikutils.c:62
+msgid "mph"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:551 ../src/vikutils.c:68
+msgid "knots"
+msgstr ""
+
+#. VIK_UNITS_SPEED_METRES_PER_SECOND:
+#: ../src/viktrwlayer_tracklist.c:553 ../src/vikutils.c:65
+msgid "m/s"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:556
+#, c-format
+msgid ""
+"Av. Speed\n"
+"(%s)"
+msgstr ""
+
+#. Apply own formatting of the data
+#: ../src/viktrwlayer_tracklist.c:561
+#, c-format
+msgid ""
+"Max Speed\n"
+"(%s)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:569
+msgid ""
+"Max Height\n"
+"(Feet)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:571
+msgid ""
+"Max Height\n"
+"(Metres)"
+msgstr ""
+
+#: ../src/viktrwlayer_geotag.c:481
#, c-format
msgid "Geotagging %d Images..."
msgstr "Merkitään Geotageilla %d kuvaa..."
-#: ../src/viktrwlayer_geotag.c:510
+#: ../src/viktrwlayer_geotag.c:545
msgid "Geotag Images"
msgstr "Geotag-kuvat"
-#: ../src/viktrwlayer_geotag.c:516
+#: ../src/viktrwlayer_geotag.c:551
msgid "Images"
msgstr "Kuvat"
-#: ../src/viktrwlayer_geotag.c:520
+#: ../src/viktrwlayer_geotag.c:555
msgid "Overwrite Existing Waypoints:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:523
+#: ../src/viktrwlayer_geotag.c:558
msgid "Overwrite Existing GPS Information:"
msgstr "Korvaa olemassa olevat GPS-tiedot:"
-#: ../src/viktrwlayer_geotag.c:525
+#: ../src/viktrwlayer_geotag.c:560
msgid "Keep File Modification Timestamp:"
msgstr "Säilytä tiedoston muokkausaikaleima:"
-#: ../src/viktrwlayer_geotag.c:555
+#: ../src/viktrwlayer_geotag.c:592
msgid "Create Waypoints:"
msgstr "Luo välietapit:"
-#: ../src/viktrwlayer_geotag.c:563
+#: ../src/viktrwlayer_geotag.c:600
msgid "Write EXIF:"
msgstr "Kirjoita EXIF:"
-#: ../src/viktrwlayer_geotag.c:575
+#: ../src/viktrwlayer_geotag.c:612
msgid "Interpolate Between Track Segments:"
msgstr "Interpoloidaan reittisegmenttien välillä:"
-#: ../src/viktrwlayer_geotag.c:579
+#: ../src/viktrwlayer_geotag.c:616
msgid "Image Time Offset (Seconds):"
msgstr "Kuva-aikasiirros (sekuntia):"
-#: ../src/viktrwlayer_geotag.c:581
+#: ../src/viktrwlayer_geotag.c:618
msgid ""
"The number of seconds to ADD to the photos time to make it match the GPS "
"data. Calculate this with (GPS - Photo). Can be negative or positive. Useful "
@@ -3145,11 +3774,11 @@ msgstr ""
"tai positiivinen. Se on hyödyllinen säädettäessa aikoja, kun kameran "
"aikaleima on virheellinen."
-#: ../src/viktrwlayer_geotag.c:584
+#: ../src/viktrwlayer_geotag.c:621
msgid "Image Timezone:"
msgstr "Kuvan aikavyöhyke:"
-#: ../src/viktrwlayer_geotag.c:586
+#: ../src/viktrwlayer_geotag.c:623
msgid ""
"The timezone that was used when the images were created. For example, if a "
"camera is set to AWST or +8:00 hours. Enter +8:00 here so that the correct "
@@ -3159,47 +3788,259 @@ msgstr ""
"asetettu AWST tai +8:00 tuntia, Kirjoita +8:00 tänne, jotta kuvien aikaan "
"voidaan tehdä oikea säätö. GPS-tiedot ovat aina UTC-ajassa."
-#: ../src/viktrwlayer_geotag.c:590
+#: ../src/viktrwlayer_geotag.c:627
#, c-format
msgid "Using track: %s"
msgstr "Käytetään reittiä: %s"
-#: ../src/viktrwlayer_geotag.c:592
+#: ../src/viktrwlayer_geotag.c:629
#, c-format
msgid "Using all tracks in: %s"
msgstr "Käytetään kaikki reitit kohteessa: %s"
-#: ../src/vikstatus.c:105
+#: ../src/viktrwlayer_analysis.c:193
+msgid "Number of Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:194
+msgid "Date Range"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:195
+msgid "Total Length"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:196
+msgid "Average Length"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:197
+msgid "Max Speed"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:198
+msgid "Avg. Speed"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:199
+msgid "Minimum Altitude"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:200
+msgid "Maximum Altitude"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:201
+msgid "Total Elevation Gain/Loss"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:202
+msgid "Avg. Elevation Gain/Loss"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:203
+msgid "Total Duration"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:204
+msgid "Avg. Duration"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:278
+#, c-format
+msgid "%.2f miles"
+msgstr ""
+
+#. VIK_UNITS_DISTANCE_KILOMETRES
+#: ../src/viktrwlayer_analysis.c:282
+#, c-format
+msgid "%.2f km"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:297
+#, c-format
+msgid "%.2f m/s"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:306
+#, c-format
+msgid "%.2f knots\n"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:309
+#, c-format
+msgid "%.2f knots"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:316 ../src/viktrwlayer_analysis.c:319
+#, c-format
+msgid "%.2f km/h"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:330 ../src/viktrwlayer_analysis.c:336
+#, c-format
+msgid "%d feet"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:341 ../src/viktrwlayer_analysis.c:343
+#, c-format
+msgid "%d feet / %d feet"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:348 ../src/viktrwlayer_analysis.c:354
+#, c-format
+msgid "%d m"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:359 ../src/viktrwlayer_analysis.c:361
+#, c-format
+msgid "%d m / %d m"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:373
+#, c-format
+msgid "%d:%02d:%02d days:hrs:mins"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:380
+#, c-format
+msgid "%d:%02d hrs:mins"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:550
+msgid "Include Invisible Items"
+msgstr ""
+
+#: ../src/vikstatus.c:107
+msgid "Current number of background tasks. Click to see the background jobs."
+msgstr ""
+
+#: ../src/vikstatus.c:113
msgid "Current zoom level. Click to select a new one."
msgstr ""
-#: ../src/vikwaypoint.c:34
+#: ../src/vikutils.c:80
+msgid "GPSD"
+msgstr ""
+
+#. GPS Preamble
+#: ../src/vikutils.c:81
+msgid "Trkpt"
+msgstr ""
+
+#: ../src/vikutils.c:121
+#, c-format
+msgid "%sSpeed%s %.1f%s"
+msgstr ""
+
+#: ../src/vikutils.c:130
+#, c-format
+msgid "%sAlt %dfeet"
+msgstr ""
+
+#. VIK_UNITS_HEIGHT_METRES:
+#: ../src/vikutils.c:134
+#, c-format
+msgid "%sAlt %dm"
+msgstr ""
+
+#: ../src/vikutils.c:142
+#, c-format
+msgid "%sCourse %03d°"
+msgstr ""
+
+#: ../src/vikutils.c:155
+msgid "yards"
+msgstr ""
+
+#. VIK_UNITS_DISTANCE_KILOMETRES:
+#: ../src/vikutils.c:159
+msgid "m"
+msgstr ""
+
+#: ../src/vikutils.c:163
+#, c-format
+msgid "%sDistance diff %d%s"
+msgstr ""
+
+#: ../src/vikutils.c:179
+#, c-format
+msgid "%sTime %s"
+msgstr ""
+
+#: ../src/vikutils.c:187
+#, c-format
+msgid "%sTime diff %lds"
+msgstr ""
+
+#: ../src/vikutils.c:193
+#, c-format
+msgid "%sNo. of Sats %d"
+msgstr ""
+
+#: ../src/vikutils.c:213
+#, c-format
+msgid "%sDistance along %.2f%s"
+msgstr ""
+
+#. Name of track
+#: ../src/vikutils.c:232
+#, c-format
+msgid "%sTrack: %s"
+msgstr ""
+
+#: ../src/vikwaypoint.c:36
msgid "Waypoint"
msgstr ""
#. TODO get rid of this as this is unnecessary duplication...
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Pan"
msgstr "Vaakavieritä"
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Zoom"
msgstr "Loitonna/lähennä"
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Ruler"
msgstr "Viivotin"
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Select"
msgstr "Valitse"
+#: ../src/vikwindow.c:381
+msgid "Location lookup aborted"
+msgstr ""
+
+#: ../src/vikwindow.c:401
+#, c-format
+msgid "Location found: %s"
+msgstr ""
+
+#: ../src/vikwindow.c:410
+msgid "Unable to determine location"
+msgstr ""
+
+#: ../src/vikwindow.c:434
+msgid "Default Map"
+msgstr ""
+
+#: ../src/vikwindow.c:444
+msgid "Trying to determine location..."
+msgstr ""
+
+#: ../src/vikwindow.c:447
+msgid "Determining location"
+msgstr ""
+
#. Create tooltip
-#: ../src/vikwindow.c:440
+#: ../src/vikwindow.c:605
msgid "Select zoom level"
msgstr ""
-#: ../src/vikwindow.c:645
+#: ../src/vikwindow.c:923
#, c-format
msgid ""
"Do you want to save the changes you made to the document \"%s\"?\n"
@@ -3210,103 +4051,103 @@ msgstr ""
"\n"
"Muutoksesi katoavat, jos et tallenna niitä."
-#: ../src/vikwindow.c:649
+#: ../src/vikwindow.c:927
msgid "Don't Save"
msgstr "Älä tallenna"
-#: ../src/vikwindow.c:696
+#: ../src/vikwindow.c:1005
msgid "mpp"
msgstr "mpp"
-#: ../src/vikwindow.c:696
+#: ../src/vikwindow.c:1005
msgid "pixelfact"
msgstr "pikselitieto"
-#: ../src/vikwindow.c:861
+#: ../src/vikwindow.c:1169
#, c-format
msgid "%s %s %dm"
msgstr "%s %s %d m"
-#: ../src/vikwindow.c:863
+#: ../src/vikwindow.c:1171
#, c-format
msgid "%s %s %dft"
msgstr "%s %s %d jalkaa"
-#: ../src/vikwindow.c:866
+#: ../src/vikwindow.c:1174
#, c-format
msgid "%s %s"
msgstr "%s %s"
#. NB Ctrl+Shift+R is used for Refresh (deemed more important), so use 'U' instead
-#: ../src/vikwindow.c:1254
+#: ../src/vikwindow.c:1562
msgid "_Ruler"
msgstr "V_iivotin"
-#: ../src/vikwindow.c:1254
+#: ../src/vikwindow.c:1562
msgid "Ruler Tool"
msgstr "Viivotintyökalu"
-#: ../src/vikwindow.c:1502 ../src/vikwindow.c:3138
+#: ../src/vikwindow.c:1810 ../src/vikwindow.c:3697
msgid "_Zoom"
msgstr "_Loitonna/lähennä"
-#: ../src/vikwindow.c:1502
+#: ../src/vikwindow.c:1810
msgid "Zoom Tool"
msgstr "Suurennuslasi"
-#: ../src/vikwindow.c:1547 ../src/vikwindow.c:3139
+#: ../src/vikwindow.c:1855 ../src/vikwindow.c:3698
msgid "_Pan"
msgstr "_Vaakavieritä"
-#: ../src/vikwindow.c:1547
+#: ../src/vikwindow.c:1855
msgid "Pan Tool"
msgstr "Vaakavieritystyökalu"
-#: ../src/vikwindow.c:1664
+#: ../src/vikwindow.c:1972
msgid "_Select"
msgstr "Valit_se"
-#: ../src/vikwindow.c:1664
+#: ../src/vikwindow.c:1972
msgid "Select Tool"
msgstr "Valintatyökalu"
-#: ../src/vikwindow.c:1809
+#: ../src/vikwindow.c:2123
msgid "You must select a layer to show its properties."
msgstr "Kerros on valittava sen ominaisuuksien näyttämiseksi."
#. No error to show, so unlikely this will get called
-#: ../src/vikwindow.c:1824
+#: ../src/vikwindow.c:2137
msgid "The help system is not available."
msgstr ""
#. Main error path
-#: ../src/vikwindow.c:1827
+#: ../src/vikwindow.c:2140
#, c-format
msgid ""
"Help is not available because: %s.\n"
"Ensure a Mime Type ghelp handler program is installed (e.g. yelp)."
msgstr ""
-#: ../src/vikwindow.c:1850
+#: ../src/vikwindow.c:2160
msgid "You must select a layer to delete."
msgstr "Kerros on valittava poistamista varten."
-#: ../src/vikwindow.c:2087
+#: ../src/vikwindow.c:2396
msgid "Untitled"
msgstr "Otsikoton"
-#: ../src/vikwindow.c:2194
+#: ../src/vikwindow.c:2503
#, c-format
msgid "Unable to add '%s' to the list of recently used documents"
msgstr ""
"Asiakirjan ’%s’ lisääminen äskettäin käytettyjen asiakirjojen luetteloon "
"epäonnistui"
-#: ../src/vikwindow.c:2208
+#: ../src/vikwindow.c:2540
msgid "The file you requested could not be opened."
msgstr "Pyytämäsi tiedoston avaaminen epäonnistui."
-#: ../src/vikwindow.c:2211
+#: ../src/vikwindow.c:2543
msgid ""
"GPSBabel is required to load files of this type or GPSBabel encountered "
"problems."
@@ -3314,70 +4155,129 @@ msgstr ""
"GPSBabel tarvitaan tämän tyyppisten tiedostojen lataamiseen tai GPSBabel "
"kohtasi pulmia."
-#: ../src/vikwindow.c:2214
+#: ../src/vikwindow.c:2546
#, c-format
msgid "Unable to load malformed GPX file %s"
msgstr ""
-#: ../src/vikwindow.c:2217
+#: ../src/vikwindow.c:2549
#, c-format
msgid "Unsupported file type for %s"
msgstr "Tukematon tiedostotyyppi kohteelle %s"
#. Since we can process .vik files with issues just show a warning in the status bar
#. Not that a user can do much about it... or tells them what this issue is yet...
-#: ../src/vikwindow.c:2223
+#: ../src/vikwindow.c:2555
#, c-format
msgid "WARNING: issues encountered loading %s"
msgstr ""
-#: ../src/vikwindow.c:2278
+#: ../src/vikwindow.c:2613
msgid "Please select a GPS data file to open. "
msgstr "Valitse avattava GPS-datatiedosto. "
-#: ../src/vikwindow.c:2288
+#: ../src/vikwindow.c:2629
msgid "Geocaching"
msgstr "Geokätkyily"
-#: ../src/vikwindow.c:2294
+#: ../src/vikwindow.c:2635
msgid "Google Earth"
msgstr "Google Earth"
-#: ../src/vikwindow.c:2299
+#: ../src/vikwindow.c:2640
msgid "GPX"
msgstr "GPX"
-#: ../src/vikwindow.c:2304 ../src/vikwindow.c:2387
+#: ../src/vikwindow.c:2645 ../src/vikwindow.c:2734
#: ../src/viking.desktop.in.h:1
msgid "Viking"
msgstr "Viikinki"
-#: ../src/vikwindow.c:2374
+#: ../src/vikwindow.c:2715
msgid "Save as Viking File."
msgstr "Tallenna Viking-tiedostona."
+#: ../src/vikwindow.c:2841
+msgid "Exporting to file: "
+msgstr ""
+
+#. Confirm what happened.
+#: ../src/vikwindow.c:2858
+#, c-format
+msgid "Exported files: %d"
+msgstr ""
+
+#: ../src/vikwindow.c:2870
+msgid "Nothing to Export!"
+msgstr ""
+
+#: ../src/vikwindow.c:2874
+msgid "Export to directory"
+msgstr ""
+
+#: ../src/vikwindow.c:2896
+msgid "Could not convert all files"
+msgstr ""
+
+#: ../src/vikwindow.c:2932
+#, c-format
+msgid "%d bytes"
+msgstr ""
+
+#: ../src/vikwindow.c:2934
+#, c-format
+msgid "%3.1f kB"
+msgstr ""
+
+#: ../src/vikwindow.c:2936
+#, c-format
+msgid "%3.1f MB"
+msgstr ""
+
+#: ../src/vikwindow.c:2937
+#, c-format
+msgid ""
+"%s\n"
+"\n"
+"%s\n"
+"\n"
+"%s"
+msgstr ""
+
+#: ../src/vikwindow.c:2942
+msgid "File not accessible"
+msgstr ""
+
+#: ../src/vikwindow.c:2945
+msgid "No Viking File"
+msgstr ""
+
+#: ../src/vikwindow.c:3035
+msgid "This layer has no configurable properties."
+msgstr ""
+
#. Try harder...
-#: ../src/vikwindow.c:2619 ../src/vikwindow.c:2625
+#: ../src/vikwindow.c:3169 ../src/vikwindow.c:3175
msgid "Generating image file..."
msgstr ""
-#: ../src/vikwindow.c:2647
+#: ../src/vikwindow.c:3197
msgid ""
"Failed to generate internal image.\n"
"\n"
"Try creating a smaller image."
msgstr ""
-#: ../src/vikwindow.c:2655
+#: ../src/vikwindow.c:3205
msgid "Failed to generate image file."
msgstr ""
#. Success
-#: ../src/vikwindow.c:2660
+#: ../src/vikwindow.c:3210
msgid "Image file generated."
msgstr ""
-#: ../src/vikwindow.c:2764
+#: ../src/vikwindow.c:3314
msgid ""
"Viewable region outside allowable pixel size bounds for image. Clipping "
"width/height values."
@@ -3385,455 +4285,480 @@ msgstr ""
"Katsottava alue kuvan sallittavan pikselikokorajojen ulkopuolella. Leikataan "
"leveys/korkeus-arvoja."
-#: ../src/vikwindow.c:2789
+#: ../src/vikwindow.c:3339
#, c-format
msgid "Total area: %ldm x %ldm (%.3f sq. km)"
msgstr "Kokonaisalue: %ldm x %ldm (%.3f neliökilometriä)"
-#: ../src/vikwindow.c:2792
+#: ../src/vikwindow.c:3342
#, c-format
msgid "Total area: %ldm x %ldm (%.3f sq. miles)"
msgstr "Kokonaisalue: %ldm x %ldm (%.3f neliömailia)"
-#: ../src/vikwindow.c:2813
+#: ../src/vikwindow.c:3363
msgid "Save Image"
msgstr "Tallenna kuva"
-#: ../src/vikwindow.c:2834
+#: ../src/vikwindow.c:3393
msgid "PNG"
msgstr ""
-#: ../src/vikwindow.c:2857
+#: ../src/vikwindow.c:3416
msgid "You must be in UTM mode to use this feature"
msgstr "Tätä ominaisuutta voi käyttää vain UTM-tilassa"
-#: ../src/vikwindow.c:2862
+#: ../src/vikwindow.c:3421
msgid "Choose a directory to hold images"
msgstr "Valitse hakemisto kuvien säilyttämiseen"
#. todo: default for answers inside VikWindow or static (thruout instance)
-#: ../src/vikwindow.c:2883
+#: ../src/vikwindow.c:3442
msgid "Save to Image File"
msgstr "Tallenna kuvatiedostoon"
-#: ../src/vikwindow.c:2900
+#: ../src/vikwindow.c:3459
msgid "Width (pixels):"
msgstr "Leveys (pikseliä):"
-#: ../src/vikwindow.c:2902
+#: ../src/vikwindow.c:3461
msgid "Height (pixels):"
msgstr "Korkeus (pikseliä):"
-#: ../src/vikwindow.c:2905
+#: ../src/vikwindow.c:3464
msgid ""
"WARNING: USING LARGE IMAGES OVER 10000x10000\n"
"MAY CRASH THE PROGRAM!"
msgstr ""
-#: ../src/vikwindow.c:2907
+#: ../src/vikwindow.c:3466
msgid "Zoom (meters per pixel):"
msgstr "Loitonna/lähennä (metriä per pikseli):"
-#: ../src/vikwindow.c:2921
+#: ../src/vikwindow.c:3482
msgid "Area in current viewable window"
msgstr "Alue nykyisin katsottavassa ikkunassa"
-#: ../src/vikwindow.c:2931
+#: ../src/vikwindow.c:3492
msgid "Save as PNG"
msgstr "Tallenna PNG-tiedostona"
-#: ../src/vikwindow.c:2932
+#: ../src/vikwindow.c:3493
msgid "Save as JPEG"
msgstr "Tallenna JPEG-tiedostona"
-#: ../src/vikwindow.c:2954
+#: ../src/vikwindow.c:3515
msgid "East-west image tiles:"
msgstr "Itä-länsi-kuvatiilit:"
-#: ../src/vikwindow.c:2956
+#: ../src/vikwindow.c:3517
msgid "North-south image tiles:"
msgstr "Pohjois-etelä-kuvatiilit:"
-#: ../src/vikwindow.c:3097
+#: ../src/vikwindow.c:3656
msgid "Choose a background color"
msgstr "Valitse taustaväri"
-#: ../src/vikwindow.c:3113
+#: ../src/vikwindow.c:3672
msgid "Choose a track highlight color"
msgstr "Valitse reitin korotustväri"
-#: ../src/vikwindow.c:3134
+#: ../src/vikwindow.c:3693
msgid "_File"
msgstr "_Tiedosto"
-#: ../src/vikwindow.c:3135
+#: ../src/vikwindow.c:3694
msgid "_Edit"
msgstr "_Muokkaa"
-#: ../src/vikwindow.c:3136
-msgid "_View"
-msgstr "_Näkymä"
-
-#: ../src/vikwindow.c:3137
+#: ../src/vikwindow.c:3696
msgid "_Show"
msgstr "_Näytä"
-#: ../src/vikwindow.c:3140
+#: ../src/vikwindow.c:3699
msgid "_Layers"
msgstr "_Kerrokset"
-#: ../src/vikwindow.c:3141
+#: ../src/vikwindow.c:3700
msgid "_Tools"
msgstr "_Työkalut"
-#: ../src/vikwindow.c:3142
+#: ../src/vikwindow.c:3701
msgid "_Webtools"
msgstr "_Webbityökalut"
-#: ../src/vikwindow.c:3143 ../src/vikwindow.c:3206
+#: ../src/vikwindow.c:3702 ../src/vikwindow.c:3763
msgid "_Help"
msgstr "_Opaste"
-#: ../src/vikwindow.c:3145
+#: ../src/vikwindow.c:3704
msgid "New file"
msgstr "Uusi tiedosto"
-#: ../src/vikwindow.c:3146
+#: ../src/vikwindow.c:3705
msgid "_Open..."
msgstr "_Avaa..."
-#: ../src/vikwindow.c:3146
+#: ../src/vikwindow.c:3705
msgid "Open a file"
msgstr "Avaa tiedosto"
-#: ../src/vikwindow.c:3147
+#: ../src/vikwindow.c:3706
msgid "Open _Recent File"
msgstr "A_vaa äskeinen tiedosto"
-#: ../src/vikwindow.c:3148
+#: ../src/vikwindow.c:3707
msgid "Append _File..."
msgstr "Liitä tie_dosto..."
-#: ../src/vikwindow.c:3148
+#: ../src/vikwindow.c:3707
msgid "Append data from a different file"
msgstr "Liitä tietoja eri tiedostosta"
-#: ../src/vikwindow.c:3149
+#: ../src/vikwindow.c:3708
+msgid "_Export All"
+msgstr ""
+
+#: ../src/vikwindow.c:3708
+msgid "Export All TrackWaypoint Layers"
+msgstr ""
+
+#: ../src/vikwindow.c:3709
+msgid "_GPX..."
+msgstr ""
+
+#: ../src/vikwindow.c:3709
+msgid "Export as GPX"
+msgstr ""
+
+#: ../src/vikwindow.c:3710
msgid "A_cquire"
msgstr "H_anki"
-#: ../src/vikwindow.c:3150
+#: ../src/vikwindow.c:3711
msgid "Transfer data from a GPS device"
msgstr "Siirrä tietoa GPS-laitteesta"
-#: ../src/vikwindow.c:3151
+#: ../src/vikwindow.c:3712
msgid "Import File With GPS_Babel..."
msgstr "Tuo tiedosto ohjelmalla GPS_Babel..."
-#: ../src/vikwindow.c:3151
+#: ../src/vikwindow.c:3712
msgid "Import file via GPSBabel converter"
msgstr "Tuo tiedosto GPSBabel-muuntimen kautta"
-#: ../src/vikwindow.c:3153
-msgid "Google _Directions..."
-msgstr "Google _Ajo-ohjeet..."
+#: ../src/vikwindow.c:3713
+msgid "_Directions..."
+msgstr ""
-#: ../src/vikwindow.c:3153
-msgid "Get driving directions from Google"
-msgstr "Hae ajo-ohjeita Googlelta"
+#: ../src/vikwindow.c:3713
+msgid "Get driving directions"
+msgstr ""
-#: ../src/vikwindow.c:3156
+#: ../src/vikwindow.c:3715
msgid "_OSM Traces..."
msgstr "_OSM-jäljet..."
-#: ../src/vikwindow.c:3156
+#: ../src/vikwindow.c:3715
msgid "Get traces from OpenStreetMap"
msgstr "Hae jäljet ohjelmasta OpenStreetMap"
-#: ../src/vikwindow.c:3157
+#: ../src/vikwindow.c:3716
msgid "_My OSM Traces..."
msgstr ""
-#: ../src/vikwindow.c:3157
+#: ../src/vikwindow.c:3716
msgid "Get Your Own Traces from OpenStreetMap"
msgstr ""
-#: ../src/vikwindow.c:3160
+#: ../src/vikwindow.c:3719
msgid "Geo_caches..."
msgstr "Geo_kätköt..."
-#: ../src/vikwindow.c:3160
+#: ../src/vikwindow.c:3719
msgid "Get Geocaches from geocaching.com"
msgstr "Hae geokätköt osoitteesta geocaching.com"
-#: ../src/vikwindow.c:3163
+#: ../src/vikwindow.c:3722
msgid "Create waypoints from geotagged images"
msgstr "Luo välietapit geotagged-kuvista"
-#: ../src/vikwindow.c:3166
+#: ../src/vikwindow.c:3725
msgid "Create waypoints from Wikipedia items in the current view"
msgstr ""
-#: ../src/vikwindow.c:3168
+#: ../src/vikwindow.c:3727
msgid "_Save"
msgstr "Talle_nna"
-#: ../src/vikwindow.c:3168
+#: ../src/vikwindow.c:3727
msgid "Save the file"
msgstr "Tallenna tiedosto"
-#: ../src/vikwindow.c:3169
+#: ../src/vikwindow.c:3728
msgid "Save _As..."
msgstr "Tall_enna nimellä..."
-#: ../src/vikwindow.c:3169
+#: ../src/vikwindow.c:3728
msgid "Save the file under different name"
msgstr "Tallenna tiedosto eri nimellä"
-#: ../src/vikwindow.c:3170
+#: ../src/vikwindow.c:3729
+msgid "Properties..."
+msgstr ""
+
+#: ../src/vikwindow.c:3729
+msgid "File Properties"
+msgstr ""
+
+#: ../src/vikwindow.c:3730
msgid "_Generate Image File..."
msgstr "T_uota kuvatiedosto..."
-#: ../src/vikwindow.c:3170
+#: ../src/vikwindow.c:3730
msgid "Save a snapshot of the workspace into a file"
msgstr "Tallenna työtilan kuvakaappaus tiedostoon"
-#: ../src/vikwindow.c:3171
+#: ../src/vikwindow.c:3731
msgid "Generate _Directory of Images..."
msgstr "Tuota ku_vahakemisto..."
-#: ../src/vikwindow.c:3171
+#: ../src/vikwindow.c:3731
msgid "FIXME:IMGDIR"
msgstr "KORJAAMINUT:IMGDIR"
-#: ../src/vikwindow.c:3174
+#: ../src/vikwindow.c:3732
msgid "_Print..."
msgstr "_Tulosta..."
-#: ../src/vikwindow.c:3174
+#: ../src/vikwindow.c:3732
msgid "Print maps"
msgstr "Tulosta karttoja"
-#: ../src/vikwindow.c:3177
+#: ../src/vikwindow.c:3733
msgid "E_xit"
msgstr "P_oistu"
-#: ../src/vikwindow.c:3177
+#: ../src/vikwindow.c:3733
msgid "Exit the program"
msgstr "Poistu ohjelmasta"
-#: ../src/vikwindow.c:3178
+#: ../src/vikwindow.c:3734
msgid "Save and Exit"
msgstr "Tallenna ja poistu"
-#: ../src/vikwindow.c:3178
+#: ../src/vikwindow.c:3734
msgid "Save and Exit the program"
msgstr "Tallenna ja poistu ohjelmasta"
-#: ../src/vikwindow.c:3180
+#: ../src/vikwindow.c:3736
msgid "Go to the _Default Location"
msgstr "Siirry _oletusijaintiin"
-#: ../src/vikwindow.c:3180
+#: ../src/vikwindow.c:3736
msgid "Go to the default location"
msgstr "Siirry oletussijaintiin"
-#: ../src/vikwindow.c:3181
+#: ../src/vikwindow.c:3737
msgid "Go to _Location..."
msgstr "_Siirry sijaintiin..."
-#: ../src/vikwindow.c:3181
+#: ../src/vikwindow.c:3737
msgid "Go to address/place using text search"
msgstr "Siirry osoitteesen/paikkaan käyttäen tekstihakua"
-#: ../src/vikwindow.c:3182
+#: ../src/vikwindow.c:3738
msgid "_Go to Lat/Lon..."
msgstr "_Siirry leveyspiirille/pituuspiirille..."
-#: ../src/vikwindow.c:3182
+#: ../src/vikwindow.c:3738
msgid "Go to arbitrary lat/lon coordinate"
msgstr "Siirry satunnaiseen leveysp./pituusp. koordinaattiin"
-#: ../src/vikwindow.c:3183
+#: ../src/vikwindow.c:3739
msgid "Go to UTM..."
msgstr "Siirry UTM:ään..."
-#: ../src/vikwindow.c:3183
+#: ../src/vikwindow.c:3739
msgid "Go to arbitrary UTM coordinate"
msgstr "Siirry satunnaiseen UTM-koordinaattiin"
-#: ../src/vikwindow.c:3184
+#: ../src/vikwindow.c:3740
msgid "_Refresh"
msgstr ""
-#: ../src/vikwindow.c:3184
+#: ../src/vikwindow.c:3740
msgid "Refresh any maps displayed"
msgstr ""
-#: ../src/vikwindow.c:3185
+#: ../src/vikwindow.c:3741
msgid "Set _Highlight Color..."
msgstr "Aseta _korostusväri..."
-#: ../src/vikwindow.c:3186
+#: ../src/vikwindow.c:3742
msgid "Set Bac_kground Color..."
msgstr "Aseta tausta_väri..."
-#: ../src/vikwindow.c:3187
+#: ../src/vikwindow.c:3743
msgid "Zoom _In"
msgstr "Lä_hennä"
-#: ../src/vikwindow.c:3188
+#: ../src/vikwindow.c:3744
msgid "Zoom _Out"
msgstr "Loi_tonna"
-#: ../src/vikwindow.c:3189
+#: ../src/vikwindow.c:3745
msgid "Zoom _To..."
msgstr "Loitonna/lähennä _kohteeseen..."
-#: ../src/vikwindow.c:3190
+#: ../src/vikwindow.c:3746
msgid "Pan _North"
msgstr "V_ieritä pohjoiseen"
-#: ../src/vikwindow.c:3191
+#: ../src/vikwindow.c:3747
msgid "Pan _East"
msgstr "Vi_eritä itään"
-#: ../src/vikwindow.c:3192
+#: ../src/vikwindow.c:3748
msgid "Pan _South"
msgstr "Vieri_tä etelään"
-#: ../src/vikwindow.c:3193
+#: ../src/vikwindow.c:3749
msgid "Pan _West"
msgstr "Vieritä _länteen"
-#: ../src/vikwindow.c:3194
+#: ../src/vikwindow.c:3750
msgid "Background _Jobs"
msgstr "Ta_ustatyöt"
-#: ../src/vikwindow.c:3196
+#: ../src/vikwindow.c:3752
msgid "Cu_t"
msgstr "Leikk_aa"
-#: ../src/vikwindow.c:3197
-msgid "_Copy"
-msgstr "Kop_ioi"
-
-#: ../src/vikwindow.c:3198
-msgid "_Paste"
-msgstr "_Liitä"
-
-#: ../src/vikwindow.c:3199
-msgid "_Delete"
-msgstr "_Poista"
-
-#: ../src/vikwindow.c:3200
+#: ../src/vikwindow.c:3756
msgid "Delete All"
msgstr "Poista kaikki"
-#: ../src/vikwindow.c:3201
+#: ../src/vikwindow.c:3757
msgid "_Flush Map Cache"
msgstr "_Tyhjennä karttavälimuisti"
-#: ../src/vikwindow.c:3202
+#: ../src/vikwindow.c:3758
msgid "_Set the Default Location"
msgstr "_Aseta oletussijainti"
-#: ../src/vikwindow.c:3202
+#: ../src/vikwindow.c:3758
msgid "Set the Default Location to the current position"
msgstr "Aseta oletussijainniksi nykyinen sijainti"
-#: ../src/vikwindow.c:3203
+#: ../src/vikwindow.c:3759
msgid "_Preferences"
msgstr "A_setukset"
-#: ../src/vikwindow.c:3204
+#: ../src/vikwindow.c:3760
+msgid "_Layer Defaults"
+msgstr ""
+
+#: ../src/vikwindow.c:3761
msgid "_Properties"
msgstr "Ominaisuu_det"
-#: ../src/vikwindow.c:3207
+#: ../src/vikwindow.c:3764
msgid "_About"
msgstr "O_hjelmasta"
-#: ../src/vikwindow.c:3213
+#: ../src/vikwindow.c:3768
+msgid "_KML..."
+msgstr ""
+
+#: ../src/vikwindow.c:3768
+msgid "Export as KML"
+msgstr ""
+
+#: ../src/vikwindow.c:3774
msgid "_UTM Mode"
msgstr "_UTM-tila"
-#: ../src/vikwindow.c:3214
+#: ../src/vikwindow.c:3775
msgid "_Expedia Mode"
msgstr "_Expedia-tila"
-#: ../src/vikwindow.c:3215
+#: ../src/vikwindow.c:3776
msgid "_Mercator Mode"
msgstr "_Mercator-tila"
-#: ../src/vikwindow.c:3216
+#: ../src/vikwindow.c:3777
msgid "Lat_/Lon Mode"
msgstr "Le_veysaste-/pituuastetila"
-#: ../src/vikwindow.c:3220
+#: ../src/vikwindow.c:3781
msgid "Show _Scale"
msgstr "Näytä _skaala"
-#: ../src/vikwindow.c:3220
+#: ../src/vikwindow.c:3781
msgid "Show Scale"
msgstr "Näytä skaala"
-#: ../src/vikwindow.c:3221
+#: ../src/vikwindow.c:3782
msgid "Show _Center Mark"
msgstr "Näytä k_eskusmerkki"
-#: ../src/vikwindow.c:3221
+#: ../src/vikwindow.c:3782
msgid "Show Center Mark"
msgstr "Näytä keskusmerkki"
-#: ../src/vikwindow.c:3222
+#: ../src/vikwindow.c:3783
msgid "Show _Highlight"
msgstr "Näytä _korostus"
-#: ../src/vikwindow.c:3222
+#: ../src/vikwindow.c:3783
msgid "Show Highlight"
msgstr "Näytä korostus"
-#: ../src/vikwindow.c:3223
+#: ../src/vikwindow.c:3784
msgid "_Full Screen"
msgstr "K_okonäyttö"
-#: ../src/vikwindow.c:3223
+#: ../src/vikwindow.c:3784
msgid "Activate full screen mode"
msgstr "Aktivoi kokonäyttötila"
-#: ../src/vikwindow.c:3224
+#: ../src/vikwindow.c:3785
msgid "Show Side _Panel"
msgstr "Näytä siv_upaneeli"
-#: ../src/vikwindow.c:3224
+#: ../src/vikwindow.c:3785
msgid "Show Side Panel"
msgstr "Näytä sivupaneeli"
-#: ../src/vikwindow.c:3225
+#: ../src/vikwindow.c:3786
msgid "Show Status_bar"
msgstr "Näytä tilapal_kki"
-#: ../src/vikwindow.c:3225
+#: ../src/vikwindow.c:3786
msgid "Show Statusbar"
msgstr "Näytä tilapalkki"
-#: ../src/vikwindow.c:3226
+#: ../src/vikwindow.c:3787
msgid "Show _Toolbar"
msgstr "Näytä _työkalupalkki"
-#: ../src/vikwindow.c:3226
+#: ../src/vikwindow.c:3787
msgid "Show Toolbar"
msgstr "Näytä työkalupalkki"
-#: ../src/vikwindow.c:3227
+#: ../src/vikwindow.c:3788
msgid "Show _Menu"
msgstr "Näytä _Valikko"
-#: ../src/vikwindow.c:3227
+#: ../src/vikwindow.c:3788
msgid "Show Menu"
msgstr "Näytä valikko"
+#: ../src/vikwindow.c:3862
+#, c-format
+msgid "New _%s Layer"
+msgstr ""
+
#: ../src/viking.desktop.in.h:2
msgid "GPS Data Manager"
msgstr "GPS-tietohallinta"
diff --git a/po/fr.po b/po/fr.po
index c7ae65f..df0a792 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -4,69 +4,71 @@ msgid ""
msgstr ""
"Project-Id-Version: Viking\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-02-04 23:29+0100\n"
-"PO-Revision-Date: 2012-11-04 21:01+0000\n"
-"Last-Translator: Maxime Teixeira <Unknown>\n"
+"POT-Creation-Date: 2013-09-03 21:58+0200\n"
+"PO-Revision-Date: 2013-09-28 19:41+0000\n"
+"Last-Translator: lann <lann@worldonline.fr>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
-"X-Launchpad-Export-Date: 2013-03-23 17:12+0000\n"
-"X-Generator: Launchpad (build 16540)\n"
+"X-Launchpad-Export-Date: 2013-10-12 09:04+0000\n"
+"X-Generator: Launchpad (build 16799)\n"
"Language: \n"
"X-Poedit-Language: French\n"
-#: ../src/acquire.c:103 ../src/vikgpslayer.c:1185
+#: ../src/acquire.c:103 ../src/vikgpslayer.c:1235
msgid "Done."
msgstr "Fait."
-#: ../src/acquire.c:114
+#: ../src/acquire.c:112
msgid "No data."
msgstr "Aucune donnée."
-#: ../src/acquire.c:154 ../src/acquire.c:404
+#: ../src/acquire.c:154 ../src/acquire.c:424
msgid "Error: acquisition failed."
msgstr "Erreur : échec d'acquisition"
-#: ../src/acquire.c:341
+#: ../src/acquire.c:352
msgid "Working..."
msgstr "Traitement..."
#. This shouldn't happen...
-#: ../src/acquire.c:394
+#: ../src/acquire.c:415
msgid ""
"Unable to create command\n"
"Acquire method failed."
msgstr ""
+"Impossible de créer la commande\n"
+"Échec d'acquisition."
-#: ../src/acquire.c:486
+#: ../src/acquire.c:517
msgid "_Filter"
-msgstr ""
+msgstr "_Filtre"
-#: ../src/acquire.c:501
+#: ../src/acquire.c:532
#, c-format
msgid "Filter with %s"
-msgstr ""
+msgstr "Filtrer avec %s"
-#: ../src/acquire.c:518
+#: ../src/acquire.c:549
msgid "Filter"
-msgstr ""
+msgstr "Filtre"
-#: ../src/background.c:52
+#: ../src/background.c:53
#, c-format
msgid "%d items"
msgstr "%d éléments"
-#: ../src/background.c:248
+#: ../src/background.c:254
msgid "Job"
msgstr "Tâche"
-#: ../src/background.c:252
+#: ../src/background.c:258
msgid "Progress"
msgstr "Progression"
-#: ../src/background.c:268
+#: ../src/background.c:274
msgid "Viking Background Jobs"
msgstr "Tâches de fond"
@@ -75,9 +77,9 @@ msgid "Bing"
msgstr "Bing"
#. VIK_GTK_WINDOW_FROM_WIDGET(vp)
-#: ../src/bingmapsource.c:445
+#: ../src/bingmapsource.c:499
msgid "Bing attribution Loading"
-msgstr ""
+msgstr "Chargement des attributions Bing"
#: ../src/clipboard.c:95
msgid "paste failed"
@@ -102,35 +104,35 @@ msgid ""
"into."
msgstr "Pour copier un waypoint, sélectionner un calque approprié."
-#: ../src/dialog.c:52
+#: ../src/dialog.c:53
msgid "Go to Lat/Lon"
msgstr "Aller à Lat/Lon"
-#: ../src/dialog.c:64 ../src/dialog.c:251
+#: ../src/dialog.c:65 ../src/dialog.c:244
msgid "Latitude:"
msgstr "Latitude :"
-#: ../src/dialog.c:70 ../src/dialog.c:256
+#: ../src/dialog.c:71 ../src/dialog.c:249
msgid "Longitude:"
msgstr "Longitude :"
-#: ../src/dialog.c:102
+#: ../src/dialog.c:103
msgid "Go to UTM"
msgstr "Aller à une coordonnée UTM"
-#: ../src/dialog.c:115
+#: ../src/dialog.c:116
msgid "Northing:"
msgstr "Northing :"
-#: ../src/dialog.c:121
+#: ../src/dialog.c:122
msgid "Easting:"
msgstr "Easting :"
-#: ../src/dialog.c:128
+#: ../src/dialog.c:129
msgid "Zone:"
msgstr "Zone :"
-#: ../src/dialog.c:131
+#: ../src/dialog.c:132
msgid "Letter:"
msgstr "Lettre :"
@@ -138,105 +140,109 @@ msgstr "Lettre :"
msgid "Waypoint Properties"
msgstr "Propriétés du point d'intérêt"
-#: ../src/dialog.c:233
+#: ../src/dialog.c:235
msgid "Name:"
msgstr "Nom :"
-#: ../src/dialog.c:261
+#: ../src/dialog.c:254
msgid "Altitude:"
msgstr "Altitude :"
-#: ../src/dialog.c:266
+#: ../src/dialog.c:259
msgid "Comment:"
msgstr "Commentaire :"
-#: ../src/dialog.c:274 ../src/osm-traces.c:437
+#: ../src/dialog.c:267 ../src/osm-traces.c:445
msgid "Description:"
msgstr "Description :"
-#: ../src/dialog.c:277
+#: ../src/dialog.c:270
msgid "Image:"
msgstr "Image :"
-#: ../src/dialog.c:282
+#: ../src/dialog.c:275
msgid "Symbol:"
msgstr "Symbole :"
-#: ../src/dialog.c:291
+#: ../src/dialog.c:284
msgid "(none)"
msgstr "(aucun)"
+#: ../src/dialog.c:326
+msgid "Time:"
+msgstr ""
+
#. TODO: other checks (isalpha or whatever )
-#: ../src/dialog.c:356
+#: ../src/dialog.c:363
msgid "Please enter a name for the waypoint."
-msgstr "Entrez un nom pour le waypoint."
+msgstr "Entrez un nom pour le point d'intérêt."
-#: ../src/dialog.c:529 ../src/geonamessearch.c:243
+#: ../src/dialog.c:502 ../src/geonamessearch.c:244
#: ../src/datasource_osm_my_traces.c:507
msgid "Nothing was selected"
msgstr "Rien n'était sélectionné"
-#: ../src/dialog.c:537
+#: ../src/dialog.c:510
msgid "Add Route"
-msgstr ""
+msgstr "Ajouter un itinéraire"
-#: ../src/dialog.c:537
+#: ../src/dialog.c:510
msgid "Add Track"
-msgstr "Ajouter une trace"
+msgstr "Ajouter une piste"
-#: ../src/dialog.c:545
+#: ../src/dialog.c:518
msgid "Route Name:"
-msgstr ""
+msgstr "Nom d'itinéraire :"
-#: ../src/dialog.c:545
+#: ../src/dialog.c:518
msgid "Track Name:"
msgstr "Nom de la trace :"
-#: ../src/dialog.c:565
+#: ../src/dialog.c:538
msgid "Please enter a name for the track."
msgstr "Entrez un nom pour la trace."
-#: ../src/dialog.c:623
+#: ../src/dialog.c:596
msgid "Zoom Factors..."
msgstr "Facteurs de zoom…"
-#: ../src/dialog.c:637
+#: ../src/dialog.c:610
msgid "Zoom factor (in meters per pixel):"
-msgstr "Facteur de zoom (en mètres par pixel):"
+msgstr "Facteur de zoom (en mètres par pixel) :"
-#: ../src/dialog.c:638
+#: ../src/dialog.c:611
msgid "X (easting): "
msgstr "X (est) "
-#: ../src/dialog.c:639
+#: ../src/dialog.c:612
msgid "Y (northing): "
msgstr "Y (nord) "
-#: ../src/dialog.c:644
+#: ../src/dialog.c:617
msgid "X and Y zoom factors must be equal"
msgstr "Les facteurs X et Y doivent être égaux"
-#: ../src/dialog.c:699
+#: ../src/dialog.c:672
msgid "1 min"
msgstr "1 minute"
-#: ../src/dialog.c:700
+#: ../src/dialog.c:673
msgid "1 hour"
msgstr "1 heure"
-#: ../src/dialog.c:701
+#: ../src/dialog.c:674
msgid "1 day"
msgstr "1 jour"
-#: ../src/dialog.c:702
+#: ../src/dialog.c:675
msgid "Custom (in minutes):"
msgstr "Personalisé (en minutes)"
-#: ../src/dialog.c:808
+#: ../src/dialog.c:786
msgid "GPS Data and Topo Analyzer, Explorer, and Manager."
msgstr "Analyse de topo, gestion de données GPS"
-#: ../src/dialog.c:809
+#: ../src/dialog.c:787
msgid ""
"This program is free software; you can redistribute it and/or modify it "
"under the terms of the GNU General Public License as published by the Free "
@@ -267,28 +273,28 @@ msgstr ""
"même temps que ce programme; sinon, écrivez a la \"Free Software Foundation, "
"Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA\""
-#: ../src/dialog.c:837
+#: ../src/dialog.c:852
msgid "Translation is coordinated on http://launchpad.net/viking"
msgstr "Les traductions sont coordonées sur http://launchpad.net/viking"
-#: ../src/dialog.c:845
+#: ../src/dialog.c:861
msgid "Download along track"
msgstr "Télécharger le long de la trace"
-#: ../src/dialog.c:851
+#: ../src/dialog.c:868
msgid "Map type:"
msgstr "Type de carte :"
-#: ../src/dialog.c:856
+#: ../src/dialog.c:874
msgid "Zoom level:"
msgstr "Niveau de zoom :"
-#: ../src/dialog.c:896
+#: ../src/dialog.c:914
#, c-format
msgid "The map data is licensed: %s."
msgstr "La carte est soumise à licence : %s."
-#: ../src/dialog.c:899
+#: ../src/dialog.c:917
#, c-format
msgid ""
"The data provided by '<b>%s</b>' are licensed under the following license: "
@@ -298,7 +304,7 @@ msgstr ""
"Les données fournies par '<b>%s</b>' sont soumises à la licence <b>%s</b>.\n"
"Merci de consulter la licence avant d'aller plus loin."
-#: ../src/dialog.c:904
+#: ../src/dialog.c:922
msgid "Open license"
msgstr "Ouvrir la licence"
@@ -334,7 +340,7 @@ msgstr ""
#. Translators may wish to change this setting as appropriate to get Wikipedia articles in that language
#: ../src/geonamessearch.c:46
msgid "en"
-msgstr ""
+msgstr "Anglais"
#: ../src/geonamessearch.c:121
msgid "Search"
@@ -347,90 +353,202 @@ msgstr "Aucune entrée trouvée !"
#. NB could allow columns to be shifted around by doing this after each new
#. gtk_tree_view_column_set_reorderable ( column, TRUE );
#. However I don't think is that useful, so I haven't put it in
-#: ../src/geonamessearch.c:177 ../src/datasource_osm_my_traces.c:425
+#: ../src/geonamessearch.c:177 ../src/datasource_osm_my_traces.c:424
+#: ../src/viktrwlayer_tracklist.c:521
msgid "Name"
-msgstr ""
+msgstr "Nom"
#: ../src/geonamessearch.c:182
msgid "Feature"
-msgstr ""
+msgstr "Fonctionnalité"
-#: ../src/geonamessearch.c:187 ../src/datasource_osm_my_traces.c:440
+#: ../src/geonamessearch.c:187 ../src/datasource_osm_my_traces.c:439
msgid "Lat/Lon"
-msgstr ""
+msgstr "Lat/Lon"
-#: ../src/geonamessearch.c:269 ../src/googlesearch.c:100
+#: ../src/geonamessearch.c:270 ../src/googlesearch.c:100 ../src/vikgoto.c:306
msgid "couldn't map temp file"
msgstr "Impossible d'ouvrir le fichier de carte"
-#: ../src/globals.c:44
+#: ../src/globals.c:73
+msgid "Absolute"
+msgstr ""
+
+#: ../src/globals.c:73
+msgid "Relative"
+msgstr ""
+
+#: ../src/globals.c:76
msgid "Degree format:"
msgstr "Format des degrées :"
-#: ../src/globals.c:48
+#: ../src/globals.c:77
msgid "Distance units:"
msgstr "Unité de distance:"
-#: ../src/globals.c:52
+#: ../src/globals.c:78
msgid "Speed units:"
msgstr "Unité de vitesse:"
-#: ../src/globals.c:56
+#: ../src/globals.c:79
msgid "Height units:"
msgstr "Unité d'altitude:"
-#: ../src/globals.c:60
+#: ../src/globals.c:80
msgid "Use large waypoint icons:"
msgstr "Utiliser de grandes icones pour les waypoints :"
-#: ../src/globals.c:64
+#: ../src/globals.c:81
msgid "Default latitude:"
msgstr "Latitude par défaut:"
-#: ../src/globals.c:67
+#: ../src/globals.c:82
msgid "Default longitude:"
msgstr "Longitude par défaut:"
-#: ../src/globals.c:73
+#: ../src/globals.c:88
msgid "Alphabetical"
-msgstr ""
+msgstr "Ordre alphabétique"
-#: ../src/globals.c:73 ../src/datasource_osm_my_traces.c:435
+#: ../src/globals.c:88 ../src/datasource_osm_my_traces.c:434
msgid "Time"
msgstr ""
-#: ../src/globals.c:76
-msgid "KML File Export Units:"
+#: ../src/globals.c:88
+msgid "Creation"
msgstr ""
-#: ../src/globals.c:77
+#: ../src/globals.c:89
+msgid "Title Case"
+msgstr ""
+
+#: ../src/globals.c:89
+msgid "Lowercase"
+msgstr ""
+
+#: ../src/globals.c:92
+msgid "KML File Export Units:"
+msgstr "Unités pour les exports fichiers KML :"
+
+#: ../src/globals.c:93
msgid "GPX Track Order:"
msgstr ""
-#: ../src/globals.c:82
-msgid "Image Viewer:"
+#: ../src/globals.c:94
+msgid "GPX Waypoint Symbols:"
+msgstr "Symboles des points GPX"
+
+#: ../src/globals.c:95
+msgid ""
+"Save GPX Waypoint Symbol names in the specified case. May be useful for "
+"compatibility with various devices"
msgstr ""
-#: ../src/globals.c:87
+#: ../src/globals.c:100
+msgid "Image Viewer:"
+msgstr "Visionneur d'images :"
+
+#: ../src/globals.c:105
msgid "External GPX Program 1:"
-msgstr ""
+msgstr "Programme 1 GPX externe"
-#: ../src/globals.c:88
+#: ../src/globals.c:106
msgid "External GPX Program 2:"
+msgstr "Programme 2 GPX externe"
+
+#: ../src/globals.c:110
+msgid "Save File Reference Mode:"
+msgstr ""
+
+#: ../src/globals.c:111
+msgid ""
+"When saving a Viking .vik file, this determines how the directory paths of "
+"filenames are written."
+msgstr ""
+
+#: ../src/globals.c:112
+msgid "Show Tooltip during Track Creation:"
+msgstr "Montrer la bulle d'aide lors de la création de la trace"
+
+#: ../src/globals.c:115
+msgid "Home Location"
msgstr ""
+#: ../src/globals.c:115
+msgid "Last Location"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Specified File"
+msgstr "Fichier spécifié"
+
+#: ../src/globals.c:115
+msgid "Auto Location"
+msgstr ""
+
+#: ../src/globals.c:118
+msgid "Restore Window Setup:"
+msgstr ""
+
+#: ../src/globals.c:119
+msgid "Restore window size and layout"
+msgstr ""
+
+#: ../src/globals.c:120
+msgid "Add a Default Map Layer:"
+msgstr "Ajouter une couche de carte par défaut"
+
+#: ../src/globals.c:121
+msgid ""
+"The default map layer added is defined by the Layer Defaults. Use the menu "
+"Edit->Layer Defaults->Map... to change the map type and other values."
+msgstr ""
+
+#: ../src/globals.c:122
+msgid "Startup Method:"
+msgstr "Méthode de démarrage"
+
+#: ../src/globals.c:123
+msgid "Startup File:"
+msgstr "Fichier de démarrage"
+
+#: ../src/globals.c:124
+msgid ""
+"The default file to load on startup. Only applies when the startup method is "
+"set to 'Specified File'"
+msgstr ""
+
+#: ../src/globals.c:125
+msgid "Check For New Version:"
+msgstr "Vérifier une nouvelle version"
+
+#: ../src/globals.c:126
+msgid "Periodically check to see if a new version of Viking is available"
+msgstr ""
+"Vérifier périodiquement si une nouvelle version de Viking est disponible"
+
#. Defaults for the options are setup here
-#: ../src/globals.c:96
+#: ../src/globals.c:163
msgid "General"
msgstr "Général"
#. New Tab
-#: ../src/globals.c:121
+#: ../src/globals.c:188
+msgid "Startup"
+msgstr ""
+
+#. New Tab
+#: ../src/globals.c:206
msgid "Export/External"
msgstr ""
+#. 'Advanced' Properties
+#: ../src/globals.c:230
+msgid "Advanced"
+msgstr ""
+
#. Webtools
-#: ../src/google.c:36
+#: ../src/google.c:38
msgid "Google"
msgstr "Google"
@@ -443,27 +561,27 @@ msgid "Imported file"
msgstr "Fichier importé"
#. The file selector
-#: ../src/datasource_file.c:133
+#: ../src/datasource_file.c:127
msgid "File:"
msgstr "Fichier :"
-#: ../src/datasource_file.c:134
+#: ../src/datasource_file.c:128
msgid "File to import"
msgstr "Fichier à importer"
-#: ../src/datasource_file.c:141
+#: ../src/datasource_file.c:135
msgid "All files"
msgstr "Tous les fichiers"
#. The file format selector
-#: ../src/datasource_file.c:148
+#: ../src/datasource_file.c:142
msgid "File type:"
msgstr "Type de fichier :"
-#: ../src/datasource_file.c:193
+#: ../src/datasource_file.c:184
#, c-format
msgid "using babel args '%s' and file '%s'"
-msgstr ""
+msgstr "utilisation des arguments babel '%s' et du fichier '%s'"
#: ../src/datasource_gc.c:66
msgid "Download Geocaches"
@@ -473,29 +591,31 @@ msgstr "Télécharger des Geocaches"
msgid "Geocaching.com Caches"
msgstr "Caches geocaching.com"
-#: ../src/datasource_gc.c:84
+#: ../src/datasource_gc.c:85
msgid "geocaching.com username:"
msgstr "Nom d'utilisateur geocaching.com :"
-#: ../src/datasource_gc.c:85
+#: ../src/datasource_gc.c:86
msgid "geocaching.com password:"
msgstr "Mot de passe geocaching.com :"
-#: ../src/datasource_gc.c:126
+#: ../src/datasource_gc.c:127
#, c-format
msgid ""
"Can't find %s or %s in path! Check that you have installed it correctly."
msgstr ""
+"Impossible de trouver %s ou %s dans le PATH ! Vérifiez qu'il est "
+"correctement installé."
-#: ../src/datasource_gc.c:188
+#: ../src/datasource_gc.c:189
msgid "Number geocaches:"
msgstr "Nombre de geocaches :"
-#: ../src/datasource_gc.c:190
+#: ../src/datasource_gc.c:191
msgid "Centered around:"
msgstr "Centré autour de :"
-#: ../src/datasource_gc.c:226
+#: ../src/datasource_gc.c:230
msgid "Broken input - using some defaults"
msgstr ""
@@ -507,98 +627,89 @@ msgstr "Créer des Waypoints à partir des images géolocalisées"
msgid "Geotagged Images"
msgstr "Images géolocalisées"
-#: ../src/datasource_geotag.c:102 ../src/vikwindow.c:2314
-#: ../src/vikwindow.c:2382 ../src/vikwindow.c:2824
+#: ../src/datasource_geotag.c:102 ../src/vikwindow.c:2655
+#: ../src/vikwindow.c:2729 ../src/vikwindow.c:3380
msgid "All"
msgstr "Tous"
-#: ../src/datasource_geotag.c:107 ../src/vikwindow.c:2829
+#: ../src/datasource_geotag.c:107 ../src/vikwindow.c:3385
msgid "JPG"
msgstr "JPG"
-#: ../src/datasource_geotag.c:165
+#: ../src/datasource_geotag.c:168
#, c-format
msgid "Unable to create waypoint from %s"
msgstr "Impossible de créer de waypoint à partir de %s"
-#: ../src/datasource_google.c:49 ../src/datasource_google.c:50
-msgid "Google Directions"
-msgstr "Directions Google"
-
-#: ../src/datasource_google.c:77
-msgid "From:"
-msgstr "De :"
-
-#: ../src/datasource_google.c:79
-msgid "To:"
-msgstr "À :"
-
-#: ../src/datasource_gps.c:57
+#: ../src/datasource_gps.c:54
msgid "Acquire from GPS"
msgstr "Acquisition depuis le GPS"
-#: ../src/datasource_gps.c:58
+#: ../src/datasource_gps.c:55
msgid "Acquired from GPS"
msgstr "Acquis depuis le GPS"
-#: ../src/datasource_gps.c:221
+#: ../src/datasource_gps.c:245
#, c-format
msgid "using cmdline '%s' and file '%s'\n"
msgstr "exécute la commande '%s' avec le fichier '%s'\n"
-#: ../src/datasource_gps.c:297 ../src/vikgpslayer.c:884
+#: ../src/datasource_gps.c:327 ../src/vikgpslayer.c:934
#, c-format
msgid "Downloading %d waypoint..."
msgid_plural "Downloading %d waypoints..."
msgstr[0] "Téléchargement de %d point d'intérêt..."
msgstr[1] "Téléchargement de %d points d'intérêt..."
-#: ../src/datasource_gps.c:298 ../src/vikgpslayer.c:885
+#: ../src/datasource_gps.c:328 ../src/vikgpslayer.c:935
#, c-format
msgid "Downloading %d trackpoint..."
msgid_plural "Downloading %d trackpoints..."
msgstr[0] "Téléchargement de %d point de route..."
msgstr[1] "Téléchargement de %d points de route..."
-#: ../src/datasource_gps.c:303 ../src/vikgpslayer.c:890
+#: ../src/datasource_gps.c:333 ../src/vikgpslayer.c:940
#, c-format
msgid "Downloading %d routepoint..."
msgid_plural "Downloading %d routepoints..."
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "Téléchargement de %d point de route..."
+msgstr[1] "Téléchargement de %d points de route..."
-#: ../src/datasource_gps.c:325 ../src/datasource_gps.c:326
-#: ../src/datasource_gps.c:327
+#: ../src/datasource_gps.c:355 ../src/datasource_gps.c:356
+#: ../src/datasource_gps.c:357
#, c-format
msgid "Downloaded %d out of %d %s..."
msgstr "%d sur %d %s téléchargés"
-#: ../src/datasource_gps.c:331 ../src/datasource_gps.c:332
-#: ../src/datasource_gps.c:333
+#: ../src/datasource_gps.c:361 ../src/datasource_gps.c:362
+#: ../src/datasource_gps.c:363
#, c-format
msgid "Downloaded %d %s."
msgstr "%d %s téléchargés"
-#: ../src/datasource_gps.c:347 ../src/vikgpslayer.c:968
+#: ../src/datasource_gps.c:377 ../src/vikgpslayer.c:1018
#, c-format
msgid "GPS Device: %s"
msgstr "Appareil GPS : %s"
-#: ../src/datasource_gps.c:370 ../src/vikgpslayer.c:1042
-#: ../src/vikgpslayer.c:1110
+#: ../src/datasource_gps.c:400 ../src/vikgpslayer.c:1092
+#: ../src/vikgpslayer.c:1160
msgid "Status: Working..."
-msgstr ""
+msgstr "Etat : Travail..."
-#: ../src/datasource_gps.c:469 ../src/vikgpslayer.c:150
+#. NB gps_layer_inst_init() is performed after parameter registeration
+#. thus to give the protocols some potential values use the old static list
+#. TODO: find another way to use gps_layer_inst_init()?
+#: ../src/datasource_gps.c:500 ../src/vikgpslayer.c:207
msgid "GPS Protocol:"
msgstr "Protocole GPS :"
-#. List now assigned at runtime
-#: ../src/datasource_gps.c:488 ../src/vikgpslayer.c:151
+#. List reassigned at runtime
+#: ../src/datasource_gps.c:526 ../src/vikgpslayer.c:208
msgid "Serial Port:"
msgstr "Port série :"
-#: ../src/datasource_gps.c:509
+#: ../src/datasource_gps.c:576
msgid ""
"Turn Off After Transfer\n"
"(Garmin/NAViLink Only)"
@@ -606,19 +717,19 @@ msgstr ""
"Eteindre après transfert\n"
"(Garmin/NAViLink seulement)"
-#: ../src/datasource_gps.c:512
+#: ../src/datasource_gps.c:583
msgid "Tracks:"
msgstr "Tracks :"
-#: ../src/datasource_gps.c:516
+#: ../src/datasource_gps.c:590
msgid "Routes:"
-msgstr ""
+msgstr "Itinéraires :"
-#: ../src/datasource_gps.c:520
+#: ../src/datasource_gps.c:597
msgid "Waypoints:"
msgstr "Waypoints :"
-#: ../src/datasource_gps.c:594 ../src/vikgpslayer.c:1305
+#: ../src/datasource_gps.c:675 ../src/vikgpslayer.c:1355
msgid "GPS device: N/A"
msgstr "Appareil GPS : N/A"
@@ -626,66 +737,84 @@ msgstr "Appareil GPS : N/A"
msgid "OSM traces"
msgstr "Traces OSM"
-#: ../src/datasource_osm.c:80
+#: ../src/datasource_osm.c:82
msgid "Page number:"
msgstr "Numéro de page :"
-#: ../src/datasource_osm_my_traces.c:63 ../src/datasource_osm_my_traces.c:64
+#: ../src/datasource_osm_my_traces.c:59 ../src/datasource_osm_my_traces.c:60
msgid "OSM My Traces"
-msgstr ""
+msgstr "Mes Traces OSM"
-#: ../src/datasource_osm_my_traces.c:108
+#: ../src/datasource_osm_my_traces.c:104
msgid "Username:"
-msgstr ""
+msgstr "Nom d'utilisateur :"
-#: ../src/datasource_osm_my_traces.c:113
+#: ../src/datasource_osm_my_traces.c:109
msgid "The email or username used to login to OSM"
-msgstr ""
+msgstr "L'adresse mail ou l'identifiant utilisé pour s'authentifier sur OSM"
-#: ../src/datasource_osm_my_traces.c:115 ../src/osm-traces.c:413
+#: ../src/datasource_osm_my_traces.c:111 ../src/osm-traces.c:421
msgid "Password:"
msgstr "Mot de passe :"
-#: ../src/datasource_osm_my_traces.c:120
+#: ../src/datasource_osm_my_traces.c:114
msgid "The password used to login to OSM"
-msgstr ""
+msgstr "Le mot de passe utilisé pour s'autentifier sur OSM"
-#: ../src/datasource_osm_my_traces.c:430
+#: ../src/datasource_osm_my_traces.c:429
msgid "Description"
-msgstr ""
+msgstr "Description"
-#: ../src/datasource_osm_my_traces.c:445
+#: ../src/datasource_osm_my_traces.c:444
msgid "Privacy"
-msgstr ""
+msgstr "Confidentialité"
-#: ../src/datasource_osm_my_traces.c:452
+#: ../src/datasource_osm_my_traces.c:451
msgid "Within Current View"
-msgstr ""
+msgstr "Dans la Vue Courante"
#: ../src/datasource_osm_my_traces.c:518
msgid "GPS Traces"
-msgstr ""
+msgstr "Traces GPS"
#: ../src/datasource_osm_my_traces.c:520
msgid "None found!"
-msgstr ""
+msgstr "Aucun résultat !"
-#: ../src/datasource_osm_my_traces.c:629
+#: ../src/datasource_osm_my_traces.c:634
msgid "My OSM Traces"
-msgstr ""
+msgstr "Mes traces OSM"
-#: ../src/datasource_osm_my_traces.c:645
+#: ../src/datasource_osm_my_traces.c:649
#, c-format
msgid "Unable to get trace: %s"
+msgstr "Impossible d'obtenir la trace : %s"
+
+#: ../src/datasource_routing.c:53 ../src/datasource_routing.c:54
+msgid "Directions"
msgstr ""
+#. Engine selector
+#: ../src/datasource_routing.c:83
+msgid "Engine:"
+msgstr ""
+
+#. From and To entries
+#: ../src/datasource_routing.c:88
+msgid "From:"
+msgstr "De :"
+
+#: ../src/datasource_routing.c:90
+msgid "To:"
+msgstr "À :"
+
#: ../src/datasource_wikipedia.c:32
msgid "Create Waypoints from Wikipedia Articles"
-msgstr ""
+msgstr "Créer des Waypoints depuis les articles Wikipedia"
#: ../src/datasource_wikipedia.c:33
msgid "Wikipedia Waypoints"
-msgstr ""
+msgstr "Wikipedia Waypoints"
#: ../src/dem.c:65 ../src/dem.c:79
msgid "Invalid DEM"
@@ -699,141 +828,141 @@ msgstr "Entête DEM invalide"
msgid "Incorrect DEM Class B record: expected 1"
msgstr "Enregistrement DEM Class B incorrect: la valeur devrait être 1"
-#: ../src/dem.c:360
+#: ../src/dem.c:288 ../src/download.c:170
#, c-format
msgid "Couldn't map file %s: %s"
msgstr ""
-#: ../src/download.c:112
-msgid "Tile age (s):"
-msgstr "Ancienneté des tuiles (en secondes):"
+#: ../src/download.c:130
+msgid "Tile age (days):"
+msgstr "Age de la tuile (jours) :"
-#: ../src/download.c:233
+#: ../src/download.c:321
#, c-format
msgid "Download error: %s"
msgstr "Erreur de téléchargement : %s"
-#: ../src/download.c:313
+#: ../src/download.c:404
msgid "couldn't open temp file"
msgstr "Impossible d'ouvrir le fichier temporaire"
-#: ../src/file.c:456 ../src/file.c:461
+#: ../src/file.c:451 ../src/file.c:456
#, c-format
msgid "Draw mode '%s' no more supported"
msgstr "Le mode d'affichage '%s' n'est plus supporté"
-#: ../src/geotag_exif.c:433
+#: ../src/geotag_exif.c:421
msgid "Not enough memory."
msgstr "Mémoire insuffisante."
-#: ../src/geotag_exif.c:451
+#: ../src/geotag_exif.c:439
msgid "Setting a value for this tag is unsupported!"
msgstr ""
-#: ../src/geotag_exif.c:470
+#: ../src/geotag_exif.c:458
#, c-format
msgid "Too few components specified (need %d, found %d)\n"
-msgstr ""
+msgstr "Trop peu de composants spécifiés (%d requis, %d trouvés)\n"
-#: ../src/geotag_exif.c:474
+#: ../src/geotag_exif.c:462
msgid "Numeric value expected\n"
msgstr "Valeur numérique attendue\n"
-#: ../src/geotag_exif.c:482
+#: ../src/geotag_exif.c:470
msgid "This shouldn't happen!"
-msgstr ""
+msgstr "Cela ne devrait pas se produire !"
-#: ../src/geotag_exif.c:552
+#: ../src/geotag_exif.c:540
msgid "Not yet implemented!"
msgstr "Pas encore implémenté !"
-#: ../src/geotag_exif.c:565
+#: ../src/geotag_exif.c:553
msgid "Warning; Too many components specified!"
msgstr "Attention; Trop de composants spécifiés !"
-#: ../src/osm-traces.c:73
+#: ../src/osm-traces.c:76
msgid "Identifiable (public w/ timestamps)"
msgstr ""
"Identifiable (affiché dans la liste des traces et comme identifiable, points "
"ordonnés avec les dates)"
-#: ../src/osm-traces.c:74
+#: ../src/osm-traces.c:77
msgid "Trackable (private w/ timestamps)"
msgstr ""
"Pistable (partagé seulement anonymement, points ordonnés avec les dates)"
-#: ../src/osm-traces.c:75
+#: ../src/osm-traces.c:78
msgid "Public"
msgstr "Public"
-#: ../src/osm-traces.c:76
+#: ../src/osm-traces.c:79
msgid "Private"
msgstr "Privé"
-#: ../src/osm-traces.c:93
+#: ../src/osm-traces.c:97
msgid "OSM username:"
msgstr "Nom d'utilisateur OSM :"
-#: ../src/osm-traces.c:94
+#: ../src/osm-traces.c:98
msgid "OSM password:"
msgstr "Mot de passe OSM :"
#. Preferences
-#: ../src/osm-traces.c:151
+#: ../src/osm-traces.c:155
msgid "OpenStreetMap Traces"
msgstr "Traces OpenStreetMap"
-#: ../src/osm-traces.c:234
+#: ../src/osm-traces.c:238
#, c-format
msgid "failed to upload data: HTTP response is %ld"
msgstr "Impossible d'uploader : la réponse HTTP est %ld"
-#: ../src/osm-traces.c:239
+#: ../src/osm-traces.c:243
#, c-format
msgid "curl_easy_getinfo failed: %d"
msgstr "curl_easy_getinfo a échoué : %d"
-#: ../src/osm-traces.c:244
+#: ../src/osm-traces.c:248
#, c-format
msgid "curl request failed: %s"
msgstr "Échec lors de la requête curl : %s"
-#: ../src/osm-traces.c:275
+#: ../src/osm-traces.c:279
#, c-format
msgid "failed to open temporary file: %s"
msgstr "Impossible d'ouvrir le fichier temporaire %s"
#. Success
-#: ../src/osm-traces.c:328
+#: ../src/osm-traces.c:340
msgid "Uploaded to OSM"
msgstr "Envoyé à OSM"
-#: ../src/osm-traces.c:332
+#: ../src/osm-traces.c:344
msgid "FAILED TO UPLOAD DATA TO OSM - CURL PROBLEM"
msgstr "ERREUR D'ENVOI DES DONNEES VERS OSM - PROBLEME AVEC CURL"
-#: ../src/osm-traces.c:335
+#: ../src/osm-traces.c:347
msgid "FAILED TO UPLOAD DATA TO OSM"
msgstr "ERREUR D'ENVOI DES DONNEES VERS OSM"
-#: ../src/osm-traces.c:335
+#: ../src/osm-traces.c:347
msgid "HTTP response code"
-msgstr ""
+msgstr "Code réponse HTTP"
-#: ../src/osm-traces.c:348
+#: ../src/osm-traces.c:355
#, c-format
msgid "failed to unlink temporary file: %s"
msgstr "Impossible de supprimer le fichier temporaire \"%s\""
-#: ../src/osm-traces.c:387
+#: ../src/osm-traces.c:394
msgid "OSM upload"
msgstr "Émission vers OSM"
-#: ../src/osm-traces.c:405
+#: ../src/osm-traces.c:413
msgid "Email:"
msgstr "Email :"
-#: ../src/osm-traces.c:410
+#: ../src/osm-traces.c:418
msgid ""
"The email used as login\n"
"<small>Enter the email you use to login into www.openstreetmap.org.</small>"
@@ -842,7 +971,7 @@ msgstr ""
"<small>Entrer l'adresse e-mail ou le nom d'utilisateur que vous utilisez sur "
"www.openstreetmap.org.</small>"
-#: ../src/osm-traces.c:418
+#: ../src/osm-traces.c:426
msgid ""
"The password used to login\n"
"<small>Enter the password you use to login into "
@@ -852,11 +981,11 @@ msgstr ""
"<small>Entrer le mot de passe que vous utilisez sur "
"www.openstreetmap.org.</small>"
-#: ../src/osm-traces.c:423
+#: ../src/osm-traces.c:431
msgid "File's name:"
msgstr "Nom du fichier :"
-#: ../src/osm-traces.c:433
+#: ../src/osm-traces.c:441
msgid ""
"The name of the file on OSM\n"
"<small>This is the name of the file created on the server.This is not the "
@@ -866,92 +995,124 @@ msgstr ""
"<small>Ceci est le nom du fichier créé sur le serveur OSM et non pas le nom "
"du fichier local.</small>"
-#: ../src/osm-traces.c:442
+#: ../src/osm-traces.c:450
msgid "The description of the trace"
msgstr "Description de la trace"
-#: ../src/osm-traces.c:444
+#: ../src/osm-traces.c:453
+msgid "Anonymize Times:"
+msgstr ""
+
+#: ../src/osm-traces.c:458
+msgid ""
+"Anonymize times of the trace.\n"
+"<small>You may choose to make the trace identifiable, yet mask the actual "
+"real time values</small>"
+msgstr ""
+
+#: ../src/osm-traces.c:462
msgid "Tags:"
msgstr "Étiquettes :"
-#: ../src/osm-traces.c:449
+#: ../src/osm-traces.c:467
msgid "The tags associated to the trace"
msgstr "Étiquettes associées à la trace"
-#: ../src/osm-traces.c:482
+#: ../src/osm-traces.c:529
#, c-format
msgid "Uploading %s to OSM"
msgstr "Émission de %s vers OSM"
#: ../src/mapcache.c:61
msgid "Map cache memory size (MB):"
-msgstr ""
+msgstr "Taille du cache mémoire des cartes (Mio) :"
-#: ../src/print.c:53
+#: ../src/print.c:51 ../src/viktrwlayer.c:509
msgid "None"
msgstr "Aucun"
-#: ../src/print.c:54
+#: ../src/print.c:52
msgid "Horizontally"
msgstr "Horizontalement"
-#: ../src/print.c:55
+#: ../src/print.c:53
msgid "Vertically"
msgstr "Verticalement"
-#: ../src/print.c:56
+#: ../src/print.c:54
msgid "Both"
msgstr "Les deux"
-#: ../src/print.c:120
+#: ../src/print.c:118
msgid "Image Settings"
msgstr "Paramètres de l'image"
-#: ../src/print.c:546
+#: ../src/print.c:548
msgid "done"
msgstr "terminé"
#. Page Size
-#: ../src/print.c:575
+#: ../src/print.c:577
msgid "_Adjust Page Size and Orientation"
msgstr "_Ajuster la taille de l'orientation de la page"
-#: ../src/print.c:591
+#: ../src/print.c:593
msgid "C_enter:"
msgstr "C_entrer :"
#. ignore page margins
-#: ../src/print.c:609
+#: ../src/print.c:611
msgid "Ignore Page _Margins"
msgstr "Ignorer les _marges de page"
-#: ../src/print.c:628
+#: ../src/print.c:630
msgid "Image S_ize:"
msgstr "Taille de l'_image :"
-#: ../src/util.c:81
-msgid "Could not launch web browser."
-msgstr "Impossible de lancer le navigateur web."
+#: ../src/util.c:65
+#, c-format
+msgid "Could not launch web browser. %s"
+msgstr ""
+
+#: ../src/util.c:76
+#, c-format
+msgid "Could not create new email. %s"
+msgstr "Impossible de créer un nouvel e-mail. %s"
+
+#: ../src/util.c:177
+#, c-format
+msgid ""
+"There is a newer version of Viking available: %s\n"
+"\n"
+"Do you wish to go to Viking's website now?"
+msgstr ""
+"Il y a une nouvelle version de Viking disponible : %s\n"
+"Souhaitez-vous aller sur le site de Viking maintenant ?"
-#: ../src/util.c:92
-msgid "Could not create new email."
-msgstr "Impossible de créer un nouvel email."
+#: ../src/util.c:304
+msgid ""
+"This appears to be Viking's very first run.\n"
+"\n"
+"Do you wish to enable automatic internet features?\n"
+"\n"
+"Individual settings can be controlled in the Preferences."
+msgstr ""
-#: ../src/vikcoordlayer.c:46
+#: ../src/vikcoordlayer.c:57
msgid "Color:"
msgstr "Couleur :"
-#: ../src/vikcoordlayer.c:47
+#: ../src/vikcoordlayer.c:58
msgid "Minutes Width:"
msgstr "Écartement en minutes :"
-#: ../src/vikcoordlayer.c:48
+#: ../src/vikcoordlayer.c:59
msgid "Line Thickness:"
msgstr "Épaisseur de la ligne :"
-#: ../src/vikcoordlayer.c:56
+#: ../src/vikcoordlayer.c:66
msgid "Coordinate"
-msgstr ""
+msgstr "Coordonnée"
#: ../src/datasource_bfilter.c:46
msgid "Max number of points:"
@@ -971,7 +1132,7 @@ msgstr "Supprimer les waypoints dupliqués"
#: ../src/datasource_bfilter.c:129
msgid "Waypoints Inside This"
-msgstr ""
+msgstr "Waypoints à l'intérieur"
#: ../src/datasource_bfilter.c:130
msgid "Polygonized Layer"
@@ -985,63 +1146,131 @@ msgstr ""
msgid "Polygonzied Layer"
msgstr "Calque polygonial"
-#: ../src/main.c:89
+#: ../src/main.c:92
#, c-format
msgid "Ignoring Xlib error: error code %d request code %d\n"
msgstr ""
-#: ../src/main.c:102
+#: ../src/main.c:105
msgid "Enable debug output"
msgstr "Activer la sortie de débogage"
-#: ../src/main.c:103
+#: ../src/main.c:106
msgid "Enable verbose output"
msgstr "Autoriser le mode bavard sur la sortie"
-#: ../src/main.c:104
+#: ../src/main.c:107
msgid "Show version"
msgstr "Affiche la version"
-#: ../src/osm.c:106
+#: ../src/osm.c:99
msgid "On Disk OSM Tile Format"
msgstr ""
-#: ../src/osm.c:121
+#: ../src/osm.c:113
msgid "OSM (view)"
msgstr "OSM (voir)"
-#: ../src/osm.c:125
+#: ../src/osm.c:117
msgid "OSM (edit)"
msgstr "OSM (éditer)"
-#: ../src/osm.c:129
+#: ../src/osm.c:121
msgid "OSM (render)"
msgstr "OSM (recalculer)"
#. Example: http://127.0.0.1:8111/load_and_zoom?left=8.19&right=8.20&top=48.605&bottom=48.590&select=node413602999
#. JOSM or merkaartor must already be running with remote interface enabled
-#: ../src/osm.c:136
+#: ../src/osm.c:128
msgid "Local port 8111 (eg JOSM)"
+msgstr "Port local 8111 (ex. JOSM)"
+
+#: ../src/osm.c:134
+msgid "OpenStreetMap Notes"
+msgstr "Notes Openstreetmap"
+
+#: ../src/osm.c:138
+msgid "OpenStreetBugs"
+msgstr "OpenStreetBugs"
+
+#. Not really OSM but can't be bothered to create somewhere else to put it...
+#: ../src/osm.c:164
+msgid "Wikimedia Toolserver GeoHack"
msgstr ""
-#: ../src/preferences.c:285
+#: ../src/preferences.c:191
msgid "Preferences"
msgstr "Préférences"
-#: ../src/uibuilder.c:147
+#: ../src/viklayer_defaults.c:232
+#, c-format
+msgid "Could not open file: %s"
+msgstr ""
+
+#: ../src/viklayer_defaults.c:303
+msgid "Layer Defaults"
+msgstr ""
+
+#: ../src/uibuilder.c:185
msgid "Take care that this password will be stored clearly in a plain file."
msgstr ""
"Attention, ce mot de passe sera stocké en clair dans un fichier teste."
-#: ../src/vikaggregatelayer.c:37
+#: ../src/vikaggregatelayer.c:42
msgid "Aggregate"
+msgstr "Regroupement"
+
+#. VikLayersPanel *vlp = VIK_LAYERS_PANEL(lav[1]);
+#: ../src/vikaggregatelayer.c:484 ../src/viktrwlayer.c:10238
+#, c-format
+msgid "%s: Track and Route List"
+msgstr "%s : Liste des routes et des traces"
+
+#: ../src/vikaggregatelayer.c:529 ../src/viktrwlayer.c:7354
+#: ../src/viktrwlayer.c:7420 ../src/viktrwlayer.c:7498
+msgid "_Visibility"
+msgstr "_Visibilité"
+
+#: ../src/vikaggregatelayer.c:534
+msgid "_Show All"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:540
+msgid "_Hide All"
+msgstr "_Cacher tout"
+
+#: ../src/vikaggregatelayer.c:546 ../src/viktrwlayer.c:7371
+#: ../src/viktrwlayer.c:7437 ../src/viktrwlayer.c:7515
+msgid "_Toggle"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:553 ../src/viktrwlayer.c:7536
+msgid "_Sort"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:559 ../src/viktrwlayer.c:7542
+msgid "Name _Ascending"
+msgstr "Nom _Croissant"
+
+#: ../src/vikaggregatelayer.c:565 ../src/viktrwlayer.c:7548
+msgid "Name _Descending"
+msgstr "Nom _Décroissant"
+
+#: ../src/vikaggregatelayer.c:571 ../src/viktrwlayer.c:7449
+#: ../src/viktrwlayer.c:7527 ../src/viktrwlayer.c:7587
+#: ../src/viktrwlayer_tracklist.c:237
+msgid "_Statistics"
msgstr ""
-#: ../src/vikdemlayer.c:101
+#: ../src/vikaggregatelayer.c:576 ../src/viktrwlayer.c:3971
+msgid "Track _List..."
+msgstr "_Liste des traces"
+
+#: ../src/vikdemlayer.c:92
msgid "Absolute height"
msgstr "Altitude absolue"
-#: ../src/vikdemlayer.c:102
+#: ../src/vikdemlayer.c:93
msgid "Height gradient"
msgstr "Gradient"
@@ -1081,25 +1310,52 @@ msgstr ""
msgid "DEM"
msgstr ""
-#: ../src/vikdemlayer.c:284
+#: ../src/vikdemlayer.c:287
#, c-format
msgid "Number of files: %d"
msgstr "Nombre de fichiers : %d"
-#: ../src/vikdemlayer.c:385
+#: ../src/vikdemlayer.c:427
msgid "DEM Loading"
msgstr "Chargement DEM"
-#: ../src/vikdemlayer.c:889
+#: ../src/vikdemlayer.c:937
#, c-format
msgid "No SRTM data available for %f, %f"
msgstr "Aucune donnée SRTM disponible pour %f, %f"
-#: ../src/vikdemlayer.c:1149
+#. Probably not over any land...
+#: ../src/vikdemlayer.c:1193
+msgid "No DEM File Available"
+msgstr ""
+
+#: ../src/vikdemlayer.c:1212
+#, c-format
+msgid ""
+"\n"
+"Source: %s\n"
+"\n"
+"DEM File: %s\n"
+"DEM File Timestamp: %s"
+msgstr ""
+
+#: ../src/vikdemlayer.c:1216
+#, c-format
+msgid ""
+"Source: %s\n"
+"\n"
+"No DEM File!"
+msgstr ""
+
+#: ../src/vikdemlayer.c:1256
#, c-format
msgid "Downloading DEM %s"
msgstr "Téléchargement du DEM %s"
+#: ../src/vikdemlayer.c:1280
+msgid "_Show DEM File Information"
+msgstr ""
+
#: ../src/vikfileentry.c:68
msgid "Browse..."
msgstr "Parcourir…"
@@ -1120,249 +1376,267 @@ msgstr "Ajouter…"
msgid "Delete"
msgstr "Détruire"
-#: ../src/vikgeoreflayer.c:70
+#: ../src/vikgeoreflayer.c:78
msgid "_Georef Move Map"
msgstr ""
-#: ../src/vikgeoreflayer.c:70
+#: ../src/vikgeoreflayer.c:78
msgid "Georef Move Map"
msgstr "Déplacer la carte"
-#: ../src/vikgeoreflayer.c:77
+#: ../src/vikgeoreflayer.c:85
msgid "Georef Z_oom Tool"
msgstr ""
-#: ../src/vikgeoreflayer.c:77
+#: ../src/vikgeoreflayer.c:85
msgid "Georef Zoom Tool"
msgstr "Zoom"
-#: ../src/vikgeoreflayer.c:87
+#: ../src/vikgeoreflayer.c:95
msgid "GeoRef Map"
-msgstr ""
+msgstr "Carte"
-#: ../src/vikgeoreflayer.c:335 ../src/vikmapslayer.c:685
+#: ../src/vikgeoreflayer.c:377 ../src/vikmapslayer.c:720
#, c-format
msgid "Couldn't open image file: %s"
msgstr "Impossible d'ouvrir le fichier : %s"
-#: ../src/vikgeoreflayer.c:365
+#: ../src/vikgeoreflayer.c:391
+msgid ""
+"GeoRef map cannot be displayed in the current drawmode.\n"
+"Select \"UTM Mode\" from View menu to view it."
+msgstr ""
+
+#: ../src/vikgeoreflayer.c:415
msgid "Unexpected end of file reading World file."
msgstr "Fin de fichier World inattendue."
-#: ../src/vikgeoreflayer.c:381 ../src/vikgeoreflayer.c:426
+#: ../src/vikgeoreflayer.c:431 ../src/vikgeoreflayer.c:476
msgid "Choose World file"
msgstr "Sélectionner un fichier World"
-#: ../src/vikgeoreflayer.c:394
+#: ../src/vikgeoreflayer.c:444
msgid "The World file you requested could not be opened for reading."
msgstr "Le fichier choisi ne peut être ouvert en lecture."
-#: ../src/vikgeoreflayer.c:439
+#: ../src/vikgeoreflayer.c:489
msgid "The file you requested could not be opened for writing."
msgstr "Le fichier choisi ne peut être ouvert en écriture."
-#: ../src/vikgeoreflayer.c:456 ../src/viklayer.c:480
+#: ../src/vikgeoreflayer.c:506 ../src/viklayer.c:518
msgid "Layer Properties"
msgstr "Propriétés du calque"
-#: ../src/vikgeoreflayer.c:478
+#: ../src/vikgeoreflayer.c:528
msgid "World File Parameters:"
msgstr "Paramètres du fichier World :"
-#: ../src/vikgeoreflayer.c:479
+#: ../src/vikgeoreflayer.c:529
msgid "Load From File..."
msgstr "Chargement depuis un fichier…"
-#: ../src/vikgeoreflayer.c:484
+#: ../src/vikgeoreflayer.c:534
msgid "Corner pixel easting:"
msgstr "Pixel référence à l'est:"
-#: ../src/vikgeoreflayer.c:486
-msgid "the UTM \"easting\" value of the upper-right corner pixel of the map"
-msgstr "Coordonnée UTM \"Est\" du pixel en haut à droite de la carte"
+#: ../src/vikgeoreflayer.c:536
+msgid "the UTM \"easting\" value of the upper-left corner pixel of the map"
+msgstr ""
-#: ../src/vikgeoreflayer.c:488
+#: ../src/vikgeoreflayer.c:538
msgid "Corner pixel northing:"
msgstr "Pixel référence au nord:"
-#: ../src/vikgeoreflayer.c:490
-msgid "the UTM \"northing\" value of the upper-right corner pixel of the map"
-msgstr "Coordonnée UTM \"Nord\" du pixel en haut à droite de la carte"
+#: ../src/vikgeoreflayer.c:540
+msgid "the UTM \"northing\" value of the upper-left corner pixel of the map"
+msgstr ""
-#: ../src/vikgeoreflayer.c:492
+#: ../src/vikgeoreflayer.c:542
msgid "X (easting) scale (mpp): "
msgstr "Echelle X (est) (mpp) : "
-#: ../src/vikgeoreflayer.c:493
+#: ../src/vikgeoreflayer.c:543
msgid "Y (northing) scale (mpp): "
msgstr "Echelle Y (nord) (mètres par pixel): "
-#: ../src/vikgeoreflayer.c:496
+#: ../src/vikgeoreflayer.c:546
msgid "the scale of the map in the X direction (meters per pixel)"
msgstr "Echelle horizontale (X) de la carte (mètres par pixel):"
-#: ../src/vikgeoreflayer.c:498
+#: ../src/vikgeoreflayer.c:548
msgid "the scale of the map in the Y direction (meters per pixel)"
msgstr "Echelle verticale (Y) de la carte (mètres par pixel):"
-#: ../src/vikgeoreflayer.c:500
+#: ../src/vikgeoreflayer.c:550
msgid "Map Image:"
msgstr "Image carte :"
#. Now with icons
-#: ../src/vikgeoreflayer.c:608
+#: ../src/vikgeoreflayer.c:658
msgid "_Zoom to Fit Map"
msgstr "_Zoomer sur la carte"
-#: ../src/vikgeoreflayer.c:614
+#: ../src/vikgeoreflayer.c:664
msgid "_Goto Map Center"
msgstr "_Aller au centre de la carte"
-#: ../src/vikgeoreflayer.c:620
+#: ../src/vikgeoreflayer.c:670
msgid "_Export to World File"
msgstr "_Exporter vers fichier World"
-#: ../src/vikgoto.c:75
+#: ../src/vikgoto.c:81
msgid "No goto tool available."
msgstr "Aucun outil Goto disponible."
-#: ../src/vikgoto.c:88 ../src/vikgoto.c:107
+#: ../src/vikgoto.c:94 ../src/vikgoto.c:148
msgid "goto"
msgstr "Aller à"
-#: ../src/vikgoto.c:90
+#: ../src/vikgoto.c:96
msgid "I don't know that place. Do you want another goto?"
msgstr ""
"Je ne connais pas ce lieu. Souhaitez-vous faire une nouvelle recherche?"
-#: ../src/vikgoto.c:109
+#: ../src/vikgoto.c:150
msgid "goto provider:"
msgstr "Moteur de recherche:"
-#: ../src/vikgoto.c:124
+#: ../src/vikgoto.c:165
msgid "Enter address or place name:"
msgstr "Saisir une adresse ou un nom de lieu :"
-#: ../src/vikgpslayer.c:127
-msgid "Data Mode"
+#: ../src/vikgoto.c:363
+msgid "Locality"
msgstr ""
-#: ../src/vikgpslayer.c:129
+#: ../src/vikgpslayer.c:128
+msgid "Data Mode"
+msgstr "Mode données"
+
+#: ../src/vikgpslayer.c:130
msgid "Realtime Tracking Mode"
-msgstr ""
+msgstr "Mode Localisation Temps-réel"
-#: ../src/vikgpslayer.c:137
+#: ../src/vikgpslayer.c:167
msgid "Keep vehicle at center"
-msgstr ""
+msgstr "Garde le véhicule au centre"
-#: ../src/vikgpslayer.c:138
+#: ../src/vikgpslayer.c:168
msgid "Keep vehicle on screen"
-msgstr ""
+msgstr "Garde le véhicule à l'écran"
-#: ../src/vikgpslayer.c:139
+#: ../src/vikgpslayer.c:169
msgid "Disable"
-msgstr ""
+msgstr "Désactivé"
-#: ../src/vikgpslayer.c:152
+#: ../src/vikgpslayer.c:209
msgid "Download Tracks:"
-msgstr ""
+msgstr "Télécharger des traces"
-#: ../src/vikgpslayer.c:153
+#: ../src/vikgpslayer.c:210
msgid "Upload Tracks:"
-msgstr ""
+msgstr "Envoyer des traces"
-#: ../src/vikgpslayer.c:154
+#: ../src/vikgpslayer.c:211
msgid "Download Routes:"
-msgstr ""
+msgstr "Télécharger des routes"
-#: ../src/vikgpslayer.c:155
+#: ../src/vikgpslayer.c:212
msgid "Upload Routes:"
-msgstr ""
+msgstr "Envoyer des routes"
-#: ../src/vikgpslayer.c:156
+#: ../src/vikgpslayer.c:213
msgid "Download Waypoints:"
-msgstr ""
+msgstr "Télécharger des points"
-#: ../src/vikgpslayer.c:157
+#: ../src/vikgpslayer.c:214
msgid "Upload Waypoints:"
-msgstr ""
+msgstr "Envoyer des points"
-#: ../src/vikgpslayer.c:159
+#: ../src/vikgpslayer.c:216
msgid "Recording tracks"
msgstr "Enregistrement des traces"
-#: ../src/vikgpslayer.c:160
+#: ../src/vikgpslayer.c:217
msgid "Jump to current position on start"
msgstr "Avancer à la position courante au démarrage"
-#: ../src/vikgpslayer.c:161
+#: ../src/vikgpslayer.c:218
msgid "Moving Map Method:"
msgstr "Méthode de déplacement de la carte :"
-#: ../src/vikgpslayer.c:162
+#: ../src/vikgpslayer.c:219
+msgid "Update Statusbar:"
+msgstr "Mettre à jour la barre de status"
+
+#: ../src/vikgpslayer.c:219
+msgid "Display information in the statusbar on GPS updates"
+msgstr ""
+
+#: ../src/vikgpslayer.c:220
msgid "Gpsd Host:"
msgstr "Hôte gpsd :"
-#: ../src/vikgpslayer.c:163
+#: ../src/vikgpslayer.c:221
msgid "Gpsd Port:"
msgstr "Port gpsd :"
-#: ../src/vikgpslayer.c:164
+#: ../src/vikgpslayer.c:222
msgid "Gpsd Retry Interval (seconds):"
msgstr "Interval de recherche de GPSD (secondes) :"
-#: ../src/vikgpslayer.c:179
+#: ../src/vikgpslayer.c:243
msgid "GPS"
-msgstr ""
+msgstr "GPS"
-#: ../src/vikgpslayer.c:242 ../src/vikgpslayer.c:1258
+#: ../src/vikgpslayer.c:306 ../src/vikgpslayer.c:1308
msgid "GPS Download"
msgstr "Réception depuis GPS"
-#: ../src/vikgpslayer.c:242 ../src/vikgpslayer.c:1258
-#: ../src/viktrwlayer.c:3094
+#: ../src/vikgpslayer.c:306 ../src/vikgpslayer.c:1308
+#: ../src/viktrwlayer.c:3480
msgid "GPS Upload"
msgstr "Émission vers GPS"
-#: ../src/vikgpslayer.c:244
+#: ../src/vikgpslayer.c:308
msgid "GPS Realtime Tracking"
msgstr "Suivi en temps réel des traces GPS"
-#: ../src/vikgpslayer.c:451
+#: ../src/vikgpslayer.c:517
msgid "Unknown GPS Protocol"
msgstr "Protocole GPS inconnu"
-#: ../src/vikgpslayer.c:469
+#: ../src/vikgpslayer.c:535
msgid "Unknown serial port device"
msgstr "Port série inconnu"
-#: ../src/vikgpslayer.c:572
+#: ../src/vikgpslayer.c:648
#, c-format
msgid "%s: unknown parameter"
msgstr "Paramètre inconnu : %s"
#. Now with icons
-#: ../src/vikgpslayer.c:693
+#: ../src/vikgpslayer.c:743
msgid "_Upload to GPS"
msgstr "_Téléverser vers le GPS"
-#: ../src/vikgpslayer.c:699
+#: ../src/vikgpslayer.c:749
msgid "Download from _GPS"
msgstr "Télécharger depuis le _GPS"
-#: ../src/vikgpslayer.c:720
+#: ../src/vikgpslayer.c:770
msgid "Empty _Realtime"
-msgstr ""
+msgstr "Vider le temps-_réel"
-#: ../src/vikgpslayer.c:727
+#: ../src/vikgpslayer.c:777
msgid "E_mpty Upload"
msgstr "Télé_versement vide"
-#: ../src/vikgpslayer.c:733
+#: ../src/vikgpslayer.c:783
msgid "_Empty Download"
msgstr "Ré_ception vide"
-#: ../src/vikgpslayer.c:739
+#: ../src/vikgpslayer.c:789
msgid "Empty _All"
msgstr "_Tout vider"
@@ -1371,234 +1645,232 @@ msgstr "_Tout vider"
#. This happens when copied GPS layer is deleted (not sure why the number_handlers would be 2)
#. I don't think there's any side effects and certainly better than the program just aborting
#.
-#: ../src/vikgpslayer.c:756
+#: ../src/vikgpslayer.c:806
#, c-format
msgid "Unexpected number of disconnected handlers: %d"
msgstr ""
-#: ../src/vikgpslayer.c:898
+#: ../src/vikgpslayer.c:948
#, c-format
msgid "Uploading %d waypoint..."
msgid_plural "Uploading %d waypoints..."
msgstr[0] "Envoie de %d point d'intérêt..."
msgstr[1] "Envoie de %d points d'intérêt..."
-#: ../src/vikgpslayer.c:899
+#: ../src/vikgpslayer.c:949
#, c-format
msgid "Uploading %d trackpoint..."
msgid_plural "Uploading %d trackpoints..."
msgstr[0] "Envoie de %d point de route..."
msgstr[1] "Envoie de %d points de route..."
-#: ../src/vikgpslayer.c:900
+#: ../src/vikgpslayer.c:950
#, c-format
msgid "Uploading %d routepoint..."
msgid_plural "Uploading %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:925
+#: ../src/vikgpslayer.c:975
#, c-format
msgid "Downloaded %d out of %d waypoint..."
msgid_plural "Downloaded %d out of %d waypoints..."
msgstr[0] "%d sur %d position téléchargée…"
msgstr[1] "%d sur %d positions téléchargées…"
-#: ../src/vikgpslayer.c:926
+#: ../src/vikgpslayer.c:976
#, c-format
msgid "Downloaded %d out of %d trackpoint..."
msgid_plural "Downloaded %d out of %d trackpoints..."
msgstr[0] "%d sur %d point de trace téléchargé…"
msgstr[1] "%d sur %d points de trace téléchargés…"
-#: ../src/vikgpslayer.c:927
+#: ../src/vikgpslayer.c:977
#, c-format
msgid "Downloaded %d out of %d routepoint..."
msgid_plural "Downloaded %d out of %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:932
+#: ../src/vikgpslayer.c:982
#, c-format
msgid "Uploaded %d out of %d waypoint..."
msgid_plural "Uploaded %d out of %d waypoints..."
msgstr[0] "%d sur %d waypoint émis…"
msgstr[1] "%d sur %d waypoints émis…"
-#: ../src/vikgpslayer.c:933
+#: ../src/vikgpslayer.c:983
#, c-format
msgid "Uploaded %d out of %d trackpoint..."
msgid_plural "Uploaded %d out of %d trackpoints..."
msgstr[0] "%d sur %d point de trace émis…"
msgstr[1] "%d sur %d points de trace émis…"
-#: ../src/vikgpslayer.c:934
+#: ../src/vikgpslayer.c:984
#, c-format
msgid "Uploaded %d out of %d routepoint..."
msgid_plural "Uploaded %d out of %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:942
+#: ../src/vikgpslayer.c:992
#, c-format
msgid "Downloaded %d waypoint"
msgid_plural "Downloaded %d waypoints"
msgstr[0] "%d waypoint téléchargé"
msgstr[1] "%d waypoints téléchargés"
-#: ../src/vikgpslayer.c:943
+#: ../src/vikgpslayer.c:993
#, c-format
msgid "Downloaded %d trackpoint"
msgid_plural "Downloaded %d trackpoints"
msgstr[0] "%d point de trace téléchargé"
msgstr[1] "%d points de trace téléchargés"
-#: ../src/vikgpslayer.c:944
+#: ../src/vikgpslayer.c:994
#, c-format
msgid "Downloaded %d routepoint"
msgid_plural "Downloaded %d routepoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:949
+#: ../src/vikgpslayer.c:999
#, c-format
msgid "Uploaded %d waypoint"
msgid_plural "Uploaded %d waypoints"
msgstr[0] "%d waypoint émis"
msgstr[1] "%d waypoints émis"
-#: ../src/vikgpslayer.c:950
+#: ../src/vikgpslayer.c:1000
#, c-format
msgid "Uploaded %d trackpoint"
msgid_plural "Uploaded %d trackpoints"
msgstr[0] "%d point de trace émis"
msgstr[1] "%d points de trace émis"
-#: ../src/vikgpslayer.c:951
+#: ../src/vikgpslayer.c:1001
#, c-format
msgid "Uploaded %d routepoint"
msgid_plural "Uploaded %d routepoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:1180
+#: ../src/vikgpslayer.c:1230
msgid "Error: couldn't find gpsbabel."
msgstr "Erreur: impossible de trouver gpsbabel."
-#: ../src/vikgpslayer.c:1269
+#: ../src/vikgpslayer.c:1319
msgid "Warning - GPS Upload items may overwrite each other"
msgstr ""
-#: ../src/vikgpslayer.c:1301
+#: ../src/vikgpslayer.c:1351
msgid "Status: detecting gpsbabel"
msgstr "Etat : détection gpsbabel en cours"
-#: ../src/vikgpslayer.c:1332
+#: ../src/vikgpslayer.c:1386
msgid "No GPS items selected for transfer."
-msgstr ""
+msgstr "Aucun élément GPS n'est sélectionné pour le transfert."
-#: ../src/vikgpslayer.c:1347
+#: ../src/vikgpslayer.c:1401
msgid "Could not turn off device."
-msgstr ""
+msgstr "Ne pas éteindre le périphérique."
-#: ../src/vikgpslayer.c:1385
+#: ../src/vikgpslayer.c:1439
msgid "Are you sure you want to delete GPS Upload data?"
msgstr "Etes-vous sûr de vouloir supprimer les données GPS envoyées ?"
-#: ../src/vikgpslayer.c:1398
+#: ../src/vikgpslayer.c:1452
msgid "Are you sure you want to delete GPS Download data?"
msgstr "Etes-vous sûr de vouloir supprimer les données GPS téléchargées ?"
-#: ../src/vikgpslayer.c:1412
+#: ../src/vikgpslayer.c:1466
msgid "Are you sure you want to delete GPS Realtime data?"
msgstr "Etes-vous sûr de vouloir supprimer les données GPS \"Realtime\" ?"
-#: ../src/vikgpslayer.c:1425
+#: ../src/vikgpslayer.c:1479
msgid "Are you sure you want to delete All GPS data?"
msgstr "Etes-vous sûr de vouloir supprimer toutes les données GPS ?"
-#: ../src/viklayerspanel.c:55
-msgid "/C_ut"
-msgstr "/Co_uper"
+#: ../src/viklayerspanel.c:53
+msgid "C_ut"
+msgstr ""
-#: ../src/viklayerspanel.c:56
-msgid "/_Copy"
-msgstr "/Co_pier"
+#: ../src/viklayerspanel.c:54 ../src/vikwindow.c:3753
+msgid "_Copy"
+msgstr "Co_pier"
-#: ../src/viklayerspanel.c:57
-msgid "/_Paste"
-msgstr "/C_oller"
+#: ../src/viklayerspanel.c:55 ../src/vikwindow.c:3754
+msgid "_Paste"
+msgstr "C_oller"
-#: ../src/viklayerspanel.c:58
-msgid "/_Delete"
-msgstr "/_Détruire"
+#: ../src/viklayerspanel.c:56 ../src/vikwindow.c:3755
+msgid "_Delete"
+msgstr "_Effacer"
-#: ../src/viklayerspanel.c:59
-msgid "/New Layer"
-msgstr "/Nouveau calque"
+#: ../src/viklayerspanel.c:133
+msgid "New Layer"
+msgstr ""
-#: ../src/viklayerspanel.c:127
+#: ../src/viklayerspanel.c:178
msgid "Top Layer"
msgstr "Calque maître"
-#: ../src/viklayerspanel.c:143
+#: ../src/viklayerspanel.c:194
msgid "Add new layer"
msgstr "Ajouter un nouveau calque"
-#: ../src/viklayerspanel.c:150
+#: ../src/viklayerspanel.c:201
msgid "Remove selected layer"
msgstr "Supprimer le calque sélectionné"
-#: ../src/viklayerspanel.c:157
+#: ../src/viklayerspanel.c:208
msgid "Move selected layer up"
msgstr "Déplacer vers le haut le calque sélectionné"
-#: ../src/viklayerspanel.c:164
+#: ../src/viklayerspanel.c:215
msgid "Move selected layer down"
msgstr "Déplacer vers le bas le calque sélectionné"
-#: ../src/viklayerspanel.c:171
+#: ../src/viklayerspanel.c:222
msgid "Cut selected layer"
msgstr "Couper le calque sélectionné"
-#: ../src/viklayerspanel.c:178
+#: ../src/viklayerspanel.c:229
msgid "Copy selected layer"
msgstr "Copier le calque sélectionné"
-#: ../src/viklayerspanel.c:185
-msgid "Paste layer below selected layer"
-msgstr "Coller le calque sous le calque sélectionné"
+#: ../src/viklayerspanel.c:236
+msgid ""
+"Paste layer into selected container layer or otherwise above selected layer"
+msgstr ""
-#. TODO: FIXME: if name has a '/' in it it will get all messed up. why not have an itemfactory field with
-#. name, icon, shortcut, etc.?
-#: ../src/viklayerspanel.c:204 ../src/vikwindow.c:3292
-#, c-format
-msgid "New _%s Layer"
+#: ../src/viklayerspanel.c:300
+msgid "New name can not be blank."
msgstr ""
-#: ../src/viklayerspanel.c:511
+#: ../src/viklayerspanel.c:544
msgid "Aggregate Layers have no settable properties."
msgstr "Les calques aggrégés n'ont pas de propriétés."
-#: ../src/viklayerspanel.c:555
+#: ../src/viklayerspanel.c:588
msgid "You cannot cut the Top Layer."
msgstr "Impossible de couper le calque maître"
-#: ../src/viklayerspanel.c:600
+#: ../src/viklayerspanel.c:633
#, c-format
msgid "Are you sure you want to delete %s?"
msgstr "Êtes-vous sûr de vouloir supprimer %s ?"
-#: ../src/viklayerspanel.c:617
+#: ../src/viklayerspanel.c:650
msgid "You cannot delete the Top Layer."
msgstr "Impossible de supprimer le calque maître"
-#: ../src/viklayerspanel.c:701
+#: ../src/viklayerspanel.c:734
msgid "Are you sure you wish to delete all layers?"
msgstr "Voulez-vous vraiment supprimer tous les calques ?"
#. ******* MAPZOOMS ********
-#: ../src/vikmapslayer.c:91
+#: ../src/vikmapslayer.c:80
msgid "Use Viking Zoom Level"
msgstr "Utiliser le zoom courant"
@@ -1616,7 +1888,7 @@ msgstr "Transparence :"
#: ../src/vikmapslayer.c:127
msgid "Control the Alpha value for transparency effects"
-msgstr ""
+msgstr "Contrôle la valeur Alpha pour les effets de transparence"
#: ../src/vikmapslayer.c:128
msgid "Autodownload maps:"
@@ -1632,6 +1904,10 @@ msgid ""
"can be useful if you want to restrict the network usage, without having to "
"resort to manual control. Only applies when 'Autodownload Maps' is on."
msgstr ""
+"L'usage de cette option empêche les tentatives de mise à jour des tuiles "
+"déjà acquises. Cela peut être utile si vous souhaitez réduire l'utilisation "
+"du réseau, sans avoir recours à un contrôle manuel. Ne s'applique que "
+"lorsque l'option 'Téléchargement automatique des cartes' est active."
#: ../src/vikmapslayer.c:131
msgid "Zoom Level:"
@@ -1645,35 +1921,35 @@ msgid ""
"actual zoom level."
msgstr ""
-#: ../src/vikmapslayer.c:146
+#: ../src/vikmapslayer.c:156
msgid "_Maps Download"
msgstr ""
-#: ../src/vikmapslayer.c:146
+#: ../src/vikmapslayer.c:156
msgid "Maps Download"
msgstr "Téléchargement des cartes"
-#: ../src/vikmapslayer.c:161
+#: ../src/vikmapslayer.c:171
msgid "Map"
msgstr "Carte"
-#: ../src/vikmapslayer.c:249
-msgid "Default maplayer directory:"
-msgstr "Dossier contenant les cartes :"
+#: ../src/vikmapslayer.c:259
+msgid "Default map layer directory:"
+msgstr ""
-#: ../src/vikmapslayer.c:249
+#: ../src/vikmapslayer.c:259
msgid "Choose a directory to store cached Map tiles for this layer"
msgstr ""
-#: ../src/vikmapslayer.c:505
+#: ../src/vikmapslayer.c:523
msgid "Unknown map type"
msgstr "Type de carte inconnu"
-#: ../src/vikmapslayer.c:516
+#: ../src/vikmapslayer.c:534
msgid "Unknown Map Zoom"
msgstr "Zoom de carte inconnu"
-#: ../src/vikmapslayer.c:589
+#: ../src/vikmapslayer.c:624
#, c-format
msgid ""
"New map cannot be displayed in the current drawmode.\n"
@@ -1682,35 +1958,35 @@ msgstr ""
"La nouvelle carte ne peut pas être affichée avec le mode actuel.\n"
"Sélectionner \"%s\" dans le menu Vue pour voir cette carte."
-#: ../src/vikmapslayer.c:753
+#: ../src/vikmapslayer.c:798
#, c-format
msgid ""
"Cowardly refusing to draw tiles or existence of tiles beyond %d zoom out "
"factor"
msgstr "Impossible d'afficher des cases en dessous du facteur de zoom %d."
-#: ../src/vikmapslayer.c:1157
+#: ../src/vikmapslayer.c:1210
#, c-format
msgid "Redownloading up to %d %s map..."
msgid_plural "Redownloading up to %d %s maps..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikmapslayer.c:1159
+#: ../src/vikmapslayer.c:1212
#, c-format
msgid "Redownloading %d %s map..."
msgid_plural "Redownloading %d %s maps..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikmapslayer.c:1163 ../src/vikmapslayer.c:1238
+#: ../src/vikmapslayer.c:1216 ../src/vikmapslayer.c:1290
#, c-format
msgid "Downloading %d %s map..."
msgid_plural "Downloading %d %s maps..."
msgstr[0] "Téléchargement de %d carte %s…"
msgstr[1] "Téléchargement de %d cartes %s…"
-#: ../src/vikmapslayer.c:1311
+#: ../src/vikmapslayer.c:1376
#, c-format
msgid ""
"\n"
@@ -1720,31 +1996,34 @@ msgid ""
"Tile File Timestamp: %s"
msgstr ""
-#: ../src/vikmapslayer.c:1318
+#: ../src/vikmapslayer.c:1380
#, c-format
msgid ""
"Source: %s\n"
"\n"
"No Tile File!"
msgstr ""
+"Source : %s\n"
+"\n"
+"Aucun fichier de tuile !"
-#: ../src/vikmapslayer.c:1356
+#: ../src/vikmapslayer.c:1418
msgid "Redownload _Bad Map(s)"
msgstr "Retélécharger les _mauvaises cartes"
-#: ../src/vikmapslayer.c:1360
+#: ../src/vikmapslayer.c:1422
msgid "Redownload _New Map(s)"
msgstr "Retélécharger les _nouvelles cartes"
-#: ../src/vikmapslayer.c:1364
+#: ../src/vikmapslayer.c:1426
msgid "Redownload _All Map(s)"
msgstr "Retélécharger _toutes les cartes"
-#: ../src/vikmapslayer.c:1368
+#: ../src/vikmapslayer.c:1430
msgid "_Show Tile Information"
-msgstr ""
+msgstr "_Afficher les informations de la tuile"
-#: ../src/vikmapslayer.c:1449
+#: ../src/vikmapslayer.c:1511
#, c-format
msgid ""
"Wrong drawmode for this map.\n"
@@ -1753,1438 +2032,2021 @@ msgstr ""
"Mauvais mode d'affichage pour cette carte.\n"
"Sélectionner \"%s\" dans le menu Vue et re-essayer."
-#: ../src/vikmapslayer.c:1454
+#: ../src/vikmapslayer.c:1516
msgid "Wrong zoom level for this map."
msgstr "Mauvais niveau de zoom pour cette carte."
+#: ../src/vikmapslayer.c:1647
+msgid "Zoom Start:"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1654
+msgid "Zoom End:"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1660
+msgid "Download Maps Method:"
+msgstr ""
+
+#. redownload method - needs to align with REDOWNLOAD* macro values
+#: ../src/vikmapslayer.c:1732
+msgid "Missing"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1732
+msgid "Bad"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1732
+msgid "New"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1732
+msgid "Reload All"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1734
+msgid "Download for Zoom Levels"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1774
+#, c-format
+msgid ""
+"You are not allowed to download more than %d tiles in one go (requested %d)"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1782
+#, c-format
+msgid "Do you really want to download %d tiles?"
+msgstr ""
+
#. Now with icons
-#: ../src/vikmapslayer.c:1485
+#: ../src/vikmapslayer.c:1807
msgid "Download _Missing Onscreen Maps"
msgstr "Télécharger les cartes _manquantes à l'écran"
-#: ../src/vikmapslayer.c:1492
+#: ../src/vikmapslayer.c:1814
msgid "Download _New Onscreen Maps"
msgstr "Télécharger les _nouvelles cartes à l'écran"
-#: ../src/vikmapslayer.c:1499
+#: ../src/vikmapslayer.c:1821
msgid "Reload _All Onscreen Maps"
msgstr "R_afraîchir toutes les cartes à l'écran"
-#: ../src/viktreeview.c:263
+#: ../src/vikmapslayer.c:1827
+msgid "Download Maps in _Zoom Levels..."
+msgstr ""
+
+#: ../src/vikrouting.c:54
+msgid "Default engine:"
+msgstr ""
+
+#: ../src/viktreeview.c:316
msgid "Layer Name"
msgstr "Nom du calque"
-#: ../src/viktreeview.c:742
+#: ../src/viktreeview.c:851
#, c-format
msgid "delete data from %s\n"
msgstr "Suppression des données de %s\n"
-#: ../src/viktrwlayer.c:377
+#: ../src/viktrwlayer.c:398
msgid "Create _Waypoint"
-msgstr ""
+msgstr "Créer un _Waypoint"
-#: ../src/viktrwlayer.c:377
+#: ../src/viktrwlayer.c:398
msgid "Create Waypoint"
msgstr "Créer un waypoint"
-#: ../src/viktrwlayer.c:383
+#: ../src/viktrwlayer.c:404
msgid "Create _Track"
-msgstr ""
+msgstr "Créer une _Trace"
-#: ../src/viktrwlayer.c:383
+#: ../src/viktrwlayer.c:404
msgid "Create Track"
msgstr "Créer une trace"
-#: ../src/viktrwlayer.c:392
+#: ../src/viktrwlayer.c:413
msgid "Create _Route"
-msgstr ""
+msgstr "Créer un Itiné_raire"
-#: ../src/viktrwlayer.c:392
+#: ../src/viktrwlayer.c:413
msgid "Create Route"
-msgstr ""
+msgstr "Créer un Itinéraire"
-#: ../src/viktrwlayer.c:401
+#: ../src/viktrwlayer.c:422
msgid "_Edit Waypoint"
-msgstr ""
+msgstr "_Éditer un Waypoint"
-#: ../src/viktrwlayer.c:401
+#: ../src/viktrwlayer.c:422
msgid "Edit Waypoint"
msgstr "Éditer un waypoint"
-#: ../src/viktrwlayer.c:409
+#: ../src/viktrwlayer.c:432
msgid "Edit Trac_kpoint"
-msgstr ""
+msgstr "Éditer un _point de trace"
-#: ../src/viktrwlayer.c:409
+#: ../src/viktrwlayer.c:432
msgid "Edit Trackpoint"
msgstr "Éditer un point de trace"
-#: ../src/viktrwlayer.c:417
+#: ../src/viktrwlayer.c:442
msgid "Show P_icture"
-msgstr ""
+msgstr "Afficher l'_Image"
-#: ../src/viktrwlayer.c:417
+#: ../src/viktrwlayer.c:442
msgid "Show Picture"
msgstr "Afficher une image"
-#: ../src/viktrwlayer.c:424
+#: ../src/viktrwlayer.c:448
msgid "Route _Finder"
-msgstr ""
+msgstr "Calculateur d'_Itinéraire"
-#: ../src/viktrwlayer.c:424
+#: ../src/viktrwlayer.c:448
msgid "Route Finder"
-msgstr ""
+msgstr "Calculateur d'Itinéraire"
#. ***** PARAMETERS *****
-#: ../src/viktrwlayer.c:447 ../src/viktrwlayer.c:1942
-#: ../src/viktrwlayer.c:1944
+#: ../src/viktrwlayer.c:468 ../src/viktrwlayer.c:2324
msgid "Waypoints"
msgstr "Waypoints"
-#: ../src/viktrwlayer.c:447 ../src/viktrwlayer.c:1933
-#: ../src/viktrwlayer.c:1935
+#: ../src/viktrwlayer.c:468 ../src/viktrwlayer.c:2319
msgid "Tracks"
msgstr "Traces"
-#: ../src/viktrwlayer.c:447
+#: ../src/viktrwlayer.c:468
msgid "Waypoint Images"
msgstr "Format des waypoints"
-#: ../src/viktrwlayer.c:450
+#: ../src/viktrwlayer.c:468
+msgid "Tracks Advanced"
+msgstr ""
+
+#: ../src/viktrwlayer.c:471
msgid "Draw by Track"
msgstr "Afficher par trace"
-#: ../src/viktrwlayer.c:450
+#: ../src/viktrwlayer.c:471
msgid "Draw by Speed"
msgstr ""
-#: ../src/viktrwlayer.c:450
+#: ../src/viktrwlayer.c:471
msgid "All Tracks Same Color"
-msgstr ""
+msgstr "Même couleur pour toutes les Traces"
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "Filled Square"
msgstr "Carré plein"
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "Square"
msgstr "Carré"
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "Circle"
msgstr "Cercle"
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "X"
msgstr "X"
-#: ../src/viktrwlayer.c:477
+#: ../src/viktrwlayer.c:498
msgid "Extra Extra Small"
-msgstr ""
+msgstr "Très Très Petit"
-#: ../src/viktrwlayer.c:478
+#: ../src/viktrwlayer.c:499
msgid "Extra Small"
-msgstr ""
+msgstr "Très Petit"
-#: ../src/viktrwlayer.c:479
+#: ../src/viktrwlayer.c:500
msgid "Small"
-msgstr ""
+msgstr "Petit"
-#: ../src/viktrwlayer.c:480
+#: ../src/viktrwlayer.c:501
msgid "Medium"
-msgstr ""
+msgstr "Moyen"
-#: ../src/viktrwlayer.c:481
+#: ../src/viktrwlayer.c:502
msgid "Large"
-msgstr ""
+msgstr "Grand"
-#: ../src/viktrwlayer.c:482
+#: ../src/viktrwlayer.c:503
msgid "Extra Large"
-msgstr ""
+msgstr "Très Grand"
-#: ../src/viktrwlayer.c:483
+#: ../src/viktrwlayer.c:504
msgid "Extra Extra Large"
+msgstr "Très Très Grand"
+
+#: ../src/viktrwlayer.c:510
+msgid "Name Ascending"
+msgstr ""
+
+#: ../src/viktrwlayer.c:511
+msgid "Name Descending"
msgstr ""
-#: ../src/viktrwlayer.c:491
+#: ../src/viktrwlayer.c:552 ../src/viktrwlayer.c:576
+msgid "Draw Labels"
+msgstr "Dessiner les étiquettes"
+
+#: ../src/viktrwlayer.c:553
+msgid "Note: the individual track controls what labels may be displayed"
+msgstr ""
+
+#: ../src/viktrwlayer.c:554
+msgid "Track Labels Font Size:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:555
msgid "Track Drawing Mode:"
msgstr "Mode de tracé  :"
-#: ../src/viktrwlayer.c:492
+#: ../src/viktrwlayer.c:556
msgid "All Tracks Color:"
msgstr ""
-#: ../src/viktrwlayer.c:493
+#: ../src/viktrwlayer.c:557
msgid "The color used when 'All Tracks Same Color' drawing mode is selected"
msgstr ""
-#: ../src/viktrwlayer.c:494
+#: ../src/viktrwlayer.c:558
msgid "Draw Track Lines"
msgstr "Dessiner les lignes"
-#: ../src/viktrwlayer.c:495
+#: ../src/viktrwlayer.c:559
msgid "Track Thickness:"
msgstr "Épaisseur de la trace :"
-#: ../src/viktrwlayer.c:496
+#: ../src/viktrwlayer.c:560
msgid "Draw Track Direction"
msgstr ""
-#: ../src/viktrwlayer.c:497
+#: ../src/viktrwlayer.c:561
msgid "Direction Size:"
msgstr ""
-#: ../src/viktrwlayer.c:498
+#: ../src/viktrwlayer.c:562
msgid "Draw Trackpoints"
msgstr "Dessiner les points"
-#: ../src/viktrwlayer.c:499
+#: ../src/viktrwlayer.c:563
msgid "Trackpoint Size:"
msgstr ""
-#: ../src/viktrwlayer.c:500
+#: ../src/viktrwlayer.c:564
msgid "Draw Elevation"
msgstr "Représenter l'altitude"
-#: ../src/viktrwlayer.c:501
+#: ../src/viktrwlayer.c:565
msgid "Draw Elevation Height %:"
msgstr "%age de hauteur pour représenter l'altitude"
-#: ../src/viktrwlayer.c:503
+#: ../src/viktrwlayer.c:566
msgid "Draw Stops"
msgstr "Représenter les arrêts"
-#: ../src/viktrwlayer.c:504
+#: ../src/viktrwlayer.c:567
msgid ""
"Whether to draw a marker when trackpoints are at the same position but over "
"the minimum stop length apart in time"
msgstr ""
-#: ../src/viktrwlayer.c:505
+#: ../src/viktrwlayer.c:568
msgid "Min Stop Length (seconds):"
msgstr "Temps minimum d'arrêt (secondes) :"
-#: ../src/viktrwlayer.c:507
+#: ../src/viktrwlayer.c:570
msgid "Track BG Thickness:"
msgstr "Épaisseur de la ligne en arrière-plan :"
-#: ../src/viktrwlayer.c:508
+#: ../src/viktrwlayer.c:571
msgid "Track Background Color"
msgstr "Couleur de la ligne en arrière-plan"
-#: ../src/viktrwlayer.c:509
+#: ../src/viktrwlayer.c:572
msgid "Draw by Speed Factor (%):"
msgstr ""
-#: ../src/viktrwlayer.c:510
+#: ../src/viktrwlayer.c:573
msgid ""
"The percentage factor away from the average speed determining the color used"
msgstr ""
-#: ../src/viktrwlayer.c:512
-msgid "Draw Labels"
-msgstr "Dessiner les étiquettes"
+#: ../src/viktrwlayer.c:574
+msgid "Track Sort Order:"
+msgstr ""
-#: ../src/viktrwlayer.c:513
+#: ../src/viktrwlayer.c:577
msgid "Waypoint Font Size:"
-msgstr ""
+msgstr "Taille de la police des waypoints :"
-#: ../src/viktrwlayer.c:514
+#: ../src/viktrwlayer.c:578
msgid "Waypoint Color:"
msgstr "Couleur :"
-#: ../src/viktrwlayer.c:515
+#: ../src/viktrwlayer.c:579
msgid "Waypoint Text:"
msgstr "Texte :"
-#: ../src/viktrwlayer.c:516
+#: ../src/viktrwlayer.c:580
msgid "Background:"
msgstr "Arrière-plan :"
-#: ../src/viktrwlayer.c:517
+#: ../src/viktrwlayer.c:581
msgid "Fake BG Color Translucency:"
msgstr "Transparence de la couleur d'arrière-plan :"
-#: ../src/viktrwlayer.c:518
+#: ../src/viktrwlayer.c:582
msgid "Waypoint marker:"
msgstr "Marqueur :"
-#: ../src/viktrwlayer.c:519
+#: ../src/viktrwlayer.c:583
msgid "Waypoint size:"
msgstr "Taille :"
-#: ../src/viktrwlayer.c:520
+#: ../src/viktrwlayer.c:584
msgid "Draw Waypoint Symbols:"
msgstr "Afficher les symboles :"
-#: ../src/viktrwlayer.c:522
+#: ../src/viktrwlayer.c:585
+msgid "Waypoint Sort Order:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:587
msgid "Draw Waypoint Images"
msgstr "Afficher les images :"
-#: ../src/viktrwlayer.c:523
+#: ../src/viktrwlayer.c:588
msgid "Image Size (pixels):"
msgstr "Taille de l'image (pixels) :"
-#: ../src/viktrwlayer.c:524
+#: ../src/viktrwlayer.c:589
msgid "Image Alpha:"
msgstr "Transparence :"
-#: ../src/viktrwlayer.c:525
+#: ../src/viktrwlayer.c:590
msgid "Image Memory Cache Size:"
msgstr "Taille du cache des images :"
-#: ../src/viktrwlayer.c:610
+#: ../src/viktrwlayer.c:678
msgid "TrackWaypoint"
msgstr ""
-#: ../src/viktrwlayer.c:1951 ../src/viktrwlayer.c:1953
-msgid "Routes"
+#: ../src/viktrwlayer.c:1534 ../src/vikutils.c:204
+msgid "miles"
msgstr ""
-#: ../src/viktrwlayer.c:2144
+#. VIK_UNITS_DISTANCE_KILOMETRES:
+#: ../src/viktrwlayer.c:1538 ../src/vikutils.c:209
+msgid "km"
+msgstr ""
+
+#: ../src/viktrwlayer.c:1648
+msgid "start/end"
+msgstr ""
+
+#: ../src/viktrwlayer.c:1660
+msgid "start"
+msgstr ""
+
+#: ../src/viktrwlayer.c:1669
+msgid "end"
+msgstr ""
+
+#: ../src/viktrwlayer.c:2329
+msgid "Routes"
+msgstr "Itinéraires"
+
+#: ../src/viktrwlayer.c:2519
#, c-format
msgid " in %d:%02d hrs:mins"
msgstr " en %d:%02d h:min"
-#: ../src/viktrwlayer.c:2148
+#: ../src/viktrwlayer.c:2523
#, c-format
msgid ""
"\n"
"%sTotal Length %.1f %s%s"
msgstr ""
-#: ../src/viktrwlayer.c:2154
+#: ../src/viktrwlayer.c:2529
#, c-format
msgid "Tracks: %d - Waypoints: %d - Routes: %d%s"
-msgstr ""
+msgstr "Traces : %d - Waypoints : %d - Itinéraires : %d%s"
-#: ../src/viktrwlayer.c:2174
+#: ../src/viktrwlayer.c:2549
#, c-format
msgid "Tracks: %d"
-msgstr ""
+msgstr "Traces : %d"
-#: ../src/viktrwlayer.c:2184
+#: ../src/viktrwlayer.c:2559
#, c-format
msgid "Routes: %d"
-msgstr ""
+msgstr "Itinéraires : %d"
-#: ../src/viktrwlayer.c:2215
+#: ../src/viktrwlayer.c:2590
#, c-format
msgid "- %d:%02d hrs:mins"
-msgstr ""
+msgstr "- %d:%02d hrs:mins"
-#: ../src/viktrwlayer.c:2223
+#: ../src/viktrwlayer.c:2598
#, c-format
msgid "%s%.1f km %s"
-msgstr ""
+msgstr "%s%.1f km %s"
-#: ../src/viktrwlayer.c:2226
+#: ../src/viktrwlayer.c:2601
#, c-format
msgid "%s%.1f miles %s"
-msgstr ""
+msgstr "%s%.1f miles %s"
-#: ../src/viktrwlayer.c:2240
+#: ../src/viktrwlayer.c:2615
#, c-format
msgid "Waypoints: %d"
-msgstr ""
-
-#: ../src/viktrwlayer.c:2266
-#, c-format
-msgid "Trkpt: Alt %dft"
-msgstr ""
-
-#. VIK_UNITS_HEIGHT_METRES:
-#: ../src/viktrwlayer.c:2270
-#, c-format
-msgid "Trkpt: Alt %dm"
-msgstr ""
-
-#. Compact date time format
-#: ../src/viktrwlayer.c:2277
-#, c-format
-msgid " | Time %x %X"
-msgstr ""
+msgstr "Waypoints : %d"
-#: ../src/viktrwlayer.c:2295
-#, c-format
-msgid " | Track: %s"
-msgstr ""
-
-#. Combine parts to make overall message
-#: ../src/viktrwlayer.c:2299
-#, c-format
-msgid "%s%s | %s %s %s"
-msgstr ""
-
-#: ../src/viktrwlayer.c:2314
+#: ../src/viktrwlayer.c:2671
#, c-format
msgid "Wpt: Alt %dft"
msgstr ""
#. VIK_UNITS_HEIGHT_METRES:
-#: ../src/viktrwlayer.c:2318
+#: ../src/viktrwlayer.c:2675
#, c-format
msgid "Wpt: Alt %dm"
msgstr ""
#. Add comment if available
-#: ../src/viktrwlayer.c:2333
+#: ../src/viktrwlayer.c:2690
#, c-format
msgid "%s | %s %s | Comment: %s"
msgstr ""
-#: ../src/viktrwlayer.c:2335
+#: ../src/viktrwlayer.c:2692
#, c-format
msgid "%s | %s %s"
msgstr ""
-#: ../src/viktrwlayer.c:2563 ../src/viktrwlayer.c:2634
+#: ../src/viktrwlayer.c:2939 ../src/viktrwlayer.c:3010
msgid "This layer has no waypoints or trackpoints."
msgstr "Ce calque n'a pas de waypoints ou de traces."
-#: ../src/viktrwlayer.c:2661 ../src/vikwindow.c:2407 ../src/vikwindow.c:2848
+#: ../src/viktrwlayer.c:3045 ../src/vikwindow.c:2754 ../src/vikwindow.c:3407
#, c-format
msgid "The file \"%s\" exists, do you wish to overwrite it?"
msgstr "Le fichier \"%s\" existe déjà. Voulez-vous le remplacer ?"
-#: ../src/viktrwlayer.c:2671 ../src/vikwindow.c:2429
+#: ../src/viktrwlayer.c:3057 ../src/vikwindow.c:2778
msgid "The filename you requested could not be opened for writing."
msgstr "Le fichier choisi ne peut être ouvert en écriture."
-#: ../src/viktrwlayer.c:2676 ../src/viktrwlayer.c:2681
-#: ../src/viktrwlayer.c:2691 ../src/viktrwlayer.c:2703
+#: ../src/viktrwlayer.c:3062 ../src/viktrwlayer.c:3067
+#: ../src/viktrwlayer.c:3077 ../src/viktrwlayer.c:3089
msgid "Export Layer"
msgstr "Exporter le calque"
-#: ../src/viktrwlayer.c:2720
+#: ../src/viktrwlayer.c:3108
msgid "Could not create temporary file for export."
msgstr "Impossible de créer de fichier temporaire pour l'export."
-#: ../src/viktrwlayer.c:2729
+#: ../src/viktrwlayer.c:3117
#, c-format
msgid "Could not launch %s."
msgstr "Impossible de charger %s."
-#: ../src/viktrwlayer.c:2773
+#: ../src/viktrwlayer.c:3161
msgid "Export Track as GPX"
msgstr "Exporter la trace vers un fichier GPX"
-#: ../src/viktrwlayer.c:2795
+#: ../src/viktrwlayer.c:3183
msgid "Find"
msgstr "Rechercher"
-#: ../src/viktrwlayer.c:2805
+#: ../src/viktrwlayer.c:3193
msgid "Waypoint Name:"
msgstr "Nom du waypoint :"
-#: ../src/viktrwlayer.c:2822
+#: ../src/viktrwlayer.c:3210
msgid "Waypoint not found in this layer."
msgstr "Aucun waypoint trouvé sur ce calque."
-#: ../src/viktrwlayer.c:3090
+#: ../src/viktrwlayer.c:3476
msgid "Can not upload invisible track."
msgstr ""
-#: ../src/viktrwlayer.c:3192 ../src/viktrwlayer.c:7785
+#: ../src/viktrwlayer.c:3581 ../src/viktrwlayer.c:9283
msgid "Track"
msgstr "Trace"
-#: ../src/viktrwlayer.c:3215 ../src/viktrwlayer.c:7817
+#: ../src/viktrwlayer.c:3606 ../src/viktrwlayer.c:9316
msgid "Route"
-msgstr ""
+msgstr "Itinéraire"
-#: ../src/viktrwlayer.c:3296 ../src/viktrwlayer.c:6265
-#: ../src/viktrwlayer.c:6314
+#: ../src/viktrwlayer.c:3691 ../src/viktrwlayer.c:7460
+#: ../src/viktrwlayer.c:7566
msgid "_Finish Route"
-msgstr ""
+msgstr "_Terminer Itinéraire"
-#: ../src/viktrwlayer.c:3298 ../src/viktrwlayer.c:6223
-#: ../src/viktrwlayer.c:6312
+#: ../src/viktrwlayer.c:3693 ../src/viktrwlayer.c:7383
+#: ../src/viktrwlayer.c:7564
msgid "_Finish Track"
-msgstr ""
+msgstr "_Terminer la trace"
#. Now with icons
-#: ../src/viktrwlayer.c:3310
+#: ../src/viktrwlayer.c:3705
msgid "_View Layer"
msgstr "_Afficher Couche"
-#: ../src/viktrwlayer.c:3317
+#: ../src/viktrwlayer.c:3712
msgid "V_iew"
-msgstr ""
+msgstr "A_fficher"
-#: ../src/viktrwlayer.c:3323
+#: ../src/viktrwlayer.c:3718
msgid "View All _Tracks"
-msgstr ""
+msgstr "Afficher toutes les _traces"
-#: ../src/viktrwlayer.c:3328
+#: ../src/viktrwlayer.c:3723
msgid "View All _Routes"
-msgstr ""
+msgstr "Voir tous les _Itinéraires"
-#: ../src/viktrwlayer.c:3333
+#: ../src/viktrwlayer.c:3728
msgid "View All _Waypoints"
-msgstr ""
+msgstr "Afficher tous les _Waypoints"
-#: ../src/viktrwlayer.c:3338
+#: ../src/viktrwlayer.c:3733
msgid "_Goto Center of Layer"
msgstr "_Aller au centre du calque"
-#: ../src/viktrwlayer.c:3344 ../src/viktrwlayer.c:6199
+#: ../src/viktrwlayer.c:3739 ../src/viktrwlayer.c:7335
msgid "Goto _Waypoint..."
msgstr ""
-#: ../src/viktrwlayer.c:3350
+#: ../src/viktrwlayer.c:3745
msgid "_Export Layer"
msgstr "_Exporter le calque"
-#: ../src/viktrwlayer.c:3356
+#: ../src/viktrwlayer.c:3751
msgid "Export as GPS_Point..."
msgstr ""
-#: ../src/viktrwlayer.c:3361
+#: ../src/viktrwlayer.c:3756
msgid "Export as GPS_Mapper..."
msgstr ""
-#: ../src/viktrwlayer.c:3366
+#: ../src/viktrwlayer.c:3761
msgid "Export as _GPX..."
msgstr ""
-#: ../src/viktrwlayer.c:3371
+#: ../src/viktrwlayer.c:3766
msgid "Export as _KML..."
msgstr ""
-#: ../src/viktrwlayer.c:3376
+#: ../src/viktrwlayer.c:3771
msgid "Open with External Program_1: "
msgstr ""
-#: ../src/viktrwlayer.c:3383
+#: ../src/viktrwlayer.c:3778
msgid "Open with External Program_2: "
msgstr ""
-#: ../src/viktrwlayer.c:3391 ../src/vikwindow.c:3145
+#: ../src/viktrwlayer.c:3786 ../src/vikwindow.c:3704
msgid "_New"
msgstr "_Nouveau"
-#: ../src/viktrwlayer.c:3397
+#: ../src/viktrwlayer.c:3792
msgid "New _Waypoint..."
msgstr ""
-#: ../src/viktrwlayer.c:3403
+#: ../src/viktrwlayer.c:3798
msgid "New _Track"
msgstr ""
-#: ../src/viktrwlayer.c:3411
+#: ../src/viktrwlayer.c:3806
msgid "New _Route"
-msgstr ""
+msgstr "Nouvel Itinéraire"
-#: ../src/viktrwlayer.c:3420 ../src/viktrwlayer.c:6597
+#: ../src/viktrwlayer.c:3815 ../src/viktrwlayer.c:7938
msgid "Geotag _Images..."
msgstr ""
-#: ../src/viktrwlayer.c:3427
+#: ../src/viktrwlayer.c:3822
msgid "_Acquire"
-msgstr ""
+msgstr "_Acquisition"
-#: ../src/viktrwlayer.c:3433 ../src/vikwindow.c:3150
+#: ../src/viktrwlayer.c:3828 ../src/vikwindow.c:3711
msgid "From _GPS..."
msgstr "À partir d'un _GPS..."
-#: ../src/viktrwlayer.c:3439
-msgid "From Google _Directions..."
+#. FIXME: only add menu when at least a routing engine has support for Directions
+#: ../src/viktrwlayer.c:3834
+msgid "From _Directions..."
msgstr ""
-#: ../src/viktrwlayer.c:3446
+#: ../src/viktrwlayer.c:3840
msgid "From _OSM Traces..."
-msgstr ""
+msgstr "Depuis Traces _OSM..."
-#: ../src/viktrwlayer.c:3451
+#: ../src/viktrwlayer.c:3845
msgid "From _My OSM Traces..."
-msgstr ""
+msgstr "Depuis _Mes Traces OSM..."
-#: ../src/viktrwlayer.c:3459 ../src/vikwindow.c:3166
+#: ../src/viktrwlayer.c:3853 ../src/vikwindow.c:3725
msgid "From _Wikipedia Waypoints"
-msgstr ""
+msgstr "Depuis les Points d'Intérêt _Wikipedia"
-#: ../src/viktrwlayer.c:3465
+#: ../src/viktrwlayer.c:3859
msgid "Within _Layer Bounds"
msgstr "A _l'intérieur du calque courant"
-#: ../src/viktrwlayer.c:3471
+#: ../src/viktrwlayer.c:3865
msgid "Within _Current View"
msgstr "A l'intérieur de la vue _courrante"
-#: ../src/viktrwlayer.c:3479
+#: ../src/viktrwlayer.c:3873
msgid "From Geo_caching..."
-msgstr ""
+msgstr "Depuis Geo_caching..."
-#: ../src/viktrwlayer.c:3486 ../src/vikwindow.c:3163
+#: ../src/viktrwlayer.c:3880 ../src/vikwindow.c:3722
msgid "From Geotagged _Images..."
-msgstr ""
+msgstr "Depuis _Images Géoréférencées..."
-#: ../src/viktrwlayer.c:3492
+#: ../src/viktrwlayer.c:3886
msgid "From _File..."
-msgstr ""
+msgstr "Depuis _Fichier..."
-#: ../src/viktrwlayer.c:3498 ../src/viktrwlayer.c:6542
+#: ../src/viktrwlayer.c:3894 ../src/viktrwlayer.c:7883
msgid "_Upload"
msgstr ""
-#: ../src/viktrwlayer.c:3504
+#: ../src/viktrwlayer.c:3900
msgid "Upload to _GPS..."
-msgstr ""
+msgstr "Envoyer au _GPS..."
-#: ../src/viktrwlayer.c:3511 ../src/viktrwlayer.c:6570
+#: ../src/viktrwlayer.c:3907 ../src/viktrwlayer.c:7911
msgid "Upload to _OSM..."
-msgstr ""
+msgstr "Envoyer à _OSM..."
-#: ../src/viktrwlayer.c:3519
+#: ../src/viktrwlayer.c:3915
msgid "De_lete"
-msgstr ""
+msgstr "_Supprimer"
-#: ../src/viktrwlayer.c:3525
+#: ../src/viktrwlayer.c:3921
msgid "Delete All _Tracks"
-msgstr ""
+msgstr "Supprimer toutes les _Traces"
-#: ../src/viktrwlayer.c:3531
+#: ../src/viktrwlayer.c:3927
msgid "Delete Tracks _From Selection..."
-msgstr ""
+msgstr "Supprimer les Traces _de la Sélection"
-#: ../src/viktrwlayer.c:3537 ../src/viktrwlayer.c:6290
+#: ../src/viktrwlayer.c:3933 ../src/viktrwlayer.c:7485
msgid "Delete _All Routes"
-msgstr ""
+msgstr "Supprimer _tous les itinéraires"
-#: ../src/viktrwlayer.c:3543 ../src/viktrwlayer.c:6296
+#: ../src/viktrwlayer.c:3939 ../src/viktrwlayer.c:7491
msgid "_Delete Routes From Selection..."
-msgstr ""
+msgstr "_Supprimer tous les itinéraires depuis la sélection"
-#: ../src/viktrwlayer.c:3549
+#: ../src/viktrwlayer.c:3945
msgid "Delete All _Waypoints"
-msgstr ""
+msgstr "Supprimer tous les _Waypoints"
-#: ../src/viktrwlayer.c:3555
+#: ../src/viktrwlayer.c:3951
msgid "Delete Waypoints From _Selection..."
-msgstr ""
+msgstr "Supprimer les Waypoints de la _Sélection"
-#: ../src/viktrwlayer.c:4128
+#: ../src/viktrwlayer.c:4574
#, c-format
msgid "Are you sure you want to delete all tracks in %s?"
-msgstr ""
+msgstr "Êtes-vous certain de vouloir supprimer toutes les traces de %s ?"
-#: ../src/viktrwlayer.c:4138
+#: ../src/viktrwlayer.c:4584
#, c-format
msgid "Are you sure you want to delete all routes in %s?"
msgstr ""
+"Êtes vous certain de vouloir supprimer tous les itinéraires dans %s ?"
-#: ../src/viktrwlayer.c:4148
+#: ../src/viktrwlayer.c:4594
#, c-format
msgid "Are you sure you want to delete all waypoints in %s?"
-msgstr ""
+msgstr "Êtes-vous certain de vouloir supprimer tous les waypoints de %s ?"
-#: ../src/viktrwlayer.c:4165
+#: ../src/viktrwlayer.c:4611
#, c-format
-msgid "Are you sure you want to delete the waypoint \"%s\""
+msgid "Are you sure you want to delete the waypoint \"%s\"?"
msgstr ""
-#: ../src/viktrwlayer.c:4178
+#: ../src/viktrwlayer.c:4624
#, c-format
-msgid "Are you sure you want to delete the track \"%s\""
+msgid "Are you sure you want to delete the track \"%s\"?"
msgstr ""
-#: ../src/viktrwlayer.c:4191
+#: ../src/viktrwlayer.c:4637
#, c-format
-msgid "Are you sure you want to delete the route \"%s\""
+msgid "Are you sure you want to delete the route \"%s\"?"
msgstr ""
-#: ../src/viktrwlayer.c:4351 ../src/viktrwlayer.c:4922
+#: ../src/viktrwlayer.c:4849 ../src/viktrwlayer.c:5677
msgid ""
"Converting a track to a route removes extra track data such as segments, "
"timestamps, etc...\n"
"Do you want to continue?"
msgstr ""
+"La conversion d'une trace en itinéraire efface les données spécifiques aux "
+"traces telles que les segments, horodatage, etc...\n"
+"Souhaitez-vous continuer ?"
+
+#: ../src/viktrwlayer.c:4944
+msgid "No DEM layers available, thus no DEM values can be applied."
+msgstr ""
+
+#: ../src/viktrwlayer.c:4964 ../src/viktrwlayer.c:5005
+#, c-format
+msgid "%ld point adjusted"
+msgid_plural "%ld points adjusted"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/viktrwlayer.c:5049
+#, c-format
+msgid "%ld waypoint changed"
+msgid_plural "%ld waypoints changed"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/viktrwlayer.c:5233
+#, c-format
+msgid ""
+"Refining a track with many points (%d) is unlikely to yield sensible "
+"results. Do you want to Continue?"
+msgstr ""
+
+#. Select engine from dialog
+#: ../src/viktrwlayer.c:5241
+msgid "Refine Route with Routing Engine..."
+msgstr ""
-#: ../src/viktrwlayer.c:4711
+#: ../src/viktrwlayer.c:5249
+msgid "Select routing engine"
+msgstr ""
+
+#: ../src/viktrwlayer.c:5467
msgid "Failed. No other tracks with timestamps in this layer found"
msgstr ""
-#: ../src/viktrwlayer.c:4713
+#: ../src/viktrwlayer.c:5469
msgid "Failed. No other tracks without timestamps in this layer found"
msgstr ""
-#: ../src/viktrwlayer.c:4732
+#: ../src/viktrwlayer.c:5488
msgid "Merge with..."
msgstr "Fusionner avec..."
-#: ../src/viktrwlayer.c:4733
+#: ../src/viktrwlayer.c:5489
msgid "Select route to merge with"
-msgstr ""
+msgstr "Sélectionner un itinéraire avec lequel fusionner"
-#: ../src/viktrwlayer.c:4733
+#: ../src/viktrwlayer.c:5489
msgid "Select track to merge with"
msgstr "Sélectionner la trace avec laquelle fusionner."
-#: ../src/viktrwlayer.c:4818 ../src/viktrwlayer.c:4895
+#: ../src/viktrwlayer.c:5573 ../src/viktrwlayer.c:5650
msgid "Append Route"
msgstr ""
-#: ../src/viktrwlayer.c:4818 ../src/viktrwlayer.c:4895
+#: ../src/viktrwlayer.c:5573 ../src/viktrwlayer.c:5650
msgid "Append Track"
msgstr ""
-#: ../src/viktrwlayer.c:4819
+#: ../src/viktrwlayer.c:5574
msgid "Select the route to append after the current route"
msgstr ""
-#: ../src/viktrwlayer.c:4820
+#: ../src/viktrwlayer.c:5575
msgid "Select the track to append after the current track"
msgstr ""
-#: ../src/viktrwlayer.c:4896
+#: ../src/viktrwlayer.c:5651
msgid "Select the track to append after the current route"
msgstr ""
-#: ../src/viktrwlayer.c:4897
+#: ../src/viktrwlayer.c:5652
msgid "Select the route to append after the current track"
msgstr ""
-#: ../src/viktrwlayer.c:4957
+#: ../src/viktrwlayer.c:5711
#, c-format
msgid "%d segment merged"
msgid_plural "%d segments merged"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "%d segment fusionné"
+msgstr[1] "%d segments fusionnés"
-#: ../src/viktrwlayer.c:4973
+#: ../src/viktrwlayer.c:5727
msgid "Failed. This track does not have timestamp"
msgstr "Echec. Cette trace n'a pas d'information de temps."
-#: ../src/viktrwlayer.c:4985
+#: ../src/viktrwlayer.c:5739
msgid "Failed. No other track in this layer has timestamp"
msgstr ""
"Echec. Aucune autre trace dans ce calque n'a d'information temporelle."
-#: ../src/viktrwlayer.c:4992
+#: ../src/viktrwlayer.c:5746
msgid "Merge Threshold..."
msgstr "Distance de fusionnement…"
-#: ../src/viktrwlayer.c:4993
+#: ../src/viktrwlayer.c:5747
msgid "Merge when time between tracks less than:"
msgstr "Fusionner quand le temps entre les points est moins que :"
-#: ../src/viktrwlayer.c:5128
+#: ../src/viktrwlayer.c:5889
msgid "Split Threshold..."
msgstr "Distance de séparation…"
-#: ../src/viktrwlayer.c:5129
+#: ../src/viktrwlayer.c:5890
msgid "Split when time between trackpoints exceeds:"
msgstr "Découper quand le temps entre les points dépasse :"
-#: ../src/viktrwlayer.c:5205
+#: ../src/viktrwlayer.c:5907
+#, c-format
+msgid ""
+"Can not split track due to trackpoints not ordered in time - such as at %s.\n"
+"\n"
+"Goto this trackpoint?"
+msgstr ""
+
+#: ../src/viktrwlayer.c:5976
msgid "Split Every Nth Point"
msgstr ""
-#: ../src/viktrwlayer.c:5206
+#: ../src/viktrwlayer.c:5977
msgid "Split on every Nth point:"
msgstr ""
-#: ../src/viktrwlayer.c:5312
+#: ../src/viktrwlayer.c:6087
msgid "Can not split track as it has no segments"
msgstr ""
-#: ../src/viktrwlayer.c:5340 ../src/viktrwlayer.c:5370
+#: ../src/viktrwlayer.c:6169 ../src/viktrwlayer.c:6199
#, c-format
msgid "Deleted %ld point"
msgid_plural "Deleted %ld points"
msgstr[0] ""
msgstr[1] ""
-#: ../src/viktrwlayer.c:5531
+#: ../src/viktrwlayer.c:6392
msgid "Internal Error in vik_trw_layer_uniquify_tracks"
msgstr ""
-#: ../src/viktrwlayer.c:5588 ../src/viktrwlayer.c:5635
-#: ../src/viktrwlayer.c:5814
+#: ../src/viktrwlayer.c:6496 ../src/viktrwlayer.c:6543
+#: ../src/viktrwlayer.c:6704
msgid ""
"Multiple entries with the same name exist. This method only works with "
"unique names. Force unique names now?"
msgstr ""
-#: ../src/viktrwlayer.c:5599
+#: ../src/viktrwlayer.c:6507
msgid "No tracks found"
msgstr ""
-#: ../src/viktrwlayer.c:5607 ../src/viktrwlayer.c:5654
-#: ../src/viktrwlayer.c:5834
+#: ../src/viktrwlayer.c:6515 ../src/viktrwlayer.c:6562
+#: ../src/viktrwlayer.c:6724
msgid "Delete Selection"
msgstr ""
-#: ../src/viktrwlayer.c:5608
+#: ../src/viktrwlayer.c:6516
msgid "Select tracks to delete"
msgstr ""
-#: ../src/viktrwlayer.c:5646
+#: ../src/viktrwlayer.c:6554
msgid "No routes found"
-msgstr ""
+msgstr "Aucun itinéraire trouvé"
-#: ../src/viktrwlayer.c:5655
+#: ../src/viktrwlayer.c:6563
msgid "Select routes to delete"
-msgstr ""
+msgstr "Sélectionner les itinéraires à supprimer"
-#: ../src/viktrwlayer.c:5761
+#: ../src/viktrwlayer.c:6669
msgid "Internal Error in vik_trw_layer_uniquify_waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:5824
+#: ../src/viktrwlayer.c:6714
msgid "No waypoints found"
msgstr ""
-#: ../src/viktrwlayer.c:5835
+#: ../src/viktrwlayer.c:6725
msgid "Select waypoints to delete"
msgstr ""
-#: ../src/viktrwlayer.c:5896
+#: ../src/viktrwlayer.c:7033
#, c-format
msgid ""
"A waypoint with the name \"%s\" already exists. Really rename to the same "
"name?"
msgstr ""
-#: ../src/viktrwlayer.c:5926
+#: ../src/viktrwlayer.c:7063
#, c-format
msgid ""
"A track with the name \"%s\" already exists. Really rename to the same name?"
msgstr ""
-#: ../src/viktrwlayer.c:5963
+#: ../src/viktrwlayer.c:7100
#, c-format
msgid ""
"A route with the name \"%s\" already exists. Really rename to the same name?"
msgstr ""
+"Un itinéraire avec le nom \"%s\" existe déjà. Faut-il réellement renommer "
+"avec le même nom ?"
-#: ../src/viktrwlayer.c:6085 ../src/viktrwlayer.c:6337
+#: ../src/viktrwlayer.c:7221 ../src/viktrwlayer.c:7594
msgid "_Goto"
msgstr "_Aller à"
-#: ../src/viktrwlayer.c:6104
+#: ../src/viktrwlayer.c:7240
msgid "_Visit Geocache Webpage"
msgstr "_Ouvrir la page web de Geocache"
-#: ../src/viktrwlayer.c:6123
+#: ../src/viktrwlayer.c:7259
msgid "_Show Picture..."
msgstr ""
-#: ../src/viktrwlayer.c:6131
+#: ../src/viktrwlayer.c:7267
msgid "Update Geotag on _Image"
msgstr ""
-#: ../src/viktrwlayer.c:6137
+#: ../src/viktrwlayer.c:7273
msgid "_Update"
msgstr ""
-#: ../src/viktrwlayer.c:6142
+#: ../src/viktrwlayer.c:7278
msgid "Update and _Keep File Timestamp"
msgstr ""
-#: ../src/viktrwlayer.c:6153
+#: ../src/viktrwlayer.c:7289
msgid "Visit _Webpage"
msgstr ""
-#: ../src/viktrwlayer.c:6184
+#: ../src/viktrwlayer.c:7320
msgid "_New Waypoint..."
msgstr "Nouveau Waypoint"
-#: ../src/viktrwlayer.c:6193
+#: ../src/viktrwlayer.c:7329
msgid "_View All Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:6205
+#: ../src/viktrwlayer.c:7341
msgid "Delete _All Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:6211
+#: ../src/viktrwlayer.c:7347
msgid "_Delete Waypoints From Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:6233
+#: ../src/viktrwlayer.c:7359
+msgid "_Show All Waypoints"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7365
+msgid "_Hide All Waypoints"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7393
msgid "_View All Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:6239
+#: ../src/viktrwlayer.c:7399
msgid "_New Track"
msgstr ""
-#: ../src/viktrwlayer.c:6247
+#: ../src/viktrwlayer.c:7407
msgid "Delete _All Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:6253
+#: ../src/viktrwlayer.c:7413
msgid "_Delete Tracks From Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:6276
-msgid "_View All Routes"
+#: ../src/viktrwlayer.c:7425
+msgid "_Show All Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7431
+msgid "_Hide All Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7442
+msgid "_List Tracks..."
msgstr ""
-#: ../src/viktrwlayer.c:6282
+#: ../src/viktrwlayer.c:7471
+msgid "_View All Routes"
+msgstr "_Voir tous les Itinéraires"
+
+#: ../src/viktrwlayer.c:7477
msgid "_New Route"
+msgstr "_Nouvel Itinéraire"
+
+#: ../src/viktrwlayer.c:7503
+msgid "_Show All Routes"
msgstr ""
-#: ../src/viktrwlayer.c:6327
+#: ../src/viktrwlayer.c:7509
+msgid "_Hide All Routes"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7520
+msgid "_List Routes..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7579
msgid "_View Track"
msgstr "_Voir Trace"
-#: ../src/viktrwlayer.c:6329
+#: ../src/viktrwlayer.c:7581
msgid "_View Route"
-msgstr ""
+msgstr "_Voir l'Itinéraire"
-#: ../src/viktrwlayer.c:6343
+#: ../src/viktrwlayer.c:7600
msgid "_Startpoint"
msgstr "_Premier point"
-#: ../src/viktrwlayer.c:6349
+#: ../src/viktrwlayer.c:7606
msgid "\"_Center\""
msgstr "_Centre"
-#: ../src/viktrwlayer.c:6355
+#: ../src/viktrwlayer.c:7612
msgid "_Endpoint"
msgstr "_Dernier point"
-#: ../src/viktrwlayer.c:6361
+#: ../src/viktrwlayer.c:7618
msgid "_Highest Altitude"
msgstr "Plus _Haute Altitude"
-#: ../src/viktrwlayer.c:6367
+#: ../src/viktrwlayer.c:7624
msgid "_Lowest Altitude"
msgstr "P_lus Basse Altitude"
-#: ../src/viktrwlayer.c:6375
+#: ../src/viktrwlayer.c:7632
msgid "_Maximum Speed"
msgstr "Vitesse _Maximale"
-#: ../src/viktrwlayer.c:6384
+#: ../src/viktrwlayer.c:7641
msgid "Co_mbine"
msgstr ""
-#: ../src/viktrwlayer.c:6392
+#: ../src/viktrwlayer.c:7649
msgid "_Merge By Time..."
msgstr ""
-#: ../src/viktrwlayer.c:6397
+#: ../src/viktrwlayer.c:7654
msgid "Merge _Segments"
msgstr ""
-#: ../src/viktrwlayer.c:6403
+#: ../src/viktrwlayer.c:7660
msgid "Merge _With Other Tracks..."
msgstr "Fusionner _avec d'autre traces..."
-#: ../src/viktrwlayer.c:6409
+#: ../src/viktrwlayer.c:7666
msgid "_Append Track..."
msgstr ""
-#: ../src/viktrwlayer.c:6411
+#: ../src/viktrwlayer.c:7668
msgid "_Append Route..."
msgstr ""
-#: ../src/viktrwlayer.c:6417
+#: ../src/viktrwlayer.c:7674
msgid "Append _Route..."
msgstr ""
-#: ../src/viktrwlayer.c:6419
+#: ../src/viktrwlayer.c:7676
msgid "Append _Track..."
msgstr ""
-#: ../src/viktrwlayer.c:6426
+#: ../src/viktrwlayer.c:7683
msgid "_Split"
msgstr ""
-#: ../src/viktrwlayer.c:6434
+#: ../src/viktrwlayer.c:7691
msgid "_Split By Time..."
msgstr ""
#. ATM always enable this entry - don't want to have to analyse the track before displaying the menu - to keep the menu speedy
-#: ../src/viktrwlayer.c:6440
+#: ../src/viktrwlayer.c:7697
msgid "Split Se_gments"
msgstr ""
-#: ../src/viktrwlayer.c:6446
+#: ../src/viktrwlayer.c:7703
msgid "Split By _Number of Points..."
msgstr ""
-#: ../src/viktrwlayer.c:6451
+#: ../src/viktrwlayer.c:7708
msgid "Split at _Trackpoint"
msgstr ""
-#: ../src/viktrwlayer.c:6460
+#: ../src/viktrwlayer.c:7716
+msgid "_Insert Points"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7722
+msgid "Insert Point _Before Selected Point"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7729
+msgid "Insert Point _After Selected Point"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7738
msgid "Delete Poi_nts"
msgstr ""
-#: ../src/viktrwlayer.c:6466
+#: ../src/viktrwlayer.c:7744
+msgid "Delete _Selected Point"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7752
msgid "Delete Points With The Same _Position"
msgstr ""
-#: ../src/viktrwlayer.c:6471
+#: ../src/viktrwlayer.c:7757
msgid "Delete Points With The Same _Time"
msgstr ""
-#: ../src/viktrwlayer.c:6477
+#: ../src/viktrwlayer.c:7764 ../src/viktrwlayer.c:7964
+msgid "_Transform"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7772 ../src/viktrwlayer.c:7972
+msgid "_Apply DEM Data"
+msgstr "_Appliquer les altitudes du DEM"
+
+#: ../src/viktrwlayer.c:7777 ../src/viktrwlayer.c:7977
+msgid "_Overwrite"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7780 ../src/viktrwlayer.c:7980
+msgid "Overwrite any existing elevation values with DEM values"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7783 ../src/viktrwlayer.c:7983
+msgid "_Keep Existing"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7786 ../src/viktrwlayer.c:7986
+msgid "Keep existing elevation values, only attempt for missing values"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7791
+msgid "_Smooth Missing Elevation Data"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7796
+msgid "_Interpolated"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7799
+msgid ""
+"Interpolate between known elevation values to derive values for the missing "
+"elevations"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7802
+msgid "_Flat"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7805
+msgid "Set unknown elevation values to the last known value"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7809
+msgid "C_onvert to a Route"
+msgstr "C_onvertir en itinéraire"
+
+#: ../src/viktrwlayer.c:7811
+msgid "C_onvert to a Track"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7819
+msgid "_Anonymize Times"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7822
+msgid "Shift timestamps to a relative offset from 1901-01-01"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7827
msgid "_Reverse Track"
msgstr ""
-#: ../src/viktrwlayer.c:6479
+#: ../src/viktrwlayer.c:7829
msgid "_Reverse Route"
+msgstr "Renverser l'itinéraire"
+
+#: ../src/viktrwlayer.c:7836
+msgid "Refine Route..."
msgstr ""
-#: ../src/viktrwlayer.c:6488
+#: ../src/viktrwlayer.c:7846
msgid "Down_load Maps Along Track..."
msgstr "Télécharger _les cartes le long de la trace…"
-#: ../src/viktrwlayer.c:6490
+#: ../src/viktrwlayer.c:7848
msgid "Down_load Maps Along Route..."
-msgstr ""
+msgstr "Té_lécharger les cartes le long de l'itinéraire..."
-#: ../src/viktrwlayer.c:6497
-msgid "_Apply DEM Data"
-msgstr "_Appliquer les altitudes du DEM"
-
-#: ../src/viktrwlayer.c:6504
+#: ../src/viktrwlayer.c:7856
msgid "_Export Track as GPX..."
msgstr ""
-#: ../src/viktrwlayer.c:6506
+#: ../src/viktrwlayer.c:7858
msgid "_Export Route as GPX..."
-msgstr ""
+msgstr "_Exporter l'itinéraire en GPX..."
-#: ../src/viktrwlayer.c:6513
+#: ../src/viktrwlayer.c:7865
msgid "E_xtend Track End"
msgstr "Etendre l'e_xtrémité de la trace"
-#: ../src/viktrwlayer.c:6515
+#: ../src/viktrwlayer.c:7867
msgid "E_xtend Route End"
msgstr ""
-#: ../src/viktrwlayer.c:6522
-msgid "C_onvert to a Route"
-msgstr ""
-
-#: ../src/viktrwlayer.c:6524
-msgid "C_onvert to a Track"
-msgstr ""
-
-#: ../src/viktrwlayer.c:6532
+#: ../src/viktrwlayer.c:7874
msgid "Extend _Using Route Finder"
-msgstr ""
+msgstr "Étendre en _utilisant le calculateur d'itinéraire"
-#: ../src/viktrwlayer.c:6548
+#: ../src/viktrwlayer.c:7889
msgid "_Upload to GPS..."
msgstr ""
-#: ../src/viktrwlayer.c:6559
+#: ../src/viktrwlayer.c:7900
msgid "_View Google Directions"
msgstr "_Voir les indications de direction Google"
-#: ../src/viktrwlayer.c:6579
+#: ../src/viktrwlayer.c:7920
msgid "Use with _Filter"
msgstr "Utiliser avec un _filtre"
-#: ../src/viktrwlayer.c:6612
+#: ../src/viktrwlayer.c:7953
msgid "_Edit Trackpoint"
msgstr ""
-#: ../src/viktrwlayer.c:7524
+#: ../src/viktrwlayer.c:9017
#, c-format
msgid " - Gain %dm:Loss %dm"
msgstr ""
-#: ../src/viktrwlayer.c:7526
+#: ../src/viktrwlayer.c:9019
#, c-format
msgid " - Gain %dft:Loss %dft"
msgstr ""
-#: ../src/viktrwlayer.c:7531
+#: ../src/viktrwlayer.c:9024
#, c-format
msgid " - Bearing %3.1f° - Step %s"
msgstr ""
-#: ../src/viktrwlayer.c:8124
+#: ../src/viktrwlayer.c:9628
#, c-format
msgid "Could not launch %s to open file."
msgstr ""
-#: ../src/viktrwlayer.c:8205
+#: ../src/viktrwlayer.c:9709
#, c-format
msgid "Creating %d Image Thumbnails..."
msgstr "Création de %d miniatures…"
-#: ../src/viktrwlayer.c:8524
+#: ../src/viktrwlayer.c:10106
msgid "No map layer in use. Create one first"
msgstr "Aucun calque de carte actif. Veuillez en créer un nouveau."
-#: ../src/viktrwlayer_propwin.c:898 ../src/viktrwlayer_propwin.c:1155
+#: ../src/viktrwlayer.c:10225
+#, c-format
+msgid "%s: Track List"
+msgstr ""
+
+#: ../src/viktrwlayer.c:10227
+#, c-format
+msgid "%s: Route List"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:828 ../src/viktrwlayer_propwin.c:1085
#, c-format
msgid "%.1f kph"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:901 ../src/viktrwlayer_propwin.c:1158
+#: ../src/viktrwlayer_propwin.c:831 ../src/viktrwlayer_propwin.c:1088
+#: ../src/viktrwlayer_analysis.c:290
#, c-format
msgid "%.1f mph"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:904 ../src/viktrwlayer_propwin.c:1161
+#: ../src/viktrwlayer_propwin.c:834 ../src/viktrwlayer_propwin.c:1091
#, c-format
msgid "%.1f knots"
msgstr ""
#. VIK_UNITS_SPEED_METRES_PER_SECOND:
-#: ../src/viktrwlayer_propwin.c:908 ../src/viktrwlayer_propwin.c:1165
+#: ../src/viktrwlayer_propwin.c:838 ../src/viktrwlayer_propwin.c:1095
#, c-format
msgid "%.1f m/s"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:1745
+#: ../src/viktrwlayer_propwin.c:1662 ../src/viktrwlayer_analysis.c:267
#, c-format
msgid "%.1f miles"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:1747
+#. VIK_UNITS_DISTANCE_KILOMETRES
+#: ../src/viktrwlayer_propwin.c:1664 ../src/viktrwlayer_analysis.c:271
#, c-format
msgid "%.1f km"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2681
+#: ../src/viktrwlayer_propwin.c:2582
msgid "Failed spliting track. Track unchanged"
msgstr "Impossible de séparer la trace, qui n'a pas été modifiée."
-#: ../src/viktrwlayer_propwin.c:2779 ../src/viktrwlayer_propwin.c:3178
+#: ../src/viktrwlayer_propwin.c:2724 ../src/viktrwlayer_propwin.c:3140
#, c-format
msgid "%s - Track Properties"
msgstr "%s - Propriétés de la trace"
-#: ../src/viktrwlayer_propwin.c:2784
+#: ../src/viktrwlayer_propwin.c:2729
msgid "Split at _Marker"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2785
+#: ../src/viktrwlayer_propwin.c:2730
msgid "Split _Segments"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2786
+#: ../src/viktrwlayer_propwin.c:2731
msgid "_Reverse"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2787
+#: ../src/viktrwlayer_propwin.c:2732
msgid "_Delete Dupl."
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2813
+#: ../src/viktrwlayer_propwin.c:2757
msgid "<b>Comment:</b>"
msgstr "<b>Commentaire :</b>"
-#: ../src/viktrwlayer_propwin.c:2814
+#: ../src/viktrwlayer_propwin.c:2758
msgid "<b>Description:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2815
+#: ../src/viktrwlayer_propwin.c:2759
+msgid "<b>Color:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2760
+msgid "<b>Draw Name:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2761
+msgid "<b>Distance Labels:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2764
msgid "<b>Track Length:</b>"
msgstr "<b>Longueur :</b>"
-#: ../src/viktrwlayer_propwin.c:2816
+#: ../src/viktrwlayer_propwin.c:2765
msgid "<b>Trackpoints:</b>"
msgstr "<b>Nombre de points :</b>"
-#: ../src/viktrwlayer_propwin.c:2817
+#: ../src/viktrwlayer_propwin.c:2766
msgid "<b>Segments:</b>"
msgstr "<b>Segments :</b>"
-#: ../src/viktrwlayer_propwin.c:2818
+#: ../src/viktrwlayer_propwin.c:2767
msgid "<b>Duplicate Points:</b>"
msgstr "<b>Points dupliqués :</b>"
-#: ../src/viktrwlayer_propwin.c:2819
+#: ../src/viktrwlayer_propwin.c:2768
msgid "<b>Max Speed:</b>"
msgstr "<b>Vitesse maximale :</b>"
-#: ../src/viktrwlayer_propwin.c:2820
+#: ../src/viktrwlayer_propwin.c:2769
msgid "<b>Avg. Speed:</b>"
msgstr "<b>Vitesse moyenne :</b>"
-#: ../src/viktrwlayer_propwin.c:2821
+#: ../src/viktrwlayer_propwin.c:2770
msgid "<b>Moving Avg. Speed:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2822
+#: ../src/viktrwlayer_propwin.c:2771
msgid "<b>Avg. Dist. Between TPs:</b>"
msgstr "<b>Distance moyenne entre points :</b>"
-#: ../src/viktrwlayer_propwin.c:2823
+#: ../src/viktrwlayer_propwin.c:2772
msgid "<b>Elevation Range:</b>"
msgstr "<b>Altitudes atteintes :</b>"
-#: ../src/viktrwlayer_propwin.c:2824
+#: ../src/viktrwlayer_propwin.c:2773
msgid "<b>Total Elevation Gain/Loss:</b>"
msgstr "<b>Dénivelé total :</b>"
-#: ../src/viktrwlayer_propwin.c:2825
+#: ../src/viktrwlayer_propwin.c:2774
msgid "<b>Start:</b>"
msgstr "<b>Départ :</b>"
-#: ../src/viktrwlayer_propwin.c:2826
+#: ../src/viktrwlayer_propwin.c:2775
msgid "<b>End:</b>"
msgstr "<b>Arrivée :</b>"
-#: ../src/viktrwlayer_propwin.c:2827
+#: ../src/viktrwlayer_propwin.c:2776
msgid "<b>Duration:</b>"
msgstr "<b>Durée :</b>"
-#: ../src/viktrwlayer_propwin.c:2828
-msgid "<b>Color:</b>"
+#: ../src/viktrwlayer_propwin.c:2797
+msgid "No"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2798
+msgid "Centre"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2799
+msgid "Start only"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2800
+msgid "End only"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2801
+msgid "Start and End"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2802
+msgid "Centre, Start and End"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2877 ../src/viktrwlayer_propwin.c:2901
-#: ../src/viktrwlayer_propwin.c:2929 ../src/viktrwlayer_propwin.c:2966
-#: ../src/viktrwlayer_propwin.c:2984 ../src/viktrwlayer_propwin.c:3034
-#: ../src/viktrwlayer_propwin.c:3035 ../src/viktrwlayer_propwin.c:3036
-#: ../src/viktrwlayer_propwin.c:3062 ../src/viktrwlayer_propwin.c:3063
+#: ../src/viktrwlayer_propwin.c:2814
+msgid "Maximum number of distance labels to be shown"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2818
+msgid "Properties"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2856 ../src/viktrwlayer_propwin.c:2880
+#: ../src/viktrwlayer_propwin.c:2908 ../src/viktrwlayer_propwin.c:2945
+#: ../src/viktrwlayer_propwin.c:2963 ../src/viktrwlayer_propwin.c:3009
+#: ../src/viktrwlayer_propwin.c:3010 ../src/viktrwlayer_propwin.c:3011
+#: ../src/viktrwlayer_propwin.c:3020 ../src/viktrwlayer_propwin.c:3021
+#: ../src/viktrwlayer_propwin.c:3036 ../src/viktrwlayer_propwin.c:3037
+#: ../src/viktrwlayer_propwin.c:3050 ../src/viktrwlayer_propwin.c:3051
+#: ../src/viktrwlayer_propwin.c:3064 ../src/viktrwlayer_propwin.c:3065
#: ../src/viktrwlayer_propwin.c:3078 ../src/viktrwlayer_propwin.c:3079
#: ../src/viktrwlayer_propwin.c:3092 ../src/viktrwlayer_propwin.c:3093
-#: ../src/viktrwlayer_propwin.c:3106 ../src/viktrwlayer_propwin.c:3107
-#: ../src/viktrwlayer_propwin.c:3120 ../src/viktrwlayer_propwin.c:3121
-#: ../src/viktrwlayer_propwin.c:3134 ../src/viktrwlayer_propwin.c:3135
+#: ../src/viktrwlayer_analysis.c:257
#, c-format
msgid "No Data"
msgstr "Pas de données"
-#: ../src/viktrwlayer_propwin.c:3031
+#: ../src/viktrwlayer_propwin.c:3006
#, c-format
msgid "%d minutes"
msgstr "%d minutes"
-#: ../src/viktrwlayer_propwin.c:3058
+#: ../src/viktrwlayer_propwin.c:3016 ../src/viktrwlayer_analysis.c:515
msgid "Statistics"
msgstr "Statistiques"
-#: ../src/viktrwlayer_propwin.c:3064
+#: ../src/viktrwlayer_propwin.c:3022
msgid "Show D_EM"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3065 ../src/viktrwlayer_propwin.c:3080
-#: ../src/viktrwlayer_propwin.c:3094 ../src/viktrwlayer_propwin.c:3136
+#: ../src/viktrwlayer_propwin.c:3023 ../src/viktrwlayer_propwin.c:3038
+#: ../src/viktrwlayer_propwin.c:3052 ../src/viktrwlayer_propwin.c:3094
msgid "Show _GPS Speed"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3067 ../src/viktrwlayer_propwin.c:3082
-#: ../src/viktrwlayer_propwin.c:3110 ../src/viktrwlayer_propwin.c:3138
+#: ../src/viktrwlayer_propwin.c:3025 ../src/viktrwlayer_propwin.c:3040
+#: ../src/viktrwlayer_propwin.c:3068 ../src/viktrwlayer_propwin.c:3096
msgid "<b>Track Distance:</b>"
msgstr ""
"Copy text \t\r\n"
"<b>Distance de la trace :</b>"
-#: ../src/viktrwlayer_propwin.c:3068 ../src/viktrwlayer_propwin.c:3125
+#: ../src/viktrwlayer_propwin.c:3026 ../src/viktrwlayer_propwin.c:3083
msgid "<b>Track Height:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3073
+#: ../src/viktrwlayer_propwin.c:3031
msgid "Elevation-distance"
msgstr "Dénivelée/distance"
-#: ../src/viktrwlayer_propwin.c:3083
+#: ../src/viktrwlayer_propwin.c:3041
msgid "<b>Track Gradient:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3087
+#: ../src/viktrwlayer_propwin.c:3045
msgid "Gradient-distance"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3096 ../src/viktrwlayer_propwin.c:3111
-#: ../src/viktrwlayer_propwin.c:3124
+#: ../src/viktrwlayer_propwin.c:3054 ../src/viktrwlayer_propwin.c:3069
+#: ../src/viktrwlayer_propwin.c:3082
msgid "<b>Track Time:</b>"
msgstr "<b>Durée de la trace :</b>"
-#: ../src/viktrwlayer_propwin.c:3097 ../src/viktrwlayer_propwin.c:3139
+#: ../src/viktrwlayer_propwin.c:3055 ../src/viktrwlayer_propwin.c:3097
msgid "<b>Track Speed:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3101
+#: ../src/viktrwlayer_propwin.c:3059
msgid "Speed-time"
msgstr "Vitesse/temps"
-#: ../src/viktrwlayer_propwin.c:3108 ../src/viktrwlayer_propwin.c:3122
+#: ../src/viktrwlayer_propwin.c:3066 ../src/viktrwlayer_propwin.c:3080
msgid "Show S_peed"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3115
+#: ../src/viktrwlayer_propwin.c:3073
msgid "Distance-time"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3129
+#: ../src/viktrwlayer_propwin.c:3087
msgid "Elevation-time"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3143
+#: ../src/viktrwlayer_propwin.c:3101
msgid "Speed-distance"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:118
+#: ../src/viktrwlayer_tpwin.c:119
msgid "<b>Part of Track:</b>"
msgstr "<b>Trace :</b>"
-#: ../src/viktrwlayer_tpwin.c:119
+#: ../src/viktrwlayer_tpwin.c:120
msgid "<b>Latitude:</b>"
msgstr "<b>Latitude :</b>"
-#: ../src/viktrwlayer_tpwin.c:120
+#: ../src/viktrwlayer_tpwin.c:121
msgid "<b>Longitude:</b>"
msgstr "<b>Longitude :</b>"
-#: ../src/viktrwlayer_tpwin.c:121
+#: ../src/viktrwlayer_tpwin.c:122
msgid "<b>Altitude:</b>"
msgstr "<b>Altitude :</b>"
-#: ../src/viktrwlayer_tpwin.c:122
+#: ../src/viktrwlayer_tpwin.c:123
+msgid "<b>Course:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_tpwin.c:124
msgid "<b>Timestamp:</b>"
msgstr "<b>Timestamp :</b>"
-#: ../src/viktrwlayer_tpwin.c:123
+#: ../src/viktrwlayer_tpwin.c:125
msgid "<b>Time:</b>"
msgstr "<b>Heure :</b>"
-#: ../src/viktrwlayer_tpwin.c:124
+#: ../src/viktrwlayer_tpwin.c:126
msgid "<b>Distance Difference:</b>"
msgstr "<b>Distance :</b>"
-#: ../src/viktrwlayer_tpwin.c:125
+#: ../src/viktrwlayer_tpwin.c:127
msgid "<b>Time Difference:</b>"
msgstr "<b>Temps :</b>"
-#: ../src/viktrwlayer_tpwin.c:126
+#: ../src/viktrwlayer_tpwin.c:128
msgid "<b>\"Speed\" Between:</b>"
msgstr "<b>Vitesse :</b>"
-#: ../src/viktrwlayer_tpwin.c:127
+#: ../src/viktrwlayer_tpwin.c:129
+msgid "<b>Speed:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_tpwin.c:130
msgid "<b>VDOP:</b>"
msgstr "<b>VDOP:</b>"
-#: ../src/viktrwlayer_tpwin.c:128
+#: ../src/viktrwlayer_tpwin.c:131
msgid "<b>HDOP:</b>"
msgstr "<b>HDOP:</b>"
-#: ../src/viktrwlayer_tpwin.c:129
+#: ../src/viktrwlayer_tpwin.c:132
msgid "<b>PDOP:</b>"
msgstr "<b>PDOP:</b>"
-#: ../src/viktrwlayer_tpwin.c:130
+#: ../src/viktrwlayer_tpwin.c:133
msgid "<b>SAT/FIX:</b>"
msgstr "<b>SAT/FIX:</b>"
-#: ../src/viktrwlayer_tpwin.c:139
+#: ../src/viktrwlayer_tpwin.c:141
msgid "Trackpoint"
msgstr "Point de route"
-#: ../src/viktrwlayer_tpwin.c:142
+#: ../src/viktrwlayer_tpwin.c:144
msgid "_Insert After"
msgstr "_Insérer Après"
-#: ../src/viktrwlayer_tpwin.c:144
+#: ../src/viktrwlayer_tpwin.c:146
msgid "Split Here"
msgstr "Découper ici"
-#: ../src/viktrwlayer_geotag.c:446
+#.
+#. item = gtk_image_menu_item_new_with_mnemonic ( _("_Select") );
+#. gtk_image_menu_item_set_image ( (GtkImageMenuItem*)item, gtk_image_new_from_stock (GTK_STOCK_FIND, GTK_ICON_SIZE_MENU) );
+#. g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(trw_layer_track_select), values );
+#. gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
+#. gtk_widget_show ( item );
+#.
+#. ATM view auto selects, so don't bother with separate select menu entry
+#: ../src/viktrwlayer_tracklist.c:231 ../src/vikwindow.c:3695
+msgid "_View"
+msgstr "_Vue"
+
+#. Insert column for the layer name when viewing multi layers
+#: ../src/viktrwlayer_tracklist.c:514
+msgid "Layer"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:526
+msgid "Date"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:529
+msgid "Visible"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:536
+msgid ""
+"Distance\n"
+"(miles)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:539
+msgid ""
+"Distance\n"
+"(km)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:545
+msgid ""
+"Length\n"
+"(minutes)"
+msgstr ""
+
+#. VIK_UNITS_SPEED_KILOMETRES_PER_HOUR:
+#: ../src/viktrwlayer_tracklist.c:549 ../src/vikutils.c:72
+msgid "km/h"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:550 ../src/vikutils.c:62
+msgid "mph"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:551 ../src/vikutils.c:68
+msgid "knots"
+msgstr ""
+
+#. VIK_UNITS_SPEED_METRES_PER_SECOND:
+#: ../src/viktrwlayer_tracklist.c:553 ../src/vikutils.c:65
+msgid "m/s"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:556
+#, c-format
+msgid ""
+"Av. Speed\n"
+"(%s)"
+msgstr ""
+
+#. Apply own formatting of the data
+#: ../src/viktrwlayer_tracklist.c:561
+#, c-format
+msgid ""
+"Max Speed\n"
+"(%s)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:569
+msgid ""
+"Max Height\n"
+"(Feet)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:571
+msgid ""
+"Max Height\n"
+"(Metres)"
+msgstr ""
+
+#: ../src/viktrwlayer_geotag.c:481
#, c-format
msgid "Geotagging %d Images..."
msgstr ""
-#: ../src/viktrwlayer_geotag.c:510
+#: ../src/viktrwlayer_geotag.c:545
msgid "Geotag Images"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:516
+#: ../src/viktrwlayer_geotag.c:551
msgid "Images"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:520
+#: ../src/viktrwlayer_geotag.c:555
msgid "Overwrite Existing Waypoints:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:523
+#: ../src/viktrwlayer_geotag.c:558
msgid "Overwrite Existing GPS Information:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:525
+#: ../src/viktrwlayer_geotag.c:560
msgid "Keep File Modification Timestamp:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:555
+#: ../src/viktrwlayer_geotag.c:592
msgid "Create Waypoints:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:563
+#: ../src/viktrwlayer_geotag.c:600
msgid "Write EXIF:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:575
+#: ../src/viktrwlayer_geotag.c:612
msgid "Interpolate Between Track Segments:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:579
+#: ../src/viktrwlayer_geotag.c:616
msgid "Image Time Offset (Seconds):"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:581
+#: ../src/viktrwlayer_geotag.c:618
msgid ""
"The number of seconds to ADD to the photos time to make it match the GPS "
"data. Calculate this with (GPS - Photo). Can be negative or positive. Useful "
"to adjust times when a camera's timestamp was incorrect."
msgstr ""
-#: ../src/viktrwlayer_geotag.c:584
+#: ../src/viktrwlayer_geotag.c:621
msgid "Image Timezone:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:586
+#: ../src/viktrwlayer_geotag.c:623
msgid ""
"The timezone that was used when the images were created. For example, if a "
"camera is set to AWST or +8:00 hours. Enter +8:00 here so that the correct "
"adjustment to the images' time can be made. GPS data is always in UTC."
msgstr ""
-#: ../src/viktrwlayer_geotag.c:590
+#: ../src/viktrwlayer_geotag.c:627
#, c-format
msgid "Using track: %s"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:592
+#: ../src/viktrwlayer_geotag.c:629
#, c-format
msgid "Using all tracks in: %s"
msgstr ""
-#: ../src/vikstatus.c:105
+#: ../src/viktrwlayer_analysis.c:193
+msgid "Number of Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:194
+msgid "Date Range"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:195
+msgid "Total Length"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:196
+msgid "Average Length"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:197
+msgid "Max Speed"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:198
+msgid "Avg. Speed"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:199
+msgid "Minimum Altitude"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:200
+msgid "Maximum Altitude"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:201
+msgid "Total Elevation Gain/Loss"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:202
+msgid "Avg. Elevation Gain/Loss"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:203
+msgid "Total Duration"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:204
+msgid "Avg. Duration"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:278
+#, c-format
+msgid "%.2f miles"
+msgstr ""
+
+#. VIK_UNITS_DISTANCE_KILOMETRES
+#: ../src/viktrwlayer_analysis.c:282
+#, c-format
+msgid "%.2f km"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:297
+#, c-format
+msgid "%.2f m/s"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:306
+#, c-format
+msgid "%.2f knots\n"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:309
+#, c-format
+msgid "%.2f knots"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:316 ../src/viktrwlayer_analysis.c:319
+#, c-format
+msgid "%.2f km/h"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:330 ../src/viktrwlayer_analysis.c:336
+#, c-format
+msgid "%d feet"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:341 ../src/viktrwlayer_analysis.c:343
+#, c-format
+msgid "%d feet / %d feet"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:348 ../src/viktrwlayer_analysis.c:354
+#, c-format
+msgid "%d m"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:359 ../src/viktrwlayer_analysis.c:361
+#, c-format
+msgid "%d m / %d m"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:373
+#, c-format
+msgid "%d:%02d:%02d days:hrs:mins"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:380
+#, c-format
+msgid "%d:%02d hrs:mins"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:550
+msgid "Include Invisible Items"
+msgstr ""
+
+#: ../src/vikstatus.c:107
+msgid "Current number of background tasks. Click to see the background jobs."
+msgstr ""
+
+#: ../src/vikstatus.c:113
msgid "Current zoom level. Click to select a new one."
msgstr ""
-#: ../src/vikwaypoint.c:34
+#: ../src/vikutils.c:80
+msgid "GPSD"
+msgstr ""
+
+#. GPS Preamble
+#: ../src/vikutils.c:81
+msgid "Trkpt"
+msgstr ""
+
+#: ../src/vikutils.c:121
+#, c-format
+msgid "%sSpeed%s %.1f%s"
+msgstr ""
+
+#: ../src/vikutils.c:130
+#, c-format
+msgid "%sAlt %dfeet"
+msgstr ""
+
+#. VIK_UNITS_HEIGHT_METRES:
+#: ../src/vikutils.c:134
+#, c-format
+msgid "%sAlt %dm"
+msgstr ""
+
+#: ../src/vikutils.c:142
+#, c-format
+msgid "%sCourse %03d°"
+msgstr ""
+
+#: ../src/vikutils.c:155
+msgid "yards"
+msgstr ""
+
+#. VIK_UNITS_DISTANCE_KILOMETRES:
+#: ../src/vikutils.c:159
+msgid "m"
+msgstr ""
+
+#: ../src/vikutils.c:163
+#, c-format
+msgid "%sDistance diff %d%s"
+msgstr ""
+
+#: ../src/vikutils.c:179
+#, c-format
+msgid "%sTime %s"
+msgstr ""
+
+#: ../src/vikutils.c:187
+#, c-format
+msgid "%sTime diff %lds"
+msgstr ""
+
+#: ../src/vikutils.c:193
+#, c-format
+msgid "%sNo. of Sats %d"
+msgstr ""
+
+#: ../src/vikutils.c:213
+#, c-format
+msgid "%sDistance along %.2f%s"
+msgstr ""
+
+#. Name of track
+#: ../src/vikutils.c:232
+#, c-format
+msgid "%sTrack: %s"
+msgstr ""
+
+#: ../src/vikwaypoint.c:36
msgid "Waypoint"
msgstr ""
#. TODO get rid of this as this is unnecessary duplication...
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Pan"
msgstr "Déplacer"
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Zoom"
msgstr "Zoom"
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Ruler"
msgstr "Règle"
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Select"
msgstr ""
+#: ../src/vikwindow.c:381
+msgid "Location lookup aborted"
+msgstr ""
+
+#: ../src/vikwindow.c:401
+#, c-format
+msgid "Location found: %s"
+msgstr ""
+
+#: ../src/vikwindow.c:410
+msgid "Unable to determine location"
+msgstr ""
+
+#: ../src/vikwindow.c:434
+msgid "Default Map"
+msgstr ""
+
+#: ../src/vikwindow.c:444
+msgid "Trying to determine location..."
+msgstr ""
+
+#: ../src/vikwindow.c:447
+msgid "Determining location"
+msgstr ""
+
#. Create tooltip
-#: ../src/vikwindow.c:440
+#: ../src/vikwindow.c:605
msgid "Select zoom level"
msgstr ""
-#: ../src/vikwindow.c:645
+#: ../src/vikwindow.c:923
#, c-format
msgid ""
"Do you want to save the changes you made to the document \"%s\"?\n"
@@ -3195,170 +4057,229 @@ msgstr ""
"\n"
"Ces changements seront perdus si vous ne les enregistrez pas."
-#: ../src/vikwindow.c:649
+#: ../src/vikwindow.c:927
msgid "Don't Save"
msgstr "Ne pas enregistrer"
-#: ../src/vikwindow.c:696
+#: ../src/vikwindow.c:1005
msgid "mpp"
msgstr "mètres par pixel"
-#: ../src/vikwindow.c:696
+#: ../src/vikwindow.c:1005
msgid "pixelfact"
msgstr ""
-#: ../src/vikwindow.c:861
+#: ../src/vikwindow.c:1169
#, c-format
msgid "%s %s %dm"
msgstr "%s %s %dm"
-#: ../src/vikwindow.c:863
+#: ../src/vikwindow.c:1171
#, c-format
msgid "%s %s %dft"
msgstr ""
-#: ../src/vikwindow.c:866
+#: ../src/vikwindow.c:1174
#, c-format
msgid "%s %s"
msgstr "%s %s"
#. NB Ctrl+Shift+R is used for Refresh (deemed more important), so use 'U' instead
-#: ../src/vikwindow.c:1254
+#: ../src/vikwindow.c:1562
msgid "_Ruler"
msgstr "_Règle"
-#: ../src/vikwindow.c:1254
+#: ../src/vikwindow.c:1562
msgid "Ruler Tool"
msgstr "Règle"
-#: ../src/vikwindow.c:1502 ../src/vikwindow.c:3138
+#: ../src/vikwindow.c:1810 ../src/vikwindow.c:3697
msgid "_Zoom"
msgstr "_Zoom"
-#: ../src/vikwindow.c:1502
+#: ../src/vikwindow.c:1810
msgid "Zoom Tool"
msgstr "Outil de zoom"
-#: ../src/vikwindow.c:1547 ../src/vikwindow.c:3139
+#: ../src/vikwindow.c:1855 ../src/vikwindow.c:3698
msgid "_Pan"
msgstr "_Déplacer"
-#: ../src/vikwindow.c:1547
+#: ../src/vikwindow.c:1855
msgid "Pan Tool"
msgstr "Outil de déplacement"
-#: ../src/vikwindow.c:1664
+#: ../src/vikwindow.c:1972
msgid "_Select"
msgstr ""
-#: ../src/vikwindow.c:1664
+#: ../src/vikwindow.c:1972
msgid "Select Tool"
msgstr ""
-#: ../src/vikwindow.c:1809
+#: ../src/vikwindow.c:2123
msgid "You must select a layer to show its properties."
msgstr "Vous devez sélectionner un calque pour afficher ses propriétés"
#. No error to show, so unlikely this will get called
-#: ../src/vikwindow.c:1824
+#: ../src/vikwindow.c:2137
msgid "The help system is not available."
msgstr ""
#. Main error path
-#: ../src/vikwindow.c:1827
+#: ../src/vikwindow.c:2140
#, c-format
msgid ""
"Help is not available because: %s.\n"
"Ensure a Mime Type ghelp handler program is installed (e.g. yelp)."
msgstr ""
-#: ../src/vikwindow.c:1850
+#: ../src/vikwindow.c:2160
msgid "You must select a layer to delete."
msgstr "Vous devez sélectionner un calque à supprimer."
-#: ../src/vikwindow.c:2087
+#: ../src/vikwindow.c:2396
msgid "Untitled"
msgstr "SansTitre"
-#: ../src/vikwindow.c:2194
+#: ../src/vikwindow.c:2503
#, c-format
msgid "Unable to add '%s' to the list of recently used documents"
msgstr "Impossible de rajouter '%s' à la liste des documents récents"
-#: ../src/vikwindow.c:2208
+#: ../src/vikwindow.c:2540
msgid "The file you requested could not be opened."
msgstr "Le fichier choisi ne peut pas être ouvert."
-#: ../src/vikwindow.c:2211
+#: ../src/vikwindow.c:2543
msgid ""
"GPSBabel is required to load files of this type or GPSBabel encountered "
"problems."
msgstr ""
-#: ../src/vikwindow.c:2214
+#: ../src/vikwindow.c:2546
#, c-format
msgid "Unable to load malformed GPX file %s"
msgstr ""
-#: ../src/vikwindow.c:2217
+#: ../src/vikwindow.c:2549
#, c-format
msgid "Unsupported file type for %s"
msgstr ""
#. Since we can process .vik files with issues just show a warning in the status bar
#. Not that a user can do much about it... or tells them what this issue is yet...
-#: ../src/vikwindow.c:2223
+#: ../src/vikwindow.c:2555
#, c-format
msgid "WARNING: issues encountered loading %s"
msgstr ""
-#: ../src/vikwindow.c:2278
+#: ../src/vikwindow.c:2613
msgid "Please select a GPS data file to open. "
msgstr "Sélectionner un fichier GPS à ouvrir. "
-#: ../src/vikwindow.c:2288
+#: ../src/vikwindow.c:2629
msgid "Geocaching"
msgstr ""
-#: ../src/vikwindow.c:2294
+#: ../src/vikwindow.c:2635
msgid "Google Earth"
msgstr ""
-#: ../src/vikwindow.c:2299
+#: ../src/vikwindow.c:2640
msgid "GPX"
msgstr ""
-#: ../src/vikwindow.c:2304 ../src/vikwindow.c:2387
+#: ../src/vikwindow.c:2645 ../src/vikwindow.c:2734
#: ../src/viking.desktop.in.h:1
msgid "Viking"
msgstr "Viking"
-#: ../src/vikwindow.c:2374
+#: ../src/vikwindow.c:2715
msgid "Save as Viking File."
msgstr "Enregistrer en tant que fichier Viking."
+#: ../src/vikwindow.c:2841
+msgid "Exporting to file: "
+msgstr ""
+
+#. Confirm what happened.
+#: ../src/vikwindow.c:2858
+#, c-format
+msgid "Exported files: %d"
+msgstr ""
+
+#: ../src/vikwindow.c:2870
+msgid "Nothing to Export!"
+msgstr ""
+
+#: ../src/vikwindow.c:2874
+msgid "Export to directory"
+msgstr ""
+
+#: ../src/vikwindow.c:2896
+msgid "Could not convert all files"
+msgstr ""
+
+#: ../src/vikwindow.c:2932
+#, c-format
+msgid "%d bytes"
+msgstr ""
+
+#: ../src/vikwindow.c:2934
+#, c-format
+msgid "%3.1f kB"
+msgstr ""
+
+#: ../src/vikwindow.c:2936
+#, c-format
+msgid "%3.1f MB"
+msgstr ""
+
+#: ../src/vikwindow.c:2937
+#, c-format
+msgid ""
+"%s\n"
+"\n"
+"%s\n"
+"\n"
+"%s"
+msgstr ""
+
+#: ../src/vikwindow.c:2942
+msgid "File not accessible"
+msgstr ""
+
+#: ../src/vikwindow.c:2945
+msgid "No Viking File"
+msgstr ""
+
+#: ../src/vikwindow.c:3035
+msgid "This layer has no configurable properties."
+msgstr ""
+
#. Try harder...
-#: ../src/vikwindow.c:2619 ../src/vikwindow.c:2625
+#: ../src/vikwindow.c:3169 ../src/vikwindow.c:3175
msgid "Generating image file..."
msgstr ""
-#: ../src/vikwindow.c:2647
+#: ../src/vikwindow.c:3197
msgid ""
"Failed to generate internal image.\n"
"\n"
"Try creating a smaller image."
msgstr ""
-#: ../src/vikwindow.c:2655
+#: ../src/vikwindow.c:3205
msgid "Failed to generate image file."
msgstr ""
#. Success
-#: ../src/vikwindow.c:2660
+#: ../src/vikwindow.c:3210
msgid "Image file generated."
msgstr ""
-#: ../src/vikwindow.c:2764
+#: ../src/vikwindow.c:3314
msgid ""
"Viewable region outside allowable pixel size bounds for image. Clipping "
"width/height values."
@@ -3367,455 +4288,480 @@ msgstr ""
"d'une image. La largeur et la longueur de l'image générée sont donc "
"tronquées."
-#: ../src/vikwindow.c:2789
+#: ../src/vikwindow.c:3339
#, c-format
msgid "Total area: %ldm x %ldm (%.3f sq. km)"
msgstr "Surface totale %ldm x %ldm (%.3f km²)"
-#: ../src/vikwindow.c:2792
+#: ../src/vikwindow.c:3342
#, c-format
msgid "Total area: %ldm x %ldm (%.3f sq. miles)"
msgstr ""
-#: ../src/vikwindow.c:2813
+#: ../src/vikwindow.c:3363
msgid "Save Image"
msgstr "Enregistrer l'image"
-#: ../src/vikwindow.c:2834
+#: ../src/vikwindow.c:3393
msgid "PNG"
msgstr ""
-#: ../src/vikwindow.c:2857
+#: ../src/vikwindow.c:3416
msgid "You must be in UTM mode to use this feature"
msgstr "Vous devez être en mode UTM pour utiliser cette fonctionalité"
-#: ../src/vikwindow.c:2862
+#: ../src/vikwindow.c:3421
msgid "Choose a directory to hold images"
msgstr "Sélectionner un répertoire pour stocker les images"
#. todo: default for answers inside VikWindow or static (thruout instance)
-#: ../src/vikwindow.c:2883
+#: ../src/vikwindow.c:3442
msgid "Save to Image File"
msgstr "Enregistrer dans un fichier image"
-#: ../src/vikwindow.c:2900
+#: ../src/vikwindow.c:3459
msgid "Width (pixels):"
msgstr "Largeur (pixels) :"
-#: ../src/vikwindow.c:2902
+#: ../src/vikwindow.c:3461
msgid "Height (pixels):"
msgstr "Hauteur (pixels) :"
-#: ../src/vikwindow.c:2905
+#: ../src/vikwindow.c:3464
msgid ""
"WARNING: USING LARGE IMAGES OVER 10000x10000\n"
"MAY CRASH THE PROGRAM!"
msgstr ""
-#: ../src/vikwindow.c:2907
+#: ../src/vikwindow.c:3466
msgid "Zoom (meters per pixel):"
msgstr "Zoom (mètres par pixel) :"
-#: ../src/vikwindow.c:2921
+#: ../src/vikwindow.c:3482
msgid "Area in current viewable window"
msgstr "Surface visible dans la fenêtre principale"
-#: ../src/vikwindow.c:2931
+#: ../src/vikwindow.c:3492
msgid "Save as PNG"
msgstr "Enregistrer en tant que PNG"
-#: ../src/vikwindow.c:2932
+#: ../src/vikwindow.c:3493
msgid "Save as JPEG"
msgstr "Enregistrer en tant que JPEG"
-#: ../src/vikwindow.c:2954
+#: ../src/vikwindow.c:3515
msgid "East-west image tiles:"
msgstr "Nombre d'image est-ouest"
-#: ../src/vikwindow.c:2956
+#: ../src/vikwindow.c:3517
msgid "North-south image tiles:"
msgstr "Nombre d'images nord-sud"
-#: ../src/vikwindow.c:3097
+#: ../src/vikwindow.c:3656
msgid "Choose a background color"
msgstr "Choisir une couleur de fond"
-#: ../src/vikwindow.c:3113
+#: ../src/vikwindow.c:3672
msgid "Choose a track highlight color"
msgstr ""
-#: ../src/vikwindow.c:3134
+#: ../src/vikwindow.c:3693
msgid "_File"
msgstr "_Fichier"
-#: ../src/vikwindow.c:3135
+#: ../src/vikwindow.c:3694
msgid "_Edit"
msgstr "É_dition"
-#: ../src/vikwindow.c:3136
-msgid "_View"
-msgstr "_Vue"
-
-#: ../src/vikwindow.c:3137
+#: ../src/vikwindow.c:3696
msgid "_Show"
msgstr "_Afficher"
-#: ../src/vikwindow.c:3140
+#: ../src/vikwindow.c:3699
msgid "_Layers"
msgstr "_Calques"
-#: ../src/vikwindow.c:3141
+#: ../src/vikwindow.c:3700
msgid "_Tools"
msgstr "_Outils"
-#: ../src/vikwindow.c:3142
+#: ../src/vikwindow.c:3701
msgid "_Webtools"
msgstr "_Outils web"
-#: ../src/vikwindow.c:3143 ../src/vikwindow.c:3206
+#: ../src/vikwindow.c:3702 ../src/vikwindow.c:3763
msgid "_Help"
msgstr "Aid_e"
-#: ../src/vikwindow.c:3145
+#: ../src/vikwindow.c:3704
msgid "New file"
msgstr "Nouveau fichier"
-#: ../src/vikwindow.c:3146
+#: ../src/vikwindow.c:3705
msgid "_Open..."
msgstr "_Ouvrir..."
-#: ../src/vikwindow.c:3146
+#: ../src/vikwindow.c:3705
msgid "Open a file"
msgstr "Ouvrir un fichier"
-#: ../src/vikwindow.c:3147
+#: ../src/vikwindow.c:3706
msgid "Open _Recent File"
msgstr "Ouvrir un fichier _récent"
-#: ../src/vikwindow.c:3148
+#: ../src/vikwindow.c:3707
msgid "Append _File..."
msgstr "Joindre un fichier..."
-#: ../src/vikwindow.c:3148
+#: ../src/vikwindow.c:3707
msgid "Append data from a different file"
msgstr "Ajouter des données d'un autre fichier"
-#: ../src/vikwindow.c:3149
+#: ../src/vikwindow.c:3708
+msgid "_Export All"
+msgstr ""
+
+#: ../src/vikwindow.c:3708
+msgid "Export All TrackWaypoint Layers"
+msgstr ""
+
+#: ../src/vikwindow.c:3709
+msgid "_GPX..."
+msgstr ""
+
+#: ../src/vikwindow.c:3709
+msgid "Export as GPX"
+msgstr ""
+
+#: ../src/vikwindow.c:3710
msgid "A_cquire"
msgstr "_Récupérer"
-#: ../src/vikwindow.c:3150
+#: ../src/vikwindow.c:3711
msgid "Transfer data from a GPS device"
msgstr "Récupérer des données d'un GPS"
-#: ../src/vikwindow.c:3151
+#: ../src/vikwindow.c:3712
msgid "Import File With GPS_Babel..."
msgstr ""
-#: ../src/vikwindow.c:3151
+#: ../src/vikwindow.c:3712
msgid "Import file via GPSBabel converter"
msgstr ""
-#: ../src/vikwindow.c:3153
-msgid "Google _Directions..."
-msgstr "Itinéraires Google..."
+#: ../src/vikwindow.c:3713
+msgid "_Directions..."
+msgstr ""
-#: ../src/vikwindow.c:3153
-msgid "Get driving directions from Google"
-msgstr "Obtenir des indications de conduite à partir de Google"
+#: ../src/vikwindow.c:3713
+msgid "Get driving directions"
+msgstr ""
-#: ../src/vikwindow.c:3156
+#: ../src/vikwindow.c:3715
msgid "_OSM Traces..."
msgstr ""
-#: ../src/vikwindow.c:3156
+#: ../src/vikwindow.c:3715
msgid "Get traces from OpenStreetMap"
msgstr ""
-#: ../src/vikwindow.c:3157
+#: ../src/vikwindow.c:3716
msgid "_My OSM Traces..."
msgstr ""
-#: ../src/vikwindow.c:3157
+#: ../src/vikwindow.c:3716
msgid "Get Your Own Traces from OpenStreetMap"
msgstr ""
-#: ../src/vikwindow.c:3160
+#: ../src/vikwindow.c:3719
msgid "Geo_caches..."
msgstr ""
-#: ../src/vikwindow.c:3160
+#: ../src/vikwindow.c:3719
msgid "Get Geocaches from geocaching.com"
msgstr "Récupérer des Geocaches à partir de geocaching.com"
-#: ../src/vikwindow.c:3163
+#: ../src/vikwindow.c:3722
msgid "Create waypoints from geotagged images"
msgstr ""
-#: ../src/vikwindow.c:3166
+#: ../src/vikwindow.c:3725
msgid "Create waypoints from Wikipedia items in the current view"
msgstr ""
-#: ../src/vikwindow.c:3168
+#: ../src/vikwindow.c:3727
msgid "_Save"
msgstr "_Enregistrer"
-#: ../src/vikwindow.c:3168
+#: ../src/vikwindow.c:3727
msgid "Save the file"
msgstr "Enregistrer le fichier"
-#: ../src/vikwindow.c:3169
+#: ../src/vikwindow.c:3728
msgid "Save _As..."
msgstr "Enregistrer _sous..."
-#: ../src/vikwindow.c:3169
+#: ../src/vikwindow.c:3728
msgid "Save the file under different name"
msgstr "Enregistrer le fichier sous un nom différent"
-#: ../src/vikwindow.c:3170
+#: ../src/vikwindow.c:3729
+msgid "Properties..."
+msgstr ""
+
+#: ../src/vikwindow.c:3729
+msgid "File Properties"
+msgstr ""
+
+#: ../src/vikwindow.c:3730
msgid "_Generate Image File..."
msgstr "Enregistrer dans un fichier _image..."
-#: ../src/vikwindow.c:3170
+#: ../src/vikwindow.c:3730
msgid "Save a snapshot of the workspace into a file"
msgstr "Enregistre une copie d'écran dans un fichier"
-#: ../src/vikwindow.c:3171
+#: ../src/vikwindow.c:3731
msgid "Generate _Directory of Images..."
msgstr "Générer un _répertoire d'images..."
-#: ../src/vikwindow.c:3171
+#: ../src/vikwindow.c:3731
msgid "FIXME:IMGDIR"
msgstr ""
-#: ../src/vikwindow.c:3174
+#: ../src/vikwindow.c:3732
msgid "_Print..."
msgstr "_Imprimer…"
-#: ../src/vikwindow.c:3174
+#: ../src/vikwindow.c:3732
msgid "Print maps"
msgstr "Imprimer les cartes"
-#: ../src/vikwindow.c:3177
+#: ../src/vikwindow.c:3733
msgid "E_xit"
msgstr "_Quitter"
-#: ../src/vikwindow.c:3177
+#: ../src/vikwindow.c:3733
msgid "Exit the program"
msgstr "Quitter le programme"
-#: ../src/vikwindow.c:3178
+#: ../src/vikwindow.c:3734
msgid "Save and Exit"
msgstr "Enregistrer et quitter"
-#: ../src/vikwindow.c:3178
+#: ../src/vikwindow.c:3734
msgid "Save and Exit the program"
msgstr "Enregistrer et quitter le programme"
-#: ../src/vikwindow.c:3180
+#: ../src/vikwindow.c:3736
msgid "Go to the _Default Location"
msgstr "Aller à la position par _défaut"
-#: ../src/vikwindow.c:3180
+#: ../src/vikwindow.c:3736
msgid "Go to the default location"
msgstr "Aller à la position par _défaut"
-#: ../src/vikwindow.c:3181
+#: ../src/vikwindow.c:3737
msgid "Go to _Location..."
msgstr "Aller à la _position..."
-#: ../src/vikwindow.c:3181
+#: ../src/vikwindow.c:3737
msgid "Go to address/place using text search"
msgstr "Aller à une adresse/lieu en utilisant une recherche textuelle"
-#: ../src/vikwindow.c:3182
+#: ../src/vikwindow.c:3738
msgid "_Go to Lat/Lon..."
msgstr "Choisir la _latitude/longitude…"
-#: ../src/vikwindow.c:3182
+#: ../src/vikwindow.c:3738
msgid "Go to arbitrary lat/lon coordinate"
msgstr "Aller à une coordonnée lat/lon donnée"
-#: ../src/vikwindow.c:3183
+#: ../src/vikwindow.c:3739
msgid "Go to UTM..."
msgstr "Choisir une coordonnée UTM…"
-#: ../src/vikwindow.c:3183
+#: ../src/vikwindow.c:3739
msgid "Go to arbitrary UTM coordinate"
msgstr "Aller à une coordonnée UTM donnée"
-#: ../src/vikwindow.c:3184
+#: ../src/vikwindow.c:3740
msgid "_Refresh"
msgstr ""
-#: ../src/vikwindow.c:3184
+#: ../src/vikwindow.c:3740
msgid "Refresh any maps displayed"
msgstr ""
-#: ../src/vikwindow.c:3185
+#: ../src/vikwindow.c:3741
msgid "Set _Highlight Color..."
msgstr ""
-#: ../src/vikwindow.c:3186
+#: ../src/vikwindow.c:3742
msgid "Set Bac_kground Color..."
msgstr "Modifier la _couleur de fond…"
-#: ../src/vikwindow.c:3187
+#: ../src/vikwindow.c:3743
msgid "Zoom _In"
msgstr "Zoom _avant"
-#: ../src/vikwindow.c:3188
+#: ../src/vikwindow.c:3744
msgid "Zoom _Out"
msgstr "Zoom a_rrière"
-#: ../src/vikwindow.c:3189
+#: ../src/vikwindow.c:3745
msgid "Zoom _To..."
msgstr "_Zoom…"
-#: ../src/vikwindow.c:3190
+#: ../src/vikwindow.c:3746
msgid "Pan _North"
msgstr "Déplacer vers le _Nord"
-#: ../src/vikwindow.c:3191
+#: ../src/vikwindow.c:3747
msgid "Pan _East"
msgstr "Déplacer vers l'_Est"
-#: ../src/vikwindow.c:3192
+#: ../src/vikwindow.c:3748
msgid "Pan _South"
msgstr "Déplacer vers le _Sud"
-#: ../src/vikwindow.c:3193
+#: ../src/vikwindow.c:3749
msgid "Pan _West"
msgstr "Déplacer vers l'_Ouest"
-#: ../src/vikwindow.c:3194
+#: ../src/vikwindow.c:3750
msgid "Background _Jobs"
msgstr "Tâches de fond"
-#: ../src/vikwindow.c:3196
+#: ../src/vikwindow.c:3752
msgid "Cu_t"
msgstr "Co_uper"
-#: ../src/vikwindow.c:3197
-msgid "_Copy"
-msgstr "Co_pier"
-
-#: ../src/vikwindow.c:3198
-msgid "_Paste"
-msgstr "C_oller"
-
-#: ../src/vikwindow.c:3199
-msgid "_Delete"
-msgstr "_Effacer"
-
-#: ../src/vikwindow.c:3200
+#: ../src/vikwindow.c:3756
msgid "Delete All"
msgstr "Tout effacer"
-#: ../src/vikwindow.c:3201
+#: ../src/vikwindow.c:3757
msgid "_Flush Map Cache"
msgstr "Vider le cache des cartes"
-#: ../src/vikwindow.c:3202
+#: ../src/vikwindow.c:3758
msgid "_Set the Default Location"
msgstr "_Fixer la position par défaut"
-#: ../src/vikwindow.c:3202
+#: ../src/vikwindow.c:3758
msgid "Set the Default Location to the current position"
msgstr "Fixer la position par défaut à la position courante"
-#: ../src/vikwindow.c:3203
+#: ../src/vikwindow.c:3759
msgid "_Preferences"
msgstr "_Préférences"
-#: ../src/vikwindow.c:3204
+#: ../src/vikwindow.c:3760
+msgid "_Layer Defaults"
+msgstr ""
+
+#: ../src/vikwindow.c:3761
msgid "_Properties"
msgstr "Propriétés"
-#: ../src/vikwindow.c:3207
+#: ../src/vikwindow.c:3764
msgid "_About"
msgstr "À _propos"
-#: ../src/vikwindow.c:3213
+#: ../src/vikwindow.c:3768
+msgid "_KML..."
+msgstr ""
+
+#: ../src/vikwindow.c:3768
+msgid "Export as KML"
+msgstr ""
+
+#: ../src/vikwindow.c:3774
msgid "_UTM Mode"
msgstr "Mode _UTM"
-#: ../src/vikwindow.c:3214
+#: ../src/vikwindow.c:3775
msgid "_Expedia Mode"
msgstr "Mode _Expedia"
-#: ../src/vikwindow.c:3215
+#: ../src/vikwindow.c:3776
msgid "_Mercator Mode"
msgstr "Mode _Mercator"
-#: ../src/vikwindow.c:3216
+#: ../src/vikwindow.c:3777
msgid "Lat_/Lon Mode"
msgstr "Mode Lat_/Lon"
-#: ../src/vikwindow.c:3220
+#: ../src/vikwindow.c:3781
msgid "Show _Scale"
msgstr "Afficher _Echelle"
-#: ../src/vikwindow.c:3220
+#: ../src/vikwindow.c:3781
msgid "Show Scale"
msgstr "Afficher l'échelle"
-#: ../src/vikwindow.c:3221
+#: ../src/vikwindow.c:3782
msgid "Show _Center Mark"
msgstr "Afficher la croix _centrale"
-#: ../src/vikwindow.c:3221
+#: ../src/vikwindow.c:3782
msgid "Show Center Mark"
msgstr "Afficher la croix centrale"
-#: ../src/vikwindow.c:3222
+#: ../src/vikwindow.c:3783
msgid "Show _Highlight"
msgstr ""
-#: ../src/vikwindow.c:3222
+#: ../src/vikwindow.c:3783
msgid "Show Highlight"
msgstr ""
-#: ../src/vikwindow.c:3223
+#: ../src/vikwindow.c:3784
msgid "_Full Screen"
msgstr "_Plein écran"
-#: ../src/vikwindow.c:3223
+#: ../src/vikwindow.c:3784
msgid "Activate full screen mode"
msgstr "Activer le mode plein écran"
-#: ../src/vikwindow.c:3224
+#: ../src/vikwindow.c:3785
msgid "Show Side _Panel"
msgstr "Afficher _Panneau Latéral"
-#: ../src/vikwindow.c:3224
+#: ../src/vikwindow.c:3785
msgid "Show Side Panel"
msgstr "Afficher le panneau latéral"
-#: ../src/vikwindow.c:3225
+#: ../src/vikwindow.c:3786
msgid "Show Status_bar"
msgstr "Afficher la _barre de statut"
-#: ../src/vikwindow.c:3225
+#: ../src/vikwindow.c:3786
msgid "Show Statusbar"
msgstr "Afficher la barre de statut"
-#: ../src/vikwindow.c:3226
+#: ../src/vikwindow.c:3787
msgid "Show _Toolbar"
msgstr ""
-#: ../src/vikwindow.c:3226
+#: ../src/vikwindow.c:3787
msgid "Show Toolbar"
msgstr ""
-#: ../src/vikwindow.c:3227
+#: ../src/vikwindow.c:3788
msgid "Show _Menu"
msgstr ""
-#: ../src/vikwindow.c:3227
+#: ../src/vikwindow.c:3788
msgid "Show Menu"
msgstr ""
+#: ../src/vikwindow.c:3862
+#, c-format
+msgid "New _%s Layer"
+msgstr "Nouvelle couche %s"
+
#: ../src/viking.desktop.in.h:2
msgid "GPS Data Manager"
msgstr "Gestionnaire de données GPS"
diff --git a/po/he.po b/po/he.po
index a55276a..e026b2f 100644
--- a/po/he.po
+++ b/po/he.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: viking\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-02-04 23:29+0100\n"
+"POT-Creation-Date: 2013-09-03 21:58+0200\n"
"PO-Revision-Date: 2008-08-18 20:47+0000\n"
"Last-Translator: Krylov Ilya <Unknown>\n"
"Language-Team: Hebrew <he@li.org>\n"
@@ -15,60 +15,60 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Launchpad-Export-Date: 2013-03-23 17:12+0000\n"
-"X-Generator: Launchpad (build 16540)\n"
+"X-Launchpad-Export-Date: 2013-10-12 09:04+0000\n"
+"X-Generator: Launchpad (build 16799)\n"
"Language: he\n"
-#: ../src/acquire.c:103 ../src/vikgpslayer.c:1185
+#: ../src/acquire.c:103 ../src/vikgpslayer.c:1235
msgid "Done."
msgstr ""
-#: ../src/acquire.c:114
+#: ../src/acquire.c:112
msgid "No data."
msgstr ""
-#: ../src/acquire.c:154 ../src/acquire.c:404
+#: ../src/acquire.c:154 ../src/acquire.c:424
msgid "Error: acquisition failed."
msgstr ""
-#: ../src/acquire.c:341
+#: ../src/acquire.c:352
msgid "Working..."
msgstr "עובד..."
#. This shouldn't happen...
-#: ../src/acquire.c:394
+#: ../src/acquire.c:415
msgid ""
"Unable to create command\n"
"Acquire method failed."
msgstr ""
-#: ../src/acquire.c:486
+#: ../src/acquire.c:517
msgid "_Filter"
msgstr ""
-#: ../src/acquire.c:501
+#: ../src/acquire.c:532
#, c-format
msgid "Filter with %s"
msgstr ""
-#: ../src/acquire.c:518
+#: ../src/acquire.c:549
msgid "Filter"
msgstr ""
-#: ../src/background.c:52
+#: ../src/background.c:53
#, c-format
msgid "%d items"
msgstr ""
-#: ../src/background.c:248
+#: ../src/background.c:254
msgid "Job"
msgstr ""
-#: ../src/background.c:252
+#: ../src/background.c:258
msgid "Progress"
msgstr ""
-#: ../src/background.c:268
+#: ../src/background.c:274
msgid "Viking Background Jobs"
msgstr ""
@@ -77,7 +77,7 @@ msgid "Bing"
msgstr ""
#. VIK_GTK_WINDOW_FROM_WIDGET(vp)
-#: ../src/bingmapsource.c:445
+#: ../src/bingmapsource.c:499
msgid "Bing attribution Loading"
msgstr ""
@@ -102,35 +102,35 @@ msgid ""
"into."
msgstr ""
-#: ../src/dialog.c:52
+#: ../src/dialog.c:53
msgid "Go to Lat/Lon"
msgstr ""
-#: ../src/dialog.c:64 ../src/dialog.c:251
+#: ../src/dialog.c:65 ../src/dialog.c:244
msgid "Latitude:"
msgstr ""
-#: ../src/dialog.c:70 ../src/dialog.c:256
+#: ../src/dialog.c:71 ../src/dialog.c:249
msgid "Longitude:"
msgstr ""
-#: ../src/dialog.c:102
+#: ../src/dialog.c:103
msgid "Go to UTM"
msgstr ""
-#: ../src/dialog.c:115
+#: ../src/dialog.c:116
msgid "Northing:"
msgstr ""
-#: ../src/dialog.c:121
+#: ../src/dialog.c:122
msgid "Easting:"
msgstr ""
-#: ../src/dialog.c:128
+#: ../src/dialog.c:129
msgid "Zone:"
msgstr ""
-#: ../src/dialog.c:131
+#: ../src/dialog.c:132
msgid "Letter:"
msgstr ""
@@ -138,105 +138,109 @@ msgstr ""
msgid "Waypoint Properties"
msgstr ""
-#: ../src/dialog.c:233
+#: ../src/dialog.c:235
msgid "Name:"
msgstr ""
-#: ../src/dialog.c:261
+#: ../src/dialog.c:254
msgid "Altitude:"
msgstr ""
-#: ../src/dialog.c:266
+#: ../src/dialog.c:259
msgid "Comment:"
msgstr ""
-#: ../src/dialog.c:274 ../src/osm-traces.c:437
+#: ../src/dialog.c:267 ../src/osm-traces.c:445
msgid "Description:"
msgstr ""
-#: ../src/dialog.c:277
+#: ../src/dialog.c:270
msgid "Image:"
msgstr ""
-#: ../src/dialog.c:282
+#: ../src/dialog.c:275
msgid "Symbol:"
msgstr ""
-#: ../src/dialog.c:291
+#: ../src/dialog.c:284
msgid "(none)"
msgstr ""
+#: ../src/dialog.c:326
+msgid "Time:"
+msgstr ""
+
#. TODO: other checks (isalpha or whatever )
-#: ../src/dialog.c:356
+#: ../src/dialog.c:363
msgid "Please enter a name for the waypoint."
msgstr ""
-#: ../src/dialog.c:529 ../src/geonamessearch.c:243
+#: ../src/dialog.c:502 ../src/geonamessearch.c:244
#: ../src/datasource_osm_my_traces.c:507
msgid "Nothing was selected"
msgstr ""
-#: ../src/dialog.c:537
+#: ../src/dialog.c:510
msgid "Add Route"
msgstr ""
-#: ../src/dialog.c:537
+#: ../src/dialog.c:510
msgid "Add Track"
msgstr ""
-#: ../src/dialog.c:545
+#: ../src/dialog.c:518
msgid "Route Name:"
msgstr ""
-#: ../src/dialog.c:545
+#: ../src/dialog.c:518
msgid "Track Name:"
msgstr ""
-#: ../src/dialog.c:565
+#: ../src/dialog.c:538
msgid "Please enter a name for the track."
msgstr ""
-#: ../src/dialog.c:623
+#: ../src/dialog.c:596
msgid "Zoom Factors..."
msgstr ""
-#: ../src/dialog.c:637
+#: ../src/dialog.c:610
msgid "Zoom factor (in meters per pixel):"
msgstr ""
-#: ../src/dialog.c:638
+#: ../src/dialog.c:611
msgid "X (easting): "
msgstr ""
-#: ../src/dialog.c:639
+#: ../src/dialog.c:612
msgid "Y (northing): "
msgstr ""
-#: ../src/dialog.c:644
+#: ../src/dialog.c:617
msgid "X and Y zoom factors must be equal"
msgstr ""
-#: ../src/dialog.c:699
+#: ../src/dialog.c:672
msgid "1 min"
msgstr ""
-#: ../src/dialog.c:700
+#: ../src/dialog.c:673
msgid "1 hour"
msgstr ""
-#: ../src/dialog.c:701
+#: ../src/dialog.c:674
msgid "1 day"
msgstr ""
-#: ../src/dialog.c:702
+#: ../src/dialog.c:675
msgid "Custom (in minutes):"
msgstr ""
-#: ../src/dialog.c:808
+#: ../src/dialog.c:786
msgid "GPS Data and Topo Analyzer, Explorer, and Manager."
msgstr ""
-#: ../src/dialog.c:809
+#: ../src/dialog.c:787
msgid ""
"This program is free software; you can redistribute it and/or modify it "
"under the terms of the GNU General Public License as published by the Free "
@@ -253,28 +257,28 @@ msgid ""
"Place, Suite 330, Boston, MA 02111-1307, USA"
msgstr ""
-#: ../src/dialog.c:837
+#: ../src/dialog.c:852
msgid "Translation is coordinated on http://launchpad.net/viking"
msgstr ""
-#: ../src/dialog.c:845
+#: ../src/dialog.c:861
msgid "Download along track"
msgstr ""
-#: ../src/dialog.c:851
+#: ../src/dialog.c:868
msgid "Map type:"
msgstr ""
-#: ../src/dialog.c:856
+#: ../src/dialog.c:874
msgid "Zoom level:"
msgstr ""
-#: ../src/dialog.c:896
+#: ../src/dialog.c:914
#, c-format
msgid "The map data is licensed: %s."
msgstr ""
-#: ../src/dialog.c:899
+#: ../src/dialog.c:917
#, c-format
msgid ""
"The data provided by '<b>%s</b>' are licensed under the following license: "
@@ -282,7 +286,7 @@ msgid ""
"Please, read the license before continuing."
msgstr ""
-#: ../src/dialog.c:904
+#: ../src/dialog.c:922
msgid "Open license"
msgstr ""
@@ -327,7 +331,8 @@ msgstr ""
#. NB could allow columns to be shifted around by doing this after each new
#. gtk_tree_view_column_set_reorderable ( column, TRUE );
#. However I don't think is that useful, so I haven't put it in
-#: ../src/geonamessearch.c:177 ../src/datasource_osm_my_traces.c:425
+#: ../src/geonamessearch.c:177 ../src/datasource_osm_my_traces.c:424
+#: ../src/viktrwlayer_tracklist.c:521
msgid "Name"
msgstr ""
@@ -335,82 +340,192 @@ msgstr ""
msgid "Feature"
msgstr ""
-#: ../src/geonamessearch.c:187 ../src/datasource_osm_my_traces.c:440
+#: ../src/geonamessearch.c:187 ../src/datasource_osm_my_traces.c:439
msgid "Lat/Lon"
msgstr ""
-#: ../src/geonamessearch.c:269 ../src/googlesearch.c:100
+#: ../src/geonamessearch.c:270 ../src/googlesearch.c:100 ../src/vikgoto.c:306
msgid "couldn't map temp file"
msgstr ""
-#: ../src/globals.c:44
+#: ../src/globals.c:73
+msgid "Absolute"
+msgstr ""
+
+#: ../src/globals.c:73
+msgid "Relative"
+msgstr ""
+
+#: ../src/globals.c:76
msgid "Degree format:"
msgstr ""
-#: ../src/globals.c:48
+#: ../src/globals.c:77
msgid "Distance units:"
msgstr ""
-#: ../src/globals.c:52
+#: ../src/globals.c:78
msgid "Speed units:"
msgstr ""
-#: ../src/globals.c:56
+#: ../src/globals.c:79
msgid "Height units:"
msgstr ""
-#: ../src/globals.c:60
+#: ../src/globals.c:80
msgid "Use large waypoint icons:"
msgstr ""
-#: ../src/globals.c:64
+#: ../src/globals.c:81
msgid "Default latitude:"
msgstr ""
-#: ../src/globals.c:67
+#: ../src/globals.c:82
msgid "Default longitude:"
msgstr ""
-#: ../src/globals.c:73
+#: ../src/globals.c:88
msgid "Alphabetical"
msgstr ""
-#: ../src/globals.c:73 ../src/datasource_osm_my_traces.c:435
+#: ../src/globals.c:88 ../src/datasource_osm_my_traces.c:434
msgid "Time"
msgstr ""
-#: ../src/globals.c:76
+#: ../src/globals.c:88
+msgid "Creation"
+msgstr ""
+
+#: ../src/globals.c:89
+msgid "Title Case"
+msgstr ""
+
+#: ../src/globals.c:89
+msgid "Lowercase"
+msgstr ""
+
+#: ../src/globals.c:92
msgid "KML File Export Units:"
msgstr ""
-#: ../src/globals.c:77
+#: ../src/globals.c:93
msgid "GPX Track Order:"
msgstr ""
-#: ../src/globals.c:82
+#: ../src/globals.c:94
+msgid "GPX Waypoint Symbols:"
+msgstr ""
+
+#: ../src/globals.c:95
+msgid ""
+"Save GPX Waypoint Symbol names in the specified case. May be useful for "
+"compatibility with various devices"
+msgstr ""
+
+#: ../src/globals.c:100
msgid "Image Viewer:"
msgstr ""
-#: ../src/globals.c:87
+#: ../src/globals.c:105
msgid "External GPX Program 1:"
msgstr ""
-#: ../src/globals.c:88
+#: ../src/globals.c:106
msgid "External GPX Program 2:"
msgstr ""
+#: ../src/globals.c:110
+msgid "Save File Reference Mode:"
+msgstr ""
+
+#: ../src/globals.c:111
+msgid ""
+"When saving a Viking .vik file, this determines how the directory paths of "
+"filenames are written."
+msgstr ""
+
+#: ../src/globals.c:112
+msgid "Show Tooltip during Track Creation:"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Home Location"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Last Location"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Specified File"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Auto Location"
+msgstr ""
+
+#: ../src/globals.c:118
+msgid "Restore Window Setup:"
+msgstr ""
+
+#: ../src/globals.c:119
+msgid "Restore window size and layout"
+msgstr ""
+
+#: ../src/globals.c:120
+msgid "Add a Default Map Layer:"
+msgstr ""
+
+#: ../src/globals.c:121
+msgid ""
+"The default map layer added is defined by the Layer Defaults. Use the menu "
+"Edit->Layer Defaults->Map... to change the map type and other values."
+msgstr ""
+
+#: ../src/globals.c:122
+msgid "Startup Method:"
+msgstr ""
+
+#: ../src/globals.c:123
+msgid "Startup File:"
+msgstr ""
+
+#: ../src/globals.c:124
+msgid ""
+"The default file to load on startup. Only applies when the startup method is "
+"set to 'Specified File'"
+msgstr ""
+
+#: ../src/globals.c:125
+msgid "Check For New Version:"
+msgstr ""
+
+#: ../src/globals.c:126
+msgid "Periodically check to see if a new version of Viking is available"
+msgstr ""
+
#. Defaults for the options are setup here
-#: ../src/globals.c:96
+#: ../src/globals.c:163
msgid "General"
msgstr ""
#. New Tab
-#: ../src/globals.c:121
+#: ../src/globals.c:188
+msgid "Startup"
+msgstr ""
+
+#. New Tab
+#: ../src/globals.c:206
msgid "Export/External"
msgstr ""
+#. 'Advanced' Properties
+#: ../src/globals.c:230
+msgid "Advanced"
+msgstr ""
+
#. Webtools
-#: ../src/google.c:36
+#: ../src/google.c:38
msgid "Google"
msgstr ""
@@ -423,24 +538,24 @@ msgid "Imported file"
msgstr ""
#. The file selector
-#: ../src/datasource_file.c:133
+#: ../src/datasource_file.c:127
msgid "File:"
msgstr ""
-#: ../src/datasource_file.c:134
+#: ../src/datasource_file.c:128
msgid "File to import"
msgstr ""
-#: ../src/datasource_file.c:141
+#: ../src/datasource_file.c:135
msgid "All files"
msgstr ""
#. The file format selector
-#: ../src/datasource_file.c:148
+#: ../src/datasource_file.c:142
msgid "File type:"
msgstr ""
-#: ../src/datasource_file.c:193
+#: ../src/datasource_file.c:184
#, c-format
msgid "using babel args '%s' and file '%s'"
msgstr ""
@@ -453,29 +568,29 @@ msgstr ""
msgid "Geocaching.com Caches"
msgstr ""
-#: ../src/datasource_gc.c:84
+#: ../src/datasource_gc.c:85
msgid "geocaching.com username:"
msgstr ""
-#: ../src/datasource_gc.c:85
+#: ../src/datasource_gc.c:86
msgid "geocaching.com password:"
msgstr ""
-#: ../src/datasource_gc.c:126
+#: ../src/datasource_gc.c:127
#, c-format
msgid ""
"Can't find %s or %s in path! Check that you have installed it correctly."
msgstr ""
-#: ../src/datasource_gc.c:188
+#: ../src/datasource_gc.c:189
msgid "Number geocaches:"
msgstr ""
-#: ../src/datasource_gc.c:190
+#: ../src/datasource_gc.c:191
msgid "Centered around:"
msgstr ""
-#: ../src/datasource_gc.c:226
+#: ../src/datasource_gc.c:230
msgid "Broken input - using some defaults"
msgstr ""
@@ -487,116 +602,107 @@ msgstr ""
msgid "Geotagged Images"
msgstr ""
-#: ../src/datasource_geotag.c:102 ../src/vikwindow.c:2314
-#: ../src/vikwindow.c:2382 ../src/vikwindow.c:2824
+#: ../src/datasource_geotag.c:102 ../src/vikwindow.c:2655
+#: ../src/vikwindow.c:2729 ../src/vikwindow.c:3380
msgid "All"
msgstr ""
-#: ../src/datasource_geotag.c:107 ../src/vikwindow.c:2829
+#: ../src/datasource_geotag.c:107 ../src/vikwindow.c:3385
msgid "JPG"
msgstr ""
-#: ../src/datasource_geotag.c:165
+#: ../src/datasource_geotag.c:168
#, c-format
msgid "Unable to create waypoint from %s"
msgstr ""
-#: ../src/datasource_google.c:49 ../src/datasource_google.c:50
-msgid "Google Directions"
-msgstr ""
-
-#: ../src/datasource_google.c:77
-msgid "From:"
-msgstr ""
-
-#: ../src/datasource_google.c:79
-msgid "To:"
-msgstr ""
-
-#: ../src/datasource_gps.c:57
+#: ../src/datasource_gps.c:54
msgid "Acquire from GPS"
msgstr ""
-#: ../src/datasource_gps.c:58
+#: ../src/datasource_gps.c:55
msgid "Acquired from GPS"
msgstr ""
-#: ../src/datasource_gps.c:221
+#: ../src/datasource_gps.c:245
#, c-format
msgid "using cmdline '%s' and file '%s'\n"
msgstr ""
-#: ../src/datasource_gps.c:297 ../src/vikgpslayer.c:884
+#: ../src/datasource_gps.c:327 ../src/vikgpslayer.c:934
#, c-format
msgid "Downloading %d waypoint..."
msgid_plural "Downloading %d waypoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/datasource_gps.c:298 ../src/vikgpslayer.c:885
+#: ../src/datasource_gps.c:328 ../src/vikgpslayer.c:935
#, c-format
msgid "Downloading %d trackpoint..."
msgid_plural "Downloading %d trackpoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/datasource_gps.c:303 ../src/vikgpslayer.c:890
+#: ../src/datasource_gps.c:333 ../src/vikgpslayer.c:940
#, c-format
msgid "Downloading %d routepoint..."
msgid_plural "Downloading %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/datasource_gps.c:325 ../src/datasource_gps.c:326
-#: ../src/datasource_gps.c:327
+#: ../src/datasource_gps.c:355 ../src/datasource_gps.c:356
+#: ../src/datasource_gps.c:357
#, c-format
msgid "Downloaded %d out of %d %s..."
msgstr ""
-#: ../src/datasource_gps.c:331 ../src/datasource_gps.c:332
-#: ../src/datasource_gps.c:333
+#: ../src/datasource_gps.c:361 ../src/datasource_gps.c:362
+#: ../src/datasource_gps.c:363
#, c-format
msgid "Downloaded %d %s."
msgstr ""
-#: ../src/datasource_gps.c:347 ../src/vikgpslayer.c:968
+#: ../src/datasource_gps.c:377 ../src/vikgpslayer.c:1018
#, c-format
msgid "GPS Device: %s"
msgstr ""
-#: ../src/datasource_gps.c:370 ../src/vikgpslayer.c:1042
-#: ../src/vikgpslayer.c:1110
+#: ../src/datasource_gps.c:400 ../src/vikgpslayer.c:1092
+#: ../src/vikgpslayer.c:1160
msgid "Status: Working..."
msgstr ""
-#: ../src/datasource_gps.c:469 ../src/vikgpslayer.c:150
+#. NB gps_layer_inst_init() is performed after parameter registeration
+#. thus to give the protocols some potential values use the old static list
+#. TODO: find another way to use gps_layer_inst_init()?
+#: ../src/datasource_gps.c:500 ../src/vikgpslayer.c:207
msgid "GPS Protocol:"
msgstr ""
-#. List now assigned at runtime
-#: ../src/datasource_gps.c:488 ../src/vikgpslayer.c:151
+#. List reassigned at runtime
+#: ../src/datasource_gps.c:526 ../src/vikgpslayer.c:208
msgid "Serial Port:"
msgstr ""
-#: ../src/datasource_gps.c:509
+#: ../src/datasource_gps.c:576
msgid ""
"Turn Off After Transfer\n"
"(Garmin/NAViLink Only)"
msgstr ""
-#: ../src/datasource_gps.c:512
+#: ../src/datasource_gps.c:583
msgid "Tracks:"
msgstr ""
-#: ../src/datasource_gps.c:516
+#: ../src/datasource_gps.c:590
msgid "Routes:"
msgstr ""
-#: ../src/datasource_gps.c:520
+#: ../src/datasource_gps.c:597
msgid "Waypoints:"
msgstr ""
-#: ../src/datasource_gps.c:594 ../src/vikgpslayer.c:1305
+#: ../src/datasource_gps.c:675 ../src/vikgpslayer.c:1355
msgid "GPS device: N/A"
msgstr ""
@@ -604,39 +710,39 @@ msgstr ""
msgid "OSM traces"
msgstr ""
-#: ../src/datasource_osm.c:80
+#: ../src/datasource_osm.c:82
msgid "Page number:"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:63 ../src/datasource_osm_my_traces.c:64
+#: ../src/datasource_osm_my_traces.c:59 ../src/datasource_osm_my_traces.c:60
msgid "OSM My Traces"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:108
+#: ../src/datasource_osm_my_traces.c:104
msgid "Username:"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:113
+#: ../src/datasource_osm_my_traces.c:109
msgid "The email or username used to login to OSM"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:115 ../src/osm-traces.c:413
+#: ../src/datasource_osm_my_traces.c:111 ../src/osm-traces.c:421
msgid "Password:"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:120
+#: ../src/datasource_osm_my_traces.c:114
msgid "The password used to login to OSM"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:430
+#: ../src/datasource_osm_my_traces.c:429
msgid "Description"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:445
+#: ../src/datasource_osm_my_traces.c:444
msgid "Privacy"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:452
+#: ../src/datasource_osm_my_traces.c:451
msgid "Within Current View"
msgstr ""
@@ -648,15 +754,33 @@ msgstr ""
msgid "None found!"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:629
+#: ../src/datasource_osm_my_traces.c:634
msgid "My OSM Traces"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:645
+#: ../src/datasource_osm_my_traces.c:649
#, c-format
msgid "Unable to get trace: %s"
msgstr ""
+#: ../src/datasource_routing.c:53 ../src/datasource_routing.c:54
+msgid "Directions"
+msgstr ""
+
+#. Engine selector
+#: ../src/datasource_routing.c:83
+msgid "Engine:"
+msgstr ""
+
+#. From and To entries
+#: ../src/datasource_routing.c:88
+msgid "From:"
+msgstr ""
+
+#: ../src/datasource_routing.c:90
+msgid "To:"
+msgstr ""
+
#: ../src/datasource_wikipedia.c:32
msgid "Create Waypoints from Wikipedia Articles"
msgstr ""
@@ -677,174 +801,185 @@ msgstr ""
msgid "Incorrect DEM Class B record: expected 1"
msgstr ""
-#: ../src/dem.c:360
+#: ../src/dem.c:288 ../src/download.c:170
#, c-format
msgid "Couldn't map file %s: %s"
msgstr ""
-#: ../src/download.c:112
-msgid "Tile age (s):"
+#: ../src/download.c:130
+msgid "Tile age (days):"
msgstr ""
-#: ../src/download.c:233
+#: ../src/download.c:321
#, c-format
msgid "Download error: %s"
msgstr ""
-#: ../src/download.c:313
+#: ../src/download.c:404
msgid "couldn't open temp file"
msgstr ""
-#: ../src/file.c:456 ../src/file.c:461
+#: ../src/file.c:451 ../src/file.c:456
#, c-format
msgid "Draw mode '%s' no more supported"
msgstr ""
-#: ../src/geotag_exif.c:433
+#: ../src/geotag_exif.c:421
msgid "Not enough memory."
msgstr ""
-#: ../src/geotag_exif.c:451
+#: ../src/geotag_exif.c:439
msgid "Setting a value for this tag is unsupported!"
msgstr ""
-#: ../src/geotag_exif.c:470
+#: ../src/geotag_exif.c:458
#, c-format
msgid "Too few components specified (need %d, found %d)\n"
msgstr ""
-#: ../src/geotag_exif.c:474
+#: ../src/geotag_exif.c:462
msgid "Numeric value expected\n"
msgstr ""
-#: ../src/geotag_exif.c:482
+#: ../src/geotag_exif.c:470
msgid "This shouldn't happen!"
msgstr ""
-#: ../src/geotag_exif.c:552
+#: ../src/geotag_exif.c:540
msgid "Not yet implemented!"
msgstr ""
-#: ../src/geotag_exif.c:565
+#: ../src/geotag_exif.c:553
msgid "Warning; Too many components specified!"
msgstr ""
-#: ../src/osm-traces.c:73
+#: ../src/osm-traces.c:76
msgid "Identifiable (public w/ timestamps)"
msgstr ""
-#: ../src/osm-traces.c:74
+#: ../src/osm-traces.c:77
msgid "Trackable (private w/ timestamps)"
msgstr ""
-#: ../src/osm-traces.c:75
+#: ../src/osm-traces.c:78
msgid "Public"
msgstr ""
-#: ../src/osm-traces.c:76
+#: ../src/osm-traces.c:79
msgid "Private"
msgstr ""
-#: ../src/osm-traces.c:93
+#: ../src/osm-traces.c:97
msgid "OSM username:"
msgstr ""
-#: ../src/osm-traces.c:94
+#: ../src/osm-traces.c:98
msgid "OSM password:"
msgstr ""
#. Preferences
-#: ../src/osm-traces.c:151
+#: ../src/osm-traces.c:155
msgid "OpenStreetMap Traces"
msgstr ""
-#: ../src/osm-traces.c:234
+#: ../src/osm-traces.c:238
#, c-format
msgid "failed to upload data: HTTP response is %ld"
msgstr ""
-#: ../src/osm-traces.c:239
+#: ../src/osm-traces.c:243
#, c-format
msgid "curl_easy_getinfo failed: %d"
msgstr ""
-#: ../src/osm-traces.c:244
+#: ../src/osm-traces.c:248
#, c-format
msgid "curl request failed: %s"
msgstr ""
-#: ../src/osm-traces.c:275
+#: ../src/osm-traces.c:279
#, c-format
msgid "failed to open temporary file: %s"
msgstr ""
#. Success
-#: ../src/osm-traces.c:328
+#: ../src/osm-traces.c:340
msgid "Uploaded to OSM"
msgstr ""
-#: ../src/osm-traces.c:332
+#: ../src/osm-traces.c:344
msgid "FAILED TO UPLOAD DATA TO OSM - CURL PROBLEM"
msgstr ""
-#: ../src/osm-traces.c:335
+#: ../src/osm-traces.c:347
msgid "FAILED TO UPLOAD DATA TO OSM"
msgstr ""
-#: ../src/osm-traces.c:335
+#: ../src/osm-traces.c:347
msgid "HTTP response code"
msgstr ""
-#: ../src/osm-traces.c:348
+#: ../src/osm-traces.c:355
#, c-format
msgid "failed to unlink temporary file: %s"
msgstr ""
-#: ../src/osm-traces.c:387
+#: ../src/osm-traces.c:394
msgid "OSM upload"
msgstr ""
-#: ../src/osm-traces.c:405
+#: ../src/osm-traces.c:413
msgid "Email:"
msgstr ""
-#: ../src/osm-traces.c:410
+#: ../src/osm-traces.c:418
msgid ""
"The email used as login\n"
"<small>Enter the email you use to login into www.openstreetmap.org.</small>"
msgstr ""
-#: ../src/osm-traces.c:418
+#: ../src/osm-traces.c:426
msgid ""
"The password used to login\n"
"<small>Enter the password you use to login into "
"www.openstreetmap.org.</small>"
msgstr ""
-#: ../src/osm-traces.c:423
+#: ../src/osm-traces.c:431
msgid "File's name:"
msgstr ""
-#: ../src/osm-traces.c:433
+#: ../src/osm-traces.c:441
msgid ""
"The name of the file on OSM\n"
"<small>This is the name of the file created on the server.This is not the "
"name of the local file.</small>"
msgstr ""
-#: ../src/osm-traces.c:442
+#: ../src/osm-traces.c:450
msgid "The description of the trace"
msgstr ""
-#: ../src/osm-traces.c:444
+#: ../src/osm-traces.c:453
+msgid "Anonymize Times:"
+msgstr ""
+
+#: ../src/osm-traces.c:458
+msgid ""
+"Anonymize times of the trace.\n"
+"<small>You may choose to make the trace identifiable, yet mask the actual "
+"real time values</small>"
+msgstr ""
+
+#: ../src/osm-traces.c:462
msgid "Tags:"
msgstr ""
-#: ../src/osm-traces.c:449
+#: ../src/osm-traces.c:467
msgid "The tags associated to the trace"
msgstr ""
-#: ../src/osm-traces.c:482
+#: ../src/osm-traces.c:529
#, c-format
msgid "Uploading %s to OSM"
msgstr ""
@@ -853,69 +988,88 @@ msgstr ""
msgid "Map cache memory size (MB):"
msgstr ""
-#: ../src/print.c:53
+#: ../src/print.c:51 ../src/viktrwlayer.c:509
msgid "None"
msgstr ""
-#: ../src/print.c:54
+#: ../src/print.c:52
msgid "Horizontally"
msgstr ""
-#: ../src/print.c:55
+#: ../src/print.c:53
msgid "Vertically"
msgstr ""
-#: ../src/print.c:56
+#: ../src/print.c:54
msgid "Both"
msgstr ""
-#: ../src/print.c:120
+#: ../src/print.c:118
msgid "Image Settings"
msgstr ""
-#: ../src/print.c:546
+#: ../src/print.c:548
msgid "done"
msgstr ""
#. Page Size
-#: ../src/print.c:575
+#: ../src/print.c:577
msgid "_Adjust Page Size and Orientation"
msgstr ""
-#: ../src/print.c:591
+#: ../src/print.c:593
msgid "C_enter:"
msgstr ""
#. ignore page margins
-#: ../src/print.c:609
+#: ../src/print.c:611
msgid "Ignore Page _Margins"
msgstr ""
-#: ../src/print.c:628
+#: ../src/print.c:630
msgid "Image S_ize:"
msgstr ""
-#: ../src/util.c:81
-msgid "Could not launch web browser."
+#: ../src/util.c:65
+#, c-format
+msgid "Could not launch web browser. %s"
msgstr ""
-#: ../src/util.c:92
-msgid "Could not create new email."
+#: ../src/util.c:76
+#, c-format
+msgid "Could not create new email. %s"
msgstr ""
-#: ../src/vikcoordlayer.c:46
+#: ../src/util.c:177
+#, c-format
+msgid ""
+"There is a newer version of Viking available: %s\n"
+"\n"
+"Do you wish to go to Viking's website now?"
+msgstr ""
+
+#: ../src/util.c:304
+msgid ""
+"This appears to be Viking's very first run.\n"
+"\n"
+"Do you wish to enable automatic internet features?\n"
+"\n"
+"Individual settings can be controlled in the Preferences."
+msgstr ""
+
+#: ../src/vikcoordlayer.c:57
msgid "Color:"
msgstr ""
-#: ../src/vikcoordlayer.c:47
+#: ../src/vikcoordlayer.c:58
msgid "Minutes Width:"
msgstr ""
-#: ../src/vikcoordlayer.c:48
+#: ../src/vikcoordlayer.c:59
msgid "Line Thickness:"
msgstr ""
-#: ../src/vikcoordlayer.c:56
+#: ../src/vikcoordlayer.c:66
msgid "Coordinate"
msgstr ""
@@ -951,62 +1105,130 @@ msgstr ""
msgid "Polygonzied Layer"
msgstr ""
-#: ../src/main.c:89
+#: ../src/main.c:92
#, c-format
msgid "Ignoring Xlib error: error code %d request code %d\n"
msgstr ""
-#: ../src/main.c:102
+#: ../src/main.c:105
msgid "Enable debug output"
msgstr ""
-#: ../src/main.c:103
+#: ../src/main.c:106
msgid "Enable verbose output"
msgstr ""
-#: ../src/main.c:104
+#: ../src/main.c:107
msgid "Show version"
msgstr ""
-#: ../src/osm.c:106
+#: ../src/osm.c:99
msgid "On Disk OSM Tile Format"
msgstr ""
-#: ../src/osm.c:121
+#: ../src/osm.c:113
msgid "OSM (view)"
msgstr ""
-#: ../src/osm.c:125
+#: ../src/osm.c:117
msgid "OSM (edit)"
msgstr ""
-#: ../src/osm.c:129
+#: ../src/osm.c:121
msgid "OSM (render)"
msgstr ""
#. Example: http://127.0.0.1:8111/load_and_zoom?left=8.19&right=8.20&top=48.605&bottom=48.590&select=node413602999
#. JOSM or merkaartor must already be running with remote interface enabled
-#: ../src/osm.c:136
+#: ../src/osm.c:128
msgid "Local port 8111 (eg JOSM)"
msgstr ""
-#: ../src/preferences.c:285
+#: ../src/osm.c:134
+msgid "OpenStreetMap Notes"
+msgstr ""
+
+#: ../src/osm.c:138
+msgid "OpenStreetBugs"
+msgstr ""
+
+#. Not really OSM but can't be bothered to create somewhere else to put it...
+#: ../src/osm.c:164
+msgid "Wikimedia Toolserver GeoHack"
+msgstr ""
+
+#: ../src/preferences.c:191
msgid "Preferences"
msgstr ""
-#: ../src/uibuilder.c:147
+#: ../src/viklayer_defaults.c:232
+#, c-format
+msgid "Could not open file: %s"
+msgstr ""
+
+#: ../src/viklayer_defaults.c:303
+msgid "Layer Defaults"
+msgstr ""
+
+#: ../src/uibuilder.c:185
msgid "Take care that this password will be stored clearly in a plain file."
msgstr ""
-#: ../src/vikaggregatelayer.c:37
+#: ../src/vikaggregatelayer.c:42
msgid "Aggregate"
msgstr ""
-#: ../src/vikdemlayer.c:101
+#. VikLayersPanel *vlp = VIK_LAYERS_PANEL(lav[1]);
+#: ../src/vikaggregatelayer.c:484 ../src/viktrwlayer.c:10238
+#, c-format
+msgid "%s: Track and Route List"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:529 ../src/viktrwlayer.c:7354
+#: ../src/viktrwlayer.c:7420 ../src/viktrwlayer.c:7498
+msgid "_Visibility"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:534
+msgid "_Show All"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:540
+msgid "_Hide All"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:546 ../src/viktrwlayer.c:7371
+#: ../src/viktrwlayer.c:7437 ../src/viktrwlayer.c:7515
+msgid "_Toggle"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:553 ../src/viktrwlayer.c:7536
+msgid "_Sort"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:559 ../src/viktrwlayer.c:7542
+msgid "Name _Ascending"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:565 ../src/viktrwlayer.c:7548
+msgid "Name _Descending"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:571 ../src/viktrwlayer.c:7449
+#: ../src/viktrwlayer.c:7527 ../src/viktrwlayer.c:7587
+#: ../src/viktrwlayer_tracklist.c:237
+msgid "_Statistics"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:576 ../src/viktrwlayer.c:3971
+msgid "Track _List..."
+msgstr ""
+
+#: ../src/vikdemlayer.c:92
msgid "Absolute height"
msgstr ""
-#: ../src/vikdemlayer.c:102
+#: ../src/vikdemlayer.c:93
msgid "Height gradient"
msgstr ""
@@ -1046,25 +1268,52 @@ msgstr ""
msgid "DEM"
msgstr ""
-#: ../src/vikdemlayer.c:284
+#: ../src/vikdemlayer.c:287
#, c-format
msgid "Number of files: %d"
msgstr ""
-#: ../src/vikdemlayer.c:385
+#: ../src/vikdemlayer.c:427
msgid "DEM Loading"
msgstr ""
-#: ../src/vikdemlayer.c:889
+#: ../src/vikdemlayer.c:937
#, c-format
msgid "No SRTM data available for %f, %f"
msgstr ""
-#: ../src/vikdemlayer.c:1149
+#. Probably not over any land...
+#: ../src/vikdemlayer.c:1193
+msgid "No DEM File Available"
+msgstr ""
+
+#: ../src/vikdemlayer.c:1212
+#, c-format
+msgid ""
+"\n"
+"Source: %s\n"
+"\n"
+"DEM File: %s\n"
+"DEM File Timestamp: %s"
+msgstr ""
+
+#: ../src/vikdemlayer.c:1216
+#, c-format
+msgid ""
+"Source: %s\n"
+"\n"
+"No DEM File!"
+msgstr ""
+
+#: ../src/vikdemlayer.c:1256
#, c-format
msgid "Downloading DEM %s"
msgstr ""
+#: ../src/vikdemlayer.c:1280
+msgid "_Show DEM File Information"
+msgstr ""
+
#: ../src/vikfileentry.c:68
msgid "Browse..."
msgstr ""
@@ -1085,248 +1334,266 @@ msgstr ""
msgid "Delete"
msgstr ""
-#: ../src/vikgeoreflayer.c:70
+#: ../src/vikgeoreflayer.c:78
msgid "_Georef Move Map"
msgstr ""
-#: ../src/vikgeoreflayer.c:70
+#: ../src/vikgeoreflayer.c:78
msgid "Georef Move Map"
msgstr ""
-#: ../src/vikgeoreflayer.c:77
+#: ../src/vikgeoreflayer.c:85
msgid "Georef Z_oom Tool"
msgstr ""
-#: ../src/vikgeoreflayer.c:77
+#: ../src/vikgeoreflayer.c:85
msgid "Georef Zoom Tool"
msgstr ""
-#: ../src/vikgeoreflayer.c:87
+#: ../src/vikgeoreflayer.c:95
msgid "GeoRef Map"
msgstr ""
-#: ../src/vikgeoreflayer.c:335 ../src/vikmapslayer.c:685
+#: ../src/vikgeoreflayer.c:377 ../src/vikmapslayer.c:720
#, c-format
msgid "Couldn't open image file: %s"
msgstr ""
-#: ../src/vikgeoreflayer.c:365
+#: ../src/vikgeoreflayer.c:391
+msgid ""
+"GeoRef map cannot be displayed in the current drawmode.\n"
+"Select \"UTM Mode\" from View menu to view it."
+msgstr ""
+
+#: ../src/vikgeoreflayer.c:415
msgid "Unexpected end of file reading World file."
msgstr ""
-#: ../src/vikgeoreflayer.c:381 ../src/vikgeoreflayer.c:426
+#: ../src/vikgeoreflayer.c:431 ../src/vikgeoreflayer.c:476
msgid "Choose World file"
msgstr ""
-#: ../src/vikgeoreflayer.c:394
+#: ../src/vikgeoreflayer.c:444
msgid "The World file you requested could not be opened for reading."
msgstr ""
-#: ../src/vikgeoreflayer.c:439
+#: ../src/vikgeoreflayer.c:489
msgid "The file you requested could not be opened for writing."
msgstr ""
-#: ../src/vikgeoreflayer.c:456 ../src/viklayer.c:480
+#: ../src/vikgeoreflayer.c:506 ../src/viklayer.c:518
msgid "Layer Properties"
msgstr ""
-#: ../src/vikgeoreflayer.c:478
+#: ../src/vikgeoreflayer.c:528
msgid "World File Parameters:"
msgstr ""
-#: ../src/vikgeoreflayer.c:479
+#: ../src/vikgeoreflayer.c:529
msgid "Load From File..."
msgstr ""
-#: ../src/vikgeoreflayer.c:484
+#: ../src/vikgeoreflayer.c:534
msgid "Corner pixel easting:"
msgstr ""
-#: ../src/vikgeoreflayer.c:486
-msgid "the UTM \"easting\" value of the upper-right corner pixel of the map"
+#: ../src/vikgeoreflayer.c:536
+msgid "the UTM \"easting\" value of the upper-left corner pixel of the map"
msgstr ""
-#: ../src/vikgeoreflayer.c:488
+#: ../src/vikgeoreflayer.c:538
msgid "Corner pixel northing:"
msgstr ""
-#: ../src/vikgeoreflayer.c:490
-msgid "the UTM \"northing\" value of the upper-right corner pixel of the map"
+#: ../src/vikgeoreflayer.c:540
+msgid "the UTM \"northing\" value of the upper-left corner pixel of the map"
msgstr ""
-#: ../src/vikgeoreflayer.c:492
+#: ../src/vikgeoreflayer.c:542
msgid "X (easting) scale (mpp): "
msgstr ""
-#: ../src/vikgeoreflayer.c:493
+#: ../src/vikgeoreflayer.c:543
msgid "Y (northing) scale (mpp): "
msgstr ""
-#: ../src/vikgeoreflayer.c:496
+#: ../src/vikgeoreflayer.c:546
msgid "the scale of the map in the X direction (meters per pixel)"
msgstr ""
-#: ../src/vikgeoreflayer.c:498
+#: ../src/vikgeoreflayer.c:548
msgid "the scale of the map in the Y direction (meters per pixel)"
msgstr ""
-#: ../src/vikgeoreflayer.c:500
+#: ../src/vikgeoreflayer.c:550
msgid "Map Image:"
msgstr ""
#. Now with icons
-#: ../src/vikgeoreflayer.c:608
+#: ../src/vikgeoreflayer.c:658
msgid "_Zoom to Fit Map"
msgstr ""
-#: ../src/vikgeoreflayer.c:614
+#: ../src/vikgeoreflayer.c:664
msgid "_Goto Map Center"
msgstr ""
-#: ../src/vikgeoreflayer.c:620
+#: ../src/vikgeoreflayer.c:670
msgid "_Export to World File"
msgstr ""
-#: ../src/vikgoto.c:75
+#: ../src/vikgoto.c:81
msgid "No goto tool available."
msgstr ""
-#: ../src/vikgoto.c:88 ../src/vikgoto.c:107
+#: ../src/vikgoto.c:94 ../src/vikgoto.c:148
msgid "goto"
msgstr ""
-#: ../src/vikgoto.c:90
+#: ../src/vikgoto.c:96
msgid "I don't know that place. Do you want another goto?"
msgstr ""
-#: ../src/vikgoto.c:109
+#: ../src/vikgoto.c:150
msgid "goto provider:"
msgstr ""
-#: ../src/vikgoto.c:124
+#: ../src/vikgoto.c:165
msgid "Enter address or place name:"
msgstr ""
-#: ../src/vikgpslayer.c:127
+#: ../src/vikgoto.c:363
+msgid "Locality"
+msgstr ""
+
+#: ../src/vikgpslayer.c:128
msgid "Data Mode"
msgstr ""
-#: ../src/vikgpslayer.c:129
+#: ../src/vikgpslayer.c:130
msgid "Realtime Tracking Mode"
msgstr ""
-#: ../src/vikgpslayer.c:137
+#: ../src/vikgpslayer.c:167
msgid "Keep vehicle at center"
msgstr ""
-#: ../src/vikgpslayer.c:138
+#: ../src/vikgpslayer.c:168
msgid "Keep vehicle on screen"
msgstr ""
-#: ../src/vikgpslayer.c:139
+#: ../src/vikgpslayer.c:169
msgid "Disable"
msgstr ""
-#: ../src/vikgpslayer.c:152
+#: ../src/vikgpslayer.c:209
msgid "Download Tracks:"
msgstr ""
-#: ../src/vikgpslayer.c:153
+#: ../src/vikgpslayer.c:210
msgid "Upload Tracks:"
msgstr ""
-#: ../src/vikgpslayer.c:154
+#: ../src/vikgpslayer.c:211
msgid "Download Routes:"
msgstr ""
-#: ../src/vikgpslayer.c:155
+#: ../src/vikgpslayer.c:212
msgid "Upload Routes:"
msgstr ""
-#: ../src/vikgpslayer.c:156
+#: ../src/vikgpslayer.c:213
msgid "Download Waypoints:"
msgstr ""
-#: ../src/vikgpslayer.c:157
+#: ../src/vikgpslayer.c:214
msgid "Upload Waypoints:"
msgstr ""
-#: ../src/vikgpslayer.c:159
+#: ../src/vikgpslayer.c:216
msgid "Recording tracks"
msgstr ""
-#: ../src/vikgpslayer.c:160
+#: ../src/vikgpslayer.c:217
msgid "Jump to current position on start"
msgstr ""
-#: ../src/vikgpslayer.c:161
+#: ../src/vikgpslayer.c:218
msgid "Moving Map Method:"
msgstr ""
-#: ../src/vikgpslayer.c:162
+#: ../src/vikgpslayer.c:219
+msgid "Update Statusbar:"
+msgstr ""
+
+#: ../src/vikgpslayer.c:219
+msgid "Display information in the statusbar on GPS updates"
+msgstr ""
+
+#: ../src/vikgpslayer.c:220
msgid "Gpsd Host:"
msgstr ""
-#: ../src/vikgpslayer.c:163
+#: ../src/vikgpslayer.c:221
msgid "Gpsd Port:"
msgstr ""
-#: ../src/vikgpslayer.c:164
+#: ../src/vikgpslayer.c:222
msgid "Gpsd Retry Interval (seconds):"
msgstr ""
-#: ../src/vikgpslayer.c:179
+#: ../src/vikgpslayer.c:243
msgid "GPS"
msgstr ""
-#: ../src/vikgpslayer.c:242 ../src/vikgpslayer.c:1258
+#: ../src/vikgpslayer.c:306 ../src/vikgpslayer.c:1308
msgid "GPS Download"
msgstr ""
-#: ../src/vikgpslayer.c:242 ../src/vikgpslayer.c:1258
-#: ../src/viktrwlayer.c:3094
+#: ../src/vikgpslayer.c:306 ../src/vikgpslayer.c:1308
+#: ../src/viktrwlayer.c:3480
msgid "GPS Upload"
msgstr ""
-#: ../src/vikgpslayer.c:244
+#: ../src/vikgpslayer.c:308
msgid "GPS Realtime Tracking"
msgstr ""
-#: ../src/vikgpslayer.c:451
+#: ../src/vikgpslayer.c:517
msgid "Unknown GPS Protocol"
msgstr ""
-#: ../src/vikgpslayer.c:469
+#: ../src/vikgpslayer.c:535
msgid "Unknown serial port device"
msgstr ""
-#: ../src/vikgpslayer.c:572
+#: ../src/vikgpslayer.c:648
#, c-format
msgid "%s: unknown parameter"
msgstr ""
#. Now with icons
-#: ../src/vikgpslayer.c:693
+#: ../src/vikgpslayer.c:743
msgid "_Upload to GPS"
msgstr ""
-#: ../src/vikgpslayer.c:699
+#: ../src/vikgpslayer.c:749
msgid "Download from _GPS"
msgstr ""
-#: ../src/vikgpslayer.c:720
+#: ../src/vikgpslayer.c:770
msgid "Empty _Realtime"
msgstr ""
-#: ../src/vikgpslayer.c:727
+#: ../src/vikgpslayer.c:777
msgid "E_mpty Upload"
msgstr ""
-#: ../src/vikgpslayer.c:733
+#: ../src/vikgpslayer.c:783
msgid "_Empty Download"
msgstr ""
-#: ../src/vikgpslayer.c:739
+#: ../src/vikgpslayer.c:789
msgid "Empty _All"
msgstr ""
@@ -1335,234 +1602,232 @@ msgstr ""
#. This happens when copied GPS layer is deleted (not sure why the number_handlers would be 2)
#. I don't think there's any side effects and certainly better than the program just aborting
#.
-#: ../src/vikgpslayer.c:756
+#: ../src/vikgpslayer.c:806
#, c-format
msgid "Unexpected number of disconnected handlers: %d"
msgstr ""
-#: ../src/vikgpslayer.c:898
+#: ../src/vikgpslayer.c:948
#, c-format
msgid "Uploading %d waypoint..."
msgid_plural "Uploading %d waypoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:899
+#: ../src/vikgpslayer.c:949
#, c-format
msgid "Uploading %d trackpoint..."
msgid_plural "Uploading %d trackpoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:900
+#: ../src/vikgpslayer.c:950
#, c-format
msgid "Uploading %d routepoint..."
msgid_plural "Uploading %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:925
+#: ../src/vikgpslayer.c:975
#, c-format
msgid "Downloaded %d out of %d waypoint..."
msgid_plural "Downloaded %d out of %d waypoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:926
+#: ../src/vikgpslayer.c:976
#, c-format
msgid "Downloaded %d out of %d trackpoint..."
msgid_plural "Downloaded %d out of %d trackpoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:927
+#: ../src/vikgpslayer.c:977
#, c-format
msgid "Downloaded %d out of %d routepoint..."
msgid_plural "Downloaded %d out of %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:932
+#: ../src/vikgpslayer.c:982
#, c-format
msgid "Uploaded %d out of %d waypoint..."
msgid_plural "Uploaded %d out of %d waypoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:933
+#: ../src/vikgpslayer.c:983
#, c-format
msgid "Uploaded %d out of %d trackpoint..."
msgid_plural "Uploaded %d out of %d trackpoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:934
+#: ../src/vikgpslayer.c:984
#, c-format
msgid "Uploaded %d out of %d routepoint..."
msgid_plural "Uploaded %d out of %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:942
+#: ../src/vikgpslayer.c:992
#, c-format
msgid "Downloaded %d waypoint"
msgid_plural "Downloaded %d waypoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:943
+#: ../src/vikgpslayer.c:993
#, c-format
msgid "Downloaded %d trackpoint"
msgid_plural "Downloaded %d trackpoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:944
+#: ../src/vikgpslayer.c:994
#, c-format
msgid "Downloaded %d routepoint"
msgid_plural "Downloaded %d routepoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:949
+#: ../src/vikgpslayer.c:999
#, c-format
msgid "Uploaded %d waypoint"
msgid_plural "Uploaded %d waypoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:950
+#: ../src/vikgpslayer.c:1000
#, c-format
msgid "Uploaded %d trackpoint"
msgid_plural "Uploaded %d trackpoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:951
+#: ../src/vikgpslayer.c:1001
#, c-format
msgid "Uploaded %d routepoint"
msgid_plural "Uploaded %d routepoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:1180
+#: ../src/vikgpslayer.c:1230
msgid "Error: couldn't find gpsbabel."
msgstr ""
-#: ../src/vikgpslayer.c:1269
+#: ../src/vikgpslayer.c:1319
msgid "Warning - GPS Upload items may overwrite each other"
msgstr ""
-#: ../src/vikgpslayer.c:1301
+#: ../src/vikgpslayer.c:1351
msgid "Status: detecting gpsbabel"
msgstr ""
-#: ../src/vikgpslayer.c:1332
+#: ../src/vikgpslayer.c:1386
msgid "No GPS items selected for transfer."
msgstr ""
-#: ../src/vikgpslayer.c:1347
+#: ../src/vikgpslayer.c:1401
msgid "Could not turn off device."
msgstr ""
-#: ../src/vikgpslayer.c:1385
+#: ../src/vikgpslayer.c:1439
msgid "Are you sure you want to delete GPS Upload data?"
msgstr ""
-#: ../src/vikgpslayer.c:1398
+#: ../src/vikgpslayer.c:1452
msgid "Are you sure you want to delete GPS Download data?"
msgstr ""
-#: ../src/vikgpslayer.c:1412
+#: ../src/vikgpslayer.c:1466
msgid "Are you sure you want to delete GPS Realtime data?"
msgstr ""
-#: ../src/vikgpslayer.c:1425
+#: ../src/vikgpslayer.c:1479
msgid "Are you sure you want to delete All GPS data?"
msgstr ""
-#: ../src/viklayerspanel.c:55
-msgid "/C_ut"
+#: ../src/viklayerspanel.c:53
+msgid "C_ut"
msgstr ""
-#: ../src/viklayerspanel.c:56
-msgid "/_Copy"
+#: ../src/viklayerspanel.c:54 ../src/vikwindow.c:3753
+msgid "_Copy"
msgstr ""
-#: ../src/viklayerspanel.c:57
-msgid "/_Paste"
+#: ../src/viklayerspanel.c:55 ../src/vikwindow.c:3754
+msgid "_Paste"
msgstr ""
-#: ../src/viklayerspanel.c:58
-msgid "/_Delete"
+#: ../src/viklayerspanel.c:56 ../src/vikwindow.c:3755
+msgid "_Delete"
msgstr ""
-#: ../src/viklayerspanel.c:59
-msgid "/New Layer"
+#: ../src/viklayerspanel.c:133
+msgid "New Layer"
msgstr ""
-#: ../src/viklayerspanel.c:127
+#: ../src/viklayerspanel.c:178
msgid "Top Layer"
msgstr ""
-#: ../src/viklayerspanel.c:143
+#: ../src/viklayerspanel.c:194
msgid "Add new layer"
msgstr ""
-#: ../src/viklayerspanel.c:150
+#: ../src/viklayerspanel.c:201
msgid "Remove selected layer"
msgstr ""
-#: ../src/viklayerspanel.c:157
+#: ../src/viklayerspanel.c:208
msgid "Move selected layer up"
msgstr ""
-#: ../src/viklayerspanel.c:164
+#: ../src/viklayerspanel.c:215
msgid "Move selected layer down"
msgstr ""
-#: ../src/viklayerspanel.c:171
+#: ../src/viklayerspanel.c:222
msgid "Cut selected layer"
msgstr ""
-#: ../src/viklayerspanel.c:178
+#: ../src/viklayerspanel.c:229
msgid "Copy selected layer"
msgstr ""
-#: ../src/viklayerspanel.c:185
-msgid "Paste layer below selected layer"
+#: ../src/viklayerspanel.c:236
+msgid ""
+"Paste layer into selected container layer or otherwise above selected layer"
msgstr ""
-#. TODO: FIXME: if name has a '/' in it it will get all messed up. why not have an itemfactory field with
-#. name, icon, shortcut, etc.?
-#: ../src/viklayerspanel.c:204 ../src/vikwindow.c:3292
-#, c-format
-msgid "New _%s Layer"
+#: ../src/viklayerspanel.c:300
+msgid "New name can not be blank."
msgstr ""
-#: ../src/viklayerspanel.c:511
+#: ../src/viklayerspanel.c:544
msgid "Aggregate Layers have no settable properties."
msgstr ""
-#: ../src/viklayerspanel.c:555
+#: ../src/viklayerspanel.c:588
msgid "You cannot cut the Top Layer."
msgstr ""
-#: ../src/viklayerspanel.c:600
+#: ../src/viklayerspanel.c:633
#, c-format
msgid "Are you sure you want to delete %s?"
msgstr ""
-#: ../src/viklayerspanel.c:617
+#: ../src/viklayerspanel.c:650
msgid "You cannot delete the Top Layer."
msgstr ""
-#: ../src/viklayerspanel.c:701
+#: ../src/viklayerspanel.c:734
msgid "Are you sure you wish to delete all layers?"
msgstr ""
#. ******* MAPZOOMS ********
-#: ../src/vikmapslayer.c:91
+#: ../src/vikmapslayer.c:80
msgid "Use Viking Zoom Level"
msgstr ""
@@ -1609,70 +1874,70 @@ msgid ""
"actual zoom level."
msgstr ""
-#: ../src/vikmapslayer.c:146
+#: ../src/vikmapslayer.c:156
msgid "_Maps Download"
msgstr ""
-#: ../src/vikmapslayer.c:146
+#: ../src/vikmapslayer.c:156
msgid "Maps Download"
msgstr ""
-#: ../src/vikmapslayer.c:161
+#: ../src/vikmapslayer.c:171
msgid "Map"
msgstr ""
-#: ../src/vikmapslayer.c:249
-msgid "Default maplayer directory:"
+#: ../src/vikmapslayer.c:259
+msgid "Default map layer directory:"
msgstr ""
-#: ../src/vikmapslayer.c:249
+#: ../src/vikmapslayer.c:259
msgid "Choose a directory to store cached Map tiles for this layer"
msgstr ""
-#: ../src/vikmapslayer.c:505
+#: ../src/vikmapslayer.c:523
msgid "Unknown map type"
msgstr ""
-#: ../src/vikmapslayer.c:516
+#: ../src/vikmapslayer.c:534
msgid "Unknown Map Zoom"
msgstr ""
-#: ../src/vikmapslayer.c:589
+#: ../src/vikmapslayer.c:624
#, c-format
msgid ""
"New map cannot be displayed in the current drawmode.\n"
"Select \"%s\" from View menu to view it."
msgstr ""
-#: ../src/vikmapslayer.c:753
+#: ../src/vikmapslayer.c:798
#, c-format
msgid ""
"Cowardly refusing to draw tiles or existence of tiles beyond %d zoom out "
"factor"
msgstr ""
-#: ../src/vikmapslayer.c:1157
+#: ../src/vikmapslayer.c:1210
#, c-format
msgid "Redownloading up to %d %s map..."
msgid_plural "Redownloading up to %d %s maps..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikmapslayer.c:1159
+#: ../src/vikmapslayer.c:1212
#, c-format
msgid "Redownloading %d %s map..."
msgid_plural "Redownloading %d %s maps..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikmapslayer.c:1163 ../src/vikmapslayer.c:1238
+#: ../src/vikmapslayer.c:1216 ../src/vikmapslayer.c:1290
#, c-format
msgid "Downloading %d %s map..."
msgid_plural "Downloading %d %s maps..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikmapslayer.c:1311
+#: ../src/vikmapslayer.c:1376
#, c-format
msgid ""
"\n"
@@ -1682,7 +1947,7 @@ msgid ""
"Tile File Timestamp: %s"
msgstr ""
-#: ../src/vikmapslayer.c:1318
+#: ../src/vikmapslayer.c:1380
#, c-format
msgid ""
"Source: %s\n"
@@ -1690,1458 +1955,2035 @@ msgid ""
"No Tile File!"
msgstr ""
-#: ../src/vikmapslayer.c:1356
+#: ../src/vikmapslayer.c:1418
msgid "Redownload _Bad Map(s)"
msgstr ""
-#: ../src/vikmapslayer.c:1360
+#: ../src/vikmapslayer.c:1422
msgid "Redownload _New Map(s)"
msgstr ""
-#: ../src/vikmapslayer.c:1364
+#: ../src/vikmapslayer.c:1426
msgid "Redownload _All Map(s)"
msgstr ""
-#: ../src/vikmapslayer.c:1368
+#: ../src/vikmapslayer.c:1430
msgid "_Show Tile Information"
msgstr ""
-#: ../src/vikmapslayer.c:1449
+#: ../src/vikmapslayer.c:1511
#, c-format
msgid ""
"Wrong drawmode for this map.\n"
"Select \"%s\" from View menu and try again."
msgstr ""
-#: ../src/vikmapslayer.c:1454
+#: ../src/vikmapslayer.c:1516
msgid "Wrong zoom level for this map."
msgstr ""
+#: ../src/vikmapslayer.c:1647
+msgid "Zoom Start:"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1654
+msgid "Zoom End:"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1660
+msgid "Download Maps Method:"
+msgstr ""
+
+#. redownload method - needs to align with REDOWNLOAD* macro values
+#: ../src/vikmapslayer.c:1732
+msgid "Missing"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1732
+msgid "Bad"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1732
+msgid "New"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1732
+msgid "Reload All"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1734
+msgid "Download for Zoom Levels"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1774
+#, c-format
+msgid ""
+"You are not allowed to download more than %d tiles in one go (requested %d)"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1782
+#, c-format
+msgid "Do you really want to download %d tiles?"
+msgstr ""
+
#. Now with icons
-#: ../src/vikmapslayer.c:1485
+#: ../src/vikmapslayer.c:1807
msgid "Download _Missing Onscreen Maps"
msgstr ""
-#: ../src/vikmapslayer.c:1492
+#: ../src/vikmapslayer.c:1814
msgid "Download _New Onscreen Maps"
msgstr ""
-#: ../src/vikmapslayer.c:1499
+#: ../src/vikmapslayer.c:1821
msgid "Reload _All Onscreen Maps"
msgstr ""
-#: ../src/viktreeview.c:263
+#: ../src/vikmapslayer.c:1827
+msgid "Download Maps in _Zoom Levels..."
+msgstr ""
+
+#: ../src/vikrouting.c:54
+msgid "Default engine:"
+msgstr ""
+
+#: ../src/viktreeview.c:316
msgid "Layer Name"
msgstr ""
-#: ../src/viktreeview.c:742
+#: ../src/viktreeview.c:851
#, c-format
msgid "delete data from %s\n"
msgstr ""
-#: ../src/viktrwlayer.c:377
+#: ../src/viktrwlayer.c:398
msgid "Create _Waypoint"
msgstr ""
-#: ../src/viktrwlayer.c:377
+#: ../src/viktrwlayer.c:398
msgid "Create Waypoint"
msgstr ""
-#: ../src/viktrwlayer.c:383
+#: ../src/viktrwlayer.c:404
msgid "Create _Track"
msgstr ""
-#: ../src/viktrwlayer.c:383
+#: ../src/viktrwlayer.c:404
msgid "Create Track"
msgstr ""
-#: ../src/viktrwlayer.c:392
+#: ../src/viktrwlayer.c:413
msgid "Create _Route"
msgstr ""
-#: ../src/viktrwlayer.c:392
+#: ../src/viktrwlayer.c:413
msgid "Create Route"
msgstr ""
-#: ../src/viktrwlayer.c:401
+#: ../src/viktrwlayer.c:422
msgid "_Edit Waypoint"
msgstr ""
-#: ../src/viktrwlayer.c:401
+#: ../src/viktrwlayer.c:422
msgid "Edit Waypoint"
msgstr ""
-#: ../src/viktrwlayer.c:409
+#: ../src/viktrwlayer.c:432
msgid "Edit Trac_kpoint"
msgstr ""
-#: ../src/viktrwlayer.c:409
+#: ../src/viktrwlayer.c:432
msgid "Edit Trackpoint"
msgstr ""
-#: ../src/viktrwlayer.c:417
+#: ../src/viktrwlayer.c:442
msgid "Show P_icture"
msgstr ""
-#: ../src/viktrwlayer.c:417
+#: ../src/viktrwlayer.c:442
msgid "Show Picture"
msgstr ""
-#: ../src/viktrwlayer.c:424
+#: ../src/viktrwlayer.c:448
msgid "Route _Finder"
msgstr ""
-#: ../src/viktrwlayer.c:424
+#: ../src/viktrwlayer.c:448
msgid "Route Finder"
msgstr ""
#. ***** PARAMETERS *****
-#: ../src/viktrwlayer.c:447 ../src/viktrwlayer.c:1942
-#: ../src/viktrwlayer.c:1944
+#: ../src/viktrwlayer.c:468 ../src/viktrwlayer.c:2324
msgid "Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:447 ../src/viktrwlayer.c:1933
-#: ../src/viktrwlayer.c:1935
+#: ../src/viktrwlayer.c:468 ../src/viktrwlayer.c:2319
msgid "Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:447
+#: ../src/viktrwlayer.c:468
msgid "Waypoint Images"
msgstr ""
-#: ../src/viktrwlayer.c:450
+#: ../src/viktrwlayer.c:468
+msgid "Tracks Advanced"
+msgstr ""
+
+#: ../src/viktrwlayer.c:471
msgid "Draw by Track"
msgstr ""
-#: ../src/viktrwlayer.c:450
+#: ../src/viktrwlayer.c:471
msgid "Draw by Speed"
msgstr ""
-#: ../src/viktrwlayer.c:450
+#: ../src/viktrwlayer.c:471
msgid "All Tracks Same Color"
msgstr ""
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "Filled Square"
msgstr ""
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "Square"
msgstr ""
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "Circle"
msgstr ""
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "X"
msgstr ""
-#: ../src/viktrwlayer.c:477
+#: ../src/viktrwlayer.c:498
msgid "Extra Extra Small"
msgstr ""
-#: ../src/viktrwlayer.c:478
+#: ../src/viktrwlayer.c:499
msgid "Extra Small"
msgstr ""
-#: ../src/viktrwlayer.c:479
+#: ../src/viktrwlayer.c:500
msgid "Small"
msgstr ""
-#: ../src/viktrwlayer.c:480
+#: ../src/viktrwlayer.c:501
msgid "Medium"
msgstr ""
-#: ../src/viktrwlayer.c:481
+#: ../src/viktrwlayer.c:502
msgid "Large"
msgstr ""
-#: ../src/viktrwlayer.c:482
+#: ../src/viktrwlayer.c:503
msgid "Extra Large"
msgstr ""
-#: ../src/viktrwlayer.c:483
+#: ../src/viktrwlayer.c:504
msgid "Extra Extra Large"
msgstr ""
-#: ../src/viktrwlayer.c:491
+#: ../src/viktrwlayer.c:510
+msgid "Name Ascending"
+msgstr ""
+
+#: ../src/viktrwlayer.c:511
+msgid "Name Descending"
+msgstr ""
+
+#: ../src/viktrwlayer.c:552 ../src/viktrwlayer.c:576
+msgid "Draw Labels"
+msgstr ""
+
+#: ../src/viktrwlayer.c:553
+msgid "Note: the individual track controls what labels may be displayed"
+msgstr ""
+
+#: ../src/viktrwlayer.c:554
+msgid "Track Labels Font Size:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:555
msgid "Track Drawing Mode:"
msgstr ""
-#: ../src/viktrwlayer.c:492
+#: ../src/viktrwlayer.c:556
msgid "All Tracks Color:"
msgstr ""
-#: ../src/viktrwlayer.c:493
+#: ../src/viktrwlayer.c:557
msgid "The color used when 'All Tracks Same Color' drawing mode is selected"
msgstr ""
-#: ../src/viktrwlayer.c:494
+#: ../src/viktrwlayer.c:558
msgid "Draw Track Lines"
msgstr ""
-#: ../src/viktrwlayer.c:495
+#: ../src/viktrwlayer.c:559
msgid "Track Thickness:"
msgstr ""
-#: ../src/viktrwlayer.c:496
+#: ../src/viktrwlayer.c:560
msgid "Draw Track Direction"
msgstr ""
-#: ../src/viktrwlayer.c:497
+#: ../src/viktrwlayer.c:561
msgid "Direction Size:"
msgstr ""
-#: ../src/viktrwlayer.c:498
+#: ../src/viktrwlayer.c:562
msgid "Draw Trackpoints"
msgstr ""
-#: ../src/viktrwlayer.c:499
+#: ../src/viktrwlayer.c:563
msgid "Trackpoint Size:"
msgstr ""
-#: ../src/viktrwlayer.c:500
+#: ../src/viktrwlayer.c:564
msgid "Draw Elevation"
msgstr ""
-#: ../src/viktrwlayer.c:501
+#: ../src/viktrwlayer.c:565
msgid "Draw Elevation Height %:"
msgstr ""
-#: ../src/viktrwlayer.c:503
+#: ../src/viktrwlayer.c:566
msgid "Draw Stops"
msgstr ""
-#: ../src/viktrwlayer.c:504
+#: ../src/viktrwlayer.c:567
msgid ""
"Whether to draw a marker when trackpoints are at the same position but over "
"the minimum stop length apart in time"
msgstr ""
-#: ../src/viktrwlayer.c:505
+#: ../src/viktrwlayer.c:568
msgid "Min Stop Length (seconds):"
msgstr ""
-#: ../src/viktrwlayer.c:507
+#: ../src/viktrwlayer.c:570
msgid "Track BG Thickness:"
msgstr ""
-#: ../src/viktrwlayer.c:508
+#: ../src/viktrwlayer.c:571
msgid "Track Background Color"
msgstr ""
-#: ../src/viktrwlayer.c:509
+#: ../src/viktrwlayer.c:572
msgid "Draw by Speed Factor (%):"
msgstr ""
-#: ../src/viktrwlayer.c:510
+#: ../src/viktrwlayer.c:573
msgid ""
"The percentage factor away from the average speed determining the color used"
msgstr ""
-#: ../src/viktrwlayer.c:512
-msgid "Draw Labels"
+#: ../src/viktrwlayer.c:574
+msgid "Track Sort Order:"
msgstr ""
-#: ../src/viktrwlayer.c:513
+#: ../src/viktrwlayer.c:577
msgid "Waypoint Font Size:"
msgstr ""
-#: ../src/viktrwlayer.c:514
+#: ../src/viktrwlayer.c:578
msgid "Waypoint Color:"
msgstr ""
-#: ../src/viktrwlayer.c:515
+#: ../src/viktrwlayer.c:579
msgid "Waypoint Text:"
msgstr ""
-#: ../src/viktrwlayer.c:516
+#: ../src/viktrwlayer.c:580
msgid "Background:"
msgstr ""
-#: ../src/viktrwlayer.c:517
+#: ../src/viktrwlayer.c:581
msgid "Fake BG Color Translucency:"
msgstr ""
-#: ../src/viktrwlayer.c:518
+#: ../src/viktrwlayer.c:582
msgid "Waypoint marker:"
msgstr ""
-#: ../src/viktrwlayer.c:519
+#: ../src/viktrwlayer.c:583
msgid "Waypoint size:"
msgstr ""
-#: ../src/viktrwlayer.c:520
+#: ../src/viktrwlayer.c:584
msgid "Draw Waypoint Symbols:"
msgstr ""
-#: ../src/viktrwlayer.c:522
+#: ../src/viktrwlayer.c:585
+msgid "Waypoint Sort Order:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:587
msgid "Draw Waypoint Images"
msgstr ""
-#: ../src/viktrwlayer.c:523
+#: ../src/viktrwlayer.c:588
msgid "Image Size (pixels):"
msgstr ""
-#: ../src/viktrwlayer.c:524
+#: ../src/viktrwlayer.c:589
msgid "Image Alpha:"
msgstr ""
-#: ../src/viktrwlayer.c:525
+#: ../src/viktrwlayer.c:590
msgid "Image Memory Cache Size:"
msgstr ""
-#: ../src/viktrwlayer.c:610
+#: ../src/viktrwlayer.c:678
msgid "TrackWaypoint"
msgstr ""
-#: ../src/viktrwlayer.c:1951 ../src/viktrwlayer.c:1953
+#: ../src/viktrwlayer.c:1534 ../src/vikutils.c:204
+msgid "miles"
+msgstr ""
+
+#. VIK_UNITS_DISTANCE_KILOMETRES:
+#: ../src/viktrwlayer.c:1538 ../src/vikutils.c:209
+msgid "km"
+msgstr ""
+
+#: ../src/viktrwlayer.c:1648
+msgid "start/end"
+msgstr ""
+
+#: ../src/viktrwlayer.c:1660
+msgid "start"
+msgstr ""
+
+#: ../src/viktrwlayer.c:1669
+msgid "end"
+msgstr ""
+
+#: ../src/viktrwlayer.c:2329
msgid "Routes"
msgstr ""
-#: ../src/viktrwlayer.c:2144
+#: ../src/viktrwlayer.c:2519
#, c-format
msgid " in %d:%02d hrs:mins"
msgstr ""
-#: ../src/viktrwlayer.c:2148
+#: ../src/viktrwlayer.c:2523
#, c-format
msgid ""
"\n"
"%sTotal Length %.1f %s%s"
msgstr ""
-#: ../src/viktrwlayer.c:2154
+#: ../src/viktrwlayer.c:2529
#, c-format
msgid "Tracks: %d - Waypoints: %d - Routes: %d%s"
msgstr ""
-#: ../src/viktrwlayer.c:2174
+#: ../src/viktrwlayer.c:2549
#, c-format
msgid "Tracks: %d"
msgstr ""
-#: ../src/viktrwlayer.c:2184
+#: ../src/viktrwlayer.c:2559
#, c-format
msgid "Routes: %d"
msgstr ""
-#: ../src/viktrwlayer.c:2215
+#: ../src/viktrwlayer.c:2590
#, c-format
msgid "- %d:%02d hrs:mins"
msgstr ""
-#: ../src/viktrwlayer.c:2223
+#: ../src/viktrwlayer.c:2598
#, c-format
msgid "%s%.1f km %s"
msgstr ""
-#: ../src/viktrwlayer.c:2226
+#: ../src/viktrwlayer.c:2601
#, c-format
msgid "%s%.1f miles %s"
msgstr ""
-#: ../src/viktrwlayer.c:2240
+#: ../src/viktrwlayer.c:2615
#, c-format
msgid "Waypoints: %d"
msgstr ""
-#: ../src/viktrwlayer.c:2266
-#, c-format
-msgid "Trkpt: Alt %dft"
-msgstr ""
-
-#. VIK_UNITS_HEIGHT_METRES:
-#: ../src/viktrwlayer.c:2270
-#, c-format
-msgid "Trkpt: Alt %dm"
-msgstr ""
-
-#. Compact date time format
-#: ../src/viktrwlayer.c:2277
-#, c-format
-msgid " | Time %x %X"
-msgstr ""
-
-#: ../src/viktrwlayer.c:2295
-#, c-format
-msgid " | Track: %s"
-msgstr ""
-
-#. Combine parts to make overall message
-#: ../src/viktrwlayer.c:2299
-#, c-format
-msgid "%s%s | %s %s %s"
-msgstr ""
-
-#: ../src/viktrwlayer.c:2314
+#: ../src/viktrwlayer.c:2671
#, c-format
msgid "Wpt: Alt %dft"
msgstr ""
#. VIK_UNITS_HEIGHT_METRES:
-#: ../src/viktrwlayer.c:2318
+#: ../src/viktrwlayer.c:2675
#, c-format
msgid "Wpt: Alt %dm"
msgstr ""
#. Add comment if available
-#: ../src/viktrwlayer.c:2333
+#: ../src/viktrwlayer.c:2690
#, c-format
msgid "%s | %s %s | Comment: %s"
msgstr ""
-#: ../src/viktrwlayer.c:2335
+#: ../src/viktrwlayer.c:2692
#, c-format
msgid "%s | %s %s"
msgstr ""
-#: ../src/viktrwlayer.c:2563 ../src/viktrwlayer.c:2634
+#: ../src/viktrwlayer.c:2939 ../src/viktrwlayer.c:3010
msgid "This layer has no waypoints or trackpoints."
msgstr ""
-#: ../src/viktrwlayer.c:2661 ../src/vikwindow.c:2407 ../src/vikwindow.c:2848
+#: ../src/viktrwlayer.c:3045 ../src/vikwindow.c:2754 ../src/vikwindow.c:3407
#, c-format
msgid "The file \"%s\" exists, do you wish to overwrite it?"
msgstr ""
-#: ../src/viktrwlayer.c:2671 ../src/vikwindow.c:2429
+#: ../src/viktrwlayer.c:3057 ../src/vikwindow.c:2778
msgid "The filename you requested could not be opened for writing."
msgstr ""
-#: ../src/viktrwlayer.c:2676 ../src/viktrwlayer.c:2681
-#: ../src/viktrwlayer.c:2691 ../src/viktrwlayer.c:2703
+#: ../src/viktrwlayer.c:3062 ../src/viktrwlayer.c:3067
+#: ../src/viktrwlayer.c:3077 ../src/viktrwlayer.c:3089
msgid "Export Layer"
msgstr ""
-#: ../src/viktrwlayer.c:2720
+#: ../src/viktrwlayer.c:3108
msgid "Could not create temporary file for export."
msgstr ""
-#: ../src/viktrwlayer.c:2729
+#: ../src/viktrwlayer.c:3117
#, c-format
msgid "Could not launch %s."
msgstr ""
-#: ../src/viktrwlayer.c:2773
+#: ../src/viktrwlayer.c:3161
msgid "Export Track as GPX"
msgstr ""
-#: ../src/viktrwlayer.c:2795
+#: ../src/viktrwlayer.c:3183
msgid "Find"
msgstr ""
-#: ../src/viktrwlayer.c:2805
+#: ../src/viktrwlayer.c:3193
msgid "Waypoint Name:"
msgstr ""
-#: ../src/viktrwlayer.c:2822
+#: ../src/viktrwlayer.c:3210
msgid "Waypoint not found in this layer."
msgstr ""
-#: ../src/viktrwlayer.c:3090
+#: ../src/viktrwlayer.c:3476
msgid "Can not upload invisible track."
msgstr ""
-#: ../src/viktrwlayer.c:3192 ../src/viktrwlayer.c:7785
+#: ../src/viktrwlayer.c:3581 ../src/viktrwlayer.c:9283
msgid "Track"
msgstr ""
-#: ../src/viktrwlayer.c:3215 ../src/viktrwlayer.c:7817
+#: ../src/viktrwlayer.c:3606 ../src/viktrwlayer.c:9316
msgid "Route"
msgstr ""
-#: ../src/viktrwlayer.c:3296 ../src/viktrwlayer.c:6265
-#: ../src/viktrwlayer.c:6314
+#: ../src/viktrwlayer.c:3691 ../src/viktrwlayer.c:7460
+#: ../src/viktrwlayer.c:7566
msgid "_Finish Route"
msgstr ""
-#: ../src/viktrwlayer.c:3298 ../src/viktrwlayer.c:6223
-#: ../src/viktrwlayer.c:6312
+#: ../src/viktrwlayer.c:3693 ../src/viktrwlayer.c:7383
+#: ../src/viktrwlayer.c:7564
msgid "_Finish Track"
msgstr ""
#. Now with icons
-#: ../src/viktrwlayer.c:3310
+#: ../src/viktrwlayer.c:3705
msgid "_View Layer"
msgstr ""
-#: ../src/viktrwlayer.c:3317
+#: ../src/viktrwlayer.c:3712
msgid "V_iew"
msgstr ""
-#: ../src/viktrwlayer.c:3323
+#: ../src/viktrwlayer.c:3718
msgid "View All _Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:3328
+#: ../src/viktrwlayer.c:3723
msgid "View All _Routes"
msgstr ""
-#: ../src/viktrwlayer.c:3333
+#: ../src/viktrwlayer.c:3728
msgid "View All _Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:3338
+#: ../src/viktrwlayer.c:3733
msgid "_Goto Center of Layer"
msgstr ""
-#: ../src/viktrwlayer.c:3344 ../src/viktrwlayer.c:6199
+#: ../src/viktrwlayer.c:3739 ../src/viktrwlayer.c:7335
msgid "Goto _Waypoint..."
msgstr ""
-#: ../src/viktrwlayer.c:3350
+#: ../src/viktrwlayer.c:3745
msgid "_Export Layer"
msgstr ""
-#: ../src/viktrwlayer.c:3356
+#: ../src/viktrwlayer.c:3751
msgid "Export as GPS_Point..."
msgstr ""
-#: ../src/viktrwlayer.c:3361
+#: ../src/viktrwlayer.c:3756
msgid "Export as GPS_Mapper..."
msgstr ""
-#: ../src/viktrwlayer.c:3366
+#: ../src/viktrwlayer.c:3761
msgid "Export as _GPX..."
msgstr ""
-#: ../src/viktrwlayer.c:3371
+#: ../src/viktrwlayer.c:3766
msgid "Export as _KML..."
msgstr ""
-#: ../src/viktrwlayer.c:3376
+#: ../src/viktrwlayer.c:3771
msgid "Open with External Program_1: "
msgstr ""
-#: ../src/viktrwlayer.c:3383
+#: ../src/viktrwlayer.c:3778
msgid "Open with External Program_2: "
msgstr ""
-#: ../src/viktrwlayer.c:3391 ../src/vikwindow.c:3145
+#: ../src/viktrwlayer.c:3786 ../src/vikwindow.c:3704
msgid "_New"
msgstr ""
-#: ../src/viktrwlayer.c:3397
+#: ../src/viktrwlayer.c:3792
msgid "New _Waypoint..."
msgstr ""
-#: ../src/viktrwlayer.c:3403
+#: ../src/viktrwlayer.c:3798
msgid "New _Track"
msgstr ""
-#: ../src/viktrwlayer.c:3411
+#: ../src/viktrwlayer.c:3806
msgid "New _Route"
msgstr ""
-#: ../src/viktrwlayer.c:3420 ../src/viktrwlayer.c:6597
+#: ../src/viktrwlayer.c:3815 ../src/viktrwlayer.c:7938
msgid "Geotag _Images..."
msgstr ""
-#: ../src/viktrwlayer.c:3427
+#: ../src/viktrwlayer.c:3822
msgid "_Acquire"
msgstr ""
-#: ../src/viktrwlayer.c:3433 ../src/vikwindow.c:3150
+#: ../src/viktrwlayer.c:3828 ../src/vikwindow.c:3711
msgid "From _GPS..."
msgstr ""
-#: ../src/viktrwlayer.c:3439
-msgid "From Google _Directions..."
+#. FIXME: only add menu when at least a routing engine has support for Directions
+#: ../src/viktrwlayer.c:3834
+msgid "From _Directions..."
msgstr ""
-#: ../src/viktrwlayer.c:3446
+#: ../src/viktrwlayer.c:3840
msgid "From _OSM Traces..."
msgstr ""
-#: ../src/viktrwlayer.c:3451
+#: ../src/viktrwlayer.c:3845
msgid "From _My OSM Traces..."
msgstr ""
-#: ../src/viktrwlayer.c:3459 ../src/vikwindow.c:3166
+#: ../src/viktrwlayer.c:3853 ../src/vikwindow.c:3725
msgid "From _Wikipedia Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:3465
+#: ../src/viktrwlayer.c:3859
msgid "Within _Layer Bounds"
msgstr ""
-#: ../src/viktrwlayer.c:3471
+#: ../src/viktrwlayer.c:3865
msgid "Within _Current View"
msgstr ""
-#: ../src/viktrwlayer.c:3479
+#: ../src/viktrwlayer.c:3873
msgid "From Geo_caching..."
msgstr ""
-#: ../src/viktrwlayer.c:3486 ../src/vikwindow.c:3163
+#: ../src/viktrwlayer.c:3880 ../src/vikwindow.c:3722
msgid "From Geotagged _Images..."
msgstr ""
-#: ../src/viktrwlayer.c:3492
+#: ../src/viktrwlayer.c:3886
msgid "From _File..."
msgstr ""
-#: ../src/viktrwlayer.c:3498 ../src/viktrwlayer.c:6542
+#: ../src/viktrwlayer.c:3894 ../src/viktrwlayer.c:7883
msgid "_Upload"
msgstr ""
-#: ../src/viktrwlayer.c:3504
+#: ../src/viktrwlayer.c:3900
msgid "Upload to _GPS..."
msgstr ""
-#: ../src/viktrwlayer.c:3511 ../src/viktrwlayer.c:6570
+#: ../src/viktrwlayer.c:3907 ../src/viktrwlayer.c:7911
msgid "Upload to _OSM..."
msgstr ""
-#: ../src/viktrwlayer.c:3519
+#: ../src/viktrwlayer.c:3915
msgid "De_lete"
msgstr ""
-#: ../src/viktrwlayer.c:3525
+#: ../src/viktrwlayer.c:3921
msgid "Delete All _Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:3531
+#: ../src/viktrwlayer.c:3927
msgid "Delete Tracks _From Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:3537 ../src/viktrwlayer.c:6290
+#: ../src/viktrwlayer.c:3933 ../src/viktrwlayer.c:7485
msgid "Delete _All Routes"
msgstr ""
-#: ../src/viktrwlayer.c:3543 ../src/viktrwlayer.c:6296
+#: ../src/viktrwlayer.c:3939 ../src/viktrwlayer.c:7491
msgid "_Delete Routes From Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:3549
+#: ../src/viktrwlayer.c:3945
msgid "Delete All _Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:3555
+#: ../src/viktrwlayer.c:3951
msgid "Delete Waypoints From _Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:4128
+#: ../src/viktrwlayer.c:4574
#, c-format
msgid "Are you sure you want to delete all tracks in %s?"
msgstr ""
-#: ../src/viktrwlayer.c:4138
+#: ../src/viktrwlayer.c:4584
#, c-format
msgid "Are you sure you want to delete all routes in %s?"
msgstr ""
-#: ../src/viktrwlayer.c:4148
+#: ../src/viktrwlayer.c:4594
#, c-format
msgid "Are you sure you want to delete all waypoints in %s?"
msgstr ""
-#: ../src/viktrwlayer.c:4165
+#: ../src/viktrwlayer.c:4611
#, c-format
-msgid "Are you sure you want to delete the waypoint \"%s\""
+msgid "Are you sure you want to delete the waypoint \"%s\"?"
msgstr ""
-#: ../src/viktrwlayer.c:4178
+#: ../src/viktrwlayer.c:4624
#, c-format
-msgid "Are you sure you want to delete the track \"%s\""
+msgid "Are you sure you want to delete the track \"%s\"?"
msgstr ""
-#: ../src/viktrwlayer.c:4191
+#: ../src/viktrwlayer.c:4637
#, c-format
-msgid "Are you sure you want to delete the route \"%s\""
+msgid "Are you sure you want to delete the route \"%s\"?"
msgstr ""
-#: ../src/viktrwlayer.c:4351 ../src/viktrwlayer.c:4922
+#: ../src/viktrwlayer.c:4849 ../src/viktrwlayer.c:5677
msgid ""
"Converting a track to a route removes extra track data such as segments, "
"timestamps, etc...\n"
"Do you want to continue?"
msgstr ""
-#: ../src/viktrwlayer.c:4711
+#: ../src/viktrwlayer.c:4944
+msgid "No DEM layers available, thus no DEM values can be applied."
+msgstr ""
+
+#: ../src/viktrwlayer.c:4964 ../src/viktrwlayer.c:5005
+#, c-format
+msgid "%ld point adjusted"
+msgid_plural "%ld points adjusted"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/viktrwlayer.c:5049
+#, c-format
+msgid "%ld waypoint changed"
+msgid_plural "%ld waypoints changed"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/viktrwlayer.c:5233
+#, c-format
+msgid ""
+"Refining a track with many points (%d) is unlikely to yield sensible "
+"results. Do you want to Continue?"
+msgstr ""
+
+#. Select engine from dialog
+#: ../src/viktrwlayer.c:5241
+msgid "Refine Route with Routing Engine..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:5249
+msgid "Select routing engine"
+msgstr ""
+
+#: ../src/viktrwlayer.c:5467
msgid "Failed. No other tracks with timestamps in this layer found"
msgstr ""
-#: ../src/viktrwlayer.c:4713
+#: ../src/viktrwlayer.c:5469
msgid "Failed. No other tracks without timestamps in this layer found"
msgstr ""
-#: ../src/viktrwlayer.c:4732
+#: ../src/viktrwlayer.c:5488
msgid "Merge with..."
msgstr ""
-#: ../src/viktrwlayer.c:4733
+#: ../src/viktrwlayer.c:5489
msgid "Select route to merge with"
msgstr ""
-#: ../src/viktrwlayer.c:4733
+#: ../src/viktrwlayer.c:5489
msgid "Select track to merge with"
msgstr ""
-#: ../src/viktrwlayer.c:4818 ../src/viktrwlayer.c:4895
+#: ../src/viktrwlayer.c:5573 ../src/viktrwlayer.c:5650
msgid "Append Route"
msgstr ""
-#: ../src/viktrwlayer.c:4818 ../src/viktrwlayer.c:4895
+#: ../src/viktrwlayer.c:5573 ../src/viktrwlayer.c:5650
msgid "Append Track"
msgstr ""
-#: ../src/viktrwlayer.c:4819
+#: ../src/viktrwlayer.c:5574
msgid "Select the route to append after the current route"
msgstr ""
-#: ../src/viktrwlayer.c:4820
+#: ../src/viktrwlayer.c:5575
msgid "Select the track to append after the current track"
msgstr ""
-#: ../src/viktrwlayer.c:4896
+#: ../src/viktrwlayer.c:5651
msgid "Select the track to append after the current route"
msgstr ""
-#: ../src/viktrwlayer.c:4897
+#: ../src/viktrwlayer.c:5652
msgid "Select the route to append after the current track"
msgstr ""
-#: ../src/viktrwlayer.c:4957
+#: ../src/viktrwlayer.c:5711
#, c-format
msgid "%d segment merged"
msgid_plural "%d segments merged"
msgstr[0] ""
msgstr[1] ""
-#: ../src/viktrwlayer.c:4973
+#: ../src/viktrwlayer.c:5727
msgid "Failed. This track does not have timestamp"
msgstr ""
-#: ../src/viktrwlayer.c:4985
+#: ../src/viktrwlayer.c:5739
msgid "Failed. No other track in this layer has timestamp"
msgstr ""
-#: ../src/viktrwlayer.c:4992
+#: ../src/viktrwlayer.c:5746
msgid "Merge Threshold..."
msgstr ""
-#: ../src/viktrwlayer.c:4993
+#: ../src/viktrwlayer.c:5747
msgid "Merge when time between tracks less than:"
msgstr ""
-#: ../src/viktrwlayer.c:5128
+#: ../src/viktrwlayer.c:5889
msgid "Split Threshold..."
msgstr ""
-#: ../src/viktrwlayer.c:5129
+#: ../src/viktrwlayer.c:5890
msgid "Split when time between trackpoints exceeds:"
msgstr ""
-#: ../src/viktrwlayer.c:5205
+#: ../src/viktrwlayer.c:5907
+#, c-format
+msgid ""
+"Can not split track due to trackpoints not ordered in time - such as at %s.\n"
+"\n"
+"Goto this trackpoint?"
+msgstr ""
+
+#: ../src/viktrwlayer.c:5976
msgid "Split Every Nth Point"
msgstr ""
-#: ../src/viktrwlayer.c:5206
+#: ../src/viktrwlayer.c:5977
msgid "Split on every Nth point:"
msgstr ""
-#: ../src/viktrwlayer.c:5312
+#: ../src/viktrwlayer.c:6087
msgid "Can not split track as it has no segments"
msgstr ""
-#: ../src/viktrwlayer.c:5340 ../src/viktrwlayer.c:5370
+#: ../src/viktrwlayer.c:6169 ../src/viktrwlayer.c:6199
#, c-format
msgid "Deleted %ld point"
msgid_plural "Deleted %ld points"
msgstr[0] ""
msgstr[1] ""
-#: ../src/viktrwlayer.c:5531
+#: ../src/viktrwlayer.c:6392
msgid "Internal Error in vik_trw_layer_uniquify_tracks"
msgstr ""
-#: ../src/viktrwlayer.c:5588 ../src/viktrwlayer.c:5635
-#: ../src/viktrwlayer.c:5814
+#: ../src/viktrwlayer.c:6496 ../src/viktrwlayer.c:6543
+#: ../src/viktrwlayer.c:6704
msgid ""
"Multiple entries with the same name exist. This method only works with "
"unique names. Force unique names now?"
msgstr ""
-#: ../src/viktrwlayer.c:5599
+#: ../src/viktrwlayer.c:6507
msgid "No tracks found"
msgstr ""
-#: ../src/viktrwlayer.c:5607 ../src/viktrwlayer.c:5654
-#: ../src/viktrwlayer.c:5834
+#: ../src/viktrwlayer.c:6515 ../src/viktrwlayer.c:6562
+#: ../src/viktrwlayer.c:6724
msgid "Delete Selection"
msgstr ""
-#: ../src/viktrwlayer.c:5608
+#: ../src/viktrwlayer.c:6516
msgid "Select tracks to delete"
msgstr ""
-#: ../src/viktrwlayer.c:5646
+#: ../src/viktrwlayer.c:6554
msgid "No routes found"
msgstr ""
-#: ../src/viktrwlayer.c:5655
+#: ../src/viktrwlayer.c:6563
msgid "Select routes to delete"
msgstr ""
-#: ../src/viktrwlayer.c:5761
+#: ../src/viktrwlayer.c:6669
msgid "Internal Error in vik_trw_layer_uniquify_waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:5824
+#: ../src/viktrwlayer.c:6714
msgid "No waypoints found"
msgstr ""
-#: ../src/viktrwlayer.c:5835
+#: ../src/viktrwlayer.c:6725
msgid "Select waypoints to delete"
msgstr ""
-#: ../src/viktrwlayer.c:5896
+#: ../src/viktrwlayer.c:7033
#, c-format
msgid ""
"A waypoint with the name \"%s\" already exists. Really rename to the same "
"name?"
msgstr ""
-#: ../src/viktrwlayer.c:5926
+#: ../src/viktrwlayer.c:7063
#, c-format
msgid ""
"A track with the name \"%s\" already exists. Really rename to the same name?"
msgstr ""
-#: ../src/viktrwlayer.c:5963
+#: ../src/viktrwlayer.c:7100
#, c-format
msgid ""
"A route with the name \"%s\" already exists. Really rename to the same name?"
msgstr ""
-#: ../src/viktrwlayer.c:6085 ../src/viktrwlayer.c:6337
+#: ../src/viktrwlayer.c:7221 ../src/viktrwlayer.c:7594
msgid "_Goto"
msgstr ""
-#: ../src/viktrwlayer.c:6104
+#: ../src/viktrwlayer.c:7240
msgid "_Visit Geocache Webpage"
msgstr ""
-#: ../src/viktrwlayer.c:6123
+#: ../src/viktrwlayer.c:7259
msgid "_Show Picture..."
msgstr ""
-#: ../src/viktrwlayer.c:6131
+#: ../src/viktrwlayer.c:7267
msgid "Update Geotag on _Image"
msgstr ""
-#: ../src/viktrwlayer.c:6137
+#: ../src/viktrwlayer.c:7273
msgid "_Update"
msgstr ""
-#: ../src/viktrwlayer.c:6142
+#: ../src/viktrwlayer.c:7278
msgid "Update and _Keep File Timestamp"
msgstr ""
-#: ../src/viktrwlayer.c:6153
+#: ../src/viktrwlayer.c:7289
msgid "Visit _Webpage"
msgstr ""
-#: ../src/viktrwlayer.c:6184
+#: ../src/viktrwlayer.c:7320
msgid "_New Waypoint..."
msgstr ""
-#: ../src/viktrwlayer.c:6193
+#: ../src/viktrwlayer.c:7329
msgid "_View All Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:6205
+#: ../src/viktrwlayer.c:7341
msgid "Delete _All Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:6211
+#: ../src/viktrwlayer.c:7347
msgid "_Delete Waypoints From Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:6233
+#: ../src/viktrwlayer.c:7359
+msgid "_Show All Waypoints"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7365
+msgid "_Hide All Waypoints"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7393
msgid "_View All Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:6239
+#: ../src/viktrwlayer.c:7399
msgid "_New Track"
msgstr ""
-#: ../src/viktrwlayer.c:6247
+#: ../src/viktrwlayer.c:7407
msgid "Delete _All Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:6253
+#: ../src/viktrwlayer.c:7413
msgid "_Delete Tracks From Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:6276
+#: ../src/viktrwlayer.c:7425
+msgid "_Show All Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7431
+msgid "_Hide All Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7442
+msgid "_List Tracks..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7471
msgid "_View All Routes"
msgstr ""
-#: ../src/viktrwlayer.c:6282
+#: ../src/viktrwlayer.c:7477
msgid "_New Route"
msgstr ""
-#: ../src/viktrwlayer.c:6327
+#: ../src/viktrwlayer.c:7503
+msgid "_Show All Routes"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7509
+msgid "_Hide All Routes"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7520
+msgid "_List Routes..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7579
msgid "_View Track"
msgstr ""
-#: ../src/viktrwlayer.c:6329
+#: ../src/viktrwlayer.c:7581
msgid "_View Route"
msgstr ""
-#: ../src/viktrwlayer.c:6343
+#: ../src/viktrwlayer.c:7600
msgid "_Startpoint"
msgstr ""
-#: ../src/viktrwlayer.c:6349
+#: ../src/viktrwlayer.c:7606
msgid "\"_Center\""
msgstr ""
-#: ../src/viktrwlayer.c:6355
+#: ../src/viktrwlayer.c:7612
msgid "_Endpoint"
msgstr ""
-#: ../src/viktrwlayer.c:6361
+#: ../src/viktrwlayer.c:7618
msgid "_Highest Altitude"
msgstr ""
-#: ../src/viktrwlayer.c:6367
+#: ../src/viktrwlayer.c:7624
msgid "_Lowest Altitude"
msgstr ""
-#: ../src/viktrwlayer.c:6375
+#: ../src/viktrwlayer.c:7632
msgid "_Maximum Speed"
msgstr ""
-#: ../src/viktrwlayer.c:6384
+#: ../src/viktrwlayer.c:7641
msgid "Co_mbine"
msgstr ""
-#: ../src/viktrwlayer.c:6392
+#: ../src/viktrwlayer.c:7649
msgid "_Merge By Time..."
msgstr ""
-#: ../src/viktrwlayer.c:6397
+#: ../src/viktrwlayer.c:7654
msgid "Merge _Segments"
msgstr ""
-#: ../src/viktrwlayer.c:6403
+#: ../src/viktrwlayer.c:7660
msgid "Merge _With Other Tracks..."
msgstr ""
-#: ../src/viktrwlayer.c:6409
+#: ../src/viktrwlayer.c:7666
msgid "_Append Track..."
msgstr ""
-#: ../src/viktrwlayer.c:6411
+#: ../src/viktrwlayer.c:7668
msgid "_Append Route..."
msgstr ""
-#: ../src/viktrwlayer.c:6417
+#: ../src/viktrwlayer.c:7674
msgid "Append _Route..."
msgstr ""
-#: ../src/viktrwlayer.c:6419
+#: ../src/viktrwlayer.c:7676
msgid "Append _Track..."
msgstr ""
-#: ../src/viktrwlayer.c:6426
+#: ../src/viktrwlayer.c:7683
msgid "_Split"
msgstr ""
-#: ../src/viktrwlayer.c:6434
+#: ../src/viktrwlayer.c:7691
msgid "_Split By Time..."
msgstr ""
#. ATM always enable this entry - don't want to have to analyse the track before displaying the menu - to keep the menu speedy
-#: ../src/viktrwlayer.c:6440
+#: ../src/viktrwlayer.c:7697
msgid "Split Se_gments"
msgstr ""
-#: ../src/viktrwlayer.c:6446
+#: ../src/viktrwlayer.c:7703
msgid "Split By _Number of Points..."
msgstr ""
-#: ../src/viktrwlayer.c:6451
+#: ../src/viktrwlayer.c:7708
msgid "Split at _Trackpoint"
msgstr ""
-#: ../src/viktrwlayer.c:6460
+#: ../src/viktrwlayer.c:7716
+msgid "_Insert Points"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7722
+msgid "Insert Point _Before Selected Point"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7729
+msgid "Insert Point _After Selected Point"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7738
msgid "Delete Poi_nts"
msgstr ""
-#: ../src/viktrwlayer.c:6466
+#: ../src/viktrwlayer.c:7744
+msgid "Delete _Selected Point"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7752
msgid "Delete Points With The Same _Position"
msgstr ""
-#: ../src/viktrwlayer.c:6471
+#: ../src/viktrwlayer.c:7757
msgid "Delete Points With The Same _Time"
msgstr ""
-#: ../src/viktrwlayer.c:6477
-msgid "_Reverse Track"
+#: ../src/viktrwlayer.c:7764 ../src/viktrwlayer.c:7964
+msgid "_Transform"
msgstr ""
-#: ../src/viktrwlayer.c:6479
-msgid "_Reverse Route"
+#: ../src/viktrwlayer.c:7772 ../src/viktrwlayer.c:7972
+msgid "_Apply DEM Data"
msgstr ""
-#: ../src/viktrwlayer.c:6488
-msgid "Down_load Maps Along Track..."
+#: ../src/viktrwlayer.c:7777 ../src/viktrwlayer.c:7977
+msgid "_Overwrite"
msgstr ""
-#: ../src/viktrwlayer.c:6490
-msgid "Down_load Maps Along Route..."
+#: ../src/viktrwlayer.c:7780 ../src/viktrwlayer.c:7980
+msgid "Overwrite any existing elevation values with DEM values"
msgstr ""
-#: ../src/viktrwlayer.c:6497
-msgid "_Apply DEM Data"
+#: ../src/viktrwlayer.c:7783 ../src/viktrwlayer.c:7983
+msgid "_Keep Existing"
msgstr ""
-#: ../src/viktrwlayer.c:6504
-msgid "_Export Track as GPX..."
+#: ../src/viktrwlayer.c:7786 ../src/viktrwlayer.c:7986
+msgid "Keep existing elevation values, only attempt for missing values"
msgstr ""
-#: ../src/viktrwlayer.c:6506
-msgid "_Export Route as GPX..."
+#: ../src/viktrwlayer.c:7791
+msgid "_Smooth Missing Elevation Data"
msgstr ""
-#: ../src/viktrwlayer.c:6513
-msgid "E_xtend Track End"
+#: ../src/viktrwlayer.c:7796
+msgid "_Interpolated"
msgstr ""
-#: ../src/viktrwlayer.c:6515
-msgid "E_xtend Route End"
+#: ../src/viktrwlayer.c:7799
+msgid ""
+"Interpolate between known elevation values to derive values for the missing "
+"elevations"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7802
+msgid "_Flat"
msgstr ""
-#: ../src/viktrwlayer.c:6522
+#: ../src/viktrwlayer.c:7805
+msgid "Set unknown elevation values to the last known value"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7809
msgid "C_onvert to a Route"
msgstr ""
-#: ../src/viktrwlayer.c:6524
+#: ../src/viktrwlayer.c:7811
msgid "C_onvert to a Track"
msgstr ""
-#: ../src/viktrwlayer.c:6532
+#: ../src/viktrwlayer.c:7819
+msgid "_Anonymize Times"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7822
+msgid "Shift timestamps to a relative offset from 1901-01-01"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7827
+msgid "_Reverse Track"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7829
+msgid "_Reverse Route"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7836
+msgid "Refine Route..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7846
+msgid "Down_load Maps Along Track..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7848
+msgid "Down_load Maps Along Route..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7856
+msgid "_Export Track as GPX..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7858
+msgid "_Export Route as GPX..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7865
+msgid "E_xtend Track End"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7867
+msgid "E_xtend Route End"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7874
msgid "Extend _Using Route Finder"
msgstr ""
-#: ../src/viktrwlayer.c:6548
+#: ../src/viktrwlayer.c:7889
msgid "_Upload to GPS..."
msgstr ""
-#: ../src/viktrwlayer.c:6559
+#: ../src/viktrwlayer.c:7900
msgid "_View Google Directions"
msgstr ""
-#: ../src/viktrwlayer.c:6579
+#: ../src/viktrwlayer.c:7920
msgid "Use with _Filter"
msgstr ""
-#: ../src/viktrwlayer.c:6612
+#: ../src/viktrwlayer.c:7953
msgid "_Edit Trackpoint"
msgstr ""
-#: ../src/viktrwlayer.c:7524
+#: ../src/viktrwlayer.c:9017
#, c-format
msgid " - Gain %dm:Loss %dm"
msgstr ""
-#: ../src/viktrwlayer.c:7526
+#: ../src/viktrwlayer.c:9019
#, c-format
msgid " - Gain %dft:Loss %dft"
msgstr ""
-#: ../src/viktrwlayer.c:7531
+#: ../src/viktrwlayer.c:9024
#, c-format
msgid " - Bearing %3.1f° - Step %s"
msgstr ""
-#: ../src/viktrwlayer.c:8124
+#: ../src/viktrwlayer.c:9628
#, c-format
msgid "Could not launch %s to open file."
msgstr ""
-#: ../src/viktrwlayer.c:8205
+#: ../src/viktrwlayer.c:9709
#, c-format
msgid "Creating %d Image Thumbnails..."
msgstr ""
-#: ../src/viktrwlayer.c:8524
+#: ../src/viktrwlayer.c:10106
msgid "No map layer in use. Create one first"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:898 ../src/viktrwlayer_propwin.c:1155
+#: ../src/viktrwlayer.c:10225
+#, c-format
+msgid "%s: Track List"
+msgstr ""
+
+#: ../src/viktrwlayer.c:10227
+#, c-format
+msgid "%s: Route List"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:828 ../src/viktrwlayer_propwin.c:1085
#, c-format
msgid "%.1f kph"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:901 ../src/viktrwlayer_propwin.c:1158
+#: ../src/viktrwlayer_propwin.c:831 ../src/viktrwlayer_propwin.c:1088
+#: ../src/viktrwlayer_analysis.c:290
#, c-format
msgid "%.1f mph"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:904 ../src/viktrwlayer_propwin.c:1161
+#: ../src/viktrwlayer_propwin.c:834 ../src/viktrwlayer_propwin.c:1091
#, c-format
msgid "%.1f knots"
msgstr ""
#. VIK_UNITS_SPEED_METRES_PER_SECOND:
-#: ../src/viktrwlayer_propwin.c:908 ../src/viktrwlayer_propwin.c:1165
+#: ../src/viktrwlayer_propwin.c:838 ../src/viktrwlayer_propwin.c:1095
#, c-format
msgid "%.1f m/s"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:1745
+#: ../src/viktrwlayer_propwin.c:1662 ../src/viktrwlayer_analysis.c:267
#, c-format
msgid "%.1f miles"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:1747
+#. VIK_UNITS_DISTANCE_KILOMETRES
+#: ../src/viktrwlayer_propwin.c:1664 ../src/viktrwlayer_analysis.c:271
#, c-format
msgid "%.1f km"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2681
+#: ../src/viktrwlayer_propwin.c:2582
msgid "Failed spliting track. Track unchanged"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2779 ../src/viktrwlayer_propwin.c:3178
+#: ../src/viktrwlayer_propwin.c:2724 ../src/viktrwlayer_propwin.c:3140
#, c-format
msgid "%s - Track Properties"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2784
+#: ../src/viktrwlayer_propwin.c:2729
msgid "Split at _Marker"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2785
+#: ../src/viktrwlayer_propwin.c:2730
msgid "Split _Segments"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2786
+#: ../src/viktrwlayer_propwin.c:2731
msgid "_Reverse"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2787
+#: ../src/viktrwlayer_propwin.c:2732
msgid "_Delete Dupl."
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2813
+#: ../src/viktrwlayer_propwin.c:2757
msgid "<b>Comment:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2814
+#: ../src/viktrwlayer_propwin.c:2758
msgid "<b>Description:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2815
+#: ../src/viktrwlayer_propwin.c:2759
+msgid "<b>Color:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2760
+msgid "<b>Draw Name:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2761
+msgid "<b>Distance Labels:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2764
msgid "<b>Track Length:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2816
+#: ../src/viktrwlayer_propwin.c:2765
msgid "<b>Trackpoints:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2817
+#: ../src/viktrwlayer_propwin.c:2766
msgid "<b>Segments:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2818
+#: ../src/viktrwlayer_propwin.c:2767
msgid "<b>Duplicate Points:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2819
+#: ../src/viktrwlayer_propwin.c:2768
msgid "<b>Max Speed:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2820
+#: ../src/viktrwlayer_propwin.c:2769
msgid "<b>Avg. Speed:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2821
+#: ../src/viktrwlayer_propwin.c:2770
msgid "<b>Moving Avg. Speed:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2822
+#: ../src/viktrwlayer_propwin.c:2771
msgid "<b>Avg. Dist. Between TPs:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2823
+#: ../src/viktrwlayer_propwin.c:2772
msgid "<b>Elevation Range:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2824
+#: ../src/viktrwlayer_propwin.c:2773
msgid "<b>Total Elevation Gain/Loss:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2825
+#: ../src/viktrwlayer_propwin.c:2774
msgid "<b>Start:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2826
+#: ../src/viktrwlayer_propwin.c:2775
msgid "<b>End:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2827
+#: ../src/viktrwlayer_propwin.c:2776
msgid "<b>Duration:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2828
-msgid "<b>Color:</b>"
+#: ../src/viktrwlayer_propwin.c:2797
+msgid "No"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2798
+msgid "Centre"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2799
+msgid "Start only"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2800
+msgid "End only"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2801
+msgid "Start and End"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2802
+msgid "Centre, Start and End"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2814
+msgid "Maximum number of distance labels to be shown"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2818
+msgid "Properties"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2877 ../src/viktrwlayer_propwin.c:2901
-#: ../src/viktrwlayer_propwin.c:2929 ../src/viktrwlayer_propwin.c:2966
-#: ../src/viktrwlayer_propwin.c:2984 ../src/viktrwlayer_propwin.c:3034
-#: ../src/viktrwlayer_propwin.c:3035 ../src/viktrwlayer_propwin.c:3036
-#: ../src/viktrwlayer_propwin.c:3062 ../src/viktrwlayer_propwin.c:3063
+#: ../src/viktrwlayer_propwin.c:2856 ../src/viktrwlayer_propwin.c:2880
+#: ../src/viktrwlayer_propwin.c:2908 ../src/viktrwlayer_propwin.c:2945
+#: ../src/viktrwlayer_propwin.c:2963 ../src/viktrwlayer_propwin.c:3009
+#: ../src/viktrwlayer_propwin.c:3010 ../src/viktrwlayer_propwin.c:3011
+#: ../src/viktrwlayer_propwin.c:3020 ../src/viktrwlayer_propwin.c:3021
+#: ../src/viktrwlayer_propwin.c:3036 ../src/viktrwlayer_propwin.c:3037
+#: ../src/viktrwlayer_propwin.c:3050 ../src/viktrwlayer_propwin.c:3051
+#: ../src/viktrwlayer_propwin.c:3064 ../src/viktrwlayer_propwin.c:3065
#: ../src/viktrwlayer_propwin.c:3078 ../src/viktrwlayer_propwin.c:3079
#: ../src/viktrwlayer_propwin.c:3092 ../src/viktrwlayer_propwin.c:3093
-#: ../src/viktrwlayer_propwin.c:3106 ../src/viktrwlayer_propwin.c:3107
-#: ../src/viktrwlayer_propwin.c:3120 ../src/viktrwlayer_propwin.c:3121
-#: ../src/viktrwlayer_propwin.c:3134 ../src/viktrwlayer_propwin.c:3135
+#: ../src/viktrwlayer_analysis.c:257
#, c-format
msgid "No Data"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3031
+#: ../src/viktrwlayer_propwin.c:3006
#, c-format
msgid "%d minutes"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3058
+#: ../src/viktrwlayer_propwin.c:3016 ../src/viktrwlayer_analysis.c:515
msgid "Statistics"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3064
+#: ../src/viktrwlayer_propwin.c:3022
msgid "Show D_EM"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3065 ../src/viktrwlayer_propwin.c:3080
-#: ../src/viktrwlayer_propwin.c:3094 ../src/viktrwlayer_propwin.c:3136
+#: ../src/viktrwlayer_propwin.c:3023 ../src/viktrwlayer_propwin.c:3038
+#: ../src/viktrwlayer_propwin.c:3052 ../src/viktrwlayer_propwin.c:3094
msgid "Show _GPS Speed"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3067 ../src/viktrwlayer_propwin.c:3082
-#: ../src/viktrwlayer_propwin.c:3110 ../src/viktrwlayer_propwin.c:3138
+#: ../src/viktrwlayer_propwin.c:3025 ../src/viktrwlayer_propwin.c:3040
+#: ../src/viktrwlayer_propwin.c:3068 ../src/viktrwlayer_propwin.c:3096
msgid "<b>Track Distance:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3068 ../src/viktrwlayer_propwin.c:3125
+#: ../src/viktrwlayer_propwin.c:3026 ../src/viktrwlayer_propwin.c:3083
msgid "<b>Track Height:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3073
+#: ../src/viktrwlayer_propwin.c:3031
msgid "Elevation-distance"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3083
+#: ../src/viktrwlayer_propwin.c:3041
msgid "<b>Track Gradient:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3087
+#: ../src/viktrwlayer_propwin.c:3045
msgid "Gradient-distance"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3096 ../src/viktrwlayer_propwin.c:3111
-#: ../src/viktrwlayer_propwin.c:3124
+#: ../src/viktrwlayer_propwin.c:3054 ../src/viktrwlayer_propwin.c:3069
+#: ../src/viktrwlayer_propwin.c:3082
msgid "<b>Track Time:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3097 ../src/viktrwlayer_propwin.c:3139
+#: ../src/viktrwlayer_propwin.c:3055 ../src/viktrwlayer_propwin.c:3097
msgid "<b>Track Speed:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3101
+#: ../src/viktrwlayer_propwin.c:3059
msgid "Speed-time"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3108 ../src/viktrwlayer_propwin.c:3122
+#: ../src/viktrwlayer_propwin.c:3066 ../src/viktrwlayer_propwin.c:3080
msgid "Show S_peed"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3115
+#: ../src/viktrwlayer_propwin.c:3073
msgid "Distance-time"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3129
+#: ../src/viktrwlayer_propwin.c:3087
msgid "Elevation-time"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3143
+#: ../src/viktrwlayer_propwin.c:3101
msgid "Speed-distance"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:118
+#: ../src/viktrwlayer_tpwin.c:119
msgid "<b>Part of Track:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:119
+#: ../src/viktrwlayer_tpwin.c:120
msgid "<b>Latitude:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:120
+#: ../src/viktrwlayer_tpwin.c:121
msgid "<b>Longitude:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:121
+#: ../src/viktrwlayer_tpwin.c:122
msgid "<b>Altitude:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:122
+#: ../src/viktrwlayer_tpwin.c:123
+msgid "<b>Course:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_tpwin.c:124
msgid "<b>Timestamp:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:123
+#: ../src/viktrwlayer_tpwin.c:125
msgid "<b>Time:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:124
+#: ../src/viktrwlayer_tpwin.c:126
msgid "<b>Distance Difference:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:125
+#: ../src/viktrwlayer_tpwin.c:127
msgid "<b>Time Difference:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:126
+#: ../src/viktrwlayer_tpwin.c:128
msgid "<b>\"Speed\" Between:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:127
+#: ../src/viktrwlayer_tpwin.c:129
+msgid "<b>Speed:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_tpwin.c:130
msgid "<b>VDOP:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:128
+#: ../src/viktrwlayer_tpwin.c:131
msgid "<b>HDOP:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:129
+#: ../src/viktrwlayer_tpwin.c:132
msgid "<b>PDOP:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:130
+#: ../src/viktrwlayer_tpwin.c:133
msgid "<b>SAT/FIX:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:139
+#: ../src/viktrwlayer_tpwin.c:141
msgid "Trackpoint"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:142
+#: ../src/viktrwlayer_tpwin.c:144
msgid "_Insert After"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:144
+#: ../src/viktrwlayer_tpwin.c:146
msgid "Split Here"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:446
+#.
+#. item = gtk_image_menu_item_new_with_mnemonic ( _("_Select") );
+#. gtk_image_menu_item_set_image ( (GtkImageMenuItem*)item, gtk_image_new_from_stock (GTK_STOCK_FIND, GTK_ICON_SIZE_MENU) );
+#. g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(trw_layer_track_select), values );
+#. gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
+#. gtk_widget_show ( item );
+#.
+#. ATM view auto selects, so don't bother with separate select menu entry
+#: ../src/viktrwlayer_tracklist.c:231 ../src/vikwindow.c:3695
+msgid "_View"
+msgstr ""
+
+#. Insert column for the layer name when viewing multi layers
+#: ../src/viktrwlayer_tracklist.c:514
+msgid "Layer"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:526
+msgid "Date"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:529
+msgid "Visible"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:536
+msgid ""
+"Distance\n"
+"(miles)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:539
+msgid ""
+"Distance\n"
+"(km)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:545
+msgid ""
+"Length\n"
+"(minutes)"
+msgstr ""
+
+#. VIK_UNITS_SPEED_KILOMETRES_PER_HOUR:
+#: ../src/viktrwlayer_tracklist.c:549 ../src/vikutils.c:72
+msgid "km/h"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:550 ../src/vikutils.c:62
+msgid "mph"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:551 ../src/vikutils.c:68
+msgid "knots"
+msgstr ""
+
+#. VIK_UNITS_SPEED_METRES_PER_SECOND:
+#: ../src/viktrwlayer_tracklist.c:553 ../src/vikutils.c:65
+msgid "m/s"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:556
+#, c-format
+msgid ""
+"Av. Speed\n"
+"(%s)"
+msgstr ""
+
+#. Apply own formatting of the data
+#: ../src/viktrwlayer_tracklist.c:561
+#, c-format
+msgid ""
+"Max Speed\n"
+"(%s)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:569
+msgid ""
+"Max Height\n"
+"(Feet)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:571
+msgid ""
+"Max Height\n"
+"(Metres)"
+msgstr ""
+
+#: ../src/viktrwlayer_geotag.c:481
#, c-format
msgid "Geotagging %d Images..."
msgstr ""
-#: ../src/viktrwlayer_geotag.c:510
+#: ../src/viktrwlayer_geotag.c:545
msgid "Geotag Images"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:516
+#: ../src/viktrwlayer_geotag.c:551
msgid "Images"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:520
+#: ../src/viktrwlayer_geotag.c:555
msgid "Overwrite Existing Waypoints:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:523
+#: ../src/viktrwlayer_geotag.c:558
msgid "Overwrite Existing GPS Information:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:525
+#: ../src/viktrwlayer_geotag.c:560
msgid "Keep File Modification Timestamp:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:555
+#: ../src/viktrwlayer_geotag.c:592
msgid "Create Waypoints:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:563
+#: ../src/viktrwlayer_geotag.c:600
msgid "Write EXIF:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:575
+#: ../src/viktrwlayer_geotag.c:612
msgid "Interpolate Between Track Segments:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:579
+#: ../src/viktrwlayer_geotag.c:616
msgid "Image Time Offset (Seconds):"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:581
+#: ../src/viktrwlayer_geotag.c:618
msgid ""
"The number of seconds to ADD to the photos time to make it match the GPS "
"data. Calculate this with (GPS - Photo). Can be negative or positive. Useful "
"to adjust times when a camera's timestamp was incorrect."
msgstr ""
-#: ../src/viktrwlayer_geotag.c:584
+#: ../src/viktrwlayer_geotag.c:621
msgid "Image Timezone:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:586
+#: ../src/viktrwlayer_geotag.c:623
msgid ""
"The timezone that was used when the images were created. For example, if a "
"camera is set to AWST or +8:00 hours. Enter +8:00 here so that the correct "
"adjustment to the images' time can be made. GPS data is always in UTC."
msgstr ""
-#: ../src/viktrwlayer_geotag.c:590
+#: ../src/viktrwlayer_geotag.c:627
#, c-format
msgid "Using track: %s"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:592
+#: ../src/viktrwlayer_geotag.c:629
#, c-format
msgid "Using all tracks in: %s"
msgstr ""
-#: ../src/vikstatus.c:105
+#: ../src/viktrwlayer_analysis.c:193
+msgid "Number of Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:194
+msgid "Date Range"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:195
+msgid "Total Length"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:196
+msgid "Average Length"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:197
+msgid "Max Speed"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:198
+msgid "Avg. Speed"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:199
+msgid "Minimum Altitude"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:200
+msgid "Maximum Altitude"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:201
+msgid "Total Elevation Gain/Loss"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:202
+msgid "Avg. Elevation Gain/Loss"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:203
+msgid "Total Duration"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:204
+msgid "Avg. Duration"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:278
+#, c-format
+msgid "%.2f miles"
+msgstr ""
+
+#. VIK_UNITS_DISTANCE_KILOMETRES
+#: ../src/viktrwlayer_analysis.c:282
+#, c-format
+msgid "%.2f km"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:297
+#, c-format
+msgid "%.2f m/s"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:306
+#, c-format
+msgid "%.2f knots\n"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:309
+#, c-format
+msgid "%.2f knots"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:316 ../src/viktrwlayer_analysis.c:319
+#, c-format
+msgid "%.2f km/h"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:330 ../src/viktrwlayer_analysis.c:336
+#, c-format
+msgid "%d feet"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:341 ../src/viktrwlayer_analysis.c:343
+#, c-format
+msgid "%d feet / %d feet"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:348 ../src/viktrwlayer_analysis.c:354
+#, c-format
+msgid "%d m"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:359 ../src/viktrwlayer_analysis.c:361
+#, c-format
+msgid "%d m / %d m"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:373
+#, c-format
+msgid "%d:%02d:%02d days:hrs:mins"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:380
+#, c-format
+msgid "%d:%02d hrs:mins"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:550
+msgid "Include Invisible Items"
+msgstr ""
+
+#: ../src/vikstatus.c:107
+msgid "Current number of background tasks. Click to see the background jobs."
+msgstr ""
+
+#: ../src/vikstatus.c:113
msgid "Current zoom level. Click to select a new one."
msgstr ""
-#: ../src/vikwaypoint.c:34
+#: ../src/vikutils.c:80
+msgid "GPSD"
+msgstr ""
+
+#. GPS Preamble
+#: ../src/vikutils.c:81
+msgid "Trkpt"
+msgstr ""
+
+#: ../src/vikutils.c:121
+#, c-format
+msgid "%sSpeed%s %.1f%s"
+msgstr ""
+
+#: ../src/vikutils.c:130
+#, c-format
+msgid "%sAlt %dfeet"
+msgstr ""
+
+#. VIK_UNITS_HEIGHT_METRES:
+#: ../src/vikutils.c:134
+#, c-format
+msgid "%sAlt %dm"
+msgstr ""
+
+#: ../src/vikutils.c:142
+#, c-format
+msgid "%sCourse %03d°"
+msgstr ""
+
+#: ../src/vikutils.c:155
+msgid "yards"
+msgstr ""
+
+#. VIK_UNITS_DISTANCE_KILOMETRES:
+#: ../src/vikutils.c:159
+msgid "m"
+msgstr ""
+
+#: ../src/vikutils.c:163
+#, c-format
+msgid "%sDistance diff %d%s"
+msgstr ""
+
+#: ../src/vikutils.c:179
+#, c-format
+msgid "%sTime %s"
+msgstr ""
+
+#: ../src/vikutils.c:187
+#, c-format
+msgid "%sTime diff %lds"
+msgstr ""
+
+#: ../src/vikutils.c:193
+#, c-format
+msgid "%sNo. of Sats %d"
+msgstr ""
+
+#: ../src/vikutils.c:213
+#, c-format
+msgid "%sDistance along %.2f%s"
+msgstr ""
+
+#. Name of track
+#: ../src/vikutils.c:232
+#, c-format
+msgid "%sTrack: %s"
+msgstr ""
+
+#: ../src/vikwaypoint.c:36
msgid "Waypoint"
msgstr ""
#. TODO get rid of this as this is unnecessary duplication...
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Pan"
msgstr ""
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Zoom"
msgstr ""
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Ruler"
msgstr ""
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Select"
msgstr ""
+#: ../src/vikwindow.c:381
+msgid "Location lookup aborted"
+msgstr ""
+
+#: ../src/vikwindow.c:401
+#, c-format
+msgid "Location found: %s"
+msgstr ""
+
+#: ../src/vikwindow.c:410
+msgid "Unable to determine location"
+msgstr ""
+
+#: ../src/vikwindow.c:434
+msgid "Default Map"
+msgstr ""
+
+#: ../src/vikwindow.c:444
+msgid "Trying to determine location..."
+msgstr ""
+
+#: ../src/vikwindow.c:447
+msgid "Determining location"
+msgstr ""
+
#. Create tooltip
-#: ../src/vikwindow.c:440
+#: ../src/vikwindow.c:605
msgid "Select zoom level"
msgstr ""
-#: ../src/vikwindow.c:645
+#: ../src/vikwindow.c:923
#, c-format
msgid ""
"Do you want to save the changes you made to the document \"%s\"?\n"
@@ -3149,624 +3991,708 @@ msgid ""
"Your changes will be lost if you don't save them."
msgstr ""
-#: ../src/vikwindow.c:649
+#: ../src/vikwindow.c:927
msgid "Don't Save"
msgstr ""
-#: ../src/vikwindow.c:696
+#: ../src/vikwindow.c:1005
msgid "mpp"
msgstr ""
-#: ../src/vikwindow.c:696
+#: ../src/vikwindow.c:1005
msgid "pixelfact"
msgstr ""
-#: ../src/vikwindow.c:861
+#: ../src/vikwindow.c:1169
#, c-format
msgid "%s %s %dm"
msgstr ""
-#: ../src/vikwindow.c:863
+#: ../src/vikwindow.c:1171
#, c-format
msgid "%s %s %dft"
msgstr ""
-#: ../src/vikwindow.c:866
+#: ../src/vikwindow.c:1174
#, c-format
msgid "%s %s"
msgstr ""
#. NB Ctrl+Shift+R is used for Refresh (deemed more important), so use 'U' instead
-#: ../src/vikwindow.c:1254
+#: ../src/vikwindow.c:1562
msgid "_Ruler"
msgstr ""
-#: ../src/vikwindow.c:1254
+#: ../src/vikwindow.c:1562
msgid "Ruler Tool"
msgstr ""
-#: ../src/vikwindow.c:1502 ../src/vikwindow.c:3138
+#: ../src/vikwindow.c:1810 ../src/vikwindow.c:3697
msgid "_Zoom"
msgstr ""
-#: ../src/vikwindow.c:1502
+#: ../src/vikwindow.c:1810
msgid "Zoom Tool"
msgstr ""
-#: ../src/vikwindow.c:1547 ../src/vikwindow.c:3139
+#: ../src/vikwindow.c:1855 ../src/vikwindow.c:3698
msgid "_Pan"
msgstr ""
-#: ../src/vikwindow.c:1547
+#: ../src/vikwindow.c:1855
msgid "Pan Tool"
msgstr ""
-#: ../src/vikwindow.c:1664
+#: ../src/vikwindow.c:1972
msgid "_Select"
msgstr ""
-#: ../src/vikwindow.c:1664
+#: ../src/vikwindow.c:1972
msgid "Select Tool"
msgstr ""
-#: ../src/vikwindow.c:1809
+#: ../src/vikwindow.c:2123
msgid "You must select a layer to show its properties."
msgstr ""
#. No error to show, so unlikely this will get called
-#: ../src/vikwindow.c:1824
+#: ../src/vikwindow.c:2137
msgid "The help system is not available."
msgstr ""
#. Main error path
-#: ../src/vikwindow.c:1827
+#: ../src/vikwindow.c:2140
#, c-format
msgid ""
"Help is not available because: %s.\n"
"Ensure a Mime Type ghelp handler program is installed (e.g. yelp)."
msgstr ""
-#: ../src/vikwindow.c:1850
+#: ../src/vikwindow.c:2160
msgid "You must select a layer to delete."
msgstr ""
-#: ../src/vikwindow.c:2087
+#: ../src/vikwindow.c:2396
msgid "Untitled"
msgstr ""
-#: ../src/vikwindow.c:2194
+#: ../src/vikwindow.c:2503
#, c-format
msgid "Unable to add '%s' to the list of recently used documents"
msgstr ""
-#: ../src/vikwindow.c:2208
+#: ../src/vikwindow.c:2540
msgid "The file you requested could not be opened."
msgstr ""
-#: ../src/vikwindow.c:2211
+#: ../src/vikwindow.c:2543
msgid ""
"GPSBabel is required to load files of this type or GPSBabel encountered "
"problems."
msgstr ""
-#: ../src/vikwindow.c:2214
+#: ../src/vikwindow.c:2546
#, c-format
msgid "Unable to load malformed GPX file %s"
msgstr ""
-#: ../src/vikwindow.c:2217
+#: ../src/vikwindow.c:2549
#, c-format
msgid "Unsupported file type for %s"
msgstr ""
#. Since we can process .vik files with issues just show a warning in the status bar
#. Not that a user can do much about it... or tells them what this issue is yet...
-#: ../src/vikwindow.c:2223
+#: ../src/vikwindow.c:2555
#, c-format
msgid "WARNING: issues encountered loading %s"
msgstr ""
-#: ../src/vikwindow.c:2278
+#: ../src/vikwindow.c:2613
msgid "Please select a GPS data file to open. "
msgstr ""
-#: ../src/vikwindow.c:2288
+#: ../src/vikwindow.c:2629
msgid "Geocaching"
msgstr ""
-#: ../src/vikwindow.c:2294
+#: ../src/vikwindow.c:2635
msgid "Google Earth"
msgstr ""
-#: ../src/vikwindow.c:2299
+#: ../src/vikwindow.c:2640
msgid "GPX"
msgstr ""
-#: ../src/vikwindow.c:2304 ../src/vikwindow.c:2387
+#: ../src/vikwindow.c:2645 ../src/vikwindow.c:2734
#: ../src/viking.desktop.in.h:1
msgid "Viking"
msgstr ""
-#: ../src/vikwindow.c:2374
+#: ../src/vikwindow.c:2715
msgid "Save as Viking File."
msgstr ""
+#: ../src/vikwindow.c:2841
+msgid "Exporting to file: "
+msgstr ""
+
+#. Confirm what happened.
+#: ../src/vikwindow.c:2858
+#, c-format
+msgid "Exported files: %d"
+msgstr ""
+
+#: ../src/vikwindow.c:2870
+msgid "Nothing to Export!"
+msgstr ""
+
+#: ../src/vikwindow.c:2874
+msgid "Export to directory"
+msgstr ""
+
+#: ../src/vikwindow.c:2896
+msgid "Could not convert all files"
+msgstr ""
+
+#: ../src/vikwindow.c:2932
+#, c-format
+msgid "%d bytes"
+msgstr ""
+
+#: ../src/vikwindow.c:2934
+#, c-format
+msgid "%3.1f kB"
+msgstr ""
+
+#: ../src/vikwindow.c:2936
+#, c-format
+msgid "%3.1f MB"
+msgstr ""
+
+#: ../src/vikwindow.c:2937
+#, c-format
+msgid ""
+"%s\n"
+"\n"
+"%s\n"
+"\n"
+"%s"
+msgstr ""
+
+#: ../src/vikwindow.c:2942
+msgid "File not accessible"
+msgstr ""
+
+#: ../src/vikwindow.c:2945
+msgid "No Viking File"
+msgstr ""
+
+#: ../src/vikwindow.c:3035
+msgid "This layer has no configurable properties."
+msgstr ""
+
#. Try harder...
-#: ../src/vikwindow.c:2619 ../src/vikwindow.c:2625
+#: ../src/vikwindow.c:3169 ../src/vikwindow.c:3175
msgid "Generating image file..."
msgstr ""
-#: ../src/vikwindow.c:2647
+#: ../src/vikwindow.c:3197
msgid ""
"Failed to generate internal image.\n"
"\n"
"Try creating a smaller image."
msgstr ""
-#: ../src/vikwindow.c:2655
+#: ../src/vikwindow.c:3205
msgid "Failed to generate image file."
msgstr ""
#. Success
-#: ../src/vikwindow.c:2660
+#: ../src/vikwindow.c:3210
msgid "Image file generated."
msgstr ""
-#: ../src/vikwindow.c:2764
+#: ../src/vikwindow.c:3314
msgid ""
"Viewable region outside allowable pixel size bounds for image. Clipping "
"width/height values."
msgstr ""
-#: ../src/vikwindow.c:2789
+#: ../src/vikwindow.c:3339
#, c-format
msgid "Total area: %ldm x %ldm (%.3f sq. km)"
msgstr ""
-#: ../src/vikwindow.c:2792
+#: ../src/vikwindow.c:3342
#, c-format
msgid "Total area: %ldm x %ldm (%.3f sq. miles)"
msgstr ""
-#: ../src/vikwindow.c:2813
+#: ../src/vikwindow.c:3363
msgid "Save Image"
msgstr ""
-#: ../src/vikwindow.c:2834
+#: ../src/vikwindow.c:3393
msgid "PNG"
msgstr ""
-#: ../src/vikwindow.c:2857
+#: ../src/vikwindow.c:3416
msgid "You must be in UTM mode to use this feature"
msgstr ""
-#: ../src/vikwindow.c:2862
+#: ../src/vikwindow.c:3421
msgid "Choose a directory to hold images"
msgstr ""
#. todo: default for answers inside VikWindow or static (thruout instance)
-#: ../src/vikwindow.c:2883
+#: ../src/vikwindow.c:3442
msgid "Save to Image File"
msgstr ""
-#: ../src/vikwindow.c:2900
+#: ../src/vikwindow.c:3459
msgid "Width (pixels):"
msgstr ""
-#: ../src/vikwindow.c:2902
+#: ../src/vikwindow.c:3461
msgid "Height (pixels):"
msgstr ""
-#: ../src/vikwindow.c:2905
+#: ../src/vikwindow.c:3464
msgid ""
"WARNING: USING LARGE IMAGES OVER 10000x10000\n"
"MAY CRASH THE PROGRAM!"
msgstr ""
-#: ../src/vikwindow.c:2907
+#: ../src/vikwindow.c:3466
msgid "Zoom (meters per pixel):"
msgstr ""
-#: ../src/vikwindow.c:2921
+#: ../src/vikwindow.c:3482
msgid "Area in current viewable window"
msgstr ""
-#: ../src/vikwindow.c:2931
+#: ../src/vikwindow.c:3492
msgid "Save as PNG"
msgstr ""
-#: ../src/vikwindow.c:2932
+#: ../src/vikwindow.c:3493
msgid "Save as JPEG"
msgstr ""
-#: ../src/vikwindow.c:2954
+#: ../src/vikwindow.c:3515
msgid "East-west image tiles:"
msgstr ""
-#: ../src/vikwindow.c:2956
+#: ../src/vikwindow.c:3517
msgid "North-south image tiles:"
msgstr ""
-#: ../src/vikwindow.c:3097
+#: ../src/vikwindow.c:3656
msgid "Choose a background color"
msgstr ""
-#: ../src/vikwindow.c:3113
+#: ../src/vikwindow.c:3672
msgid "Choose a track highlight color"
msgstr ""
-#: ../src/vikwindow.c:3134
+#: ../src/vikwindow.c:3693
msgid "_File"
msgstr ""
-#: ../src/vikwindow.c:3135
+#: ../src/vikwindow.c:3694
msgid "_Edit"
msgstr ""
-#: ../src/vikwindow.c:3136
-msgid "_View"
-msgstr ""
-
-#: ../src/vikwindow.c:3137
+#: ../src/vikwindow.c:3696
msgid "_Show"
msgstr ""
-#: ../src/vikwindow.c:3140
+#: ../src/vikwindow.c:3699
msgid "_Layers"
msgstr ""
-#: ../src/vikwindow.c:3141
+#: ../src/vikwindow.c:3700
msgid "_Tools"
msgstr ""
-#: ../src/vikwindow.c:3142
+#: ../src/vikwindow.c:3701
msgid "_Webtools"
msgstr ""
-#: ../src/vikwindow.c:3143 ../src/vikwindow.c:3206
+#: ../src/vikwindow.c:3702 ../src/vikwindow.c:3763
msgid "_Help"
msgstr ""
-#: ../src/vikwindow.c:3145
+#: ../src/vikwindow.c:3704
msgid "New file"
msgstr ""
-#: ../src/vikwindow.c:3146
+#: ../src/vikwindow.c:3705
msgid "_Open..."
msgstr ""
-#: ../src/vikwindow.c:3146
+#: ../src/vikwindow.c:3705
msgid "Open a file"
msgstr ""
-#: ../src/vikwindow.c:3147
+#: ../src/vikwindow.c:3706
msgid "Open _Recent File"
msgstr ""
-#: ../src/vikwindow.c:3148
+#: ../src/vikwindow.c:3707
msgid "Append _File..."
msgstr ""
-#: ../src/vikwindow.c:3148
+#: ../src/vikwindow.c:3707
msgid "Append data from a different file"
msgstr ""
-#: ../src/vikwindow.c:3149
+#: ../src/vikwindow.c:3708
+msgid "_Export All"
+msgstr ""
+
+#: ../src/vikwindow.c:3708
+msgid "Export All TrackWaypoint Layers"
+msgstr ""
+
+#: ../src/vikwindow.c:3709
+msgid "_GPX..."
+msgstr ""
+
+#: ../src/vikwindow.c:3709
+msgid "Export as GPX"
+msgstr ""
+
+#: ../src/vikwindow.c:3710
msgid "A_cquire"
msgstr ""
-#: ../src/vikwindow.c:3150
+#: ../src/vikwindow.c:3711
msgid "Transfer data from a GPS device"
msgstr ""
-#: ../src/vikwindow.c:3151
+#: ../src/vikwindow.c:3712
msgid "Import File With GPS_Babel..."
msgstr ""
-#: ../src/vikwindow.c:3151
+#: ../src/vikwindow.c:3712
msgid "Import file via GPSBabel converter"
msgstr ""
-#: ../src/vikwindow.c:3153
-msgid "Google _Directions..."
+#: ../src/vikwindow.c:3713
+msgid "_Directions..."
msgstr ""
-#: ../src/vikwindow.c:3153
-msgid "Get driving directions from Google"
+#: ../src/vikwindow.c:3713
+msgid "Get driving directions"
msgstr ""
-#: ../src/vikwindow.c:3156
+#: ../src/vikwindow.c:3715
msgid "_OSM Traces..."
msgstr ""
-#: ../src/vikwindow.c:3156
+#: ../src/vikwindow.c:3715
msgid "Get traces from OpenStreetMap"
msgstr ""
-#: ../src/vikwindow.c:3157
+#: ../src/vikwindow.c:3716
msgid "_My OSM Traces..."
msgstr ""
-#: ../src/vikwindow.c:3157
+#: ../src/vikwindow.c:3716
msgid "Get Your Own Traces from OpenStreetMap"
msgstr ""
-#: ../src/vikwindow.c:3160
+#: ../src/vikwindow.c:3719
msgid "Geo_caches..."
msgstr ""
-#: ../src/vikwindow.c:3160
+#: ../src/vikwindow.c:3719
msgid "Get Geocaches from geocaching.com"
msgstr ""
-#: ../src/vikwindow.c:3163
+#: ../src/vikwindow.c:3722
msgid "Create waypoints from geotagged images"
msgstr ""
-#: ../src/vikwindow.c:3166
+#: ../src/vikwindow.c:3725
msgid "Create waypoints from Wikipedia items in the current view"
msgstr ""
-#: ../src/vikwindow.c:3168
+#: ../src/vikwindow.c:3727
msgid "_Save"
msgstr ""
-#: ../src/vikwindow.c:3168
+#: ../src/vikwindow.c:3727
msgid "Save the file"
msgstr ""
-#: ../src/vikwindow.c:3169
+#: ../src/vikwindow.c:3728
msgid "Save _As..."
msgstr ""
-#: ../src/vikwindow.c:3169
+#: ../src/vikwindow.c:3728
msgid "Save the file under different name"
msgstr ""
-#: ../src/vikwindow.c:3170
+#: ../src/vikwindow.c:3729
+msgid "Properties..."
+msgstr ""
+
+#: ../src/vikwindow.c:3729
+msgid "File Properties"
+msgstr ""
+
+#: ../src/vikwindow.c:3730
msgid "_Generate Image File..."
msgstr ""
-#: ../src/vikwindow.c:3170
+#: ../src/vikwindow.c:3730
msgid "Save a snapshot of the workspace into a file"
msgstr ""
-#: ../src/vikwindow.c:3171
+#: ../src/vikwindow.c:3731
msgid "Generate _Directory of Images..."
msgstr ""
-#: ../src/vikwindow.c:3171
+#: ../src/vikwindow.c:3731
msgid "FIXME:IMGDIR"
msgstr ""
-#: ../src/vikwindow.c:3174
+#: ../src/vikwindow.c:3732
msgid "_Print..."
msgstr ""
-#: ../src/vikwindow.c:3174
+#: ../src/vikwindow.c:3732
msgid "Print maps"
msgstr ""
-#: ../src/vikwindow.c:3177
+#: ../src/vikwindow.c:3733
msgid "E_xit"
msgstr ""
-#: ../src/vikwindow.c:3177
+#: ../src/vikwindow.c:3733
msgid "Exit the program"
msgstr ""
-#: ../src/vikwindow.c:3178
+#: ../src/vikwindow.c:3734
msgid "Save and Exit"
msgstr ""
-#: ../src/vikwindow.c:3178
+#: ../src/vikwindow.c:3734
msgid "Save and Exit the program"
msgstr ""
-#: ../src/vikwindow.c:3180
+#: ../src/vikwindow.c:3736
msgid "Go to the _Default Location"
msgstr ""
-#: ../src/vikwindow.c:3180
+#: ../src/vikwindow.c:3736
msgid "Go to the default location"
msgstr ""
-#: ../src/vikwindow.c:3181
+#: ../src/vikwindow.c:3737
msgid "Go to _Location..."
msgstr ""
-#: ../src/vikwindow.c:3181
+#: ../src/vikwindow.c:3737
msgid "Go to address/place using text search"
msgstr ""
-#: ../src/vikwindow.c:3182
+#: ../src/vikwindow.c:3738
msgid "_Go to Lat/Lon..."
msgstr ""
-#: ../src/vikwindow.c:3182
+#: ../src/vikwindow.c:3738
msgid "Go to arbitrary lat/lon coordinate"
msgstr ""
-#: ../src/vikwindow.c:3183
+#: ../src/vikwindow.c:3739
msgid "Go to UTM..."
msgstr ""
-#: ../src/vikwindow.c:3183
+#: ../src/vikwindow.c:3739
msgid "Go to arbitrary UTM coordinate"
msgstr ""
-#: ../src/vikwindow.c:3184
+#: ../src/vikwindow.c:3740
msgid "_Refresh"
msgstr ""
-#: ../src/vikwindow.c:3184
+#: ../src/vikwindow.c:3740
msgid "Refresh any maps displayed"
msgstr ""
-#: ../src/vikwindow.c:3185
+#: ../src/vikwindow.c:3741
msgid "Set _Highlight Color..."
msgstr ""
-#: ../src/vikwindow.c:3186
+#: ../src/vikwindow.c:3742
msgid "Set Bac_kground Color..."
msgstr ""
-#: ../src/vikwindow.c:3187
+#: ../src/vikwindow.c:3743
msgid "Zoom _In"
msgstr ""
-#: ../src/vikwindow.c:3188
+#: ../src/vikwindow.c:3744
msgid "Zoom _Out"
msgstr ""
-#: ../src/vikwindow.c:3189
+#: ../src/vikwindow.c:3745
msgid "Zoom _To..."
msgstr ""
-#: ../src/vikwindow.c:3190
+#: ../src/vikwindow.c:3746
msgid "Pan _North"
msgstr ""
-#: ../src/vikwindow.c:3191
+#: ../src/vikwindow.c:3747
msgid "Pan _East"
msgstr ""
-#: ../src/vikwindow.c:3192
+#: ../src/vikwindow.c:3748
msgid "Pan _South"
msgstr ""
-#: ../src/vikwindow.c:3193
+#: ../src/vikwindow.c:3749
msgid "Pan _West"
msgstr ""
-#: ../src/vikwindow.c:3194
+#: ../src/vikwindow.c:3750
msgid "Background _Jobs"
msgstr ""
-#: ../src/vikwindow.c:3196
+#: ../src/vikwindow.c:3752
msgid "Cu_t"
msgstr ""
-#: ../src/vikwindow.c:3197
-msgid "_Copy"
-msgstr ""
-
-#: ../src/vikwindow.c:3198
-msgid "_Paste"
-msgstr ""
-
-#: ../src/vikwindow.c:3199
-msgid "_Delete"
-msgstr ""
-
-#: ../src/vikwindow.c:3200
+#: ../src/vikwindow.c:3756
msgid "Delete All"
msgstr ""
-#: ../src/vikwindow.c:3201
+#: ../src/vikwindow.c:3757
msgid "_Flush Map Cache"
msgstr ""
-#: ../src/vikwindow.c:3202
+#: ../src/vikwindow.c:3758
msgid "_Set the Default Location"
msgstr ""
-#: ../src/vikwindow.c:3202
+#: ../src/vikwindow.c:3758
msgid "Set the Default Location to the current position"
msgstr ""
-#: ../src/vikwindow.c:3203
+#: ../src/vikwindow.c:3759
msgid "_Preferences"
msgstr ""
-#: ../src/vikwindow.c:3204
+#: ../src/vikwindow.c:3760
+msgid "_Layer Defaults"
+msgstr ""
+
+#: ../src/vikwindow.c:3761
msgid "_Properties"
msgstr ""
-#: ../src/vikwindow.c:3207
+#: ../src/vikwindow.c:3764
msgid "_About"
msgstr ""
-#: ../src/vikwindow.c:3213
+#: ../src/vikwindow.c:3768
+msgid "_KML..."
+msgstr ""
+
+#: ../src/vikwindow.c:3768
+msgid "Export as KML"
+msgstr ""
+
+#: ../src/vikwindow.c:3774
msgid "_UTM Mode"
msgstr ""
-#: ../src/vikwindow.c:3214
+#: ../src/vikwindow.c:3775
msgid "_Expedia Mode"
msgstr ""
-#: ../src/vikwindow.c:3215
+#: ../src/vikwindow.c:3776
msgid "_Mercator Mode"
msgstr ""
-#: ../src/vikwindow.c:3216
+#: ../src/vikwindow.c:3777
msgid "Lat_/Lon Mode"
msgstr ""
-#: ../src/vikwindow.c:3220
+#: ../src/vikwindow.c:3781
msgid "Show _Scale"
msgstr ""
-#: ../src/vikwindow.c:3220
+#: ../src/vikwindow.c:3781
msgid "Show Scale"
msgstr ""
-#: ../src/vikwindow.c:3221
+#: ../src/vikwindow.c:3782
msgid "Show _Center Mark"
msgstr ""
-#: ../src/vikwindow.c:3221
+#: ../src/vikwindow.c:3782
msgid "Show Center Mark"
msgstr ""
-#: ../src/vikwindow.c:3222
+#: ../src/vikwindow.c:3783
msgid "Show _Highlight"
msgstr ""
-#: ../src/vikwindow.c:3222
+#: ../src/vikwindow.c:3783
msgid "Show Highlight"
msgstr ""
-#: ../src/vikwindow.c:3223
+#: ../src/vikwindow.c:3784
msgid "_Full Screen"
msgstr ""
-#: ../src/vikwindow.c:3223
+#: ../src/vikwindow.c:3784
msgid "Activate full screen mode"
msgstr ""
-#: ../src/vikwindow.c:3224
+#: ../src/vikwindow.c:3785
msgid "Show Side _Panel"
msgstr ""
-#: ../src/vikwindow.c:3224
+#: ../src/vikwindow.c:3785
msgid "Show Side Panel"
msgstr ""
-#: ../src/vikwindow.c:3225
+#: ../src/vikwindow.c:3786
msgid "Show Status_bar"
msgstr ""
-#: ../src/vikwindow.c:3225
+#: ../src/vikwindow.c:3786
msgid "Show Statusbar"
msgstr ""
-#: ../src/vikwindow.c:3226
+#: ../src/vikwindow.c:3787
msgid "Show _Toolbar"
msgstr ""
-#: ../src/vikwindow.c:3226
+#: ../src/vikwindow.c:3787
msgid "Show Toolbar"
msgstr ""
-#: ../src/vikwindow.c:3227
+#: ../src/vikwindow.c:3788
msgid "Show _Menu"
msgstr ""
-#: ../src/vikwindow.c:3227
+#: ../src/vikwindow.c:3788
msgid "Show Menu"
msgstr ""
+#: ../src/vikwindow.c:3862
+#, c-format
+msgid "New _%s Layer"
+msgstr ""
+
#: ../src/viking.desktop.in.h:2
msgid "GPS Data Manager"
msgstr ""
diff --git a/po/hu.po b/po/hu.po
index 3c5a1b2..b483e54 100644
--- a/po/hu.po
+++ b/po/hu.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: viking\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-02-04 23:29+0100\n"
+"POT-Creation-Date: 2013-09-03 21:58+0200\n"
"PO-Revision-Date: 2011-09-26 17:52+0000\n"
"Last-Translator: György Balló <ballogyor@gmail.com>\n"
"Language-Team: Hungarian <hu@li.org>\n"
@@ -15,60 +15,60 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Launchpad-Export-Date: 2013-03-23 17:12+0000\n"
-"X-Generator: Launchpad (build 16540)\n"
+"X-Launchpad-Export-Date: 2013-10-12 09:04+0000\n"
+"X-Generator: Launchpad (build 16799)\n"
"Language: hu\n"
-#: ../src/acquire.c:103 ../src/vikgpslayer.c:1185
+#: ../src/acquire.c:103 ../src/vikgpslayer.c:1235
msgid "Done."
msgstr "Kész."
-#: ../src/acquire.c:114
+#: ../src/acquire.c:112
msgid "No data."
msgstr "Nincs adat."
-#: ../src/acquire.c:154 ../src/acquire.c:404
+#: ../src/acquire.c:154 ../src/acquire.c:424
msgid "Error: acquisition failed."
msgstr "Hiba: beszerzés sikertelen."
-#: ../src/acquire.c:341
+#: ../src/acquire.c:352
msgid "Working..."
msgstr "Dolgozom…"
#. This shouldn't happen...
-#: ../src/acquire.c:394
+#: ../src/acquire.c:415
msgid ""
"Unable to create command\n"
"Acquire method failed."
msgstr ""
-#: ../src/acquire.c:486
+#: ../src/acquire.c:517
msgid "_Filter"
msgstr ""
-#: ../src/acquire.c:501
+#: ../src/acquire.c:532
#, c-format
msgid "Filter with %s"
msgstr ""
-#: ../src/acquire.c:518
+#: ../src/acquire.c:549
msgid "Filter"
msgstr ""
-#: ../src/background.c:52
+#: ../src/background.c:53
#, c-format
msgid "%d items"
msgstr "%d elem"
-#: ../src/background.c:248
+#: ../src/background.c:254
msgid "Job"
msgstr "Munka"
-#: ../src/background.c:252
+#: ../src/background.c:258
msgid "Progress"
msgstr "Folyamat"
-#: ../src/background.c:268
+#: ../src/background.c:274
msgid "Viking Background Jobs"
msgstr "Viking háttérmunkák"
@@ -77,7 +77,7 @@ msgid "Bing"
msgstr ""
#. VIK_GTK_WINDOW_FROM_WIDGET(vp)
-#: ../src/bingmapsource.c:445
+#: ../src/bingmapsource.c:499
msgid "Bing attribution Loading"
msgstr ""
@@ -104,35 +104,35 @@ msgid ""
"into."
msgstr "Útpont beillesztéséhez ki kell választania egy megfelelő réteget."
-#: ../src/dialog.c:52
+#: ../src/dialog.c:53
msgid "Go to Lat/Lon"
msgstr "Ugrás Szél./Hossz.-ra"
-#: ../src/dialog.c:64 ../src/dialog.c:251
+#: ../src/dialog.c:65 ../src/dialog.c:244
msgid "Latitude:"
msgstr "Földrajzi szélesség:"
-#: ../src/dialog.c:70 ../src/dialog.c:256
+#: ../src/dialog.c:71 ../src/dialog.c:249
msgid "Longitude:"
msgstr "Földrajzi hosszúság:"
-#: ../src/dialog.c:102
+#: ../src/dialog.c:103
msgid "Go to UTM"
msgstr "Ugrás UTM-re"
-#: ../src/dialog.c:115
+#: ../src/dialog.c:116
msgid "Northing:"
msgstr "Északi:"
-#: ../src/dialog.c:121
+#: ../src/dialog.c:122
msgid "Easting:"
msgstr "Keleti:"
-#: ../src/dialog.c:128
+#: ../src/dialog.c:129
msgid "Zone:"
msgstr "Zóna:"
-#: ../src/dialog.c:131
+#: ../src/dialog.c:132
msgid "Letter:"
msgstr "Betű:"
@@ -140,105 +140,109 @@ msgstr "Betű:"
msgid "Waypoint Properties"
msgstr "Útpont tulajdonságai"
-#: ../src/dialog.c:233
+#: ../src/dialog.c:235
msgid "Name:"
msgstr "Név:"
-#: ../src/dialog.c:261
+#: ../src/dialog.c:254
msgid "Altitude:"
msgstr "Magasság:"
-#: ../src/dialog.c:266
+#: ../src/dialog.c:259
msgid "Comment:"
msgstr "Megjegyzés:"
-#: ../src/dialog.c:274 ../src/osm-traces.c:437
+#: ../src/dialog.c:267 ../src/osm-traces.c:445
msgid "Description:"
msgstr "Leírás:"
-#: ../src/dialog.c:277
+#: ../src/dialog.c:270
msgid "Image:"
msgstr "Kép:"
-#: ../src/dialog.c:282
+#: ../src/dialog.c:275
msgid "Symbol:"
msgstr "Szimbólum:"
-#: ../src/dialog.c:291
+#: ../src/dialog.c:284
msgid "(none)"
msgstr "(nincs)"
+#: ../src/dialog.c:326
+msgid "Time:"
+msgstr ""
+
#. TODO: other checks (isalpha or whatever )
-#: ../src/dialog.c:356
+#: ../src/dialog.c:363
msgid "Please enter a name for the waypoint."
msgstr "Adjon meg egy nevet az útpontnak."
-#: ../src/dialog.c:529 ../src/geonamessearch.c:243
+#: ../src/dialog.c:502 ../src/geonamessearch.c:244
#: ../src/datasource_osm_my_traces.c:507
msgid "Nothing was selected"
msgstr "Nincs kiválasztva semmi"
-#: ../src/dialog.c:537
+#: ../src/dialog.c:510
msgid "Add Route"
msgstr ""
-#: ../src/dialog.c:537
+#: ../src/dialog.c:510
msgid "Add Track"
msgstr "Nyomvonal hozzáadása"
-#: ../src/dialog.c:545
+#: ../src/dialog.c:518
msgid "Route Name:"
msgstr ""
-#: ../src/dialog.c:545
+#: ../src/dialog.c:518
msgid "Track Name:"
msgstr "Nyomvonal neve:"
-#: ../src/dialog.c:565
+#: ../src/dialog.c:538
msgid "Please enter a name for the track."
msgstr "Adjon meg egy nevet a nyomvonalnak."
-#: ../src/dialog.c:623
+#: ../src/dialog.c:596
msgid "Zoom Factors..."
msgstr "Nagyítási tényezők..."
-#: ../src/dialog.c:637
+#: ../src/dialog.c:610
msgid "Zoom factor (in meters per pixel):"
msgstr "Nagyítási tényező (méter/képpontban)"
-#: ../src/dialog.c:638
+#: ../src/dialog.c:611
msgid "X (easting): "
msgstr "X (keleti): "
-#: ../src/dialog.c:639
+#: ../src/dialog.c:612
msgid "Y (northing): "
msgstr "Y (északi): "
-#: ../src/dialog.c:644
+#: ../src/dialog.c:617
msgid "X and Y zoom factors must be equal"
msgstr "Az X és Y nagyítási tényezők legyenek egyenlők"
-#: ../src/dialog.c:699
+#: ../src/dialog.c:672
msgid "1 min"
msgstr "1 perc"
-#: ../src/dialog.c:700
+#: ../src/dialog.c:673
msgid "1 hour"
msgstr "1 óra"
-#: ../src/dialog.c:701
+#: ../src/dialog.c:674
msgid "1 day"
msgstr "1 nap"
-#: ../src/dialog.c:702
+#: ../src/dialog.c:675
msgid "Custom (in minutes):"
msgstr "Egyéni (percben):"
-#: ../src/dialog.c:808
+#: ../src/dialog.c:786
msgid "GPS Data and Topo Analyzer, Explorer, and Manager."
msgstr "GPS adat- és topográfiai elemző, böngésző és kezelő."
-#: ../src/dialog.c:809
+#: ../src/dialog.c:787
msgid ""
"This program is free software; you can redistribute it and/or modify it "
"under the terms of the GNU General Public License as published by the Free "
@@ -267,29 +271,29 @@ msgstr ""
"License egy példányát; ha nem, írjon a Free Software Foundation, Inc.-nek, "
"59 Temple Place, Suite 330, Boston, MA 02111-1307, USA"
-#: ../src/dialog.c:837
+#: ../src/dialog.c:852
msgid "Translation is coordinated on http://launchpad.net/viking"
msgstr ""
"A fordítás koordinálása a http://launchpad.net/viking weboldalon történik"
-#: ../src/dialog.c:845
+#: ../src/dialog.c:861
msgid "Download along track"
msgstr "Letöltés a nyomvonal mentén"
-#: ../src/dialog.c:851
+#: ../src/dialog.c:868
msgid "Map type:"
msgstr "Térképtípus:"
-#: ../src/dialog.c:856
+#: ../src/dialog.c:874
msgid "Zoom level:"
msgstr "Nagyítási szint:"
-#: ../src/dialog.c:896
+#: ../src/dialog.c:914
#, c-format
msgid "The map data is licensed: %s."
msgstr "A térképadatokra a következő licenc vonatkozik: %s."
-#: ../src/dialog.c:899
+#: ../src/dialog.c:917
#, c-format
msgid ""
"The data provided by '<b>%s</b>' are licensed under the following license: "
@@ -300,7 +304,7 @@ msgstr ""
"azokra: <b>%s</b>.\n"
"Kérjük, olvassa el a licencet, mielőtt továbblép."
-#: ../src/dialog.c:904
+#: ../src/dialog.c:922
msgid "Open license"
msgstr "Szabad licenc"
@@ -349,7 +353,8 @@ msgstr "Nem található bejegyzés!"
#. NB could allow columns to be shifted around by doing this after each new
#. gtk_tree_view_column_set_reorderable ( column, TRUE );
#. However I don't think is that useful, so I haven't put it in
-#: ../src/geonamessearch.c:177 ../src/datasource_osm_my_traces.c:425
+#: ../src/geonamessearch.c:177 ../src/datasource_osm_my_traces.c:424
+#: ../src/viktrwlayer_tracklist.c:521
msgid "Name"
msgstr ""
@@ -357,82 +362,192 @@ msgstr ""
msgid "Feature"
msgstr ""
-#: ../src/geonamessearch.c:187 ../src/datasource_osm_my_traces.c:440
+#: ../src/geonamessearch.c:187 ../src/datasource_osm_my_traces.c:439
msgid "Lat/Lon"
msgstr ""
-#: ../src/geonamessearch.c:269 ../src/googlesearch.c:100
+#: ../src/geonamessearch.c:270 ../src/googlesearch.c:100 ../src/vikgoto.c:306
msgid "couldn't map temp file"
msgstr "az átmeneti fájl nem található"
-#: ../src/globals.c:44
+#: ../src/globals.c:73
+msgid "Absolute"
+msgstr ""
+
+#: ../src/globals.c:73
+msgid "Relative"
+msgstr ""
+
+#: ../src/globals.c:76
msgid "Degree format:"
msgstr "Fok formátuma:"
-#: ../src/globals.c:48
+#: ../src/globals.c:77
msgid "Distance units:"
msgstr "Távolság egysége:"
-#: ../src/globals.c:52
+#: ../src/globals.c:78
msgid "Speed units:"
msgstr "Sebesség egysége:"
-#: ../src/globals.c:56
+#: ../src/globals.c:79
msgid "Height units:"
msgstr "Magasság egysége:"
-#: ../src/globals.c:60
+#: ../src/globals.c:80
msgid "Use large waypoint icons:"
msgstr "Nagy útpontikonok használata:"
-#: ../src/globals.c:64
+#: ../src/globals.c:81
msgid "Default latitude:"
msgstr "Alapértelmezett szélesség:"
-#: ../src/globals.c:67
+#: ../src/globals.c:82
msgid "Default longitude:"
msgstr "Alapértelmezett hosszúság:"
-#: ../src/globals.c:73
+#: ../src/globals.c:88
msgid "Alphabetical"
msgstr ""
-#: ../src/globals.c:73 ../src/datasource_osm_my_traces.c:435
+#: ../src/globals.c:88 ../src/datasource_osm_my_traces.c:434
msgid "Time"
msgstr ""
-#: ../src/globals.c:76
+#: ../src/globals.c:88
+msgid "Creation"
+msgstr ""
+
+#: ../src/globals.c:89
+msgid "Title Case"
+msgstr ""
+
+#: ../src/globals.c:89
+msgid "Lowercase"
+msgstr ""
+
+#: ../src/globals.c:92
msgid "KML File Export Units:"
msgstr ""
-#: ../src/globals.c:77
+#: ../src/globals.c:93
msgid "GPX Track Order:"
msgstr ""
-#: ../src/globals.c:82
+#: ../src/globals.c:94
+msgid "GPX Waypoint Symbols:"
+msgstr ""
+
+#: ../src/globals.c:95
+msgid ""
+"Save GPX Waypoint Symbol names in the specified case. May be useful for "
+"compatibility with various devices"
+msgstr ""
+
+#: ../src/globals.c:100
msgid "Image Viewer:"
msgstr ""
-#: ../src/globals.c:87
+#: ../src/globals.c:105
msgid "External GPX Program 1:"
msgstr ""
-#: ../src/globals.c:88
+#: ../src/globals.c:106
msgid "External GPX Program 2:"
msgstr ""
+#: ../src/globals.c:110
+msgid "Save File Reference Mode:"
+msgstr ""
+
+#: ../src/globals.c:111
+msgid ""
+"When saving a Viking .vik file, this determines how the directory paths of "
+"filenames are written."
+msgstr ""
+
+#: ../src/globals.c:112
+msgid "Show Tooltip during Track Creation:"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Home Location"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Last Location"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Specified File"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Auto Location"
+msgstr ""
+
+#: ../src/globals.c:118
+msgid "Restore Window Setup:"
+msgstr ""
+
+#: ../src/globals.c:119
+msgid "Restore window size and layout"
+msgstr ""
+
+#: ../src/globals.c:120
+msgid "Add a Default Map Layer:"
+msgstr ""
+
+#: ../src/globals.c:121
+msgid ""
+"The default map layer added is defined by the Layer Defaults. Use the menu "
+"Edit->Layer Defaults->Map... to change the map type and other values."
+msgstr ""
+
+#: ../src/globals.c:122
+msgid "Startup Method:"
+msgstr ""
+
+#: ../src/globals.c:123
+msgid "Startup File:"
+msgstr ""
+
+#: ../src/globals.c:124
+msgid ""
+"The default file to load on startup. Only applies when the startup method is "
+"set to 'Specified File'"
+msgstr ""
+
+#: ../src/globals.c:125
+msgid "Check For New Version:"
+msgstr ""
+
+#: ../src/globals.c:126
+msgid "Periodically check to see if a new version of Viking is available"
+msgstr ""
+
#. Defaults for the options are setup here
-#: ../src/globals.c:96
+#: ../src/globals.c:163
msgid "General"
msgstr ""
#. New Tab
-#: ../src/globals.c:121
+#: ../src/globals.c:188
+msgid "Startup"
+msgstr ""
+
+#. New Tab
+#: ../src/globals.c:206
msgid "Export/External"
msgstr ""
+#. 'Advanced' Properties
+#: ../src/globals.c:230
+msgid "Advanced"
+msgstr ""
+
#. Webtools
-#: ../src/google.c:36
+#: ../src/google.c:38
msgid "Google"
msgstr "Google"
@@ -445,24 +560,24 @@ msgid "Imported file"
msgstr ""
#. The file selector
-#: ../src/datasource_file.c:133
+#: ../src/datasource_file.c:127
msgid "File:"
msgstr ""
-#: ../src/datasource_file.c:134
+#: ../src/datasource_file.c:128
msgid "File to import"
msgstr ""
-#: ../src/datasource_file.c:141
+#: ../src/datasource_file.c:135
msgid "All files"
msgstr ""
#. The file format selector
-#: ../src/datasource_file.c:148
+#: ../src/datasource_file.c:142
msgid "File type:"
msgstr ""
-#: ../src/datasource_file.c:193
+#: ../src/datasource_file.c:184
#, c-format
msgid "using babel args '%s' and file '%s'"
msgstr ""
@@ -475,29 +590,29 @@ msgstr "Geoládák letöltése"
msgid "Geocaching.com Caches"
msgstr "Geocaching.com ládák"
-#: ../src/datasource_gc.c:84
+#: ../src/datasource_gc.c:85
msgid "geocaching.com username:"
msgstr "geocaching.com felhasználónév:"
-#: ../src/datasource_gc.c:85
+#: ../src/datasource_gc.c:86
msgid "geocaching.com password:"
msgstr "geocaching.com jelszó:"
-#: ../src/datasource_gc.c:126
+#: ../src/datasource_gc.c:127
#, c-format
msgid ""
"Can't find %s or %s in path! Check that you have installed it correctly."
msgstr ""
-#: ../src/datasource_gc.c:188
+#: ../src/datasource_gc.c:189
msgid "Number geocaches:"
msgstr "Geoládák száma:"
-#: ../src/datasource_gc.c:190
+#: ../src/datasource_gc.c:191
msgid "Centered around:"
msgstr "Középre igazítva:"
-#: ../src/datasource_gc.c:226
+#: ../src/datasource_gc.c:230
msgid "Broken input - using some defaults"
msgstr ""
@@ -509,98 +624,89 @@ msgstr ""
msgid "Geotagged Images"
msgstr ""
-#: ../src/datasource_geotag.c:102 ../src/vikwindow.c:2314
-#: ../src/vikwindow.c:2382 ../src/vikwindow.c:2824
+#: ../src/datasource_geotag.c:102 ../src/vikwindow.c:2655
+#: ../src/vikwindow.c:2729 ../src/vikwindow.c:3380
msgid "All"
msgstr ""
-#: ../src/datasource_geotag.c:107 ../src/vikwindow.c:2829
+#: ../src/datasource_geotag.c:107 ../src/vikwindow.c:3385
msgid "JPG"
msgstr ""
-#: ../src/datasource_geotag.c:165
+#: ../src/datasource_geotag.c:168
#, c-format
msgid "Unable to create waypoint from %s"
msgstr ""
-#: ../src/datasource_google.c:49 ../src/datasource_google.c:50
-msgid "Google Directions"
-msgstr "Google útvonalkereső"
-
-#: ../src/datasource_google.c:77
-msgid "From:"
-msgstr "Innen:"
-
-#: ../src/datasource_google.c:79
-msgid "To:"
-msgstr "Ide:"
-
-#: ../src/datasource_gps.c:57
+#: ../src/datasource_gps.c:54
msgid "Acquire from GPS"
msgstr "Beszerzés GPS-ről"
-#: ../src/datasource_gps.c:58
+#: ../src/datasource_gps.c:55
msgid "Acquired from GPS"
msgstr "GPS-ről beszerezve"
-#: ../src/datasource_gps.c:221
+#: ../src/datasource_gps.c:245
#, c-format
msgid "using cmdline '%s' and file '%s'\n"
msgstr "'%s' parancssor és '%s' fájl használata\n"
-#: ../src/datasource_gps.c:297 ../src/vikgpslayer.c:884
+#: ../src/datasource_gps.c:327 ../src/vikgpslayer.c:934
#, c-format
msgid "Downloading %d waypoint..."
msgid_plural "Downloading %d waypoints..."
msgstr[0] "%d útpont letöltése..."
msgstr[1] "%d útpont letöltése..."
-#: ../src/datasource_gps.c:298 ../src/vikgpslayer.c:885
+#: ../src/datasource_gps.c:328 ../src/vikgpslayer.c:935
#, c-format
msgid "Downloading %d trackpoint..."
msgid_plural "Downloading %d trackpoints..."
msgstr[0] "%d nyompont letöltése..."
msgstr[1] "%d nyompont letöltése..."
-#: ../src/datasource_gps.c:303 ../src/vikgpslayer.c:890
+#: ../src/datasource_gps.c:333 ../src/vikgpslayer.c:940
#, c-format
msgid "Downloading %d routepoint..."
msgid_plural "Downloading %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/datasource_gps.c:325 ../src/datasource_gps.c:326
-#: ../src/datasource_gps.c:327
+#: ../src/datasource_gps.c:355 ../src/datasource_gps.c:356
+#: ../src/datasource_gps.c:357
#, c-format
msgid "Downloaded %d out of %d %s..."
msgstr "A(z) %d-ból %d %s letöltve..."
-#: ../src/datasource_gps.c:331 ../src/datasource_gps.c:332
-#: ../src/datasource_gps.c:333
+#: ../src/datasource_gps.c:361 ../src/datasource_gps.c:362
+#: ../src/datasource_gps.c:363
#, c-format
msgid "Downloaded %d %s."
msgstr "%d %s letöltve."
-#: ../src/datasource_gps.c:347 ../src/vikgpslayer.c:968
+#: ../src/datasource_gps.c:377 ../src/vikgpslayer.c:1018
#, c-format
msgid "GPS Device: %s"
msgstr "GPS eszköz: %s"
-#: ../src/datasource_gps.c:370 ../src/vikgpslayer.c:1042
-#: ../src/vikgpslayer.c:1110
+#: ../src/datasource_gps.c:400 ../src/vikgpslayer.c:1092
+#: ../src/vikgpslayer.c:1160
msgid "Status: Working..."
msgstr ""
-#: ../src/datasource_gps.c:469 ../src/vikgpslayer.c:150
+#. NB gps_layer_inst_init() is performed after parameter registeration
+#. thus to give the protocols some potential values use the old static list
+#. TODO: find another way to use gps_layer_inst_init()?
+#: ../src/datasource_gps.c:500 ../src/vikgpslayer.c:207
msgid "GPS Protocol:"
msgstr "GPS protokoll:"
-#. List now assigned at runtime
-#: ../src/datasource_gps.c:488 ../src/vikgpslayer.c:151
+#. List reassigned at runtime
+#: ../src/datasource_gps.c:526 ../src/vikgpslayer.c:208
msgid "Serial Port:"
msgstr "Soros port:"
-#: ../src/datasource_gps.c:509
+#: ../src/datasource_gps.c:576
msgid ""
"Turn Off After Transfer\n"
"(Garmin/NAViLink Only)"
@@ -608,19 +714,19 @@ msgstr ""
"Kikapcsolás átvitel után\n"
"(csak Garmin/NAViLink esetén)"
-#: ../src/datasource_gps.c:512
+#: ../src/datasource_gps.c:583
msgid "Tracks:"
msgstr ""
-#: ../src/datasource_gps.c:516
+#: ../src/datasource_gps.c:590
msgid "Routes:"
msgstr ""
-#: ../src/datasource_gps.c:520
+#: ../src/datasource_gps.c:597
msgid "Waypoints:"
msgstr ""
-#: ../src/datasource_gps.c:594 ../src/vikgpslayer.c:1305
+#: ../src/datasource_gps.c:675 ../src/vikgpslayer.c:1355
msgid "GPS device: N/A"
msgstr "GPS eszköz: N/A"
@@ -628,39 +734,39 @@ msgstr "GPS eszköz: N/A"
msgid "OSM traces"
msgstr ""
-#: ../src/datasource_osm.c:80
+#: ../src/datasource_osm.c:82
msgid "Page number:"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:63 ../src/datasource_osm_my_traces.c:64
+#: ../src/datasource_osm_my_traces.c:59 ../src/datasource_osm_my_traces.c:60
msgid "OSM My Traces"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:108
+#: ../src/datasource_osm_my_traces.c:104
msgid "Username:"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:113
+#: ../src/datasource_osm_my_traces.c:109
msgid "The email or username used to login to OSM"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:115 ../src/osm-traces.c:413
+#: ../src/datasource_osm_my_traces.c:111 ../src/osm-traces.c:421
msgid "Password:"
msgstr "Jelszó:"
-#: ../src/datasource_osm_my_traces.c:120
+#: ../src/datasource_osm_my_traces.c:114
msgid "The password used to login to OSM"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:430
+#: ../src/datasource_osm_my_traces.c:429
msgid "Description"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:445
+#: ../src/datasource_osm_my_traces.c:444
msgid "Privacy"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:452
+#: ../src/datasource_osm_my_traces.c:451
msgid "Within Current View"
msgstr ""
@@ -672,15 +778,33 @@ msgstr ""
msgid "None found!"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:629
+#: ../src/datasource_osm_my_traces.c:634
msgid "My OSM Traces"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:645
+#: ../src/datasource_osm_my_traces.c:649
#, c-format
msgid "Unable to get trace: %s"
msgstr ""
+#: ../src/datasource_routing.c:53 ../src/datasource_routing.c:54
+msgid "Directions"
+msgstr ""
+
+#. Engine selector
+#: ../src/datasource_routing.c:83
+msgid "Engine:"
+msgstr ""
+
+#. From and To entries
+#: ../src/datasource_routing.c:88
+msgid "From:"
+msgstr "Innen:"
+
+#: ../src/datasource_routing.c:90
+msgid "To:"
+msgstr "Ide:"
+
#: ../src/datasource_wikipedia.c:32
msgid "Create Waypoints from Wikipedia Articles"
msgstr ""
@@ -701,138 +825,138 @@ msgstr "Érvénytelen DEM fejléc"
msgid "Incorrect DEM Class B record: expected 1"
msgstr "Hibás DEM Class B rekord: a várt érték: 1"
-#: ../src/dem.c:360
+#: ../src/dem.c:288 ../src/download.c:170
#, c-format
msgid "Couldn't map file %s: %s"
msgstr "A(z) %s fájl nem található: %s"
-#: ../src/download.c:112
-msgid "Tile age (s):"
-msgstr "Csempe kora (mp):"
+#: ../src/download.c:130
+msgid "Tile age (days):"
+msgstr ""
-#: ../src/download.c:233
+#: ../src/download.c:321
#, c-format
msgid "Download error: %s"
msgstr "Letöltési hiba: %s"
-#: ../src/download.c:313
+#: ../src/download.c:404
msgid "couldn't open temp file"
msgstr "az átmeneti fájl nem nyitható meg"
-#: ../src/file.c:456 ../src/file.c:461
+#: ../src/file.c:451 ../src/file.c:456
#, c-format
msgid "Draw mode '%s' no more supported"
msgstr "A(z) '%s' rajzolási mód nem támogatott többé"
-#: ../src/geotag_exif.c:433
+#: ../src/geotag_exif.c:421
msgid "Not enough memory."
msgstr ""
-#: ../src/geotag_exif.c:451
+#: ../src/geotag_exif.c:439
msgid "Setting a value for this tag is unsupported!"
msgstr ""
-#: ../src/geotag_exif.c:470
+#: ../src/geotag_exif.c:458
#, c-format
msgid "Too few components specified (need %d, found %d)\n"
msgstr ""
-#: ../src/geotag_exif.c:474
+#: ../src/geotag_exif.c:462
msgid "Numeric value expected\n"
msgstr ""
-#: ../src/geotag_exif.c:482
+#: ../src/geotag_exif.c:470
msgid "This shouldn't happen!"
msgstr ""
-#: ../src/geotag_exif.c:552
+#: ../src/geotag_exif.c:540
msgid "Not yet implemented!"
msgstr ""
-#: ../src/geotag_exif.c:565
+#: ../src/geotag_exif.c:553
msgid "Warning; Too many components specified!"
msgstr ""
-#: ../src/osm-traces.c:73
+#: ../src/osm-traces.c:76
msgid "Identifiable (public w/ timestamps)"
msgstr "Azonosítható (nyilvános időbélyegek nélkül)"
-#: ../src/osm-traces.c:74
+#: ../src/osm-traces.c:77
msgid "Trackable (private w/ timestamps)"
msgstr "Nyomon követhető (privát időbélyegek nélkül)"
-#: ../src/osm-traces.c:75
+#: ../src/osm-traces.c:78
msgid "Public"
msgstr "Nyilvános"
-#: ../src/osm-traces.c:76
+#: ../src/osm-traces.c:79
msgid "Private"
msgstr "Privát"
-#: ../src/osm-traces.c:93
+#: ../src/osm-traces.c:97
msgid "OSM username:"
msgstr "OSM felhasználónév:"
-#: ../src/osm-traces.c:94
+#: ../src/osm-traces.c:98
msgid "OSM password:"
msgstr "OSM jelszó:"
#. Preferences
-#: ../src/osm-traces.c:151
+#: ../src/osm-traces.c:155
msgid "OpenStreetMap Traces"
msgstr ""
-#: ../src/osm-traces.c:234
+#: ../src/osm-traces.c:238
#, c-format
msgid "failed to upload data: HTTP response is %ld"
msgstr "adatok feltöltése sikertelen: a HTTP válasz: %ld"
-#: ../src/osm-traces.c:239
+#: ../src/osm-traces.c:243
#, c-format
msgid "curl_easy_getinfo failed: %d"
msgstr "curl_easy_getinfo sikertelen: %d"
-#: ../src/osm-traces.c:244
+#: ../src/osm-traces.c:248
#, c-format
msgid "curl request failed: %s"
msgstr "curl kérés sikertelen: %s"
-#: ../src/osm-traces.c:275
+#: ../src/osm-traces.c:279
#, c-format
msgid "failed to open temporary file: %s"
msgstr "az átmeneti fájl nem nyitható meg: %s"
#. Success
-#: ../src/osm-traces.c:328
+#: ../src/osm-traces.c:340
msgid "Uploaded to OSM"
msgstr ""
-#: ../src/osm-traces.c:332
+#: ../src/osm-traces.c:344
msgid "FAILED TO UPLOAD DATA TO OSM - CURL PROBLEM"
msgstr ""
-#: ../src/osm-traces.c:335
+#: ../src/osm-traces.c:347
msgid "FAILED TO UPLOAD DATA TO OSM"
msgstr ""
-#: ../src/osm-traces.c:335
+#: ../src/osm-traces.c:347
msgid "HTTP response code"
msgstr ""
-#: ../src/osm-traces.c:348
+#: ../src/osm-traces.c:355
#, c-format
msgid "failed to unlink temporary file: %s"
msgstr "az átmeneti fájl nem törölhető: %s"
-#: ../src/osm-traces.c:387
+#: ../src/osm-traces.c:394
msgid "OSM upload"
msgstr "OSM feltöltés"
-#: ../src/osm-traces.c:405
+#: ../src/osm-traces.c:413
msgid "Email:"
msgstr "E-mail:"
-#: ../src/osm-traces.c:410
+#: ../src/osm-traces.c:418
msgid ""
"The email used as login\n"
"<small>Enter the email you use to login into www.openstreetmap.org.</small>"
@@ -841,7 +965,7 @@ msgstr ""
"<small>Adja meg az e-mail címét, amelyet a bejelentkezéshez használ a "
"www.openstreetmap.org webhelyen.</small>"
-#: ../src/osm-traces.c:418
+#: ../src/osm-traces.c:426
msgid ""
"The password used to login\n"
"<small>Enter the password you use to login into "
@@ -851,11 +975,11 @@ msgstr ""
"<small>Adja meg a jelszavát, amelyet a bejelentkezéshez használ a "
"www.openstreetmap.org webhelyen.</small>"
-#: ../src/osm-traces.c:423
+#: ../src/osm-traces.c:431
msgid "File's name:"
msgstr "Fájl neve:"
-#: ../src/osm-traces.c:433
+#: ../src/osm-traces.c:441
msgid ""
"The name of the file on OSM\n"
"<small>This is the name of the file created on the server.This is not the "
@@ -864,19 +988,30 @@ msgstr ""
"A fájl neve az OSM-en\n"
"<small>A szerveren létrehozandó fájl neve. Ez nem a helyi fájl neve.</small>"
-#: ../src/osm-traces.c:442
+#: ../src/osm-traces.c:450
msgid "The description of the trace"
msgstr "A nyomvonal leírása"
-#: ../src/osm-traces.c:444
+#: ../src/osm-traces.c:453
+msgid "Anonymize Times:"
+msgstr ""
+
+#: ../src/osm-traces.c:458
+msgid ""
+"Anonymize times of the trace.\n"
+"<small>You may choose to make the trace identifiable, yet mask the actual "
+"real time values</small>"
+msgstr ""
+
+#: ../src/osm-traces.c:462
msgid "Tags:"
msgstr "Címkék:"
-#: ../src/osm-traces.c:449
+#: ../src/osm-traces.c:467
msgid "The tags associated to the trace"
msgstr "A nyomvonalhoz társított címkék"
-#: ../src/osm-traces.c:482
+#: ../src/osm-traces.c:529
#, c-format
msgid "Uploading %s to OSM"
msgstr "%s feltöltése az OSM-re"
@@ -885,69 +1020,88 @@ msgstr "%s feltöltése az OSM-re"
msgid "Map cache memory size (MB):"
msgstr ""
-#: ../src/print.c:53
+#: ../src/print.c:51 ../src/viktrwlayer.c:509
msgid "None"
msgstr "Egyik sem"
-#: ../src/print.c:54
+#: ../src/print.c:52
msgid "Horizontally"
msgstr "Vízszintesen"
-#: ../src/print.c:55
+#: ../src/print.c:53
msgid "Vertically"
msgstr "Függőlegesen"
-#: ../src/print.c:56
+#: ../src/print.c:54
msgid "Both"
msgstr "Mindkettő"
-#: ../src/print.c:120
+#: ../src/print.c:118
msgid "Image Settings"
msgstr "Képbeállítások"
-#: ../src/print.c:546
+#: ../src/print.c:548
msgid "done"
msgstr "kész"
#. Page Size
-#: ../src/print.c:575
+#: ../src/print.c:577
msgid "_Adjust Page Size and Orientation"
msgstr "Lapmé_ret és tájolás beállítása"
-#: ../src/print.c:591
+#: ../src/print.c:593
msgid "C_enter:"
msgstr "_Középre:"
#. ignore page margins
-#: ../src/print.c:609
+#: ../src/print.c:611
msgid "Ignore Page _Margins"
msgstr "Lapmargók f_igyelmen kívül hagyása"
-#: ../src/print.c:628
+#: ../src/print.c:630
msgid "Image S_ize:"
msgstr "Kép_méret:"
-#: ../src/util.c:81
-msgid "Could not launch web browser."
-msgstr "A webböngésző nem indítható."
+#: ../src/util.c:65
+#, c-format
+msgid "Could not launch web browser. %s"
+msgstr ""
-#: ../src/util.c:92
-msgid "Could not create new email."
-msgstr "Nem hozható létre új e-mail."
+#: ../src/util.c:76
+#, c-format
+msgid "Could not create new email. %s"
+msgstr ""
-#: ../src/vikcoordlayer.c:46
+#: ../src/util.c:177
+#, c-format
+msgid ""
+"There is a newer version of Viking available: %s\n"
+"\n"
+"Do you wish to go to Viking's website now?"
+msgstr ""
+
+#: ../src/util.c:304
+msgid ""
+"This appears to be Viking's very first run.\n"
+"\n"
+"Do you wish to enable automatic internet features?\n"
+"\n"
+"Individual settings can be controlled in the Preferences."
+msgstr ""
+
+#: ../src/vikcoordlayer.c:57
msgid "Color:"
msgstr "Szín:"
-#: ../src/vikcoordlayer.c:47
+#: ../src/vikcoordlayer.c:58
msgid "Minutes Width:"
msgstr "Perc szélessége:"
-#: ../src/vikcoordlayer.c:48
+#: ../src/vikcoordlayer.c:59
msgid "Line Thickness:"
msgstr "Vonal vastagsága:"
-#: ../src/vikcoordlayer.c:56
+#: ../src/vikcoordlayer.c:66
msgid "Coordinate"
msgstr ""
@@ -983,62 +1137,130 @@ msgstr "Útpontok ezen kívül"
msgid "Polygonzied Layer"
msgstr "Poligonizált réteg"
-#: ../src/main.c:89
+#: ../src/main.c:92
#, c-format
msgid "Ignoring Xlib error: error code %d request code %d\n"
msgstr ""
-#: ../src/main.c:102
+#: ../src/main.c:105
msgid "Enable debug output"
msgstr "Hibakeresési kimenet engedélyezése"
-#: ../src/main.c:103
+#: ../src/main.c:106
msgid "Enable verbose output"
msgstr "Részletes üzenetek bekapcsolása"
-#: ../src/main.c:104
+#: ../src/main.c:107
msgid "Show version"
msgstr "Verziószám megjelenítése"
-#: ../src/osm.c:106
+#: ../src/osm.c:99
msgid "On Disk OSM Tile Format"
msgstr ""
-#: ../src/osm.c:121
+#: ../src/osm.c:113
msgid "OSM (view)"
msgstr "OSM (megtekintés)"
-#: ../src/osm.c:125
+#: ../src/osm.c:117
msgid "OSM (edit)"
msgstr "OSM (szerkesztés)"
-#: ../src/osm.c:129
+#: ../src/osm.c:121
msgid "OSM (render)"
msgstr "OSM (renderelés)"
#. Example: http://127.0.0.1:8111/load_and_zoom?left=8.19&right=8.20&top=48.605&bottom=48.590&select=node413602999
#. JOSM or merkaartor must already be running with remote interface enabled
-#: ../src/osm.c:136
+#: ../src/osm.c:128
msgid "Local port 8111 (eg JOSM)"
msgstr ""
-#: ../src/preferences.c:285
+#: ../src/osm.c:134
+msgid "OpenStreetMap Notes"
+msgstr ""
+
+#: ../src/osm.c:138
+msgid "OpenStreetBugs"
+msgstr ""
+
+#. Not really OSM but can't be bothered to create somewhere else to put it...
+#: ../src/osm.c:164
+msgid "Wikimedia Toolserver GeoHack"
+msgstr ""
+
+#: ../src/preferences.c:191
msgid "Preferences"
msgstr "Beállítások"
-#: ../src/uibuilder.c:147
+#: ../src/viklayer_defaults.c:232
+#, c-format
+msgid "Could not open file: %s"
+msgstr ""
+
+#: ../src/viklayer_defaults.c:303
+msgid "Layer Defaults"
+msgstr ""
+
+#: ../src/uibuilder.c:185
msgid "Take care that this password will be stored clearly in a plain file."
msgstr "Ügyeljen arra, hogy ez a jelszó egy sima fájlban kerül eltárolásra."
-#: ../src/vikaggregatelayer.c:37
+#: ../src/vikaggregatelayer.c:42
msgid "Aggregate"
msgstr ""
-#: ../src/vikdemlayer.c:101
+#. VikLayersPanel *vlp = VIK_LAYERS_PANEL(lav[1]);
+#: ../src/vikaggregatelayer.c:484 ../src/viktrwlayer.c:10238
+#, c-format
+msgid "%s: Track and Route List"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:529 ../src/viktrwlayer.c:7354
+#: ../src/viktrwlayer.c:7420 ../src/viktrwlayer.c:7498
+msgid "_Visibility"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:534
+msgid "_Show All"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:540
+msgid "_Hide All"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:546 ../src/viktrwlayer.c:7371
+#: ../src/viktrwlayer.c:7437 ../src/viktrwlayer.c:7515
+msgid "_Toggle"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:553 ../src/viktrwlayer.c:7536
+msgid "_Sort"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:559 ../src/viktrwlayer.c:7542
+msgid "Name _Ascending"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:565 ../src/viktrwlayer.c:7548
+msgid "Name _Descending"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:571 ../src/viktrwlayer.c:7449
+#: ../src/viktrwlayer.c:7527 ../src/viktrwlayer.c:7587
+#: ../src/viktrwlayer_tracklist.c:237
+msgid "_Statistics"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:576 ../src/viktrwlayer.c:3971
+msgid "Track _List..."
+msgstr ""
+
+#: ../src/vikdemlayer.c:92
msgid "Absolute height"
msgstr "Abszolút magasság"
-#: ../src/vikdemlayer.c:102
+#: ../src/vikdemlayer.c:93
msgid "Height gradient"
msgstr "Magassági grádiens"
@@ -1078,25 +1300,52 @@ msgstr ""
msgid "DEM"
msgstr ""
-#: ../src/vikdemlayer.c:284
+#: ../src/vikdemlayer.c:287
#, c-format
msgid "Number of files: %d"
msgstr "Fájlok száma: %d"
-#: ../src/vikdemlayer.c:385
+#: ../src/vikdemlayer.c:427
msgid "DEM Loading"
msgstr "DEM betöltése"
-#: ../src/vikdemlayer.c:889
+#: ../src/vikdemlayer.c:937
#, c-format
msgid "No SRTM data available for %f, %f"
msgstr "Nem érhető el SRTM adat a következőhöz: %f, %f"
-#: ../src/vikdemlayer.c:1149
+#. Probably not over any land...
+#: ../src/vikdemlayer.c:1193
+msgid "No DEM File Available"
+msgstr ""
+
+#: ../src/vikdemlayer.c:1212
+#, c-format
+msgid ""
+"\n"
+"Source: %s\n"
+"\n"
+"DEM File: %s\n"
+"DEM File Timestamp: %s"
+msgstr ""
+
+#: ../src/vikdemlayer.c:1216
+#, c-format
+msgid ""
+"Source: %s\n"
+"\n"
+"No DEM File!"
+msgstr ""
+
+#: ../src/vikdemlayer.c:1256
#, c-format
msgid "Downloading DEM %s"
msgstr "%s DEM letöltése"
+#: ../src/vikdemlayer.c:1280
+msgid "_Show DEM File Information"
+msgstr ""
+
#: ../src/vikfileentry.c:68
msgid "Browse..."
msgstr "Tallózás…"
@@ -1117,248 +1366,266 @@ msgstr "Hozzáadás..."
msgid "Delete"
msgstr "Törlés"
-#: ../src/vikgeoreflayer.c:70
+#: ../src/vikgeoreflayer.c:78
msgid "_Georef Move Map"
msgstr ""
-#: ../src/vikgeoreflayer.c:70
+#: ../src/vikgeoreflayer.c:78
msgid "Georef Move Map"
msgstr "Georef térkép mozgatása"
-#: ../src/vikgeoreflayer.c:77
+#: ../src/vikgeoreflayer.c:85
msgid "Georef Z_oom Tool"
msgstr ""
-#: ../src/vikgeoreflayer.c:77
+#: ../src/vikgeoreflayer.c:85
msgid "Georef Zoom Tool"
msgstr "Georef nagyítóeszköz"
-#: ../src/vikgeoreflayer.c:87
+#: ../src/vikgeoreflayer.c:95
msgid "GeoRef Map"
msgstr ""
-#: ../src/vikgeoreflayer.c:335 ../src/vikmapslayer.c:685
+#: ../src/vikgeoreflayer.c:377 ../src/vikmapslayer.c:720
#, c-format
msgid "Couldn't open image file: %s"
msgstr "A képfájl nem nyitható meg: %s"
-#: ../src/vikgeoreflayer.c:365
+#: ../src/vikgeoreflayer.c:391
+msgid ""
+"GeoRef map cannot be displayed in the current drawmode.\n"
+"Select \"UTM Mode\" from View menu to view it."
+msgstr ""
+
+#: ../src/vikgeoreflayer.c:415
msgid "Unexpected end of file reading World file."
msgstr "Váratlan fájlvége a világfájl olvasásakor."
-#: ../src/vikgeoreflayer.c:381 ../src/vikgeoreflayer.c:426
+#: ../src/vikgeoreflayer.c:431 ../src/vikgeoreflayer.c:476
msgid "Choose World file"
msgstr "Világfájl kiválasztása"
-#: ../src/vikgeoreflayer.c:394
+#: ../src/vikgeoreflayer.c:444
msgid "The World file you requested could not be opened for reading."
msgstr "A kért világfájl nem nyitható meg olvasásra."
-#: ../src/vikgeoreflayer.c:439
+#: ../src/vikgeoreflayer.c:489
msgid "The file you requested could not be opened for writing."
msgstr "A kért fájl nem nyitható meg írásra."
-#: ../src/vikgeoreflayer.c:456 ../src/viklayer.c:480
+#: ../src/vikgeoreflayer.c:506 ../src/viklayer.c:518
msgid "Layer Properties"
msgstr "Réteg tulajdonságai"
-#: ../src/vikgeoreflayer.c:478
+#: ../src/vikgeoreflayer.c:528
msgid "World File Parameters:"
msgstr "Világfájl paraméterei:"
-#: ../src/vikgeoreflayer.c:479
+#: ../src/vikgeoreflayer.c:529
msgid "Load From File..."
msgstr "Betöltés fájlból..."
-#: ../src/vikgeoreflayer.c:484
+#: ../src/vikgeoreflayer.c:534
msgid "Corner pixel easting:"
msgstr "Sarokképpont keleti:"
-#: ../src/vikgeoreflayer.c:486
-msgid "the UTM \"easting\" value of the upper-right corner pixel of the map"
-msgstr "a térkép jobb-felső sarkában lévő képpontjának UTM \"keleti\" értéke"
+#: ../src/vikgeoreflayer.c:536
+msgid "the UTM \"easting\" value of the upper-left corner pixel of the map"
+msgstr ""
-#: ../src/vikgeoreflayer.c:488
+#: ../src/vikgeoreflayer.c:538
msgid "Corner pixel northing:"
msgstr "Sarokképpont északi:"
-#: ../src/vikgeoreflayer.c:490
-msgid "the UTM \"northing\" value of the upper-right corner pixel of the map"
-msgstr "a térkép jobb-felső sarkában lévő képpontjának UTM \"északi\" értéke"
+#: ../src/vikgeoreflayer.c:540
+msgid "the UTM \"northing\" value of the upper-left corner pixel of the map"
+msgstr ""
-#: ../src/vikgeoreflayer.c:492
+#: ../src/vikgeoreflayer.c:542
msgid "X (easting) scale (mpp): "
msgstr "X (keleti) méretarány (mpp): "
-#: ../src/vikgeoreflayer.c:493
+#: ../src/vikgeoreflayer.c:543
msgid "Y (northing) scale (mpp): "
msgstr "Y (északi) méretarány (mpp): "
-#: ../src/vikgeoreflayer.c:496
+#: ../src/vikgeoreflayer.c:546
msgid "the scale of the map in the X direction (meters per pixel)"
msgstr "a térkép méretaránya X irányban (méter/képpontban)"
-#: ../src/vikgeoreflayer.c:498
+#: ../src/vikgeoreflayer.c:548
msgid "the scale of the map in the Y direction (meters per pixel)"
msgstr "a térkép méretaránya Y irányban (méter/képpontban)"
-#: ../src/vikgeoreflayer.c:500
+#: ../src/vikgeoreflayer.c:550
msgid "Map Image:"
msgstr "Térkép:"
#. Now with icons
-#: ../src/vikgeoreflayer.c:608
+#: ../src/vikgeoreflayer.c:658
msgid "_Zoom to Fit Map"
msgstr "_Nézet illesztése a térképhez"
-#: ../src/vikgeoreflayer.c:614
+#: ../src/vikgeoreflayer.c:664
msgid "_Goto Map Center"
msgstr "_Ugrás a térkép közepére"
-#: ../src/vikgeoreflayer.c:620
+#: ../src/vikgeoreflayer.c:670
msgid "_Export to World File"
msgstr "_Exportálás a világfájlba"
-#: ../src/vikgoto.c:75
+#: ../src/vikgoto.c:81
msgid "No goto tool available."
msgstr "Nem érhető el ugró eszköz."
-#: ../src/vikgoto.c:88 ../src/vikgoto.c:107
+#: ../src/vikgoto.c:94 ../src/vikgoto.c:148
msgid "goto"
msgstr "ugrás"
-#: ../src/vikgoto.c:90
+#: ../src/vikgoto.c:96
msgid "I don't know that place. Do you want another goto?"
msgstr "Nem ismerem ezt a helyet. Szeretne másik ugrást?"
-#: ../src/vikgoto.c:109
+#: ../src/vikgoto.c:150
msgid "goto provider:"
msgstr "ugrás nyújtója:"
-#: ../src/vikgoto.c:124
+#: ../src/vikgoto.c:165
msgid "Enter address or place name:"
msgstr "Adja meg a cím vagy hely nevét:"
-#: ../src/vikgpslayer.c:127
+#: ../src/vikgoto.c:363
+msgid "Locality"
+msgstr ""
+
+#: ../src/vikgpslayer.c:128
msgid "Data Mode"
msgstr ""
-#: ../src/vikgpslayer.c:129
+#: ../src/vikgpslayer.c:130
msgid "Realtime Tracking Mode"
msgstr ""
-#: ../src/vikgpslayer.c:137
+#: ../src/vikgpslayer.c:167
msgid "Keep vehicle at center"
msgstr ""
-#: ../src/vikgpslayer.c:138
+#: ../src/vikgpslayer.c:168
msgid "Keep vehicle on screen"
msgstr ""
-#: ../src/vikgpslayer.c:139
+#: ../src/vikgpslayer.c:169
msgid "Disable"
msgstr ""
-#: ../src/vikgpslayer.c:152
+#: ../src/vikgpslayer.c:209
msgid "Download Tracks:"
msgstr ""
-#: ../src/vikgpslayer.c:153
+#: ../src/vikgpslayer.c:210
msgid "Upload Tracks:"
msgstr ""
-#: ../src/vikgpslayer.c:154
+#: ../src/vikgpslayer.c:211
msgid "Download Routes:"
msgstr ""
-#: ../src/vikgpslayer.c:155
+#: ../src/vikgpslayer.c:212
msgid "Upload Routes:"
msgstr ""
-#: ../src/vikgpslayer.c:156
+#: ../src/vikgpslayer.c:213
msgid "Download Waypoints:"
msgstr ""
-#: ../src/vikgpslayer.c:157
+#: ../src/vikgpslayer.c:214
msgid "Upload Waypoints:"
msgstr ""
-#: ../src/vikgpslayer.c:159
+#: ../src/vikgpslayer.c:216
msgid "Recording tracks"
msgstr "Nyomvonalak rögzítése"
-#: ../src/vikgpslayer.c:160
+#: ../src/vikgpslayer.c:217
msgid "Jump to current position on start"
msgstr "Ugrás a jelenlegi pozícióra indításkor"
-#: ../src/vikgpslayer.c:161
+#: ../src/vikgpslayer.c:218
msgid "Moving Map Method:"
msgstr "Térképmozgatási módszer"
-#: ../src/vikgpslayer.c:162
+#: ../src/vikgpslayer.c:219
+msgid "Update Statusbar:"
+msgstr ""
+
+#: ../src/vikgpslayer.c:219
+msgid "Display information in the statusbar on GPS updates"
+msgstr ""
+
+#: ../src/vikgpslayer.c:220
msgid "Gpsd Host:"
msgstr "Gpsd gazda:"
-#: ../src/vikgpslayer.c:163
+#: ../src/vikgpslayer.c:221
msgid "Gpsd Port:"
msgstr "Gpsd port:"
-#: ../src/vikgpslayer.c:164
+#: ../src/vikgpslayer.c:222
msgid "Gpsd Retry Interval (seconds):"
msgstr "Gpsd újrapróbálkozás intervalluma (másodperc):"
-#: ../src/vikgpslayer.c:179
+#: ../src/vikgpslayer.c:243
msgid "GPS"
msgstr ""
-#: ../src/vikgpslayer.c:242 ../src/vikgpslayer.c:1258
+#: ../src/vikgpslayer.c:306 ../src/vikgpslayer.c:1308
msgid "GPS Download"
msgstr "GPS letöltés"
-#: ../src/vikgpslayer.c:242 ../src/vikgpslayer.c:1258
-#: ../src/viktrwlayer.c:3094
+#: ../src/vikgpslayer.c:306 ../src/vikgpslayer.c:1308
+#: ../src/viktrwlayer.c:3480
msgid "GPS Upload"
msgstr "GPS feltöltés"
-#: ../src/vikgpslayer.c:244
+#: ../src/vikgpslayer.c:308
msgid "GPS Realtime Tracking"
msgstr "GPS valós idejű nyomkövetés"
-#: ../src/vikgpslayer.c:451
+#: ../src/vikgpslayer.c:517
msgid "Unknown GPS Protocol"
msgstr "Ismeretlen GPS protokoll"
-#: ../src/vikgpslayer.c:469
+#: ../src/vikgpslayer.c:535
msgid "Unknown serial port device"
msgstr "Ismeretlen soros port eszköz"
-#: ../src/vikgpslayer.c:572
+#: ../src/vikgpslayer.c:648
#, c-format
msgid "%s: unknown parameter"
msgstr "%s: ismeretlen paraméter"
#. Now with icons
-#: ../src/vikgpslayer.c:693
+#: ../src/vikgpslayer.c:743
msgid "_Upload to GPS"
msgstr "_Feltöltés GPS-re"
-#: ../src/vikgpslayer.c:699
+#: ../src/vikgpslayer.c:749
msgid "Download from _GPS"
msgstr "Letöltés _GPS-ről"
-#: ../src/vikgpslayer.c:720
+#: ../src/vikgpslayer.c:770
msgid "Empty _Realtime"
msgstr "_Valós idő ürítése"
-#: ../src/vikgpslayer.c:727
+#: ../src/vikgpslayer.c:777
msgid "E_mpty Upload"
msgstr "Feltöltés ürí_tése"
-#: ../src/vikgpslayer.c:733
+#: ../src/vikgpslayer.c:783
msgid "_Empty Download"
msgstr "Letöltés ü_rítése"
-#: ../src/vikgpslayer.c:739
+#: ../src/vikgpslayer.c:789
msgid "Empty _All"
msgstr "Ö_sszes ürítése"
@@ -1367,234 +1634,232 @@ msgstr "Ö_sszes ürítése"
#. This happens when copied GPS layer is deleted (not sure why the number_handlers would be 2)
#. I don't think there's any side effects and certainly better than the program just aborting
#.
-#: ../src/vikgpslayer.c:756
+#: ../src/vikgpslayer.c:806
#, c-format
msgid "Unexpected number of disconnected handlers: %d"
msgstr "Váratlan számú szétkapcsolódott kezelő: %d"
-#: ../src/vikgpslayer.c:898
+#: ../src/vikgpslayer.c:948
#, c-format
msgid "Uploading %d waypoint..."
msgid_plural "Uploading %d waypoints..."
msgstr[0] "%d útpont feltöltése..."
msgstr[1] "%d útpont feltöltése..."
-#: ../src/vikgpslayer.c:899
+#: ../src/vikgpslayer.c:949
#, c-format
msgid "Uploading %d trackpoint..."
msgid_plural "Uploading %d trackpoints..."
msgstr[0] "%d nyompont feltöltése..."
msgstr[1] "%d nyompont feltöltése..."
-#: ../src/vikgpslayer.c:900
+#: ../src/vikgpslayer.c:950
#, c-format
msgid "Uploading %d routepoint..."
msgid_plural "Uploading %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:925
+#: ../src/vikgpslayer.c:975
#, c-format
msgid "Downloaded %d out of %d waypoint..."
msgid_plural "Downloaded %d out of %d waypoints..."
msgstr[0] "%d útpont letöltve a(z) %d-ból..."
msgstr[1] "%d útpont letöltve a(z) %d-ból..."
-#: ../src/vikgpslayer.c:926
+#: ../src/vikgpslayer.c:976
#, c-format
msgid "Downloaded %d out of %d trackpoint..."
msgid_plural "Downloaded %d out of %d trackpoints..."
msgstr[0] "%d nyompont letöltve a(z) %d-ból..."
msgstr[1] "%d nyompont letöltve a(z) %d-ból..."
-#: ../src/vikgpslayer.c:927
+#: ../src/vikgpslayer.c:977
#, c-format
msgid "Downloaded %d out of %d routepoint..."
msgid_plural "Downloaded %d out of %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:932
+#: ../src/vikgpslayer.c:982
#, c-format
msgid "Uploaded %d out of %d waypoint..."
msgid_plural "Uploaded %d out of %d waypoints..."
msgstr[0] "%d útpont feltöltve a(z) %d-ból..."
msgstr[1] "%d útpont feltöltve a(z) %d-ból..."
-#: ../src/vikgpslayer.c:933
+#: ../src/vikgpslayer.c:983
#, c-format
msgid "Uploaded %d out of %d trackpoint..."
msgid_plural "Uploaded %d out of %d trackpoints..."
msgstr[0] "%d nyompont feltöltve a(z) %d-ból..."
msgstr[1] "%d nyompont feltöltve a(z) %d-ból..."
-#: ../src/vikgpslayer.c:934
+#: ../src/vikgpslayer.c:984
#, c-format
msgid "Uploaded %d out of %d routepoint..."
msgid_plural "Uploaded %d out of %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:942
+#: ../src/vikgpslayer.c:992
#, c-format
msgid "Downloaded %d waypoint"
msgid_plural "Downloaded %d waypoints"
msgstr[0] "%d útpont letöltve"
msgstr[1] "%d útpont letöltve"
-#: ../src/vikgpslayer.c:943
+#: ../src/vikgpslayer.c:993
#, c-format
msgid "Downloaded %d trackpoint"
msgid_plural "Downloaded %d trackpoints"
msgstr[0] "%d nyompont letöltve"
msgstr[1] "%d nyompont letöltve"
-#: ../src/vikgpslayer.c:944
+#: ../src/vikgpslayer.c:994
#, c-format
msgid "Downloaded %d routepoint"
msgid_plural "Downloaded %d routepoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:949
+#: ../src/vikgpslayer.c:999
#, c-format
msgid "Uploaded %d waypoint"
msgid_plural "Uploaded %d waypoints"
msgstr[0] "%d útpont feltöltve"
msgstr[1] "%d útpont feltöltve"
-#: ../src/vikgpslayer.c:950
+#: ../src/vikgpslayer.c:1000
#, c-format
msgid "Uploaded %d trackpoint"
msgid_plural "Uploaded %d trackpoints"
msgstr[0] "%d nyompont feltöltve"
msgstr[1] "%d nyompont feltöltve"
-#: ../src/vikgpslayer.c:951
+#: ../src/vikgpslayer.c:1001
#, c-format
msgid "Uploaded %d routepoint"
msgid_plural "Uploaded %d routepoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:1180
+#: ../src/vikgpslayer.c:1230
msgid "Error: couldn't find gpsbabel."
msgstr "Hiba: a gpsbabel nem található."
-#: ../src/vikgpslayer.c:1269
+#: ../src/vikgpslayer.c:1319
msgid "Warning - GPS Upload items may overwrite each other"
msgstr ""
-#: ../src/vikgpslayer.c:1301
+#: ../src/vikgpslayer.c:1351
msgid "Status: detecting gpsbabel"
msgstr "Állapot: gpsbabel detektálása"
-#: ../src/vikgpslayer.c:1332
+#: ../src/vikgpslayer.c:1386
msgid "No GPS items selected for transfer."
msgstr ""
-#: ../src/vikgpslayer.c:1347
+#: ../src/vikgpslayer.c:1401
msgid "Could not turn off device."
msgstr ""
-#: ../src/vikgpslayer.c:1385
+#: ../src/vikgpslayer.c:1439
msgid "Are you sure you want to delete GPS Upload data?"
msgstr ""
-#: ../src/vikgpslayer.c:1398
+#: ../src/vikgpslayer.c:1452
msgid "Are you sure you want to delete GPS Download data?"
msgstr ""
-#: ../src/vikgpslayer.c:1412
+#: ../src/vikgpslayer.c:1466
msgid "Are you sure you want to delete GPS Realtime data?"
msgstr ""
-#: ../src/vikgpslayer.c:1425
+#: ../src/vikgpslayer.c:1479
msgid "Are you sure you want to delete All GPS data?"
msgstr ""
-#: ../src/viklayerspanel.c:55
-msgid "/C_ut"
-msgstr "/_Kivágás"
+#: ../src/viklayerspanel.c:53
+msgid "C_ut"
+msgstr ""
-#: ../src/viklayerspanel.c:56
-msgid "/_Copy"
-msgstr "/_Másolás"
+#: ../src/viklayerspanel.c:54 ../src/vikwindow.c:3753
+msgid "_Copy"
+msgstr "_Másolás"
-#: ../src/viklayerspanel.c:57
-msgid "/_Paste"
-msgstr "/_Beillesztés"
+#: ../src/viklayerspanel.c:55 ../src/vikwindow.c:3754
+msgid "_Paste"
+msgstr "_Beillesztés"
-#: ../src/viklayerspanel.c:58
-msgid "/_Delete"
-msgstr "/_Törlés"
+#: ../src/viklayerspanel.c:56 ../src/vikwindow.c:3755
+msgid "_Delete"
+msgstr "_Törlés"
-#: ../src/viklayerspanel.c:59
-msgid "/New Layer"
-msgstr "/Új réteg"
+#: ../src/viklayerspanel.c:133
+msgid "New Layer"
+msgstr ""
-#: ../src/viklayerspanel.c:127
+#: ../src/viklayerspanel.c:178
msgid "Top Layer"
msgstr "Legfelső réteg"
-#: ../src/viklayerspanel.c:143
+#: ../src/viklayerspanel.c:194
msgid "Add new layer"
msgstr "Új réteg hozzáadása"
-#: ../src/viklayerspanel.c:150
+#: ../src/viklayerspanel.c:201
msgid "Remove selected layer"
msgstr "Kiválasztott réteg eltávolítása"
-#: ../src/viklayerspanel.c:157
+#: ../src/viklayerspanel.c:208
msgid "Move selected layer up"
msgstr "Kiválasztott réteg feljebb mozgatása"
-#: ../src/viklayerspanel.c:164
+#: ../src/viklayerspanel.c:215
msgid "Move selected layer down"
msgstr "Kiválasztott réteg lejjebb mozgatása"
-#: ../src/viklayerspanel.c:171
+#: ../src/viklayerspanel.c:222
msgid "Cut selected layer"
msgstr "Kiválasztott réteg kivágása"
-#: ../src/viklayerspanel.c:178
+#: ../src/viklayerspanel.c:229
msgid "Copy selected layer"
msgstr "Kiválasztott réteg másolása"
-#: ../src/viklayerspanel.c:185
-msgid "Paste layer below selected layer"
-msgstr "Réteg beillesztése a kiválasztott réteg alá"
+#: ../src/viklayerspanel.c:236
+msgid ""
+"Paste layer into selected container layer or otherwise above selected layer"
+msgstr ""
-#. TODO: FIXME: if name has a '/' in it it will get all messed up. why not have an itemfactory field with
-#. name, icon, shortcut, etc.?
-#: ../src/viklayerspanel.c:204 ../src/vikwindow.c:3292
-#, c-format
-msgid "New _%s Layer"
+#: ../src/viklayerspanel.c:300
+msgid "New name can not be blank."
msgstr ""
-#: ../src/viklayerspanel.c:511
+#: ../src/viklayerspanel.c:544
msgid "Aggregate Layers have no settable properties."
msgstr "A csoportosító rétegeknek nincs beállítható tulajdonsága."
-#: ../src/viklayerspanel.c:555
+#: ../src/viklayerspanel.c:588
msgid "You cannot cut the Top Layer."
msgstr "A legfelső réteg nem vágható ki."
-#: ../src/viklayerspanel.c:600
+#: ../src/viklayerspanel.c:633
#, c-format
msgid "Are you sure you want to delete %s?"
msgstr ""
-#: ../src/viklayerspanel.c:617
+#: ../src/viklayerspanel.c:650
msgid "You cannot delete the Top Layer."
msgstr "A legfelső réteg nem törölhető."
-#: ../src/viklayerspanel.c:701
+#: ../src/viklayerspanel.c:734
msgid "Are you sure you wish to delete all layers?"
msgstr "Biztosan törölni szeretné az összes réteget?"
#. ******* MAPZOOMS ********
-#: ../src/vikmapslayer.c:91
+#: ../src/vikmapslayer.c:80
msgid "Use Viking Zoom Level"
msgstr "Viking nagyítási szint használata"
@@ -1641,35 +1906,35 @@ msgid ""
"actual zoom level."
msgstr ""
-#: ../src/vikmapslayer.c:146
+#: ../src/vikmapslayer.c:156
msgid "_Maps Download"
msgstr ""
-#: ../src/vikmapslayer.c:146
+#: ../src/vikmapslayer.c:156
msgid "Maps Download"
msgstr "Térkép letöltése"
-#: ../src/vikmapslayer.c:161
+#: ../src/vikmapslayer.c:171
msgid "Map"
msgstr "Térkép"
-#: ../src/vikmapslayer.c:249
-msgid "Default maplayer directory:"
-msgstr "Alapértelmezett térképréteg könyvtára:"
+#: ../src/vikmapslayer.c:259
+msgid "Default map layer directory:"
+msgstr ""
-#: ../src/vikmapslayer.c:249
+#: ../src/vikmapslayer.c:259
msgid "Choose a directory to store cached Map tiles for this layer"
msgstr ""
-#: ../src/vikmapslayer.c:505
+#: ../src/vikmapslayer.c:523
msgid "Unknown map type"
msgstr "Ismeretlen térképtípus"
-#: ../src/vikmapslayer.c:516
+#: ../src/vikmapslayer.c:534
msgid "Unknown Map Zoom"
msgstr "Ismeretlen térképnagyítás"
-#: ../src/vikmapslayer.c:589
+#: ../src/vikmapslayer.c:624
#, c-format
msgid ""
"New map cannot be displayed in the current drawmode.\n"
@@ -1678,7 +1943,7 @@ msgstr ""
"Az új térkép nem jeleníthető meg a jelenlegi rajzolási módban.\n"
"Megtekintéséhez válassza a(z) \"%s\" módot a Nézet menüből."
-#: ../src/vikmapslayer.c:753
+#: ../src/vikmapslayer.c:798
#, c-format
msgid ""
"Cowardly refusing to draw tiles or existence of tiles beyond %d zoom out "
@@ -1687,28 +1952,28 @@ msgstr ""
"Gyáván megtagadta, hogy rajzoljon csempéket, vagy hogy létezik csempe %d "
"kicsinyítési tényezőn túl"
-#: ../src/vikmapslayer.c:1157
+#: ../src/vikmapslayer.c:1210
#, c-format
msgid "Redownloading up to %d %s map..."
msgid_plural "Redownloading up to %d %s maps..."
msgstr[0] "Legfeljebb %d %s térkép újbóli letöltése..."
msgstr[1] "Legfeljebb %d %s térkép újbóli letöltése..."
-#: ../src/vikmapslayer.c:1159
+#: ../src/vikmapslayer.c:1212
#, c-format
msgid "Redownloading %d %s map..."
msgid_plural "Redownloading %d %s maps..."
msgstr[0] "%d %s térkép újbóli letöltése..."
msgstr[1] "%d %s térkép újbóli letöltése..."
-#: ../src/vikmapslayer.c:1163 ../src/vikmapslayer.c:1238
+#: ../src/vikmapslayer.c:1216 ../src/vikmapslayer.c:1290
#, c-format
msgid "Downloading %d %s map..."
msgid_plural "Downloading %d %s maps..."
msgstr[0] "%d %s térkép letöltése..."
msgstr[1] "%d %s térkép letöltése..."
-#: ../src/vikmapslayer.c:1311
+#: ../src/vikmapslayer.c:1376
#, c-format
msgid ""
"\n"
@@ -1718,7 +1983,7 @@ msgid ""
"Tile File Timestamp: %s"
msgstr ""
-#: ../src/vikmapslayer.c:1318
+#: ../src/vikmapslayer.c:1380
#, c-format
msgid ""
"Source: %s\n"
@@ -1726,23 +1991,23 @@ msgid ""
"No Tile File!"
msgstr ""
-#: ../src/vikmapslayer.c:1356
+#: ../src/vikmapslayer.c:1418
msgid "Redownload _Bad Map(s)"
msgstr "_Rossz térkép(ek) újbóli letöltése"
-#: ../src/vikmapslayer.c:1360
+#: ../src/vikmapslayer.c:1422
msgid "Redownload _New Map(s)"
msgstr "Ú_j térkép(ek) újbóli letöltése"
-#: ../src/vikmapslayer.c:1364
+#: ../src/vikmapslayer.c:1426
msgid "Redownload _All Map(s)"
msgstr "Ö_sszes térkép újbóli letöltése"
-#: ../src/vikmapslayer.c:1368
+#: ../src/vikmapslayer.c:1430
msgid "_Show Tile Information"
msgstr ""
-#: ../src/vikmapslayer.c:1449
+#: ../src/vikmapslayer.c:1511
#, c-format
msgid ""
"Wrong drawmode for this map.\n"
@@ -1751,300 +2016,399 @@ msgstr ""
"Rossz rajzolási mód a térképhez.\n"
"Válassza a(z) \"%s\" módot a Nézet menüből, és próbálja újra."
-#: ../src/vikmapslayer.c:1454
+#: ../src/vikmapslayer.c:1516
msgid "Wrong zoom level for this map."
msgstr "Rossz nagyítási szint a térképhez."
+#: ../src/vikmapslayer.c:1647
+msgid "Zoom Start:"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1654
+msgid "Zoom End:"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1660
+msgid "Download Maps Method:"
+msgstr ""
+
+#. redownload method - needs to align with REDOWNLOAD* macro values
+#: ../src/vikmapslayer.c:1732
+msgid "Missing"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1732
+msgid "Bad"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1732
+msgid "New"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1732
+msgid "Reload All"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1734
+msgid "Download for Zoom Levels"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1774
+#, c-format
+msgid ""
+"You are not allowed to download more than %d tiles in one go (requested %d)"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1782
+#, c-format
+msgid "Do you really want to download %d tiles?"
+msgstr ""
+
#. Now with icons
-#: ../src/vikmapslayer.c:1485
+#: ../src/vikmapslayer.c:1807
msgid "Download _Missing Onscreen Maps"
msgstr "Képernyőről _hiányzó térképrészletek letöltése"
-#: ../src/vikmapslayer.c:1492
+#: ../src/vikmapslayer.c:1814
msgid "Download _New Onscreen Maps"
msgstr "Képernyőn lévő ú_j térképrészletek letöltése"
-#: ../src/vikmapslayer.c:1499
+#: ../src/vikmapslayer.c:1821
msgid "Reload _All Onscreen Maps"
msgstr "Képernyőn lévő ö_sszes térképrészlet újratöltése"
-#: ../src/viktreeview.c:263
+#: ../src/vikmapslayer.c:1827
+msgid "Download Maps in _Zoom Levels..."
+msgstr ""
+
+#: ../src/vikrouting.c:54
+msgid "Default engine:"
+msgstr ""
+
+#: ../src/viktreeview.c:316
msgid "Layer Name"
msgstr "Réteg neve"
-#: ../src/viktreeview.c:742
+#: ../src/viktreeview.c:851
#, c-format
msgid "delete data from %s\n"
msgstr "adatok törlése innen: %s\n"
-#: ../src/viktrwlayer.c:377
+#: ../src/viktrwlayer.c:398
msgid "Create _Waypoint"
msgstr ""
-#: ../src/viktrwlayer.c:377
+#: ../src/viktrwlayer.c:398
msgid "Create Waypoint"
msgstr "Útpont létrehozása"
-#: ../src/viktrwlayer.c:383
+#: ../src/viktrwlayer.c:404
msgid "Create _Track"
msgstr ""
-#: ../src/viktrwlayer.c:383
+#: ../src/viktrwlayer.c:404
msgid "Create Track"
msgstr "Nyomvonal létrehozása"
-#: ../src/viktrwlayer.c:392
+#: ../src/viktrwlayer.c:413
msgid "Create _Route"
msgstr ""
-#: ../src/viktrwlayer.c:392
+#: ../src/viktrwlayer.c:413
msgid "Create Route"
msgstr ""
-#: ../src/viktrwlayer.c:401
+#: ../src/viktrwlayer.c:422
msgid "_Edit Waypoint"
msgstr ""
-#: ../src/viktrwlayer.c:401
+#: ../src/viktrwlayer.c:422
msgid "Edit Waypoint"
msgstr "Útpont szerkesztése"
-#: ../src/viktrwlayer.c:409
+#: ../src/viktrwlayer.c:432
msgid "Edit Trac_kpoint"
msgstr ""
-#: ../src/viktrwlayer.c:409
+#: ../src/viktrwlayer.c:432
msgid "Edit Trackpoint"
msgstr "Nyompont szerkesztése"
-#: ../src/viktrwlayer.c:417
+#: ../src/viktrwlayer.c:442
msgid "Show P_icture"
msgstr ""
-#: ../src/viktrwlayer.c:417
+#: ../src/viktrwlayer.c:442
msgid "Show Picture"
msgstr "Kép megjelenítése"
-#: ../src/viktrwlayer.c:424
+#: ../src/viktrwlayer.c:448
msgid "Route _Finder"
msgstr ""
-#: ../src/viktrwlayer.c:424
+#: ../src/viktrwlayer.c:448
msgid "Route Finder"
msgstr ""
#. ***** PARAMETERS *****
-#: ../src/viktrwlayer.c:447 ../src/viktrwlayer.c:1942
-#: ../src/viktrwlayer.c:1944
+#: ../src/viktrwlayer.c:468 ../src/viktrwlayer.c:2324
msgid "Waypoints"
msgstr "Útpontok"
-#: ../src/viktrwlayer.c:447 ../src/viktrwlayer.c:1933
-#: ../src/viktrwlayer.c:1935
+#: ../src/viktrwlayer.c:468 ../src/viktrwlayer.c:2319
msgid "Tracks"
msgstr "Nyomvonalak"
-#: ../src/viktrwlayer.c:447
+#: ../src/viktrwlayer.c:468
msgid "Waypoint Images"
msgstr "Útpont képek"
-#: ../src/viktrwlayer.c:450
+#: ../src/viktrwlayer.c:468
+msgid "Tracks Advanced"
+msgstr ""
+
+#: ../src/viktrwlayer.c:471
msgid "Draw by Track"
msgstr "Rajzolás nyomvonal szerint"
-#: ../src/viktrwlayer.c:450
+#: ../src/viktrwlayer.c:471
msgid "Draw by Speed"
msgstr ""
-#: ../src/viktrwlayer.c:450
+#: ../src/viktrwlayer.c:471
msgid "All Tracks Same Color"
msgstr ""
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "Filled Square"
msgstr "Kitöltött négyzet"
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "Square"
msgstr "Négyzet"
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "Circle"
msgstr "Kör"
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "X"
msgstr "X"
-#: ../src/viktrwlayer.c:477
+#: ../src/viktrwlayer.c:498
msgid "Extra Extra Small"
msgstr ""
-#: ../src/viktrwlayer.c:478
+#: ../src/viktrwlayer.c:499
msgid "Extra Small"
msgstr ""
-#: ../src/viktrwlayer.c:479
+#: ../src/viktrwlayer.c:500
msgid "Small"
msgstr ""
-#: ../src/viktrwlayer.c:480
+#: ../src/viktrwlayer.c:501
msgid "Medium"
msgstr ""
-#: ../src/viktrwlayer.c:481
+#: ../src/viktrwlayer.c:502
msgid "Large"
msgstr ""
-#: ../src/viktrwlayer.c:482
+#: ../src/viktrwlayer.c:503
msgid "Extra Large"
msgstr ""
-#: ../src/viktrwlayer.c:483
+#: ../src/viktrwlayer.c:504
msgid "Extra Extra Large"
msgstr ""
-#: ../src/viktrwlayer.c:491
+#: ../src/viktrwlayer.c:510
+msgid "Name Ascending"
+msgstr ""
+
+#: ../src/viktrwlayer.c:511
+msgid "Name Descending"
+msgstr ""
+
+#: ../src/viktrwlayer.c:552 ../src/viktrwlayer.c:576
+msgid "Draw Labels"
+msgstr "Címkék rajzolása"
+
+#: ../src/viktrwlayer.c:553
+msgid "Note: the individual track controls what labels may be displayed"
+msgstr ""
+
+#: ../src/viktrwlayer.c:554
+msgid "Track Labels Font Size:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:555
msgid "Track Drawing Mode:"
msgstr "Nyomvonal rajzolási módja:"
-#: ../src/viktrwlayer.c:492
+#: ../src/viktrwlayer.c:556
msgid "All Tracks Color:"
msgstr ""
-#: ../src/viktrwlayer.c:493
+#: ../src/viktrwlayer.c:557
msgid "The color used when 'All Tracks Same Color' drawing mode is selected"
msgstr ""
-#: ../src/viktrwlayer.c:494
+#: ../src/viktrwlayer.c:558
msgid "Draw Track Lines"
msgstr "Nyomvonal vonalainak rajzolása"
-#: ../src/viktrwlayer.c:495
+#: ../src/viktrwlayer.c:559
msgid "Track Thickness:"
msgstr "Nyomvonal vastagsága:"
-#: ../src/viktrwlayer.c:496
+#: ../src/viktrwlayer.c:560
msgid "Draw Track Direction"
msgstr ""
-#: ../src/viktrwlayer.c:497
+#: ../src/viktrwlayer.c:561
msgid "Direction Size:"
msgstr ""
-#: ../src/viktrwlayer.c:498
+#: ../src/viktrwlayer.c:562
msgid "Draw Trackpoints"
msgstr "Nyompontok rajzolása"
-#: ../src/viktrwlayer.c:499
+#: ../src/viktrwlayer.c:563
msgid "Trackpoint Size:"
msgstr ""
-#: ../src/viktrwlayer.c:500
+#: ../src/viktrwlayer.c:564
msgid "Draw Elevation"
msgstr "Magasság rajzolása"
-#: ../src/viktrwlayer.c:501
+#: ../src/viktrwlayer.c:565
msgid "Draw Elevation Height %:"
msgstr "Magasság rajzolása %:"
-#: ../src/viktrwlayer.c:503
+#: ../src/viktrwlayer.c:566
msgid "Draw Stops"
msgstr "Rajzolás megállítása"
-#: ../src/viktrwlayer.c:504
+#: ../src/viktrwlayer.c:567
msgid ""
"Whether to draw a marker when trackpoints are at the same position but over "
"the minimum stop length apart in time"
msgstr ""
-#: ../src/viktrwlayer.c:505
+#: ../src/viktrwlayer.c:568
msgid "Min Stop Length (seconds):"
msgstr "Minimális megállítási hossz (másodperc):"
-#: ../src/viktrwlayer.c:507
+#: ../src/viktrwlayer.c:570
msgid "Track BG Thickness:"
msgstr "Nyomvonal hátterének vastagsága"
-#: ../src/viktrwlayer.c:508
+#: ../src/viktrwlayer.c:571
msgid "Track Background Color"
msgstr "Nyomvonal háttérszíne"
-#: ../src/viktrwlayer.c:509
+#: ../src/viktrwlayer.c:572
msgid "Draw by Speed Factor (%):"
msgstr ""
-#: ../src/viktrwlayer.c:510
+#: ../src/viktrwlayer.c:573
msgid ""
"The percentage factor away from the average speed determining the color used"
msgstr ""
-#: ../src/viktrwlayer.c:512
-msgid "Draw Labels"
-msgstr "Címkék rajzolása"
+#: ../src/viktrwlayer.c:574
+msgid "Track Sort Order:"
+msgstr ""
-#: ../src/viktrwlayer.c:513
+#: ../src/viktrwlayer.c:577
msgid "Waypoint Font Size:"
msgstr ""
-#: ../src/viktrwlayer.c:514
+#: ../src/viktrwlayer.c:578
msgid "Waypoint Color:"
msgstr "Útpont színe:"
-#: ../src/viktrwlayer.c:515
+#: ../src/viktrwlayer.c:579
msgid "Waypoint Text:"
msgstr "Útpont szövege:"
-#: ../src/viktrwlayer.c:516
+#: ../src/viktrwlayer.c:580
msgid "Background:"
msgstr "Háttér:"
-#: ../src/viktrwlayer.c:517
+#: ../src/viktrwlayer.c:581
msgid "Fake BG Color Translucency:"
msgstr "Hamis háttérszín-átlátszóság:"
-#: ../src/viktrwlayer.c:518
+#: ../src/viktrwlayer.c:582
msgid "Waypoint marker:"
msgstr "Útpont-jelölő:"
-#: ../src/viktrwlayer.c:519
+#: ../src/viktrwlayer.c:583
msgid "Waypoint size:"
msgstr "Útpont mérete:"
-#: ../src/viktrwlayer.c:520
+#: ../src/viktrwlayer.c:584
msgid "Draw Waypoint Symbols:"
msgstr "Útpont-szimbólumok rajzolása"
-#: ../src/viktrwlayer.c:522
+#: ../src/viktrwlayer.c:585
+msgid "Waypoint Sort Order:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:587
msgid "Draw Waypoint Images"
msgstr "Útpont-képek rajzolása"
-#: ../src/viktrwlayer.c:523
+#: ../src/viktrwlayer.c:588
msgid "Image Size (pixels):"
msgstr "Képméret (képpont):"
-#: ../src/viktrwlayer.c:524
+#: ../src/viktrwlayer.c:589
msgid "Image Alpha:"
msgstr "Kép alfa:"
-#: ../src/viktrwlayer.c:525
+#: ../src/viktrwlayer.c:590
msgid "Image Memory Cache Size:"
msgstr "Képmemória-gyorsítótár mérete:"
-#: ../src/viktrwlayer.c:610
+#: ../src/viktrwlayer.c:678
msgid "TrackWaypoint"
msgstr ""
-#: ../src/viktrwlayer.c:1951 ../src/viktrwlayer.c:1953
+#: ../src/viktrwlayer.c:1534 ../src/vikutils.c:204
+msgid "miles"
+msgstr ""
+
+#. VIK_UNITS_DISTANCE_KILOMETRES:
+#: ../src/viktrwlayer.c:1538 ../src/vikutils.c:209
+msgid "km"
+msgstr ""
+
+#: ../src/viktrwlayer.c:1648
+msgid "start/end"
+msgstr ""
+
+#: ../src/viktrwlayer.c:1660
+msgid "start"
+msgstr ""
+
+#: ../src/viktrwlayer.c:1669
+msgid "end"
+msgstr ""
+
+#: ../src/viktrwlayer.c:2329
msgid "Routes"
msgstr ""
-#: ../src/viktrwlayer.c:2144
+#: ../src/viktrwlayer.c:2519
#, c-format
msgid " in %d:%02d hrs:mins"
msgstr " ezen belül: %d:%02d óra:perc"
-#: ../src/viktrwlayer.c:2148
+#: ../src/viktrwlayer.c:2523
#, c-format
msgid ""
"\n"
@@ -2053,1136 +2417,1614 @@ msgstr ""
"\n"
"%sTeljes hossz %.1f %s%s"
-#: ../src/viktrwlayer.c:2154
+#: ../src/viktrwlayer.c:2529
#, c-format
msgid "Tracks: %d - Waypoints: %d - Routes: %d%s"
msgstr ""
-#: ../src/viktrwlayer.c:2174
+#: ../src/viktrwlayer.c:2549
#, c-format
msgid "Tracks: %d"
msgstr ""
-#: ../src/viktrwlayer.c:2184
+#: ../src/viktrwlayer.c:2559
#, c-format
msgid "Routes: %d"
msgstr ""
-#: ../src/viktrwlayer.c:2215
+#: ../src/viktrwlayer.c:2590
#, c-format
msgid "- %d:%02d hrs:mins"
msgstr "- %d:%02d óra:perc"
-#: ../src/viktrwlayer.c:2223
+#: ../src/viktrwlayer.c:2598
#, c-format
msgid "%s%.1f km %s"
msgstr "%s%.1f km %s"
-#: ../src/viktrwlayer.c:2226
+#: ../src/viktrwlayer.c:2601
#, c-format
msgid "%s%.1f miles %s"
msgstr "%s%.1f mérföld %s"
-#: ../src/viktrwlayer.c:2240
+#: ../src/viktrwlayer.c:2615
#, c-format
msgid "Waypoints: %d"
msgstr ""
-#: ../src/viktrwlayer.c:2266
-#, c-format
-msgid "Trkpt: Alt %dft"
-msgstr ""
-
-#. VIK_UNITS_HEIGHT_METRES:
-#: ../src/viktrwlayer.c:2270
-#, c-format
-msgid "Trkpt: Alt %dm"
-msgstr ""
-
-#. Compact date time format
-#: ../src/viktrwlayer.c:2277
-#, c-format
-msgid " | Time %x %X"
-msgstr ""
-
-#: ../src/viktrwlayer.c:2295
-#, c-format
-msgid " | Track: %s"
-msgstr ""
-
-#. Combine parts to make overall message
-#: ../src/viktrwlayer.c:2299
-#, c-format
-msgid "%s%s | %s %s %s"
-msgstr ""
-
-#: ../src/viktrwlayer.c:2314
+#: ../src/viktrwlayer.c:2671
#, c-format
msgid "Wpt: Alt %dft"
msgstr ""
#. VIK_UNITS_HEIGHT_METRES:
-#: ../src/viktrwlayer.c:2318
+#: ../src/viktrwlayer.c:2675
#, c-format
msgid "Wpt: Alt %dm"
msgstr ""
#. Add comment if available
-#: ../src/viktrwlayer.c:2333
+#: ../src/viktrwlayer.c:2690
#, c-format
msgid "%s | %s %s | Comment: %s"
msgstr ""
-#: ../src/viktrwlayer.c:2335
+#: ../src/viktrwlayer.c:2692
#, c-format
msgid "%s | %s %s"
msgstr ""
-#: ../src/viktrwlayer.c:2563 ../src/viktrwlayer.c:2634
+#: ../src/viktrwlayer.c:2939 ../src/viktrwlayer.c:3010
msgid "This layer has no waypoints or trackpoints."
msgstr "Ez a réteg nem tartalmaz útpontot vagy nyompontot."
-#: ../src/viktrwlayer.c:2661 ../src/vikwindow.c:2407 ../src/vikwindow.c:2848
+#: ../src/viktrwlayer.c:3045 ../src/vikwindow.c:2754 ../src/vikwindow.c:3407
#, c-format
msgid "The file \"%s\" exists, do you wish to overwrite it?"
msgstr "A(z) \"%s\" fájl már létezik. Kívánja felülírni?"
-#: ../src/viktrwlayer.c:2671 ../src/vikwindow.c:2429
+#: ../src/viktrwlayer.c:3057 ../src/vikwindow.c:2778
msgid "The filename you requested could not be opened for writing."
msgstr "A megadott fájlnév nem nyitható meg olvasásra."
-#: ../src/viktrwlayer.c:2676 ../src/viktrwlayer.c:2681
-#: ../src/viktrwlayer.c:2691 ../src/viktrwlayer.c:2703
+#: ../src/viktrwlayer.c:3062 ../src/viktrwlayer.c:3067
+#: ../src/viktrwlayer.c:3077 ../src/viktrwlayer.c:3089
msgid "Export Layer"
msgstr "Réteg exportálása"
-#: ../src/viktrwlayer.c:2720
+#: ../src/viktrwlayer.c:3108
msgid "Could not create temporary file for export."
msgstr ""
-#: ../src/viktrwlayer.c:2729
+#: ../src/viktrwlayer.c:3117
#, c-format
msgid "Could not launch %s."
msgstr ""
-#: ../src/viktrwlayer.c:2773
+#: ../src/viktrwlayer.c:3161
msgid "Export Track as GPX"
msgstr "Nyomvonal exportálása GPX-be"
-#: ../src/viktrwlayer.c:2795
+#: ../src/viktrwlayer.c:3183
msgid "Find"
msgstr "Keresés"
-#: ../src/viktrwlayer.c:2805
+#: ../src/viktrwlayer.c:3193
msgid "Waypoint Name:"
msgstr "Útpont neve:"
-#: ../src/viktrwlayer.c:2822
+#: ../src/viktrwlayer.c:3210
msgid "Waypoint not found in this layer."
msgstr "Nem található útpont ezen a rétegen."
-#: ../src/viktrwlayer.c:3090
+#: ../src/viktrwlayer.c:3476
msgid "Can not upload invisible track."
msgstr ""
-#: ../src/viktrwlayer.c:3192 ../src/viktrwlayer.c:7785
+#: ../src/viktrwlayer.c:3581 ../src/viktrwlayer.c:9283
msgid "Track"
msgstr "Nyomvonal"
-#: ../src/viktrwlayer.c:3215 ../src/viktrwlayer.c:7817
+#: ../src/viktrwlayer.c:3606 ../src/viktrwlayer.c:9316
msgid "Route"
msgstr ""
-#: ../src/viktrwlayer.c:3296 ../src/viktrwlayer.c:6265
-#: ../src/viktrwlayer.c:6314
+#: ../src/viktrwlayer.c:3691 ../src/viktrwlayer.c:7460
+#: ../src/viktrwlayer.c:7566
msgid "_Finish Route"
msgstr ""
-#: ../src/viktrwlayer.c:3298 ../src/viktrwlayer.c:6223
-#: ../src/viktrwlayer.c:6312
+#: ../src/viktrwlayer.c:3693 ../src/viktrwlayer.c:7383
+#: ../src/viktrwlayer.c:7564
msgid "_Finish Track"
msgstr ""
#. Now with icons
-#: ../src/viktrwlayer.c:3310
+#: ../src/viktrwlayer.c:3705
msgid "_View Layer"
msgstr "_Réteg megjelenítése"
-#: ../src/viktrwlayer.c:3317
+#: ../src/viktrwlayer.c:3712
msgid "V_iew"
msgstr ""
-#: ../src/viktrwlayer.c:3323
+#: ../src/viktrwlayer.c:3718
msgid "View All _Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:3328
+#: ../src/viktrwlayer.c:3723
msgid "View All _Routes"
msgstr ""
-#: ../src/viktrwlayer.c:3333
+#: ../src/viktrwlayer.c:3728
msgid "View All _Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:3338
+#: ../src/viktrwlayer.c:3733
msgid "_Goto Center of Layer"
msgstr "_Ugrás a réteg közepére"
-#: ../src/viktrwlayer.c:3344 ../src/viktrwlayer.c:6199
+#: ../src/viktrwlayer.c:3739 ../src/viktrwlayer.c:7335
msgid "Goto _Waypoint..."
msgstr ""
-#: ../src/viktrwlayer.c:3350
+#: ../src/viktrwlayer.c:3745
msgid "_Export Layer"
msgstr "Réteg _exportálása"
-#: ../src/viktrwlayer.c:3356
+#: ../src/viktrwlayer.c:3751
msgid "Export as GPS_Point..."
msgstr ""
-#: ../src/viktrwlayer.c:3361
+#: ../src/viktrwlayer.c:3756
msgid "Export as GPS_Mapper..."
msgstr ""
-#: ../src/viktrwlayer.c:3366
+#: ../src/viktrwlayer.c:3761
msgid "Export as _GPX..."
msgstr ""
-#: ../src/viktrwlayer.c:3371
+#: ../src/viktrwlayer.c:3766
msgid "Export as _KML..."
msgstr ""
-#: ../src/viktrwlayer.c:3376
+#: ../src/viktrwlayer.c:3771
msgid "Open with External Program_1: "
msgstr ""
-#: ../src/viktrwlayer.c:3383
+#: ../src/viktrwlayer.c:3778
msgid "Open with External Program_2: "
msgstr ""
-#: ../src/viktrwlayer.c:3391 ../src/vikwindow.c:3145
+#: ../src/viktrwlayer.c:3786 ../src/vikwindow.c:3704
msgid "_New"
msgstr "Ú_j"
-#: ../src/viktrwlayer.c:3397
+#: ../src/viktrwlayer.c:3792
msgid "New _Waypoint..."
msgstr ""
-#: ../src/viktrwlayer.c:3403
+#: ../src/viktrwlayer.c:3798
msgid "New _Track"
msgstr ""
-#: ../src/viktrwlayer.c:3411
+#: ../src/viktrwlayer.c:3806
msgid "New _Route"
msgstr ""
-#: ../src/viktrwlayer.c:3420 ../src/viktrwlayer.c:6597
+#: ../src/viktrwlayer.c:3815 ../src/viktrwlayer.c:7938
msgid "Geotag _Images..."
msgstr ""
-#: ../src/viktrwlayer.c:3427
+#: ../src/viktrwlayer.c:3822
msgid "_Acquire"
msgstr ""
-#: ../src/viktrwlayer.c:3433 ../src/vikwindow.c:3150
+#: ../src/viktrwlayer.c:3828 ../src/vikwindow.c:3711
msgid "From _GPS..."
msgstr "_GPS-ről..."
-#: ../src/viktrwlayer.c:3439
-msgid "From Google _Directions..."
+#. FIXME: only add menu when at least a routing engine has support for Directions
+#: ../src/viktrwlayer.c:3834
+msgid "From _Directions..."
msgstr ""
-#: ../src/viktrwlayer.c:3446
+#: ../src/viktrwlayer.c:3840
msgid "From _OSM Traces..."
msgstr ""
-#: ../src/viktrwlayer.c:3451
+#: ../src/viktrwlayer.c:3845
msgid "From _My OSM Traces..."
msgstr ""
-#: ../src/viktrwlayer.c:3459 ../src/vikwindow.c:3166
+#: ../src/viktrwlayer.c:3853 ../src/vikwindow.c:3725
msgid "From _Wikipedia Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:3465
+#: ../src/viktrwlayer.c:3859
msgid "Within _Layer Bounds"
msgstr "_Réteg határain belül"
-#: ../src/viktrwlayer.c:3471
+#: ../src/viktrwlayer.c:3865
msgid "Within _Current View"
msgstr "_Jelenlegi nézeten belül"
-#: ../src/viktrwlayer.c:3479
+#: ../src/viktrwlayer.c:3873
msgid "From Geo_caching..."
msgstr ""
-#: ../src/viktrwlayer.c:3486 ../src/vikwindow.c:3163
+#: ../src/viktrwlayer.c:3880 ../src/vikwindow.c:3722
msgid "From Geotagged _Images..."
msgstr ""
-#: ../src/viktrwlayer.c:3492
+#: ../src/viktrwlayer.c:3886
msgid "From _File..."
msgstr ""
-#: ../src/viktrwlayer.c:3498 ../src/viktrwlayer.c:6542
+#: ../src/viktrwlayer.c:3894 ../src/viktrwlayer.c:7883
msgid "_Upload"
msgstr ""
-#: ../src/viktrwlayer.c:3504
+#: ../src/viktrwlayer.c:3900
msgid "Upload to _GPS..."
msgstr ""
-#: ../src/viktrwlayer.c:3511 ../src/viktrwlayer.c:6570
+#: ../src/viktrwlayer.c:3907 ../src/viktrwlayer.c:7911
msgid "Upload to _OSM..."
msgstr ""
-#: ../src/viktrwlayer.c:3519
+#: ../src/viktrwlayer.c:3915
msgid "De_lete"
msgstr ""
-#: ../src/viktrwlayer.c:3525
+#: ../src/viktrwlayer.c:3921
msgid "Delete All _Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:3531
+#: ../src/viktrwlayer.c:3927
msgid "Delete Tracks _From Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:3537 ../src/viktrwlayer.c:6290
+#: ../src/viktrwlayer.c:3933 ../src/viktrwlayer.c:7485
msgid "Delete _All Routes"
msgstr ""
-#: ../src/viktrwlayer.c:3543 ../src/viktrwlayer.c:6296
+#: ../src/viktrwlayer.c:3939 ../src/viktrwlayer.c:7491
msgid "_Delete Routes From Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:3549
+#: ../src/viktrwlayer.c:3945
msgid "Delete All _Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:3555
+#: ../src/viktrwlayer.c:3951
msgid "Delete Waypoints From _Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:4128
+#: ../src/viktrwlayer.c:4574
#, c-format
msgid "Are you sure you want to delete all tracks in %s?"
msgstr ""
-#: ../src/viktrwlayer.c:4138
+#: ../src/viktrwlayer.c:4584
#, c-format
msgid "Are you sure you want to delete all routes in %s?"
msgstr ""
-#: ../src/viktrwlayer.c:4148
+#: ../src/viktrwlayer.c:4594
#, c-format
msgid "Are you sure you want to delete all waypoints in %s?"
msgstr ""
-#: ../src/viktrwlayer.c:4165
+#: ../src/viktrwlayer.c:4611
#, c-format
-msgid "Are you sure you want to delete the waypoint \"%s\""
+msgid "Are you sure you want to delete the waypoint \"%s\"?"
msgstr ""
-#: ../src/viktrwlayer.c:4178
+#: ../src/viktrwlayer.c:4624
#, c-format
-msgid "Are you sure you want to delete the track \"%s\""
+msgid "Are you sure you want to delete the track \"%s\"?"
msgstr ""
-#: ../src/viktrwlayer.c:4191
+#: ../src/viktrwlayer.c:4637
#, c-format
-msgid "Are you sure you want to delete the route \"%s\""
+msgid "Are you sure you want to delete the route \"%s\"?"
msgstr ""
-#: ../src/viktrwlayer.c:4351 ../src/viktrwlayer.c:4922
+#: ../src/viktrwlayer.c:4849 ../src/viktrwlayer.c:5677
msgid ""
"Converting a track to a route removes extra track data such as segments, "
"timestamps, etc...\n"
"Do you want to continue?"
msgstr ""
-#: ../src/viktrwlayer.c:4711
+#: ../src/viktrwlayer.c:4944
+msgid "No DEM layers available, thus no DEM values can be applied."
+msgstr ""
+
+#: ../src/viktrwlayer.c:4964 ../src/viktrwlayer.c:5005
+#, c-format
+msgid "%ld point adjusted"
+msgid_plural "%ld points adjusted"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/viktrwlayer.c:5049
+#, c-format
+msgid "%ld waypoint changed"
+msgid_plural "%ld waypoints changed"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/viktrwlayer.c:5233
+#, c-format
+msgid ""
+"Refining a track with many points (%d) is unlikely to yield sensible "
+"results. Do you want to Continue?"
+msgstr ""
+
+#. Select engine from dialog
+#: ../src/viktrwlayer.c:5241
+msgid "Refine Route with Routing Engine..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:5249
+msgid "Select routing engine"
+msgstr ""
+
+#: ../src/viktrwlayer.c:5467
msgid "Failed. No other tracks with timestamps in this layer found"
msgstr ""
-#: ../src/viktrwlayer.c:4713
+#: ../src/viktrwlayer.c:5469
msgid "Failed. No other tracks without timestamps in this layer found"
msgstr ""
-#: ../src/viktrwlayer.c:4732
+#: ../src/viktrwlayer.c:5488
msgid "Merge with..."
msgstr "Egyesítés..."
-#: ../src/viktrwlayer.c:4733
+#: ../src/viktrwlayer.c:5489
msgid "Select route to merge with"
msgstr ""
-#: ../src/viktrwlayer.c:4733
+#: ../src/viktrwlayer.c:5489
msgid "Select track to merge with"
msgstr "Nyomvonal kiválasztása az egyesítéshez"
-#: ../src/viktrwlayer.c:4818 ../src/viktrwlayer.c:4895
+#: ../src/viktrwlayer.c:5573 ../src/viktrwlayer.c:5650
msgid "Append Route"
msgstr ""
-#: ../src/viktrwlayer.c:4818 ../src/viktrwlayer.c:4895
+#: ../src/viktrwlayer.c:5573 ../src/viktrwlayer.c:5650
msgid "Append Track"
msgstr ""
-#: ../src/viktrwlayer.c:4819
+#: ../src/viktrwlayer.c:5574
msgid "Select the route to append after the current route"
msgstr ""
-#: ../src/viktrwlayer.c:4820
+#: ../src/viktrwlayer.c:5575
msgid "Select the track to append after the current track"
msgstr ""
-#: ../src/viktrwlayer.c:4896
+#: ../src/viktrwlayer.c:5651
msgid "Select the track to append after the current route"
msgstr ""
-#: ../src/viktrwlayer.c:4897
+#: ../src/viktrwlayer.c:5652
msgid "Select the route to append after the current track"
msgstr ""
-#: ../src/viktrwlayer.c:4957
+#: ../src/viktrwlayer.c:5711
#, c-format
msgid "%d segment merged"
msgid_plural "%d segments merged"
msgstr[0] ""
msgstr[1] ""
-#: ../src/viktrwlayer.c:4973
+#: ../src/viktrwlayer.c:5727
msgid "Failed. This track does not have timestamp"
msgstr "Sikertelen. Ez a nyomvonal nem tartalmaz időbélyeget"
-#: ../src/viktrwlayer.c:4985
+#: ../src/viktrwlayer.c:5739
msgid "Failed. No other track in this layer has timestamp"
msgstr ""
"Sikertelen. Nincs más nyomvonal ezen a rétegen, amely tartalmaz időbélyeget"
-#: ../src/viktrwlayer.c:4992
+#: ../src/viktrwlayer.c:5746
msgid "Merge Threshold..."
msgstr "Egyesítési küszöb..."
-#: ../src/viktrwlayer.c:4993
+#: ../src/viktrwlayer.c:5747
msgid "Merge when time between tracks less than:"
msgstr "Egyesítés, ha az időeltérés a nyomvonalak között kevesebb mint:"
-#: ../src/viktrwlayer.c:5128
+#: ../src/viktrwlayer.c:5889
msgid "Split Threshold..."
msgstr "Vágási küszöb..."
-#: ../src/viktrwlayer.c:5129
+#: ../src/viktrwlayer.c:5890
msgid "Split when time between trackpoints exceeds:"
msgstr "Kettévágás, ha az időeltérés a nyompontok között meghaladja:"
-#: ../src/viktrwlayer.c:5205
+#: ../src/viktrwlayer.c:5907
+#, c-format
+msgid ""
+"Can not split track due to trackpoints not ordered in time - such as at %s.\n"
+"\n"
+"Goto this trackpoint?"
+msgstr ""
+
+#: ../src/viktrwlayer.c:5976
msgid "Split Every Nth Point"
msgstr "Kettévágás minden x-edik pontnál"
-#: ../src/viktrwlayer.c:5206
+#: ../src/viktrwlayer.c:5977
msgid "Split on every Nth point:"
msgstr "Kettévágás minden x-edik pontnál:"
-#: ../src/viktrwlayer.c:5312
+#: ../src/viktrwlayer.c:6087
msgid "Can not split track as it has no segments"
msgstr ""
-#: ../src/viktrwlayer.c:5340 ../src/viktrwlayer.c:5370
+#: ../src/viktrwlayer.c:6169 ../src/viktrwlayer.c:6199
#, c-format
msgid "Deleted %ld point"
msgid_plural "Deleted %ld points"
msgstr[0] ""
msgstr[1] ""
-#: ../src/viktrwlayer.c:5531
+#: ../src/viktrwlayer.c:6392
msgid "Internal Error in vik_trw_layer_uniquify_tracks"
msgstr ""
-#: ../src/viktrwlayer.c:5588 ../src/viktrwlayer.c:5635
-#: ../src/viktrwlayer.c:5814
+#: ../src/viktrwlayer.c:6496 ../src/viktrwlayer.c:6543
+#: ../src/viktrwlayer.c:6704
msgid ""
"Multiple entries with the same name exist. This method only works with "
"unique names. Force unique names now?"
msgstr ""
-#: ../src/viktrwlayer.c:5599
+#: ../src/viktrwlayer.c:6507
msgid "No tracks found"
msgstr ""
-#: ../src/viktrwlayer.c:5607 ../src/viktrwlayer.c:5654
-#: ../src/viktrwlayer.c:5834
+#: ../src/viktrwlayer.c:6515 ../src/viktrwlayer.c:6562
+#: ../src/viktrwlayer.c:6724
msgid "Delete Selection"
msgstr ""
-#: ../src/viktrwlayer.c:5608
+#: ../src/viktrwlayer.c:6516
msgid "Select tracks to delete"
msgstr ""
-#: ../src/viktrwlayer.c:5646
+#: ../src/viktrwlayer.c:6554
msgid "No routes found"
msgstr ""
-#: ../src/viktrwlayer.c:5655
+#: ../src/viktrwlayer.c:6563
msgid "Select routes to delete"
msgstr ""
-#: ../src/viktrwlayer.c:5761
+#: ../src/viktrwlayer.c:6669
msgid "Internal Error in vik_trw_layer_uniquify_waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:5824
+#: ../src/viktrwlayer.c:6714
msgid "No waypoints found"
msgstr ""
-#: ../src/viktrwlayer.c:5835
+#: ../src/viktrwlayer.c:6725
msgid "Select waypoints to delete"
msgstr ""
-#: ../src/viktrwlayer.c:5896
+#: ../src/viktrwlayer.c:7033
#, c-format
msgid ""
"A waypoint with the name \"%s\" already exists. Really rename to the same "
"name?"
msgstr ""
-#: ../src/viktrwlayer.c:5926
+#: ../src/viktrwlayer.c:7063
#, c-format
msgid ""
"A track with the name \"%s\" already exists. Really rename to the same name?"
msgstr ""
-#: ../src/viktrwlayer.c:5963
+#: ../src/viktrwlayer.c:7100
#, c-format
msgid ""
"A route with the name \"%s\" already exists. Really rename to the same name?"
msgstr ""
-#: ../src/viktrwlayer.c:6085 ../src/viktrwlayer.c:6337
+#: ../src/viktrwlayer.c:7221 ../src/viktrwlayer.c:7594
msgid "_Goto"
msgstr "_Ugrás"
-#: ../src/viktrwlayer.c:6104
+#: ../src/viktrwlayer.c:7240
msgid "_Visit Geocache Webpage"
msgstr "Geocache weboldal _meglátogatása"
-#: ../src/viktrwlayer.c:6123
+#: ../src/viktrwlayer.c:7259
msgid "_Show Picture..."
msgstr ""
-#: ../src/viktrwlayer.c:6131
+#: ../src/viktrwlayer.c:7267
msgid "Update Geotag on _Image"
msgstr ""
-#: ../src/viktrwlayer.c:6137
+#: ../src/viktrwlayer.c:7273
msgid "_Update"
msgstr ""
-#: ../src/viktrwlayer.c:6142
+#: ../src/viktrwlayer.c:7278
msgid "Update and _Keep File Timestamp"
msgstr ""
-#: ../src/viktrwlayer.c:6153
+#: ../src/viktrwlayer.c:7289
msgid "Visit _Webpage"
msgstr ""
-#: ../src/viktrwlayer.c:6184
+#: ../src/viktrwlayer.c:7320
msgid "_New Waypoint..."
msgstr ""
-#: ../src/viktrwlayer.c:6193
+#: ../src/viktrwlayer.c:7329
msgid "_View All Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:6205
+#: ../src/viktrwlayer.c:7341
msgid "Delete _All Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:6211
+#: ../src/viktrwlayer.c:7347
msgid "_Delete Waypoints From Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:6233
+#: ../src/viktrwlayer.c:7359
+msgid "_Show All Waypoints"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7365
+msgid "_Hide All Waypoints"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7393
msgid "_View All Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:6239
+#: ../src/viktrwlayer.c:7399
msgid "_New Track"
msgstr ""
-#: ../src/viktrwlayer.c:6247
+#: ../src/viktrwlayer.c:7407
msgid "Delete _All Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:6253
+#: ../src/viktrwlayer.c:7413
msgid "_Delete Tracks From Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:6276
+#: ../src/viktrwlayer.c:7425
+msgid "_Show All Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7431
+msgid "_Hide All Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7442
+msgid "_List Tracks..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7471
msgid "_View All Routes"
msgstr ""
-#: ../src/viktrwlayer.c:6282
+#: ../src/viktrwlayer.c:7477
msgid "_New Route"
msgstr ""
-#: ../src/viktrwlayer.c:6327
+#: ../src/viktrwlayer.c:7503
+msgid "_Show All Routes"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7509
+msgid "_Hide All Routes"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7520
+msgid "_List Routes..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7579
msgid "_View Track"
msgstr "_Nyomvonal megjelenítése"
-#: ../src/viktrwlayer.c:6329
+#: ../src/viktrwlayer.c:7581
msgid "_View Route"
msgstr ""
-#: ../src/viktrwlayer.c:6343
+#: ../src/viktrwlayer.c:7600
msgid "_Startpoint"
msgstr "_Kezdőpont"
-#: ../src/viktrwlayer.c:6349
+#: ../src/viktrwlayer.c:7606
msgid "\"_Center\""
msgstr "\"_Középpont\""
-#: ../src/viktrwlayer.c:6355
+#: ../src/viktrwlayer.c:7612
msgid "_Endpoint"
msgstr "_Végpont"
-#: ../src/viktrwlayer.c:6361
+#: ../src/viktrwlayer.c:7618
msgid "_Highest Altitude"
msgstr "_Legnagyobb magasság"
-#: ../src/viktrwlayer.c:6367
+#: ../src/viktrwlayer.c:7624
msgid "_Lowest Altitude"
msgstr "L_egalacsonyabb magasság"
-#: ../src/viktrwlayer.c:6375
+#: ../src/viktrwlayer.c:7632
msgid "_Maximum Speed"
msgstr "_Maximális sebesség"
-#: ../src/viktrwlayer.c:6384
+#: ../src/viktrwlayer.c:7641
msgid "Co_mbine"
msgstr ""
-#: ../src/viktrwlayer.c:6392
+#: ../src/viktrwlayer.c:7649
msgid "_Merge By Time..."
msgstr ""
-#: ../src/viktrwlayer.c:6397
+#: ../src/viktrwlayer.c:7654
msgid "Merge _Segments"
msgstr ""
-#: ../src/viktrwlayer.c:6403
+#: ../src/viktrwlayer.c:7660
msgid "Merge _With Other Tracks..."
msgstr "Egyesítés _más nyomvonalakkal..."
-#: ../src/viktrwlayer.c:6409
+#: ../src/viktrwlayer.c:7666
msgid "_Append Track..."
msgstr ""
-#: ../src/viktrwlayer.c:6411
+#: ../src/viktrwlayer.c:7668
msgid "_Append Route..."
msgstr ""
-#: ../src/viktrwlayer.c:6417
+#: ../src/viktrwlayer.c:7674
msgid "Append _Route..."
msgstr ""
-#: ../src/viktrwlayer.c:6419
+#: ../src/viktrwlayer.c:7676
msgid "Append _Track..."
msgstr ""
-#: ../src/viktrwlayer.c:6426
+#: ../src/viktrwlayer.c:7683
msgid "_Split"
msgstr ""
-#: ../src/viktrwlayer.c:6434
+#: ../src/viktrwlayer.c:7691
msgid "_Split By Time..."
msgstr ""
#. ATM always enable this entry - don't want to have to analyse the track before displaying the menu - to keep the menu speedy
-#: ../src/viktrwlayer.c:6440
+#: ../src/viktrwlayer.c:7697
msgid "Split Se_gments"
msgstr ""
-#: ../src/viktrwlayer.c:6446
+#: ../src/viktrwlayer.c:7703
msgid "Split By _Number of Points..."
msgstr ""
-#: ../src/viktrwlayer.c:6451
+#: ../src/viktrwlayer.c:7708
msgid "Split at _Trackpoint"
msgstr ""
-#: ../src/viktrwlayer.c:6460
+#: ../src/viktrwlayer.c:7716
+msgid "_Insert Points"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7722
+msgid "Insert Point _Before Selected Point"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7729
+msgid "Insert Point _After Selected Point"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7738
msgid "Delete Poi_nts"
msgstr ""
-#: ../src/viktrwlayer.c:6466
+#: ../src/viktrwlayer.c:7744
+msgid "Delete _Selected Point"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7752
msgid "Delete Points With The Same _Position"
msgstr ""
-#: ../src/viktrwlayer.c:6471
+#: ../src/viktrwlayer.c:7757
msgid "Delete Points With The Same _Time"
msgstr ""
-#: ../src/viktrwlayer.c:6477
+#: ../src/viktrwlayer.c:7764 ../src/viktrwlayer.c:7964
+msgid "_Transform"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7772 ../src/viktrwlayer.c:7972
+msgid "_Apply DEM Data"
+msgstr "DEM adatok _alkalmazása"
+
+#: ../src/viktrwlayer.c:7777 ../src/viktrwlayer.c:7977
+msgid "_Overwrite"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7780 ../src/viktrwlayer.c:7980
+msgid "Overwrite any existing elevation values with DEM values"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7783 ../src/viktrwlayer.c:7983
+msgid "_Keep Existing"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7786 ../src/viktrwlayer.c:7986
+msgid "Keep existing elevation values, only attempt for missing values"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7791
+msgid "_Smooth Missing Elevation Data"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7796
+msgid "_Interpolated"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7799
+msgid ""
+"Interpolate between known elevation values to derive values for the missing "
+"elevations"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7802
+msgid "_Flat"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7805
+msgid "Set unknown elevation values to the last known value"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7809
+msgid "C_onvert to a Route"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7811
+msgid "C_onvert to a Track"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7819
+msgid "_Anonymize Times"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7822
+msgid "Shift timestamps to a relative offset from 1901-01-01"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7827
msgid "_Reverse Track"
msgstr ""
-#: ../src/viktrwlayer.c:6479
+#: ../src/viktrwlayer.c:7829
msgid "_Reverse Route"
msgstr ""
-#: ../src/viktrwlayer.c:6488
+#: ../src/viktrwlayer.c:7836
+msgid "Refine Route..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7846
msgid "Down_load Maps Along Track..."
msgstr "Térképek le_töltése a nyomvonal mentén..."
-#: ../src/viktrwlayer.c:6490
+#: ../src/viktrwlayer.c:7848
msgid "Down_load Maps Along Route..."
msgstr ""
-#: ../src/viktrwlayer.c:6497
-msgid "_Apply DEM Data"
-msgstr "DEM adatok _alkalmazása"
-
-#: ../src/viktrwlayer.c:6504
+#: ../src/viktrwlayer.c:7856
msgid "_Export Track as GPX..."
msgstr ""
-#: ../src/viktrwlayer.c:6506
+#: ../src/viktrwlayer.c:7858
msgid "_Export Route as GPX..."
msgstr ""
-#: ../src/viktrwlayer.c:6513
+#: ../src/viktrwlayer.c:7865
msgid "E_xtend Track End"
msgstr "Nyomvonal végének ki_bővítése"
-#: ../src/viktrwlayer.c:6515
+#: ../src/viktrwlayer.c:7867
msgid "E_xtend Route End"
msgstr ""
-#: ../src/viktrwlayer.c:6522
-msgid "C_onvert to a Route"
-msgstr ""
-
-#: ../src/viktrwlayer.c:6524
-msgid "C_onvert to a Track"
-msgstr ""
-
-#: ../src/viktrwlayer.c:6532
+#: ../src/viktrwlayer.c:7874
msgid "Extend _Using Route Finder"
msgstr ""
-#: ../src/viktrwlayer.c:6548
+#: ../src/viktrwlayer.c:7889
msgid "_Upload to GPS..."
msgstr ""
-#: ../src/viktrwlayer.c:6559
+#: ../src/viktrwlayer.c:7900
msgid "_View Google Directions"
msgstr "Google útvonaltervező _megjelenítése"
-#: ../src/viktrwlayer.c:6579
+#: ../src/viktrwlayer.c:7920
msgid "Use with _Filter"
msgstr "Használat _szűrővel"
-#: ../src/viktrwlayer.c:6612
+#: ../src/viktrwlayer.c:7953
msgid "_Edit Trackpoint"
msgstr ""
-#: ../src/viktrwlayer.c:7524
+#: ../src/viktrwlayer.c:9017
#, c-format
msgid " - Gain %dm:Loss %dm"
msgstr ""
-#: ../src/viktrwlayer.c:7526
+#: ../src/viktrwlayer.c:9019
#, c-format
msgid " - Gain %dft:Loss %dft"
msgstr ""
-#: ../src/viktrwlayer.c:7531
+#: ../src/viktrwlayer.c:9024
#, c-format
msgid " - Bearing %3.1f° - Step %s"
msgstr ""
-#: ../src/viktrwlayer.c:8124
+#: ../src/viktrwlayer.c:9628
#, c-format
msgid "Could not launch %s to open file."
msgstr ""
-#: ../src/viktrwlayer.c:8205
+#: ../src/viktrwlayer.c:9709
#, c-format
msgid "Creating %d Image Thumbnails..."
msgstr "%d kép-miniatűr létrehozása..."
-#: ../src/viktrwlayer.c:8524
+#: ../src/viktrwlayer.c:10106
msgid "No map layer in use. Create one first"
msgstr "Nincs térképréteg használatban. Először hozzon létre egyet"
-#: ../src/viktrwlayer_propwin.c:898 ../src/viktrwlayer_propwin.c:1155
+#: ../src/viktrwlayer.c:10225
+#, c-format
+msgid "%s: Track List"
+msgstr ""
+
+#: ../src/viktrwlayer.c:10227
+#, c-format
+msgid "%s: Route List"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:828 ../src/viktrwlayer_propwin.c:1085
#, c-format
msgid "%.1f kph"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:901 ../src/viktrwlayer_propwin.c:1158
+#: ../src/viktrwlayer_propwin.c:831 ../src/viktrwlayer_propwin.c:1088
+#: ../src/viktrwlayer_analysis.c:290
#, c-format
msgid "%.1f mph"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:904 ../src/viktrwlayer_propwin.c:1161
+#: ../src/viktrwlayer_propwin.c:834 ../src/viktrwlayer_propwin.c:1091
#, c-format
msgid "%.1f knots"
msgstr ""
#. VIK_UNITS_SPEED_METRES_PER_SECOND:
-#: ../src/viktrwlayer_propwin.c:908 ../src/viktrwlayer_propwin.c:1165
+#: ../src/viktrwlayer_propwin.c:838 ../src/viktrwlayer_propwin.c:1095
#, c-format
msgid "%.1f m/s"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:1745
+#: ../src/viktrwlayer_propwin.c:1662 ../src/viktrwlayer_analysis.c:267
#, c-format
msgid "%.1f miles"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:1747
+#. VIK_UNITS_DISTANCE_KILOMETRES
+#: ../src/viktrwlayer_propwin.c:1664 ../src/viktrwlayer_analysis.c:271
#, c-format
msgid "%.1f km"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2681
+#: ../src/viktrwlayer_propwin.c:2582
msgid "Failed spliting track. Track unchanged"
msgstr "Nyomvonal kettévágása sikertelen. A nyomvonal nem módosult"
-#: ../src/viktrwlayer_propwin.c:2779 ../src/viktrwlayer_propwin.c:3178
+#: ../src/viktrwlayer_propwin.c:2724 ../src/viktrwlayer_propwin.c:3140
#, c-format
msgid "%s - Track Properties"
msgstr "%s - Nyomvonal tulajdonságai"
-#: ../src/viktrwlayer_propwin.c:2784
+#: ../src/viktrwlayer_propwin.c:2729
msgid "Split at _Marker"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2785
+#: ../src/viktrwlayer_propwin.c:2730
msgid "Split _Segments"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2786
+#: ../src/viktrwlayer_propwin.c:2731
msgid "_Reverse"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2787
+#: ../src/viktrwlayer_propwin.c:2732
msgid "_Delete Dupl."
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2813
+#: ../src/viktrwlayer_propwin.c:2757
msgid "<b>Comment:</b>"
msgstr "<b>Megjegyzés:</b>"
-#: ../src/viktrwlayer_propwin.c:2814
+#: ../src/viktrwlayer_propwin.c:2758
msgid "<b>Description:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2815
+#: ../src/viktrwlayer_propwin.c:2759
+msgid "<b>Color:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2760
+msgid "<b>Draw Name:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2761
+msgid "<b>Distance Labels:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2764
msgid "<b>Track Length:</b>"
msgstr "<b>Nyomvonal hossza:</b>"
-#: ../src/viktrwlayer_propwin.c:2816
+#: ../src/viktrwlayer_propwin.c:2765
msgid "<b>Trackpoints:</b>"
msgstr "<b>Nyompontok:</b>"
-#: ../src/viktrwlayer_propwin.c:2817
+#: ../src/viktrwlayer_propwin.c:2766
msgid "<b>Segments:</b>"
msgstr "<b>Szakaszok:</b>"
-#: ../src/viktrwlayer_propwin.c:2818
+#: ../src/viktrwlayer_propwin.c:2767
msgid "<b>Duplicate Points:</b>"
msgstr "<b>Kettőzött pontok:</b>"
-#: ../src/viktrwlayer_propwin.c:2819
+#: ../src/viktrwlayer_propwin.c:2768
msgid "<b>Max Speed:</b>"
msgstr "<b>Max. sebesség:</b>"
-#: ../src/viktrwlayer_propwin.c:2820
+#: ../src/viktrwlayer_propwin.c:2769
msgid "<b>Avg. Speed:</b>"
msgstr "<b>Átlagsebesség:</b>"
-#: ../src/viktrwlayer_propwin.c:2821
+#: ../src/viktrwlayer_propwin.c:2770
msgid "<b>Moving Avg. Speed:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2822
+#: ../src/viktrwlayer_propwin.c:2771
msgid "<b>Avg. Dist. Between TPs:</b>"
msgstr "<b>Átlagos távolság nyompontok között:</b>"
-#: ../src/viktrwlayer_propwin.c:2823
+#: ../src/viktrwlayer_propwin.c:2772
msgid "<b>Elevation Range:</b>"
msgstr "<b>Magassági szintkülönbség:</b>"
-#: ../src/viktrwlayer_propwin.c:2824
+#: ../src/viktrwlayer_propwin.c:2773
msgid "<b>Total Elevation Gain/Loss:</b>"
msgstr "<b>Teljes magassági szintnyereség/-veszteség:</b>"
-#: ../src/viktrwlayer_propwin.c:2825
+#: ../src/viktrwlayer_propwin.c:2774
msgid "<b>Start:</b>"
msgstr "<b>Kezdet:</b>"
-#: ../src/viktrwlayer_propwin.c:2826
+#: ../src/viktrwlayer_propwin.c:2775
msgid "<b>End:</b>"
msgstr "<b>Vége:</b>"
-#: ../src/viktrwlayer_propwin.c:2827
+#: ../src/viktrwlayer_propwin.c:2776
msgid "<b>Duration:</b>"
msgstr "<b>Időtartam:</b>"
-#: ../src/viktrwlayer_propwin.c:2828
-msgid "<b>Color:</b>"
+#: ../src/viktrwlayer_propwin.c:2797
+msgid "No"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2798
+msgid "Centre"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2799
+msgid "Start only"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2877 ../src/viktrwlayer_propwin.c:2901
-#: ../src/viktrwlayer_propwin.c:2929 ../src/viktrwlayer_propwin.c:2966
-#: ../src/viktrwlayer_propwin.c:2984 ../src/viktrwlayer_propwin.c:3034
-#: ../src/viktrwlayer_propwin.c:3035 ../src/viktrwlayer_propwin.c:3036
-#: ../src/viktrwlayer_propwin.c:3062 ../src/viktrwlayer_propwin.c:3063
+#: ../src/viktrwlayer_propwin.c:2800
+msgid "End only"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2801
+msgid "Start and End"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2802
+msgid "Centre, Start and End"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2814
+msgid "Maximum number of distance labels to be shown"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2818
+msgid "Properties"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2856 ../src/viktrwlayer_propwin.c:2880
+#: ../src/viktrwlayer_propwin.c:2908 ../src/viktrwlayer_propwin.c:2945
+#: ../src/viktrwlayer_propwin.c:2963 ../src/viktrwlayer_propwin.c:3009
+#: ../src/viktrwlayer_propwin.c:3010 ../src/viktrwlayer_propwin.c:3011
+#: ../src/viktrwlayer_propwin.c:3020 ../src/viktrwlayer_propwin.c:3021
+#: ../src/viktrwlayer_propwin.c:3036 ../src/viktrwlayer_propwin.c:3037
+#: ../src/viktrwlayer_propwin.c:3050 ../src/viktrwlayer_propwin.c:3051
+#: ../src/viktrwlayer_propwin.c:3064 ../src/viktrwlayer_propwin.c:3065
#: ../src/viktrwlayer_propwin.c:3078 ../src/viktrwlayer_propwin.c:3079
#: ../src/viktrwlayer_propwin.c:3092 ../src/viktrwlayer_propwin.c:3093
-#: ../src/viktrwlayer_propwin.c:3106 ../src/viktrwlayer_propwin.c:3107
-#: ../src/viktrwlayer_propwin.c:3120 ../src/viktrwlayer_propwin.c:3121
-#: ../src/viktrwlayer_propwin.c:3134 ../src/viktrwlayer_propwin.c:3135
+#: ../src/viktrwlayer_analysis.c:257
#, c-format
msgid "No Data"
msgstr "Nincs adat"
-#: ../src/viktrwlayer_propwin.c:3031
+#: ../src/viktrwlayer_propwin.c:3006
#, c-format
msgid "%d minutes"
msgstr "%d perc"
-#: ../src/viktrwlayer_propwin.c:3058
+#: ../src/viktrwlayer_propwin.c:3016 ../src/viktrwlayer_analysis.c:515
msgid "Statistics"
msgstr "Statisztika"
-#: ../src/viktrwlayer_propwin.c:3064
+#: ../src/viktrwlayer_propwin.c:3022
msgid "Show D_EM"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3065 ../src/viktrwlayer_propwin.c:3080
-#: ../src/viktrwlayer_propwin.c:3094 ../src/viktrwlayer_propwin.c:3136
+#: ../src/viktrwlayer_propwin.c:3023 ../src/viktrwlayer_propwin.c:3038
+#: ../src/viktrwlayer_propwin.c:3052 ../src/viktrwlayer_propwin.c:3094
msgid "Show _GPS Speed"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3067 ../src/viktrwlayer_propwin.c:3082
-#: ../src/viktrwlayer_propwin.c:3110 ../src/viktrwlayer_propwin.c:3138
+#: ../src/viktrwlayer_propwin.c:3025 ../src/viktrwlayer_propwin.c:3040
+#: ../src/viktrwlayer_propwin.c:3068 ../src/viktrwlayer_propwin.c:3096
msgid "<b>Track Distance:</b>"
msgstr "<b>Nyomvonal távolsága:</b>"
-#: ../src/viktrwlayer_propwin.c:3068 ../src/viktrwlayer_propwin.c:3125
+#: ../src/viktrwlayer_propwin.c:3026 ../src/viktrwlayer_propwin.c:3083
msgid "<b>Track Height:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3073
+#: ../src/viktrwlayer_propwin.c:3031
msgid "Elevation-distance"
msgstr "Magasság-távolság"
-#: ../src/viktrwlayer_propwin.c:3083
+#: ../src/viktrwlayer_propwin.c:3041
msgid "<b>Track Gradient:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3087
+#: ../src/viktrwlayer_propwin.c:3045
msgid "Gradient-distance"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3096 ../src/viktrwlayer_propwin.c:3111
-#: ../src/viktrwlayer_propwin.c:3124
+#: ../src/viktrwlayer_propwin.c:3054 ../src/viktrwlayer_propwin.c:3069
+#: ../src/viktrwlayer_propwin.c:3082
msgid "<b>Track Time:</b>"
msgstr "<b>Nyomvonal időtartama:</b>"
-#: ../src/viktrwlayer_propwin.c:3097 ../src/viktrwlayer_propwin.c:3139
+#: ../src/viktrwlayer_propwin.c:3055 ../src/viktrwlayer_propwin.c:3097
msgid "<b>Track Speed:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3101
+#: ../src/viktrwlayer_propwin.c:3059
msgid "Speed-time"
msgstr "Sebesség-idő"
-#: ../src/viktrwlayer_propwin.c:3108 ../src/viktrwlayer_propwin.c:3122
+#: ../src/viktrwlayer_propwin.c:3066 ../src/viktrwlayer_propwin.c:3080
msgid "Show S_peed"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3115
+#: ../src/viktrwlayer_propwin.c:3073
msgid "Distance-time"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3129
+#: ../src/viktrwlayer_propwin.c:3087
msgid "Elevation-time"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3143
+#: ../src/viktrwlayer_propwin.c:3101
msgid "Speed-distance"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:118
+#: ../src/viktrwlayer_tpwin.c:119
msgid "<b>Part of Track:</b>"
msgstr "<b>Nyomvonal része:</b>"
-#: ../src/viktrwlayer_tpwin.c:119
+#: ../src/viktrwlayer_tpwin.c:120
msgid "<b>Latitude:</b>"
msgstr "<b>Földrajzi szélesség:</b>"
-#: ../src/viktrwlayer_tpwin.c:120
+#: ../src/viktrwlayer_tpwin.c:121
msgid "<b>Longitude:</b>"
msgstr "<b>Földrajzi hosszúság:</b>"
-#: ../src/viktrwlayer_tpwin.c:121
+#: ../src/viktrwlayer_tpwin.c:122
msgid "<b>Altitude:</b>"
msgstr "<b>Tengerszint feletti magasság:</b>"
-#: ../src/viktrwlayer_tpwin.c:122
+#: ../src/viktrwlayer_tpwin.c:123
+msgid "<b>Course:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_tpwin.c:124
msgid "<b>Timestamp:</b>"
msgstr "<b>Időbélyeg:</b>"
-#: ../src/viktrwlayer_tpwin.c:123
+#: ../src/viktrwlayer_tpwin.c:125
msgid "<b>Time:</b>"
msgstr "<b>Idő:</b>"
-#: ../src/viktrwlayer_tpwin.c:124
+#: ../src/viktrwlayer_tpwin.c:126
msgid "<b>Distance Difference:</b>"
msgstr "<b>Távolság eltérése:</b>"
-#: ../src/viktrwlayer_tpwin.c:125
+#: ../src/viktrwlayer_tpwin.c:127
msgid "<b>Time Difference:</b>"
msgstr "<b>Idő eltérése:</b>"
-#: ../src/viktrwlayer_tpwin.c:126
+#: ../src/viktrwlayer_tpwin.c:128
msgid "<b>\"Speed\" Between:</b>"
msgstr "<b>\"Sebesség\" közötte:</b>"
-#: ../src/viktrwlayer_tpwin.c:127
+#: ../src/viktrwlayer_tpwin.c:129
+msgid "<b>Speed:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_tpwin.c:130
msgid "<b>VDOP:</b>"
msgstr "<b>VDOP:</b>"
-#: ../src/viktrwlayer_tpwin.c:128
+#: ../src/viktrwlayer_tpwin.c:131
msgid "<b>HDOP:</b>"
msgstr "<b>HDOP:</b>"
-#: ../src/viktrwlayer_tpwin.c:129
+#: ../src/viktrwlayer_tpwin.c:132
msgid "<b>PDOP:</b>"
msgstr "<b>PDOP:</b>"
-#: ../src/viktrwlayer_tpwin.c:130
+#: ../src/viktrwlayer_tpwin.c:133
msgid "<b>SAT/FIX:</b>"
msgstr "<b>SAT/FIX:</b>"
-#: ../src/viktrwlayer_tpwin.c:139
+#: ../src/viktrwlayer_tpwin.c:141
msgid "Trackpoint"
msgstr "Nyompont"
-#: ../src/viktrwlayer_tpwin.c:142
+#: ../src/viktrwlayer_tpwin.c:144
msgid "_Insert After"
msgstr "_Beszúrás utána"
-#: ../src/viktrwlayer_tpwin.c:144
+#: ../src/viktrwlayer_tpwin.c:146
msgid "Split Here"
msgstr "Kettévágás itt"
-#: ../src/viktrwlayer_geotag.c:446
+#.
+#. item = gtk_image_menu_item_new_with_mnemonic ( _("_Select") );
+#. gtk_image_menu_item_set_image ( (GtkImageMenuItem*)item, gtk_image_new_from_stock (GTK_STOCK_FIND, GTK_ICON_SIZE_MENU) );
+#. g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(trw_layer_track_select), values );
+#. gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
+#. gtk_widget_show ( item );
+#.
+#. ATM view auto selects, so don't bother with separate select menu entry
+#: ../src/viktrwlayer_tracklist.c:231 ../src/vikwindow.c:3695
+msgid "_View"
+msgstr "_Nézet"
+
+#. Insert column for the layer name when viewing multi layers
+#: ../src/viktrwlayer_tracklist.c:514
+msgid "Layer"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:526
+msgid "Date"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:529
+msgid "Visible"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:536
+msgid ""
+"Distance\n"
+"(miles)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:539
+msgid ""
+"Distance\n"
+"(km)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:545
+msgid ""
+"Length\n"
+"(minutes)"
+msgstr ""
+
+#. VIK_UNITS_SPEED_KILOMETRES_PER_HOUR:
+#: ../src/viktrwlayer_tracklist.c:549 ../src/vikutils.c:72
+msgid "km/h"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:550 ../src/vikutils.c:62
+msgid "mph"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:551 ../src/vikutils.c:68
+msgid "knots"
+msgstr ""
+
+#. VIK_UNITS_SPEED_METRES_PER_SECOND:
+#: ../src/viktrwlayer_tracklist.c:553 ../src/vikutils.c:65
+msgid "m/s"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:556
+#, c-format
+msgid ""
+"Av. Speed\n"
+"(%s)"
+msgstr ""
+
+#. Apply own formatting of the data
+#: ../src/viktrwlayer_tracklist.c:561
+#, c-format
+msgid ""
+"Max Speed\n"
+"(%s)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:569
+msgid ""
+"Max Height\n"
+"(Feet)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:571
+msgid ""
+"Max Height\n"
+"(Metres)"
+msgstr ""
+
+#: ../src/viktrwlayer_geotag.c:481
#, c-format
msgid "Geotagging %d Images..."
msgstr ""
-#: ../src/viktrwlayer_geotag.c:510
+#: ../src/viktrwlayer_geotag.c:545
msgid "Geotag Images"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:516
+#: ../src/viktrwlayer_geotag.c:551
msgid "Images"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:520
+#: ../src/viktrwlayer_geotag.c:555
msgid "Overwrite Existing Waypoints:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:523
+#: ../src/viktrwlayer_geotag.c:558
msgid "Overwrite Existing GPS Information:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:525
+#: ../src/viktrwlayer_geotag.c:560
msgid "Keep File Modification Timestamp:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:555
+#: ../src/viktrwlayer_geotag.c:592
msgid "Create Waypoints:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:563
+#: ../src/viktrwlayer_geotag.c:600
msgid "Write EXIF:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:575
+#: ../src/viktrwlayer_geotag.c:612
msgid "Interpolate Between Track Segments:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:579
+#: ../src/viktrwlayer_geotag.c:616
msgid "Image Time Offset (Seconds):"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:581
+#: ../src/viktrwlayer_geotag.c:618
msgid ""
"The number of seconds to ADD to the photos time to make it match the GPS "
"data. Calculate this with (GPS - Photo). Can be negative or positive. Useful "
"to adjust times when a camera's timestamp was incorrect."
msgstr ""
-#: ../src/viktrwlayer_geotag.c:584
+#: ../src/viktrwlayer_geotag.c:621
msgid "Image Timezone:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:586
+#: ../src/viktrwlayer_geotag.c:623
msgid ""
"The timezone that was used when the images were created. For example, if a "
"camera is set to AWST or +8:00 hours. Enter +8:00 here so that the correct "
"adjustment to the images' time can be made. GPS data is always in UTC."
msgstr ""
-#: ../src/viktrwlayer_geotag.c:590
+#: ../src/viktrwlayer_geotag.c:627
#, c-format
msgid "Using track: %s"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:592
+#: ../src/viktrwlayer_geotag.c:629
#, c-format
msgid "Using all tracks in: %s"
msgstr ""
-#: ../src/vikstatus.c:105
+#: ../src/viktrwlayer_analysis.c:193
+msgid "Number of Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:194
+msgid "Date Range"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:195
+msgid "Total Length"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:196
+msgid "Average Length"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:197
+msgid "Max Speed"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:198
+msgid "Avg. Speed"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:199
+msgid "Minimum Altitude"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:200
+msgid "Maximum Altitude"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:201
+msgid "Total Elevation Gain/Loss"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:202
+msgid "Avg. Elevation Gain/Loss"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:203
+msgid "Total Duration"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:204
+msgid "Avg. Duration"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:278
+#, c-format
+msgid "%.2f miles"
+msgstr ""
+
+#. VIK_UNITS_DISTANCE_KILOMETRES
+#: ../src/viktrwlayer_analysis.c:282
+#, c-format
+msgid "%.2f km"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:297
+#, c-format
+msgid "%.2f m/s"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:306
+#, c-format
+msgid "%.2f knots\n"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:309
+#, c-format
+msgid "%.2f knots"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:316 ../src/viktrwlayer_analysis.c:319
+#, c-format
+msgid "%.2f km/h"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:330 ../src/viktrwlayer_analysis.c:336
+#, c-format
+msgid "%d feet"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:341 ../src/viktrwlayer_analysis.c:343
+#, c-format
+msgid "%d feet / %d feet"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:348 ../src/viktrwlayer_analysis.c:354
+#, c-format
+msgid "%d m"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:359 ../src/viktrwlayer_analysis.c:361
+#, c-format
+msgid "%d m / %d m"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:373
+#, c-format
+msgid "%d:%02d:%02d days:hrs:mins"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:380
+#, c-format
+msgid "%d:%02d hrs:mins"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:550
+msgid "Include Invisible Items"
+msgstr ""
+
+#: ../src/vikstatus.c:107
+msgid "Current number of background tasks. Click to see the background jobs."
+msgstr ""
+
+#: ../src/vikstatus.c:113
msgid "Current zoom level. Click to select a new one."
msgstr ""
-#: ../src/vikwaypoint.c:34
+#: ../src/vikutils.c:80
+msgid "GPSD"
+msgstr ""
+
+#. GPS Preamble
+#: ../src/vikutils.c:81
+msgid "Trkpt"
+msgstr ""
+
+#: ../src/vikutils.c:121
+#, c-format
+msgid "%sSpeed%s %.1f%s"
+msgstr ""
+
+#: ../src/vikutils.c:130
+#, c-format
+msgid "%sAlt %dfeet"
+msgstr ""
+
+#. VIK_UNITS_HEIGHT_METRES:
+#: ../src/vikutils.c:134
+#, c-format
+msgid "%sAlt %dm"
+msgstr ""
+
+#: ../src/vikutils.c:142
+#, c-format
+msgid "%sCourse %03d°"
+msgstr ""
+
+#: ../src/vikutils.c:155
+msgid "yards"
+msgstr ""
+
+#. VIK_UNITS_DISTANCE_KILOMETRES:
+#: ../src/vikutils.c:159
+msgid "m"
+msgstr ""
+
+#: ../src/vikutils.c:163
+#, c-format
+msgid "%sDistance diff %d%s"
+msgstr ""
+
+#: ../src/vikutils.c:179
+#, c-format
+msgid "%sTime %s"
+msgstr ""
+
+#: ../src/vikutils.c:187
+#, c-format
+msgid "%sTime diff %lds"
+msgstr ""
+
+#: ../src/vikutils.c:193
+#, c-format
+msgid "%sNo. of Sats %d"
+msgstr ""
+
+#: ../src/vikutils.c:213
+#, c-format
+msgid "%sDistance along %.2f%s"
+msgstr ""
+
+#. Name of track
+#: ../src/vikutils.c:232
+#, c-format
+msgid "%sTrack: %s"
+msgstr ""
+
+#: ../src/vikwaypoint.c:36
msgid "Waypoint"
msgstr ""
#. TODO get rid of this as this is unnecessary duplication...
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Pan"
msgstr "Elmozdítás"
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Zoom"
msgstr "Nagyítás"
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Ruler"
msgstr "Vonalzó"
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Select"
msgstr ""
+#: ../src/vikwindow.c:381
+msgid "Location lookup aborted"
+msgstr ""
+
+#: ../src/vikwindow.c:401
+#, c-format
+msgid "Location found: %s"
+msgstr ""
+
+#: ../src/vikwindow.c:410
+msgid "Unable to determine location"
+msgstr ""
+
+#: ../src/vikwindow.c:434
+msgid "Default Map"
+msgstr ""
+
+#: ../src/vikwindow.c:444
+msgid "Trying to determine location..."
+msgstr ""
+
+#: ../src/vikwindow.c:447
+msgid "Determining location"
+msgstr ""
+
#. Create tooltip
-#: ../src/vikwindow.c:440
+#: ../src/vikwindow.c:605
msgid "Select zoom level"
msgstr ""
-#: ../src/vikwindow.c:645
+#: ../src/vikwindow.c:923
#, c-format
msgid ""
"Do you want to save the changes you made to the document \"%s\"?\n"
@@ -3193,171 +4035,230 @@ msgstr ""
"\n"
"Módosításai elvesznek, ha nem menti el azokat."
-#: ../src/vikwindow.c:649
+#: ../src/vikwindow.c:927
msgid "Don't Save"
msgstr "Ne mentse"
-#: ../src/vikwindow.c:696
+#: ../src/vikwindow.c:1005
msgid "mpp"
msgstr "mpp"
-#: ../src/vikwindow.c:696
+#: ../src/vikwindow.c:1005
msgid "pixelfact"
msgstr "pixelfact"
-#: ../src/vikwindow.c:861
+#: ../src/vikwindow.c:1169
#, c-format
msgid "%s %s %dm"
msgstr "%s %s %dm"
-#: ../src/vikwindow.c:863
+#: ../src/vikwindow.c:1171
#, c-format
msgid "%s %s %dft"
msgstr "%s %s %dft"
-#: ../src/vikwindow.c:866
+#: ../src/vikwindow.c:1174
#, c-format
msgid "%s %s"
msgstr "%s %s"
#. NB Ctrl+Shift+R is used for Refresh (deemed more important), so use 'U' instead
-#: ../src/vikwindow.c:1254
+#: ../src/vikwindow.c:1562
msgid "_Ruler"
msgstr "_Vonalzó"
-#: ../src/vikwindow.c:1254
+#: ../src/vikwindow.c:1562
msgid "Ruler Tool"
msgstr "Vonalzó eszköz"
-#: ../src/vikwindow.c:1502 ../src/vikwindow.c:3138
+#: ../src/vikwindow.c:1810 ../src/vikwindow.c:3697
msgid "_Zoom"
msgstr "Na_gyítási szint"
-#: ../src/vikwindow.c:1502
+#: ../src/vikwindow.c:1810
msgid "Zoom Tool"
msgstr "Nagyító eszköz"
-#: ../src/vikwindow.c:1547 ../src/vikwindow.c:3139
+#: ../src/vikwindow.c:1855 ../src/vikwindow.c:3698
msgid "_Pan"
msgstr "_Mozgatás"
-#: ../src/vikwindow.c:1547
+#: ../src/vikwindow.c:1855
msgid "Pan Tool"
msgstr "Mozgató eszköz"
-#: ../src/vikwindow.c:1664
+#: ../src/vikwindow.c:1972
msgid "_Select"
msgstr ""
-#: ../src/vikwindow.c:1664
+#: ../src/vikwindow.c:1972
msgid "Select Tool"
msgstr ""
-#: ../src/vikwindow.c:1809
+#: ../src/vikwindow.c:2123
msgid "You must select a layer to show its properties."
msgstr "Ki kell választania egy réteget tulajdonságai megtekintéséhez."
#. No error to show, so unlikely this will get called
-#: ../src/vikwindow.c:1824
+#: ../src/vikwindow.c:2137
msgid "The help system is not available."
msgstr ""
#. Main error path
-#: ../src/vikwindow.c:1827
+#: ../src/vikwindow.c:2140
#, c-format
msgid ""
"Help is not available because: %s.\n"
"Ensure a Mime Type ghelp handler program is installed (e.g. yelp)."
msgstr ""
-#: ../src/vikwindow.c:1850
+#: ../src/vikwindow.c:2160
msgid "You must select a layer to delete."
msgstr "A törléshez ki kell választania egy réteget"
-#: ../src/vikwindow.c:2087
+#: ../src/vikwindow.c:2396
msgid "Untitled"
msgstr "Névtelen"
-#: ../src/vikwindow.c:2194
+#: ../src/vikwindow.c:2503
#, c-format
msgid "Unable to add '%s' to the list of recently used documents"
msgstr ""
"A(z) \"%s\" nem adható hozzá a legutóbb megnyitott dokumentumok listájához."
-#: ../src/vikwindow.c:2208
+#: ../src/vikwindow.c:2540
msgid "The file you requested could not be opened."
msgstr "A megadott fájl nem nyitható meg."
-#: ../src/vikwindow.c:2211
+#: ../src/vikwindow.c:2543
msgid ""
"GPSBabel is required to load files of this type or GPSBabel encountered "
"problems."
msgstr ""
-#: ../src/vikwindow.c:2214
+#: ../src/vikwindow.c:2546
#, c-format
msgid "Unable to load malformed GPX file %s"
msgstr ""
-#: ../src/vikwindow.c:2217
+#: ../src/vikwindow.c:2549
#, c-format
msgid "Unsupported file type for %s"
msgstr ""
#. Since we can process .vik files with issues just show a warning in the status bar
#. Not that a user can do much about it... or tells them what this issue is yet...
-#: ../src/vikwindow.c:2223
+#: ../src/vikwindow.c:2555
#, c-format
msgid "WARNING: issues encountered loading %s"
msgstr ""
-#: ../src/vikwindow.c:2278
+#: ../src/vikwindow.c:2613
msgid "Please select a GPS data file to open. "
msgstr "A megnyitáshoz válasszon egy GPS adatfájlt. "
-#: ../src/vikwindow.c:2288
+#: ../src/vikwindow.c:2629
msgid "Geocaching"
msgstr ""
-#: ../src/vikwindow.c:2294
+#: ../src/vikwindow.c:2635
msgid "Google Earth"
msgstr ""
-#: ../src/vikwindow.c:2299
+#: ../src/vikwindow.c:2640
msgid "GPX"
msgstr ""
-#: ../src/vikwindow.c:2304 ../src/vikwindow.c:2387
+#: ../src/vikwindow.c:2645 ../src/vikwindow.c:2734
#: ../src/viking.desktop.in.h:1
msgid "Viking"
msgstr "Viking"
-#: ../src/vikwindow.c:2374
+#: ../src/vikwindow.c:2715
msgid "Save as Viking File."
msgstr "Mentés mint Viking fájl."
+#: ../src/vikwindow.c:2841
+msgid "Exporting to file: "
+msgstr ""
+
+#. Confirm what happened.
+#: ../src/vikwindow.c:2858
+#, c-format
+msgid "Exported files: %d"
+msgstr ""
+
+#: ../src/vikwindow.c:2870
+msgid "Nothing to Export!"
+msgstr ""
+
+#: ../src/vikwindow.c:2874
+msgid "Export to directory"
+msgstr ""
+
+#: ../src/vikwindow.c:2896
+msgid "Could not convert all files"
+msgstr ""
+
+#: ../src/vikwindow.c:2932
+#, c-format
+msgid "%d bytes"
+msgstr ""
+
+#: ../src/vikwindow.c:2934
+#, c-format
+msgid "%3.1f kB"
+msgstr ""
+
+#: ../src/vikwindow.c:2936
+#, c-format
+msgid "%3.1f MB"
+msgstr ""
+
+#: ../src/vikwindow.c:2937
+#, c-format
+msgid ""
+"%s\n"
+"\n"
+"%s\n"
+"\n"
+"%s"
+msgstr ""
+
+#: ../src/vikwindow.c:2942
+msgid "File not accessible"
+msgstr ""
+
+#: ../src/vikwindow.c:2945
+msgid "No Viking File"
+msgstr ""
+
+#: ../src/vikwindow.c:3035
+msgid "This layer has no configurable properties."
+msgstr ""
+
#. Try harder...
-#: ../src/vikwindow.c:2619 ../src/vikwindow.c:2625
+#: ../src/vikwindow.c:3169 ../src/vikwindow.c:3175
msgid "Generating image file..."
msgstr ""
-#: ../src/vikwindow.c:2647
+#: ../src/vikwindow.c:3197
msgid ""
"Failed to generate internal image.\n"
"\n"
"Try creating a smaller image."
msgstr ""
-#: ../src/vikwindow.c:2655
+#: ../src/vikwindow.c:3205
msgid "Failed to generate image file."
msgstr ""
#. Success
-#: ../src/vikwindow.c:2660
+#: ../src/vikwindow.c:3210
msgid "Image file generated."
msgstr ""
-#: ../src/vikwindow.c:2764
+#: ../src/vikwindow.c:3314
msgid ""
"Viewable region outside allowable pixel size bounds for image. Clipping "
"width/height values."
@@ -3365,455 +4266,480 @@ msgstr ""
"A látható terület meghaladja a képhez megengedett pixelméret határait. "
"Szélesség/magasság értékek csökkentése."
-#: ../src/vikwindow.c:2789
+#: ../src/vikwindow.c:3339
#, c-format
msgid "Total area: %ldm x %ldm (%.3f sq. km)"
msgstr "Teljes terület: %ldm x %ldm (%.3f négyzetkm)"
-#: ../src/vikwindow.c:2792
+#: ../src/vikwindow.c:3342
#, c-format
msgid "Total area: %ldm x %ldm (%.3f sq. miles)"
msgstr "Total area: %ldm x %ldm (%.3f négyzetmérföld)"
-#: ../src/vikwindow.c:2813
+#: ../src/vikwindow.c:3363
msgid "Save Image"
msgstr "Kép mentése"
-#: ../src/vikwindow.c:2834
+#: ../src/vikwindow.c:3393
msgid "PNG"
msgstr ""
-#: ../src/vikwindow.c:2857
+#: ../src/vikwindow.c:3416
msgid "You must be in UTM mode to use this feature"
msgstr "A funkció használatához UTM módban kell lennie"
-#: ../src/vikwindow.c:2862
+#: ../src/vikwindow.c:3421
msgid "Choose a directory to hold images"
msgstr "Válasszon egy könyvtárat a képek tárolásához"
#. todo: default for answers inside VikWindow or static (thruout instance)
-#: ../src/vikwindow.c:2883
+#: ../src/vikwindow.c:3442
msgid "Save to Image File"
msgstr "Mentés képfájlba"
-#: ../src/vikwindow.c:2900
+#: ../src/vikwindow.c:3459
msgid "Width (pixels):"
msgstr "Szélesség (képpont):"
-#: ../src/vikwindow.c:2902
+#: ../src/vikwindow.c:3461
msgid "Height (pixels):"
msgstr "Magasság (képpont):"
-#: ../src/vikwindow.c:2905
+#: ../src/vikwindow.c:3464
msgid ""
"WARNING: USING LARGE IMAGES OVER 10000x10000\n"
"MAY CRASH THE PROGRAM!"
msgstr ""
-#: ../src/vikwindow.c:2907
+#: ../src/vikwindow.c:3466
msgid "Zoom (meters per pixel):"
msgstr "Nagyítás (méter/képpont):"
-#: ../src/vikwindow.c:2921
+#: ../src/vikwindow.c:3482
msgid "Area in current viewable window"
msgstr "Terület a jelenleg látható ablakban"
-#: ../src/vikwindow.c:2931
+#: ../src/vikwindow.c:3492
msgid "Save as PNG"
msgstr "Mentés mint PNG"
-#: ../src/vikwindow.c:2932
+#: ../src/vikwindow.c:3493
msgid "Save as JPEG"
msgstr "Mentés mint JPEG"
-#: ../src/vikwindow.c:2954
+#: ../src/vikwindow.c:3515
msgid "East-west image tiles:"
msgstr "Kelet-nyugat képcsempék:"
-#: ../src/vikwindow.c:2956
+#: ../src/vikwindow.c:3517
msgid "North-south image tiles:"
msgstr "Észak-dél képcsempék:"
-#: ../src/vikwindow.c:3097
+#: ../src/vikwindow.c:3656
msgid "Choose a background color"
msgstr "Háttérszín választása"
-#: ../src/vikwindow.c:3113
+#: ../src/vikwindow.c:3672
msgid "Choose a track highlight color"
msgstr ""
-#: ../src/vikwindow.c:3134
+#: ../src/vikwindow.c:3693
msgid "_File"
msgstr "_Fájl"
-#: ../src/vikwindow.c:3135
+#: ../src/vikwindow.c:3694
msgid "_Edit"
msgstr "S_zerkesztés"
-#: ../src/vikwindow.c:3136
-msgid "_View"
-msgstr "_Nézet"
-
-#: ../src/vikwindow.c:3137
+#: ../src/vikwindow.c:3696
msgid "_Show"
msgstr "_Megjelenítés"
-#: ../src/vikwindow.c:3140
+#: ../src/vikwindow.c:3699
msgid "_Layers"
msgstr "_Rétegek"
-#: ../src/vikwindow.c:3141
+#: ../src/vikwindow.c:3700
msgid "_Tools"
msgstr "_Eszközök"
-#: ../src/vikwindow.c:3142
+#: ../src/vikwindow.c:3701
msgid "_Webtools"
msgstr "_Webes eszközök"
-#: ../src/vikwindow.c:3143 ../src/vikwindow.c:3206
+#: ../src/vikwindow.c:3702 ../src/vikwindow.c:3763
msgid "_Help"
msgstr "_Súgó"
-#: ../src/vikwindow.c:3145
+#: ../src/vikwindow.c:3704
msgid "New file"
msgstr "Új fájl"
-#: ../src/vikwindow.c:3146
+#: ../src/vikwindow.c:3705
msgid "_Open..."
msgstr "_Megnyitás..."
-#: ../src/vikwindow.c:3146
+#: ../src/vikwindow.c:3705
msgid "Open a file"
msgstr "Fájl megnyitása"
-#: ../src/vikwindow.c:3147
+#: ../src/vikwindow.c:3706
msgid "Open _Recent File"
msgstr "_Legutóbbi fájl megnyitása"
-#: ../src/vikwindow.c:3148
+#: ../src/vikwindow.c:3707
msgid "Append _File..."
msgstr "_Fájl hozzáfűzése..."
-#: ../src/vikwindow.c:3148
+#: ../src/vikwindow.c:3707
msgid "Append data from a different file"
msgstr "Adatok hozzáfűzése egy másik fájlból"
-#: ../src/vikwindow.c:3149
+#: ../src/vikwindow.c:3708
+msgid "_Export All"
+msgstr ""
+
+#: ../src/vikwindow.c:3708
+msgid "Export All TrackWaypoint Layers"
+msgstr ""
+
+#: ../src/vikwindow.c:3709
+msgid "_GPX..."
+msgstr ""
+
+#: ../src/vikwindow.c:3709
+msgid "Export as GPX"
+msgstr ""
+
+#: ../src/vikwindow.c:3710
msgid "A_cquire"
msgstr "_Beszerzés"
-#: ../src/vikwindow.c:3150
+#: ../src/vikwindow.c:3711
msgid "Transfer data from a GPS device"
msgstr "Adatok áttöltése GPS eszközről"
-#: ../src/vikwindow.c:3151
+#: ../src/vikwindow.c:3712
msgid "Import File With GPS_Babel..."
msgstr ""
-#: ../src/vikwindow.c:3151
+#: ../src/vikwindow.c:3712
msgid "Import file via GPSBabel converter"
msgstr ""
-#: ../src/vikwindow.c:3153
-msgid "Google _Directions..."
-msgstr "Google ú_tvonaltervező..."
+#: ../src/vikwindow.c:3713
+msgid "_Directions..."
+msgstr ""
-#: ../src/vikwindow.c:3153
-msgid "Get driving directions from Google"
-msgstr "Útvonaljavaslat kérése Google-től"
+#: ../src/vikwindow.c:3713
+msgid "Get driving directions"
+msgstr ""
-#: ../src/vikwindow.c:3156
+#: ../src/vikwindow.c:3715
msgid "_OSM Traces..."
msgstr ""
-#: ../src/vikwindow.c:3156
+#: ../src/vikwindow.c:3715
msgid "Get traces from OpenStreetMap"
msgstr ""
-#: ../src/vikwindow.c:3157
+#: ../src/vikwindow.c:3716
msgid "_My OSM Traces..."
msgstr ""
-#: ../src/vikwindow.c:3157
+#: ../src/vikwindow.c:3716
msgid "Get Your Own Traces from OpenStreetMap"
msgstr ""
-#: ../src/vikwindow.c:3160
+#: ../src/vikwindow.c:3719
msgid "Geo_caches..."
msgstr "Geo_ládák..."
-#: ../src/vikwindow.c:3160
+#: ../src/vikwindow.c:3719
msgid "Get Geocaches from geocaching.com"
msgstr "Geoládák lekérése a geocaching.com webhelyről"
-#: ../src/vikwindow.c:3163
+#: ../src/vikwindow.c:3722
msgid "Create waypoints from geotagged images"
msgstr ""
-#: ../src/vikwindow.c:3166
+#: ../src/vikwindow.c:3725
msgid "Create waypoints from Wikipedia items in the current view"
msgstr ""
-#: ../src/vikwindow.c:3168
+#: ../src/vikwindow.c:3727
msgid "_Save"
msgstr "M_entés"
-#: ../src/vikwindow.c:3168
+#: ../src/vikwindow.c:3727
msgid "Save the file"
msgstr "A fájl mentése"
-#: ../src/vikwindow.c:3169
+#: ../src/vikwindow.c:3728
msgid "Save _As..."
msgstr "Men_tés másként..."
-#: ../src/vikwindow.c:3169
+#: ../src/vikwindow.c:3728
msgid "Save the file under different name"
msgstr "A fájl mentése más néven"
-#: ../src/vikwindow.c:3170
+#: ../src/vikwindow.c:3729
+msgid "Properties..."
+msgstr ""
+
+#: ../src/vikwindow.c:3729
+msgid "File Properties"
+msgstr ""
+
+#: ../src/vikwindow.c:3730
msgid "_Generate Image File..."
msgstr "Képfájl _generálása..."
-#: ../src/vikwindow.c:3170
+#: ../src/vikwindow.c:3730
msgid "Save a snapshot of the workspace into a file"
msgstr "Pillanatkép mentése a munkaterületről fájlba"
-#: ../src/vikwindow.c:3171
+#: ../src/vikwindow.c:3731
msgid "Generate _Directory of Images..."
msgstr "Ké_pek könyvtárának generálása..."
-#: ../src/vikwindow.c:3171
+#: ../src/vikwindow.c:3731
msgid "FIXME:IMGDIR"
msgstr "FIXME:IMGDIR"
-#: ../src/vikwindow.c:3174
+#: ../src/vikwindow.c:3732
msgid "_Print..."
msgstr "_Nyomtatás..."
-#: ../src/vikwindow.c:3174
+#: ../src/vikwindow.c:3732
msgid "Print maps"
msgstr "Térkép nyomtatása"
-#: ../src/vikwindow.c:3177
+#: ../src/vikwindow.c:3733
msgid "E_xit"
msgstr "_Kilépés"
-#: ../src/vikwindow.c:3177
+#: ../src/vikwindow.c:3733
msgid "Exit the program"
msgstr "Kilépés a programból"
-#: ../src/vikwindow.c:3178
+#: ../src/vikwindow.c:3734
msgid "Save and Exit"
msgstr "Mentés és kilépés"
-#: ../src/vikwindow.c:3178
+#: ../src/vikwindow.c:3734
msgid "Save and Exit the program"
msgstr "Mentés és kilépés a programból"
-#: ../src/vikwindow.c:3180
+#: ../src/vikwindow.c:3736
msgid "Go to the _Default Location"
msgstr "Ugrás az _alapértelmezett helyre"
-#: ../src/vikwindow.c:3180
+#: ../src/vikwindow.c:3736
msgid "Go to the default location"
msgstr "Ugrás az alapértelmezett helyre"
-#: ../src/vikwindow.c:3181
+#: ../src/vikwindow.c:3737
msgid "Go to _Location..."
msgstr "Ugrás _helyre..."
-#: ../src/vikwindow.c:3181
+#: ../src/vikwindow.c:3737
msgid "Go to address/place using text search"
msgstr "Ugrás címre/helyre szöveges kereső használatával"
-#: ../src/vikwindow.c:3182
+#: ../src/vikwindow.c:3738
msgid "_Go to Lat/Lon..."
msgstr "Ugrás _szél./hossz.-ra..."
-#: ../src/vikwindow.c:3182
+#: ../src/vikwindow.c:3738
msgid "Go to arbitrary lat/lon coordinate"
msgstr "Ugrás egy megadott földrajzi szélességi/hosszúsági koordinátára"
-#: ../src/vikwindow.c:3183
+#: ../src/vikwindow.c:3739
msgid "Go to UTM..."
msgstr "Ugrás U_TM-re..."
-#: ../src/vikwindow.c:3183
+#: ../src/vikwindow.c:3739
msgid "Go to arbitrary UTM coordinate"
msgstr "Ugrás egy megadott UTM koordinátára"
-#: ../src/vikwindow.c:3184
+#: ../src/vikwindow.c:3740
msgid "_Refresh"
msgstr ""
-#: ../src/vikwindow.c:3184
+#: ../src/vikwindow.c:3740
msgid "Refresh any maps displayed"
msgstr ""
-#: ../src/vikwindow.c:3185
+#: ../src/vikwindow.c:3741
msgid "Set _Highlight Color..."
msgstr ""
-#: ../src/vikwindow.c:3186
+#: ../src/vikwindow.c:3742
msgid "Set Bac_kground Color..."
msgstr "_Háttérszín beállítása..."
-#: ../src/vikwindow.c:3187
+#: ../src/vikwindow.c:3743
msgid "Zoom _In"
msgstr "_Nagyítás"
-#: ../src/vikwindow.c:3188
+#: ../src/vikwindow.c:3744
msgid "Zoom _Out"
msgstr "_Kicsinyítés"
-#: ../src/vikwindow.c:3189
+#: ../src/vikwindow.c:3745
msgid "Zoom _To..."
msgstr "N_agyítás..."
-#: ../src/vikwindow.c:3190
+#: ../src/vikwindow.c:3746
msgid "Pan _North"
msgstr "Mozgatás é_szak felé"
-#: ../src/vikwindow.c:3191
+#: ../src/vikwindow.c:3747
msgid "Pan _East"
msgstr "Mozgatás _kelet felé"
-#: ../src/vikwindow.c:3192
+#: ../src/vikwindow.c:3748
msgid "Pan _South"
msgstr "Mozgatás _dél felé"
-#: ../src/vikwindow.c:3193
+#: ../src/vikwindow.c:3749
msgid "Pan _West"
msgstr "Mozgatás _nyugat felé"
-#: ../src/vikwindow.c:3194
+#: ../src/vikwindow.c:3750
msgid "Background _Jobs"
msgstr "_Háttérmunkák"
-#: ../src/vikwindow.c:3196
+#: ../src/vikwindow.c:3752
msgid "Cu_t"
msgstr "_Kivágás"
-#: ../src/vikwindow.c:3197
-msgid "_Copy"
-msgstr "_Másolás"
-
-#: ../src/vikwindow.c:3198
-msgid "_Paste"
-msgstr "_Beillesztés"
-
-#: ../src/vikwindow.c:3199
-msgid "_Delete"
-msgstr "_Törlés"
-
-#: ../src/vikwindow.c:3200
+#: ../src/vikwindow.c:3756
msgid "Delete All"
msgstr "Összes törlése"
-#: ../src/vikwindow.c:3201
+#: ../src/vikwindow.c:3757
msgid "_Flush Map Cache"
msgstr "Térkép-_gyorsítótár kiürítése"
-#: ../src/vikwindow.c:3202
+#: ../src/vikwindow.c:3758
msgid "_Set the Default Location"
msgstr "_Alapértelmezett hely beállítása"
-#: ../src/vikwindow.c:3202
+#: ../src/vikwindow.c:3758
msgid "Set the Default Location to the current position"
msgstr "Alapértelmezett hely beállítása a jelenlegi pozícióra"
-#: ../src/vikwindow.c:3203
+#: ../src/vikwindow.c:3759
msgid "_Preferences"
msgstr "B_eállítások"
-#: ../src/vikwindow.c:3204
+#: ../src/vikwindow.c:3760
+msgid "_Layer Defaults"
+msgstr ""
+
+#: ../src/vikwindow.c:3761
msgid "_Properties"
msgstr "_Tulajdonságok"
-#: ../src/vikwindow.c:3207
+#: ../src/vikwindow.c:3764
msgid "_About"
msgstr "_Névjegy"
-#: ../src/vikwindow.c:3213
+#: ../src/vikwindow.c:3768
+msgid "_KML..."
+msgstr ""
+
+#: ../src/vikwindow.c:3768
+msgid "Export as KML"
+msgstr ""
+
+#: ../src/vikwindow.c:3774
msgid "_UTM Mode"
msgstr "_UTM mód"
-#: ../src/vikwindow.c:3214
+#: ../src/vikwindow.c:3775
msgid "_Expedia Mode"
msgstr "_Expedia mód"
-#: ../src/vikwindow.c:3215
+#: ../src/vikwindow.c:3776
msgid "_Mercator Mode"
msgstr "_Mercator mód"
-#: ../src/vikwindow.c:3216
+#: ../src/vikwindow.c:3777
msgid "Lat_/Lon Mode"
msgstr "Szél._/Hossz. mód"
-#: ../src/vikwindow.c:3220
+#: ../src/vikwindow.c:3781
msgid "Show _Scale"
msgstr "_Méretarány megjelenítése"
-#: ../src/vikwindow.c:3220
+#: ../src/vikwindow.c:3781
msgid "Show Scale"
msgstr "Aránymérték megjelenítése"
-#: ../src/vikwindow.c:3221
+#: ../src/vikwindow.c:3782
msgid "Show _Center Mark"
msgstr "_Középjelölő megjelenítése"
-#: ../src/vikwindow.c:3221
+#: ../src/vikwindow.c:3782
msgid "Show Center Mark"
msgstr "Középjelölő megjelenítése"
-#: ../src/vikwindow.c:3222
+#: ../src/vikwindow.c:3783
msgid "Show _Highlight"
msgstr ""
-#: ../src/vikwindow.c:3222
+#: ../src/vikwindow.c:3783
msgid "Show Highlight"
msgstr ""
-#: ../src/vikwindow.c:3223
+#: ../src/vikwindow.c:3784
msgid "_Full Screen"
msgstr "_Teljes képernyő"
-#: ../src/vikwindow.c:3223
+#: ../src/vikwindow.c:3784
msgid "Activate full screen mode"
msgstr "Teljes képernyő mód aktiválása"
-#: ../src/vikwindow.c:3224
+#: ../src/vikwindow.c:3785
msgid "Show Side _Panel"
msgstr "_Oldalpanel megjelenítése"
-#: ../src/vikwindow.c:3224
+#: ../src/vikwindow.c:3785
msgid "Show Side Panel"
msgstr "Oldalpanel megjelenítése"
-#: ../src/vikwindow.c:3225
+#: ../src/vikwindow.c:3786
msgid "Show Status_bar"
msgstr "Á_llapotsor megjelenítése"
-#: ../src/vikwindow.c:3225
+#: ../src/vikwindow.c:3786
msgid "Show Statusbar"
msgstr "Állapotsor megjelenítése"
-#: ../src/vikwindow.c:3226
+#: ../src/vikwindow.c:3787
msgid "Show _Toolbar"
msgstr "_Eszköztár megjelenítése"
-#: ../src/vikwindow.c:3226
+#: ../src/vikwindow.c:3787
msgid "Show Toolbar"
msgstr "Eszköztár megjelenítése"
-#: ../src/vikwindow.c:3227
+#: ../src/vikwindow.c:3788
msgid "Show _Menu"
msgstr "_Menü megjelenítése"
-#: ../src/vikwindow.c:3227
+#: ../src/vikwindow.c:3788
msgid "Show Menu"
msgstr "Menü megjelenítése"
+#: ../src/vikwindow.c:3862
+#, c-format
+msgid "New _%s Layer"
+msgstr ""
+
#: ../src/viking.desktop.in.h:2
msgid "GPS Data Manager"
msgstr "GPS adatkezelő"
diff --git a/po/id.po b/po/id.po
index 6b16090..49bbb50 100644
--- a/po/id.po
+++ b/po/id.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: viking\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2013-02-04 23:29+0100\n"
+"POT-Creation-Date: 2013-09-03 21:58+0200\n"
"PO-Revision-Date: 2011-01-10 15:38+0000\n"
"Last-Translator: Arief Setiadi Wibowo <q_thrynx@yahoo.com>\n"
"Language-Team: Indonesian <id@li.org>\n"
@@ -14,60 +14,60 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Launchpad-Export-Date: 2013-03-23 17:12+0000\n"
-"X-Generator: Launchpad (build 16540)\n"
+"X-Launchpad-Export-Date: 2013-10-12 09:04+0000\n"
+"X-Generator: Launchpad (build 16799)\n"
"Language: id\n"
-#: ../src/acquire.c:103 ../src/vikgpslayer.c:1185
+#: ../src/acquire.c:103 ../src/vikgpslayer.c:1235
msgid "Done."
msgstr "Selesai."
-#: ../src/acquire.c:114
+#: ../src/acquire.c:112
msgid "No data."
msgstr "Tidak ada data"
-#: ../src/acquire.c:154 ../src/acquire.c:404
+#: ../src/acquire.c:154 ../src/acquire.c:424
msgid "Error: acquisition failed."
msgstr "Galat: akuisisi gagal."
-#: ../src/acquire.c:341
+#: ../src/acquire.c:352
msgid "Working..."
msgstr "Sedang Bekerja..."
#. This shouldn't happen...
-#: ../src/acquire.c:394
+#: ../src/acquire.c:415
msgid ""
"Unable to create command\n"
"Acquire method failed."
msgstr ""
-#: ../src/acquire.c:486
+#: ../src/acquire.c:517
msgid "_Filter"
msgstr ""
-#: ../src/acquire.c:501
+#: ../src/acquire.c:532
#, c-format
msgid "Filter with %s"
msgstr ""
-#: ../src/acquire.c:518
+#: ../src/acquire.c:549
msgid "Filter"
msgstr ""
-#: ../src/background.c:52
+#: ../src/background.c:53
#, c-format
msgid "%d items"
msgstr "%d objek"
-#: ../src/background.c:248
+#: ../src/background.c:254
msgid "Job"
msgstr "Tugas"
-#: ../src/background.c:252
+#: ../src/background.c:258
msgid "Progress"
msgstr "Kemajuan"
-#: ../src/background.c:268
+#: ../src/background.c:274
msgid "Viking Background Jobs"
msgstr "Viking Background Jobs"
@@ -76,7 +76,7 @@ msgid "Bing"
msgstr ""
#. VIK_GTK_WINDOW_FROM_WIDGET(vp)
-#: ../src/bingmapsource.c:445
+#: ../src/bingmapsource.c:499
msgid "Bing attribution Loading"
msgstr ""
@@ -101,35 +101,35 @@ msgid ""
"into."
msgstr ""
-#: ../src/dialog.c:52
+#: ../src/dialog.c:53
msgid "Go to Lat/Lon"
msgstr "Ke Lintang/Bujur"
-#: ../src/dialog.c:64 ../src/dialog.c:251
+#: ../src/dialog.c:65 ../src/dialog.c:244
msgid "Latitude:"
msgstr "Lintang:"
-#: ../src/dialog.c:70 ../src/dialog.c:256
+#: ../src/dialog.c:71 ../src/dialog.c:249
msgid "Longitude:"
msgstr "Bujur:"
-#: ../src/dialog.c:102
+#: ../src/dialog.c:103
msgid "Go to UTM"
msgstr "Ke UTM"
-#: ../src/dialog.c:115
+#: ../src/dialog.c:116
msgid "Northing:"
msgstr ""
-#: ../src/dialog.c:121
+#: ../src/dialog.c:122
msgid "Easting:"
msgstr ""
-#: ../src/dialog.c:128
+#: ../src/dialog.c:129
msgid "Zone:"
msgstr "Zona:"
-#: ../src/dialog.c:131
+#: ../src/dialog.c:132
msgid "Letter:"
msgstr "Huruf:"
@@ -137,105 +137,109 @@ msgstr "Huruf:"
msgid "Waypoint Properties"
msgstr "Sifat Waypoint"
-#: ../src/dialog.c:233
+#: ../src/dialog.c:235
msgid "Name:"
msgstr "Nama:"
-#: ../src/dialog.c:261
+#: ../src/dialog.c:254
msgid "Altitude:"
msgstr "Ketinggian:"
-#: ../src/dialog.c:266
+#: ../src/dialog.c:259
msgid "Comment:"
msgstr "Komentar:"
-#: ../src/dialog.c:274 ../src/osm-traces.c:437
+#: ../src/dialog.c:267 ../src/osm-traces.c:445
msgid "Description:"
msgstr "Keterangan:"
-#: ../src/dialog.c:277
+#: ../src/dialog.c:270
msgid "Image:"
msgstr "Citra:"
-#: ../src/dialog.c:282
+#: ../src/dialog.c:275
msgid "Symbol:"
msgstr "Simbol:"
-#: ../src/dialog.c:291
+#: ../src/dialog.c:284
msgid "(none)"
msgstr "(tak ada)"
+#: ../src/dialog.c:326
+msgid "Time:"
+msgstr ""
+
#. TODO: other checks (isalpha or whatever )
-#: ../src/dialog.c:356
+#: ../src/dialog.c:363
msgid "Please enter a name for the waypoint."
msgstr "Silahkan masukkan nama bagi waypoint."
-#: ../src/dialog.c:529 ../src/geonamessearch.c:243
+#: ../src/dialog.c:502 ../src/geonamessearch.c:244
#: ../src/datasource_osm_my_traces.c:507
msgid "Nothing was selected"
msgstr "Tak ada yang dipilih"
-#: ../src/dialog.c:537
+#: ../src/dialog.c:510
msgid "Add Route"
msgstr ""
-#: ../src/dialog.c:537
+#: ../src/dialog.c:510
msgid "Add Track"
msgstr "Tambah Trek"
-#: ../src/dialog.c:545
+#: ../src/dialog.c:518
msgid "Route Name:"
msgstr ""
-#: ../src/dialog.c:545
+#: ../src/dialog.c:518
msgid "Track Name:"
msgstr "Nama Trek:"
-#: ../src/dialog.c:565
+#: ../src/dialog.c:538
msgid "Please enter a name for the track."
msgstr "Silahkan masukkan nama bagi trek."
-#: ../src/dialog.c:623
+#: ../src/dialog.c:596
msgid "Zoom Factors..."
msgstr "Faktor Pembesaran..."
-#: ../src/dialog.c:637
+#: ../src/dialog.c:610
msgid "Zoom factor (in meters per pixel):"
msgstr ""
-#: ../src/dialog.c:638
+#: ../src/dialog.c:611
msgid "X (easting): "
msgstr ""
-#: ../src/dialog.c:639
+#: ../src/dialog.c:612
msgid "Y (northing): "
msgstr ""
-#: ../src/dialog.c:644
+#: ../src/dialog.c:617
msgid "X and Y zoom factors must be equal"
msgstr "Faktor pembesaran X dan Y mesti sama"
-#: ../src/dialog.c:699
+#: ../src/dialog.c:672
msgid "1 min"
msgstr "1 menit"
-#: ../src/dialog.c:700
+#: ../src/dialog.c:673
msgid "1 hour"
msgstr "1 jam"
-#: ../src/dialog.c:701
+#: ../src/dialog.c:674
msgid "1 day"
msgstr "1 hari"
-#: ../src/dialog.c:702
+#: ../src/dialog.c:675
msgid "Custom (in minutes):"
msgstr "Kustom (dalam menit):"
-#: ../src/dialog.c:808
+#: ../src/dialog.c:786
msgid "GPS Data and Topo Analyzer, Explorer, and Manager."
msgstr "Penganalisis, Penjelajah, dan Pengelola Data dan Topo GPS."
-#: ../src/dialog.c:809
+#: ../src/dialog.c:787
msgid ""
"This program is free software; you can redistribute it and/or modify it "
"under the terms of the GNU General Public License as published by the Free "
@@ -252,28 +256,28 @@ msgid ""
"Place, Suite 330, Boston, MA 02111-1307, USA"
msgstr ""
-#: ../src/dialog.c:837
+#: ../src/dialog.c:852
msgid "Translation is coordinated on http://launchpad.net/viking"
msgstr ""
-#: ../src/dialog.c:845
+#: ../src/dialog.c:861
msgid "Download along track"
msgstr ""
-#: ../src/dialog.c:851
+#: ../src/dialog.c:868
msgid "Map type:"
msgstr "Tipe peta:"
-#: ../src/dialog.c:856
+#: ../src/dialog.c:874
msgid "Zoom level:"
msgstr "Tingkat pembesaran:"
-#: ../src/dialog.c:896
+#: ../src/dialog.c:914
#, c-format
msgid "The map data is licensed: %s."
msgstr ""
-#: ../src/dialog.c:899
+#: ../src/dialog.c:917
#, c-format
msgid ""
"The data provided by '<b>%s</b>' are licensed under the following license: "
@@ -281,7 +285,7 @@ msgid ""
"Please, read the license before continuing."
msgstr ""
-#: ../src/dialog.c:904
+#: ../src/dialog.c:922
msgid "Open license"
msgstr ""
@@ -330,7 +334,8 @@ msgstr "Tak ada entri ditemukan!"
#. NB could allow columns to be shifted around by doing this after each new
#. gtk_tree_view_column_set_reorderable ( column, TRUE );
#. However I don't think is that useful, so I haven't put it in
-#: ../src/geonamessearch.c:177 ../src/datasource_osm_my_traces.c:425
+#: ../src/geonamessearch.c:177 ../src/datasource_osm_my_traces.c:424
+#: ../src/viktrwlayer_tracklist.c:521
msgid "Name"
msgstr ""
@@ -338,82 +343,192 @@ msgstr ""
msgid "Feature"
msgstr ""
-#: ../src/geonamessearch.c:187 ../src/datasource_osm_my_traces.c:440
+#: ../src/geonamessearch.c:187 ../src/datasource_osm_my_traces.c:439
msgid "Lat/Lon"
msgstr ""
-#: ../src/geonamessearch.c:269 ../src/googlesearch.c:100
+#: ../src/geonamessearch.c:270 ../src/googlesearch.c:100 ../src/vikgoto.c:306
msgid "couldn't map temp file"
msgstr "tak bisa memetakan berkas temp"
-#: ../src/globals.c:44
+#: ../src/globals.c:73
+msgid "Absolute"
+msgstr ""
+
+#: ../src/globals.c:73
+msgid "Relative"
+msgstr ""
+
+#: ../src/globals.c:76
msgid "Degree format:"
msgstr "Format derajat:"
-#: ../src/globals.c:48
+#: ../src/globals.c:77
msgid "Distance units:"
msgstr "Jarak unit:"
-#: ../src/globals.c:52
+#: ../src/globals.c:78
msgid "Speed units:"
msgstr "Kecepatan unit:"
-#: ../src/globals.c:56
+#: ../src/globals.c:79
msgid "Height units:"
msgstr "Tinggi unit:"
-#: ../src/globals.c:60
+#: ../src/globals.c:80
msgid "Use large waypoint icons:"
msgstr ""
-#: ../src/globals.c:64
+#: ../src/globals.c:81
msgid "Default latitude:"
msgstr ""
-#: ../src/globals.c:67
+#: ../src/globals.c:82
msgid "Default longitude:"
msgstr ""
-#: ../src/globals.c:73
+#: ../src/globals.c:88
msgid "Alphabetical"
msgstr ""
-#: ../src/globals.c:73 ../src/datasource_osm_my_traces.c:435
+#: ../src/globals.c:88 ../src/datasource_osm_my_traces.c:434
msgid "Time"
msgstr ""
-#: ../src/globals.c:76
+#: ../src/globals.c:88
+msgid "Creation"
+msgstr ""
+
+#: ../src/globals.c:89
+msgid "Title Case"
+msgstr ""
+
+#: ../src/globals.c:89
+msgid "Lowercase"
+msgstr ""
+
+#: ../src/globals.c:92
msgid "KML File Export Units:"
msgstr ""
-#: ../src/globals.c:77
+#: ../src/globals.c:93
msgid "GPX Track Order:"
msgstr ""
-#: ../src/globals.c:82
+#: ../src/globals.c:94
+msgid "GPX Waypoint Symbols:"
+msgstr ""
+
+#: ../src/globals.c:95
+msgid ""
+"Save GPX Waypoint Symbol names in the specified case. May be useful for "
+"compatibility with various devices"
+msgstr ""
+
+#: ../src/globals.c:100
msgid "Image Viewer:"
msgstr ""
-#: ../src/globals.c:87
+#: ../src/globals.c:105
msgid "External GPX Program 1:"
msgstr ""
-#: ../src/globals.c:88
+#: ../src/globals.c:106
msgid "External GPX Program 2:"
msgstr ""
+#: ../src/globals.c:110
+msgid "Save File Reference Mode:"
+msgstr ""
+
+#: ../src/globals.c:111
+msgid ""
+"When saving a Viking .vik file, this determines how the directory paths of "
+"filenames are written."
+msgstr ""
+
+#: ../src/globals.c:112
+msgid "Show Tooltip during Track Creation:"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Home Location"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Last Location"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Specified File"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Auto Location"
+msgstr ""
+
+#: ../src/globals.c:118
+msgid "Restore Window Setup:"
+msgstr ""
+
+#: ../src/globals.c:119
+msgid "Restore window size and layout"
+msgstr ""
+
+#: ../src/globals.c:120
+msgid "Add a Default Map Layer:"
+msgstr ""
+
+#: ../src/globals.c:121
+msgid ""
+"The default map layer added is defined by the Layer Defaults. Use the menu "
+"Edit->Layer Defaults->Map... to change the map type and other values."
+msgstr ""
+
+#: ../src/globals.c:122
+msgid "Startup Method:"
+msgstr ""
+
+#: ../src/globals.c:123
+msgid "Startup File:"
+msgstr ""
+
+#: ../src/globals.c:124
+msgid ""
+"The default file to load on startup. Only applies when the startup method is "
+"set to 'Specified File'"
+msgstr ""
+
+#: ../src/globals.c:125
+msgid "Check For New Version:"
+msgstr ""
+
+#: ../src/globals.c:126
+msgid "Periodically check to see if a new version of Viking is available"
+msgstr ""
+
#. Defaults for the options are setup here
-#: ../src/globals.c:96
+#: ../src/globals.c:163
msgid "General"
msgstr ""
#. New Tab
-#: ../src/globals.c:121
+#: ../src/globals.c:188
+msgid "Startup"
+msgstr ""
+
+#. New Tab
+#: ../src/globals.c:206
msgid "Export/External"
msgstr ""
+#. 'Advanced' Properties
+#: ../src/globals.c:230
+msgid "Advanced"
+msgstr ""
+
#. Webtools
-#: ../src/google.c:36
+#: ../src/google.c:38
msgid "Google"
msgstr "Google"
@@ -426,24 +541,24 @@ msgid "Imported file"
msgstr ""
#. The file selector
-#: ../src/datasource_file.c:133
+#: ../src/datasource_file.c:127
msgid "File:"
msgstr ""
-#: ../src/datasource_file.c:134
+#: ../src/datasource_file.c:128
msgid "File to import"
msgstr ""
-#: ../src/datasource_file.c:141
+#: ../src/datasource_file.c:135
msgid "All files"
msgstr ""
#. The file format selector
-#: ../src/datasource_file.c:148
+#: ../src/datasource_file.c:142
msgid "File type:"
msgstr ""
-#: ../src/datasource_file.c:193
+#: ../src/datasource_file.c:184
#, c-format
msgid "using babel args '%s' and file '%s'"
msgstr ""
@@ -456,29 +571,29 @@ msgstr ""
msgid "Geocaching.com Caches"
msgstr ""
-#: ../src/datasource_gc.c:84
+#: ../src/datasource_gc.c:85
msgid "geocaching.com username:"
msgstr "nama pengguna geocaching.com:"
-#: ../src/datasource_gc.c:85
+#: ../src/datasource_gc.c:86
msgid "geocaching.com password:"
msgstr "kata sandi geocaching.com:"
-#: ../src/datasource_gc.c:126
+#: ../src/datasource_gc.c:127
#, c-format
msgid ""
"Can't find %s or %s in path! Check that you have installed it correctly."
msgstr ""
-#: ../src/datasource_gc.c:188
+#: ../src/datasource_gc.c:189
msgid "Number geocaches:"
msgstr ""
-#: ../src/datasource_gc.c:190
+#: ../src/datasource_gc.c:191
msgid "Centered around:"
msgstr "Berpusat di sekitar:"
-#: ../src/datasource_gc.c:226
+#: ../src/datasource_gc.c:230
msgid "Broken input - using some defaults"
msgstr ""
@@ -490,114 +605,105 @@ msgstr ""
msgid "Geotagged Images"
msgstr ""
-#: ../src/datasource_geotag.c:102 ../src/vikwindow.c:2314
-#: ../src/vikwindow.c:2382 ../src/vikwindow.c:2824
+#: ../src/datasource_geotag.c:102 ../src/vikwindow.c:2655
+#: ../src/vikwindow.c:2729 ../src/vikwindow.c:3380
msgid "All"
msgstr ""
-#: ../src/datasource_geotag.c:107 ../src/vikwindow.c:2829
+#: ../src/datasource_geotag.c:107 ../src/vikwindow.c:3385
msgid "JPG"
msgstr ""
-#: ../src/datasource_geotag.c:165
+#: ../src/datasource_geotag.c:168
#, c-format
msgid "Unable to create waypoint from %s"
msgstr ""
-#: ../src/datasource_google.c:49 ../src/datasource_google.c:50
-msgid "Google Directions"
-msgstr ""
-
-#: ../src/datasource_google.c:77
-msgid "From:"
-msgstr "Dari:"
-
-#: ../src/datasource_google.c:79
-msgid "To:"
-msgstr "Ke:"
-
-#: ../src/datasource_gps.c:57
+#: ../src/datasource_gps.c:54
msgid "Acquire from GPS"
msgstr "Ambil dari GPS"
-#: ../src/datasource_gps.c:58
+#: ../src/datasource_gps.c:55
msgid "Acquired from GPS"
msgstr "Diperoleh dari GPS"
-#: ../src/datasource_gps.c:221
+#: ../src/datasource_gps.c:245
#, c-format
msgid "using cmdline '%s' and file '%s'\n"
msgstr "memakai cmdline '%s' dan berkas '%s'\n"
-#: ../src/datasource_gps.c:297 ../src/vikgpslayer.c:884
+#: ../src/datasource_gps.c:327 ../src/vikgpslayer.c:934
#, c-format
msgid "Downloading %d waypoint..."
msgid_plural "Downloading %d waypoints..."
msgstr[0] "Mengunduh %d waypoint..."
-#: ../src/datasource_gps.c:298 ../src/vikgpslayer.c:885
+#: ../src/datasource_gps.c:328 ../src/vikgpslayer.c:935
#, c-format
msgid "Downloading %d trackpoint..."
msgid_plural "Downloading %d trackpoints..."
msgstr[0] "Mengunduh %d trackpoint..."
-#: ../src/datasource_gps.c:303 ../src/vikgpslayer.c:890
+#: ../src/datasource_gps.c:333 ../src/vikgpslayer.c:940
#, c-format
msgid "Downloading %d routepoint..."
msgid_plural "Downloading %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/datasource_gps.c:325 ../src/datasource_gps.c:326
-#: ../src/datasource_gps.c:327
+#: ../src/datasource_gps.c:355 ../src/datasource_gps.c:356
+#: ../src/datasource_gps.c:357
#, c-format
msgid "Downloaded %d out of %d %s..."
msgstr "Diunduh %d dari %d %s..."
-#: ../src/datasource_gps.c:331 ../src/datasource_gps.c:332
-#: ../src/datasource_gps.c:333
+#: ../src/datasource_gps.c:361 ../src/datasource_gps.c:362
+#: ../src/datasource_gps.c:363
#, c-format
msgid "Downloaded %d %s."
msgstr "Diunduh %d %s."
-#: ../src/datasource_gps.c:347 ../src/vikgpslayer.c:968
+#: ../src/datasource_gps.c:377 ../src/vikgpslayer.c:1018
#, c-format
msgid "GPS Device: %s"
msgstr "Perangkat GPS: %s"
-#: ../src/datasource_gps.c:370 ../src/vikgpslayer.c:1042
-#: ../src/vikgpslayer.c:1110
+#: ../src/datasource_gps.c:400 ../src/vikgpslayer.c:1092
+#: ../src/vikgpslayer.c:1160
msgid "Status: Working..."
msgstr ""
-#: ../src/datasource_gps.c:469 ../src/vikgpslayer.c:150
+#. NB gps_layer_inst_init() is performed after parameter registeration
+#. thus to give the protocols some potential values use the old static list
+#. TODO: find another way to use gps_layer_inst_init()?
+#: ../src/datasource_gps.c:500 ../src/vikgpslayer.c:207
msgid "GPS Protocol:"
msgstr "Protokol GPS:"
-#. List now assigned at runtime
-#: ../src/datasource_gps.c:488 ../src/vikgpslayer.c:151
+#. List reassigned at runtime
+#: ../src/datasource_gps.c:526 ../src/vikgpslayer.c:208
msgid "Serial Port:"
msgstr "Port Serial:"
-#: ../src/datasource_gps.c:509
+#: ../src/datasource_gps.c:576
msgid ""
"Turn Off After Transfer\n"
"(Garmin/NAViLink Only)"
msgstr ""
-#: ../src/datasource_gps.c:512
+#: ../src/datasource_gps.c:583
msgid "Tracks:"
msgstr ""
-#: ../src/datasource_gps.c:516
+#: ../src/datasource_gps.c:590
msgid "Routes:"
msgstr ""
-#: ../src/datasource_gps.c:520
+#: ../src/datasource_gps.c:597
msgid "Waypoints:"
msgstr ""
-#: ../src/datasource_gps.c:594 ../src/vikgpslayer.c:1305
+#: ../src/datasource_gps.c:675 ../src/vikgpslayer.c:1355
msgid "GPS device: N/A"
msgstr "Perangkat GPS: N/A"
@@ -605,39 +711,39 @@ msgstr "Perangkat GPS: N/A"
msgid "OSM traces"
msgstr ""
-#: ../src/datasource_osm.c:80
+#: ../src/datasource_osm.c:82
msgid "Page number:"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:63 ../src/datasource_osm_my_traces.c:64
+#: ../src/datasource_osm_my_traces.c:59 ../src/datasource_osm_my_traces.c:60
msgid "OSM My Traces"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:108
+#: ../src/datasource_osm_my_traces.c:104
msgid "Username:"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:113
+#: ../src/datasource_osm_my_traces.c:109
msgid "The email or username used to login to OSM"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:115 ../src/osm-traces.c:413
+#: ../src/datasource_osm_my_traces.c:111 ../src/osm-traces.c:421
msgid "Password:"
msgstr "Kata sandi:"
-#: ../src/datasource_osm_my_traces.c:120
+#: ../src/datasource_osm_my_traces.c:114
msgid "The password used to login to OSM"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:430
+#: ../src/datasource_osm_my_traces.c:429
msgid "Description"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:445
+#: ../src/datasource_osm_my_traces.c:444
msgid "Privacy"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:452
+#: ../src/datasource_osm_my_traces.c:451
msgid "Within Current View"
msgstr ""
@@ -649,15 +755,33 @@ msgstr ""
msgid "None found!"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:629
+#: ../src/datasource_osm_my_traces.c:634
msgid "My OSM Traces"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:645
+#: ../src/datasource_osm_my_traces.c:649
#, c-format
msgid "Unable to get trace: %s"
msgstr ""
+#: ../src/datasource_routing.c:53 ../src/datasource_routing.c:54
+msgid "Directions"
+msgstr ""
+
+#. Engine selector
+#: ../src/datasource_routing.c:83
+msgid "Engine:"
+msgstr ""
+
+#. From and To entries
+#: ../src/datasource_routing.c:88
+msgid "From:"
+msgstr "Dari:"
+
+#: ../src/datasource_routing.c:90
+msgid "To:"
+msgstr "Ke:"
+
#: ../src/datasource_wikipedia.c:32
msgid "Create Waypoints from Wikipedia Articles"
msgstr ""
@@ -678,174 +802,185 @@ msgstr ""
msgid "Incorrect DEM Class B record: expected 1"
msgstr ""
-#: ../src/dem.c:360
+#: ../src/dem.c:288 ../src/download.c:170
#, c-format
msgid "Couldn't map file %s: %s"
msgstr ""
-#: ../src/download.c:112
-msgid "Tile age (s):"
+#: ../src/download.c:130
+msgid "Tile age (days):"
msgstr ""
-#: ../src/download.c:233
+#: ../src/download.c:321
#, c-format
msgid "Download error: %s"
msgstr "Galat pengunduhan: %s"
-#: ../src/download.c:313
+#: ../src/download.c:404
msgid "couldn't open temp file"
msgstr "tak bisa membuka berkas temp"
-#: ../src/file.c:456 ../src/file.c:461
+#: ../src/file.c:451 ../src/file.c:456
#, c-format
msgid "Draw mode '%s' no more supported"
msgstr ""
-#: ../src/geotag_exif.c:433
+#: ../src/geotag_exif.c:421
msgid "Not enough memory."
msgstr ""
-#: ../src/geotag_exif.c:451
+#: ../src/geotag_exif.c:439
msgid "Setting a value for this tag is unsupported!"
msgstr ""
-#: ../src/geotag_exif.c:470
+#: ../src/geotag_exif.c:458
#, c-format
msgid "Too few components specified (need %d, found %d)\n"
msgstr ""
-#: ../src/geotag_exif.c:474
+#: ../src/geotag_exif.c:462
msgid "Numeric value expected\n"
msgstr ""
-#: ../src/geotag_exif.c:482
+#: ../src/geotag_exif.c:470
msgid "This shouldn't happen!"
msgstr ""
-#: ../src/geotag_exif.c:552
+#: ../src/geotag_exif.c:540
msgid "Not yet implemented!"
msgstr ""
-#: ../src/geotag_exif.c:565
+#: ../src/geotag_exif.c:553
msgid "Warning; Too many components specified!"
msgstr ""
-#: ../src/osm-traces.c:73
+#: ../src/osm-traces.c:76
msgid "Identifiable (public w/ timestamps)"
msgstr ""
-#: ../src/osm-traces.c:74
+#: ../src/osm-traces.c:77
msgid "Trackable (private w/ timestamps)"
msgstr ""
-#: ../src/osm-traces.c:75
+#: ../src/osm-traces.c:78
msgid "Public"
msgstr "Publik"
-#: ../src/osm-traces.c:76
+#: ../src/osm-traces.c:79
msgid "Private"
msgstr ""
-#: ../src/osm-traces.c:93
+#: ../src/osm-traces.c:97
msgid "OSM username:"
msgstr "Nama pengguna OSM:"
-#: ../src/osm-traces.c:94
+#: ../src/osm-traces.c:98
msgid "OSM password:"
msgstr "Kata sandi OSM:"
#. Preferences
-#: ../src/osm-traces.c:151
+#: ../src/osm-traces.c:155
msgid "OpenStreetMap Traces"
msgstr ""
-#: ../src/osm-traces.c:234
+#: ../src/osm-traces.c:238
#, c-format
msgid "failed to upload data: HTTP response is %ld"
msgstr "gagal mengunggah data: jawaban HTTP adalah %ld"
-#: ../src/osm-traces.c:239
+#: ../src/osm-traces.c:243
#, c-format
msgid "curl_easy_getinfo failed: %d"
msgstr ""
-#: ../src/osm-traces.c:244
+#: ../src/osm-traces.c:248
#, c-format
msgid "curl request failed: %s"
msgstr ""
-#: ../src/osm-traces.c:275
+#: ../src/osm-traces.c:279
#, c-format
msgid "failed to open temporary file: %s"
msgstr ""
#. Success
-#: ../src/osm-traces.c:328
+#: ../src/osm-traces.c:340
msgid "Uploaded to OSM"
msgstr ""
-#: ../src/osm-traces.c:332
+#: ../src/osm-traces.c:344
msgid "FAILED TO UPLOAD DATA TO OSM - CURL PROBLEM"
msgstr ""
-#: ../src/osm-traces.c:335
+#: ../src/osm-traces.c:347
msgid "FAILED TO UPLOAD DATA TO OSM"
msgstr ""
-#: ../src/osm-traces.c:335
+#: ../src/osm-traces.c:347
msgid "HTTP response code"
msgstr ""
-#: ../src/osm-traces.c:348
+#: ../src/osm-traces.c:355
#, c-format
msgid "failed to unlink temporary file: %s"
msgstr ""
-#: ../src/osm-traces.c:387
+#: ../src/osm-traces.c:394
msgid "OSM upload"
msgstr "Unggah OSM"
-#: ../src/osm-traces.c:405
+#: ../src/osm-traces.c:413
msgid "Email:"
msgstr "Email:"
-#: ../src/osm-traces.c:410
+#: ../src/osm-traces.c:418
msgid ""
"The email used as login\n"
"<small>Enter the email you use to login into www.openstreetmap.org.</small>"
msgstr ""
-#: ../src/osm-traces.c:418
+#: ../src/osm-traces.c:426
msgid ""
"The password used to login\n"
"<small>Enter the password you use to login into "
"www.openstreetmap.org.</small>"
msgstr ""
-#: ../src/osm-traces.c:423
+#: ../src/osm-traces.c:431
msgid "File's name:"
msgstr "Nama berkas:"
-#: ../src/osm-traces.c:433
+#: ../src/osm-traces.c:441
msgid ""
"The name of the file on OSM\n"
"<small>This is the name of the file created on the server.This is not the "
"name of the local file.</small>"
msgstr ""
-#: ../src/osm-traces.c:442
+#: ../src/osm-traces.c:450
msgid "The description of the trace"
msgstr ""
-#: ../src/osm-traces.c:444
+#: ../src/osm-traces.c:453
+msgid "Anonymize Times:"
+msgstr ""
+
+#: ../src/osm-traces.c:458
+msgid ""
+"Anonymize times of the trace.\n"
+"<small>You may choose to make the trace identifiable, yet mask the actual "
+"real time values</small>"
+msgstr ""
+
+#: ../src/osm-traces.c:462
msgid "Tags:"
msgstr "Tag:"
-#: ../src/osm-traces.c:449
+#: ../src/osm-traces.c:467
msgid "The tags associated to the trace"
msgstr ""
-#: ../src/osm-traces.c:482
+#: ../src/osm-traces.c:529
#, c-format
msgid "Uploading %s to OSM"
msgstr ""
@@ -854,69 +989,88 @@ msgstr ""
msgid "Map cache memory size (MB):"
msgstr ""
-#: ../src/print.c:53
+#: ../src/print.c:51 ../src/viktrwlayer.c:509
msgid "None"
msgstr "Tak Satupun"
-#: ../src/print.c:54
+#: ../src/print.c:52
msgid "Horizontally"
msgstr "Arah Datar"
-#: ../src/print.c:55
+#: ../src/print.c:53
msgid "Vertically"
msgstr "Arah Tegak"
-#: ../src/print.c:56
+#: ../src/print.c:54
msgid "Both"
msgstr "Keduanya"
-#: ../src/print.c:120
+#: ../src/print.c:118
msgid "Image Settings"
msgstr "Tatanan Citra"
-#: ../src/print.c:546
+#: ../src/print.c:548
msgid "done"
msgstr "beres"
#. Page Size
-#: ../src/print.c:575
+#: ../src/print.c:577
msgid "_Adjust Page Size and Orientation"
msgstr ""
-#: ../src/print.c:591
+#: ../src/print.c:593
msgid "C_enter:"
msgstr "Pusa_t:"
#. ignore page margins
-#: ../src/print.c:609
+#: ../src/print.c:611
msgid "Ignore Page _Margins"
msgstr ""
-#: ../src/print.c:628
+#: ../src/print.c:630
msgid "Image S_ize:"
msgstr "U_kuran Citra:"
-#: ../src/util.c:81
-msgid "Could not launch web browser."
-msgstr "Tak bisa luncurkan peramban web."
+#: ../src/util.c:65
+#, c-format
+msgid "Could not launch web browser. %s"
+msgstr ""
-#: ../src/util.c:92
-msgid "Could not create new email."
-msgstr "Tak bisa buat email baru."
+#: ../src/util.c:76
+#, c-format
+msgid "Could not create new email. %s"
+msgstr ""
-#: ../src/vikcoordlayer.c:46
+#: ../src/util.c:177
+#, c-format
+msgid ""
+"There is a newer version of Viking available: %s\n"
+"\n"
+"Do you wish to go to Viking's website now?"
+msgstr ""
+
+#: ../src/util.c:304
+msgid ""
+"This appears to be Viking's very first run.\n"
+"\n"
+"Do you wish to enable automatic internet features?\n"
+"\n"
+"Individual settings can be controlled in the Preferences."
+msgstr ""
+
+#: ../src/vikcoordlayer.c:57
msgid "Color:"
msgstr "Warna:"
-#: ../src/vikcoordlayer.c:47
+#: ../src/vikcoordlayer.c:58
msgid "Minutes Width:"
msgstr ""
-#: ../src/vikcoordlayer.c:48
+#: ../src/vikcoordlayer.c:59
msgid "Line Thickness:"
msgstr "Tebal Garis:"
-#: ../src/vikcoordlayer.c:56
+#: ../src/vikcoordlayer.c:66
msgid "Coordinate"
msgstr ""
@@ -952,62 +1106,130 @@ msgstr ""
msgid "Polygonzied Layer"
msgstr ""
-#: ../src/main.c:89
+#: ../src/main.c:92
#, c-format
msgid "Ignoring Xlib error: error code %d request code %d\n"
msgstr ""
-#: ../src/main.c:102
+#: ../src/main.c:105
msgid "Enable debug output"
msgstr ""
-#: ../src/main.c:103
+#: ../src/main.c:106
msgid "Enable verbose output"
msgstr ""
-#: ../src/main.c:104
+#: ../src/main.c:107
msgid "Show version"
msgstr "Tampilkan versi"
-#: ../src/osm.c:106
+#: ../src/osm.c:99
msgid "On Disk OSM Tile Format"
msgstr ""
-#: ../src/osm.c:121
+#: ../src/osm.c:113
msgid "OSM (view)"
msgstr "OSM (tilik)"
-#: ../src/osm.c:125
+#: ../src/osm.c:117
msgid "OSM (edit)"
msgstr "OSM (sunting)"
-#: ../src/osm.c:129
+#: ../src/osm.c:121
msgid "OSM (render)"
msgstr "OSM (render)"
#. Example: http://127.0.0.1:8111/load_and_zoom?left=8.19&right=8.20&top=48.605&bottom=48.590&select=node413602999
#. JOSM or merkaartor must already be running with remote interface enabled
-#: ../src/osm.c:136
+#: ../src/osm.c:128
msgid "Local port 8111 (eg JOSM)"
msgstr ""
-#: ../src/preferences.c:285
+#: ../src/osm.c:134
+msgid "OpenStreetMap Notes"
+msgstr ""
+
+#: ../src/osm.c:138
+msgid "OpenStreetBugs"
+msgstr ""
+
+#. Not really OSM but can't be bothered to create somewhere else to put it...
+#: ../src/osm.c:164
+msgid "Wikimedia Toolserver GeoHack"
+msgstr ""
+
+#: ../src/preferences.c:191
msgid "Preferences"
msgstr ""
-#: ../src/uibuilder.c:147
+#: ../src/viklayer_defaults.c:232
+#, c-format
+msgid "Could not open file: %s"
+msgstr ""
+
+#: ../src/viklayer_defaults.c:303
+msgid "Layer Defaults"
+msgstr ""
+
+#: ../src/uibuilder.c:185
msgid "Take care that this password will be stored clearly in a plain file."
msgstr ""
-#: ../src/vikaggregatelayer.c:37
+#: ../src/vikaggregatelayer.c:42
msgid "Aggregate"
msgstr ""
-#: ../src/vikdemlayer.c:101
+#. VikLayersPanel *vlp = VIK_LAYERS_PANEL(lav[1]);
+#: ../src/vikaggregatelayer.c:484 ../src/viktrwlayer.c:10238
+#, c-format
+msgid "%s: Track and Route List"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:529 ../src/viktrwlayer.c:7354
+#: ../src/viktrwlayer.c:7420 ../src/viktrwlayer.c:7498
+msgid "_Visibility"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:534
+msgid "_Show All"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:540
+msgid "_Hide All"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:546 ../src/viktrwlayer.c:7371
+#: ../src/viktrwlayer.c:7437 ../src/viktrwlayer.c:7515
+msgid "_Toggle"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:553 ../src/viktrwlayer.c:7536
+msgid "_Sort"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:559 ../src/viktrwlayer.c:7542
+msgid "Name _Ascending"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:565 ../src/viktrwlayer.c:7548
+msgid "Name _Descending"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:571 ../src/viktrwlayer.c:7449
+#: ../src/viktrwlayer.c:7527 ../src/viktrwlayer.c:7587
+#: ../src/viktrwlayer_tracklist.c:237
+msgid "_Statistics"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:576 ../src/viktrwlayer.c:3971
+msgid "Track _List..."
+msgstr ""
+
+#: ../src/vikdemlayer.c:92
msgid "Absolute height"
msgstr ""
-#: ../src/vikdemlayer.c:102
+#: ../src/vikdemlayer.c:93
msgid "Height gradient"
msgstr ""
@@ -1047,25 +1269,52 @@ msgstr ""
msgid "DEM"
msgstr ""
-#: ../src/vikdemlayer.c:284
+#: ../src/vikdemlayer.c:287
#, c-format
msgid "Number of files: %d"
msgstr ""
-#: ../src/vikdemlayer.c:385
+#: ../src/vikdemlayer.c:427
msgid "DEM Loading"
msgstr ""
-#: ../src/vikdemlayer.c:889
+#: ../src/vikdemlayer.c:937
#, c-format
msgid "No SRTM data available for %f, %f"
msgstr ""
-#: ../src/vikdemlayer.c:1149
+#. Probably not over any land...
+#: ../src/vikdemlayer.c:1193
+msgid "No DEM File Available"
+msgstr ""
+
+#: ../src/vikdemlayer.c:1212
+#, c-format
+msgid ""
+"\n"
+"Source: %s\n"
+"\n"
+"DEM File: %s\n"
+"DEM File Timestamp: %s"
+msgstr ""
+
+#: ../src/vikdemlayer.c:1216
+#, c-format
+msgid ""
+"Source: %s\n"
+"\n"
+"No DEM File!"
+msgstr ""
+
+#: ../src/vikdemlayer.c:1256
#, c-format
msgid "Downloading DEM %s"
msgstr ""
+#: ../src/vikdemlayer.c:1280
+msgid "_Show DEM File Information"
+msgstr ""
+
#: ../src/vikfileentry.c:68
msgid "Browse..."
msgstr "Ramban..."
@@ -1086,248 +1335,266 @@ msgstr "Tambah..."
msgid "Delete"
msgstr "Hapus"
-#: ../src/vikgeoreflayer.c:70
+#: ../src/vikgeoreflayer.c:78
msgid "_Georef Move Map"
msgstr ""
-#: ../src/vikgeoreflayer.c:70
+#: ../src/vikgeoreflayer.c:78
msgid "Georef Move Map"
msgstr ""
-#: ../src/vikgeoreflayer.c:77
+#: ../src/vikgeoreflayer.c:85
msgid "Georef Z_oom Tool"
msgstr ""
-#: ../src/vikgeoreflayer.c:77
+#: ../src/vikgeoreflayer.c:85
msgid "Georef Zoom Tool"
msgstr ""
-#: ../src/vikgeoreflayer.c:87
+#: ../src/vikgeoreflayer.c:95
msgid "GeoRef Map"
msgstr ""
-#: ../src/vikgeoreflayer.c:335 ../src/vikmapslayer.c:685
+#: ../src/vikgeoreflayer.c:377 ../src/vikmapslayer.c:720
#, c-format
msgid "Couldn't open image file: %s"
msgstr ""
-#: ../src/vikgeoreflayer.c:365
+#: ../src/vikgeoreflayer.c:391
+msgid ""
+"GeoRef map cannot be displayed in the current drawmode.\n"
+"Select \"UTM Mode\" from View menu to view it."
+msgstr ""
+
+#: ../src/vikgeoreflayer.c:415
msgid "Unexpected end of file reading World file."
msgstr ""
-#: ../src/vikgeoreflayer.c:381 ../src/vikgeoreflayer.c:426
+#: ../src/vikgeoreflayer.c:431 ../src/vikgeoreflayer.c:476
msgid "Choose World file"
msgstr ""
-#: ../src/vikgeoreflayer.c:394
+#: ../src/vikgeoreflayer.c:444
msgid "The World file you requested could not be opened for reading."
msgstr ""
-#: ../src/vikgeoreflayer.c:439
+#: ../src/vikgeoreflayer.c:489
msgid "The file you requested could not be opened for writing."
msgstr ""
-#: ../src/vikgeoreflayer.c:456 ../src/viklayer.c:480
+#: ../src/vikgeoreflayer.c:506 ../src/viklayer.c:518
msgid "Layer Properties"
msgstr ""
-#: ../src/vikgeoreflayer.c:478
+#: ../src/vikgeoreflayer.c:528
msgid "World File Parameters:"
msgstr ""
-#: ../src/vikgeoreflayer.c:479
+#: ../src/vikgeoreflayer.c:529
msgid "Load From File..."
msgstr "Muat Dari Berkas..."
-#: ../src/vikgeoreflayer.c:484
+#: ../src/vikgeoreflayer.c:534
msgid "Corner pixel easting:"
msgstr ""
-#: ../src/vikgeoreflayer.c:486
-msgid "the UTM \"easting\" value of the upper-right corner pixel of the map"
+#: ../src/vikgeoreflayer.c:536
+msgid "the UTM \"easting\" value of the upper-left corner pixel of the map"
msgstr ""
-#: ../src/vikgeoreflayer.c:488
+#: ../src/vikgeoreflayer.c:538
msgid "Corner pixel northing:"
msgstr ""
-#: ../src/vikgeoreflayer.c:490
-msgid "the UTM \"northing\" value of the upper-right corner pixel of the map"
+#: ../src/vikgeoreflayer.c:540
+msgid "the UTM \"northing\" value of the upper-left corner pixel of the map"
msgstr ""
-#: ../src/vikgeoreflayer.c:492
+#: ../src/vikgeoreflayer.c:542
msgid "X (easting) scale (mpp): "
msgstr ""
-#: ../src/vikgeoreflayer.c:493
+#: ../src/vikgeoreflayer.c:543
msgid "Y (northing) scale (mpp): "
msgstr ""
-#: ../src/vikgeoreflayer.c:496
+#: ../src/vikgeoreflayer.c:546
msgid "the scale of the map in the X direction (meters per pixel)"
msgstr ""
-#: ../src/vikgeoreflayer.c:498
+#: ../src/vikgeoreflayer.c:548
msgid "the scale of the map in the Y direction (meters per pixel)"
msgstr ""
-#: ../src/vikgeoreflayer.c:500
+#: ../src/vikgeoreflayer.c:550
msgid "Map Image:"
msgstr "Citra Peta:"
#. Now with icons
-#: ../src/vikgeoreflayer.c:608
+#: ../src/vikgeoreflayer.c:658
msgid "_Zoom to Fit Map"
msgstr ""
-#: ../src/vikgeoreflayer.c:614
+#: ../src/vikgeoreflayer.c:664
msgid "_Goto Map Center"
msgstr ""
-#: ../src/vikgeoreflayer.c:620
+#: ../src/vikgeoreflayer.c:670
msgid "_Export to World File"
msgstr ""
-#: ../src/vikgoto.c:75
+#: ../src/vikgoto.c:81
msgid "No goto tool available."
msgstr ""
-#: ../src/vikgoto.c:88 ../src/vikgoto.c:107
+#: ../src/vikgoto.c:94 ../src/vikgoto.c:148
msgid "goto"
msgstr ""
-#: ../src/vikgoto.c:90
+#: ../src/vikgoto.c:96
msgid "I don't know that place. Do you want another goto?"
msgstr ""
-#: ../src/vikgoto.c:109
+#: ../src/vikgoto.c:150
msgid "goto provider:"
msgstr ""
-#: ../src/vikgoto.c:124
+#: ../src/vikgoto.c:165
msgid "Enter address or place name:"
msgstr "Masukkan alamat atau nama tempat:"
-#: ../src/vikgpslayer.c:127
+#: ../src/vikgoto.c:363
+msgid "Locality"
+msgstr ""
+
+#: ../src/vikgpslayer.c:128
msgid "Data Mode"
msgstr ""
-#: ../src/vikgpslayer.c:129
+#: ../src/vikgpslayer.c:130
msgid "Realtime Tracking Mode"
msgstr ""
-#: ../src/vikgpslayer.c:137
+#: ../src/vikgpslayer.c:167
msgid "Keep vehicle at center"
msgstr ""
-#: ../src/vikgpslayer.c:138
+#: ../src/vikgpslayer.c:168
msgid "Keep vehicle on screen"
msgstr ""
-#: ../src/vikgpslayer.c:139
+#: ../src/vikgpslayer.c:169
msgid "Disable"
msgstr ""
-#: ../src/vikgpslayer.c:152
+#: ../src/vikgpslayer.c:209
msgid "Download Tracks:"
msgstr ""
-#: ../src/vikgpslayer.c:153
+#: ../src/vikgpslayer.c:210
msgid "Upload Tracks:"
msgstr ""
-#: ../src/vikgpslayer.c:154
+#: ../src/vikgpslayer.c:211
msgid "Download Routes:"
msgstr ""
-#: ../src/vikgpslayer.c:155
+#: ../src/vikgpslayer.c:212
msgid "Upload Routes:"
msgstr ""
-#: ../src/vikgpslayer.c:156
+#: ../src/vikgpslayer.c:213
msgid "Download Waypoints:"
msgstr ""
-#: ../src/vikgpslayer.c:157
+#: ../src/vikgpslayer.c:214
msgid "Upload Waypoints:"
msgstr ""
-#: ../src/vikgpslayer.c:159
+#: ../src/vikgpslayer.c:216
msgid "Recording tracks"
msgstr "Mencatat jejak"
-#: ../src/vikgpslayer.c:160
+#: ../src/vikgpslayer.c:217
msgid "Jump to current position on start"
msgstr ""
-#: ../src/vikgpslayer.c:161
+#: ../src/vikgpslayer.c:218
msgid "Moving Map Method:"
msgstr ""
-#: ../src/vikgpslayer.c:162
+#: ../src/vikgpslayer.c:219
+msgid "Update Statusbar:"
+msgstr ""
+
+#: ../src/vikgpslayer.c:219
+msgid "Display information in the statusbar on GPS updates"
+msgstr ""
+
+#: ../src/vikgpslayer.c:220
msgid "Gpsd Host:"
msgstr "Host Gpsd:"
-#: ../src/vikgpslayer.c:163
+#: ../src/vikgpslayer.c:221
msgid "Gpsd Port:"
msgstr "Port Gpsd:"
-#: ../src/vikgpslayer.c:164
+#: ../src/vikgpslayer.c:222
msgid "Gpsd Retry Interval (seconds):"
msgstr "Selang Coba Ulang Gpsd (detik):"
-#: ../src/vikgpslayer.c:179
+#: ../src/vikgpslayer.c:243
msgid "GPS"
msgstr ""
-#: ../src/vikgpslayer.c:242 ../src/vikgpslayer.c:1258
+#: ../src/vikgpslayer.c:306 ../src/vikgpslayer.c:1308
msgid "GPS Download"
msgstr "Unduhan GPS"
-#: ../src/vikgpslayer.c:242 ../src/vikgpslayer.c:1258
-#: ../src/viktrwlayer.c:3094
+#: ../src/vikgpslayer.c:306 ../src/vikgpslayer.c:1308
+#: ../src/viktrwlayer.c:3480
msgid "GPS Upload"
msgstr "Unggahan GPS"
-#: ../src/vikgpslayer.c:244
+#: ../src/vikgpslayer.c:308
msgid "GPS Realtime Tracking"
msgstr ""
-#: ../src/vikgpslayer.c:451
+#: ../src/vikgpslayer.c:517
msgid "Unknown GPS Protocol"
msgstr "Protokol GPS Tak Dikenal"
-#: ../src/vikgpslayer.c:469
+#: ../src/vikgpslayer.c:535
msgid "Unknown serial port device"
msgstr "Perangkat port serial tak dikenal"
-#: ../src/vikgpslayer.c:572
+#: ../src/vikgpslayer.c:648
#, c-format
msgid "%s: unknown parameter"
msgstr "%s: parameter tak dikenal"
#. Now with icons
-#: ../src/vikgpslayer.c:693
+#: ../src/vikgpslayer.c:743
msgid "_Upload to GPS"
msgstr ""
-#: ../src/vikgpslayer.c:699
+#: ../src/vikgpslayer.c:749
msgid "Download from _GPS"
msgstr ""
-#: ../src/vikgpslayer.c:720
+#: ../src/vikgpslayer.c:770
msgid "Empty _Realtime"
msgstr ""
-#: ../src/vikgpslayer.c:727
+#: ../src/vikgpslayer.c:777
msgid "E_mpty Upload"
msgstr ""
-#: ../src/vikgpslayer.c:733
+#: ../src/vikgpslayer.c:783
msgid "_Empty Download"
msgstr ""
-#: ../src/vikgpslayer.c:739
+#: ../src/vikgpslayer.c:789
msgid "Empty _All"
msgstr ""
@@ -1336,234 +1603,232 @@ msgstr ""
#. This happens when copied GPS layer is deleted (not sure why the number_handlers would be 2)
#. I don't think there's any side effects and certainly better than the program just aborting
#.
-#: ../src/vikgpslayer.c:756
+#: ../src/vikgpslayer.c:806
#, c-format
msgid "Unexpected number of disconnected handlers: %d"
msgstr ""
-#: ../src/vikgpslayer.c:898
+#: ../src/vikgpslayer.c:948
#, c-format
msgid "Uploading %d waypoint..."
msgid_plural "Uploading %d waypoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:899
+#: ../src/vikgpslayer.c:949
#, c-format
msgid "Uploading %d trackpoint..."
msgid_plural "Uploading %d trackpoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:900
+#: ../src/vikgpslayer.c:950
#, c-format
msgid "Uploading %d routepoint..."
msgid_plural "Uploading %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:925
+#: ../src/vikgpslayer.c:975
#, c-format
msgid "Downloaded %d out of %d waypoint..."
msgid_plural "Downloaded %d out of %d waypoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:926
+#: ../src/vikgpslayer.c:976
#, c-format
msgid "Downloaded %d out of %d trackpoint..."
msgid_plural "Downloaded %d out of %d trackpoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:927
+#: ../src/vikgpslayer.c:977
#, c-format
msgid "Downloaded %d out of %d routepoint..."
msgid_plural "Downloaded %d out of %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:932
+#: ../src/vikgpslayer.c:982
#, c-format
msgid "Uploaded %d out of %d waypoint..."
msgid_plural "Uploaded %d out of %d waypoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:933
+#: ../src/vikgpslayer.c:983
#, c-format
msgid "Uploaded %d out of %d trackpoint..."
msgid_plural "Uploaded %d out of %d trackpoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:934
+#: ../src/vikgpslayer.c:984
#, c-format
msgid "Uploaded %d out of %d routepoint..."
msgid_plural "Uploaded %d out of %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:942
+#: ../src/vikgpslayer.c:992
#, c-format
msgid "Downloaded %d waypoint"
msgid_plural "Downloaded %d waypoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:943
+#: ../src/vikgpslayer.c:993
#, c-format
msgid "Downloaded %d trackpoint"
msgid_plural "Downloaded %d trackpoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:944
+#: ../src/vikgpslayer.c:994
#, c-format
msgid "Downloaded %d routepoint"
msgid_plural "Downloaded %d routepoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:949
+#: ../src/vikgpslayer.c:999
#, c-format
msgid "Uploaded %d waypoint"
msgid_plural "Uploaded %d waypoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:950
+#: ../src/vikgpslayer.c:1000
#, c-format
msgid "Uploaded %d trackpoint"
msgid_plural "Uploaded %d trackpoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:951
+#: ../src/vikgpslayer.c:1001
#, c-format
msgid "Uploaded %d routepoint"
msgid_plural "Uploaded %d routepoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:1180
+#: ../src/vikgpslayer.c:1230
msgid "Error: couldn't find gpsbabel."
msgstr ""
-#: ../src/vikgpslayer.c:1269
+#: ../src/vikgpslayer.c:1319
msgid "Warning - GPS Upload items may overwrite each other"
msgstr ""
-#: ../src/vikgpslayer.c:1301
+#: ../src/vikgpslayer.c:1351
msgid "Status: detecting gpsbabel"
msgstr "Status: mendeteksi gpsbabel"
-#: ../src/vikgpslayer.c:1332
+#: ../src/vikgpslayer.c:1386
msgid "No GPS items selected for transfer."
msgstr ""
-#: ../src/vikgpslayer.c:1347
+#: ../src/vikgpslayer.c:1401
msgid "Could not turn off device."
msgstr ""
-#: ../src/vikgpslayer.c:1385
+#: ../src/vikgpslayer.c:1439
msgid "Are you sure you want to delete GPS Upload data?"
msgstr ""
-#: ../src/vikgpslayer.c:1398
+#: ../src/vikgpslayer.c:1452
msgid "Are you sure you want to delete GPS Download data?"
msgstr ""
-#: ../src/vikgpslayer.c:1412
+#: ../src/vikgpslayer.c:1466
msgid "Are you sure you want to delete GPS Realtime data?"
msgstr ""
-#: ../src/vikgpslayer.c:1425
+#: ../src/vikgpslayer.c:1479
msgid "Are you sure you want to delete All GPS data?"
msgstr ""
-#: ../src/viklayerspanel.c:55
-msgid "/C_ut"
-msgstr "/_Potong"
+#: ../src/viklayerspanel.c:53
+msgid "C_ut"
+msgstr ""
-#: ../src/viklayerspanel.c:56
-msgid "/_Copy"
-msgstr "/_Salin"
+#: ../src/viklayerspanel.c:54 ../src/vikwindow.c:3753
+msgid "_Copy"
+msgstr "Salin"
-#: ../src/viklayerspanel.c:57
-msgid "/_Paste"
-msgstr "/_Tempel"
+#: ../src/viklayerspanel.c:55 ../src/vikwindow.c:3754
+msgid "_Paste"
+msgstr "Tempel"
-#: ../src/viklayerspanel.c:58
-msgid "/_Delete"
-msgstr "/_Hapus"
+#: ../src/viklayerspanel.c:56 ../src/vikwindow.c:3755
+msgid "_Delete"
+msgstr "Hapus"
-#: ../src/viklayerspanel.c:59
-msgid "/New Layer"
-msgstr "/Lapis Baru"
+#: ../src/viklayerspanel.c:133
+msgid "New Layer"
+msgstr ""
-#: ../src/viklayerspanel.c:127
+#: ../src/viklayerspanel.c:178
msgid "Top Layer"
msgstr "Lapis Puncak"
-#: ../src/viklayerspanel.c:143
+#: ../src/viklayerspanel.c:194
msgid "Add new layer"
msgstr ""
-#: ../src/viklayerspanel.c:150
+#: ../src/viklayerspanel.c:201
msgid "Remove selected layer"
msgstr ""
-#: ../src/viklayerspanel.c:157
+#: ../src/viklayerspanel.c:208
msgid "Move selected layer up"
msgstr ""
-#: ../src/viklayerspanel.c:164
+#: ../src/viklayerspanel.c:215
msgid "Move selected layer down"
msgstr ""
-#: ../src/viklayerspanel.c:171
+#: ../src/viklayerspanel.c:222
msgid "Cut selected layer"
msgstr ""
-#: ../src/viklayerspanel.c:178
+#: ../src/viklayerspanel.c:229
msgid "Copy selected layer"
msgstr ""
-#: ../src/viklayerspanel.c:185
-msgid "Paste layer below selected layer"
+#: ../src/viklayerspanel.c:236
+msgid ""
+"Paste layer into selected container layer or otherwise above selected layer"
msgstr ""
-#. TODO: FIXME: if name has a '/' in it it will get all messed up. why not have an itemfactory field with
-#. name, icon, shortcut, etc.?
-#: ../src/viklayerspanel.c:204 ../src/vikwindow.c:3292
-#, c-format
-msgid "New _%s Layer"
+#: ../src/viklayerspanel.c:300
+msgid "New name can not be blank."
msgstr ""
-#: ../src/viklayerspanel.c:511
+#: ../src/viklayerspanel.c:544
msgid "Aggregate Layers have no settable properties."
msgstr ""
-#: ../src/viklayerspanel.c:555
+#: ../src/viklayerspanel.c:588
msgid "You cannot cut the Top Layer."
msgstr ""
-#: ../src/viklayerspanel.c:600
+#: ../src/viklayerspanel.c:633
#, c-format
msgid "Are you sure you want to delete %s?"
msgstr ""
-#: ../src/viklayerspanel.c:617
+#: ../src/viklayerspanel.c:650
msgid "You cannot delete the Top Layer."
msgstr ""
-#: ../src/viklayerspanel.c:701
+#: ../src/viklayerspanel.c:734
msgid "Are you sure you wish to delete all layers?"
msgstr ""
#. ******* MAPZOOMS ********
-#: ../src/vikmapslayer.c:91
+#: ../src/vikmapslayer.c:80
msgid "Use Viking Zoom Level"
msgstr ""
@@ -1610,70 +1875,70 @@ msgid ""
"actual zoom level."
msgstr ""
-#: ../src/vikmapslayer.c:146
+#: ../src/vikmapslayer.c:156
msgid "_Maps Download"
msgstr ""
-#: ../src/vikmapslayer.c:146
+#: ../src/vikmapslayer.c:156
msgid "Maps Download"
msgstr ""
-#: ../src/vikmapslayer.c:161
+#: ../src/vikmapslayer.c:171
msgid "Map"
msgstr "Peta"
-#: ../src/vikmapslayer.c:249
-msgid "Default maplayer directory:"
+#: ../src/vikmapslayer.c:259
+msgid "Default map layer directory:"
msgstr ""
-#: ../src/vikmapslayer.c:249
+#: ../src/vikmapslayer.c:259
msgid "Choose a directory to store cached Map tiles for this layer"
msgstr ""
-#: ../src/vikmapslayer.c:505
+#: ../src/vikmapslayer.c:523
msgid "Unknown map type"
msgstr ""
-#: ../src/vikmapslayer.c:516
+#: ../src/vikmapslayer.c:534
msgid "Unknown Map Zoom"
msgstr ""
-#: ../src/vikmapslayer.c:589
+#: ../src/vikmapslayer.c:624
#, c-format
msgid ""
"New map cannot be displayed in the current drawmode.\n"
"Select \"%s\" from View menu to view it."
msgstr ""
-#: ../src/vikmapslayer.c:753
+#: ../src/vikmapslayer.c:798
#, c-format
msgid ""
"Cowardly refusing to draw tiles or existence of tiles beyond %d zoom out "
"factor"
msgstr ""
-#: ../src/vikmapslayer.c:1157
+#: ../src/vikmapslayer.c:1210
#, c-format
msgid "Redownloading up to %d %s map..."
msgid_plural "Redownloading up to %d %s maps..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikmapslayer.c:1159
+#: ../src/vikmapslayer.c:1212
#, c-format
msgid "Redownloading %d %s map..."
msgid_plural "Redownloading %d %s maps..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikmapslayer.c:1163 ../src/vikmapslayer.c:1238
+#: ../src/vikmapslayer.c:1216 ../src/vikmapslayer.c:1290
#, c-format
msgid "Downloading %d %s map..."
msgid_plural "Downloading %d %s maps..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikmapslayer.c:1311
+#: ../src/vikmapslayer.c:1376
#, c-format
msgid ""
"\n"
@@ -1683,7 +1948,7 @@ msgid ""
"Tile File Timestamp: %s"
msgstr ""
-#: ../src/vikmapslayer.c:1318
+#: ../src/vikmapslayer.c:1380
#, c-format
msgid ""
"Source: %s\n"
@@ -1691,1458 +1956,2035 @@ msgid ""
"No Tile File!"
msgstr ""
-#: ../src/vikmapslayer.c:1356
+#: ../src/vikmapslayer.c:1418
msgid "Redownload _Bad Map(s)"
msgstr ""
-#: ../src/vikmapslayer.c:1360
+#: ../src/vikmapslayer.c:1422
msgid "Redownload _New Map(s)"
msgstr ""
-#: ../src/vikmapslayer.c:1364
+#: ../src/vikmapslayer.c:1426
msgid "Redownload _All Map(s)"
msgstr ""
-#: ../src/vikmapslayer.c:1368
+#: ../src/vikmapslayer.c:1430
msgid "_Show Tile Information"
msgstr ""
-#: ../src/vikmapslayer.c:1449
+#: ../src/vikmapslayer.c:1511
#, c-format
msgid ""
"Wrong drawmode for this map.\n"
"Select \"%s\" from View menu and try again."
msgstr ""
-#: ../src/vikmapslayer.c:1454
+#: ../src/vikmapslayer.c:1516
msgid "Wrong zoom level for this map."
msgstr ""
+#: ../src/vikmapslayer.c:1647
+msgid "Zoom Start:"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1654
+msgid "Zoom End:"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1660
+msgid "Download Maps Method:"
+msgstr ""
+
+#. redownload method - needs to align with REDOWNLOAD* macro values
+#: ../src/vikmapslayer.c:1732
+msgid "Missing"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1732
+msgid "Bad"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1732
+msgid "New"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1732
+msgid "Reload All"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1734
+msgid "Download for Zoom Levels"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1774
+#, c-format
+msgid ""
+"You are not allowed to download more than %d tiles in one go (requested %d)"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1782
+#, c-format
+msgid "Do you really want to download %d tiles?"
+msgstr ""
+
#. Now with icons
-#: ../src/vikmapslayer.c:1485
+#: ../src/vikmapslayer.c:1807
msgid "Download _Missing Onscreen Maps"
msgstr ""
-#: ../src/vikmapslayer.c:1492
+#: ../src/vikmapslayer.c:1814
msgid "Download _New Onscreen Maps"
msgstr ""
-#: ../src/vikmapslayer.c:1499
+#: ../src/vikmapslayer.c:1821
msgid "Reload _All Onscreen Maps"
msgstr ""
-#: ../src/viktreeview.c:263
+#: ../src/vikmapslayer.c:1827
+msgid "Download Maps in _Zoom Levels..."
+msgstr ""
+
+#: ../src/vikrouting.c:54
+msgid "Default engine:"
+msgstr ""
+
+#: ../src/viktreeview.c:316
msgid "Layer Name"
msgstr "Nama Lapisan"
-#: ../src/viktreeview.c:742
+#: ../src/viktreeview.c:851
#, c-format
msgid "delete data from %s\n"
msgstr ""
-#: ../src/viktrwlayer.c:377
+#: ../src/viktrwlayer.c:398
msgid "Create _Waypoint"
msgstr ""
-#: ../src/viktrwlayer.c:377
+#: ../src/viktrwlayer.c:398
msgid "Create Waypoint"
msgstr ""
-#: ../src/viktrwlayer.c:383
+#: ../src/viktrwlayer.c:404
msgid "Create _Track"
msgstr ""
-#: ../src/viktrwlayer.c:383
+#: ../src/viktrwlayer.c:404
msgid "Create Track"
msgstr ""
-#: ../src/viktrwlayer.c:392
+#: ../src/viktrwlayer.c:413
msgid "Create _Route"
msgstr ""
-#: ../src/viktrwlayer.c:392
+#: ../src/viktrwlayer.c:413
msgid "Create Route"
msgstr ""
-#: ../src/viktrwlayer.c:401
+#: ../src/viktrwlayer.c:422
msgid "_Edit Waypoint"
msgstr ""
-#: ../src/viktrwlayer.c:401
+#: ../src/viktrwlayer.c:422
msgid "Edit Waypoint"
msgstr ""
-#: ../src/viktrwlayer.c:409
+#: ../src/viktrwlayer.c:432
msgid "Edit Trac_kpoint"
msgstr ""
-#: ../src/viktrwlayer.c:409
+#: ../src/viktrwlayer.c:432
msgid "Edit Trackpoint"
msgstr ""
-#: ../src/viktrwlayer.c:417
+#: ../src/viktrwlayer.c:442
msgid "Show P_icture"
msgstr ""
-#: ../src/viktrwlayer.c:417
+#: ../src/viktrwlayer.c:442
msgid "Show Picture"
msgstr ""
-#: ../src/viktrwlayer.c:424
+#: ../src/viktrwlayer.c:448
msgid "Route _Finder"
msgstr ""
-#: ../src/viktrwlayer.c:424
+#: ../src/viktrwlayer.c:448
msgid "Route Finder"
msgstr ""
#. ***** PARAMETERS *****
-#: ../src/viktrwlayer.c:447 ../src/viktrwlayer.c:1942
-#: ../src/viktrwlayer.c:1944
+#: ../src/viktrwlayer.c:468 ../src/viktrwlayer.c:2324
msgid "Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:447 ../src/viktrwlayer.c:1933
-#: ../src/viktrwlayer.c:1935
+#: ../src/viktrwlayer.c:468 ../src/viktrwlayer.c:2319
msgid "Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:447
+#: ../src/viktrwlayer.c:468
msgid "Waypoint Images"
msgstr ""
-#: ../src/viktrwlayer.c:450
+#: ../src/viktrwlayer.c:468
+msgid "Tracks Advanced"
+msgstr ""
+
+#: ../src/viktrwlayer.c:471
msgid "Draw by Track"
msgstr ""
-#: ../src/viktrwlayer.c:450
+#: ../src/viktrwlayer.c:471
msgid "Draw by Speed"
msgstr ""
-#: ../src/viktrwlayer.c:450
+#: ../src/viktrwlayer.c:471
msgid "All Tracks Same Color"
msgstr ""
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "Filled Square"
msgstr ""
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "Square"
msgstr "Kotak"
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "Circle"
msgstr "Bulat"
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "X"
msgstr "X"
-#: ../src/viktrwlayer.c:477
+#: ../src/viktrwlayer.c:498
msgid "Extra Extra Small"
msgstr ""
-#: ../src/viktrwlayer.c:478
+#: ../src/viktrwlayer.c:499
msgid "Extra Small"
msgstr ""
-#: ../src/viktrwlayer.c:479
+#: ../src/viktrwlayer.c:500
msgid "Small"
msgstr ""
-#: ../src/viktrwlayer.c:480
+#: ../src/viktrwlayer.c:501
msgid "Medium"
msgstr ""
-#: ../src/viktrwlayer.c:481
+#: ../src/viktrwlayer.c:502
msgid "Large"
msgstr ""
-#: ../src/viktrwlayer.c:482
+#: ../src/viktrwlayer.c:503
msgid "Extra Large"
msgstr ""
-#: ../src/viktrwlayer.c:483
+#: ../src/viktrwlayer.c:504
msgid "Extra Extra Large"
msgstr ""
-#: ../src/viktrwlayer.c:491
+#: ../src/viktrwlayer.c:510
+msgid "Name Ascending"
+msgstr ""
+
+#: ../src/viktrwlayer.c:511
+msgid "Name Descending"
+msgstr ""
+
+#: ../src/viktrwlayer.c:552 ../src/viktrwlayer.c:576
+msgid "Draw Labels"
+msgstr ""
+
+#: ../src/viktrwlayer.c:553
+msgid "Note: the individual track controls what labels may be displayed"
+msgstr ""
+
+#: ../src/viktrwlayer.c:554
+msgid "Track Labels Font Size:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:555
msgid "Track Drawing Mode:"
msgstr ""
-#: ../src/viktrwlayer.c:492
+#: ../src/viktrwlayer.c:556
msgid "All Tracks Color:"
msgstr ""
-#: ../src/viktrwlayer.c:493
+#: ../src/viktrwlayer.c:557
msgid "The color used when 'All Tracks Same Color' drawing mode is selected"
msgstr ""
-#: ../src/viktrwlayer.c:494
+#: ../src/viktrwlayer.c:558
msgid "Draw Track Lines"
msgstr ""
-#: ../src/viktrwlayer.c:495
+#: ../src/viktrwlayer.c:559
msgid "Track Thickness:"
msgstr ""
-#: ../src/viktrwlayer.c:496
+#: ../src/viktrwlayer.c:560
msgid "Draw Track Direction"
msgstr ""
-#: ../src/viktrwlayer.c:497
+#: ../src/viktrwlayer.c:561
msgid "Direction Size:"
msgstr ""
-#: ../src/viktrwlayer.c:498
+#: ../src/viktrwlayer.c:562
msgid "Draw Trackpoints"
msgstr ""
-#: ../src/viktrwlayer.c:499
+#: ../src/viktrwlayer.c:563
msgid "Trackpoint Size:"
msgstr ""
-#: ../src/viktrwlayer.c:500
+#: ../src/viktrwlayer.c:564
msgid "Draw Elevation"
msgstr ""
-#: ../src/viktrwlayer.c:501
+#: ../src/viktrwlayer.c:565
msgid "Draw Elevation Height %:"
msgstr ""
-#: ../src/viktrwlayer.c:503
+#: ../src/viktrwlayer.c:566
msgid "Draw Stops"
msgstr ""
-#: ../src/viktrwlayer.c:504
+#: ../src/viktrwlayer.c:567
msgid ""
"Whether to draw a marker when trackpoints are at the same position but over "
"the minimum stop length apart in time"
msgstr ""
-#: ../src/viktrwlayer.c:505
+#: ../src/viktrwlayer.c:568
msgid "Min Stop Length (seconds):"
msgstr ""
-#: ../src/viktrwlayer.c:507
+#: ../src/viktrwlayer.c:570
msgid "Track BG Thickness:"
msgstr ""
-#: ../src/viktrwlayer.c:508
+#: ../src/viktrwlayer.c:571
msgid "Track Background Color"
msgstr ""
-#: ../src/viktrwlayer.c:509
+#: ../src/viktrwlayer.c:572
msgid "Draw by Speed Factor (%):"
msgstr ""
-#: ../src/viktrwlayer.c:510
+#: ../src/viktrwlayer.c:573
msgid ""
"The percentage factor away from the average speed determining the color used"
msgstr ""
-#: ../src/viktrwlayer.c:512
-msgid "Draw Labels"
+#: ../src/viktrwlayer.c:574
+msgid "Track Sort Order:"
msgstr ""
-#: ../src/viktrwlayer.c:513
+#: ../src/viktrwlayer.c:577
msgid "Waypoint Font Size:"
msgstr ""
-#: ../src/viktrwlayer.c:514
+#: ../src/viktrwlayer.c:578
msgid "Waypoint Color:"
msgstr ""
-#: ../src/viktrwlayer.c:515
+#: ../src/viktrwlayer.c:579
msgid "Waypoint Text:"
msgstr ""
-#: ../src/viktrwlayer.c:516
+#: ../src/viktrwlayer.c:580
msgid "Background:"
msgstr ""
-#: ../src/viktrwlayer.c:517
+#: ../src/viktrwlayer.c:581
msgid "Fake BG Color Translucency:"
msgstr ""
-#: ../src/viktrwlayer.c:518
+#: ../src/viktrwlayer.c:582
msgid "Waypoint marker:"
msgstr ""
-#: ../src/viktrwlayer.c:519
+#: ../src/viktrwlayer.c:583
msgid "Waypoint size:"
msgstr ""
-#: ../src/viktrwlayer.c:520
+#: ../src/viktrwlayer.c:584
msgid "Draw Waypoint Symbols:"
msgstr ""
-#: ../src/viktrwlayer.c:522
+#: ../src/viktrwlayer.c:585
+msgid "Waypoint Sort Order:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:587
msgid "Draw Waypoint Images"
msgstr ""
-#: ../src/viktrwlayer.c:523
+#: ../src/viktrwlayer.c:588
msgid "Image Size (pixels):"
msgstr ""
-#: ../src/viktrwlayer.c:524
+#: ../src/viktrwlayer.c:589
msgid "Image Alpha:"
msgstr ""
-#: ../src/viktrwlayer.c:525
+#: ../src/viktrwlayer.c:590
msgid "Image Memory Cache Size:"
msgstr ""
-#: ../src/viktrwlayer.c:610
+#: ../src/viktrwlayer.c:678
msgid "TrackWaypoint"
msgstr ""
-#: ../src/viktrwlayer.c:1951 ../src/viktrwlayer.c:1953
+#: ../src/viktrwlayer.c:1534 ../src/vikutils.c:204
+msgid "miles"
+msgstr ""
+
+#. VIK_UNITS_DISTANCE_KILOMETRES:
+#: ../src/viktrwlayer.c:1538 ../src/vikutils.c:209
+msgid "km"
+msgstr ""
+
+#: ../src/viktrwlayer.c:1648
+msgid "start/end"
+msgstr ""
+
+#: ../src/viktrwlayer.c:1660
+msgid "start"
+msgstr ""
+
+#: ../src/viktrwlayer.c:1669
+msgid "end"
+msgstr ""
+
+#: ../src/viktrwlayer.c:2329
msgid "Routes"
msgstr ""
-#: ../src/viktrwlayer.c:2144
+#: ../src/viktrwlayer.c:2519
#, c-format
msgid " in %d:%02d hrs:mins"
msgstr ""
-#: ../src/viktrwlayer.c:2148
+#: ../src/viktrwlayer.c:2523
#, c-format
msgid ""
"\n"
"%sTotal Length %.1f %s%s"
msgstr ""
-#: ../src/viktrwlayer.c:2154
+#: ../src/viktrwlayer.c:2529
#, c-format
msgid "Tracks: %d - Waypoints: %d - Routes: %d%s"
msgstr ""
-#: ../src/viktrwlayer.c:2174
+#: ../src/viktrwlayer.c:2549
#, c-format
msgid "Tracks: %d"
msgstr ""
-#: ../src/viktrwlayer.c:2184
+#: ../src/viktrwlayer.c:2559
#, c-format
msgid "Routes: %d"
msgstr ""
-#: ../src/viktrwlayer.c:2215
+#: ../src/viktrwlayer.c:2590
#, c-format
msgid "- %d:%02d hrs:mins"
msgstr ""
-#: ../src/viktrwlayer.c:2223
+#: ../src/viktrwlayer.c:2598
#, c-format
msgid "%s%.1f km %s"
msgstr ""
-#: ../src/viktrwlayer.c:2226
+#: ../src/viktrwlayer.c:2601
#, c-format
msgid "%s%.1f miles %s"
msgstr ""
-#: ../src/viktrwlayer.c:2240
+#: ../src/viktrwlayer.c:2615
#, c-format
msgid "Waypoints: %d"
msgstr ""
-#: ../src/viktrwlayer.c:2266
-#, c-format
-msgid "Trkpt: Alt %dft"
-msgstr ""
-
-#. VIK_UNITS_HEIGHT_METRES:
-#: ../src/viktrwlayer.c:2270
-#, c-format
-msgid "Trkpt: Alt %dm"
-msgstr ""
-
-#. Compact date time format
-#: ../src/viktrwlayer.c:2277
-#, c-format
-msgid " | Time %x %X"
-msgstr ""
-
-#: ../src/viktrwlayer.c:2295
-#, c-format
-msgid " | Track: %s"
-msgstr ""
-
-#. Combine parts to make overall message
-#: ../src/viktrwlayer.c:2299
-#, c-format
-msgid "%s%s | %s %s %s"
-msgstr ""
-
-#: ../src/viktrwlayer.c:2314
+#: ../src/viktrwlayer.c:2671
#, c-format
msgid "Wpt: Alt %dft"
msgstr ""
#. VIK_UNITS_HEIGHT_METRES:
-#: ../src/viktrwlayer.c:2318
+#: ../src/viktrwlayer.c:2675
#, c-format
msgid "Wpt: Alt %dm"
msgstr ""
#. Add comment if available
-#: ../src/viktrwlayer.c:2333
+#: ../src/viktrwlayer.c:2690
#, c-format
msgid "%s | %s %s | Comment: %s"
msgstr ""
-#: ../src/viktrwlayer.c:2335
+#: ../src/viktrwlayer.c:2692
#, c-format
msgid "%s | %s %s"
msgstr ""
-#: ../src/viktrwlayer.c:2563 ../src/viktrwlayer.c:2634
+#: ../src/viktrwlayer.c:2939 ../src/viktrwlayer.c:3010
msgid "This layer has no waypoints or trackpoints."
msgstr ""
-#: ../src/viktrwlayer.c:2661 ../src/vikwindow.c:2407 ../src/vikwindow.c:2848
+#: ../src/viktrwlayer.c:3045 ../src/vikwindow.c:2754 ../src/vikwindow.c:3407
#, c-format
msgid "The file \"%s\" exists, do you wish to overwrite it?"
msgstr ""
-#: ../src/viktrwlayer.c:2671 ../src/vikwindow.c:2429
+#: ../src/viktrwlayer.c:3057 ../src/vikwindow.c:2778
msgid "The filename you requested could not be opened for writing."
msgstr ""
-#: ../src/viktrwlayer.c:2676 ../src/viktrwlayer.c:2681
-#: ../src/viktrwlayer.c:2691 ../src/viktrwlayer.c:2703
+#: ../src/viktrwlayer.c:3062 ../src/viktrwlayer.c:3067
+#: ../src/viktrwlayer.c:3077 ../src/viktrwlayer.c:3089
msgid "Export Layer"
msgstr ""
-#: ../src/viktrwlayer.c:2720
+#: ../src/viktrwlayer.c:3108
msgid "Could not create temporary file for export."
msgstr ""
-#: ../src/viktrwlayer.c:2729
+#: ../src/viktrwlayer.c:3117
#, c-format
msgid "Could not launch %s."
msgstr ""
-#: ../src/viktrwlayer.c:2773
+#: ../src/viktrwlayer.c:3161
msgid "Export Track as GPX"
msgstr ""
-#: ../src/viktrwlayer.c:2795
+#: ../src/viktrwlayer.c:3183
msgid "Find"
msgstr ""
-#: ../src/viktrwlayer.c:2805
+#: ../src/viktrwlayer.c:3193
msgid "Waypoint Name:"
msgstr ""
-#: ../src/viktrwlayer.c:2822
+#: ../src/viktrwlayer.c:3210
msgid "Waypoint not found in this layer."
msgstr ""
-#: ../src/viktrwlayer.c:3090
+#: ../src/viktrwlayer.c:3476
msgid "Can not upload invisible track."
msgstr ""
-#: ../src/viktrwlayer.c:3192 ../src/viktrwlayer.c:7785
+#: ../src/viktrwlayer.c:3581 ../src/viktrwlayer.c:9283
msgid "Track"
msgstr ""
-#: ../src/viktrwlayer.c:3215 ../src/viktrwlayer.c:7817
+#: ../src/viktrwlayer.c:3606 ../src/viktrwlayer.c:9316
msgid "Route"
msgstr ""
-#: ../src/viktrwlayer.c:3296 ../src/viktrwlayer.c:6265
-#: ../src/viktrwlayer.c:6314
+#: ../src/viktrwlayer.c:3691 ../src/viktrwlayer.c:7460
+#: ../src/viktrwlayer.c:7566
msgid "_Finish Route"
msgstr ""
-#: ../src/viktrwlayer.c:3298 ../src/viktrwlayer.c:6223
-#: ../src/viktrwlayer.c:6312
+#: ../src/viktrwlayer.c:3693 ../src/viktrwlayer.c:7383
+#: ../src/viktrwlayer.c:7564
msgid "_Finish Track"
msgstr ""
#. Now with icons
-#: ../src/viktrwlayer.c:3310
+#: ../src/viktrwlayer.c:3705
msgid "_View Layer"
msgstr ""
-#: ../src/viktrwlayer.c:3317
+#: ../src/viktrwlayer.c:3712
msgid "V_iew"
msgstr ""
-#: ../src/viktrwlayer.c:3323
+#: ../src/viktrwlayer.c:3718
msgid "View All _Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:3328
+#: ../src/viktrwlayer.c:3723
msgid "View All _Routes"
msgstr ""
-#: ../src/viktrwlayer.c:3333
+#: ../src/viktrwlayer.c:3728
msgid "View All _Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:3338
+#: ../src/viktrwlayer.c:3733
msgid "_Goto Center of Layer"
msgstr ""
-#: ../src/viktrwlayer.c:3344 ../src/viktrwlayer.c:6199
+#: ../src/viktrwlayer.c:3739 ../src/viktrwlayer.c:7335
msgid "Goto _Waypoint..."
msgstr ""
-#: ../src/viktrwlayer.c:3350
+#: ../src/viktrwlayer.c:3745
msgid "_Export Layer"
msgstr ""
-#: ../src/viktrwlayer.c:3356
+#: ../src/viktrwlayer.c:3751
msgid "Export as GPS_Point..."
msgstr ""
-#: ../src/viktrwlayer.c:3361
+#: ../src/viktrwlayer.c:3756
msgid "Export as GPS_Mapper..."
msgstr ""
-#: ../src/viktrwlayer.c:3366
+#: ../src/viktrwlayer.c:3761
msgid "Export as _GPX..."
msgstr ""
-#: ../src/viktrwlayer.c:3371
+#: ../src/viktrwlayer.c:3766
msgid "Export as _KML..."
msgstr ""
-#: ../src/viktrwlayer.c:3376
+#: ../src/viktrwlayer.c:3771
msgid "Open with External Program_1: "
msgstr ""
-#: ../src/viktrwlayer.c:3383
+#: ../src/viktrwlayer.c:3778
msgid "Open with External Program_2: "
msgstr ""
-#: ../src/viktrwlayer.c:3391 ../src/vikwindow.c:3145
+#: ../src/viktrwlayer.c:3786 ../src/vikwindow.c:3704
msgid "_New"
msgstr "Baru"
-#: ../src/viktrwlayer.c:3397
+#: ../src/viktrwlayer.c:3792
msgid "New _Waypoint..."
msgstr ""
-#: ../src/viktrwlayer.c:3403
+#: ../src/viktrwlayer.c:3798
msgid "New _Track"
msgstr ""
-#: ../src/viktrwlayer.c:3411
+#: ../src/viktrwlayer.c:3806
msgid "New _Route"
msgstr ""
-#: ../src/viktrwlayer.c:3420 ../src/viktrwlayer.c:6597
+#: ../src/viktrwlayer.c:3815 ../src/viktrwlayer.c:7938
msgid "Geotag _Images..."
msgstr ""
-#: ../src/viktrwlayer.c:3427
+#: ../src/viktrwlayer.c:3822
msgid "_Acquire"
msgstr ""
-#: ../src/viktrwlayer.c:3433 ../src/vikwindow.c:3150
+#: ../src/viktrwlayer.c:3828 ../src/vikwindow.c:3711
msgid "From _GPS..."
msgstr "Dari _GPS..."
-#: ../src/viktrwlayer.c:3439
-msgid "From Google _Directions..."
+#. FIXME: only add menu when at least a routing engine has support for Directions
+#: ../src/viktrwlayer.c:3834
+msgid "From _Directions..."
msgstr ""
-#: ../src/viktrwlayer.c:3446
+#: ../src/viktrwlayer.c:3840
msgid "From _OSM Traces..."
msgstr ""
-#: ../src/viktrwlayer.c:3451
+#: ../src/viktrwlayer.c:3845
msgid "From _My OSM Traces..."
msgstr ""
-#: ../src/viktrwlayer.c:3459 ../src/vikwindow.c:3166
+#: ../src/viktrwlayer.c:3853 ../src/vikwindow.c:3725
msgid "From _Wikipedia Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:3465
+#: ../src/viktrwlayer.c:3859
msgid "Within _Layer Bounds"
msgstr ""
-#: ../src/viktrwlayer.c:3471
+#: ../src/viktrwlayer.c:3865
msgid "Within _Current View"
msgstr ""
-#: ../src/viktrwlayer.c:3479
+#: ../src/viktrwlayer.c:3873
msgid "From Geo_caching..."
msgstr ""
-#: ../src/viktrwlayer.c:3486 ../src/vikwindow.c:3163
+#: ../src/viktrwlayer.c:3880 ../src/vikwindow.c:3722
msgid "From Geotagged _Images..."
msgstr ""
-#: ../src/viktrwlayer.c:3492
+#: ../src/viktrwlayer.c:3886
msgid "From _File..."
msgstr ""
-#: ../src/viktrwlayer.c:3498 ../src/viktrwlayer.c:6542
+#: ../src/viktrwlayer.c:3894 ../src/viktrwlayer.c:7883
msgid "_Upload"
msgstr ""
-#: ../src/viktrwlayer.c:3504
+#: ../src/viktrwlayer.c:3900
msgid "Upload to _GPS..."
msgstr ""
-#: ../src/viktrwlayer.c:3511 ../src/viktrwlayer.c:6570
+#: ../src/viktrwlayer.c:3907 ../src/viktrwlayer.c:7911
msgid "Upload to _OSM..."
msgstr ""
-#: ../src/viktrwlayer.c:3519
+#: ../src/viktrwlayer.c:3915
msgid "De_lete"
msgstr ""
-#: ../src/viktrwlayer.c:3525
+#: ../src/viktrwlayer.c:3921
msgid "Delete All _Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:3531
+#: ../src/viktrwlayer.c:3927
msgid "Delete Tracks _From Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:3537 ../src/viktrwlayer.c:6290
+#: ../src/viktrwlayer.c:3933 ../src/viktrwlayer.c:7485
msgid "Delete _All Routes"
msgstr ""
-#: ../src/viktrwlayer.c:3543 ../src/viktrwlayer.c:6296
+#: ../src/viktrwlayer.c:3939 ../src/viktrwlayer.c:7491
msgid "_Delete Routes From Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:3549
+#: ../src/viktrwlayer.c:3945
msgid "Delete All _Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:3555
+#: ../src/viktrwlayer.c:3951
msgid "Delete Waypoints From _Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:4128
+#: ../src/viktrwlayer.c:4574
#, c-format
msgid "Are you sure you want to delete all tracks in %s?"
msgstr ""
-#: ../src/viktrwlayer.c:4138
+#: ../src/viktrwlayer.c:4584
#, c-format
msgid "Are you sure you want to delete all routes in %s?"
msgstr ""
-#: ../src/viktrwlayer.c:4148
+#: ../src/viktrwlayer.c:4594
#, c-format
msgid "Are you sure you want to delete all waypoints in %s?"
msgstr ""
-#: ../src/viktrwlayer.c:4165
+#: ../src/viktrwlayer.c:4611
#, c-format
-msgid "Are you sure you want to delete the waypoint \"%s\""
+msgid "Are you sure you want to delete the waypoint \"%s\"?"
msgstr ""
-#: ../src/viktrwlayer.c:4178
+#: ../src/viktrwlayer.c:4624
#, c-format
-msgid "Are you sure you want to delete the track \"%s\""
+msgid "Are you sure you want to delete the track \"%s\"?"
msgstr ""
-#: ../src/viktrwlayer.c:4191
+#: ../src/viktrwlayer.c:4637
#, c-format
-msgid "Are you sure you want to delete the route \"%s\""
+msgid "Are you sure you want to delete the route \"%s\"?"
msgstr ""
-#: ../src/viktrwlayer.c:4351 ../src/viktrwlayer.c:4922
+#: ../src/viktrwlayer.c:4849 ../src/viktrwlayer.c:5677
msgid ""
"Converting a track to a route removes extra track data such as segments, "
"timestamps, etc...\n"
"Do you want to continue?"
msgstr ""
-#: ../src/viktrwlayer.c:4711
+#: ../src/viktrwlayer.c:4944
+msgid "No DEM layers available, thus no DEM values can be applied."
+msgstr ""
+
+#: ../src/viktrwlayer.c:4964 ../src/viktrwlayer.c:5005
+#, c-format
+msgid "%ld point adjusted"
+msgid_plural "%ld points adjusted"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/viktrwlayer.c:5049
+#, c-format
+msgid "%ld waypoint changed"
+msgid_plural "%ld waypoints changed"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/viktrwlayer.c:5233
+#, c-format
+msgid ""
+"Refining a track with many points (%d) is unlikely to yield sensible "
+"results. Do you want to Continue?"
+msgstr ""
+
+#. Select engine from dialog
+#: ../src/viktrwlayer.c:5241
+msgid "Refine Route with Routing Engine..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:5249
+msgid "Select routing engine"
+msgstr ""
+
+#: ../src/viktrwlayer.c:5467
msgid "Failed. No other tracks with timestamps in this layer found"
msgstr ""
-#: ../src/viktrwlayer.c:4713
+#: ../src/viktrwlayer.c:5469
msgid "Failed. No other tracks without timestamps in this layer found"
msgstr ""
-#: ../src/viktrwlayer.c:4732
+#: ../src/viktrwlayer.c:5488
msgid "Merge with..."
msgstr ""
-#: ../src/viktrwlayer.c:4733
+#: ../src/viktrwlayer.c:5489
msgid "Select route to merge with"
msgstr ""
-#: ../src/viktrwlayer.c:4733
+#: ../src/viktrwlayer.c:5489
msgid "Select track to merge with"
msgstr ""
-#: ../src/viktrwlayer.c:4818 ../src/viktrwlayer.c:4895
+#: ../src/viktrwlayer.c:5573 ../src/viktrwlayer.c:5650
msgid "Append Route"
msgstr ""
-#: ../src/viktrwlayer.c:4818 ../src/viktrwlayer.c:4895
+#: ../src/viktrwlayer.c:5573 ../src/viktrwlayer.c:5650
msgid "Append Track"
msgstr ""
-#: ../src/viktrwlayer.c:4819
+#: ../src/viktrwlayer.c:5574
msgid "Select the route to append after the current route"
msgstr ""
-#: ../src/viktrwlayer.c:4820
+#: ../src/viktrwlayer.c:5575
msgid "Select the track to append after the current track"
msgstr ""
-#: ../src/viktrwlayer.c:4896
+#: ../src/viktrwlayer.c:5651
msgid "Select the track to append after the current route"
msgstr ""
-#: ../src/viktrwlayer.c:4897
+#: ../src/viktrwlayer.c:5652
msgid "Select the route to append after the current track"
msgstr ""
-#: ../src/viktrwlayer.c:4957
+#: ../src/viktrwlayer.c:5711
#, c-format
msgid "%d segment merged"
msgid_plural "%d segments merged"
msgstr[0] ""
msgstr[1] ""
-#: ../src/viktrwlayer.c:4973
+#: ../src/viktrwlayer.c:5727
msgid "Failed. This track does not have timestamp"
msgstr ""
-#: ../src/viktrwlayer.c:4985
+#: ../src/viktrwlayer.c:5739
msgid "Failed. No other track in this layer has timestamp"
msgstr ""
-#: ../src/viktrwlayer.c:4992
+#: ../src/viktrwlayer.c:5746
msgid "Merge Threshold..."
msgstr ""
-#: ../src/viktrwlayer.c:4993
+#: ../src/viktrwlayer.c:5747
msgid "Merge when time between tracks less than:"
msgstr ""
-#: ../src/viktrwlayer.c:5128
+#: ../src/viktrwlayer.c:5889
msgid "Split Threshold..."
msgstr ""
-#: ../src/viktrwlayer.c:5129
+#: ../src/viktrwlayer.c:5890
msgid "Split when time between trackpoints exceeds:"
msgstr ""
-#: ../src/viktrwlayer.c:5205
+#: ../src/viktrwlayer.c:5907
+#, c-format
+msgid ""
+"Can not split track due to trackpoints not ordered in time - such as at %s.\n"
+"\n"
+"Goto this trackpoint?"
+msgstr ""
+
+#: ../src/viktrwlayer.c:5976
msgid "Split Every Nth Point"
msgstr ""
-#: ../src/viktrwlayer.c:5206
+#: ../src/viktrwlayer.c:5977
msgid "Split on every Nth point:"
msgstr ""
-#: ../src/viktrwlayer.c:5312
+#: ../src/viktrwlayer.c:6087
msgid "Can not split track as it has no segments"
msgstr ""
-#: ../src/viktrwlayer.c:5340 ../src/viktrwlayer.c:5370
+#: ../src/viktrwlayer.c:6169 ../src/viktrwlayer.c:6199
#, c-format
msgid "Deleted %ld point"
msgid_plural "Deleted %ld points"
msgstr[0] ""
msgstr[1] ""
-#: ../src/viktrwlayer.c:5531
+#: ../src/viktrwlayer.c:6392
msgid "Internal Error in vik_trw_layer_uniquify_tracks"
msgstr ""
-#: ../src/viktrwlayer.c:5588 ../src/viktrwlayer.c:5635
-#: ../src/viktrwlayer.c:5814
+#: ../src/viktrwlayer.c:6496 ../src/viktrwlayer.c:6543
+#: ../src/viktrwlayer.c:6704
msgid ""
"Multiple entries with the same name exist. This method only works with "
"unique names. Force unique names now?"
msgstr ""
-#: ../src/viktrwlayer.c:5599
+#: ../src/viktrwlayer.c:6507
msgid "No tracks found"
msgstr ""
-#: ../src/viktrwlayer.c:5607 ../src/viktrwlayer.c:5654
-#: ../src/viktrwlayer.c:5834
+#: ../src/viktrwlayer.c:6515 ../src/viktrwlayer.c:6562
+#: ../src/viktrwlayer.c:6724
msgid "Delete Selection"
msgstr ""
-#: ../src/viktrwlayer.c:5608
+#: ../src/viktrwlayer.c:6516
msgid "Select tracks to delete"
msgstr ""
-#: ../src/viktrwlayer.c:5646
+#: ../src/viktrwlayer.c:6554
msgid "No routes found"
msgstr ""
-#: ../src/viktrwlayer.c:5655
+#: ../src/viktrwlayer.c:6563
msgid "Select routes to delete"
msgstr ""
-#: ../src/viktrwlayer.c:5761
+#: ../src/viktrwlayer.c:6669
msgid "Internal Error in vik_trw_layer_uniquify_waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:5824
+#: ../src/viktrwlayer.c:6714
msgid "No waypoints found"
msgstr ""
-#: ../src/viktrwlayer.c:5835
+#: ../src/viktrwlayer.c:6725
msgid "Select waypoints to delete"
msgstr ""
-#: ../src/viktrwlayer.c:5896
+#: ../src/viktrwlayer.c:7033
#, c-format
msgid ""
"A waypoint with the name \"%s\" already exists. Really rename to the same "
"name?"
msgstr ""
-#: ../src/viktrwlayer.c:5926
+#: ../src/viktrwlayer.c:7063
#, c-format
msgid ""
"A track with the name \"%s\" already exists. Really rename to the same name?"
msgstr ""
-#: ../src/viktrwlayer.c:5963
+#: ../src/viktrwlayer.c:7100
#, c-format
msgid ""
"A route with the name \"%s\" already exists. Really rename to the same name?"
msgstr ""
-#: ../src/viktrwlayer.c:6085 ../src/viktrwlayer.c:6337
+#: ../src/viktrwlayer.c:7221 ../src/viktrwlayer.c:7594
msgid "_Goto"
msgstr ""
-#: ../src/viktrwlayer.c:6104
+#: ../src/viktrwlayer.c:7240
msgid "_Visit Geocache Webpage"
msgstr ""
-#: ../src/viktrwlayer.c:6123
+#: ../src/viktrwlayer.c:7259
msgid "_Show Picture..."
msgstr ""
-#: ../src/viktrwlayer.c:6131
+#: ../src/viktrwlayer.c:7267
msgid "Update Geotag on _Image"
msgstr ""
-#: ../src/viktrwlayer.c:6137
+#: ../src/viktrwlayer.c:7273
msgid "_Update"
msgstr ""
-#: ../src/viktrwlayer.c:6142
+#: ../src/viktrwlayer.c:7278
msgid "Update and _Keep File Timestamp"
msgstr ""
-#: ../src/viktrwlayer.c:6153
+#: ../src/viktrwlayer.c:7289
msgid "Visit _Webpage"
msgstr ""
-#: ../src/viktrwlayer.c:6184
+#: ../src/viktrwlayer.c:7320
msgid "_New Waypoint..."
msgstr ""
-#: ../src/viktrwlayer.c:6193
+#: ../src/viktrwlayer.c:7329
msgid "_View All Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:6205
+#: ../src/viktrwlayer.c:7341
msgid "Delete _All Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:6211
+#: ../src/viktrwlayer.c:7347
msgid "_Delete Waypoints From Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:6233
+#: ../src/viktrwlayer.c:7359
+msgid "_Show All Waypoints"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7365
+msgid "_Hide All Waypoints"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7393
msgid "_View All Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:6239
+#: ../src/viktrwlayer.c:7399
msgid "_New Track"
msgstr ""
-#: ../src/viktrwlayer.c:6247
+#: ../src/viktrwlayer.c:7407
msgid "Delete _All Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:6253
+#: ../src/viktrwlayer.c:7413
msgid "_Delete Tracks From Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:6276
+#: ../src/viktrwlayer.c:7425
+msgid "_Show All Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7431
+msgid "_Hide All Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7442
+msgid "_List Tracks..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7471
msgid "_View All Routes"
msgstr ""
-#: ../src/viktrwlayer.c:6282
+#: ../src/viktrwlayer.c:7477
msgid "_New Route"
msgstr ""
-#: ../src/viktrwlayer.c:6327
+#: ../src/viktrwlayer.c:7503
+msgid "_Show All Routes"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7509
+msgid "_Hide All Routes"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7520
+msgid "_List Routes..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7579
msgid "_View Track"
msgstr ""
-#: ../src/viktrwlayer.c:6329
+#: ../src/viktrwlayer.c:7581
msgid "_View Route"
msgstr ""
-#: ../src/viktrwlayer.c:6343
+#: ../src/viktrwlayer.c:7600
msgid "_Startpoint"
msgstr ""
-#: ../src/viktrwlayer.c:6349
+#: ../src/viktrwlayer.c:7606
msgid "\"_Center\""
msgstr ""
-#: ../src/viktrwlayer.c:6355
+#: ../src/viktrwlayer.c:7612
msgid "_Endpoint"
msgstr ""
-#: ../src/viktrwlayer.c:6361
+#: ../src/viktrwlayer.c:7618
msgid "_Highest Altitude"
msgstr ""
-#: ../src/viktrwlayer.c:6367
+#: ../src/viktrwlayer.c:7624
msgid "_Lowest Altitude"
msgstr ""
-#: ../src/viktrwlayer.c:6375
+#: ../src/viktrwlayer.c:7632
msgid "_Maximum Speed"
msgstr ""
-#: ../src/viktrwlayer.c:6384
+#: ../src/viktrwlayer.c:7641
msgid "Co_mbine"
msgstr ""
-#: ../src/viktrwlayer.c:6392
+#: ../src/viktrwlayer.c:7649
msgid "_Merge By Time..."
msgstr ""
-#: ../src/viktrwlayer.c:6397
+#: ../src/viktrwlayer.c:7654
msgid "Merge _Segments"
msgstr ""
-#: ../src/viktrwlayer.c:6403
+#: ../src/viktrwlayer.c:7660
msgid "Merge _With Other Tracks..."
msgstr ""
-#: ../src/viktrwlayer.c:6409
+#: ../src/viktrwlayer.c:7666
msgid "_Append Track..."
msgstr ""
-#: ../src/viktrwlayer.c:6411
+#: ../src/viktrwlayer.c:7668
msgid "_Append Route..."
msgstr ""
-#: ../src/viktrwlayer.c:6417
+#: ../src/viktrwlayer.c:7674
msgid "Append _Route..."
msgstr ""
-#: ../src/viktrwlayer.c:6419
+#: ../src/viktrwlayer.c:7676
msgid "Append _Track..."
msgstr ""
-#: ../src/viktrwlayer.c:6426
+#: ../src/viktrwlayer.c:7683
msgid "_Split"
msgstr ""
-#: ../src/viktrwlayer.c:6434
+#: ../src/viktrwlayer.c:7691
msgid "_Split By Time..."
msgstr ""
#. ATM always enable this entry - don't want to have to analyse the track before displaying the menu - to keep the menu speedy
-#: ../src/viktrwlayer.c:6440
+#: ../src/viktrwlayer.c:7697
msgid "Split Se_gments"
msgstr ""
-#: ../src/viktrwlayer.c:6446
+#: ../src/viktrwlayer.c:7703
msgid "Split By _Number of Points..."
msgstr ""
-#: ../src/viktrwlayer.c:6451
+#: ../src/viktrwlayer.c:7708
msgid "Split at _Trackpoint"
msgstr ""
-#: ../src/viktrwlayer.c:6460
+#: ../src/viktrwlayer.c:7716
+msgid "_Insert Points"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7722
+msgid "Insert Point _Before Selected Point"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7729
+msgid "Insert Point _After Selected Point"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7738
msgid "Delete Poi_nts"
msgstr ""
-#: ../src/viktrwlayer.c:6466
+#: ../src/viktrwlayer.c:7744
+msgid "Delete _Selected Point"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7752
msgid "Delete Points With The Same _Position"
msgstr ""
-#: ../src/viktrwlayer.c:6471
+#: ../src/viktrwlayer.c:7757
msgid "Delete Points With The Same _Time"
msgstr ""
-#: ../src/viktrwlayer.c:6477
-msgid "_Reverse Track"
+#: ../src/viktrwlayer.c:7764 ../src/viktrwlayer.c:7964
+msgid "_Transform"
msgstr ""
-#: ../src/viktrwlayer.c:6479
-msgid "_Reverse Route"
+#: ../src/viktrwlayer.c:7772 ../src/viktrwlayer.c:7972
+msgid "_Apply DEM Data"
msgstr ""
-#: ../src/viktrwlayer.c:6488
-msgid "Down_load Maps Along Track..."
+#: ../src/viktrwlayer.c:7777 ../src/viktrwlayer.c:7977
+msgid "_Overwrite"
msgstr ""
-#: ../src/viktrwlayer.c:6490
-msgid "Down_load Maps Along Route..."
+#: ../src/viktrwlayer.c:7780 ../src/viktrwlayer.c:7980
+msgid "Overwrite any existing elevation values with DEM values"
msgstr ""
-#: ../src/viktrwlayer.c:6497
-msgid "_Apply DEM Data"
+#: ../src/viktrwlayer.c:7783 ../src/viktrwlayer.c:7983
+msgid "_Keep Existing"
msgstr ""
-#: ../src/viktrwlayer.c:6504
-msgid "_Export Track as GPX..."
+#: ../src/viktrwlayer.c:7786 ../src/viktrwlayer.c:7986
+msgid "Keep existing elevation values, only attempt for missing values"
msgstr ""
-#: ../src/viktrwlayer.c:6506
-msgid "_Export Route as GPX..."
+#: ../src/viktrwlayer.c:7791
+msgid "_Smooth Missing Elevation Data"
msgstr ""
-#: ../src/viktrwlayer.c:6513
-msgid "E_xtend Track End"
+#: ../src/viktrwlayer.c:7796
+msgid "_Interpolated"
msgstr ""
-#: ../src/viktrwlayer.c:6515
-msgid "E_xtend Route End"
+#: ../src/viktrwlayer.c:7799
+msgid ""
+"Interpolate between known elevation values to derive values for the missing "
+"elevations"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7802
+msgid "_Flat"
msgstr ""
-#: ../src/viktrwlayer.c:6522
+#: ../src/viktrwlayer.c:7805
+msgid "Set unknown elevation values to the last known value"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7809
msgid "C_onvert to a Route"
msgstr ""
-#: ../src/viktrwlayer.c:6524
+#: ../src/viktrwlayer.c:7811
msgid "C_onvert to a Track"
msgstr ""
-#: ../src/viktrwlayer.c:6532
+#: ../src/viktrwlayer.c:7819
+msgid "_Anonymize Times"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7822
+msgid "Shift timestamps to a relative offset from 1901-01-01"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7827
+msgid "_Reverse Track"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7829
+msgid "_Reverse Route"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7836
+msgid "Refine Route..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7846
+msgid "Down_load Maps Along Track..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7848
+msgid "Down_load Maps Along Route..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7856
+msgid "_Export Track as GPX..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7858
+msgid "_Export Route as GPX..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7865
+msgid "E_xtend Track End"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7867
+msgid "E_xtend Route End"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7874
msgid "Extend _Using Route Finder"
msgstr ""
-#: ../src/viktrwlayer.c:6548
+#: ../src/viktrwlayer.c:7889
msgid "_Upload to GPS..."
msgstr ""
-#: ../src/viktrwlayer.c:6559
+#: ../src/viktrwlayer.c:7900
msgid "_View Google Directions"
msgstr ""
-#: ../src/viktrwlayer.c:6579
+#: ../src/viktrwlayer.c:7920
msgid "Use with _Filter"
msgstr ""
-#: ../src/viktrwlayer.c:6612
+#: ../src/viktrwlayer.c:7953
msgid "_Edit Trackpoint"
msgstr ""
-#: ../src/viktrwlayer.c:7524
+#: ../src/viktrwlayer.c:9017
#, c-format
msgid " - Gain %dm:Loss %dm"
msgstr ""
-#: ../src/viktrwlayer.c:7526
+#: ../src/viktrwlayer.c:9019
#, c-format
msgid " - Gain %dft:Loss %dft"
msgstr ""
-#: ../src/viktrwlayer.c:7531
+#: ../src/viktrwlayer.c:9024
#, c-format
msgid " - Bearing %3.1f° - Step %s"
msgstr ""
-#: ../src/viktrwlayer.c:8124
+#: ../src/viktrwlayer.c:9628
#, c-format
msgid "Could not launch %s to open file."
msgstr ""
-#: ../src/viktrwlayer.c:8205
+#: ../src/viktrwlayer.c:9709
#, c-format
msgid "Creating %d Image Thumbnails..."
msgstr ""
-#: ../src/viktrwlayer.c:8524
+#: ../src/viktrwlayer.c:10106
msgid "No map layer in use. Create one first"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:898 ../src/viktrwlayer_propwin.c:1155
+#: ../src/viktrwlayer.c:10225
+#, c-format
+msgid "%s: Track List"
+msgstr ""
+
+#: ../src/viktrwlayer.c:10227
+#, c-format
+msgid "%s: Route List"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:828 ../src/viktrwlayer_propwin.c:1085
#, c-format
msgid "%.1f kph"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:901 ../src/viktrwlayer_propwin.c:1158
+#: ../src/viktrwlayer_propwin.c:831 ../src/viktrwlayer_propwin.c:1088
+#: ../src/viktrwlayer_analysis.c:290
#, c-format
msgid "%.1f mph"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:904 ../src/viktrwlayer_propwin.c:1161
+#: ../src/viktrwlayer_propwin.c:834 ../src/viktrwlayer_propwin.c:1091
#, c-format
msgid "%.1f knots"
msgstr ""
#. VIK_UNITS_SPEED_METRES_PER_SECOND:
-#: ../src/viktrwlayer_propwin.c:908 ../src/viktrwlayer_propwin.c:1165
+#: ../src/viktrwlayer_propwin.c:838 ../src/viktrwlayer_propwin.c:1095
#, c-format
msgid "%.1f m/s"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:1745
+#: ../src/viktrwlayer_propwin.c:1662 ../src/viktrwlayer_analysis.c:267
#, c-format
msgid "%.1f miles"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:1747
+#. VIK_UNITS_DISTANCE_KILOMETRES
+#: ../src/viktrwlayer_propwin.c:1664 ../src/viktrwlayer_analysis.c:271
#, c-format
msgid "%.1f km"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2681
+#: ../src/viktrwlayer_propwin.c:2582
msgid "Failed spliting track. Track unchanged"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2779 ../src/viktrwlayer_propwin.c:3178
+#: ../src/viktrwlayer_propwin.c:2724 ../src/viktrwlayer_propwin.c:3140
#, c-format
msgid "%s - Track Properties"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2784
+#: ../src/viktrwlayer_propwin.c:2729
msgid "Split at _Marker"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2785
+#: ../src/viktrwlayer_propwin.c:2730
msgid "Split _Segments"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2786
+#: ../src/viktrwlayer_propwin.c:2731
msgid "_Reverse"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2787
+#: ../src/viktrwlayer_propwin.c:2732
msgid "_Delete Dupl."
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2813
+#: ../src/viktrwlayer_propwin.c:2757
msgid "<b>Comment:</b>"
msgstr "<b>Komentar:</b>"
-#: ../src/viktrwlayer_propwin.c:2814
+#: ../src/viktrwlayer_propwin.c:2758
msgid "<b>Description:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2815
+#: ../src/viktrwlayer_propwin.c:2759
+msgid "<b>Color:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2760
+msgid "<b>Draw Name:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2761
+msgid "<b>Distance Labels:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2764
msgid "<b>Track Length:</b>"
msgstr "<b>Panjang Lintasan:</b>"
-#: ../src/viktrwlayer_propwin.c:2816
+#: ../src/viktrwlayer_propwin.c:2765
msgid "<b>Trackpoints:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2817
+#: ../src/viktrwlayer_propwin.c:2766
msgid "<b>Segments:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2818
+#: ../src/viktrwlayer_propwin.c:2767
msgid "<b>Duplicate Points:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2819
+#: ../src/viktrwlayer_propwin.c:2768
msgid "<b>Max Speed:</b>"
msgstr "<b>Laju Maks:</b>"
-#: ../src/viktrwlayer_propwin.c:2820
+#: ../src/viktrwlayer_propwin.c:2769
msgid "<b>Avg. Speed:</b>"
msgstr "<b>Laju Rerata:</b>"
-#: ../src/viktrwlayer_propwin.c:2821
+#: ../src/viktrwlayer_propwin.c:2770
msgid "<b>Moving Avg. Speed:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2822
+#: ../src/viktrwlayer_propwin.c:2771
msgid "<b>Avg. Dist. Between TPs:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2823
+#: ../src/viktrwlayer_propwin.c:2772
msgid "<b>Elevation Range:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2824
+#: ../src/viktrwlayer_propwin.c:2773
msgid "<b>Total Elevation Gain/Loss:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2825
+#: ../src/viktrwlayer_propwin.c:2774
msgid "<b>Start:</b>"
msgstr "<b>Awal:</b>"
-#: ../src/viktrwlayer_propwin.c:2826
+#: ../src/viktrwlayer_propwin.c:2775
msgid "<b>End:</b>"
msgstr "<b>Akhir:</b>"
-#: ../src/viktrwlayer_propwin.c:2827
+#: ../src/viktrwlayer_propwin.c:2776
msgid "<b>Duration:</b>"
msgstr "<b>Durasi:</b>"
-#: ../src/viktrwlayer_propwin.c:2828
-msgid "<b>Color:</b>"
+#: ../src/viktrwlayer_propwin.c:2797
+msgid "No"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2798
+msgid "Centre"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2799
+msgid "Start only"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2800
+msgid "End only"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2801
+msgid "Start and End"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2802
+msgid "Centre, Start and End"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2814
+msgid "Maximum number of distance labels to be shown"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2877 ../src/viktrwlayer_propwin.c:2901
-#: ../src/viktrwlayer_propwin.c:2929 ../src/viktrwlayer_propwin.c:2966
-#: ../src/viktrwlayer_propwin.c:2984 ../src/viktrwlayer_propwin.c:3034
-#: ../src/viktrwlayer_propwin.c:3035 ../src/viktrwlayer_propwin.c:3036
-#: ../src/viktrwlayer_propwin.c:3062 ../src/viktrwlayer_propwin.c:3063
+#: ../src/viktrwlayer_propwin.c:2818
+msgid "Properties"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2856 ../src/viktrwlayer_propwin.c:2880
+#: ../src/viktrwlayer_propwin.c:2908 ../src/viktrwlayer_propwin.c:2945
+#: ../src/viktrwlayer_propwin.c:2963 ../src/viktrwlayer_propwin.c:3009
+#: ../src/viktrwlayer_propwin.c:3010 ../src/viktrwlayer_propwin.c:3011
+#: ../src/viktrwlayer_propwin.c:3020 ../src/viktrwlayer_propwin.c:3021
+#: ../src/viktrwlayer_propwin.c:3036 ../src/viktrwlayer_propwin.c:3037
+#: ../src/viktrwlayer_propwin.c:3050 ../src/viktrwlayer_propwin.c:3051
+#: ../src/viktrwlayer_propwin.c:3064 ../src/viktrwlayer_propwin.c:3065
#: ../src/viktrwlayer_propwin.c:3078 ../src/viktrwlayer_propwin.c:3079
#: ../src/viktrwlayer_propwin.c:3092 ../src/viktrwlayer_propwin.c:3093
-#: ../src/viktrwlayer_propwin.c:3106 ../src/viktrwlayer_propwin.c:3107
-#: ../src/viktrwlayer_propwin.c:3120 ../src/viktrwlayer_propwin.c:3121
-#: ../src/viktrwlayer_propwin.c:3134 ../src/viktrwlayer_propwin.c:3135
+#: ../src/viktrwlayer_analysis.c:257
#, c-format
msgid "No Data"
msgstr "Tiada Data"
-#: ../src/viktrwlayer_propwin.c:3031
+#: ../src/viktrwlayer_propwin.c:3006
#, c-format
msgid "%d minutes"
msgstr "%d menit"
-#: ../src/viktrwlayer_propwin.c:3058
+#: ../src/viktrwlayer_propwin.c:3016 ../src/viktrwlayer_analysis.c:515
msgid "Statistics"
msgstr "Statistik"
-#: ../src/viktrwlayer_propwin.c:3064
+#: ../src/viktrwlayer_propwin.c:3022
msgid "Show D_EM"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3065 ../src/viktrwlayer_propwin.c:3080
-#: ../src/viktrwlayer_propwin.c:3094 ../src/viktrwlayer_propwin.c:3136
+#: ../src/viktrwlayer_propwin.c:3023 ../src/viktrwlayer_propwin.c:3038
+#: ../src/viktrwlayer_propwin.c:3052 ../src/viktrwlayer_propwin.c:3094
msgid "Show _GPS Speed"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3067 ../src/viktrwlayer_propwin.c:3082
-#: ../src/viktrwlayer_propwin.c:3110 ../src/viktrwlayer_propwin.c:3138
+#: ../src/viktrwlayer_propwin.c:3025 ../src/viktrwlayer_propwin.c:3040
+#: ../src/viktrwlayer_propwin.c:3068 ../src/viktrwlayer_propwin.c:3096
msgid "<b>Track Distance:</b>"
msgstr "<b>Jarak Lintasan:</b>"
-#: ../src/viktrwlayer_propwin.c:3068 ../src/viktrwlayer_propwin.c:3125
+#: ../src/viktrwlayer_propwin.c:3026 ../src/viktrwlayer_propwin.c:3083
msgid "<b>Track Height:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3073
+#: ../src/viktrwlayer_propwin.c:3031
msgid "Elevation-distance"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3083
+#: ../src/viktrwlayer_propwin.c:3041
msgid "<b>Track Gradient:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3087
+#: ../src/viktrwlayer_propwin.c:3045
msgid "Gradient-distance"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3096 ../src/viktrwlayer_propwin.c:3111
-#: ../src/viktrwlayer_propwin.c:3124
+#: ../src/viktrwlayer_propwin.c:3054 ../src/viktrwlayer_propwin.c:3069
+#: ../src/viktrwlayer_propwin.c:3082
msgid "<b>Track Time:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3097 ../src/viktrwlayer_propwin.c:3139
+#: ../src/viktrwlayer_propwin.c:3055 ../src/viktrwlayer_propwin.c:3097
msgid "<b>Track Speed:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3101
+#: ../src/viktrwlayer_propwin.c:3059
msgid "Speed-time"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3108 ../src/viktrwlayer_propwin.c:3122
+#: ../src/viktrwlayer_propwin.c:3066 ../src/viktrwlayer_propwin.c:3080
msgid "Show S_peed"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3115
+#: ../src/viktrwlayer_propwin.c:3073
msgid "Distance-time"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3129
+#: ../src/viktrwlayer_propwin.c:3087
msgid "Elevation-time"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3143
+#: ../src/viktrwlayer_propwin.c:3101
msgid "Speed-distance"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:118
+#: ../src/viktrwlayer_tpwin.c:119
msgid "<b>Part of Track:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:119
+#: ../src/viktrwlayer_tpwin.c:120
msgid "<b>Latitude:</b>"
msgstr "<b>Lintang:</b>"
-#: ../src/viktrwlayer_tpwin.c:120
+#: ../src/viktrwlayer_tpwin.c:121
msgid "<b>Longitude:</b>"
msgstr "<b>Bujur:</b>"
-#: ../src/viktrwlayer_tpwin.c:121
+#: ../src/viktrwlayer_tpwin.c:122
msgid "<b>Altitude:</b>"
msgstr "<b>Ketinggian:</b>"
-#: ../src/viktrwlayer_tpwin.c:122
+#: ../src/viktrwlayer_tpwin.c:123
+msgid "<b>Course:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_tpwin.c:124
msgid "<b>Timestamp:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:123
+#: ../src/viktrwlayer_tpwin.c:125
msgid "<b>Time:</b>"
msgstr "<b>Waktu:</b>"
-#: ../src/viktrwlayer_tpwin.c:124
+#: ../src/viktrwlayer_tpwin.c:126
msgid "<b>Distance Difference:</b>"
msgstr "<b>Beda Jarak:</b>"
-#: ../src/viktrwlayer_tpwin.c:125
+#: ../src/viktrwlayer_tpwin.c:127
msgid "<b>Time Difference:</b>"
msgstr "<b>Beda Waktu:</b>"
-#: ../src/viktrwlayer_tpwin.c:126
+#: ../src/viktrwlayer_tpwin.c:128
msgid "<b>\"Speed\" Between:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:127
+#: ../src/viktrwlayer_tpwin.c:129
+msgid "<b>Speed:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_tpwin.c:130
msgid "<b>VDOP:</b>"
msgstr "<b>VDOP:</b>"
-#: ../src/viktrwlayer_tpwin.c:128
+#: ../src/viktrwlayer_tpwin.c:131
msgid "<b>HDOP:</b>"
msgstr "<b>HDOP:</b>"
-#: ../src/viktrwlayer_tpwin.c:129
+#: ../src/viktrwlayer_tpwin.c:132
msgid "<b>PDOP:</b>"
msgstr "<b>PDOP:</b>"
-#: ../src/viktrwlayer_tpwin.c:130
+#: ../src/viktrwlayer_tpwin.c:133
msgid "<b>SAT/FIX:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:139
+#: ../src/viktrwlayer_tpwin.c:141
msgid "Trackpoint"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:142
+#: ../src/viktrwlayer_tpwin.c:144
msgid "_Insert After"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:144
+#: ../src/viktrwlayer_tpwin.c:146
msgid "Split Here"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:446
+#.
+#. item = gtk_image_menu_item_new_with_mnemonic ( _("_Select") );
+#. gtk_image_menu_item_set_image ( (GtkImageMenuItem*)item, gtk_image_new_from_stock (GTK_STOCK_FIND, GTK_ICON_SIZE_MENU) );
+#. g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(trw_layer_track_select), values );
+#. gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
+#. gtk_widget_show ( item );
+#.
+#. ATM view auto selects, so don't bother with separate select menu entry
+#: ../src/viktrwlayer_tracklist.c:231 ../src/vikwindow.c:3695
+msgid "_View"
+msgstr "_Tilik"
+
+#. Insert column for the layer name when viewing multi layers
+#: ../src/viktrwlayer_tracklist.c:514
+msgid "Layer"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:526
+msgid "Date"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:529
+msgid "Visible"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:536
+msgid ""
+"Distance\n"
+"(miles)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:539
+msgid ""
+"Distance\n"
+"(km)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:545
+msgid ""
+"Length\n"
+"(minutes)"
+msgstr ""
+
+#. VIK_UNITS_SPEED_KILOMETRES_PER_HOUR:
+#: ../src/viktrwlayer_tracklist.c:549 ../src/vikutils.c:72
+msgid "km/h"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:550 ../src/vikutils.c:62
+msgid "mph"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:551 ../src/vikutils.c:68
+msgid "knots"
+msgstr ""
+
+#. VIK_UNITS_SPEED_METRES_PER_SECOND:
+#: ../src/viktrwlayer_tracklist.c:553 ../src/vikutils.c:65
+msgid "m/s"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:556
+#, c-format
+msgid ""
+"Av. Speed\n"
+"(%s)"
+msgstr ""
+
+#. Apply own formatting of the data
+#: ../src/viktrwlayer_tracklist.c:561
+#, c-format
+msgid ""
+"Max Speed\n"
+"(%s)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:569
+msgid ""
+"Max Height\n"
+"(Feet)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:571
+msgid ""
+"Max Height\n"
+"(Metres)"
+msgstr ""
+
+#: ../src/viktrwlayer_geotag.c:481
#, c-format
msgid "Geotagging %d Images..."
msgstr ""
-#: ../src/viktrwlayer_geotag.c:510
+#: ../src/viktrwlayer_geotag.c:545
msgid "Geotag Images"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:516
+#: ../src/viktrwlayer_geotag.c:551
msgid "Images"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:520
+#: ../src/viktrwlayer_geotag.c:555
msgid "Overwrite Existing Waypoints:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:523
+#: ../src/viktrwlayer_geotag.c:558
msgid "Overwrite Existing GPS Information:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:525
+#: ../src/viktrwlayer_geotag.c:560
msgid "Keep File Modification Timestamp:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:555
+#: ../src/viktrwlayer_geotag.c:592
msgid "Create Waypoints:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:563
+#: ../src/viktrwlayer_geotag.c:600
msgid "Write EXIF:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:575
+#: ../src/viktrwlayer_geotag.c:612
msgid "Interpolate Between Track Segments:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:579
+#: ../src/viktrwlayer_geotag.c:616
msgid "Image Time Offset (Seconds):"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:581
+#: ../src/viktrwlayer_geotag.c:618
msgid ""
"The number of seconds to ADD to the photos time to make it match the GPS "
"data. Calculate this with (GPS - Photo). Can be negative or positive. Useful "
"to adjust times when a camera's timestamp was incorrect."
msgstr ""
-#: ../src/viktrwlayer_geotag.c:584
+#: ../src/viktrwlayer_geotag.c:621
msgid "Image Timezone:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:586
+#: ../src/viktrwlayer_geotag.c:623
msgid ""
"The timezone that was used when the images were created. For example, if a "
"camera is set to AWST or +8:00 hours. Enter +8:00 here so that the correct "
"adjustment to the images' time can be made. GPS data is always in UTC."
msgstr ""
-#: ../src/viktrwlayer_geotag.c:590
+#: ../src/viktrwlayer_geotag.c:627
#, c-format
msgid "Using track: %s"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:592
+#: ../src/viktrwlayer_geotag.c:629
#, c-format
msgid "Using all tracks in: %s"
msgstr ""
-#: ../src/vikstatus.c:105
+#: ../src/viktrwlayer_analysis.c:193
+msgid "Number of Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:194
+msgid "Date Range"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:195
+msgid "Total Length"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:196
+msgid "Average Length"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:197
+msgid "Max Speed"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:198
+msgid "Avg. Speed"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:199
+msgid "Minimum Altitude"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:200
+msgid "Maximum Altitude"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:201
+msgid "Total Elevation Gain/Loss"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:202
+msgid "Avg. Elevation Gain/Loss"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:203
+msgid "Total Duration"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:204
+msgid "Avg. Duration"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:278
+#, c-format
+msgid "%.2f miles"
+msgstr ""
+
+#. VIK_UNITS_DISTANCE_KILOMETRES
+#: ../src/viktrwlayer_analysis.c:282
+#, c-format
+msgid "%.2f km"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:297
+#, c-format
+msgid "%.2f m/s"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:306
+#, c-format
+msgid "%.2f knots\n"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:309
+#, c-format
+msgid "%.2f knots"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:316 ../src/viktrwlayer_analysis.c:319
+#, c-format
+msgid "%.2f km/h"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:330 ../src/viktrwlayer_analysis.c:336
+#, c-format
+msgid "%d feet"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:341 ../src/viktrwlayer_analysis.c:343
+#, c-format
+msgid "%d feet / %d feet"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:348 ../src/viktrwlayer_analysis.c:354
+#, c-format
+msgid "%d m"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:359 ../src/viktrwlayer_analysis.c:361
+#, c-format
+msgid "%d m / %d m"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:373
+#, c-format
+msgid "%d:%02d:%02d days:hrs:mins"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:380
+#, c-format
+msgid "%d:%02d hrs:mins"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:550
+msgid "Include Invisible Items"
+msgstr ""
+
+#: ../src/vikstatus.c:107
+msgid "Current number of background tasks. Click to see the background jobs."
+msgstr ""
+
+#: ../src/vikstatus.c:113
msgid "Current zoom level. Click to select a new one."
msgstr ""
-#: ../src/vikwaypoint.c:34
+#: ../src/vikutils.c:80
+msgid "GPSD"
+msgstr ""
+
+#. GPS Preamble
+#: ../src/vikutils.c:81
+msgid "Trkpt"
+msgstr ""
+
+#: ../src/vikutils.c:121
+#, c-format
+msgid "%sSpeed%s %.1f%s"
+msgstr ""
+
+#: ../src/vikutils.c:130
+#, c-format
+msgid "%sAlt %dfeet"
+msgstr ""
+
+#. VIK_UNITS_HEIGHT_METRES:
+#: ../src/vikutils.c:134
+#, c-format
+msgid "%sAlt %dm"
+msgstr ""
+
+#: ../src/vikutils.c:142
+#, c-format
+msgid "%sCourse %03d°"
+msgstr ""
+
+#: ../src/vikutils.c:155
+msgid "yards"
+msgstr ""
+
+#. VIK_UNITS_DISTANCE_KILOMETRES:
+#: ../src/vikutils.c:159
+msgid "m"
+msgstr ""
+
+#: ../src/vikutils.c:163
+#, c-format
+msgid "%sDistance diff %d%s"
+msgstr ""
+
+#: ../src/vikutils.c:179
+#, c-format
+msgid "%sTime %s"
+msgstr ""
+
+#: ../src/vikutils.c:187
+#, c-format
+msgid "%sTime diff %lds"
+msgstr ""
+
+#: ../src/vikutils.c:193
+#, c-format
+msgid "%sNo. of Sats %d"
+msgstr ""
+
+#: ../src/vikutils.c:213
+#, c-format
+msgid "%sDistance along %.2f%s"
+msgstr ""
+
+#. Name of track
+#: ../src/vikutils.c:232
+#, c-format
+msgid "%sTrack: %s"
+msgstr ""
+
+#: ../src/vikwaypoint.c:36
msgid "Waypoint"
msgstr ""
#. TODO get rid of this as this is unnecessary duplication...
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Pan"
msgstr ""
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Zoom"
msgstr "Zum"
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Ruler"
msgstr ""
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Select"
msgstr ""
+#: ../src/vikwindow.c:381
+msgid "Location lookup aborted"
+msgstr ""
+
+#: ../src/vikwindow.c:401
+#, c-format
+msgid "Location found: %s"
+msgstr ""
+
+#: ../src/vikwindow.c:410
+msgid "Unable to determine location"
+msgstr ""
+
+#: ../src/vikwindow.c:434
+msgid "Default Map"
+msgstr ""
+
+#: ../src/vikwindow.c:444
+msgid "Trying to determine location..."
+msgstr ""
+
+#: ../src/vikwindow.c:447
+msgid "Determining location"
+msgstr ""
+
#. Create tooltip
-#: ../src/vikwindow.c:440
+#: ../src/vikwindow.c:605
msgid "Select zoom level"
msgstr ""
-#: ../src/vikwindow.c:645
+#: ../src/vikwindow.c:923
#, c-format
msgid ""
"Do you want to save the changes you made to the document \"%s\"?\n"
@@ -3150,624 +3992,708 @@ msgid ""
"Your changes will be lost if you don't save them."
msgstr ""
-#: ../src/vikwindow.c:649
+#: ../src/vikwindow.c:927
msgid "Don't Save"
msgstr "Jangan Simpan"
-#: ../src/vikwindow.c:696
+#: ../src/vikwindow.c:1005
msgid "mpp"
msgstr ""
-#: ../src/vikwindow.c:696
+#: ../src/vikwindow.c:1005
msgid "pixelfact"
msgstr ""
-#: ../src/vikwindow.c:861
+#: ../src/vikwindow.c:1169
#, c-format
msgid "%s %s %dm"
msgstr "%s %s %dm"
-#: ../src/vikwindow.c:863
+#: ../src/vikwindow.c:1171
#, c-format
msgid "%s %s %dft"
msgstr ""
-#: ../src/vikwindow.c:866
+#: ../src/vikwindow.c:1174
#, c-format
msgid "%s %s"
msgstr "%s %s"
#. NB Ctrl+Shift+R is used for Refresh (deemed more important), so use 'U' instead
-#: ../src/vikwindow.c:1254
+#: ../src/vikwindow.c:1562
msgid "_Ruler"
msgstr "Pengga_ris"
-#: ../src/vikwindow.c:1254
+#: ../src/vikwindow.c:1562
msgid "Ruler Tool"
msgstr "Penggaris"
-#: ../src/vikwindow.c:1502 ../src/vikwindow.c:3138
+#: ../src/vikwindow.c:1810 ../src/vikwindow.c:3697
msgid "_Zoom"
msgstr "_Zum"
-#: ../src/vikwindow.c:1502
+#: ../src/vikwindow.c:1810
msgid "Zoom Tool"
msgstr "Pembesaran"
-#: ../src/vikwindow.c:1547 ../src/vikwindow.c:3139
+#: ../src/vikwindow.c:1855 ../src/vikwindow.c:3698
msgid "_Pan"
msgstr ""
-#: ../src/vikwindow.c:1547
+#: ../src/vikwindow.c:1855
msgid "Pan Tool"
msgstr "Penggeseran"
-#: ../src/vikwindow.c:1664
+#: ../src/vikwindow.c:1972
msgid "_Select"
msgstr ""
-#: ../src/vikwindow.c:1664
+#: ../src/vikwindow.c:1972
msgid "Select Tool"
msgstr ""
-#: ../src/vikwindow.c:1809
+#: ../src/vikwindow.c:2123
msgid "You must select a layer to show its properties."
msgstr ""
#. No error to show, so unlikely this will get called
-#: ../src/vikwindow.c:1824
+#: ../src/vikwindow.c:2137
msgid "The help system is not available."
msgstr ""
#. Main error path
-#: ../src/vikwindow.c:1827
+#: ../src/vikwindow.c:2140
#, c-format
msgid ""
"Help is not available because: %s.\n"
"Ensure a Mime Type ghelp handler program is installed (e.g. yelp)."
msgstr ""
-#: ../src/vikwindow.c:1850
+#: ../src/vikwindow.c:2160
msgid "You must select a layer to delete."
msgstr ""
-#: ../src/vikwindow.c:2087
+#: ../src/vikwindow.c:2396
msgid "Untitled"
msgstr ""
-#: ../src/vikwindow.c:2194
+#: ../src/vikwindow.c:2503
#, c-format
msgid "Unable to add '%s' to the list of recently used documents"
msgstr ""
-#: ../src/vikwindow.c:2208
+#: ../src/vikwindow.c:2540
msgid "The file you requested could not be opened."
msgstr ""
-#: ../src/vikwindow.c:2211
+#: ../src/vikwindow.c:2543
msgid ""
"GPSBabel is required to load files of this type or GPSBabel encountered "
"problems."
msgstr ""
-#: ../src/vikwindow.c:2214
+#: ../src/vikwindow.c:2546
#, c-format
msgid "Unable to load malformed GPX file %s"
msgstr ""
-#: ../src/vikwindow.c:2217
+#: ../src/vikwindow.c:2549
#, c-format
msgid "Unsupported file type for %s"
msgstr ""
#. Since we can process .vik files with issues just show a warning in the status bar
#. Not that a user can do much about it... or tells them what this issue is yet...
-#: ../src/vikwindow.c:2223
+#: ../src/vikwindow.c:2555
#, c-format
msgid "WARNING: issues encountered loading %s"
msgstr ""
-#: ../src/vikwindow.c:2278
+#: ../src/vikwindow.c:2613
msgid "Please select a GPS data file to open. "
msgstr ""
-#: ../src/vikwindow.c:2288
+#: ../src/vikwindow.c:2629
msgid "Geocaching"
msgstr ""
-#: ../src/vikwindow.c:2294
+#: ../src/vikwindow.c:2635
msgid "Google Earth"
msgstr ""
-#: ../src/vikwindow.c:2299
+#: ../src/vikwindow.c:2640
msgid "GPX"
msgstr ""
-#: ../src/vikwindow.c:2304 ../src/vikwindow.c:2387
+#: ../src/vikwindow.c:2645 ../src/vikwindow.c:2734
#: ../src/viking.desktop.in.h:1
msgid "Viking"
msgstr "Viking"
-#: ../src/vikwindow.c:2374
+#: ../src/vikwindow.c:2715
msgid "Save as Viking File."
msgstr ""
+#: ../src/vikwindow.c:2841
+msgid "Exporting to file: "
+msgstr ""
+
+#. Confirm what happened.
+#: ../src/vikwindow.c:2858
+#, c-format
+msgid "Exported files: %d"
+msgstr ""
+
+#: ../src/vikwindow.c:2870
+msgid "Nothing to Export!"
+msgstr ""
+
+#: ../src/vikwindow.c:2874
+msgid "Export to directory"
+msgstr ""
+
+#: ../src/vikwindow.c:2896
+msgid "Could not convert all files"
+msgstr ""
+
+#: ../src/vikwindow.c:2932
+#, c-format
+msgid "%d bytes"
+msgstr ""
+
+#: ../src/vikwindow.c:2934
+#, c-format
+msgid "%3.1f kB"
+msgstr ""
+
+#: ../src/vikwindow.c:2936
+#, c-format
+msgid "%3.1f MB"
+msgstr ""
+
+#: ../src/vikwindow.c:2937
+#, c-format
+msgid ""
+"%s\n"
+"\n"
+"%s\n"
+"\n"
+"%s"
+msgstr ""
+
+#: ../src/vikwindow.c:2942
+msgid "File not accessible"
+msgstr ""
+
+#: ../src/vikwindow.c:2945
+msgid "No Viking File"
+msgstr ""
+
+#: ../src/vikwindow.c:3035
+msgid "This layer has no configurable properties."
+msgstr ""
+
#. Try harder...
-#: ../src/vikwindow.c:2619 ../src/vikwindow.c:2625
+#: ../src/vikwindow.c:3169 ../src/vikwindow.c:3175
msgid "Generating image file..."
msgstr ""
-#: ../src/vikwindow.c:2647
+#: ../src/vikwindow.c:3197
msgid ""
"Failed to generate internal image.\n"
"\n"
"Try creating a smaller image."
msgstr ""
-#: ../src/vikwindow.c:2655
+#: ../src/vikwindow.c:3205
msgid "Failed to generate image file."
msgstr ""
#. Success
-#: ../src/vikwindow.c:2660
+#: ../src/vikwindow.c:3210
msgid "Image file generated."
msgstr ""
-#: ../src/vikwindow.c:2764
+#: ../src/vikwindow.c:3314
msgid ""
"Viewable region outside allowable pixel size bounds for image. Clipping "
"width/height values."
msgstr ""
-#: ../src/vikwindow.c:2789
+#: ../src/vikwindow.c:3339
#, c-format
msgid "Total area: %ldm x %ldm (%.3f sq. km)"
msgstr ""
-#: ../src/vikwindow.c:2792
+#: ../src/vikwindow.c:3342
#, c-format
msgid "Total area: %ldm x %ldm (%.3f sq. miles)"
msgstr ""
-#: ../src/vikwindow.c:2813
+#: ../src/vikwindow.c:3363
msgid "Save Image"
msgstr "Simpan Citra"
-#: ../src/vikwindow.c:2834
+#: ../src/vikwindow.c:3393
msgid "PNG"
msgstr ""
-#: ../src/vikwindow.c:2857
+#: ../src/vikwindow.c:3416
msgid "You must be in UTM mode to use this feature"
msgstr ""
-#: ../src/vikwindow.c:2862
+#: ../src/vikwindow.c:3421
msgid "Choose a directory to hold images"
msgstr ""
#. todo: default for answers inside VikWindow or static (thruout instance)
-#: ../src/vikwindow.c:2883
+#: ../src/vikwindow.c:3442
msgid "Save to Image File"
msgstr "Simpan ke Berkas Citra"
-#: ../src/vikwindow.c:2900
+#: ../src/vikwindow.c:3459
msgid "Width (pixels):"
msgstr "Lebar (piksel):"
-#: ../src/vikwindow.c:2902
+#: ../src/vikwindow.c:3461
msgid "Height (pixels):"
msgstr "Tinggi (piksel):"
-#: ../src/vikwindow.c:2905
+#: ../src/vikwindow.c:3464
msgid ""
"WARNING: USING LARGE IMAGES OVER 10000x10000\n"
"MAY CRASH THE PROGRAM!"
msgstr ""
-#: ../src/vikwindow.c:2907
+#: ../src/vikwindow.c:3466
msgid "Zoom (meters per pixel):"
msgstr "Zum (meter per piksel):"
-#: ../src/vikwindow.c:2921
+#: ../src/vikwindow.c:3482
msgid "Area in current viewable window"
msgstr "Wilayah di jendela yang kini terlihat"
-#: ../src/vikwindow.c:2931
+#: ../src/vikwindow.c:3492
msgid "Save as PNG"
msgstr "Simpan sebagai PNG"
-#: ../src/vikwindow.c:2932
+#: ../src/vikwindow.c:3493
msgid "Save as JPEG"
msgstr "Simpan sebagai JPEG"
-#: ../src/vikwindow.c:2954
+#: ../src/vikwindow.c:3515
msgid "East-west image tiles:"
msgstr ""
-#: ../src/vikwindow.c:2956
+#: ../src/vikwindow.c:3517
msgid "North-south image tiles:"
msgstr ""
-#: ../src/vikwindow.c:3097
+#: ../src/vikwindow.c:3656
msgid "Choose a background color"
msgstr ""
-#: ../src/vikwindow.c:3113
+#: ../src/vikwindow.c:3672
msgid "Choose a track highlight color"
msgstr ""
-#: ../src/vikwindow.c:3134
+#: ../src/vikwindow.c:3693
msgid "_File"
msgstr "Berkas"
-#: ../src/vikwindow.c:3135
+#: ../src/vikwindow.c:3694
msgid "_Edit"
msgstr "_Edit"
-#: ../src/vikwindow.c:3136
-msgid "_View"
-msgstr "_Tilik"
-
-#: ../src/vikwindow.c:3137
+#: ../src/vikwindow.c:3696
msgid "_Show"
msgstr ""
-#: ../src/vikwindow.c:3140
+#: ../src/vikwindow.c:3699
msgid "_Layers"
msgstr "_Lapisan"
-#: ../src/vikwindow.c:3141
+#: ../src/vikwindow.c:3700
msgid "_Tools"
msgstr "_Perkakas"
-#: ../src/vikwindow.c:3142
+#: ../src/vikwindow.c:3701
msgid "_Webtools"
msgstr ""
-#: ../src/vikwindow.c:3143 ../src/vikwindow.c:3206
+#: ../src/vikwindow.c:3702 ../src/vikwindow.c:3763
msgid "_Help"
msgstr "Bantuan"
-#: ../src/vikwindow.c:3145
+#: ../src/vikwindow.c:3704
msgid "New file"
msgstr "Berkas baru"
-#: ../src/vikwindow.c:3146
+#: ../src/vikwindow.c:3705
msgid "_Open..."
msgstr "Buka..."
-#: ../src/vikwindow.c:3146
+#: ../src/vikwindow.c:3705
msgid "Open a file"
msgstr "Buka berkas"
-#: ../src/vikwindow.c:3147
+#: ../src/vikwindow.c:3706
msgid "Open _Recent File"
msgstr ""
-#: ../src/vikwindow.c:3148
+#: ../src/vikwindow.c:3707
msgid "Append _File..."
msgstr "Tambahi Berkas..."
-#: ../src/vikwindow.c:3148
+#: ../src/vikwindow.c:3707
msgid "Append data from a different file"
msgstr "Tambahkan data dari berkas berbeda"
-#: ../src/vikwindow.c:3149
+#: ../src/vikwindow.c:3708
+msgid "_Export All"
+msgstr ""
+
+#: ../src/vikwindow.c:3708
+msgid "Export All TrackWaypoint Layers"
+msgstr ""
+
+#: ../src/vikwindow.c:3709
+msgid "_GPX..."
+msgstr ""
+
+#: ../src/vikwindow.c:3709
+msgid "Export as GPX"
+msgstr ""
+
+#: ../src/vikwindow.c:3710
msgid "A_cquire"
msgstr ""
-#: ../src/vikwindow.c:3150
+#: ../src/vikwindow.c:3711
msgid "Transfer data from a GPS device"
msgstr "Ambil data dari perangkat GPS"
-#: ../src/vikwindow.c:3151
+#: ../src/vikwindow.c:3712
msgid "Import File With GPS_Babel..."
msgstr ""
-#: ../src/vikwindow.c:3151
+#: ../src/vikwindow.c:3712
msgid "Import file via GPSBabel converter"
msgstr ""
-#: ../src/vikwindow.c:3153
-msgid "Google _Directions..."
+#: ../src/vikwindow.c:3713
+msgid "_Directions..."
msgstr ""
-#: ../src/vikwindow.c:3153
-msgid "Get driving directions from Google"
-msgstr "Dapatkan arah mengemudi dari Google"
+#: ../src/vikwindow.c:3713
+msgid "Get driving directions"
+msgstr ""
-#: ../src/vikwindow.c:3156
+#: ../src/vikwindow.c:3715
msgid "_OSM Traces..."
msgstr ""
-#: ../src/vikwindow.c:3156
+#: ../src/vikwindow.c:3715
msgid "Get traces from OpenStreetMap"
msgstr ""
-#: ../src/vikwindow.c:3157
+#: ../src/vikwindow.c:3716
msgid "_My OSM Traces..."
msgstr ""
-#: ../src/vikwindow.c:3157
+#: ../src/vikwindow.c:3716
msgid "Get Your Own Traces from OpenStreetMap"
msgstr ""
-#: ../src/vikwindow.c:3160
+#: ../src/vikwindow.c:3719
msgid "Geo_caches..."
msgstr ""
-#: ../src/vikwindow.c:3160
+#: ../src/vikwindow.c:3719
msgid "Get Geocaches from geocaching.com"
msgstr ""
-#: ../src/vikwindow.c:3163
+#: ../src/vikwindow.c:3722
msgid "Create waypoints from geotagged images"
msgstr ""
-#: ../src/vikwindow.c:3166
+#: ../src/vikwindow.c:3725
msgid "Create waypoints from Wikipedia items in the current view"
msgstr ""
-#: ../src/vikwindow.c:3168
+#: ../src/vikwindow.c:3727
msgid "_Save"
msgstr "_Simpan"
-#: ../src/vikwindow.c:3168
+#: ../src/vikwindow.c:3727
msgid "Save the file"
msgstr "Simpan berkas"
-#: ../src/vikwindow.c:3169
+#: ../src/vikwindow.c:3728
msgid "Save _As..."
msgstr "Simpan Seb_agai..."
-#: ../src/vikwindow.c:3169
+#: ../src/vikwindow.c:3728
msgid "Save the file under different name"
msgstr "Simpan berkas dengan nama berbeda"
-#: ../src/vikwindow.c:3170
+#: ../src/vikwindow.c:3729
+msgid "Properties..."
+msgstr ""
+
+#: ../src/vikwindow.c:3729
+msgid "File Properties"
+msgstr ""
+
+#: ../src/vikwindow.c:3730
msgid "_Generate Image File..."
msgstr ""
-#: ../src/vikwindow.c:3170
+#: ../src/vikwindow.c:3730
msgid "Save a snapshot of the workspace into a file"
msgstr ""
-#: ../src/vikwindow.c:3171
+#: ../src/vikwindow.c:3731
msgid "Generate _Directory of Images..."
msgstr ""
-#: ../src/vikwindow.c:3171
+#: ../src/vikwindow.c:3731
msgid "FIXME:IMGDIR"
msgstr ""
-#: ../src/vikwindow.c:3174
+#: ../src/vikwindow.c:3732
msgid "_Print..."
msgstr "Cetak..."
-#: ../src/vikwindow.c:3174
+#: ../src/vikwindow.c:3732
msgid "Print maps"
msgstr "Cetak peta"
-#: ../src/vikwindow.c:3177
+#: ../src/vikwindow.c:3733
msgid "E_xit"
msgstr "Keluar"
-#: ../src/vikwindow.c:3177
+#: ../src/vikwindow.c:3733
msgid "Exit the program"
msgstr "Keluar dari program"
-#: ../src/vikwindow.c:3178
+#: ../src/vikwindow.c:3734
msgid "Save and Exit"
msgstr "Simpan dan Keluar"
-#: ../src/vikwindow.c:3178
+#: ../src/vikwindow.c:3734
msgid "Save and Exit the program"
msgstr "Simpan lalu keluar dari program"
-#: ../src/vikwindow.c:3180
+#: ../src/vikwindow.c:3736
msgid "Go to the _Default Location"
msgstr ""
-#: ../src/vikwindow.c:3180
+#: ../src/vikwindow.c:3736
msgid "Go to the default location"
msgstr ""
-#: ../src/vikwindow.c:3181
+#: ../src/vikwindow.c:3737
msgid "Go to _Location..."
msgstr ""
-#: ../src/vikwindow.c:3181
+#: ../src/vikwindow.c:3737
msgid "Go to address/place using text search"
msgstr "Ke alamat/tempat memakai pencarian teks"
-#: ../src/vikwindow.c:3182
+#: ../src/vikwindow.c:3738
msgid "_Go to Lat/Lon..."
msgstr "Pergi ke Lintang/Bujur..."
-#: ../src/vikwindow.c:3182
+#: ../src/vikwindow.c:3738
msgid "Go to arbitrary lat/lon coordinate"
msgstr "Pergi ke sebarang koordinat lintang/bujur"
-#: ../src/vikwindow.c:3183
+#: ../src/vikwindow.c:3739
msgid "Go to UTM..."
msgstr "Pergi ke UTM..."
-#: ../src/vikwindow.c:3183
+#: ../src/vikwindow.c:3739
msgid "Go to arbitrary UTM coordinate"
msgstr "Pergi ke sebarang koordinat UTM"
-#: ../src/vikwindow.c:3184
+#: ../src/vikwindow.c:3740
msgid "_Refresh"
msgstr ""
-#: ../src/vikwindow.c:3184
+#: ../src/vikwindow.c:3740
msgid "Refresh any maps displayed"
msgstr ""
-#: ../src/vikwindow.c:3185
+#: ../src/vikwindow.c:3741
msgid "Set _Highlight Color..."
msgstr ""
-#: ../src/vikwindow.c:3186
+#: ../src/vikwindow.c:3742
msgid "Set Bac_kground Color..."
msgstr ""
-#: ../src/vikwindow.c:3187
+#: ../src/vikwindow.c:3743
msgid "Zoom _In"
msgstr "Perbesar"
-#: ../src/vikwindow.c:3188
+#: ../src/vikwindow.c:3744
msgid "Zoom _Out"
msgstr "Perkecil"
-#: ../src/vikwindow.c:3189
+#: ../src/vikwindow.c:3745
msgid "Zoom _To..."
msgstr "Pembesaran Ke..."
-#: ../src/vikwindow.c:3190
+#: ../src/vikwindow.c:3746
msgid "Pan _North"
msgstr ""
-#: ../src/vikwindow.c:3191
+#: ../src/vikwindow.c:3747
msgid "Pan _East"
msgstr ""
-#: ../src/vikwindow.c:3192
+#: ../src/vikwindow.c:3748
msgid "Pan _South"
msgstr ""
-#: ../src/vikwindow.c:3193
+#: ../src/vikwindow.c:3749
msgid "Pan _West"
msgstr ""
-#: ../src/vikwindow.c:3194
+#: ../src/vikwindow.c:3750
msgid "Background _Jobs"
msgstr ""
-#: ../src/vikwindow.c:3196
+#: ../src/vikwindow.c:3752
msgid "Cu_t"
msgstr "Potong"
-#: ../src/vikwindow.c:3197
-msgid "_Copy"
-msgstr "Salin"
-
-#: ../src/vikwindow.c:3198
-msgid "_Paste"
-msgstr "Tempel"
-
-#: ../src/vikwindow.c:3199
-msgid "_Delete"
-msgstr "Hapus"
-
-#: ../src/vikwindow.c:3200
+#: ../src/vikwindow.c:3756
msgid "Delete All"
msgstr "Hapus Semua"
-#: ../src/vikwindow.c:3201
+#: ../src/vikwindow.c:3757
msgid "_Flush Map Cache"
msgstr ""
-#: ../src/vikwindow.c:3202
+#: ../src/vikwindow.c:3758
msgid "_Set the Default Location"
msgstr ""
-#: ../src/vikwindow.c:3202
+#: ../src/vikwindow.c:3758
msgid "Set the Default Location to the current position"
msgstr ""
-#: ../src/vikwindow.c:3203
+#: ../src/vikwindow.c:3759
msgid "_Preferences"
msgstr ""
-#: ../src/vikwindow.c:3204
+#: ../src/vikwindow.c:3760
+msgid "_Layer Defaults"
+msgstr ""
+
+#: ../src/vikwindow.c:3761
msgid "_Properties"
msgstr "_Properti"
-#: ../src/vikwindow.c:3207
+#: ../src/vikwindow.c:3764
msgid "_About"
msgstr "Ihw_al"
-#: ../src/vikwindow.c:3213
+#: ../src/vikwindow.c:3768
+msgid "_KML..."
+msgstr ""
+
+#: ../src/vikwindow.c:3768
+msgid "Export as KML"
+msgstr ""
+
+#: ../src/vikwindow.c:3774
msgid "_UTM Mode"
msgstr "Mode _UTM"
-#: ../src/vikwindow.c:3214
+#: ../src/vikwindow.c:3775
msgid "_Expedia Mode"
msgstr "Mode _Expedia"
-#: ../src/vikwindow.c:3215
+#: ../src/vikwindow.c:3776
msgid "_Mercator Mode"
msgstr "Mode _Mercator"
-#: ../src/vikwindow.c:3216
+#: ../src/vikwindow.c:3777
msgid "Lat_/Lon Mode"
msgstr ""
-#: ../src/vikwindow.c:3220
+#: ../src/vikwindow.c:3781
msgid "Show _Scale"
msgstr ""
-#: ../src/vikwindow.c:3220
+#: ../src/vikwindow.c:3781
msgid "Show Scale"
msgstr "Tampilkan Skala"
-#: ../src/vikwindow.c:3221
+#: ../src/vikwindow.c:3782
msgid "Show _Center Mark"
msgstr ""
-#: ../src/vikwindow.c:3221
+#: ../src/vikwindow.c:3782
msgid "Show Center Mark"
msgstr "Tampilkan Tanda Pusat"
-#: ../src/vikwindow.c:3222
+#: ../src/vikwindow.c:3783
msgid "Show _Highlight"
msgstr ""
-#: ../src/vikwindow.c:3222
+#: ../src/vikwindow.c:3783
msgid "Show Highlight"
msgstr ""
-#: ../src/vikwindow.c:3223
+#: ../src/vikwindow.c:3784
msgid "_Full Screen"
msgstr "Layar Penuh"
-#: ../src/vikwindow.c:3223
+#: ../src/vikwindow.c:3784
msgid "Activate full screen mode"
msgstr "Aktifkan mode layar penuh"
-#: ../src/vikwindow.c:3224
+#: ../src/vikwindow.c:3785
msgid "Show Side _Panel"
msgstr ""
-#: ../src/vikwindow.c:3224
+#: ../src/vikwindow.c:3785
msgid "Show Side Panel"
msgstr "Tampilkan Panel Sisi"
-#: ../src/vikwindow.c:3225
+#: ../src/vikwindow.c:3786
msgid "Show Status_bar"
msgstr ""
-#: ../src/vikwindow.c:3225
+#: ../src/vikwindow.c:3786
msgid "Show Statusbar"
msgstr ""
-#: ../src/vikwindow.c:3226
+#: ../src/vikwindow.c:3787
msgid "Show _Toolbar"
msgstr ""
-#: ../src/vikwindow.c:3226
+#: ../src/vikwindow.c:3787
msgid "Show Toolbar"
msgstr ""
-#: ../src/vikwindow.c:3227
+#: ../src/vikwindow.c:3788
msgid "Show _Menu"
msgstr ""
-#: ../src/vikwindow.c:3227
+#: ../src/vikwindow.c:3788
msgid "Show Menu"
msgstr ""
+#: ../src/vikwindow.c:3862
+#, c-format
+msgid "New _%s Layer"
+msgstr ""
+
#: ../src/viking.desktop.in.h:2
msgid "GPS Data Manager"
msgstr "Pengelola Data GPS"
diff --git a/po/it.po b/po/it.po
index d67a67b..68dd7e3 100644
--- a/po/it.po
+++ b/po/it.po
@@ -7,67 +7,67 @@ msgid ""
msgstr ""
"Project-Id-Version: viking\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-02-04 23:29+0100\n"
-"PO-Revision-Date: 2012-11-07 01:17+0000\n"
-"Last-Translator: Wonderfulheart <Unknown>\n"
+"POT-Creation-Date: 2013-09-03 21:58+0200\n"
+"PO-Revision-Date: 2013-06-30 07:58+0000\n"
+"Last-Translator: Cristian Marchi <Unknown>\n"
"Language-Team: Italian <it@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Launchpad-Export-Date: 2013-03-23 17:12+0000\n"
-"X-Generator: Launchpad (build 16540)\n"
+"X-Launchpad-Export-Date: 2013-10-12 09:04+0000\n"
+"X-Generator: Launchpad (build 16799)\n"
-#: ../src/acquire.c:103 ../src/vikgpslayer.c:1185
+#: ../src/acquire.c:103 ../src/vikgpslayer.c:1235
msgid "Done."
msgstr "Fatto."
-#: ../src/acquire.c:114
+#: ../src/acquire.c:112
msgid "No data."
msgstr "Nessun dato."
-#: ../src/acquire.c:154 ../src/acquire.c:404
+#: ../src/acquire.c:154 ../src/acquire.c:424
msgid "Error: acquisition failed."
msgstr "Errore: acquisizione non riuscita."
-#: ../src/acquire.c:341
+#: ../src/acquire.c:352
msgid "Working..."
msgstr "In esecuzione..."
#. This shouldn't happen...
-#: ../src/acquire.c:394
+#: ../src/acquire.c:415
msgid ""
"Unable to create command\n"
"Acquire method failed."
-msgstr ""
+msgstr "Questo non dovrebbe accadere..."
-#: ../src/acquire.c:486
+#: ../src/acquire.c:517
msgid "_Filter"
-msgstr ""
+msgstr "_Filtra"
-#: ../src/acquire.c:501
+#: ../src/acquire.c:532
#, c-format
msgid "Filter with %s"
-msgstr ""
+msgstr "Filtra con %s"
-#: ../src/acquire.c:518
+#: ../src/acquire.c:549
msgid "Filter"
-msgstr ""
+msgstr "Filtra"
-#: ../src/background.c:52
+#: ../src/background.c:53
#, c-format
msgid "%d items"
msgstr "%d elementi"
-#: ../src/background.c:248
+#: ../src/background.c:254
msgid "Job"
msgstr "Lavoro"
-#: ../src/background.c:252
+#: ../src/background.c:258
msgid "Progress"
msgstr "Avanzamento"
-#: ../src/background.c:268
+#: ../src/background.c:274
msgid "Viking Background Jobs"
msgstr "Processi in background di Viking"
@@ -76,7 +76,7 @@ msgid "Bing"
msgstr "Bing"
#. VIK_GTK_WINDOW_FROM_WIDGET(vp)
-#: ../src/bingmapsource.c:445
+#: ../src/bingmapsource.c:499
msgid "Bing attribution Loading"
msgstr "Caricamento attributi di Bing"
@@ -105,37 +105,37 @@ msgstr ""
"Per incollare un waypoint, selezionare un livello appropriato in cui "
"incollarlo."
-#: ../src/dialog.c:52
+#: ../src/dialog.c:53
msgid "Go to Lat/Lon"
msgstr "Vai a Lat/Lon"
-#: ../src/dialog.c:64 ../src/dialog.c:251
+#: ../src/dialog.c:65 ../src/dialog.c:244
msgid "Latitude:"
msgstr "Latitudine:"
-#: ../src/dialog.c:70 ../src/dialog.c:256
+#: ../src/dialog.c:71 ../src/dialog.c:249
msgid "Longitude:"
msgstr "Longitudine:"
-#: ../src/dialog.c:102
+#: ../src/dialog.c:103
msgid "Go to UTM"
msgstr "Vai a UTM"
-#: ../src/dialog.c:115
+#: ../src/dialog.c:116
msgid "Northing:"
msgstr ""
"Copy text \t\r\n"
"Northing:"
-#: ../src/dialog.c:121
+#: ../src/dialog.c:122
msgid "Easting:"
msgstr "Easting:"
-#: ../src/dialog.c:128
+#: ../src/dialog.c:129
msgid "Zone:"
msgstr "Zona:"
-#: ../src/dialog.c:131
+#: ../src/dialog.c:132
msgid "Letter:"
msgstr "Lettera:"
@@ -143,105 +143,109 @@ msgstr "Lettera:"
msgid "Waypoint Properties"
msgstr "Proprietà Waypoint"
-#: ../src/dialog.c:233
+#: ../src/dialog.c:235
msgid "Name:"
msgstr "Nome:"
-#: ../src/dialog.c:261
+#: ../src/dialog.c:254
msgid "Altitude:"
msgstr "Altitudine:"
-#: ../src/dialog.c:266
+#: ../src/dialog.c:259
msgid "Comment:"
msgstr "Commento:"
-#: ../src/dialog.c:274 ../src/osm-traces.c:437
+#: ../src/dialog.c:267 ../src/osm-traces.c:445
msgid "Description:"
msgstr "Descrizione:"
-#: ../src/dialog.c:277
+#: ../src/dialog.c:270
msgid "Image:"
msgstr "Immagine:"
-#: ../src/dialog.c:282
+#: ../src/dialog.c:275
msgid "Symbol:"
msgstr "Simbolo:"
-#: ../src/dialog.c:291
+#: ../src/dialog.c:284
msgid "(none)"
msgstr "(nessuno)"
+#: ../src/dialog.c:326
+msgid "Time:"
+msgstr ""
+
#. TODO: other checks (isalpha or whatever )
-#: ../src/dialog.c:356
+#: ../src/dialog.c:363
msgid "Please enter a name for the waypoint."
msgstr "Inserire un nome per il waypoint."
-#: ../src/dialog.c:529 ../src/geonamessearch.c:243
+#: ../src/dialog.c:502 ../src/geonamessearch.c:244
#: ../src/datasource_osm_my_traces.c:507
msgid "Nothing was selected"
msgstr "Niente di selezionato"
-#: ../src/dialog.c:537
+#: ../src/dialog.c:510
msgid "Add Route"
msgstr ""
-#: ../src/dialog.c:537
+#: ../src/dialog.c:510
msgid "Add Track"
msgstr "Aggiungi traccia"
-#: ../src/dialog.c:545
+#: ../src/dialog.c:518
msgid "Route Name:"
msgstr ""
-#: ../src/dialog.c:545
+#: ../src/dialog.c:518
msgid "Track Name:"
msgstr "Nome traccia:"
-#: ../src/dialog.c:565
+#: ../src/dialog.c:538
msgid "Please enter a name for the track."
msgstr "Inserire un nome per la traccia."
-#: ../src/dialog.c:623
+#: ../src/dialog.c:596
msgid "Zoom Factors..."
msgstr "Fattori di zoom..."
-#: ../src/dialog.c:637
+#: ../src/dialog.c:610
msgid "Zoom factor (in meters per pixel):"
msgstr "Fattore di ingrandimento (in merti per pixel):"
-#: ../src/dialog.c:638
+#: ../src/dialog.c:611
msgid "X (easting): "
msgstr "X (easting) "
-#: ../src/dialog.c:639
+#: ../src/dialog.c:612
msgid "Y (northing): "
msgstr "Y (northing): "
-#: ../src/dialog.c:644
+#: ../src/dialog.c:617
msgid "X and Y zoom factors must be equal"
msgstr "I fattori di zoom di X e Y devono essere uguali"
-#: ../src/dialog.c:699
+#: ../src/dialog.c:672
msgid "1 min"
msgstr "1 min"
-#: ../src/dialog.c:700
+#: ../src/dialog.c:673
msgid "1 hour"
msgstr "1 ora"
-#: ../src/dialog.c:701
+#: ../src/dialog.c:674
msgid "1 day"
msgstr "1 giorno"
-#: ../src/dialog.c:702
+#: ../src/dialog.c:675
msgid "Custom (in minutes):"
msgstr "Personalizzato (in minuti)"
-#: ../src/dialog.c:808
+#: ../src/dialog.c:786
msgid "GPS Data and Topo Analyzer, Explorer, and Manager."
msgstr "Gestione, esplorazione, analisi topografica e GPS."
-#: ../src/dialog.c:809
+#: ../src/dialog.c:787
msgid ""
"This program is free software; you can redistribute it and/or modify it "
"under the terms of the GNU General Public License as published by the Free "
@@ -271,28 +275,28 @@ msgstr ""
"this program; if not, write to the Free Software Foundation, Inc., 59 Temple "
"Place, Suite 330, Boston, MA 02111-1307, USA"
-#: ../src/dialog.c:837
+#: ../src/dialog.c:852
msgid "Translation is coordinated on http://launchpad.net/viking"
msgstr "Le traduzioni vengono coordinate su http://launchpad.net/viking"
-#: ../src/dialog.c:845
+#: ../src/dialog.c:861
msgid "Download along track"
msgstr "Scarica lungo il tracciato"
-#: ../src/dialog.c:851
+#: ../src/dialog.c:868
msgid "Map type:"
msgstr "Tipo di mappa:"
-#: ../src/dialog.c:856
+#: ../src/dialog.c:874
msgid "Zoom level:"
msgstr "Livello di ingrandimento:"
-#: ../src/dialog.c:896
+#: ../src/dialog.c:914
#, c-format
msgid "The map data is licensed: %s."
msgstr "La mappa dei dati è protetta da licenza: %s."
-#: ../src/dialog.c:899
+#: ../src/dialog.c:917
#, c-format
msgid ""
"The data provided by '<b>%s</b>' are licensed under the following license: "
@@ -302,7 +306,7 @@ msgstr ""
"I dati forniti da \"<b>%s</b>\" hanno la seguente licenza: <b>%s</b>.\n"
"Leggere la licenza prima di continuare."
-#: ../src/dialog.c:904
+#: ../src/dialog.c:922
msgid "Open license"
msgstr "Apri licenza"
@@ -353,90 +357,201 @@ msgstr "Nessuna voce trovata!"
#. NB could allow columns to be shifted around by doing this after each new
#. gtk_tree_view_column_set_reorderable ( column, TRUE );
#. However I don't think is that useful, so I haven't put it in
-#: ../src/geonamessearch.c:177 ../src/datasource_osm_my_traces.c:425
+#: ../src/geonamessearch.c:177 ../src/datasource_osm_my_traces.c:424
+#: ../src/viktrwlayer_tracklist.c:521
msgid "Name"
msgstr ""
#: ../src/geonamessearch.c:182
msgid "Feature"
-msgstr ""
+msgstr "Funzionalità"
-#: ../src/geonamessearch.c:187 ../src/datasource_osm_my_traces.c:440
+#: ../src/geonamessearch.c:187 ../src/datasource_osm_my_traces.c:439
msgid "Lat/Lon"
-msgstr ""
+msgstr "Lat/Lon"
-#: ../src/geonamessearch.c:269 ../src/googlesearch.c:100
+#: ../src/geonamessearch.c:270 ../src/googlesearch.c:100 ../src/vikgoto.c:306
msgid "couldn't map temp file"
msgstr "Imopssibile mappare il file temporaneo"
-#: ../src/globals.c:44
+#: ../src/globals.c:73
+msgid "Absolute"
+msgstr ""
+
+#: ../src/globals.c:73
+msgid "Relative"
+msgstr ""
+
+#: ../src/globals.c:76
msgid "Degree format:"
msgstr "Formato gradi:"
-#: ../src/globals.c:48
+#: ../src/globals.c:77
msgid "Distance units:"
msgstr "Unità di distanza:"
-#: ../src/globals.c:52
+#: ../src/globals.c:78
msgid "Speed units:"
msgstr "Unità di velocità:"
-#: ../src/globals.c:56
+#: ../src/globals.c:79
msgid "Height units:"
msgstr "Unità di altezza:"
-#: ../src/globals.c:60
+#: ../src/globals.c:80
msgid "Use large waypoint icons:"
msgstr "Usa icone grandi per i waypoint:"
-#: ../src/globals.c:64
+#: ../src/globals.c:81
msgid "Default latitude:"
msgstr "Latitudine predefinita:"
-#: ../src/globals.c:67
+#: ../src/globals.c:82
msgid "Default longitude:"
msgstr "Longitudine predefinita:"
-#: ../src/globals.c:73
+#: ../src/globals.c:88
msgid "Alphabetical"
msgstr ""
-#: ../src/globals.c:73 ../src/datasource_osm_my_traces.c:435
+#: ../src/globals.c:88 ../src/datasource_osm_my_traces.c:434
msgid "Time"
msgstr ""
-#: ../src/globals.c:76
+#: ../src/globals.c:88
+msgid "Creation"
+msgstr ""
+
+#: ../src/globals.c:89
+msgid "Title Case"
+msgstr ""
+
+#: ../src/globals.c:89
+msgid "Lowercase"
+msgstr ""
+
+#: ../src/globals.c:92
msgid "KML File Export Units:"
msgstr "Unità di Esportazione dei file KML:"
-#: ../src/globals.c:77
+#: ../src/globals.c:93
msgid "GPX Track Order:"
msgstr ""
-#: ../src/globals.c:82
+#: ../src/globals.c:94
+msgid "GPX Waypoint Symbols:"
+msgstr ""
+
+#: ../src/globals.c:95
+msgid ""
+"Save GPX Waypoint Symbol names in the specified case. May be useful for "
+"compatibility with various devices"
+msgstr ""
+
+#: ../src/globals.c:100
msgid "Image Viewer:"
msgstr "Visualizzatore di immagine:"
-#: ../src/globals.c:87
+#: ../src/globals.c:105
msgid "External GPX Program 1:"
msgstr "Programma GPX esterno 1:"
-#: ../src/globals.c:88
+#: ../src/globals.c:106
msgid "External GPX Program 2:"
msgstr "Programma GPX esterno 2:"
+#: ../src/globals.c:110
+msgid "Save File Reference Mode:"
+msgstr ""
+
+#: ../src/globals.c:111
+msgid ""
+"When saving a Viking .vik file, this determines how the directory paths of "
+"filenames are written."
+msgstr ""
+
+#: ../src/globals.c:112
+msgid "Show Tooltip during Track Creation:"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Home Location"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Last Location"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Specified File"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Auto Location"
+msgstr ""
+
+#: ../src/globals.c:118
+msgid "Restore Window Setup:"
+msgstr ""
+
+#: ../src/globals.c:119
+msgid "Restore window size and layout"
+msgstr ""
+
+#: ../src/globals.c:120
+msgid "Add a Default Map Layer:"
+msgstr ""
+
+#: ../src/globals.c:121
+msgid ""
+"The default map layer added is defined by the Layer Defaults. Use the menu "
+"Edit->Layer Defaults->Map... to change the map type and other values."
+msgstr ""
+
+#: ../src/globals.c:122
+msgid "Startup Method:"
+msgstr ""
+
+#: ../src/globals.c:123
+msgid "Startup File:"
+msgstr ""
+
+#: ../src/globals.c:124
+msgid ""
+"The default file to load on startup. Only applies when the startup method is "
+"set to 'Specified File'"
+msgstr ""
+
+#: ../src/globals.c:125
+msgid "Check For New Version:"
+msgstr ""
+
+#: ../src/globals.c:126
+msgid "Periodically check to see if a new version of Viking is available"
+msgstr ""
+
#. Defaults for the options are setup here
-#: ../src/globals.c:96
+#: ../src/globals.c:163
msgid "General"
msgstr "Generale"
#. New Tab
-#: ../src/globals.c:121
+#: ../src/globals.c:188
+msgid "Startup"
+msgstr ""
+
+#. New Tab
+#: ../src/globals.c:206
msgid "Export/External"
msgstr "Esporta/Esterno"
+#. 'Advanced' Properties
+#: ../src/globals.c:230
+msgid "Advanced"
+msgstr ""
+
#. Webtools
-#: ../src/google.c:36
+#: ../src/google.c:38
msgid "Google"
msgstr "Google"
@@ -449,24 +564,24 @@ msgid "Imported file"
msgstr "File importato"
#. The file selector
-#: ../src/datasource_file.c:133
+#: ../src/datasource_file.c:127
msgid "File:"
msgstr "File:"
-#: ../src/datasource_file.c:134
+#: ../src/datasource_file.c:128
msgid "File to import"
msgstr "File da importare"
-#: ../src/datasource_file.c:141
+#: ../src/datasource_file.c:135
msgid "All files"
msgstr "Tutti i file"
#. The file format selector
-#: ../src/datasource_file.c:148
+#: ../src/datasource_file.c:142
msgid "File type:"
msgstr "Tipo di file:"
-#: ../src/datasource_file.c:193
+#: ../src/datasource_file.c:184
#, c-format
msgid "using babel args '%s' and file '%s'"
msgstr "uso degli argomenti babel '%s' e file '%s'"
@@ -479,15 +594,15 @@ msgstr "Scarica Geocache"
msgid "Geocaching.com Caches"
msgstr "Cache di Geocaching.com"
-#: ../src/datasource_gc.c:84
+#: ../src/datasource_gc.c:85
msgid "geocaching.com username:"
msgstr "Nome utente di geocaching.com:"
-#: ../src/datasource_gc.c:85
+#: ../src/datasource_gc.c:86
msgid "geocaching.com password:"
msgstr "Password di geocaching.com:"
-#: ../src/datasource_gc.c:126
+#: ../src/datasource_gc.c:127
#, c-format
msgid ""
"Can't find %s or %s in path! Check that you have installed it correctly."
@@ -495,15 +610,15 @@ msgstr ""
"Impossibile trovare %s o %s nel percorso! Controlla siano installati "
"correttamente."
-#: ../src/datasource_gc.c:188
+#: ../src/datasource_gc.c:189
msgid "Number geocaches:"
msgstr "Numero geocache:"
-#: ../src/datasource_gc.c:190
+#: ../src/datasource_gc.c:191
msgid "Centered around:"
msgstr "Centrata su:"
-#: ../src/datasource_gc.c:226
+#: ../src/datasource_gc.c:230
msgid "Broken input - using some defaults"
msgstr "Input corrotto - uso quelli predefiniti"
@@ -515,98 +630,89 @@ msgstr "Crea Punti di Transito da Immagini Georeferenziate"
msgid "Geotagged Images"
msgstr "Immagini Georeferenziate"
-#: ../src/datasource_geotag.c:102 ../src/vikwindow.c:2314
-#: ../src/vikwindow.c:2382 ../src/vikwindow.c:2824
+#: ../src/datasource_geotag.c:102 ../src/vikwindow.c:2655
+#: ../src/vikwindow.c:2729 ../src/vikwindow.c:3380
msgid "All"
msgstr "Tutti"
-#: ../src/datasource_geotag.c:107 ../src/vikwindow.c:2829
+#: ../src/datasource_geotag.c:107 ../src/vikwindow.c:3385
msgid "JPG"
msgstr "JPG"
-#: ../src/datasource_geotag.c:165
+#: ../src/datasource_geotag.c:168
#, c-format
msgid "Unable to create waypoint from %s"
msgstr "Impossibile creare il punto di transito da %s"
-#: ../src/datasource_google.c:49 ../src/datasource_google.c:50
-msgid "Google Directions"
-msgstr "Indicazioni da Google"
-
-#: ../src/datasource_google.c:77
-msgid "From:"
-msgstr "Da:"
-
-#: ../src/datasource_google.c:79
-msgid "To:"
-msgstr "A:"
-
-#: ../src/datasource_gps.c:57
+#: ../src/datasource_gps.c:54
msgid "Acquire from GPS"
msgstr "Acquisisci dal GPS"
-#: ../src/datasource_gps.c:58
+#: ../src/datasource_gps.c:55
msgid "Acquired from GPS"
msgstr "Aquisiti dal GPS"
-#: ../src/datasource_gps.c:221
+#: ../src/datasource_gps.c:245
#, c-format
msgid "using cmdline '%s' and file '%s'\n"
msgstr "Sto utilizzando cmdline '%s' e file '%s'\n"
-#: ../src/datasource_gps.c:297 ../src/vikgpslayer.c:884
+#: ../src/datasource_gps.c:327 ../src/vikgpslayer.c:934
#, c-format
msgid "Downloading %d waypoint..."
msgid_plural "Downloading %d waypoints..."
msgstr[0] "Download in corso di %d waypoint"
msgstr[1] "Download in corso di %d waypoint"
-#: ../src/datasource_gps.c:298 ../src/vikgpslayer.c:885
+#: ../src/datasource_gps.c:328 ../src/vikgpslayer.c:935
#, c-format
msgid "Downloading %d trackpoint..."
msgid_plural "Downloading %d trackpoints..."
msgstr[0] "Download in corso di %d trackpoint"
msgstr[1] "Download in corso di %d trackpoint"
-#: ../src/datasource_gps.c:303 ../src/vikgpslayer.c:890
+#: ../src/datasource_gps.c:333 ../src/vikgpslayer.c:940
#, c-format
msgid "Downloading %d routepoint..."
msgid_plural "Downloading %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/datasource_gps.c:325 ../src/datasource_gps.c:326
-#: ../src/datasource_gps.c:327
+#: ../src/datasource_gps.c:355 ../src/datasource_gps.c:356
+#: ../src/datasource_gps.c:357
#, c-format
msgid "Downloaded %d out of %d %s..."
msgstr "Scaricati %d di %d %s"
-#: ../src/datasource_gps.c:331 ../src/datasource_gps.c:332
-#: ../src/datasource_gps.c:333
+#: ../src/datasource_gps.c:361 ../src/datasource_gps.c:362
+#: ../src/datasource_gps.c:363
#, c-format
msgid "Downloaded %d %s."
msgstr "Scaricati %d %s."
-#: ../src/datasource_gps.c:347 ../src/vikgpslayer.c:968
+#: ../src/datasource_gps.c:377 ../src/vikgpslayer.c:1018
#, c-format
msgid "GPS Device: %s"
msgstr "Dispositivo GPS: %s"
-#: ../src/datasource_gps.c:370 ../src/vikgpslayer.c:1042
-#: ../src/vikgpslayer.c:1110
+#: ../src/datasource_gps.c:400 ../src/vikgpslayer.c:1092
+#: ../src/vikgpslayer.c:1160
msgid "Status: Working..."
msgstr ""
-#: ../src/datasource_gps.c:469 ../src/vikgpslayer.c:150
+#. NB gps_layer_inst_init() is performed after parameter registeration
+#. thus to give the protocols some potential values use the old static list
+#. TODO: find another way to use gps_layer_inst_init()?
+#: ../src/datasource_gps.c:500 ../src/vikgpslayer.c:207
msgid "GPS Protocol:"
msgstr "Protocollo GPS:"
-#. List now assigned at runtime
-#: ../src/datasource_gps.c:488 ../src/vikgpslayer.c:151
+#. List reassigned at runtime
+#: ../src/datasource_gps.c:526 ../src/vikgpslayer.c:208
msgid "Serial Port:"
msgstr "Porta seriale:"
-#: ../src/datasource_gps.c:509
+#: ../src/datasource_gps.c:576
msgid ""
"Turn Off After Transfer\n"
"(Garmin/NAViLink Only)"
@@ -614,19 +720,19 @@ msgstr ""
"Spegni al termine del trasferimento\n"
"(solo Garmin/NAViLink)"
-#: ../src/datasource_gps.c:512
+#: ../src/datasource_gps.c:583
msgid "Tracks:"
msgstr "Tracciati:"
-#: ../src/datasource_gps.c:516
+#: ../src/datasource_gps.c:590
msgid "Routes:"
msgstr ""
-#: ../src/datasource_gps.c:520
+#: ../src/datasource_gps.c:597
msgid "Waypoints:"
msgstr "Punti di Transito:"
-#: ../src/datasource_gps.c:594 ../src/vikgpslayer.c:1305
+#: ../src/datasource_gps.c:675 ../src/vikgpslayer.c:1355
msgid "GPS device: N/A"
msgstr "Dipositivo GPS: N/D"
@@ -634,39 +740,39 @@ msgstr "Dipositivo GPS: N/D"
msgid "OSM traces"
msgstr "Tracce OSM"
-#: ../src/datasource_osm.c:80
+#: ../src/datasource_osm.c:82
msgid "Page number:"
msgstr "Numero della pagina:"
-#: ../src/datasource_osm_my_traces.c:63 ../src/datasource_osm_my_traces.c:64
+#: ../src/datasource_osm_my_traces.c:59 ../src/datasource_osm_my_traces.c:60
msgid "OSM My Traces"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:108
+#: ../src/datasource_osm_my_traces.c:104
msgid "Username:"
-msgstr ""
+msgstr "Nome utente:"
-#: ../src/datasource_osm_my_traces.c:113
+#: ../src/datasource_osm_my_traces.c:109
msgid "The email or username used to login to OSM"
-msgstr ""
+msgstr "L'indirizzo email o il nome utente utilizzato per l'accesso a OSM"
-#: ../src/datasource_osm_my_traces.c:115 ../src/osm-traces.c:413
+#: ../src/datasource_osm_my_traces.c:111 ../src/osm-traces.c:421
msgid "Password:"
msgstr "Password:"
-#: ../src/datasource_osm_my_traces.c:120
+#: ../src/datasource_osm_my_traces.c:114
msgid "The password used to login to OSM"
-msgstr ""
+msgstr "La password per l'accesso a OSM"
-#: ../src/datasource_osm_my_traces.c:430
+#: ../src/datasource_osm_my_traces.c:429
msgid "Description"
-msgstr ""
+msgstr "Descrizione"
-#: ../src/datasource_osm_my_traces.c:445
+#: ../src/datasource_osm_my_traces.c:444
msgid "Privacy"
-msgstr ""
+msgstr "Privacy"
-#: ../src/datasource_osm_my_traces.c:452
+#: ../src/datasource_osm_my_traces.c:451
msgid "Within Current View"
msgstr ""
@@ -678,15 +784,33 @@ msgstr ""
msgid "None found!"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:629
+#: ../src/datasource_osm_my_traces.c:634
msgid "My OSM Traces"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:645
+#: ../src/datasource_osm_my_traces.c:649
#, c-format
msgid "Unable to get trace: %s"
msgstr ""
+#: ../src/datasource_routing.c:53 ../src/datasource_routing.c:54
+msgid "Directions"
+msgstr ""
+
+#. Engine selector
+#: ../src/datasource_routing.c:83
+msgid "Engine:"
+msgstr ""
+
+#. From and To entries
+#: ../src/datasource_routing.c:88
+msgid "From:"
+msgstr "Da:"
+
+#: ../src/datasource_routing.c:90
+msgid "To:"
+msgstr "A:"
+
#: ../src/datasource_wikipedia.c:32
msgid "Create Waypoints from Wikipedia Articles"
msgstr ""
@@ -707,138 +831,138 @@ msgstr "Header DEM non valido"
msgid "Incorrect DEM Class B record: expected 1"
msgstr "DEM Classe B non corretta: attesa 1"
-#: ../src/dem.c:360
+#: ../src/dem.c:288 ../src/download.c:170
#, c-format
msgid "Couldn't map file %s: %s"
msgstr "Impossibile mappare il file %s: %s"
-#: ../src/download.c:112
-msgid "Tile age (s):"
+#: ../src/download.c:130
+msgid "Tile age (days):"
msgstr ""
-#: ../src/download.c:233
+#: ../src/download.c:321
#, c-format
msgid "Download error: %s"
msgstr "Errore durante il download: %s"
-#: ../src/download.c:313
+#: ../src/download.c:404
msgid "couldn't open temp file"
msgstr "Impossibile aprire il file temporaneo"
-#: ../src/file.c:456 ../src/file.c:461
+#: ../src/file.c:451 ../src/file.c:456
#, c-format
msgid "Draw mode '%s' no more supported"
msgstr "Modalità '%s' non più supportata"
-#: ../src/geotag_exif.c:433
+#: ../src/geotag_exif.c:421
msgid "Not enough memory."
msgstr "Memoria insufficiente."
-#: ../src/geotag_exif.c:451
+#: ../src/geotag_exif.c:439
msgid "Setting a value for this tag is unsupported!"
msgstr "L'impostazione di un valore per questo tag non è supportato!"
-#: ../src/geotag_exif.c:470
+#: ../src/geotag_exif.c:458
#, c-format
msgid "Too few components specified (need %d, found %d)\n"
msgstr "Troppo pochi componenti specificati (necessari %d, trovati %d)\n"
-#: ../src/geotag_exif.c:474
+#: ../src/geotag_exif.c:462
msgid "Numeric value expected\n"
msgstr "Valore numerico atteso\n"
-#: ../src/geotag_exif.c:482
+#: ../src/geotag_exif.c:470
msgid "This shouldn't happen!"
msgstr "Questo non dovrebbe accadere!"
-#: ../src/geotag_exif.c:552
+#: ../src/geotag_exif.c:540
msgid "Not yet implemented!"
msgstr "Non ancora implementato"
-#: ../src/geotag_exif.c:565
+#: ../src/geotag_exif.c:553
msgid "Warning; Too many components specified!"
msgstr "Attenzione; Troppi componenti specificati!"
-#: ../src/osm-traces.c:73
+#: ../src/osm-traces.c:76
msgid "Identifiable (public w/ timestamps)"
msgstr "Identificabili (strada pubblica/ marcatori temporali)"
-#: ../src/osm-traces.c:74
+#: ../src/osm-traces.c:77
msgid "Trackable (private w/ timestamps)"
msgstr "Tracciabile (strada privata/ marcatori temporali)"
-#: ../src/osm-traces.c:75
+#: ../src/osm-traces.c:78
msgid "Public"
msgstr "Pubblico"
-#: ../src/osm-traces.c:76
+#: ../src/osm-traces.c:79
msgid "Private"
msgstr "Privato"
-#: ../src/osm-traces.c:93
+#: ../src/osm-traces.c:97
msgid "OSM username:"
msgstr "Username OSM:"
-#: ../src/osm-traces.c:94
+#: ../src/osm-traces.c:98
msgid "OSM password:"
msgstr "Password OSM:"
#. Preferences
-#: ../src/osm-traces.c:151
+#: ../src/osm-traces.c:155
msgid "OpenStreetMap Traces"
msgstr "Tracce OpenStreetMap"
-#: ../src/osm-traces.c:234
+#: ../src/osm-traces.c:238
#, c-format
msgid "failed to upload data: HTTP response is %ld"
msgstr "Impossibile effettuare l'upload: la risposta HTTP è %ld"
-#: ../src/osm-traces.c:239
+#: ../src/osm-traces.c:243
#, c-format
msgid "curl_easy_getinfo failed: %d"
msgstr "errore di curl_easy_getinfo: %d"
-#: ../src/osm-traces.c:244
+#: ../src/osm-traces.c:248
#, c-format
msgid "curl request failed: %s"
msgstr "Errore di curl request: %s"
-#: ../src/osm-traces.c:275
+#: ../src/osm-traces.c:279
#, c-format
msgid "failed to open temporary file: %s"
msgstr "Apertura del file temporaneo %s fallita."
#. Success
-#: ../src/osm-traces.c:328
+#: ../src/osm-traces.c:340
msgid "Uploaded to OSM"
msgstr "Caricato su OSM"
-#: ../src/osm-traces.c:332
+#: ../src/osm-traces.c:344
msgid "FAILED TO UPLOAD DATA TO OSM - CURL PROBLEM"
msgstr "CARICAMENTO DEI DATI ALL'OSM NON RIUSCITA - PROBLEMA CURL"
-#: ../src/osm-traces.c:335
+#: ../src/osm-traces.c:347
msgid "FAILED TO UPLOAD DATA TO OSM"
msgstr "CARICAMENTO DEI DATI ALL'OSM NON RIUSCITO"
-#: ../src/osm-traces.c:335
+#: ../src/osm-traces.c:347
msgid "HTTP response code"
msgstr "Codice di risposta HTTP"
-#: ../src/osm-traces.c:348
+#: ../src/osm-traces.c:355
#, c-format
msgid "failed to unlink temporary file: %s"
msgstr "Impossibile eseguire l'unlink del file temporaneo: %s"
-#: ../src/osm-traces.c:387
+#: ../src/osm-traces.c:394
msgid "OSM upload"
msgstr "upload OSM"
-#: ../src/osm-traces.c:405
+#: ../src/osm-traces.c:413
msgid "Email:"
msgstr "Email:"
-#: ../src/osm-traces.c:410
+#: ../src/osm-traces.c:418
msgid ""
"The email used as login\n"
"<small>Enter the email you use to login into www.openstreetmap.org.</small>"
@@ -847,7 +971,7 @@ msgstr ""
"<small>Inserisci l'indirizzo email utilizzato per effettuare il login di "
"www.openstreetmap.org.</small>"
-#: ../src/osm-traces.c:418
+#: ../src/osm-traces.c:426
msgid ""
"The password used to login\n"
"<small>Enter the password you use to login into "
@@ -857,11 +981,11 @@ msgstr ""
"<small>Inserisci la password che utilizzi per effettuare il login su "
"www.openstreetmap.org.</small>"
-#: ../src/osm-traces.c:423
+#: ../src/osm-traces.c:431
msgid "File's name:"
msgstr "Nome del file:"
-#: ../src/osm-traces.c:433
+#: ../src/osm-traces.c:441
msgid ""
"The name of the file on OSM\n"
"<small>This is the name of the file created on the server.This is not the "
@@ -871,19 +995,30 @@ msgstr ""
"<small>Questo è il nome del file creato sul server. Questo non è il nome del "
"file in locale</small>"
-#: ../src/osm-traces.c:442
+#: ../src/osm-traces.c:450
msgid "The description of the trace"
msgstr "La descrizione della traccia"
-#: ../src/osm-traces.c:444
+#: ../src/osm-traces.c:453
+msgid "Anonymize Times:"
+msgstr ""
+
+#: ../src/osm-traces.c:458
+msgid ""
+"Anonymize times of the trace.\n"
+"<small>You may choose to make the trace identifiable, yet mask the actual "
+"real time values</small>"
+msgstr ""
+
+#: ../src/osm-traces.c:462
msgid "Tags:"
msgstr "Tag:"
-#: ../src/osm-traces.c:449
+#: ../src/osm-traces.c:467
msgid "The tags associated to the trace"
msgstr "I tag associati alla traccia"
-#: ../src/osm-traces.c:482
+#: ../src/osm-traces.c:529
#, c-format
msgid "Uploading %s to OSM"
msgstr "Caricamento di %s su OSM"
@@ -892,69 +1027,88 @@ msgstr "Caricamento di %s su OSM"
msgid "Map cache memory size (MB):"
msgstr ""
-#: ../src/print.c:53
+#: ../src/print.c:51 ../src/viktrwlayer.c:509
msgid "None"
msgstr "Nessuno"
-#: ../src/print.c:54
+#: ../src/print.c:52
msgid "Horizontally"
msgstr "Orizzontalmente"
-#: ../src/print.c:55
+#: ../src/print.c:53
msgid "Vertically"
msgstr "Verticalmente"
-#: ../src/print.c:56
+#: ../src/print.c:54
msgid "Both"
msgstr "Entrambi"
-#: ../src/print.c:120
+#: ../src/print.c:118
msgid "Image Settings"
msgstr "Impostazioni dell'immagine"
-#: ../src/print.c:546
+#: ../src/print.c:548
msgid "done"
msgstr "fatto"
#. Page Size
-#: ../src/print.c:575
+#: ../src/print.c:577
msgid "_Adjust Page Size and Orientation"
msgstr "Regol_a la dimensione e l'orientamento pagina"
-#: ../src/print.c:591
+#: ../src/print.c:593
msgid "C_enter:"
msgstr "C_entro:"
#. ignore page margins
-#: ../src/print.c:609
+#: ../src/print.c:611
msgid "Ignore Page _Margins"
msgstr "Ignora i _margini della pagina"
-#: ../src/print.c:628
+#: ../src/print.c:630
msgid "Image S_ize:"
msgstr "Dimen_sione immagine:"
-#: ../src/util.c:81
-msgid "Could not launch web browser."
-msgstr "Impossibile avviare il browser web."
+#: ../src/util.c:65
+#, c-format
+msgid "Could not launch web browser. %s"
+msgstr ""
+
+#: ../src/util.c:76
+#, c-format
+msgid "Could not create new email. %s"
+msgstr ""
+
+#: ../src/util.c:177
+#, c-format
+msgid ""
+"There is a newer version of Viking available: %s\n"
+"\n"
+"Do you wish to go to Viking's website now?"
+msgstr ""
-#: ../src/util.c:92
-msgid "Could not create new email."
-msgstr "Impossibile creare una nuova email."
+#: ../src/util.c:304
+msgid ""
+"This appears to be Viking's very first run.\n"
+"\n"
+"Do you wish to enable automatic internet features?\n"
+"\n"
+"Individual settings can be controlled in the Preferences."
+msgstr ""
-#: ../src/vikcoordlayer.c:46
+#: ../src/vikcoordlayer.c:57
msgid "Color:"
msgstr "Colore:"
-#: ../src/vikcoordlayer.c:47
+#: ../src/vikcoordlayer.c:58
msgid "Minutes Width:"
msgstr "Larghezza minuti:"
-#: ../src/vikcoordlayer.c:48
+#: ../src/vikcoordlayer.c:59
msgid "Line Thickness:"
msgstr "Spessore della linea:"
-#: ../src/vikcoordlayer.c:56
+#: ../src/vikcoordlayer.c:66
msgid "Coordinate"
msgstr ""
@@ -990,63 +1144,131 @@ msgstr "Waypoint all'esterno di questo"
msgid "Polygonzied Layer"
msgstr "Strato a poligoni"
-#: ../src/main.c:89
+#: ../src/main.c:92
#, c-format
msgid "Ignoring Xlib error: error code %d request code %d\n"
msgstr ""
-#: ../src/main.c:102
+#: ../src/main.c:105
msgid "Enable debug output"
msgstr "Abilita output di debug"
-#: ../src/main.c:103
+#: ../src/main.c:106
msgid "Enable verbose output"
msgstr "Abilita output prolisso"
-#: ../src/main.c:104
+#: ../src/main.c:107
msgid "Show version"
msgstr "Mostra versione"
-#: ../src/osm.c:106
+#: ../src/osm.c:99
msgid "On Disk OSM Tile Format"
msgstr ""
-#: ../src/osm.c:121
+#: ../src/osm.c:113
msgid "OSM (view)"
msgstr "OSM (visualizza)"
-#: ../src/osm.c:125
+#: ../src/osm.c:117
msgid "OSM (edit)"
msgstr "OSM (modifica)"
-#: ../src/osm.c:129
+#: ../src/osm.c:121
msgid "OSM (render)"
msgstr "OSM (disegna)"
#. Example: http://127.0.0.1:8111/load_and_zoom?left=8.19&right=8.20&top=48.605&bottom=48.590&select=node413602999
#. JOSM or merkaartor must already be running with remote interface enabled
-#: ../src/osm.c:136
+#: ../src/osm.c:128
msgid "Local port 8111 (eg JOSM)"
msgstr "Porta locale 8111 (per esempio JOSM)"
-#: ../src/preferences.c:285
+#: ../src/osm.c:134
+msgid "OpenStreetMap Notes"
+msgstr ""
+
+#: ../src/osm.c:138
+msgid "OpenStreetBugs"
+msgstr ""
+
+#. Not really OSM but can't be bothered to create somewhere else to put it...
+#: ../src/osm.c:164
+msgid "Wikimedia Toolserver GeoHack"
+msgstr ""
+
+#: ../src/preferences.c:191
msgid "Preferences"
msgstr "Preferenze"
-#: ../src/uibuilder.c:147
+#: ../src/viklayer_defaults.c:232
+#, c-format
+msgid "Could not open file: %s"
+msgstr ""
+
+#: ../src/viklayer_defaults.c:303
+msgid "Layer Defaults"
+msgstr ""
+
+#: ../src/uibuilder.c:185
msgid "Take care that this password will be stored clearly in a plain file."
msgstr ""
"Attenzione, questa password verrà memorizzata in chiaro in un file di testo."
-#: ../src/vikaggregatelayer.c:37
+#: ../src/vikaggregatelayer.c:42
msgid "Aggregate"
msgstr ""
-#: ../src/vikdemlayer.c:101
+#. VikLayersPanel *vlp = VIK_LAYERS_PANEL(lav[1]);
+#: ../src/vikaggregatelayer.c:484 ../src/viktrwlayer.c:10238
+#, c-format
+msgid "%s: Track and Route List"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:529 ../src/viktrwlayer.c:7354
+#: ../src/viktrwlayer.c:7420 ../src/viktrwlayer.c:7498
+msgid "_Visibility"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:534
+msgid "_Show All"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:540
+msgid "_Hide All"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:546 ../src/viktrwlayer.c:7371
+#: ../src/viktrwlayer.c:7437 ../src/viktrwlayer.c:7515
+msgid "_Toggle"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:553 ../src/viktrwlayer.c:7536
+msgid "_Sort"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:559 ../src/viktrwlayer.c:7542
+msgid "Name _Ascending"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:565 ../src/viktrwlayer.c:7548
+msgid "Name _Descending"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:571 ../src/viktrwlayer.c:7449
+#: ../src/viktrwlayer.c:7527 ../src/viktrwlayer.c:7587
+#: ../src/viktrwlayer_tracklist.c:237
+msgid "_Statistics"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:576 ../src/viktrwlayer.c:3971
+msgid "Track _List..."
+msgstr ""
+
+#: ../src/vikdemlayer.c:92
msgid "Absolute height"
msgstr "Altezza assoluta"
-#: ../src/vikdemlayer.c:102
+#: ../src/vikdemlayer.c:93
msgid "Height gradient"
msgstr "Gradiente di altezza"
@@ -1076,35 +1298,62 @@ msgstr "Elev. massima:"
#: ../src/vikdemlayer.c:134
msgid "_DEM Download"
-msgstr ""
+msgstr "Scarica _DEM"
#: ../src/vikdemlayer.c:134
msgid "DEM Download"
-msgstr ""
+msgstr "Scarica DEM"
#: ../src/vikdemlayer.c:188
msgid "DEM"
-msgstr ""
+msgstr "DEM"
-#: ../src/vikdemlayer.c:284
+#: ../src/vikdemlayer.c:287
#, c-format
msgid "Number of files: %d"
msgstr "Numero di file: %d"
-#: ../src/vikdemlayer.c:385
+#: ../src/vikdemlayer.c:427
msgid "DEM Loading"
msgstr "Caricamento DEM"
-#: ../src/vikdemlayer.c:889
+#: ../src/vikdemlayer.c:937
#, c-format
msgid "No SRTM data available for %f, %f"
msgstr "Dati SRTM non disponibili per %f, %f"
-#: ../src/vikdemlayer.c:1149
+#. Probably not over any land...
+#: ../src/vikdemlayer.c:1193
+msgid "No DEM File Available"
+msgstr ""
+
+#: ../src/vikdemlayer.c:1212
+#, c-format
+msgid ""
+"\n"
+"Source: %s\n"
+"\n"
+"DEM File: %s\n"
+"DEM File Timestamp: %s"
+msgstr ""
+
+#: ../src/vikdemlayer.c:1216
+#, c-format
+msgid ""
+"Source: %s\n"
+"\n"
+"No DEM File!"
+msgstr ""
+
+#: ../src/vikdemlayer.c:1256
#, c-format
msgid "Downloading DEM %s"
msgstr "Download di DEM %s in corso"
+#: ../src/vikdemlayer.c:1280
+msgid "_Show DEM File Information"
+msgstr ""
+
#: ../src/vikfileentry.c:68
msgid "Browse..."
msgstr "Sfoglia..."
@@ -1125,253 +1374,267 @@ msgstr "Aggiungi..."
msgid "Delete"
msgstr "Elimina"
-#: ../src/vikgeoreflayer.c:70
+#: ../src/vikgeoreflayer.c:78
msgid "_Georef Move Map"
msgstr ""
-#: ../src/vikgeoreflayer.c:70
+#: ../src/vikgeoreflayer.c:78
msgid "Georef Move Map"
msgstr "Sposta mappa Georef"
-#: ../src/vikgeoreflayer.c:77
+#: ../src/vikgeoreflayer.c:85
msgid "Georef Z_oom Tool"
msgstr ""
-#: ../src/vikgeoreflayer.c:77
+#: ../src/vikgeoreflayer.c:85
msgid "Georef Zoom Tool"
msgstr "Strumento di Zoom Georef"
-#: ../src/vikgeoreflayer.c:87
+#: ../src/vikgeoreflayer.c:95
msgid "GeoRef Map"
msgstr ""
-#: ../src/vikgeoreflayer.c:335 ../src/vikmapslayer.c:685
+#: ../src/vikgeoreflayer.c:377 ../src/vikmapslayer.c:720
#, c-format
msgid "Couldn't open image file: %s"
msgstr "Impossibile aprire il file immagine: %s"
-#: ../src/vikgeoreflayer.c:365
+#: ../src/vikgeoreflayer.c:391
+msgid ""
+"GeoRef map cannot be displayed in the current drawmode.\n"
+"Select \"UTM Mode\" from View menu to view it."
+msgstr ""
+
+#: ../src/vikgeoreflayer.c:415
msgid "Unexpected end of file reading World file."
msgstr "Fine del file inattesa durante la lettura del World File."
-#: ../src/vikgeoreflayer.c:381 ../src/vikgeoreflayer.c:426
+#: ../src/vikgeoreflayer.c:431 ../src/vikgeoreflayer.c:476
msgid "Choose World file"
msgstr "Seleziona \"World File\""
-#: ../src/vikgeoreflayer.c:394
+#: ../src/vikgeoreflayer.c:444
msgid "The World file you requested could not be opened for reading."
msgstr "Il World File richiesto non può essere aperto per la lettura."
-#: ../src/vikgeoreflayer.c:439
+#: ../src/vikgeoreflayer.c:489
msgid "The file you requested could not be opened for writing."
msgstr ""
"Non è stato possibile aprire il file richiesto in modalità di scrittura"
-#: ../src/vikgeoreflayer.c:456 ../src/viklayer.c:480
+#: ../src/vikgeoreflayer.c:506 ../src/viklayer.c:518
msgid "Layer Properties"
msgstr "Proprietà del livello"
-#: ../src/vikgeoreflayer.c:478
+#: ../src/vikgeoreflayer.c:528
msgid "World File Parameters:"
msgstr "Parametri del World File:"
-#: ../src/vikgeoreflayer.c:479
+#: ../src/vikgeoreflayer.c:529
msgid "Load From File..."
msgstr "Carica da file..."
-#: ../src/vikgeoreflayer.c:484
+#: ../src/vikgeoreflayer.c:534
msgid "Corner pixel easting:"
msgstr "Allineamento angolo verso est in pixel:"
-#: ../src/vikgeoreflayer.c:486
-msgid "the UTM \"easting\" value of the upper-right corner pixel of the map"
+#: ../src/vikgeoreflayer.c:536
+msgid "the UTM \"easting\" value of the upper-left corner pixel of the map"
msgstr ""
-"Il valore dell'UTM \"percorso verso est\" del pixel nell'angolo in alto a "
-"destra della mappa"
-#: ../src/vikgeoreflayer.c:488
+#: ../src/vikgeoreflayer.c:538
msgid "Corner pixel northing:"
msgstr "Allineamento angolo verso nord in pixel:"
-#: ../src/vikgeoreflayer.c:490
-msgid "the UTM \"northing\" value of the upper-right corner pixel of the map"
+#: ../src/vikgeoreflayer.c:540
+msgid "the UTM \"northing\" value of the upper-left corner pixel of the map"
msgstr ""
-"Il valore dell'UTM \"percorso verso nord\" del pixel nell'angolo in alto a "
-"destra della mappa"
-#: ../src/vikgeoreflayer.c:492
+#: ../src/vikgeoreflayer.c:542
msgid "X (easting) scale (mpp): "
msgstr "scala X (easting) (mpp): "
-#: ../src/vikgeoreflayer.c:493
+#: ../src/vikgeoreflayer.c:543
msgid "Y (northing) scale (mpp): "
msgstr "Scala Y (northing mpp): "
-#: ../src/vikgeoreflayer.c:496
+#: ../src/vikgeoreflayer.c:546
msgid "the scale of the map in the X direction (meters per pixel)"
msgstr "Scala della mappa nella direxione X (metri per pixel)"
-#: ../src/vikgeoreflayer.c:498
+#: ../src/vikgeoreflayer.c:548
msgid "the scale of the map in the Y direction (meters per pixel)"
msgstr "Scala della mappa nella direxione Y (metri per pixel)"
-#: ../src/vikgeoreflayer.c:500
+#: ../src/vikgeoreflayer.c:550
msgid "Map Image:"
msgstr "Immagine della mappa:"
#. Now with icons
-#: ../src/vikgeoreflayer.c:608
+#: ../src/vikgeoreflayer.c:658
msgid "_Zoom to Fit Map"
msgstr "_Zoom per adattare la mappa"
-#: ../src/vikgeoreflayer.c:614
+#: ../src/vikgeoreflayer.c:664
msgid "_Goto Map Center"
msgstr "_Va al _centro della mappa"
-#: ../src/vikgeoreflayer.c:620
+#: ../src/vikgeoreflayer.c:670
msgid "_Export to World File"
msgstr "_Esporta al File del Mondo"
-#: ../src/vikgoto.c:75
+#: ../src/vikgoto.c:81
msgid "No goto tool available."
msgstr "Non è disponibile alcuno strumento \"vai a\"."
-#: ../src/vikgoto.c:88 ../src/vikgoto.c:107
+#: ../src/vikgoto.c:94 ../src/vikgoto.c:148
msgid "goto"
msgstr "Vai a"
-#: ../src/vikgoto.c:90
+#: ../src/vikgoto.c:96
msgid "I don't know that place. Do you want another goto?"
msgstr "Non conosco quel posto. Vuoi andare in un altro?"
-#: ../src/vikgoto.c:109
+#: ../src/vikgoto.c:150
msgid "goto provider:"
msgstr "vai al fornitore:"
-#: ../src/vikgoto.c:124
+#: ../src/vikgoto.c:165
msgid "Enter address or place name:"
msgstr "Digita l'indirizzo oppure il nome di un luogo"
-#: ../src/vikgpslayer.c:127
-msgid "Data Mode"
+#: ../src/vikgoto.c:363
+msgid "Locality"
msgstr ""
-#: ../src/vikgpslayer.c:129
+#: ../src/vikgpslayer.c:128
+msgid "Data Mode"
+msgstr "Modalità dati"
+
+#: ../src/vikgpslayer.c:130
msgid "Realtime Tracking Mode"
msgstr ""
-#: ../src/vikgpslayer.c:137
+#: ../src/vikgpslayer.c:167
msgid "Keep vehicle at center"
-msgstr ""
+msgstr "Mantieni il veicolo al centro"
-#: ../src/vikgpslayer.c:138
+#: ../src/vikgpslayer.c:168
msgid "Keep vehicle on screen"
-msgstr ""
+msgstr "Mantieni il veicolo nello schermo"
-#: ../src/vikgpslayer.c:139
+#: ../src/vikgpslayer.c:169
msgid "Disable"
-msgstr ""
+msgstr "Disabilita"
-#: ../src/vikgpslayer.c:152
+#: ../src/vikgpslayer.c:209
msgid "Download Tracks:"
msgstr "Scarica i Tracciati:"
-#: ../src/vikgpslayer.c:153
+#: ../src/vikgpslayer.c:210
msgid "Upload Tracks:"
msgstr "Carica i Tracciati:"
-#: ../src/vikgpslayer.c:154
+#: ../src/vikgpslayer.c:211
msgid "Download Routes:"
msgstr ""
-#: ../src/vikgpslayer.c:155
+#: ../src/vikgpslayer.c:212
msgid "Upload Routes:"
msgstr ""
-#: ../src/vikgpslayer.c:156
+#: ../src/vikgpslayer.c:213
msgid "Download Waypoints:"
msgstr "Scarica i Punti di Transito:"
-#: ../src/vikgpslayer.c:157
+#: ../src/vikgpslayer.c:214
msgid "Upload Waypoints:"
msgstr "Carica i Punti di Transito:"
-#: ../src/vikgpslayer.c:159
+#: ../src/vikgpslayer.c:216
msgid "Recording tracks"
msgstr "Registra i tracciati"
-#: ../src/vikgpslayer.c:160
+#: ../src/vikgpslayer.c:217
msgid "Jump to current position on start"
msgstr "All'avvio salta alla posizione corrente"
-#: ../src/vikgpslayer.c:161
+#: ../src/vikgpslayer.c:218
msgid "Moving Map Method:"
msgstr "Metodo di spostamento mappa:"
-#: ../src/vikgpslayer.c:162
+#: ../src/vikgpslayer.c:219
+msgid "Update Statusbar:"
+msgstr ""
+
+#: ../src/vikgpslayer.c:219
+msgid "Display information in the statusbar on GPS updates"
+msgstr ""
+
+#: ../src/vikgpslayer.c:220
msgid "Gpsd Host:"
msgstr "Host Gpsd:"
-#: ../src/vikgpslayer.c:163
+#: ../src/vikgpslayer.c:221
msgid "Gpsd Port:"
msgstr "Porta di Gpsd:"
-#: ../src/vikgpslayer.c:164
+#: ../src/vikgpslayer.c:222
msgid "Gpsd Retry Interval (seconds):"
msgstr "Intervallo di Prova Gpsd (secondi):"
-#: ../src/vikgpslayer.c:179
+#: ../src/vikgpslayer.c:243
msgid "GPS"
-msgstr ""
+msgstr "GPS"
-#: ../src/vikgpslayer.c:242 ../src/vikgpslayer.c:1258
+#: ../src/vikgpslayer.c:306 ../src/vikgpslayer.c:1308
msgid "GPS Download"
msgstr "Download GPS"
-#: ../src/vikgpslayer.c:242 ../src/vikgpslayer.c:1258
-#: ../src/viktrwlayer.c:3094
+#: ../src/vikgpslayer.c:306 ../src/vikgpslayer.c:1308
+#: ../src/viktrwlayer.c:3480
msgid "GPS Upload"
msgstr "Upload GPS"
-#: ../src/vikgpslayer.c:244
+#: ../src/vikgpslayer.c:308
msgid "GPS Realtime Tracking"
msgstr "Tracciamento GPS in Tempo Reale"
-#: ../src/vikgpslayer.c:451
+#: ../src/vikgpslayer.c:517
msgid "Unknown GPS Protocol"
msgstr "Protocollo GPS sconosciuto"
-#: ../src/vikgpslayer.c:469
+#: ../src/vikgpslayer.c:535
msgid "Unknown serial port device"
msgstr "Porta seriale del dispositivo sconosciuta"
-#: ../src/vikgpslayer.c:572
+#: ../src/vikgpslayer.c:648
#, c-format
msgid "%s: unknown parameter"
msgstr "%s: parametro sconosciuto"
#. Now with icons
-#: ../src/vikgpslayer.c:693
+#: ../src/vikgpslayer.c:743
msgid "_Upload to GPS"
msgstr "Carica al GPS (_U)"
-#: ../src/vikgpslayer.c:699
+#: ../src/vikgpslayer.c:749
msgid "Download from _GPS"
msgstr "Scarica dal _GPS"
-#: ../src/vikgpslayer.c:720
+#: ../src/vikgpslayer.c:770
msgid "Empty _Realtime"
msgstr "Svuota Tempo _Reale"
-#: ../src/vikgpslayer.c:727
+#: ../src/vikgpslayer.c:777
msgid "E_mpty Upload"
msgstr "Svuota il Carica_mento"
-#: ../src/vikgpslayer.c:733
+#: ../src/vikgpslayer.c:783
msgid "_Empty Download"
msgstr "Svuota lo Scaricamento (_E)"
-#: ../src/vikgpslayer.c:739
+#: ../src/vikgpslayer.c:789
msgid "Empty _All"
msgstr "Svuota Tutto (_A)"
@@ -1380,234 +1643,232 @@ msgstr "Svuota Tutto (_A)"
#. This happens when copied GPS layer is deleted (not sure why the number_handlers would be 2)
#. I don't think there's any side effects and certainly better than the program just aborting
#.
-#: ../src/vikgpslayer.c:756
+#: ../src/vikgpslayer.c:806
#, c-format
msgid "Unexpected number of disconnected handlers: %d"
msgstr "Numero inatteso di gestori disconnessi: %d"
-#: ../src/vikgpslayer.c:898
+#: ../src/vikgpslayer.c:948
#, c-format
msgid "Uploading %d waypoint..."
msgid_plural "Uploading %d waypoints..."
msgstr[0] "Upload di %d waypoint in corso..."
msgstr[1] "Upload di %d waypoint in corso..."
-#: ../src/vikgpslayer.c:899
+#: ../src/vikgpslayer.c:949
#, c-format
msgid "Uploading %d trackpoint..."
msgid_plural "Uploading %d trackpoints..."
msgstr[0] "Caricamento di %d punto del tracciato in corso..."
msgstr[1] "Caricamento di %d punti del tracciato in corso..."
-#: ../src/vikgpslayer.c:900
+#: ../src/vikgpslayer.c:950
#, c-format
msgid "Uploading %d routepoint..."
msgid_plural "Uploading %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:925
+#: ../src/vikgpslayer.c:975
#, c-format
msgid "Downloaded %d out of %d waypoint..."
msgid_plural "Downloaded %d out of %d waypoints..."
msgstr[0] "Scaricati %d waypoint su %d..."
msgstr[1] "Scaricati %d waypoint su %d..."
-#: ../src/vikgpslayer.c:926
+#: ../src/vikgpslayer.c:976
#, c-format
msgid "Downloaded %d out of %d trackpoint..."
msgid_plural "Downloaded %d out of %d trackpoints..."
msgstr[0] "Scaricato %d punto del tracciato su %d..."
msgstr[1] "Scaricati %d punti del tracciato su %d..."
-#: ../src/vikgpslayer.c:927
+#: ../src/vikgpslayer.c:977
#, c-format
msgid "Downloaded %d out of %d routepoint..."
msgid_plural "Downloaded %d out of %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:932
+#: ../src/vikgpslayer.c:982
#, c-format
msgid "Uploaded %d out of %d waypoint..."
msgid_plural "Uploaded %d out of %d waypoints..."
msgstr[0] "Caricati %d di %d waypoint..."
msgstr[1] "Caricati %d di of %d waypoint..."
-#: ../src/vikgpslayer.c:933
+#: ../src/vikgpslayer.c:983
#, c-format
msgid "Uploaded %d out of %d trackpoint..."
msgid_plural "Uploaded %d out of %d trackpoints..."
msgstr[0] "Caricato %d di %d punto del tracciato..."
msgstr[1] "Caricati %d di %d punti del tracciato..."
-#: ../src/vikgpslayer.c:934
+#: ../src/vikgpslayer.c:984
#, c-format
msgid "Uploaded %d out of %d routepoint..."
msgid_plural "Uploaded %d out of %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:942
+#: ../src/vikgpslayer.c:992
#, c-format
msgid "Downloaded %d waypoint"
msgid_plural "Downloaded %d waypoints"
msgstr[0] "Scaricati %d waypoint"
msgstr[1] "Scaricati %d waypoint"
-#: ../src/vikgpslayer.c:943
+#: ../src/vikgpslayer.c:993
#, c-format
msgid "Downloaded %d trackpoint"
msgid_plural "Downloaded %d trackpoints"
msgstr[0] "Scaricato %d punto del tracciato"
msgstr[1] "Scaricati %d punti del tracciato"
-#: ../src/vikgpslayer.c:944
+#: ../src/vikgpslayer.c:994
#, c-format
msgid "Downloaded %d routepoint"
msgid_plural "Downloaded %d routepoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:949
+#: ../src/vikgpslayer.c:999
#, c-format
msgid "Uploaded %d waypoint"
msgid_plural "Uploaded %d waypoints"
msgstr[0] "Caricati %d waypoint"
msgstr[1] "Caricati %d waypoint"
-#: ../src/vikgpslayer.c:950
+#: ../src/vikgpslayer.c:1000
#, c-format
msgid "Uploaded %d trackpoint"
msgid_plural "Uploaded %d trackpoints"
msgstr[0] "Caricato %d punto del tracciato"
msgstr[1] "Caricati %d punti del tracciato"
-#: ../src/vikgpslayer.c:951
+#: ../src/vikgpslayer.c:1001
#, c-format
msgid "Uploaded %d routepoint"
msgid_plural "Uploaded %d routepoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:1180
+#: ../src/vikgpslayer.c:1230
msgid "Error: couldn't find gpsbabel."
msgstr "Errore: impossibile trovare gpsbabel."
-#: ../src/vikgpslayer.c:1269
+#: ../src/vikgpslayer.c:1319
msgid "Warning - GPS Upload items may overwrite each other"
msgstr ""
-#: ../src/vikgpslayer.c:1301
+#: ../src/vikgpslayer.c:1351
msgid "Status: detecting gpsbabel"
msgstr "Stato: rilevazione di gpsbabel in corso"
-#: ../src/vikgpslayer.c:1332
+#: ../src/vikgpslayer.c:1386
msgid "No GPS items selected for transfer."
-msgstr ""
+msgstr "Nessun elemento GPS selezionato per il trasferimento."
-#: ../src/vikgpslayer.c:1347
+#: ../src/vikgpslayer.c:1401
msgid "Could not turn off device."
-msgstr ""
+msgstr "Impossibile spegnere il dispositivo"
-#: ../src/vikgpslayer.c:1385
+#: ../src/vikgpslayer.c:1439
msgid "Are you sure you want to delete GPS Upload data?"
msgstr "Sei sicuro di voler eliminare i dati GPS Caricati?"
-#: ../src/vikgpslayer.c:1398
+#: ../src/vikgpslayer.c:1452
msgid "Are you sure you want to delete GPS Download data?"
msgstr "Sei sicuro di voler eliminare i dati GPS Scaricati?"
-#: ../src/vikgpslayer.c:1412
+#: ../src/vikgpslayer.c:1466
msgid "Are you sure you want to delete GPS Realtime data?"
msgstr "Sei sicuro di voler eliminare i dati GPS in Tempo Reale?"
-#: ../src/vikgpslayer.c:1425
+#: ../src/vikgpslayer.c:1479
msgid "Are you sure you want to delete All GPS data?"
msgstr "Sei sicuro di voler eliminare Tutti i dati GPS?"
-#: ../src/viklayerspanel.c:55
-msgid "/C_ut"
-msgstr "/T_aglia"
+#: ../src/viklayerspanel.c:53
+msgid "C_ut"
+msgstr ""
-#: ../src/viklayerspanel.c:56
-msgid "/_Copy"
-msgstr "/_Copia"
+#: ../src/viklayerspanel.c:54 ../src/vikwindow.c:3753
+msgid "_Copy"
+msgstr "_Copia"
-#: ../src/viklayerspanel.c:57
-msgid "/_Paste"
-msgstr "/_Incolla"
+#: ../src/viklayerspanel.c:55 ../src/vikwindow.c:3754
+msgid "_Paste"
+msgstr "Inco_lla"
-#: ../src/viklayerspanel.c:58
-msgid "/_Delete"
-msgstr "/_Elimina"
+#: ../src/viklayerspanel.c:56 ../src/vikwindow.c:3755
+msgid "_Delete"
+msgstr "_Elimina"
-#: ../src/viklayerspanel.c:59
-msgid "/New Layer"
-msgstr "/Nuovo Livello"
+#: ../src/viklayerspanel.c:133
+msgid "New Layer"
+msgstr ""
-#: ../src/viklayerspanel.c:127
+#: ../src/viklayerspanel.c:178
msgid "Top Layer"
msgstr "Livello superiore"
-#: ../src/viklayerspanel.c:143
+#: ../src/viklayerspanel.c:194
msgid "Add new layer"
msgstr "Aggiunge un nuovo livelle"
-#: ../src/viklayerspanel.c:150
+#: ../src/viklayerspanel.c:201
msgid "Remove selected layer"
msgstr "Elimina livello selezionato"
-#: ../src/viklayerspanel.c:157
+#: ../src/viklayerspanel.c:208
msgid "Move selected layer up"
msgstr "Sposta il livello selezionato in su"
-#: ../src/viklayerspanel.c:164
+#: ../src/viklayerspanel.c:215
msgid "Move selected layer down"
msgstr "Sposta il livello selezionato in giù"
-#: ../src/viklayerspanel.c:171
+#: ../src/viklayerspanel.c:222
msgid "Cut selected layer"
msgstr "Taglia il livello selezionato"
-#: ../src/viklayerspanel.c:178
+#: ../src/viklayerspanel.c:229
msgid "Copy selected layer"
msgstr "Copia il livello selezionato"
-#: ../src/viklayerspanel.c:185
-msgid "Paste layer below selected layer"
-msgstr "Incolla il livello sotto al livello selezionato"
+#: ../src/viklayerspanel.c:236
+msgid ""
+"Paste layer into selected container layer or otherwise above selected layer"
+msgstr ""
-#. TODO: FIXME: if name has a '/' in it it will get all messed up. why not have an itemfactory field with
-#. name, icon, shortcut, etc.?
-#: ../src/viklayerspanel.c:204 ../src/vikwindow.c:3292
-#, c-format
-msgid "New _%s Layer"
+#: ../src/viklayerspanel.c:300
+msgid "New name can not be blank."
msgstr ""
-#: ../src/viklayerspanel.c:511
+#: ../src/viklayerspanel.c:544
msgid "Aggregate Layers have no settable properties."
msgstr "I livelli aggregati non hanno proprietà modificabili."
-#: ../src/viklayerspanel.c:555
+#: ../src/viklayerspanel.c:588
msgid "You cannot cut the Top Layer."
msgstr "Impossibile tagliare il livello superiore."
-#: ../src/viklayerspanel.c:600
+#: ../src/viklayerspanel.c:633
#, c-format
msgid "Are you sure you want to delete %s?"
msgstr "Sei sicuro di voler eliminare %s?"
-#: ../src/viklayerspanel.c:617
+#: ../src/viklayerspanel.c:650
msgid "You cannot delete the Top Layer."
msgstr "Impossibile eliminare il livello superiore."
-#: ../src/viklayerspanel.c:701
+#: ../src/viklayerspanel.c:734
msgid "Are you sure you wish to delete all layers?"
msgstr "Desideri veramente eliminare tutti i livelli?"
#. ******* MAPZOOMS ********
-#: ../src/vikmapslayer.c:91
+#: ../src/vikmapslayer.c:80
msgid "Use Viking Zoom Level"
msgstr "Usa il livello di Zoom di Viking"
@@ -1654,35 +1915,35 @@ msgid ""
"actual zoom level."
msgstr ""
-#: ../src/vikmapslayer.c:146
+#: ../src/vikmapslayer.c:156
msgid "_Maps Download"
msgstr ""
-#: ../src/vikmapslayer.c:146
+#: ../src/vikmapslayer.c:156
msgid "Maps Download"
msgstr "Scarica mappe"
-#: ../src/vikmapslayer.c:161
+#: ../src/vikmapslayer.c:171
msgid "Map"
msgstr "Mappa"
-#: ../src/vikmapslayer.c:249
-msgid "Default maplayer directory:"
-msgstr "Cartella predefinita del livello mappa"
+#: ../src/vikmapslayer.c:259
+msgid "Default map layer directory:"
+msgstr ""
-#: ../src/vikmapslayer.c:249
+#: ../src/vikmapslayer.c:259
msgid "Choose a directory to store cached Map tiles for this layer"
msgstr ""
-#: ../src/vikmapslayer.c:505
+#: ../src/vikmapslayer.c:523
msgid "Unknown map type"
msgstr "Tipo di mappa sconosciuto"
-#: ../src/vikmapslayer.c:516
+#: ../src/vikmapslayer.c:534
msgid "Unknown Map Zoom"
msgstr "Zoom di mappa sconosciuto"
-#: ../src/vikmapslayer.c:589
+#: ../src/vikmapslayer.c:624
#, c-format
msgid ""
"New map cannot be displayed in the current drawmode.\n"
@@ -1692,7 +1953,7 @@ msgstr ""
"corrente.\n"
"Seleziona \"%s\" dal menu Visualizza per visualizzarla."
-#: ../src/vikmapslayer.c:753
+#: ../src/vikmapslayer.c:798
#, c-format
msgid ""
"Cowardly refusing to draw tiles or existence of tiles beyond %d zoom out "
@@ -1700,28 +1961,28 @@ msgid ""
msgstr ""
"Rappresentazione o esistenza di celle impossibile oltre il fattore di zoom %d"
-#: ../src/vikmapslayer.c:1157
+#: ../src/vikmapslayer.c:1210
#, c-format
msgid "Redownloading up to %d %s map..."
msgid_plural "Redownloading up to %d %s maps..."
msgstr[0] "Sto scaricando nuovamente fino a %d %s mappa..."
msgstr[1] "Sto scaricando nuovamente fino a %d %s mappe..."
-#: ../src/vikmapslayer.c:1159
+#: ../src/vikmapslayer.c:1212
#, c-format
msgid "Redownloading %d %s map..."
msgid_plural "Redownloading %d %s maps..."
msgstr[0] "Sto scaricando nuovamente fino a %d %s mappa..."
msgstr[1] "Sto scaricando nuovamente fino a %d %s mappe..."
-#: ../src/vikmapslayer.c:1163 ../src/vikmapslayer.c:1238
+#: ../src/vikmapslayer.c:1216 ../src/vikmapslayer.c:1290
#, c-format
msgid "Downloading %d %s map..."
msgid_plural "Downloading %d %s maps..."
msgstr[0] "Scaricamento %d %s mappa..."
msgstr[1] "Scaricamento %d %s mappe..."
-#: ../src/vikmapslayer.c:1311
+#: ../src/vikmapslayer.c:1376
#, c-format
msgid ""
"\n"
@@ -1731,7 +1992,7 @@ msgid ""
"Tile File Timestamp: %s"
msgstr ""
-#: ../src/vikmapslayer.c:1318
+#: ../src/vikmapslayer.c:1380
#, c-format
msgid ""
"Source: %s\n"
@@ -1739,23 +2000,23 @@ msgid ""
"No Tile File!"
msgstr ""
-#: ../src/vikmapslayer.c:1356
+#: ../src/vikmapslayer.c:1418
msgid "Redownload _Bad Map(s)"
msgstr "Riscarica la(e) Mappa(e) Difettosa(e) (_B)"
-#: ../src/vikmapslayer.c:1360
+#: ../src/vikmapslayer.c:1422
msgid "Redownload _New Map(s)"
msgstr "Riscarica la(e) _Nuova(e) Mappa(e)"
-#: ../src/vikmapslayer.c:1364
+#: ../src/vikmapslayer.c:1426
msgid "Redownload _All Map(s)"
msgstr "Riscarica Tutta(e) la(e) Mappa(e) (_A)"
-#: ../src/vikmapslayer.c:1368
+#: ../src/vikmapslayer.c:1430
msgid "_Show Tile Information"
msgstr ""
-#: ../src/vikmapslayer.c:1449
+#: ../src/vikmapslayer.c:1511
#, c-format
msgid ""
"Wrong drawmode for this map.\n"
@@ -1764,300 +2025,399 @@ msgstr ""
"Modalità di disegno non valida per questa mappa.\n"
"Seleziona \"%s\" dal menu Visualizza e riprova."
-#: ../src/vikmapslayer.c:1454
+#: ../src/vikmapslayer.c:1516
msgid "Wrong zoom level for this map."
msgstr "Livello di zoom errato per questa mappa."
+#: ../src/vikmapslayer.c:1647
+msgid "Zoom Start:"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1654
+msgid "Zoom End:"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1660
+msgid "Download Maps Method:"
+msgstr ""
+
+#. redownload method - needs to align with REDOWNLOAD* macro values
+#: ../src/vikmapslayer.c:1732
+msgid "Missing"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1732
+msgid "Bad"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1732
+msgid "New"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1732
+msgid "Reload All"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1734
+msgid "Download for Zoom Levels"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1774
+#, c-format
+msgid ""
+"You are not allowed to download more than %d tiles in one go (requested %d)"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1782
+#, c-format
+msgid "Do you really want to download %d tiles?"
+msgstr ""
+
#. Now with icons
-#: ../src/vikmapslayer.c:1485
+#: ../src/vikmapslayer.c:1807
msgid "Download _Missing Onscreen Maps"
msgstr "Scarica le Mappe _Mancanti a Schermo"
-#: ../src/vikmapslayer.c:1492
+#: ../src/vikmapslayer.c:1814
msgid "Download _New Onscreen Maps"
msgstr "Scarica Nuove Mappe a Schermo"
-#: ../src/vikmapslayer.c:1499
+#: ../src/vikmapslayer.c:1821
msgid "Reload _All Onscreen Maps"
msgstr "Ricarica Tutte le Mappe a Schermo (_A)"
-#: ../src/viktreeview.c:263
+#: ../src/vikmapslayer.c:1827
+msgid "Download Maps in _Zoom Levels..."
+msgstr ""
+
+#: ../src/vikrouting.c:54
+msgid "Default engine:"
+msgstr ""
+
+#: ../src/viktreeview.c:316
msgid "Layer Name"
msgstr "Nome del livello"
-#: ../src/viktreeview.c:742
+#: ../src/viktreeview.c:851
#, c-format
msgid "delete data from %s\n"
msgstr "Elimina dati da %s\n"
-#: ../src/viktrwlayer.c:377
+#: ../src/viktrwlayer.c:398
msgid "Create _Waypoint"
msgstr ""
-#: ../src/viktrwlayer.c:377
+#: ../src/viktrwlayer.c:398
msgid "Create Waypoint"
msgstr "Crea Waypoint"
-#: ../src/viktrwlayer.c:383
+#: ../src/viktrwlayer.c:404
msgid "Create _Track"
msgstr ""
-#: ../src/viktrwlayer.c:383
+#: ../src/viktrwlayer.c:404
msgid "Create Track"
msgstr "Crea il Tracciato"
-#: ../src/viktrwlayer.c:392
+#: ../src/viktrwlayer.c:413
msgid "Create _Route"
msgstr ""
-#: ../src/viktrwlayer.c:392
+#: ../src/viktrwlayer.c:413
msgid "Create Route"
msgstr ""
-#: ../src/viktrwlayer.c:401
+#: ../src/viktrwlayer.c:422
msgid "_Edit Waypoint"
msgstr ""
-#: ../src/viktrwlayer.c:401
+#: ../src/viktrwlayer.c:422
msgid "Edit Waypoint"
msgstr "Modifica Waypoint"
-#: ../src/viktrwlayer.c:409
+#: ../src/viktrwlayer.c:432
msgid "Edit Trac_kpoint"
msgstr ""
-#: ../src/viktrwlayer.c:409
+#: ../src/viktrwlayer.c:432
msgid "Edit Trackpoint"
msgstr "Modifica il Punto del Tracciato"
-#: ../src/viktrwlayer.c:417
+#: ../src/viktrwlayer.c:442
msgid "Show P_icture"
msgstr ""
-#: ../src/viktrwlayer.c:417
+#: ../src/viktrwlayer.c:442
msgid "Show Picture"
msgstr "Visualizza immagine"
-#: ../src/viktrwlayer.c:424
+#: ../src/viktrwlayer.c:448
msgid "Route _Finder"
msgstr ""
-#: ../src/viktrwlayer.c:424
+#: ../src/viktrwlayer.c:448
msgid "Route Finder"
msgstr "Trova Percorso"
#. ***** PARAMETERS *****
-#: ../src/viktrwlayer.c:447 ../src/viktrwlayer.c:1942
-#: ../src/viktrwlayer.c:1944
+#: ../src/viktrwlayer.c:468 ../src/viktrwlayer.c:2324
msgid "Waypoints"
msgstr "Waypoint"
-#: ../src/viktrwlayer.c:447 ../src/viktrwlayer.c:1933
-#: ../src/viktrwlayer.c:1935
+#: ../src/viktrwlayer.c:468 ../src/viktrwlayer.c:2319
msgid "Tracks"
msgstr "Tracciati"
-#: ../src/viktrwlayer.c:447
+#: ../src/viktrwlayer.c:468
msgid "Waypoint Images"
msgstr "Immagini dei Waypoint"
-#: ../src/viktrwlayer.c:450
+#: ../src/viktrwlayer.c:468
+msgid "Tracks Advanced"
+msgstr ""
+
+#: ../src/viktrwlayer.c:471
msgid "Draw by Track"
msgstr "Disegna da Traccia"
-#: ../src/viktrwlayer.c:450
+#: ../src/viktrwlayer.c:471
msgid "Draw by Speed"
msgstr ""
-#: ../src/viktrwlayer.c:450
+#: ../src/viktrwlayer.c:471
msgid "All Tracks Same Color"
msgstr ""
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "Filled Square"
msgstr "Quadrato riempito"
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "Square"
msgstr "Quadrato"
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "Circle"
msgstr "Cerchio"
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "X"
msgstr "X"
-#: ../src/viktrwlayer.c:477
+#: ../src/viktrwlayer.c:498
msgid "Extra Extra Small"
-msgstr ""
+msgstr "Piccolissima"
-#: ../src/viktrwlayer.c:478
+#: ../src/viktrwlayer.c:499
msgid "Extra Small"
-msgstr ""
+msgstr "Molto piccola"
-#: ../src/viktrwlayer.c:479
+#: ../src/viktrwlayer.c:500
msgid "Small"
-msgstr ""
+msgstr "Piccola"
-#: ../src/viktrwlayer.c:480
+#: ../src/viktrwlayer.c:501
msgid "Medium"
-msgstr ""
+msgstr "Media"
-#: ../src/viktrwlayer.c:481
+#: ../src/viktrwlayer.c:502
msgid "Large"
-msgstr ""
+msgstr "Grande"
-#: ../src/viktrwlayer.c:482
+#: ../src/viktrwlayer.c:503
msgid "Extra Large"
-msgstr ""
+msgstr "Molto grande"
-#: ../src/viktrwlayer.c:483
+#: ../src/viktrwlayer.c:504
msgid "Extra Extra Large"
+msgstr "Grandissima"
+
+#: ../src/viktrwlayer.c:510
+msgid "Name Ascending"
+msgstr ""
+
+#: ../src/viktrwlayer.c:511
+msgid "Name Descending"
+msgstr ""
+
+#: ../src/viktrwlayer.c:552 ../src/viktrwlayer.c:576
+msgid "Draw Labels"
+msgstr "Disegna Etichette"
+
+#: ../src/viktrwlayer.c:553
+msgid "Note: the individual track controls what labels may be displayed"
+msgstr ""
+
+#: ../src/viktrwlayer.c:554
+msgid "Track Labels Font Size:"
msgstr ""
-#: ../src/viktrwlayer.c:491
+#: ../src/viktrwlayer.c:555
msgid "Track Drawing Mode:"
msgstr "Modalità di Disegno del Tracciato:"
-#: ../src/viktrwlayer.c:492
+#: ../src/viktrwlayer.c:556
msgid "All Tracks Color:"
msgstr ""
-#: ../src/viktrwlayer.c:493
+#: ../src/viktrwlayer.c:557
msgid "The color used when 'All Tracks Same Color' drawing mode is selected"
msgstr ""
-#: ../src/viktrwlayer.c:494
+#: ../src/viktrwlayer.c:558
msgid "Draw Track Lines"
msgstr "Disegna le Linee del Tracciato"
-#: ../src/viktrwlayer.c:495
+#: ../src/viktrwlayer.c:559
msgid "Track Thickness:"
msgstr "Spessore del Tracciato:"
-#: ../src/viktrwlayer.c:496
+#: ../src/viktrwlayer.c:560
msgid "Draw Track Direction"
msgstr ""
-#: ../src/viktrwlayer.c:497
+#: ../src/viktrwlayer.c:561
msgid "Direction Size:"
msgstr ""
-#: ../src/viktrwlayer.c:498
+#: ../src/viktrwlayer.c:562
msgid "Draw Trackpoints"
msgstr "Disegna i Punti del Tracciato"
-#: ../src/viktrwlayer.c:499
+#: ../src/viktrwlayer.c:563
msgid "Trackpoint Size:"
msgstr ""
-#: ../src/viktrwlayer.c:500
+#: ../src/viktrwlayer.c:564
msgid "Draw Elevation"
msgstr "Disegna elevazione"
-#: ../src/viktrwlayer.c:501
+#: ../src/viktrwlayer.c:565
msgid "Draw Elevation Height %:"
msgstr "Disegna altezza dell'elevazione %:"
-#: ../src/viktrwlayer.c:503
+#: ../src/viktrwlayer.c:566
msgid "Draw Stops"
msgstr "Disegna stop"
-#: ../src/viktrwlayer.c:504
+#: ../src/viktrwlayer.c:567
msgid ""
"Whether to draw a marker when trackpoints are at the same position but over "
"the minimum stop length apart in time"
msgstr ""
-#: ../src/viktrwlayer.c:505
+#: ../src/viktrwlayer.c:568
msgid "Min Stop Length (seconds):"
msgstr "Lunghezza Minima Stop (secondi):"
-#: ../src/viktrwlayer.c:507
+#: ../src/viktrwlayer.c:570
msgid "Track BG Thickness:"
msgstr "Spessore dello Sfondo del Tracciato:"
-#: ../src/viktrwlayer.c:508
+#: ../src/viktrwlayer.c:571
msgid "Track Background Color"
msgstr "Colore di Sfondo del Tracciato"
-#: ../src/viktrwlayer.c:509
+#: ../src/viktrwlayer.c:572
msgid "Draw by Speed Factor (%):"
msgstr ""
-#: ../src/viktrwlayer.c:510
+#: ../src/viktrwlayer.c:573
msgid ""
"The percentage factor away from the average speed determining the color used"
msgstr ""
-#: ../src/viktrwlayer.c:512
-msgid "Draw Labels"
-msgstr "Disegna Etichette"
+#: ../src/viktrwlayer.c:574
+msgid "Track Sort Order:"
+msgstr ""
-#: ../src/viktrwlayer.c:513
+#: ../src/viktrwlayer.c:577
msgid "Waypoint Font Size:"
msgstr ""
-#: ../src/viktrwlayer.c:514
+#: ../src/viktrwlayer.c:578
msgid "Waypoint Color:"
msgstr "Colore del Waypoint:"
-#: ../src/viktrwlayer.c:515
+#: ../src/viktrwlayer.c:579
msgid "Waypoint Text:"
msgstr "Testo del Waypoint:"
-#: ../src/viktrwlayer.c:516
+#: ../src/viktrwlayer.c:580
msgid "Background:"
msgstr "Sfondo:"
-#: ../src/viktrwlayer.c:517
+#: ../src/viktrwlayer.c:581
msgid "Fake BG Color Translucency:"
msgstr "Trasparenza del colore di sfondo finta"
-#: ../src/viktrwlayer.c:518
+#: ../src/viktrwlayer.c:582
msgid "Waypoint marker:"
msgstr "Marker waypoint:"
-#: ../src/viktrwlayer.c:519
+#: ../src/viktrwlayer.c:583
msgid "Waypoint size:"
msgstr "Dimensione del Waypoint:"
-#: ../src/viktrwlayer.c:520
+#: ../src/viktrwlayer.c:584
msgid "Draw Waypoint Symbols:"
msgstr "Disegna simboli dei Waypoint:"
-#: ../src/viktrwlayer.c:522
+#: ../src/viktrwlayer.c:585
+msgid "Waypoint Sort Order:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:587
msgid "Draw Waypoint Images"
msgstr "Disegna immagini del Waypoint"
-#: ../src/viktrwlayer.c:523
+#: ../src/viktrwlayer.c:588
msgid "Image Size (pixels):"
msgstr "Dimensione immagine (pixel):"
-#: ../src/viktrwlayer.c:524
+#: ../src/viktrwlayer.c:589
msgid "Image Alpha:"
msgstr "Alpha immagine:"
-#: ../src/viktrwlayer.c:525
+#: ../src/viktrwlayer.c:590
msgid "Image Memory Cache Size:"
msgstr "Dimensione della memoria cache per l'immagine:"
-#: ../src/viktrwlayer.c:610
+#: ../src/viktrwlayer.c:678
msgid "TrackWaypoint"
msgstr ""
-#: ../src/viktrwlayer.c:1951 ../src/viktrwlayer.c:1953
+#: ../src/viktrwlayer.c:1534 ../src/vikutils.c:204
+msgid "miles"
+msgstr ""
+
+#. VIK_UNITS_DISTANCE_KILOMETRES:
+#: ../src/viktrwlayer.c:1538 ../src/vikutils.c:209
+msgid "km"
+msgstr ""
+
+#: ../src/viktrwlayer.c:1648
+msgid "start/end"
+msgstr ""
+
+#: ../src/viktrwlayer.c:1660
+msgid "start"
+msgstr ""
+
+#: ../src/viktrwlayer.c:1669
+msgid "end"
+msgstr ""
+
+#: ../src/viktrwlayer.c:2329
msgid "Routes"
msgstr ""
-#: ../src/viktrwlayer.c:2144
+#: ../src/viktrwlayer.c:2519
#, c-format
msgid " in %d:%02d hrs:mins"
msgstr " in %d:%02d ore:minuti"
-#: ../src/viktrwlayer.c:2148
+#: ../src/viktrwlayer.c:2523
#, c-format
msgid ""
"\n"
@@ -2066,1081 +2426,1347 @@ msgstr ""
"\n"
"%sLunghezza totale %.1f %s%s"
-#: ../src/viktrwlayer.c:2154
+#: ../src/viktrwlayer.c:2529
#, c-format
msgid "Tracks: %d - Waypoints: %d - Routes: %d%s"
msgstr ""
-#: ../src/viktrwlayer.c:2174
+#: ../src/viktrwlayer.c:2549
#, c-format
msgid "Tracks: %d"
msgstr ""
-#: ../src/viktrwlayer.c:2184
+#: ../src/viktrwlayer.c:2559
#, c-format
msgid "Routes: %d"
msgstr ""
-#: ../src/viktrwlayer.c:2215
+#: ../src/viktrwlayer.c:2590
#, c-format
msgid "- %d:%02d hrs:mins"
msgstr "- %d:%02d ore:minuti"
-#: ../src/viktrwlayer.c:2223
+#: ../src/viktrwlayer.c:2598
#, c-format
msgid "%s%.1f km %s"
msgstr "%s%.1f km %s"
-#: ../src/viktrwlayer.c:2226
+#: ../src/viktrwlayer.c:2601
#, c-format
msgid "%s%.1f miles %s"
msgstr "%s%.1f miglia %s"
-#: ../src/viktrwlayer.c:2240
+#: ../src/viktrwlayer.c:2615
#, c-format
msgid "Waypoints: %d"
msgstr ""
-#: ../src/viktrwlayer.c:2266
-#, c-format
-msgid "Trkpt: Alt %dft"
-msgstr "Punto del tracciato: Altitudine %dft"
-
-#. VIK_UNITS_HEIGHT_METRES:
-#: ../src/viktrwlayer.c:2270
-#, c-format
-msgid "Trkpt: Alt %dm"
-msgstr "Punto del tracciato: Altitudine %dm"
-
-#. Compact date time format
-#: ../src/viktrwlayer.c:2277
-#, c-format
-msgid " | Time %x %X"
-msgstr " | Orario %x %X"
-
-#: ../src/viktrwlayer.c:2295
-#, c-format
-msgid " | Track: %s"
-msgstr " | Tracciato: %s"
-
-#. Combine parts to make overall message
-#: ../src/viktrwlayer.c:2299
-#, c-format
-msgid "%s%s | %s %s %s"
-msgstr "%s%s | %s %s %s"
-
-#: ../src/viktrwlayer.c:2314
+#: ../src/viktrwlayer.c:2671
#, c-format
msgid "Wpt: Alt %dft"
msgstr "Punto panoramico: Altitudine %dft"
#. VIK_UNITS_HEIGHT_METRES:
-#: ../src/viktrwlayer.c:2318
+#: ../src/viktrwlayer.c:2675
#, c-format
msgid "Wpt: Alt %dm"
msgstr "Punto panoramico: Altitudine %dm"
#. Add comment if available
-#: ../src/viktrwlayer.c:2333
+#: ../src/viktrwlayer.c:2690
#, c-format
msgid "%s | %s %s | Comment: %s"
msgstr "%s | %s %s | Commento: %s"
-#: ../src/viktrwlayer.c:2335
+#: ../src/viktrwlayer.c:2692
#, c-format
msgid "%s | %s %s"
msgstr ""
-#: ../src/viktrwlayer.c:2563 ../src/viktrwlayer.c:2634
+#: ../src/viktrwlayer.c:2939 ../src/viktrwlayer.c:3010
msgid "This layer has no waypoints or trackpoints."
msgstr "Questo livello non ha punti di transito o punti del tracciato."
-#: ../src/viktrwlayer.c:2661 ../src/vikwindow.c:2407 ../src/vikwindow.c:2848
+#: ../src/viktrwlayer.c:3045 ../src/vikwindow.c:2754 ../src/vikwindow.c:3407
#, c-format
msgid "The file \"%s\" exists, do you wish to overwrite it?"
msgstr "Il file \"%s\" esiste già; sovrascriverlo?"
-#: ../src/viktrwlayer.c:2671 ../src/vikwindow.c:2429
+#: ../src/viktrwlayer.c:3057 ../src/vikwindow.c:2778
msgid "The filename you requested could not be opened for writing."
msgstr "Non è stato possibile aprire il file richiesto in scrittura."
-#: ../src/viktrwlayer.c:2676 ../src/viktrwlayer.c:2681
-#: ../src/viktrwlayer.c:2691 ../src/viktrwlayer.c:2703
+#: ../src/viktrwlayer.c:3062 ../src/viktrwlayer.c:3067
+#: ../src/viktrwlayer.c:3077 ../src/viktrwlayer.c:3089
msgid "Export Layer"
msgstr "Esporta livello"
-#: ../src/viktrwlayer.c:2720
+#: ../src/viktrwlayer.c:3108
msgid "Could not create temporary file for export."
msgstr "Impossibile creare il file temporaneo per l'esportazione."
-#: ../src/viktrwlayer.c:2729
+#: ../src/viktrwlayer.c:3117
#, c-format
msgid "Could not launch %s."
msgstr "Impossibile lanciare %s."
-#: ../src/viktrwlayer.c:2773
+#: ../src/viktrwlayer.c:3161
msgid "Export Track as GPX"
msgstr "Esporta il Tracciato come GPX"
-#: ../src/viktrwlayer.c:2795
+#: ../src/viktrwlayer.c:3183
msgid "Find"
msgstr "Trova"
-#: ../src/viktrwlayer.c:2805
+#: ../src/viktrwlayer.c:3193
msgid "Waypoint Name:"
msgstr "Nome del Waypoint:"
-#: ../src/viktrwlayer.c:2822
+#: ../src/viktrwlayer.c:3210
msgid "Waypoint not found in this layer."
msgstr "Waypoint non trovato in questo livello."
-#: ../src/viktrwlayer.c:3090
+#: ../src/viktrwlayer.c:3476
msgid "Can not upload invisible track."
msgstr ""
-#: ../src/viktrwlayer.c:3192 ../src/viktrwlayer.c:7785
+#: ../src/viktrwlayer.c:3581 ../src/viktrwlayer.c:9283
msgid "Track"
msgstr "Tracciato"
-#: ../src/viktrwlayer.c:3215 ../src/viktrwlayer.c:7817
+#: ../src/viktrwlayer.c:3606 ../src/viktrwlayer.c:9316
msgid "Route"
msgstr ""
-#: ../src/viktrwlayer.c:3296 ../src/viktrwlayer.c:6265
-#: ../src/viktrwlayer.c:6314
+#: ../src/viktrwlayer.c:3691 ../src/viktrwlayer.c:7460
+#: ../src/viktrwlayer.c:7566
msgid "_Finish Route"
msgstr ""
-#: ../src/viktrwlayer.c:3298 ../src/viktrwlayer.c:6223
-#: ../src/viktrwlayer.c:6312
+#: ../src/viktrwlayer.c:3693 ../src/viktrwlayer.c:7383
+#: ../src/viktrwlayer.c:7564
msgid "_Finish Track"
msgstr ""
#. Now with icons
-#: ../src/viktrwlayer.c:3310
+#: ../src/viktrwlayer.c:3705
msgid "_View Layer"
msgstr "_Visualizza Livello"
-#: ../src/viktrwlayer.c:3317
+#: ../src/viktrwlayer.c:3712
msgid "V_iew"
msgstr ""
-#: ../src/viktrwlayer.c:3323
+#: ../src/viktrwlayer.c:3718
msgid "View All _Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:3328
+#: ../src/viktrwlayer.c:3723
msgid "View All _Routes"
msgstr ""
-#: ../src/viktrwlayer.c:3333
+#: ../src/viktrwlayer.c:3728
msgid "View All _Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:3338
+#: ../src/viktrwlayer.c:3733
msgid "_Goto Center of Layer"
msgstr ""
-#: ../src/viktrwlayer.c:3344 ../src/viktrwlayer.c:6199
+#: ../src/viktrwlayer.c:3739 ../src/viktrwlayer.c:7335
msgid "Goto _Waypoint..."
msgstr "Vai al Punto di Transito... (_W)"
-#: ../src/viktrwlayer.c:3350
+#: ../src/viktrwlayer.c:3745
msgid "_Export Layer"
msgstr "_Esporta livello"
-#: ../src/viktrwlayer.c:3356
+#: ../src/viktrwlayer.c:3751
msgid "Export as GPS_Point..."
msgstr "Esporta come GPS_Point..."
-#: ../src/viktrwlayer.c:3361
+#: ../src/viktrwlayer.c:3756
msgid "Export as GPS_Mapper..."
msgstr "Esporta come GPS_Mapper..."
-#: ../src/viktrwlayer.c:3366
+#: ../src/viktrwlayer.c:3761
msgid "Export as _GPX..."
msgstr "Esporta come _GPX..."
-#: ../src/viktrwlayer.c:3371
+#: ../src/viktrwlayer.c:3766
msgid "Export as _KML..."
msgstr "Esporta come _KML..."
-#: ../src/viktrwlayer.c:3376
+#: ../src/viktrwlayer.c:3771
msgid "Open with External Program_1: "
msgstr "Apri con Programma Esterno_1: "
-#: ../src/viktrwlayer.c:3383
+#: ../src/viktrwlayer.c:3778
msgid "Open with External Program_2: "
msgstr "Apri con Programma Esterno_2: "
-#: ../src/viktrwlayer.c:3391 ../src/vikwindow.c:3145
+#: ../src/viktrwlayer.c:3786 ../src/vikwindow.c:3704
msgid "_New"
msgstr "_Nuovo"
-#: ../src/viktrwlayer.c:3397
+#: ../src/viktrwlayer.c:3792
msgid "New _Waypoint..."
msgstr ""
-#: ../src/viktrwlayer.c:3403
+#: ../src/viktrwlayer.c:3798
msgid "New _Track"
msgstr ""
-#: ../src/viktrwlayer.c:3411
+#: ../src/viktrwlayer.c:3806
msgid "New _Route"
msgstr ""
-#: ../src/viktrwlayer.c:3420 ../src/viktrwlayer.c:6597
+#: ../src/viktrwlayer.c:3815 ../src/viktrwlayer.c:7938
msgid "Geotag _Images..."
msgstr "_Immagini Georeferenziate..."
-#: ../src/viktrwlayer.c:3427
+#: ../src/viktrwlayer.c:3822
msgid "_Acquire"
msgstr ""
-#: ../src/viktrwlayer.c:3433 ../src/vikwindow.c:3150
+#: ../src/viktrwlayer.c:3828 ../src/vikwindow.c:3711
msgid "From _GPS..."
msgstr "Da _GPS..."
-#: ../src/viktrwlayer.c:3439
-msgid "From Google _Directions..."
+#. FIXME: only add menu when at least a routing engine has support for Directions
+#: ../src/viktrwlayer.c:3834
+msgid "From _Directions..."
msgstr ""
-#: ../src/viktrwlayer.c:3446
+#: ../src/viktrwlayer.c:3840
msgid "From _OSM Traces..."
msgstr "Dalle Tracce _OSM..."
-#: ../src/viktrwlayer.c:3451
+#: ../src/viktrwlayer.c:3845
msgid "From _My OSM Traces..."
msgstr ""
-#: ../src/viktrwlayer.c:3459 ../src/vikwindow.c:3166
+#: ../src/viktrwlayer.c:3853 ../src/vikwindow.c:3725
msgid "From _Wikipedia Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:3465
+#: ../src/viktrwlayer.c:3859
msgid "Within _Layer Bounds"
msgstr "Dentro i Confini dei _Livelli"
-#: ../src/viktrwlayer.c:3471
+#: ../src/viktrwlayer.c:3865
msgid "Within _Current View"
msgstr "Dentro la Vista _Corrente"
-#: ../src/viktrwlayer.c:3479
+#: ../src/viktrwlayer.c:3873
msgid "From Geo_caching..."
msgstr "Da Geo_caching..."
-#: ../src/viktrwlayer.c:3486 ../src/vikwindow.c:3163
+#: ../src/viktrwlayer.c:3880 ../src/vikwindow.c:3722
msgid "From Geotagged _Images..."
msgstr "Dalle _Immagini Georeferenziate..."
-#: ../src/viktrwlayer.c:3492
+#: ../src/viktrwlayer.c:3886
msgid "From _File..."
msgstr ""
-#: ../src/viktrwlayer.c:3498 ../src/viktrwlayer.c:6542
+#: ../src/viktrwlayer.c:3894 ../src/viktrwlayer.c:7883
msgid "_Upload"
msgstr ""
-#: ../src/viktrwlayer.c:3504
+#: ../src/viktrwlayer.c:3900
msgid "Upload to _GPS..."
msgstr ""
-#: ../src/viktrwlayer.c:3511 ../src/viktrwlayer.c:6570
+#: ../src/viktrwlayer.c:3907 ../src/viktrwlayer.c:7911
msgid "Upload to _OSM..."
msgstr ""
-#: ../src/viktrwlayer.c:3519
+#: ../src/viktrwlayer.c:3915
msgid "De_lete"
msgstr "E_limina"
-#: ../src/viktrwlayer.c:3525
+#: ../src/viktrwlayer.c:3921
msgid "Delete All _Tracks"
msgstr "Elimina Tutti i _Tracciati"
-#: ../src/viktrwlayer.c:3531
+#: ../src/viktrwlayer.c:3927
msgid "Delete Tracks _From Selection..."
msgstr "Elimina Tutti i _Tracciati dalla Selezione..."
-#: ../src/viktrwlayer.c:3537 ../src/viktrwlayer.c:6290
+#: ../src/viktrwlayer.c:3933 ../src/viktrwlayer.c:7485
msgid "Delete _All Routes"
msgstr ""
-#: ../src/viktrwlayer.c:3543 ../src/viktrwlayer.c:6296
+#: ../src/viktrwlayer.c:3939 ../src/viktrwlayer.c:7491
msgid "_Delete Routes From Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:3549
+#: ../src/viktrwlayer.c:3945
msgid "Delete All _Waypoints"
msgstr "Elimina Tutti i Punti di Transito (_W)"
-#: ../src/viktrwlayer.c:3555
+#: ../src/viktrwlayer.c:3951
msgid "Delete Waypoints From _Selection..."
msgstr "Elimina i Punti di Transito dalla _Selezione..."
-#: ../src/viktrwlayer.c:4128
+#: ../src/viktrwlayer.c:4574
#, c-format
msgid "Are you sure you want to delete all tracks in %s?"
msgstr "Sei sicuro di voler eliminare tutti i tracciati in %s?"
-#: ../src/viktrwlayer.c:4138
+#: ../src/viktrwlayer.c:4584
#, c-format
msgid "Are you sure you want to delete all routes in %s?"
msgstr ""
-#: ../src/viktrwlayer.c:4148
+#: ../src/viktrwlayer.c:4594
#, c-format
msgid "Are you sure you want to delete all waypoints in %s?"
msgstr "Sei sicuro di voler eliminare tutti i punti di transito in %s?"
-#: ../src/viktrwlayer.c:4165
+#: ../src/viktrwlayer.c:4611
#, c-format
-msgid "Are you sure you want to delete the waypoint \"%s\""
-msgstr "Sei sicuro di voler eliminare il punto di transito \"%s\""
+msgid "Are you sure you want to delete the waypoint \"%s\"?"
+msgstr ""
-#: ../src/viktrwlayer.c:4178
+#: ../src/viktrwlayer.c:4624
#, c-format
-msgid "Are you sure you want to delete the track \"%s\""
-msgstr "Sei sicuro di voler eliminare il tracciato \"%s\""
+msgid "Are you sure you want to delete the track \"%s\"?"
+msgstr ""
-#: ../src/viktrwlayer.c:4191
+#: ../src/viktrwlayer.c:4637
#, c-format
-msgid "Are you sure you want to delete the route \"%s\""
+msgid "Are you sure you want to delete the route \"%s\"?"
msgstr ""
-#: ../src/viktrwlayer.c:4351 ../src/viktrwlayer.c:4922
+#: ../src/viktrwlayer.c:4849 ../src/viktrwlayer.c:5677
msgid ""
"Converting a track to a route removes extra track data such as segments, "
"timestamps, etc...\n"
"Do you want to continue?"
msgstr ""
-#: ../src/viktrwlayer.c:4711
+#: ../src/viktrwlayer.c:4944
+msgid "No DEM layers available, thus no DEM values can be applied."
+msgstr ""
+
+#: ../src/viktrwlayer.c:4964 ../src/viktrwlayer.c:5005
+#, c-format
+msgid "%ld point adjusted"
+msgid_plural "%ld points adjusted"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/viktrwlayer.c:5049
+#, c-format
+msgid "%ld waypoint changed"
+msgid_plural "%ld waypoints changed"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/viktrwlayer.c:5233
+#, c-format
+msgid ""
+"Refining a track with many points (%d) is unlikely to yield sensible "
+"results. Do you want to Continue?"
+msgstr ""
+
+#. Select engine from dialog
+#: ../src/viktrwlayer.c:5241
+msgid "Refine Route with Routing Engine..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:5249
+msgid "Select routing engine"
+msgstr ""
+
+#: ../src/viktrwlayer.c:5467
msgid "Failed. No other tracks with timestamps in this layer found"
msgstr ""
"Non riuscito. Non sono stati trovati altri tracciati con le marcature "
"temporali in questo livello"
-#: ../src/viktrwlayer.c:4713
+#: ../src/viktrwlayer.c:5469
msgid "Failed. No other tracks without timestamps in this layer found"
msgstr ""
"Non riuscito. Non sono stati trovati altri tracciati senza le marcature "
"temporali in questo livello"
-#: ../src/viktrwlayer.c:4732
+#: ../src/viktrwlayer.c:5488
msgid "Merge with..."
msgstr "Unisci con..."
-#: ../src/viktrwlayer.c:4733
+#: ../src/viktrwlayer.c:5489
msgid "Select route to merge with"
msgstr ""
-#: ../src/viktrwlayer.c:4733
+#: ../src/viktrwlayer.c:5489
msgid "Select track to merge with"
msgstr "Selezionare il tracciato con cui unire"
-#: ../src/viktrwlayer.c:4818 ../src/viktrwlayer.c:4895
+#: ../src/viktrwlayer.c:5573 ../src/viktrwlayer.c:5650
msgid "Append Route"
msgstr ""
-#: ../src/viktrwlayer.c:4818 ../src/viktrwlayer.c:4895
+#: ../src/viktrwlayer.c:5573 ../src/viktrwlayer.c:5650
msgid "Append Track"
msgstr ""
-#: ../src/viktrwlayer.c:4819
+#: ../src/viktrwlayer.c:5574
msgid "Select the route to append after the current route"
msgstr ""
-#: ../src/viktrwlayer.c:4820
+#: ../src/viktrwlayer.c:5575
msgid "Select the track to append after the current track"
msgstr ""
-#: ../src/viktrwlayer.c:4896
+#: ../src/viktrwlayer.c:5651
msgid "Select the track to append after the current route"
msgstr ""
-#: ../src/viktrwlayer.c:4897
+#: ../src/viktrwlayer.c:5652
msgid "Select the route to append after the current track"
msgstr ""
-#: ../src/viktrwlayer.c:4957
+#: ../src/viktrwlayer.c:5711
#, c-format
msgid "%d segment merged"
msgid_plural "%d segments merged"
msgstr[0] ""
msgstr[1] ""
-#: ../src/viktrwlayer.c:4973
+#: ../src/viktrwlayer.c:5727
msgid "Failed. This track does not have timestamp"
msgstr "Fallito. Questo tracciato non ha un timestamp"
-#: ../src/viktrwlayer.c:4985
+#: ../src/viktrwlayer.c:5739
msgid "Failed. No other track in this layer has timestamp"
msgstr "Fallito. Nessun altro tracciato in questo livello ha un timestamp"
-#: ../src/viktrwlayer.c:4992
+#: ../src/viktrwlayer.c:5746
msgid "Merge Threshold..."
msgstr "Soglia di unione..."
-#: ../src/viktrwlayer.c:4993
+#: ../src/viktrwlayer.c:5747
msgid "Merge when time between tracks less than:"
msgstr "Unisci quando il tempo tra i tracciati è minore di:"
-#: ../src/viktrwlayer.c:5128
+#: ../src/viktrwlayer.c:5889
msgid "Split Threshold..."
msgstr "Soglia di divisione..."
-#: ../src/viktrwlayer.c:5129
+#: ../src/viktrwlayer.c:5890
msgid "Split when time between trackpoints exceeds:"
msgstr "Dividi quando il tempo tra i trackpoint supera i:"
-#: ../src/viktrwlayer.c:5205
+#: ../src/viktrwlayer.c:5907
+#, c-format
+msgid ""
+"Can not split track due to trackpoints not ordered in time - such as at %s.\n"
+"\n"
+"Goto this trackpoint?"
+msgstr ""
+
+#: ../src/viktrwlayer.c:5976
msgid "Split Every Nth Point"
msgstr "Dividi Ogni Punto Nord"
-#: ../src/viktrwlayer.c:5206
+#: ../src/viktrwlayer.c:5977
msgid "Split on every Nth point:"
msgstr "Dividi su Ogni Punto Nord:"
-#: ../src/viktrwlayer.c:5312
+#: ../src/viktrwlayer.c:6087
msgid "Can not split track as it has no segments"
msgstr ""
-#: ../src/viktrwlayer.c:5340 ../src/viktrwlayer.c:5370
+#: ../src/viktrwlayer.c:6169 ../src/viktrwlayer.c:6199
#, c-format
msgid "Deleted %ld point"
msgid_plural "Deleted %ld points"
msgstr[0] ""
msgstr[1] ""
-#: ../src/viktrwlayer.c:5531
+#: ../src/viktrwlayer.c:6392
msgid "Internal Error in vik_trw_layer_uniquify_tracks"
msgstr ""
-#: ../src/viktrwlayer.c:5588 ../src/viktrwlayer.c:5635
-#: ../src/viktrwlayer.c:5814
+#: ../src/viktrwlayer.c:6496 ../src/viktrwlayer.c:6543
+#: ../src/viktrwlayer.c:6704
msgid ""
"Multiple entries with the same name exist. This method only works with "
"unique names. Force unique names now?"
msgstr ""
-#: ../src/viktrwlayer.c:5599
+#: ../src/viktrwlayer.c:6507
msgid "No tracks found"
msgstr "Nessun tracciato trovato"
-#: ../src/viktrwlayer.c:5607 ../src/viktrwlayer.c:5654
-#: ../src/viktrwlayer.c:5834
+#: ../src/viktrwlayer.c:6515 ../src/viktrwlayer.c:6562
+#: ../src/viktrwlayer.c:6724
msgid "Delete Selection"
msgstr "Elimina Selezione"
-#: ../src/viktrwlayer.c:5608
+#: ../src/viktrwlayer.c:6516
msgid "Select tracks to delete"
msgstr "Seleziona i tracciati da eliminare"
-#: ../src/viktrwlayer.c:5646
+#: ../src/viktrwlayer.c:6554
msgid "No routes found"
msgstr ""
-#: ../src/viktrwlayer.c:5655
+#: ../src/viktrwlayer.c:6563
msgid "Select routes to delete"
msgstr ""
-#: ../src/viktrwlayer.c:5761
+#: ../src/viktrwlayer.c:6669
msgid "Internal Error in vik_trw_layer_uniquify_waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:5824
+#: ../src/viktrwlayer.c:6714
msgid "No waypoints found"
msgstr "Waypoint non trovati"
-#: ../src/viktrwlayer.c:5835
+#: ../src/viktrwlayer.c:6725
msgid "Select waypoints to delete"
msgstr "Seleziona i punti di transito da eliminare"
-#: ../src/viktrwlayer.c:5896
+#: ../src/viktrwlayer.c:7033
#, c-format
msgid ""
"A waypoint with the name \"%s\" already exists. Really rename to the same "
"name?"
msgstr ""
-#: ../src/viktrwlayer.c:5926
+#: ../src/viktrwlayer.c:7063
#, c-format
msgid ""
"A track with the name \"%s\" already exists. Really rename to the same name?"
msgstr ""
-#: ../src/viktrwlayer.c:5963
+#: ../src/viktrwlayer.c:7100
#, c-format
msgid ""
"A route with the name \"%s\" already exists. Really rename to the same name?"
msgstr ""
-#: ../src/viktrwlayer.c:6085 ../src/viktrwlayer.c:6337
+#: ../src/viktrwlayer.c:7221 ../src/viktrwlayer.c:7594
msgid "_Goto"
msgstr "V_ai a"
-#: ../src/viktrwlayer.c:6104
+#: ../src/viktrwlayer.c:7240
msgid "_Visit Geocache Webpage"
msgstr "_Visita la pagina Web di Geocache"
-#: ../src/viktrwlayer.c:6123
+#: ../src/viktrwlayer.c:7259
msgid "_Show Picture..."
msgstr "Mostra Fotografia... (_S)"
-#: ../src/viktrwlayer.c:6131
+#: ../src/viktrwlayer.c:7267
msgid "Update Geotag on _Image"
msgstr "Aggiorna Georeferenza sull'_Immagine"
-#: ../src/viktrwlayer.c:6137
+#: ../src/viktrwlayer.c:7273
msgid "_Update"
msgstr "Aggiorna (_U)"
-#: ../src/viktrwlayer.c:6142
+#: ../src/viktrwlayer.c:7278
msgid "Update and _Keep File Timestamp"
msgstr "Aggiorna e Mantieni il File dell'Orario Impresso (_K)"
-#: ../src/viktrwlayer.c:6153
+#: ../src/viktrwlayer.c:7289
msgid "Visit _Webpage"
msgstr ""
-#: ../src/viktrwlayer.c:6184
+#: ../src/viktrwlayer.c:7320
msgid "_New Waypoint..."
msgstr "_Nuovo Punto di Transito..."
-#: ../src/viktrwlayer.c:6193
+#: ../src/viktrwlayer.c:7329
msgid "_View All Waypoints"
msgstr "_Visualizza Tutti i Punti di Transito"
-#: ../src/viktrwlayer.c:6205
+#: ../src/viktrwlayer.c:7341
msgid "Delete _All Waypoints"
msgstr "Elmina Tutti i Waypoint (_A)"
-#: ../src/viktrwlayer.c:6211
+#: ../src/viktrwlayer.c:7347
msgid "_Delete Waypoints From Selection..."
msgstr "Elimina (_D) i Punti di Transito dalla Selezione..."
-#: ../src/viktrwlayer.c:6233
+#: ../src/viktrwlayer.c:7359
+msgid "_Show All Waypoints"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7365
+msgid "_Hide All Waypoints"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7393
msgid "_View All Tracks"
msgstr "_Visualizza Tutti i Tracciati"
-#: ../src/viktrwlayer.c:6239
+#: ../src/viktrwlayer.c:7399
msgid "_New Track"
msgstr ""
-#: ../src/viktrwlayer.c:6247
+#: ../src/viktrwlayer.c:7407
msgid "Delete _All Tracks"
msgstr "Elimina Tutti i Tracciati (_A)"
-#: ../src/viktrwlayer.c:6253
+#: ../src/viktrwlayer.c:7413
msgid "_Delete Tracks From Selection..."
msgstr "Elimina (_D) i Tracciati dalla Selezione..."
-#: ../src/viktrwlayer.c:6276
+#: ../src/viktrwlayer.c:7425
+msgid "_Show All Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7431
+msgid "_Hide All Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7442
+msgid "_List Tracks..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7471
msgid "_View All Routes"
msgstr ""
-#: ../src/viktrwlayer.c:6282
+#: ../src/viktrwlayer.c:7477
msgid "_New Route"
msgstr ""
-#: ../src/viktrwlayer.c:6327
+#: ../src/viktrwlayer.c:7503
+msgid "_Show All Routes"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7509
+msgid "_Hide All Routes"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7520
+msgid "_List Routes..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7579
msgid "_View Track"
msgstr "_Visualizza tracciato"
-#: ../src/viktrwlayer.c:6329
+#: ../src/viktrwlayer.c:7581
msgid "_View Route"
msgstr ""
-#: ../src/viktrwlayer.c:6343
+#: ../src/viktrwlayer.c:7600
msgid "_Startpoint"
msgstr "Punto _iniziale"
-#: ../src/viktrwlayer.c:6349
+#: ../src/viktrwlayer.c:7606
msgid "\"_Center\""
msgstr "\"_Centra\""
-#: ../src/viktrwlayer.c:6355
+#: ../src/viktrwlayer.c:7612
msgid "_Endpoint"
msgstr "Punto _finale"
-#: ../src/viktrwlayer.c:6361
+#: ../src/viktrwlayer.c:7618
msgid "_Highest Altitude"
msgstr "Altitudine Più Alta (_H)"
-#: ../src/viktrwlayer.c:6367
+#: ../src/viktrwlayer.c:7624
msgid "_Lowest Altitude"
msgstr "Altitudine Più Bassa (_L)"
-#: ../src/viktrwlayer.c:6375
+#: ../src/viktrwlayer.c:7632
msgid "_Maximum Speed"
msgstr "Velocità _massima"
-#: ../src/viktrwlayer.c:6384
+#: ../src/viktrwlayer.c:7641
msgid "Co_mbine"
msgstr ""
-#: ../src/viktrwlayer.c:6392
+#: ../src/viktrwlayer.c:7649
msgid "_Merge By Time..."
msgstr "Unisci per Orario... (_M)"
-#: ../src/viktrwlayer.c:6397
+#: ../src/viktrwlayer.c:7654
msgid "Merge _Segments"
msgstr ""
-#: ../src/viktrwlayer.c:6403
+#: ../src/viktrwlayer.c:7660
msgid "Merge _With Other Tracks..."
msgstr "Unisci Con (_W) Altri Tracciati..."
-#: ../src/viktrwlayer.c:6409
+#: ../src/viktrwlayer.c:7666
msgid "_Append Track..."
msgstr ""
-#: ../src/viktrwlayer.c:6411
+#: ../src/viktrwlayer.c:7668
msgid "_Append Route..."
msgstr ""
-#: ../src/viktrwlayer.c:6417
+#: ../src/viktrwlayer.c:7674
msgid "Append _Route..."
msgstr ""
-#: ../src/viktrwlayer.c:6419
+#: ../src/viktrwlayer.c:7676
msgid "Append _Track..."
msgstr ""
-#: ../src/viktrwlayer.c:6426
+#: ../src/viktrwlayer.c:7683
msgid "_Split"
msgstr ""
-#: ../src/viktrwlayer.c:6434
+#: ../src/viktrwlayer.c:7691
msgid "_Split By Time..."
msgstr "Dividi per Orario... (_S)"
#. ATM always enable this entry - don't want to have to analyse the track before displaying the menu - to keep the menu speedy
-#: ../src/viktrwlayer.c:6440
+#: ../src/viktrwlayer.c:7697
msgid "Split Se_gments"
msgstr ""
-#: ../src/viktrwlayer.c:6446
+#: ../src/viktrwlayer.c:7703
msgid "Split By _Number of Points..."
msgstr "Dividi per _Numero di Punti..."
-#: ../src/viktrwlayer.c:6451
+#: ../src/viktrwlayer.c:7708
msgid "Split at _Trackpoint"
msgstr ""
-#: ../src/viktrwlayer.c:6460
+#: ../src/viktrwlayer.c:7716
+msgid "_Insert Points"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7722
+msgid "Insert Point _Before Selected Point"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7729
+msgid "Insert Point _After Selected Point"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7738
msgid "Delete Poi_nts"
msgstr ""
-#: ../src/viktrwlayer.c:6466
+#: ../src/viktrwlayer.c:7744
+msgid "Delete _Selected Point"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7752
msgid "Delete Points With The Same _Position"
msgstr ""
-#: ../src/viktrwlayer.c:6471
+#: ../src/viktrwlayer.c:7757
msgid "Delete Points With The Same _Time"
msgstr ""
-#: ../src/viktrwlayer.c:6477
+#: ../src/viktrwlayer.c:7764 ../src/viktrwlayer.c:7964
+msgid "_Transform"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7772 ../src/viktrwlayer.c:7972
+msgid "_Apply DEM Data"
+msgstr "_Applica dati DEM"
+
+#: ../src/viktrwlayer.c:7777 ../src/viktrwlayer.c:7977
+msgid "_Overwrite"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7780 ../src/viktrwlayer.c:7980
+msgid "Overwrite any existing elevation values with DEM values"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7783 ../src/viktrwlayer.c:7983
+msgid "_Keep Existing"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7786 ../src/viktrwlayer.c:7986
+msgid "Keep existing elevation values, only attempt for missing values"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7791
+msgid "_Smooth Missing Elevation Data"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7796
+msgid "_Interpolated"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7799
+msgid ""
+"Interpolate between known elevation values to derive values for the missing "
+"elevations"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7802
+msgid "_Flat"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7805
+msgid "Set unknown elevation values to the last known value"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7809
+msgid "C_onvert to a Route"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7811
+msgid "C_onvert to a Track"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7819
+msgid "_Anonymize Times"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7822
+msgid "Shift timestamps to a relative offset from 1901-01-01"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7827
msgid "_Reverse Track"
msgstr "Inverti il Tracciato (_R)"
-#: ../src/viktrwlayer.c:6479
+#: ../src/viktrwlayer.c:7829
msgid "_Reverse Route"
msgstr ""
-#: ../src/viktrwlayer.c:6488
+#: ../src/viktrwlayer.c:7836
+msgid "Refine Route..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7846
msgid "Down_load Maps Along Track..."
msgstr "Scarica _le Mappe Lungo il Tracciato..."
-#: ../src/viktrwlayer.c:6490
+#: ../src/viktrwlayer.c:7848
msgid "Down_load Maps Along Route..."
msgstr ""
-#: ../src/viktrwlayer.c:6497
-msgid "_Apply DEM Data"
-msgstr "_Applica dati DEM"
-
-#: ../src/viktrwlayer.c:6504
+#: ../src/viktrwlayer.c:7856
msgid "_Export Track as GPX..."
msgstr ""
-#: ../src/viktrwlayer.c:6506
+#: ../src/viktrwlayer.c:7858
msgid "_Export Route as GPX..."
msgstr ""
-#: ../src/viktrwlayer.c:6513
+#: ../src/viktrwlayer.c:7865
msgid "E_xtend Track End"
msgstr "Estendi il Tracciato fino al Termine (_x)"
-#: ../src/viktrwlayer.c:6515
+#: ../src/viktrwlayer.c:7867
msgid "E_xtend Route End"
msgstr ""
-#: ../src/viktrwlayer.c:6522
-msgid "C_onvert to a Route"
-msgstr ""
-
-#: ../src/viktrwlayer.c:6524
-msgid "C_onvert to a Track"
-msgstr ""
-
-#: ../src/viktrwlayer.c:6532
+#: ../src/viktrwlayer.c:7874
msgid "Extend _Using Route Finder"
msgstr "Estendi _Usando il Percorso di Ricerca"
-#: ../src/viktrwlayer.c:6548
+#: ../src/viktrwlayer.c:7889
msgid "_Upload to GPS..."
msgstr ""
-#: ../src/viktrwlayer.c:6559
+#: ../src/viktrwlayer.c:7900
msgid "_View Google Directions"
msgstr "_Visualizza Direzioni Google"
-#: ../src/viktrwlayer.c:6579
+#: ../src/viktrwlayer.c:7920
msgid "Use with _Filter"
msgstr "Utilizza con _filtro"
-#: ../src/viktrwlayer.c:6612
+#: ../src/viktrwlayer.c:7953
msgid "_Edit Trackpoint"
msgstr "Modifica il Punto del Tracciato (_E)"
-#: ../src/viktrwlayer.c:7524
+#: ../src/viktrwlayer.c:9017
#, c-format
msgid " - Gain %dm:Loss %dm"
msgstr " - Miglioramento %dm:Perdita %dm"
-#: ../src/viktrwlayer.c:7526
+#: ../src/viktrwlayer.c:9019
#, c-format
msgid " - Gain %dft:Loss %dft"
msgstr " - Miglioramento %dft:Perdita %dft"
-#: ../src/viktrwlayer.c:7531
+#: ../src/viktrwlayer.c:9024
#, c-format
msgid " - Bearing %3.1f° - Step %s"
msgstr ""
-#: ../src/viktrwlayer.c:8124
+#: ../src/viktrwlayer.c:9628
#, c-format
msgid "Could not launch %s to open file."
msgstr "Impossibile lanciare %s per aprire il file."
-#: ../src/viktrwlayer.c:8205
+#: ../src/viktrwlayer.c:9709
#, c-format
msgid "Creating %d Image Thumbnails..."
msgstr "Creazione di %d miniature..."
-#: ../src/viktrwlayer.c:8524
+#: ../src/viktrwlayer.c:10106
msgid "No map layer in use. Create one first"
msgstr "Nessun livello di mappa in uso. Creane uno prima"
-#: ../src/viktrwlayer_propwin.c:898 ../src/viktrwlayer_propwin.c:1155
+#: ../src/viktrwlayer.c:10225
+#, c-format
+msgid "%s: Track List"
+msgstr ""
+
+#: ../src/viktrwlayer.c:10227
+#, c-format
+msgid "%s: Route List"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:828 ../src/viktrwlayer_propwin.c:1085
#, c-format
msgid "%.1f kph"
msgstr "%.1f km/h"
-#: ../src/viktrwlayer_propwin.c:901 ../src/viktrwlayer_propwin.c:1158
+#: ../src/viktrwlayer_propwin.c:831 ../src/viktrwlayer_propwin.c:1088
+#: ../src/viktrwlayer_analysis.c:290
#, c-format
msgid "%.1f mph"
msgstr "%.1f miglia/h"
-#: ../src/viktrwlayer_propwin.c:904 ../src/viktrwlayer_propwin.c:1161
+#: ../src/viktrwlayer_propwin.c:834 ../src/viktrwlayer_propwin.c:1091
#, c-format
msgid "%.1f knots"
msgstr "%.1f nodi"
#. VIK_UNITS_SPEED_METRES_PER_SECOND:
-#: ../src/viktrwlayer_propwin.c:908 ../src/viktrwlayer_propwin.c:1165
+#: ../src/viktrwlayer_propwin.c:838 ../src/viktrwlayer_propwin.c:1095
#, c-format
msgid "%.1f m/s"
msgstr "%.1f m/s"
-#: ../src/viktrwlayer_propwin.c:1745
+#: ../src/viktrwlayer_propwin.c:1662 ../src/viktrwlayer_analysis.c:267
#, c-format
msgid "%.1f miles"
msgstr "%.1f miglia"
-#: ../src/viktrwlayer_propwin.c:1747
+#. VIK_UNITS_DISTANCE_KILOMETRES
+#: ../src/viktrwlayer_propwin.c:1664 ../src/viktrwlayer_analysis.c:271
#, c-format
msgid "%.1f km"
msgstr "%.1f km"
-#: ../src/viktrwlayer_propwin.c:2681
+#: ../src/viktrwlayer_propwin.c:2582
msgid "Failed spliting track. Track unchanged"
msgstr "Divisione del tracciato non riuscita. Tracciato invariato"
-#: ../src/viktrwlayer_propwin.c:2779 ../src/viktrwlayer_propwin.c:3178
+#: ../src/viktrwlayer_propwin.c:2724 ../src/viktrwlayer_propwin.c:3140
#, c-format
msgid "%s - Track Properties"
msgstr "%s - Proprietà del tracciato"
-#: ../src/viktrwlayer_propwin.c:2784
+#: ../src/viktrwlayer_propwin.c:2729
msgid "Split at _Marker"
msgstr "Dividi al _Marcatore"
-#: ../src/viktrwlayer_propwin.c:2785
+#: ../src/viktrwlayer_propwin.c:2730
msgid "Split _Segments"
msgstr "Dividi _Segmenti"
-#: ../src/viktrwlayer_propwin.c:2786
+#: ../src/viktrwlayer_propwin.c:2731
msgid "_Reverse"
msgstr "Inverti (_R)"
-#: ../src/viktrwlayer_propwin.c:2787
+#: ../src/viktrwlayer_propwin.c:2732
msgid "_Delete Dupl."
msgstr "Elimina _Duplicati"
-#: ../src/viktrwlayer_propwin.c:2813
+#: ../src/viktrwlayer_propwin.c:2757
msgid "<b>Comment:</b>"
msgstr "<b>Commento:</b>"
-#: ../src/viktrwlayer_propwin.c:2814
+#: ../src/viktrwlayer_propwin.c:2758
msgid "<b>Description:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2815
+#: ../src/viktrwlayer_propwin.c:2759
+msgid "<b>Color:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2760
+msgid "<b>Draw Name:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2761
+msgid "<b>Distance Labels:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2764
msgid "<b>Track Length:</b>"
msgstr "<b>Lunghezza tracciato:</b>"
-#: ../src/viktrwlayer_propwin.c:2816
+#: ../src/viktrwlayer_propwin.c:2765
msgid "<b>Trackpoints:</b>"
msgstr "<b>Trackpoints:</b>"
-#: ../src/viktrwlayer_propwin.c:2817
+#: ../src/viktrwlayer_propwin.c:2766
msgid "<b>Segments:</b>"
msgstr "<b>Segmenti:</b>"
-#: ../src/viktrwlayer_propwin.c:2818
+#: ../src/viktrwlayer_propwin.c:2767
msgid "<b>Duplicate Points:</b>"
msgstr "<b>Punti duplicati:</b>"
-#: ../src/viktrwlayer_propwin.c:2819
+#: ../src/viktrwlayer_propwin.c:2768
msgid "<b>Max Speed:</b>"
msgstr "<b>Velocità massima:</b>"
-#: ../src/viktrwlayer_propwin.c:2820
+#: ../src/viktrwlayer_propwin.c:2769
msgid "<b>Avg. Speed:</b>"
msgstr "<b>Velocità media:</b>"
-#: ../src/viktrwlayer_propwin.c:2821
+#: ../src/viktrwlayer_propwin.c:2770
msgid "<b>Moving Avg. Speed:</b>"
msgstr "<b>Velocità Media di Spostamento:</b>"
-#: ../src/viktrwlayer_propwin.c:2822
+#: ../src/viktrwlayer_propwin.c:2771
msgid "<b>Avg. Dist. Between TPs:</b>"
msgstr "<b>Distanza media fra TrackPoint:</b>"
-#: ../src/viktrwlayer_propwin.c:2823
+#: ../src/viktrwlayer_propwin.c:2772
msgid "<b>Elevation Range:</b>"
msgstr "<b>Intervallo di quota:</b>"
-#: ../src/viktrwlayer_propwin.c:2824
+#: ../src/viktrwlayer_propwin.c:2773
msgid "<b>Total Elevation Gain/Loss:</b>"
msgstr "<b>Dislivello totale/Perdita:</b>"
-#: ../src/viktrwlayer_propwin.c:2825
+#: ../src/viktrwlayer_propwin.c:2774
msgid "<b>Start:</b>"
msgstr "<b>Inizio:</b>"
-#: ../src/viktrwlayer_propwin.c:2826
+#: ../src/viktrwlayer_propwin.c:2775
msgid "<b>End:</b>"
msgstr "<b>Fine:</b>"
-#: ../src/viktrwlayer_propwin.c:2827
+#: ../src/viktrwlayer_propwin.c:2776
msgid "<b>Duration:</b>"
msgstr "<b>Durata:</b>"
-#: ../src/viktrwlayer_propwin.c:2828
-msgid "<b>Color:</b>"
+#: ../src/viktrwlayer_propwin.c:2797
+msgid "No"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2798
+msgid "Centre"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2799
+msgid "Start only"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2800
+msgid "End only"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2801
+msgid "Start and End"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2802
+msgid "Centre, Start and End"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2814
+msgid "Maximum number of distance labels to be shown"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2818
+msgid "Properties"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2877 ../src/viktrwlayer_propwin.c:2901
-#: ../src/viktrwlayer_propwin.c:2929 ../src/viktrwlayer_propwin.c:2966
-#: ../src/viktrwlayer_propwin.c:2984 ../src/viktrwlayer_propwin.c:3034
-#: ../src/viktrwlayer_propwin.c:3035 ../src/viktrwlayer_propwin.c:3036
-#: ../src/viktrwlayer_propwin.c:3062 ../src/viktrwlayer_propwin.c:3063
+#: ../src/viktrwlayer_propwin.c:2856 ../src/viktrwlayer_propwin.c:2880
+#: ../src/viktrwlayer_propwin.c:2908 ../src/viktrwlayer_propwin.c:2945
+#: ../src/viktrwlayer_propwin.c:2963 ../src/viktrwlayer_propwin.c:3009
+#: ../src/viktrwlayer_propwin.c:3010 ../src/viktrwlayer_propwin.c:3011
+#: ../src/viktrwlayer_propwin.c:3020 ../src/viktrwlayer_propwin.c:3021
+#: ../src/viktrwlayer_propwin.c:3036 ../src/viktrwlayer_propwin.c:3037
+#: ../src/viktrwlayer_propwin.c:3050 ../src/viktrwlayer_propwin.c:3051
+#: ../src/viktrwlayer_propwin.c:3064 ../src/viktrwlayer_propwin.c:3065
#: ../src/viktrwlayer_propwin.c:3078 ../src/viktrwlayer_propwin.c:3079
#: ../src/viktrwlayer_propwin.c:3092 ../src/viktrwlayer_propwin.c:3093
-#: ../src/viktrwlayer_propwin.c:3106 ../src/viktrwlayer_propwin.c:3107
-#: ../src/viktrwlayer_propwin.c:3120 ../src/viktrwlayer_propwin.c:3121
-#: ../src/viktrwlayer_propwin.c:3134 ../src/viktrwlayer_propwin.c:3135
+#: ../src/viktrwlayer_analysis.c:257
#, c-format
msgid "No Data"
msgstr "Nessun dato"
-#: ../src/viktrwlayer_propwin.c:3031
+#: ../src/viktrwlayer_propwin.c:3006
#, c-format
msgid "%d minutes"
msgstr "%d minuti"
-#: ../src/viktrwlayer_propwin.c:3058
+#: ../src/viktrwlayer_propwin.c:3016 ../src/viktrwlayer_analysis.c:515
msgid "Statistics"
msgstr "Statistiche"
-#: ../src/viktrwlayer_propwin.c:3064
+#: ../src/viktrwlayer_propwin.c:3022
msgid "Show D_EM"
msgstr "Mostra D_EM"
-#: ../src/viktrwlayer_propwin.c:3065 ../src/viktrwlayer_propwin.c:3080
-#: ../src/viktrwlayer_propwin.c:3094 ../src/viktrwlayer_propwin.c:3136
+#: ../src/viktrwlayer_propwin.c:3023 ../src/viktrwlayer_propwin.c:3038
+#: ../src/viktrwlayer_propwin.c:3052 ../src/viktrwlayer_propwin.c:3094
msgid "Show _GPS Speed"
msgstr "Mostra la Velocità _GPS"
-#: ../src/viktrwlayer_propwin.c:3067 ../src/viktrwlayer_propwin.c:3082
-#: ../src/viktrwlayer_propwin.c:3110 ../src/viktrwlayer_propwin.c:3138
+#: ../src/viktrwlayer_propwin.c:3025 ../src/viktrwlayer_propwin.c:3040
+#: ../src/viktrwlayer_propwin.c:3068 ../src/viktrwlayer_propwin.c:3096
msgid "<b>Track Distance:</b>"
msgstr "<b>Distanza tracciato:</b>"
-#: ../src/viktrwlayer_propwin.c:3068 ../src/viktrwlayer_propwin.c:3125
+#: ../src/viktrwlayer_propwin.c:3026 ../src/viktrwlayer_propwin.c:3083
msgid "<b>Track Height:</b>"
msgstr "<b>Altezza del Tracciato:</b>"
-#: ../src/viktrwlayer_propwin.c:3073
+#: ../src/viktrwlayer_propwin.c:3031
msgid "Elevation-distance"
msgstr "Elevazione-distanza"
-#: ../src/viktrwlayer_propwin.c:3083
+#: ../src/viktrwlayer_propwin.c:3041
msgid "<b>Track Gradient:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3087
+#: ../src/viktrwlayer_propwin.c:3045
msgid "Gradient-distance"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3096 ../src/viktrwlayer_propwin.c:3111
-#: ../src/viktrwlayer_propwin.c:3124
+#: ../src/viktrwlayer_propwin.c:3054 ../src/viktrwlayer_propwin.c:3069
+#: ../src/viktrwlayer_propwin.c:3082
msgid "<b>Track Time:</b>"
msgstr "<b>Durata tracciato:</b>"
-#: ../src/viktrwlayer_propwin.c:3097 ../src/viktrwlayer_propwin.c:3139
+#: ../src/viktrwlayer_propwin.c:3055 ../src/viktrwlayer_propwin.c:3097
msgid "<b>Track Speed:</b>"
msgstr "<b>Velocità del Tracciato:</b>"
-#: ../src/viktrwlayer_propwin.c:3101
+#: ../src/viktrwlayer_propwin.c:3059
msgid "Speed-time"
msgstr "Velocità-tempo"
-#: ../src/viktrwlayer_propwin.c:3108 ../src/viktrwlayer_propwin.c:3122
+#: ../src/viktrwlayer_propwin.c:3066 ../src/viktrwlayer_propwin.c:3080
msgid "Show S_peed"
msgstr "Mostra la Velocità (_p)"
-#: ../src/viktrwlayer_propwin.c:3115
+#: ../src/viktrwlayer_propwin.c:3073
msgid "Distance-time"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3129
+#: ../src/viktrwlayer_propwin.c:3087
msgid "Elevation-time"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3143
+#: ../src/viktrwlayer_propwin.c:3101
msgid "Speed-distance"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:118
+#: ../src/viktrwlayer_tpwin.c:119
msgid "<b>Part of Track:</b>"
msgstr "<b>Parte del tracciato:</b>"
-#: ../src/viktrwlayer_tpwin.c:119
+#: ../src/viktrwlayer_tpwin.c:120
msgid "<b>Latitude:</b>"
msgstr "<b>Latitudine:</b>"
-#: ../src/viktrwlayer_tpwin.c:120
+#: ../src/viktrwlayer_tpwin.c:121
msgid "<b>Longitude:</b>"
msgstr "<b>Longitudine:</b>"
-#: ../src/viktrwlayer_tpwin.c:121
+#: ../src/viktrwlayer_tpwin.c:122
msgid "<b>Altitude:</b>"
msgstr "<b>Altitudine:</b>"
-#: ../src/viktrwlayer_tpwin.c:122
+#: ../src/viktrwlayer_tpwin.c:123
+msgid "<b>Course:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_tpwin.c:124
msgid "<b>Timestamp:</b>"
msgstr "<b>Timestamp:</b>"
-#: ../src/viktrwlayer_tpwin.c:123
+#: ../src/viktrwlayer_tpwin.c:125
msgid "<b>Time:</b>"
msgstr "<b>Tempo:</b>"
-#: ../src/viktrwlayer_tpwin.c:124
+#: ../src/viktrwlayer_tpwin.c:126
msgid "<b>Distance Difference:</b>"
msgstr "<b>Differenza di distanza:</b>"
-#: ../src/viktrwlayer_tpwin.c:125
+#: ../src/viktrwlayer_tpwin.c:127
msgid "<b>Time Difference:</b>"
msgstr "<b>Differenza di tempo:</b>"
-#: ../src/viktrwlayer_tpwin.c:126
+#: ../src/viktrwlayer_tpwin.c:128
msgid "<b>\"Speed\" Between:</b>"
msgstr "<b>\"Velocità\" tra:</b>"
-#: ../src/viktrwlayer_tpwin.c:127
+#: ../src/viktrwlayer_tpwin.c:129
+msgid "<b>Speed:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_tpwin.c:130
msgid "<b>VDOP:</b>"
msgstr "<b>VDOP:</b>"
-#: ../src/viktrwlayer_tpwin.c:128
+#: ../src/viktrwlayer_tpwin.c:131
msgid "<b>HDOP:</b>"
msgstr "<b>HDOP:</b>"
-#: ../src/viktrwlayer_tpwin.c:129
+#: ../src/viktrwlayer_tpwin.c:132
msgid "<b>PDOP:</b>"
msgstr "<b>PDOP:</b>"
-#: ../src/viktrwlayer_tpwin.c:130
+#: ../src/viktrwlayer_tpwin.c:133
msgid "<b>SAT/FIX:</b>"
msgstr "<b>SAT/FIX:</b>"
-#: ../src/viktrwlayer_tpwin.c:139
+#: ../src/viktrwlayer_tpwin.c:141
msgid "Trackpoint"
msgstr "Trackpoint"
-#: ../src/viktrwlayer_tpwin.c:142
+#: ../src/viktrwlayer_tpwin.c:144
msgid "_Insert After"
msgstr "_Inserisci dopo"
-#: ../src/viktrwlayer_tpwin.c:144
+#: ../src/viktrwlayer_tpwin.c:146
msgid "Split Here"
msgstr "Suddividi qui"
-#: ../src/viktrwlayer_geotag.c:446
+#.
+#. item = gtk_image_menu_item_new_with_mnemonic ( _("_Select") );
+#. gtk_image_menu_item_set_image ( (GtkImageMenuItem*)item, gtk_image_new_from_stock (GTK_STOCK_FIND, GTK_ICON_SIZE_MENU) );
+#. g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(trw_layer_track_select), values );
+#. gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
+#. gtk_widget_show ( item );
+#.
+#. ATM view auto selects, so don't bother with separate select menu entry
+#: ../src/viktrwlayer_tracklist.c:231 ../src/vikwindow.c:3695
+msgid "_View"
+msgstr "_Visualizza"
+
+#. Insert column for the layer name when viewing multi layers
+#: ../src/viktrwlayer_tracklist.c:514
+msgid "Layer"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:526
+msgid "Date"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:529
+msgid "Visible"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:536
+msgid ""
+"Distance\n"
+"(miles)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:539
+msgid ""
+"Distance\n"
+"(km)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:545
+msgid ""
+"Length\n"
+"(minutes)"
+msgstr ""
+
+#. VIK_UNITS_SPEED_KILOMETRES_PER_HOUR:
+#: ../src/viktrwlayer_tracklist.c:549 ../src/vikutils.c:72
+msgid "km/h"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:550 ../src/vikutils.c:62
+msgid "mph"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:551 ../src/vikutils.c:68
+msgid "knots"
+msgstr ""
+
+#. VIK_UNITS_SPEED_METRES_PER_SECOND:
+#: ../src/viktrwlayer_tracklist.c:553 ../src/vikutils.c:65
+msgid "m/s"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:556
+#, c-format
+msgid ""
+"Av. Speed\n"
+"(%s)"
+msgstr ""
+
+#. Apply own formatting of the data
+#: ../src/viktrwlayer_tracklist.c:561
+#, c-format
+msgid ""
+"Max Speed\n"
+"(%s)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:569
+msgid ""
+"Max Height\n"
+"(Feet)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:571
+msgid ""
+"Max Height\n"
+"(Metres)"
+msgstr ""
+
+#: ../src/viktrwlayer_geotag.c:481
#, c-format
msgid "Geotagging %d Images..."
msgstr "Georeferenziate %d immagini..."
-#: ../src/viktrwlayer_geotag.c:510
+#: ../src/viktrwlayer_geotag.c:545
msgid "Geotag Images"
msgstr "Georeferenzia le Immagini"
-#: ../src/viktrwlayer_geotag.c:516
+#: ../src/viktrwlayer_geotag.c:551
msgid "Images"
msgstr "Immagini"
-#: ../src/viktrwlayer_geotag.c:520
+#: ../src/viktrwlayer_geotag.c:555
msgid "Overwrite Existing Waypoints:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:523
+#: ../src/viktrwlayer_geotag.c:558
msgid "Overwrite Existing GPS Information:"
msgstr "Sovrascrivi le Informazioni GPS Esistenti:"
-#: ../src/viktrwlayer_geotag.c:525
+#: ../src/viktrwlayer_geotag.c:560
msgid "Keep File Modification Timestamp:"
msgstr "Mantieni il File di Modifica dell'Ora Impressa"
-#: ../src/viktrwlayer_geotag.c:555
+#: ../src/viktrwlayer_geotag.c:592
msgid "Create Waypoints:"
msgstr "Crea i Punti di Transito:"
-#: ../src/viktrwlayer_geotag.c:563
+#: ../src/viktrwlayer_geotag.c:600
msgid "Write EXIF:"
msgstr "Scrittura EXIF:"
-#: ../src/viktrwlayer_geotag.c:575
+#: ../src/viktrwlayer_geotag.c:612
msgid "Interpolate Between Track Segments:"
msgstr "Interpolazione Tra i Segmenti del Tracciato:"
-#: ../src/viktrwlayer_geotag.c:579
+#: ../src/viktrwlayer_geotag.c:616
msgid "Image Time Offset (Seconds):"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:581
+#: ../src/viktrwlayer_geotag.c:618
msgid ""
"The number of seconds to ADD to the photos time to make it match the GPS "
"data. Calculate this with (GPS - Photo). Can be negative or positive. Useful "
@@ -3151,11 +3777,11 @@ msgstr ""
"positivo o negativo. Utile per regolare gli orari quando quelli impressi da "
"una fotocamera non erano corretti."
-#: ../src/viktrwlayer_geotag.c:584
+#: ../src/viktrwlayer_geotag.c:621
msgid "Image Timezone:"
msgstr "Fuso Orario dell'Immagine:"
-#: ../src/viktrwlayer_geotag.c:586
+#: ../src/viktrwlayer_geotag.c:623
msgid ""
"The timezone that was used when the images were created. For example, if a "
"camera is set to AWST or +8:00 hours. Enter +8:00 here so that the correct "
@@ -3166,47 +3792,259 @@ msgstr ""
"+8:00 in modo che possa essere fatta la corretta regolazione sull'ora delle "
"immagini. I dati GPS sono sempre in UTC."
-#: ../src/viktrwlayer_geotag.c:590
+#: ../src/viktrwlayer_geotag.c:627
#, c-format
msgid "Using track: %s"
msgstr "Utilizza il tracciato: %s"
-#: ../src/viktrwlayer_geotag.c:592
+#: ../src/viktrwlayer_geotag.c:629
#, c-format
msgid "Using all tracks in: %s"
msgstr "Utilizza tutti i tracciati: %s"
-#: ../src/vikstatus.c:105
+#: ../src/viktrwlayer_analysis.c:193
+msgid "Number of Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:194
+msgid "Date Range"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:195
+msgid "Total Length"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:196
+msgid "Average Length"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:197
+msgid "Max Speed"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:198
+msgid "Avg. Speed"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:199
+msgid "Minimum Altitude"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:200
+msgid "Maximum Altitude"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:201
+msgid "Total Elevation Gain/Loss"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:202
+msgid "Avg. Elevation Gain/Loss"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:203
+msgid "Total Duration"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:204
+msgid "Avg. Duration"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:278
+#, c-format
+msgid "%.2f miles"
+msgstr ""
+
+#. VIK_UNITS_DISTANCE_KILOMETRES
+#: ../src/viktrwlayer_analysis.c:282
+#, c-format
+msgid "%.2f km"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:297
+#, c-format
+msgid "%.2f m/s"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:306
+#, c-format
+msgid "%.2f knots\n"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:309
+#, c-format
+msgid "%.2f knots"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:316 ../src/viktrwlayer_analysis.c:319
+#, c-format
+msgid "%.2f km/h"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:330 ../src/viktrwlayer_analysis.c:336
+#, c-format
+msgid "%d feet"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:341 ../src/viktrwlayer_analysis.c:343
+#, c-format
+msgid "%d feet / %d feet"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:348 ../src/viktrwlayer_analysis.c:354
+#, c-format
+msgid "%d m"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:359 ../src/viktrwlayer_analysis.c:361
+#, c-format
+msgid "%d m / %d m"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:373
+#, c-format
+msgid "%d:%02d:%02d days:hrs:mins"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:380
+#, c-format
+msgid "%d:%02d hrs:mins"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:550
+msgid "Include Invisible Items"
+msgstr ""
+
+#: ../src/vikstatus.c:107
+msgid "Current number of background tasks. Click to see the background jobs."
+msgstr ""
+
+#: ../src/vikstatus.c:113
msgid "Current zoom level. Click to select a new one."
msgstr ""
-#: ../src/vikwaypoint.c:34
+#: ../src/vikutils.c:80
+msgid "GPSD"
+msgstr ""
+
+#. GPS Preamble
+#: ../src/vikutils.c:81
+msgid "Trkpt"
+msgstr ""
+
+#: ../src/vikutils.c:121
+#, c-format
+msgid "%sSpeed%s %.1f%s"
+msgstr ""
+
+#: ../src/vikutils.c:130
+#, c-format
+msgid "%sAlt %dfeet"
+msgstr ""
+
+#. VIK_UNITS_HEIGHT_METRES:
+#: ../src/vikutils.c:134
+#, c-format
+msgid "%sAlt %dm"
+msgstr ""
+
+#: ../src/vikutils.c:142
+#, c-format
+msgid "%sCourse %03d°"
+msgstr ""
+
+#: ../src/vikutils.c:155
+msgid "yards"
+msgstr ""
+
+#. VIK_UNITS_DISTANCE_KILOMETRES:
+#: ../src/vikutils.c:159
+msgid "m"
+msgstr ""
+
+#: ../src/vikutils.c:163
+#, c-format
+msgid "%sDistance diff %d%s"
+msgstr ""
+
+#: ../src/vikutils.c:179
+#, c-format
+msgid "%sTime %s"
+msgstr ""
+
+#: ../src/vikutils.c:187
+#, c-format
+msgid "%sTime diff %lds"
+msgstr ""
+
+#: ../src/vikutils.c:193
+#, c-format
+msgid "%sNo. of Sats %d"
+msgstr ""
+
+#: ../src/vikutils.c:213
+#, c-format
+msgid "%sDistance along %.2f%s"
+msgstr ""
+
+#. Name of track
+#: ../src/vikutils.c:232
+#, c-format
+msgid "%sTrack: %s"
+msgstr ""
+
+#: ../src/vikwaypoint.c:36
msgid "Waypoint"
msgstr ""
#. TODO get rid of this as this is unnecessary duplication...
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Pan"
msgstr "Scorri"
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Zoom"
msgstr "Zoom"
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Ruler"
msgstr "Righello"
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Select"
msgstr "Seleziona"
+#: ../src/vikwindow.c:381
+msgid "Location lookup aborted"
+msgstr ""
+
+#: ../src/vikwindow.c:401
+#, c-format
+msgid "Location found: %s"
+msgstr ""
+
+#: ../src/vikwindow.c:410
+msgid "Unable to determine location"
+msgstr ""
+
+#: ../src/vikwindow.c:434
+msgid "Default Map"
+msgstr ""
+
+#: ../src/vikwindow.c:444
+msgid "Trying to determine location..."
+msgstr ""
+
+#: ../src/vikwindow.c:447
+msgid "Determining location"
+msgstr ""
+
#. Create tooltip
-#: ../src/vikwindow.c:440
+#: ../src/vikwindow.c:605
msgid "Select zoom level"
msgstr ""
-#: ../src/vikwindow.c:645
+#: ../src/vikwindow.c:923
#, c-format
msgid ""
"Do you want to save the changes you made to the document \"%s\"?\n"
@@ -3217,101 +4055,101 @@ msgstr ""
"\n"
"Le modifiche effettuate saranno perse se non salvate."
-#: ../src/vikwindow.c:649
+#: ../src/vikwindow.c:927
msgid "Don't Save"
msgstr "Non salvare"
-#: ../src/vikwindow.c:696
+#: ../src/vikwindow.c:1005
msgid "mpp"
msgstr "mpp"
-#: ../src/vikwindow.c:696
+#: ../src/vikwindow.c:1005
msgid "pixelfact"
msgstr "pixelfact"
-#: ../src/vikwindow.c:861
+#: ../src/vikwindow.c:1169
#, c-format
msgid "%s %s %dm"
msgstr "%s %s %dm"
-#: ../src/vikwindow.c:863
+#: ../src/vikwindow.c:1171
#, c-format
msgid "%s %s %dft"
msgstr "%s %s %dft"
-#: ../src/vikwindow.c:866
+#: ../src/vikwindow.c:1174
#, c-format
msgid "%s %s"
msgstr "%s %s"
#. NB Ctrl+Shift+R is used for Refresh (deemed more important), so use 'U' instead
-#: ../src/vikwindow.c:1254
+#: ../src/vikwindow.c:1562
msgid "_Ruler"
msgstr "_Righello"
-#: ../src/vikwindow.c:1254
+#: ../src/vikwindow.c:1562
msgid "Ruler Tool"
msgstr "Strumento righello"
-#: ../src/vikwindow.c:1502 ../src/vikwindow.c:3138
+#: ../src/vikwindow.c:1810 ../src/vikwindow.c:3697
msgid "_Zoom"
msgstr "_Zoom"
-#: ../src/vikwindow.c:1502
+#: ../src/vikwindow.c:1810
msgid "Zoom Tool"
msgstr "Strumento di Zoom"
-#: ../src/vikwindow.c:1547 ../src/vikwindow.c:3139
+#: ../src/vikwindow.c:1855 ../src/vikwindow.c:3698
msgid "_Pan"
msgstr "_Scorri"
-#: ../src/vikwindow.c:1547
+#: ../src/vikwindow.c:1855
msgid "Pan Tool"
msgstr "Strumento di scorrimento"
-#: ../src/vikwindow.c:1664
+#: ../src/vikwindow.c:1972
msgid "_Select"
msgstr "_Seleziona"
-#: ../src/vikwindow.c:1664
+#: ../src/vikwindow.c:1972
msgid "Select Tool"
msgstr "Strumento di Selezione"
-#: ../src/vikwindow.c:1809
+#: ../src/vikwindow.c:2123
msgid "You must select a layer to show its properties."
msgstr "Selezionare un livello per vederne le proprietà."
#. No error to show, so unlikely this will get called
-#: ../src/vikwindow.c:1824
+#: ../src/vikwindow.c:2137
msgid "The help system is not available."
msgstr ""
#. Main error path
-#: ../src/vikwindow.c:1827
+#: ../src/vikwindow.c:2140
#, c-format
msgid ""
"Help is not available because: %s.\n"
"Ensure a Mime Type ghelp handler program is installed (e.g. yelp)."
msgstr ""
-#: ../src/vikwindow.c:1850
+#: ../src/vikwindow.c:2160
msgid "You must select a layer to delete."
msgstr "Selezionare un livello per l'eliminazione."
-#: ../src/vikwindow.c:2087
+#: ../src/vikwindow.c:2396
msgid "Untitled"
msgstr "Senza titolo"
-#: ../src/vikwindow.c:2194
+#: ../src/vikwindow.c:2503
#, c-format
msgid "Unable to add '%s' to the list of recently used documents"
msgstr "Impossibile aggiungere \"%s\" alla lista dei documenti recenti."
-#: ../src/vikwindow.c:2208
+#: ../src/vikwindow.c:2540
msgid "The file you requested could not be opened."
msgstr "Il file richiesto non può essere aperto."
-#: ../src/vikwindow.c:2211
+#: ../src/vikwindow.c:2543
msgid ""
"GPSBabel is required to load files of this type or GPSBabel encountered "
"problems."
@@ -3319,70 +4157,129 @@ msgstr ""
"Per caricare i file di questo tipo è richiesto GPSBabel oppure GPSBabel ha "
"rilevato dei problemi."
-#: ../src/vikwindow.c:2214
+#: ../src/vikwindow.c:2546
#, c-format
msgid "Unable to load malformed GPX file %s"
msgstr ""
-#: ../src/vikwindow.c:2217
+#: ../src/vikwindow.c:2549
#, c-format
msgid "Unsupported file type for %s"
msgstr "Tipo di file non supportato per %s"
#. Since we can process .vik files with issues just show a warning in the status bar
#. Not that a user can do much about it... or tells them what this issue is yet...
-#: ../src/vikwindow.c:2223
+#: ../src/vikwindow.c:2555
#, c-format
msgid "WARNING: issues encountered loading %s"
msgstr ""
-#: ../src/vikwindow.c:2278
+#: ../src/vikwindow.c:2613
msgid "Please select a GPS data file to open. "
msgstr "Selezionare un archivio GPS da aprire. "
-#: ../src/vikwindow.c:2288
+#: ../src/vikwindow.c:2629
msgid "Geocaching"
msgstr "Geocaching"
-#: ../src/vikwindow.c:2294
+#: ../src/vikwindow.c:2635
msgid "Google Earth"
msgstr "Google Earth"
-#: ../src/vikwindow.c:2299
+#: ../src/vikwindow.c:2640
msgid "GPX"
msgstr "GPX"
-#: ../src/vikwindow.c:2304 ../src/vikwindow.c:2387
+#: ../src/vikwindow.c:2645 ../src/vikwindow.c:2734
#: ../src/viking.desktop.in.h:1
msgid "Viking"
msgstr "Viking"
-#: ../src/vikwindow.c:2374
+#: ../src/vikwindow.c:2715
msgid "Save as Viking File."
msgstr "Salva come file di Viking."
+#: ../src/vikwindow.c:2841
+msgid "Exporting to file: "
+msgstr ""
+
+#. Confirm what happened.
+#: ../src/vikwindow.c:2858
+#, c-format
+msgid "Exported files: %d"
+msgstr ""
+
+#: ../src/vikwindow.c:2870
+msgid "Nothing to Export!"
+msgstr ""
+
+#: ../src/vikwindow.c:2874
+msgid "Export to directory"
+msgstr ""
+
+#: ../src/vikwindow.c:2896
+msgid "Could not convert all files"
+msgstr ""
+
+#: ../src/vikwindow.c:2932
+#, c-format
+msgid "%d bytes"
+msgstr ""
+
+#: ../src/vikwindow.c:2934
+#, c-format
+msgid "%3.1f kB"
+msgstr ""
+
+#: ../src/vikwindow.c:2936
+#, c-format
+msgid "%3.1f MB"
+msgstr ""
+
+#: ../src/vikwindow.c:2937
+#, c-format
+msgid ""
+"%s\n"
+"\n"
+"%s\n"
+"\n"
+"%s"
+msgstr ""
+
+#: ../src/vikwindow.c:2942
+msgid "File not accessible"
+msgstr ""
+
+#: ../src/vikwindow.c:2945
+msgid "No Viking File"
+msgstr ""
+
+#: ../src/vikwindow.c:3035
+msgid "This layer has no configurable properties."
+msgstr ""
+
#. Try harder...
-#: ../src/vikwindow.c:2619 ../src/vikwindow.c:2625
+#: ../src/vikwindow.c:3169 ../src/vikwindow.c:3175
msgid "Generating image file..."
msgstr ""
-#: ../src/vikwindow.c:2647
+#: ../src/vikwindow.c:3197
msgid ""
"Failed to generate internal image.\n"
"\n"
"Try creating a smaller image."
msgstr ""
-#: ../src/vikwindow.c:2655
+#: ../src/vikwindow.c:3205
msgid "Failed to generate image file."
msgstr ""
#. Success
-#: ../src/vikwindow.c:2660
+#: ../src/vikwindow.c:3210
msgid "Image file generated."
msgstr ""
-#: ../src/vikwindow.c:2764
+#: ../src/vikwindow.c:3314
msgid ""
"Viewable region outside allowable pixel size bounds for image. Clipping "
"width/height values."
@@ -3390,455 +4287,480 @@ msgstr ""
"Regione visibile fuori dal bordo della dimensione pixel consentita per "
"l'immagine. Regolazione dei valori larghezza/altezza."
-#: ../src/vikwindow.c:2789
+#: ../src/vikwindow.c:3339
#, c-format
msgid "Total area: %ldm x %ldm (%.3f sq. km)"
msgstr "Area Totale: %ldm x %ldm (%.3f kmq)"
-#: ../src/vikwindow.c:2792
+#: ../src/vikwindow.c:3342
#, c-format
msgid "Total area: %ldm x %ldm (%.3f sq. miles)"
msgstr "Area totale: %ldm x %ldm (%.3f miglia quadrate)"
-#: ../src/vikwindow.c:2813
+#: ../src/vikwindow.c:3363
msgid "Save Image"
msgstr "Salva immagine"
-#: ../src/vikwindow.c:2834
+#: ../src/vikwindow.c:3393
msgid "PNG"
msgstr ""
-#: ../src/vikwindow.c:2857
+#: ../src/vikwindow.c:3416
msgid "You must be in UTM mode to use this feature"
msgstr "Si deve essere in modalità UTM per utilizzare questa funzione"
-#: ../src/vikwindow.c:2862
+#: ../src/vikwindow.c:3421
msgid "Choose a directory to hold images"
msgstr "Selezionare una cartella dove conservare le immagini"
#. todo: default for answers inside VikWindow or static (thruout instance)
-#: ../src/vikwindow.c:2883
+#: ../src/vikwindow.c:3442
msgid "Save to Image File"
msgstr "Salva come file immagine"
-#: ../src/vikwindow.c:2900
+#: ../src/vikwindow.c:3459
msgid "Width (pixels):"
msgstr "Larghezza (pixel):"
-#: ../src/vikwindow.c:2902
+#: ../src/vikwindow.c:3461
msgid "Height (pixels):"
msgstr "Altezza (pixel):"
-#: ../src/vikwindow.c:2905
+#: ../src/vikwindow.c:3464
msgid ""
"WARNING: USING LARGE IMAGES OVER 10000x10000\n"
"MAY CRASH THE PROGRAM!"
msgstr ""
-#: ../src/vikwindow.c:2907
+#: ../src/vikwindow.c:3466
msgid "Zoom (meters per pixel):"
msgstr "Zoom (metri per pixel):"
-#: ../src/vikwindow.c:2921
+#: ../src/vikwindow.c:3482
msgid "Area in current viewable window"
msgstr "Area nella finestra visibile"
-#: ../src/vikwindow.c:2931
+#: ../src/vikwindow.c:3492
msgid "Save as PNG"
msgstr "Salva come PNG"
-#: ../src/vikwindow.c:2932
+#: ../src/vikwindow.c:3493
msgid "Save as JPEG"
msgstr "Salva come JPEG"
-#: ../src/vikwindow.c:2954
+#: ../src/vikwindow.c:3515
msgid "East-west image tiles:"
msgstr "Celle dell'immagine est-ovest:"
-#: ../src/vikwindow.c:2956
+#: ../src/vikwindow.c:3517
msgid "North-south image tiles:"
msgstr "Celle dell'immagine nord-sud:"
-#: ../src/vikwindow.c:3097
+#: ../src/vikwindow.c:3656
msgid "Choose a background color"
msgstr "Selezionare un colore di sfondo"
-#: ../src/vikwindow.c:3113
+#: ../src/vikwindow.c:3672
msgid "Choose a track highlight color"
msgstr "Scegli un colore di evidenziazione del tracciato"
-#: ../src/vikwindow.c:3134
+#: ../src/vikwindow.c:3693
msgid "_File"
msgstr "_File"
-#: ../src/vikwindow.c:3135
+#: ../src/vikwindow.c:3694
msgid "_Edit"
msgstr "_Modifica"
-#: ../src/vikwindow.c:3136
-msgid "_View"
-msgstr "_Visualizza"
-
-#: ../src/vikwindow.c:3137
+#: ../src/vikwindow.c:3696
msgid "_Show"
msgstr "Mo_stra"
-#: ../src/vikwindow.c:3140
+#: ../src/vikwindow.c:3699
msgid "_Layers"
msgstr "_Livelli"
-#: ../src/vikwindow.c:3141
+#: ../src/vikwindow.c:3700
msgid "_Tools"
msgstr "S_trumenti"
-#: ../src/vikwindow.c:3142
+#: ../src/vikwindow.c:3701
msgid "_Webtools"
msgstr "_Strumenti Web"
-#: ../src/vikwindow.c:3143 ../src/vikwindow.c:3206
+#: ../src/vikwindow.c:3702 ../src/vikwindow.c:3763
msgid "_Help"
msgstr "Aiuto (_H)"
-#: ../src/vikwindow.c:3145
+#: ../src/vikwindow.c:3704
msgid "New file"
msgstr "Nuovo file"
-#: ../src/vikwindow.c:3146
+#: ../src/vikwindow.c:3705
msgid "_Open..."
msgstr "_Apri..."
-#: ../src/vikwindow.c:3146
+#: ../src/vikwindow.c:3705
msgid "Open a file"
msgstr "Apri un file"
-#: ../src/vikwindow.c:3147
+#: ../src/vikwindow.c:3706
msgid "Open _Recent File"
msgstr "Apri file _recente"
-#: ../src/vikwindow.c:3148
+#: ../src/vikwindow.c:3707
msgid "Append _File..."
msgstr "A_ppendi file..."
-#: ../src/vikwindow.c:3148
+#: ../src/vikwindow.c:3707
msgid "Append data from a different file"
msgstr "Appende i dati da un file differente"
-#: ../src/vikwindow.c:3149
+#: ../src/vikwindow.c:3708
+msgid "_Export All"
+msgstr ""
+
+#: ../src/vikwindow.c:3708
+msgid "Export All TrackWaypoint Layers"
+msgstr ""
+
+#: ../src/vikwindow.c:3709
+msgid "_GPX..."
+msgstr ""
+
+#: ../src/vikwindow.c:3709
+msgid "Export as GPX"
+msgstr ""
+
+#: ../src/vikwindow.c:3710
msgid "A_cquire"
msgstr "A_cquisisci"
-#: ../src/vikwindow.c:3150
+#: ../src/vikwindow.c:3711
msgid "Transfer data from a GPS device"
msgstr "Trasferisce i dati da un dispositivo GPS"
-#: ../src/vikwindow.c:3151
+#: ../src/vikwindow.c:3712
msgid "Import File With GPS_Babel..."
msgstr "Importa il File con GPS_Babel..."
-#: ../src/vikwindow.c:3151
+#: ../src/vikwindow.c:3712
msgid "Import file via GPSBabel converter"
msgstr "Importa il file con il convertitore GPSBabel"
-#: ../src/vikwindow.c:3153
-msgid "Google _Directions..."
-msgstr "Percorsi _di Google..."
+#: ../src/vikwindow.c:3713
+msgid "_Directions..."
+msgstr ""
-#: ../src/vikwindow.c:3153
-msgid "Get driving directions from Google"
-msgstr "Ottiene indicazioni di guida da Google"
+#: ../src/vikwindow.c:3713
+msgid "Get driving directions"
+msgstr ""
-#: ../src/vikwindow.c:3156
+#: ../src/vikwindow.c:3715
msgid "_OSM Traces..."
msgstr "Tracce _OSM"
-#: ../src/vikwindow.c:3156
+#: ../src/vikwindow.c:3715
msgid "Get traces from OpenStreetMap"
msgstr "Ottieni tracce da OpenStreetMap"
-#: ../src/vikwindow.c:3157
+#: ../src/vikwindow.c:3716
msgid "_My OSM Traces..."
msgstr ""
-#: ../src/vikwindow.c:3157
+#: ../src/vikwindow.c:3716
msgid "Get Your Own Traces from OpenStreetMap"
msgstr ""
-#: ../src/vikwindow.c:3160
+#: ../src/vikwindow.c:3719
msgid "Geo_caches..."
msgstr "Geo_caches"
-#: ../src/vikwindow.c:3160
+#: ../src/vikwindow.c:3719
msgid "Get Geocaches from geocaching.com"
msgstr "Ottieni Geocaches da geocaching.com"
-#: ../src/vikwindow.c:3163
+#: ../src/vikwindow.c:3722
msgid "Create waypoints from geotagged images"
msgstr "Crea i punti di transito dalle immagini georeferenziate"
-#: ../src/vikwindow.c:3166
+#: ../src/vikwindow.c:3725
msgid "Create waypoints from Wikipedia items in the current view"
msgstr ""
-#: ../src/vikwindow.c:3168
+#: ../src/vikwindow.c:3727
msgid "_Save"
msgstr "_Salva"
-#: ../src/vikwindow.c:3168
+#: ../src/vikwindow.c:3727
msgid "Save the file"
msgstr "Salva il file"
-#: ../src/vikwindow.c:3169
+#: ../src/vikwindow.c:3728
msgid "Save _As..."
msgstr "S_alva con nome..."
-#: ../src/vikwindow.c:3169
+#: ../src/vikwindow.c:3728
msgid "Save the file under different name"
msgstr "Salva il file con un nome differente"
-#: ../src/vikwindow.c:3170
+#: ../src/vikwindow.c:3729
+msgid "Properties..."
+msgstr ""
+
+#: ../src/vikwindow.c:3729
+msgid "File Properties"
+msgstr ""
+
+#: ../src/vikwindow.c:3730
msgid "_Generate Image File..."
msgstr "_Genera file immagine..."
-#: ../src/vikwindow.c:3170
+#: ../src/vikwindow.c:3730
msgid "Save a snapshot of the workspace into a file"
msgstr "Salva una schermata della pagina in un file"
-#: ../src/vikwindow.c:3171
+#: ../src/vikwindow.c:3731
msgid "Generate _Directory of Images..."
msgstr "Genera _cartella di immagini..."
-#: ../src/vikwindow.c:3171
+#: ../src/vikwindow.c:3731
msgid "FIXME:IMGDIR"
msgstr "FIXME:IMGDIR"
-#: ../src/vikwindow.c:3174
+#: ../src/vikwindow.c:3732
msgid "_Print..."
msgstr "Stam_pa"
-#: ../src/vikwindow.c:3174
+#: ../src/vikwindow.c:3732
msgid "Print maps"
msgstr "Stampa mappe"
-#: ../src/vikwindow.c:3177
+#: ../src/vikwindow.c:3733
msgid "E_xit"
msgstr "_Esci"
-#: ../src/vikwindow.c:3177
+#: ../src/vikwindow.c:3733
msgid "Exit the program"
msgstr "Esce dal programma"
-#: ../src/vikwindow.c:3178
+#: ../src/vikwindow.c:3734
msgid "Save and Exit"
msgstr "Salva ed esci"
-#: ../src/vikwindow.c:3178
+#: ../src/vikwindow.c:3734
msgid "Save and Exit the program"
msgstr "Salva ed esce dal programma"
-#: ../src/vikwindow.c:3180
+#: ../src/vikwindow.c:3736
msgid "Go to the _Default Location"
msgstr "Vai alla posizione pre_definita"
-#: ../src/vikwindow.c:3180
+#: ../src/vikwindow.c:3736
msgid "Go to the default location"
msgstr "Va alla posizione predefinita"
-#: ../src/vikwindow.c:3181
+#: ../src/vikwindow.c:3737
msgid "Go to _Location..."
msgstr "Vai alla _posizione..."
-#: ../src/vikwindow.c:3181
+#: ../src/vikwindow.c:3737
msgid "Go to address/place using text search"
msgstr "Va all'indirizzo/posizione usando la ricerca testuale"
-#: ../src/vikwindow.c:3182
+#: ../src/vikwindow.c:3738
msgid "_Go to Lat/Lon..."
msgstr "_Vai a Lat/Lon..."
-#: ../src/vikwindow.c:3182
+#: ../src/vikwindow.c:3738
msgid "Go to arbitrary lat/lon coordinate"
msgstr "Va alle coordinate lat/lon arbitrarie"
-#: ../src/vikwindow.c:3183
+#: ../src/vikwindow.c:3739
msgid "Go to UTM..."
msgstr "Vai a UTM..."
-#: ../src/vikwindow.c:3183
+#: ../src/vikwindow.c:3739
msgid "Go to arbitrary UTM coordinate"
msgstr "Va alle coordinate UTM arbitrarie"
-#: ../src/vikwindow.c:3184
+#: ../src/vikwindow.c:3740
msgid "_Refresh"
msgstr ""
-#: ../src/vikwindow.c:3184
+#: ../src/vikwindow.c:3740
msgid "Refresh any maps displayed"
msgstr ""
-#: ../src/vikwindow.c:3185
+#: ../src/vikwindow.c:3741
msgid "Set _Highlight Color..."
msgstr "Imposta il Colore di Evidenziazione (_H)..."
-#: ../src/vikwindow.c:3186
+#: ../src/vikwindow.c:3742
msgid "Set Bac_kground Color..."
msgstr "Imposta colore dello s_fondo"
-#: ../src/vikwindow.c:3187
+#: ../src/vikwindow.c:3743
msgid "Zoom _In"
msgstr "Aumenta _ingrandimento"
-#: ../src/vikwindow.c:3188
+#: ../src/vikwindow.c:3744
msgid "Zoom _Out"
msgstr "Riduci ingrandiment_o"
-#: ../src/vikwindow.c:3189
+#: ../src/vikwindow.c:3745
msgid "Zoom _To..."
msgstr "Ingran_disci a..."
-#: ../src/vikwindow.c:3190
+#: ../src/vikwindow.c:3746
msgid "Pan _North"
msgstr "Pan _Nord"
-#: ../src/vikwindow.c:3191
+#: ../src/vikwindow.c:3747
msgid "Pan _East"
msgstr "Pan _Est"
-#: ../src/vikwindow.c:3192
+#: ../src/vikwindow.c:3748
msgid "Pan _South"
msgstr "Pan _Sud"
-#: ../src/vikwindow.c:3193
+#: ../src/vikwindow.c:3749
msgid "Pan _West"
msgstr "Pan Ovest (_W)"
-#: ../src/vikwindow.c:3194
+#: ../src/vikwindow.c:3750
msgid "Background _Jobs"
msgstr "_Lavori in background"
-#: ../src/vikwindow.c:3196
+#: ../src/vikwindow.c:3752
msgid "Cu_t"
msgstr "_Taglia"
-#: ../src/vikwindow.c:3197
-msgid "_Copy"
-msgstr "_Copia"
-
-#: ../src/vikwindow.c:3198
-msgid "_Paste"
-msgstr "Inco_lla"
-
-#: ../src/vikwindow.c:3199
-msgid "_Delete"
-msgstr "_Elimina"
-
-#: ../src/vikwindow.c:3200
+#: ../src/vikwindow.c:3756
msgid "Delete All"
msgstr "Elimina tutto"
-#: ../src/vikwindow.c:3201
+#: ../src/vikwindow.c:3757
msgid "_Flush Map Cache"
msgstr "Aggiorna la cache della mappe"
-#: ../src/vikwindow.c:3202
+#: ../src/vikwindow.c:3758
msgid "_Set the Default Location"
msgstr "Imposta la posizione p_redefinita"
-#: ../src/vikwindow.c:3202
+#: ../src/vikwindow.c:3758
msgid "Set the Default Location to the current position"
msgstr "Imposta la posizione predefinita alla posizione corrente"
-#: ../src/vikwindow.c:3203
+#: ../src/vikwindow.c:3759
msgid "_Preferences"
msgstr "_Preferenze"
-#: ../src/vikwindow.c:3204
+#: ../src/vikwindow.c:3760
+msgid "_Layer Defaults"
+msgstr ""
+
+#: ../src/vikwindow.c:3761
msgid "_Properties"
msgstr "_Proprietà"
-#: ../src/vikwindow.c:3207
+#: ../src/vikwindow.c:3764
msgid "_About"
msgstr "Inform_azioni"
-#: ../src/vikwindow.c:3213
+#: ../src/vikwindow.c:3768
+msgid "_KML..."
+msgstr ""
+
+#: ../src/vikwindow.c:3768
+msgid "Export as KML"
+msgstr ""
+
+#: ../src/vikwindow.c:3774
msgid "_UTM Mode"
msgstr "Modalità _UTM"
-#: ../src/vikwindow.c:3214
+#: ../src/vikwindow.c:3775
msgid "_Expedia Mode"
msgstr "Modalità _Expedia"
-#: ../src/vikwindow.c:3215
+#: ../src/vikwindow.c:3776
msgid "_Mercator Mode"
msgstr "Modalità _Mercatore"
-#: ../src/vikwindow.c:3216
+#: ../src/vikwindow.c:3777
msgid "Lat_/Lon Mode"
msgstr "Modalità Lat_/Lon"
-#: ../src/vikwindow.c:3220
+#: ../src/vikwindow.c:3781
msgid "Show _Scale"
msgstr "Mostra _scala"
-#: ../src/vikwindow.c:3220
+#: ../src/vikwindow.c:3781
msgid "Show Scale"
msgstr "Mostra la scala"
-#: ../src/vikwindow.c:3221
+#: ../src/vikwindow.c:3782
msgid "Show _Center Mark"
msgstr "Mostra il Marcatore _Centrale"
-#: ../src/vikwindow.c:3221
+#: ../src/vikwindow.c:3782
msgid "Show Center Mark"
msgstr "Mostra segnale centrale"
-#: ../src/vikwindow.c:3222
+#: ../src/vikwindow.c:3783
msgid "Show _Highlight"
msgstr "Mostra Evidenziazione (_H)"
-#: ../src/vikwindow.c:3222
+#: ../src/vikwindow.c:3783
msgid "Show Highlight"
msgstr "Mostra Evidenziazione"
-#: ../src/vikwindow.c:3223
+#: ../src/vikwindow.c:3784
msgid "_Full Screen"
msgstr "Sc_hermo intero"
-#: ../src/vikwindow.c:3223
+#: ../src/vikwindow.c:3784
msgid "Activate full screen mode"
msgstr "Attiva la modalità a schermo intero"
-#: ../src/vikwindow.c:3224
+#: ../src/vikwindow.c:3785
msgid "Show Side _Panel"
msgstr "Mostra _pannello laterale"
-#: ../src/vikwindow.c:3224
+#: ../src/vikwindow.c:3785
msgid "Show Side Panel"
msgstr "Mostra il pannello laterale"
-#: ../src/vikwindow.c:3225
+#: ../src/vikwindow.c:3786
msgid "Show Status_bar"
msgstr "Mostra _barra di stato"
-#: ../src/vikwindow.c:3225
+#: ../src/vikwindow.c:3786
msgid "Show Statusbar"
msgstr "Mostra la barra di stato"
-#: ../src/vikwindow.c:3226
+#: ../src/vikwindow.c:3787
msgid "Show _Toolbar"
msgstr "Mostra barra s_trumenti"
-#: ../src/vikwindow.c:3226
+#: ../src/vikwindow.c:3787
msgid "Show Toolbar"
msgstr "Mostra la barra degli strumenti"
-#: ../src/vikwindow.c:3227
+#: ../src/vikwindow.c:3788
msgid "Show _Menu"
msgstr "Mostra _menu"
-#: ../src/vikwindow.c:3227
+#: ../src/vikwindow.c:3788
msgid "Show Menu"
msgstr "Mostra il menu"
+#: ../src/vikwindow.c:3862
+#, c-format
+msgid "New _%s Layer"
+msgstr ""
+
#: ../src/viking.desktop.in.h:2
msgid "GPS Data Manager"
msgstr "Gestore dati GPS"
diff --git a/po/ja.po b/po/ja.po
index 1896270..ca309d3 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: viking\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-02-04 23:29+0100\n"
+"POT-Creation-Date: 2013-09-03 21:58+0200\n"
"PO-Revision-Date: 2010-09-07 09:24+0000\n"
"Last-Translator: Guilhem Bonnefille <guilhem.bonnefille@gmail.com>\n"
"Language-Team: Japanese <ja@li.org>\n"
@@ -15,60 +15,60 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Launchpad-Export-Date: 2013-03-23 17:12+0000\n"
-"X-Generator: Launchpad (build 16540)\n"
+"X-Launchpad-Export-Date: 2013-10-12 09:04+0000\n"
+"X-Generator: Launchpad (build 16799)\n"
"Language: ja\n"
-#: ../src/acquire.c:103 ../src/vikgpslayer.c:1185
+#: ../src/acquire.c:103 ../src/vikgpslayer.c:1235
msgid "Done."
msgstr "完了。"
-#: ../src/acquire.c:114
+#: ../src/acquire.c:112
msgid "No data."
msgstr ""
-#: ../src/acquire.c:154 ../src/acquire.c:404
+#: ../src/acquire.c:154 ../src/acquire.c:424
msgid "Error: acquisition failed."
msgstr "エラー: 取得失敗。"
-#: ../src/acquire.c:341
+#: ../src/acquire.c:352
msgid "Working..."
msgstr "処理中..."
#. This shouldn't happen...
-#: ../src/acquire.c:394
+#: ../src/acquire.c:415
msgid ""
"Unable to create command\n"
"Acquire method failed."
msgstr ""
-#: ../src/acquire.c:486
+#: ../src/acquire.c:517
msgid "_Filter"
msgstr ""
-#: ../src/acquire.c:501
+#: ../src/acquire.c:532
#, c-format
msgid "Filter with %s"
msgstr ""
-#: ../src/acquire.c:518
+#: ../src/acquire.c:549
msgid "Filter"
msgstr ""
-#: ../src/background.c:52
+#: ../src/background.c:53
#, c-format
msgid "%d items"
msgstr ""
-#: ../src/background.c:248
+#: ../src/background.c:254
msgid "Job"
msgstr "ジョブ"
-#: ../src/background.c:252
+#: ../src/background.c:258
msgid "Progress"
msgstr "進捗状況"
-#: ../src/background.c:268
+#: ../src/background.c:274
msgid "Viking Background Jobs"
msgstr "Viking バックグラウンドジョブ"
@@ -77,7 +77,7 @@ msgid "Bing"
msgstr ""
#. VIK_GTK_WINDOW_FROM_WIDGET(vp)
-#: ../src/bingmapsource.c:445
+#: ../src/bingmapsource.c:499
msgid "Bing attribution Loading"
msgstr ""
@@ -102,35 +102,35 @@ msgid ""
"into."
msgstr ""
-#: ../src/dialog.c:52
+#: ../src/dialog.c:53
msgid "Go to Lat/Lon"
msgstr ""
-#: ../src/dialog.c:64 ../src/dialog.c:251
+#: ../src/dialog.c:65 ../src/dialog.c:244
msgid "Latitude:"
msgstr "緯度:"
-#: ../src/dialog.c:70 ../src/dialog.c:256
+#: ../src/dialog.c:71 ../src/dialog.c:249
msgid "Longitude:"
msgstr "経度:"
-#: ../src/dialog.c:102
+#: ../src/dialog.c:103
msgid "Go to UTM"
msgstr ""
-#: ../src/dialog.c:115
+#: ../src/dialog.c:116
msgid "Northing:"
msgstr ""
-#: ../src/dialog.c:121
+#: ../src/dialog.c:122
msgid "Easting:"
msgstr ""
-#: ../src/dialog.c:128
+#: ../src/dialog.c:129
msgid "Zone:"
msgstr ""
-#: ../src/dialog.c:131
+#: ../src/dialog.c:132
msgid "Letter:"
msgstr "レター:"
@@ -138,105 +138,109 @@ msgstr "レター:"
msgid "Waypoint Properties"
msgstr ""
-#: ../src/dialog.c:233
+#: ../src/dialog.c:235
msgid "Name:"
msgstr "名前:"
-#: ../src/dialog.c:261
+#: ../src/dialog.c:254
msgid "Altitude:"
msgstr "高度:"
-#: ../src/dialog.c:266
+#: ../src/dialog.c:259
msgid "Comment:"
msgstr "コメント:"
-#: ../src/dialog.c:274 ../src/osm-traces.c:437
+#: ../src/dialog.c:267 ../src/osm-traces.c:445
msgid "Description:"
msgstr "説明:"
-#: ../src/dialog.c:277
+#: ../src/dialog.c:270
msgid "Image:"
msgstr "画像:"
-#: ../src/dialog.c:282
+#: ../src/dialog.c:275
msgid "Symbol:"
msgstr ""
-#: ../src/dialog.c:291
+#: ../src/dialog.c:284
msgid "(none)"
msgstr "(なし)"
+#: ../src/dialog.c:326
+msgid "Time:"
+msgstr ""
+
#. TODO: other checks (isalpha or whatever )
-#: ../src/dialog.c:356
+#: ../src/dialog.c:363
msgid "Please enter a name for the waypoint."
msgstr ""
-#: ../src/dialog.c:529 ../src/geonamessearch.c:243
+#: ../src/dialog.c:502 ../src/geonamessearch.c:244
#: ../src/datasource_osm_my_traces.c:507
msgid "Nothing was selected"
msgstr ""
-#: ../src/dialog.c:537
+#: ../src/dialog.c:510
msgid "Add Route"
msgstr ""
-#: ../src/dialog.c:537
+#: ../src/dialog.c:510
msgid "Add Track"
msgstr ""
-#: ../src/dialog.c:545
+#: ../src/dialog.c:518
msgid "Route Name:"
msgstr ""
-#: ../src/dialog.c:545
+#: ../src/dialog.c:518
msgid "Track Name:"
msgstr ""
-#: ../src/dialog.c:565
+#: ../src/dialog.c:538
msgid "Please enter a name for the track."
msgstr ""
-#: ../src/dialog.c:623
+#: ../src/dialog.c:596
msgid "Zoom Factors..."
msgstr ""
-#: ../src/dialog.c:637
+#: ../src/dialog.c:610
msgid "Zoom factor (in meters per pixel):"
msgstr ""
-#: ../src/dialog.c:638
+#: ../src/dialog.c:611
msgid "X (easting): "
msgstr ""
-#: ../src/dialog.c:639
+#: ../src/dialog.c:612
msgid "Y (northing): "
msgstr ""
-#: ../src/dialog.c:644
+#: ../src/dialog.c:617
msgid "X and Y zoom factors must be equal"
msgstr ""
-#: ../src/dialog.c:699
+#: ../src/dialog.c:672
msgid "1 min"
msgstr "1分"
-#: ../src/dialog.c:700
+#: ../src/dialog.c:673
msgid "1 hour"
msgstr "1 時間"
-#: ../src/dialog.c:701
+#: ../src/dialog.c:674
msgid "1 day"
msgstr "1日"
-#: ../src/dialog.c:702
+#: ../src/dialog.c:675
msgid "Custom (in minutes):"
msgstr ""
-#: ../src/dialog.c:808
+#: ../src/dialog.c:786
msgid "GPS Data and Topo Analyzer, Explorer, and Manager."
msgstr ""
-#: ../src/dialog.c:809
+#: ../src/dialog.c:787
msgid ""
"This program is free software; you can redistribute it and/or modify it "
"under the terms of the GNU General Public License as published by the Free "
@@ -253,28 +257,28 @@ msgid ""
"Place, Suite 330, Boston, MA 02111-1307, USA"
msgstr ""
-#: ../src/dialog.c:837
+#: ../src/dialog.c:852
msgid "Translation is coordinated on http://launchpad.net/viking"
msgstr ""
-#: ../src/dialog.c:845
+#: ../src/dialog.c:861
msgid "Download along track"
msgstr ""
-#: ../src/dialog.c:851
+#: ../src/dialog.c:868
msgid "Map type:"
msgstr "マップタイプ:"
-#: ../src/dialog.c:856
+#: ../src/dialog.c:874
msgid "Zoom level:"
msgstr "ズームレベル:"
-#: ../src/dialog.c:896
+#: ../src/dialog.c:914
#, c-format
msgid "The map data is licensed: %s."
msgstr ""
-#: ../src/dialog.c:899
+#: ../src/dialog.c:917
#, c-format
msgid ""
"The data provided by '<b>%s</b>' are licensed under the following license: "
@@ -282,7 +286,7 @@ msgid ""
"Please, read the license before continuing."
msgstr ""
-#: ../src/dialog.c:904
+#: ../src/dialog.c:922
msgid "Open license"
msgstr ""
@@ -327,7 +331,8 @@ msgstr ""
#. NB could allow columns to be shifted around by doing this after each new
#. gtk_tree_view_column_set_reorderable ( column, TRUE );
#. However I don't think is that useful, so I haven't put it in
-#: ../src/geonamessearch.c:177 ../src/datasource_osm_my_traces.c:425
+#: ../src/geonamessearch.c:177 ../src/datasource_osm_my_traces.c:424
+#: ../src/viktrwlayer_tracklist.c:521
msgid "Name"
msgstr ""
@@ -335,82 +340,192 @@ msgstr ""
msgid "Feature"
msgstr ""
-#: ../src/geonamessearch.c:187 ../src/datasource_osm_my_traces.c:440
+#: ../src/geonamessearch.c:187 ../src/datasource_osm_my_traces.c:439
msgid "Lat/Lon"
msgstr ""
-#: ../src/geonamessearch.c:269 ../src/googlesearch.c:100
+#: ../src/geonamessearch.c:270 ../src/googlesearch.c:100 ../src/vikgoto.c:306
msgid "couldn't map temp file"
msgstr ""
-#: ../src/globals.c:44
+#: ../src/globals.c:73
+msgid "Absolute"
+msgstr ""
+
+#: ../src/globals.c:73
+msgid "Relative"
+msgstr ""
+
+#: ../src/globals.c:76
msgid "Degree format:"
msgstr ""
-#: ../src/globals.c:48
+#: ../src/globals.c:77
msgid "Distance units:"
msgstr ""
-#: ../src/globals.c:52
+#: ../src/globals.c:78
msgid "Speed units:"
msgstr ""
-#: ../src/globals.c:56
+#: ../src/globals.c:79
msgid "Height units:"
msgstr ""
-#: ../src/globals.c:60
+#: ../src/globals.c:80
msgid "Use large waypoint icons:"
msgstr ""
-#: ../src/globals.c:64
+#: ../src/globals.c:81
msgid "Default latitude:"
msgstr ""
-#: ../src/globals.c:67
+#: ../src/globals.c:82
msgid "Default longitude:"
msgstr ""
-#: ../src/globals.c:73
+#: ../src/globals.c:88
msgid "Alphabetical"
msgstr ""
-#: ../src/globals.c:73 ../src/datasource_osm_my_traces.c:435
+#: ../src/globals.c:88 ../src/datasource_osm_my_traces.c:434
msgid "Time"
msgstr ""
-#: ../src/globals.c:76
+#: ../src/globals.c:88
+msgid "Creation"
+msgstr ""
+
+#: ../src/globals.c:89
+msgid "Title Case"
+msgstr ""
+
+#: ../src/globals.c:89
+msgid "Lowercase"
+msgstr ""
+
+#: ../src/globals.c:92
msgid "KML File Export Units:"
msgstr ""
-#: ../src/globals.c:77
+#: ../src/globals.c:93
msgid "GPX Track Order:"
msgstr ""
-#: ../src/globals.c:82
+#: ../src/globals.c:94
+msgid "GPX Waypoint Symbols:"
+msgstr ""
+
+#: ../src/globals.c:95
+msgid ""
+"Save GPX Waypoint Symbol names in the specified case. May be useful for "
+"compatibility with various devices"
+msgstr ""
+
+#: ../src/globals.c:100
msgid "Image Viewer:"
msgstr ""
-#: ../src/globals.c:87
+#: ../src/globals.c:105
msgid "External GPX Program 1:"
msgstr ""
-#: ../src/globals.c:88
+#: ../src/globals.c:106
msgid "External GPX Program 2:"
msgstr ""
+#: ../src/globals.c:110
+msgid "Save File Reference Mode:"
+msgstr ""
+
+#: ../src/globals.c:111
+msgid ""
+"When saving a Viking .vik file, this determines how the directory paths of "
+"filenames are written."
+msgstr ""
+
+#: ../src/globals.c:112
+msgid "Show Tooltip during Track Creation:"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Home Location"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Last Location"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Specified File"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Auto Location"
+msgstr ""
+
+#: ../src/globals.c:118
+msgid "Restore Window Setup:"
+msgstr ""
+
+#: ../src/globals.c:119
+msgid "Restore window size and layout"
+msgstr ""
+
+#: ../src/globals.c:120
+msgid "Add a Default Map Layer:"
+msgstr ""
+
+#: ../src/globals.c:121
+msgid ""
+"The default map layer added is defined by the Layer Defaults. Use the menu "
+"Edit->Layer Defaults->Map... to change the map type and other values."
+msgstr ""
+
+#: ../src/globals.c:122
+msgid "Startup Method:"
+msgstr ""
+
+#: ../src/globals.c:123
+msgid "Startup File:"
+msgstr ""
+
+#: ../src/globals.c:124
+msgid ""
+"The default file to load on startup. Only applies when the startup method is "
+"set to 'Specified File'"
+msgstr ""
+
+#: ../src/globals.c:125
+msgid "Check For New Version:"
+msgstr ""
+
+#: ../src/globals.c:126
+msgid "Periodically check to see if a new version of Viking is available"
+msgstr ""
+
#. Defaults for the options are setup here
-#: ../src/globals.c:96
+#: ../src/globals.c:163
msgid "General"
msgstr ""
#. New Tab
-#: ../src/globals.c:121
+#: ../src/globals.c:188
+msgid "Startup"
+msgstr ""
+
+#. New Tab
+#: ../src/globals.c:206
msgid "Export/External"
msgstr ""
+#. 'Advanced' Properties
+#: ../src/globals.c:230
+msgid "Advanced"
+msgstr ""
+
#. Webtools
-#: ../src/google.c:36
+#: ../src/google.c:38
msgid "Google"
msgstr ""
@@ -423,24 +538,24 @@ msgid "Imported file"
msgstr ""
#. The file selector
-#: ../src/datasource_file.c:133
+#: ../src/datasource_file.c:127
msgid "File:"
msgstr ""
-#: ../src/datasource_file.c:134
+#: ../src/datasource_file.c:128
msgid "File to import"
msgstr ""
-#: ../src/datasource_file.c:141
+#: ../src/datasource_file.c:135
msgid "All files"
msgstr ""
#. The file format selector
-#: ../src/datasource_file.c:148
+#: ../src/datasource_file.c:142
msgid "File type:"
msgstr ""
-#: ../src/datasource_file.c:193
+#: ../src/datasource_file.c:184
#, c-format
msgid "using babel args '%s' and file '%s'"
msgstr ""
@@ -453,29 +568,29 @@ msgstr ""
msgid "Geocaching.com Caches"
msgstr ""
-#: ../src/datasource_gc.c:84
+#: ../src/datasource_gc.c:85
msgid "geocaching.com username:"
msgstr ""
-#: ../src/datasource_gc.c:85
+#: ../src/datasource_gc.c:86
msgid "geocaching.com password:"
msgstr ""
-#: ../src/datasource_gc.c:126
+#: ../src/datasource_gc.c:127
#, c-format
msgid ""
"Can't find %s or %s in path! Check that you have installed it correctly."
msgstr ""
-#: ../src/datasource_gc.c:188
+#: ../src/datasource_gc.c:189
msgid "Number geocaches:"
msgstr ""
-#: ../src/datasource_gc.c:190
+#: ../src/datasource_gc.c:191
msgid "Centered around:"
msgstr ""
-#: ../src/datasource_gc.c:226
+#: ../src/datasource_gc.c:230
msgid "Broken input - using some defaults"
msgstr ""
@@ -487,116 +602,107 @@ msgstr ""
msgid "Geotagged Images"
msgstr ""
-#: ../src/datasource_geotag.c:102 ../src/vikwindow.c:2314
-#: ../src/vikwindow.c:2382 ../src/vikwindow.c:2824
+#: ../src/datasource_geotag.c:102 ../src/vikwindow.c:2655
+#: ../src/vikwindow.c:2729 ../src/vikwindow.c:3380
msgid "All"
msgstr ""
-#: ../src/datasource_geotag.c:107 ../src/vikwindow.c:2829
+#: ../src/datasource_geotag.c:107 ../src/vikwindow.c:3385
msgid "JPG"
msgstr ""
-#: ../src/datasource_geotag.c:165
+#: ../src/datasource_geotag.c:168
#, c-format
msgid "Unable to create waypoint from %s"
msgstr ""
-#: ../src/datasource_google.c:49 ../src/datasource_google.c:50
-msgid "Google Directions"
-msgstr ""
-
-#: ../src/datasource_google.c:77
-msgid "From:"
-msgstr ""
-
-#: ../src/datasource_google.c:79
-msgid "To:"
-msgstr ""
-
-#: ../src/datasource_gps.c:57
+#: ../src/datasource_gps.c:54
msgid "Acquire from GPS"
msgstr ""
-#: ../src/datasource_gps.c:58
+#: ../src/datasource_gps.c:55
msgid "Acquired from GPS"
msgstr ""
-#: ../src/datasource_gps.c:221
+#: ../src/datasource_gps.c:245
#, c-format
msgid "using cmdline '%s' and file '%s'\n"
msgstr ""
-#: ../src/datasource_gps.c:297 ../src/vikgpslayer.c:884
+#: ../src/datasource_gps.c:327 ../src/vikgpslayer.c:934
#, c-format
msgid "Downloading %d waypoint..."
msgid_plural "Downloading %d waypoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/datasource_gps.c:298 ../src/vikgpslayer.c:885
+#: ../src/datasource_gps.c:328 ../src/vikgpslayer.c:935
#, c-format
msgid "Downloading %d trackpoint..."
msgid_plural "Downloading %d trackpoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/datasource_gps.c:303 ../src/vikgpslayer.c:890
+#: ../src/datasource_gps.c:333 ../src/vikgpslayer.c:940
#, c-format
msgid "Downloading %d routepoint..."
msgid_plural "Downloading %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/datasource_gps.c:325 ../src/datasource_gps.c:326
-#: ../src/datasource_gps.c:327
+#: ../src/datasource_gps.c:355 ../src/datasource_gps.c:356
+#: ../src/datasource_gps.c:357
#, c-format
msgid "Downloaded %d out of %d %s..."
msgstr ""
-#: ../src/datasource_gps.c:331 ../src/datasource_gps.c:332
-#: ../src/datasource_gps.c:333
+#: ../src/datasource_gps.c:361 ../src/datasource_gps.c:362
+#: ../src/datasource_gps.c:363
#, c-format
msgid "Downloaded %d %s."
msgstr ""
-#: ../src/datasource_gps.c:347 ../src/vikgpslayer.c:968
+#: ../src/datasource_gps.c:377 ../src/vikgpslayer.c:1018
#, c-format
msgid "GPS Device: %s"
msgstr ""
-#: ../src/datasource_gps.c:370 ../src/vikgpslayer.c:1042
-#: ../src/vikgpslayer.c:1110
+#: ../src/datasource_gps.c:400 ../src/vikgpslayer.c:1092
+#: ../src/vikgpslayer.c:1160
msgid "Status: Working..."
msgstr ""
-#: ../src/datasource_gps.c:469 ../src/vikgpslayer.c:150
+#. NB gps_layer_inst_init() is performed after parameter registeration
+#. thus to give the protocols some potential values use the old static list
+#. TODO: find another way to use gps_layer_inst_init()?
+#: ../src/datasource_gps.c:500 ../src/vikgpslayer.c:207
msgid "GPS Protocol:"
msgstr ""
-#. List now assigned at runtime
-#: ../src/datasource_gps.c:488 ../src/vikgpslayer.c:151
+#. List reassigned at runtime
+#: ../src/datasource_gps.c:526 ../src/vikgpslayer.c:208
msgid "Serial Port:"
msgstr ""
-#: ../src/datasource_gps.c:509
+#: ../src/datasource_gps.c:576
msgid ""
"Turn Off After Transfer\n"
"(Garmin/NAViLink Only)"
msgstr ""
-#: ../src/datasource_gps.c:512
+#: ../src/datasource_gps.c:583
msgid "Tracks:"
msgstr ""
-#: ../src/datasource_gps.c:516
+#: ../src/datasource_gps.c:590
msgid "Routes:"
msgstr ""
-#: ../src/datasource_gps.c:520
+#: ../src/datasource_gps.c:597
msgid "Waypoints:"
msgstr ""
-#: ../src/datasource_gps.c:594 ../src/vikgpslayer.c:1305
+#: ../src/datasource_gps.c:675 ../src/vikgpslayer.c:1355
msgid "GPS device: N/A"
msgstr ""
@@ -604,39 +710,39 @@ msgstr ""
msgid "OSM traces"
msgstr ""
-#: ../src/datasource_osm.c:80
+#: ../src/datasource_osm.c:82
msgid "Page number:"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:63 ../src/datasource_osm_my_traces.c:64
+#: ../src/datasource_osm_my_traces.c:59 ../src/datasource_osm_my_traces.c:60
msgid "OSM My Traces"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:108
+#: ../src/datasource_osm_my_traces.c:104
msgid "Username:"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:113
+#: ../src/datasource_osm_my_traces.c:109
msgid "The email or username used to login to OSM"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:115 ../src/osm-traces.c:413
+#: ../src/datasource_osm_my_traces.c:111 ../src/osm-traces.c:421
msgid "Password:"
msgstr "パスワード:"
-#: ../src/datasource_osm_my_traces.c:120
+#: ../src/datasource_osm_my_traces.c:114
msgid "The password used to login to OSM"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:430
+#: ../src/datasource_osm_my_traces.c:429
msgid "Description"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:445
+#: ../src/datasource_osm_my_traces.c:444
msgid "Privacy"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:452
+#: ../src/datasource_osm_my_traces.c:451
msgid "Within Current View"
msgstr ""
@@ -648,15 +754,33 @@ msgstr ""
msgid "None found!"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:629
+#: ../src/datasource_osm_my_traces.c:634
msgid "My OSM Traces"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:645
+#: ../src/datasource_osm_my_traces.c:649
#, c-format
msgid "Unable to get trace: %s"
msgstr ""
+#: ../src/datasource_routing.c:53 ../src/datasource_routing.c:54
+msgid "Directions"
+msgstr ""
+
+#. Engine selector
+#: ../src/datasource_routing.c:83
+msgid "Engine:"
+msgstr ""
+
+#. From and To entries
+#: ../src/datasource_routing.c:88
+msgid "From:"
+msgstr ""
+
+#: ../src/datasource_routing.c:90
+msgid "To:"
+msgstr ""
+
#: ../src/datasource_wikipedia.c:32
msgid "Create Waypoints from Wikipedia Articles"
msgstr ""
@@ -677,174 +801,185 @@ msgstr ""
msgid "Incorrect DEM Class B record: expected 1"
msgstr ""
-#: ../src/dem.c:360
+#: ../src/dem.c:288 ../src/download.c:170
#, c-format
msgid "Couldn't map file %s: %s"
msgstr ""
-#: ../src/download.c:112
-msgid "Tile age (s):"
+#: ../src/download.c:130
+msgid "Tile age (days):"
msgstr ""
-#: ../src/download.c:233
+#: ../src/download.c:321
#, c-format
msgid "Download error: %s"
msgstr ""
-#: ../src/download.c:313
+#: ../src/download.c:404
msgid "couldn't open temp file"
msgstr ""
-#: ../src/file.c:456 ../src/file.c:461
+#: ../src/file.c:451 ../src/file.c:456
#, c-format
msgid "Draw mode '%s' no more supported"
msgstr ""
-#: ../src/geotag_exif.c:433
+#: ../src/geotag_exif.c:421
msgid "Not enough memory."
msgstr ""
-#: ../src/geotag_exif.c:451
+#: ../src/geotag_exif.c:439
msgid "Setting a value for this tag is unsupported!"
msgstr ""
-#: ../src/geotag_exif.c:470
+#: ../src/geotag_exif.c:458
#, c-format
msgid "Too few components specified (need %d, found %d)\n"
msgstr ""
-#: ../src/geotag_exif.c:474
+#: ../src/geotag_exif.c:462
msgid "Numeric value expected\n"
msgstr ""
-#: ../src/geotag_exif.c:482
+#: ../src/geotag_exif.c:470
msgid "This shouldn't happen!"
msgstr ""
-#: ../src/geotag_exif.c:552
+#: ../src/geotag_exif.c:540
msgid "Not yet implemented!"
msgstr ""
-#: ../src/geotag_exif.c:565
+#: ../src/geotag_exif.c:553
msgid "Warning; Too many components specified!"
msgstr ""
-#: ../src/osm-traces.c:73
+#: ../src/osm-traces.c:76
msgid "Identifiable (public w/ timestamps)"
msgstr ""
-#: ../src/osm-traces.c:74
+#: ../src/osm-traces.c:77
msgid "Trackable (private w/ timestamps)"
msgstr ""
-#: ../src/osm-traces.c:75
+#: ../src/osm-traces.c:78
msgid "Public"
msgstr "公開"
-#: ../src/osm-traces.c:76
+#: ../src/osm-traces.c:79
msgid "Private"
msgstr ""
-#: ../src/osm-traces.c:93
+#: ../src/osm-traces.c:97
msgid "OSM username:"
msgstr ""
-#: ../src/osm-traces.c:94
+#: ../src/osm-traces.c:98
msgid "OSM password:"
msgstr ""
#. Preferences
-#: ../src/osm-traces.c:151
+#: ../src/osm-traces.c:155
msgid "OpenStreetMap Traces"
msgstr ""
-#: ../src/osm-traces.c:234
+#: ../src/osm-traces.c:238
#, c-format
msgid "failed to upload data: HTTP response is %ld"
msgstr ""
-#: ../src/osm-traces.c:239
+#: ../src/osm-traces.c:243
#, c-format
msgid "curl_easy_getinfo failed: %d"
msgstr ""
-#: ../src/osm-traces.c:244
+#: ../src/osm-traces.c:248
#, c-format
msgid "curl request failed: %s"
msgstr ""
-#: ../src/osm-traces.c:275
+#: ../src/osm-traces.c:279
#, c-format
msgid "failed to open temporary file: %s"
msgstr ""
#. Success
-#: ../src/osm-traces.c:328
+#: ../src/osm-traces.c:340
msgid "Uploaded to OSM"
msgstr ""
-#: ../src/osm-traces.c:332
+#: ../src/osm-traces.c:344
msgid "FAILED TO UPLOAD DATA TO OSM - CURL PROBLEM"
msgstr ""
-#: ../src/osm-traces.c:335
+#: ../src/osm-traces.c:347
msgid "FAILED TO UPLOAD DATA TO OSM"
msgstr ""
-#: ../src/osm-traces.c:335
+#: ../src/osm-traces.c:347
msgid "HTTP response code"
msgstr ""
-#: ../src/osm-traces.c:348
+#: ../src/osm-traces.c:355
#, c-format
msgid "failed to unlink temporary file: %s"
msgstr ""
-#: ../src/osm-traces.c:387
+#: ../src/osm-traces.c:394
msgid "OSM upload"
msgstr ""
-#: ../src/osm-traces.c:405
+#: ../src/osm-traces.c:413
msgid "Email:"
msgstr "Eメール:"
-#: ../src/osm-traces.c:410
+#: ../src/osm-traces.c:418
msgid ""
"The email used as login\n"
"<small>Enter the email you use to login into www.openstreetmap.org.</small>"
msgstr ""
-#: ../src/osm-traces.c:418
+#: ../src/osm-traces.c:426
msgid ""
"The password used to login\n"
"<small>Enter the password you use to login into "
"www.openstreetmap.org.</small>"
msgstr ""
-#: ../src/osm-traces.c:423
+#: ../src/osm-traces.c:431
msgid "File's name:"
msgstr ""
-#: ../src/osm-traces.c:433
+#: ../src/osm-traces.c:441
msgid ""
"The name of the file on OSM\n"
"<small>This is the name of the file created on the server.This is not the "
"name of the local file.</small>"
msgstr ""
-#: ../src/osm-traces.c:442
+#: ../src/osm-traces.c:450
msgid "The description of the trace"
msgstr ""
-#: ../src/osm-traces.c:444
+#: ../src/osm-traces.c:453
+msgid "Anonymize Times:"
+msgstr ""
+
+#: ../src/osm-traces.c:458
+msgid ""
+"Anonymize times of the trace.\n"
+"<small>You may choose to make the trace identifiable, yet mask the actual "
+"real time values</small>"
+msgstr ""
+
+#: ../src/osm-traces.c:462
msgid "Tags:"
msgstr "タグ:"
-#: ../src/osm-traces.c:449
+#: ../src/osm-traces.c:467
msgid "The tags associated to the trace"
msgstr ""
-#: ../src/osm-traces.c:482
+#: ../src/osm-traces.c:529
#, c-format
msgid "Uploading %s to OSM"
msgstr ""
@@ -853,69 +988,88 @@ msgstr ""
msgid "Map cache memory size (MB):"
msgstr ""
-#: ../src/print.c:53
+#: ../src/print.c:51 ../src/viktrwlayer.c:509
msgid "None"
msgstr "なし"
-#: ../src/print.c:54
+#: ../src/print.c:52
msgid "Horizontally"
msgstr "水平方向"
-#: ../src/print.c:55
+#: ../src/print.c:53
msgid "Vertically"
msgstr "垂直方向"
-#: ../src/print.c:56
+#: ../src/print.c:54
msgid "Both"
msgstr "両方"
-#: ../src/print.c:120
+#: ../src/print.c:118
msgid "Image Settings"
msgstr "画像の設定"
-#: ../src/print.c:546
+#: ../src/print.c:548
msgid "done"
msgstr "完了"
#. Page Size
-#: ../src/print.c:575
+#: ../src/print.c:577
msgid "_Adjust Page Size and Orientation"
msgstr ""
-#: ../src/print.c:591
+#: ../src/print.c:593
msgid "C_enter:"
msgstr "中央(_E):"
#. ignore page margins
-#: ../src/print.c:609
+#: ../src/print.c:611
msgid "Ignore Page _Margins"
msgstr ""
-#: ../src/print.c:628
+#: ../src/print.c:630
msgid "Image S_ize:"
msgstr ""
-#: ../src/util.c:81
-msgid "Could not launch web browser."
+#: ../src/util.c:65
+#, c-format
+msgid "Could not launch web browser. %s"
msgstr ""
-#: ../src/util.c:92
-msgid "Could not create new email."
+#: ../src/util.c:76
+#, c-format
+msgid "Could not create new email. %s"
msgstr ""
-#: ../src/vikcoordlayer.c:46
+#: ../src/util.c:177
+#, c-format
+msgid ""
+"There is a newer version of Viking available: %s\n"
+"\n"
+"Do you wish to go to Viking's website now?"
+msgstr ""
+
+#: ../src/util.c:304
+msgid ""
+"This appears to be Viking's very first run.\n"
+"\n"
+"Do you wish to enable automatic internet features?\n"
+"\n"
+"Individual settings can be controlled in the Preferences."
+msgstr ""
+
+#: ../src/vikcoordlayer.c:57
msgid "Color:"
msgstr "色:"
-#: ../src/vikcoordlayer.c:47
+#: ../src/vikcoordlayer.c:58
msgid "Minutes Width:"
msgstr ""
-#: ../src/vikcoordlayer.c:48
+#: ../src/vikcoordlayer.c:59
msgid "Line Thickness:"
msgstr ""
-#: ../src/vikcoordlayer.c:56
+#: ../src/vikcoordlayer.c:66
msgid "Coordinate"
msgstr ""
@@ -951,62 +1105,130 @@ msgstr ""
msgid "Polygonzied Layer"
msgstr ""
-#: ../src/main.c:89
+#: ../src/main.c:92
#, c-format
msgid "Ignoring Xlib error: error code %d request code %d\n"
msgstr ""
-#: ../src/main.c:102
+#: ../src/main.c:105
msgid "Enable debug output"
msgstr ""
-#: ../src/main.c:103
+#: ../src/main.c:106
msgid "Enable verbose output"
msgstr ""
-#: ../src/main.c:104
+#: ../src/main.c:107
msgid "Show version"
msgstr ""
-#: ../src/osm.c:106
+#: ../src/osm.c:99
msgid "On Disk OSM Tile Format"
msgstr ""
-#: ../src/osm.c:121
+#: ../src/osm.c:113
msgid "OSM (view)"
msgstr ""
-#: ../src/osm.c:125
+#: ../src/osm.c:117
msgid "OSM (edit)"
msgstr ""
-#: ../src/osm.c:129
+#: ../src/osm.c:121
msgid "OSM (render)"
msgstr ""
#. Example: http://127.0.0.1:8111/load_and_zoom?left=8.19&right=8.20&top=48.605&bottom=48.590&select=node413602999
#. JOSM or merkaartor must already be running with remote interface enabled
-#: ../src/osm.c:136
+#: ../src/osm.c:128
msgid "Local port 8111 (eg JOSM)"
msgstr ""
-#: ../src/preferences.c:285
+#: ../src/osm.c:134
+msgid "OpenStreetMap Notes"
+msgstr ""
+
+#: ../src/osm.c:138
+msgid "OpenStreetBugs"
+msgstr ""
+
+#. Not really OSM but can't be bothered to create somewhere else to put it...
+#: ../src/osm.c:164
+msgid "Wikimedia Toolserver GeoHack"
+msgstr ""
+
+#: ../src/preferences.c:191
msgid "Preferences"
msgstr ""
-#: ../src/uibuilder.c:147
+#: ../src/viklayer_defaults.c:232
+#, c-format
+msgid "Could not open file: %s"
+msgstr ""
+
+#: ../src/viklayer_defaults.c:303
+msgid "Layer Defaults"
+msgstr ""
+
+#: ../src/uibuilder.c:185
msgid "Take care that this password will be stored clearly in a plain file."
msgstr ""
-#: ../src/vikaggregatelayer.c:37
+#: ../src/vikaggregatelayer.c:42
msgid "Aggregate"
msgstr ""
-#: ../src/vikdemlayer.c:101
+#. VikLayersPanel *vlp = VIK_LAYERS_PANEL(lav[1]);
+#: ../src/vikaggregatelayer.c:484 ../src/viktrwlayer.c:10238
+#, c-format
+msgid "%s: Track and Route List"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:529 ../src/viktrwlayer.c:7354
+#: ../src/viktrwlayer.c:7420 ../src/viktrwlayer.c:7498
+msgid "_Visibility"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:534
+msgid "_Show All"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:540
+msgid "_Hide All"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:546 ../src/viktrwlayer.c:7371
+#: ../src/viktrwlayer.c:7437 ../src/viktrwlayer.c:7515
+msgid "_Toggle"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:553 ../src/viktrwlayer.c:7536
+msgid "_Sort"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:559 ../src/viktrwlayer.c:7542
+msgid "Name _Ascending"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:565 ../src/viktrwlayer.c:7548
+msgid "Name _Descending"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:571 ../src/viktrwlayer.c:7449
+#: ../src/viktrwlayer.c:7527 ../src/viktrwlayer.c:7587
+#: ../src/viktrwlayer_tracklist.c:237
+msgid "_Statistics"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:576 ../src/viktrwlayer.c:3971
+msgid "Track _List..."
+msgstr ""
+
+#: ../src/vikdemlayer.c:92
msgid "Absolute height"
msgstr ""
-#: ../src/vikdemlayer.c:102
+#: ../src/vikdemlayer.c:93
msgid "Height gradient"
msgstr ""
@@ -1046,25 +1268,52 @@ msgstr ""
msgid "DEM"
msgstr ""
-#: ../src/vikdemlayer.c:284
+#: ../src/vikdemlayer.c:287
#, c-format
msgid "Number of files: %d"
msgstr ""
-#: ../src/vikdemlayer.c:385
+#: ../src/vikdemlayer.c:427
msgid "DEM Loading"
msgstr ""
-#: ../src/vikdemlayer.c:889
+#: ../src/vikdemlayer.c:937
#, c-format
msgid "No SRTM data available for %f, %f"
msgstr ""
-#: ../src/vikdemlayer.c:1149
+#. Probably not over any land...
+#: ../src/vikdemlayer.c:1193
+msgid "No DEM File Available"
+msgstr ""
+
+#: ../src/vikdemlayer.c:1212
+#, c-format
+msgid ""
+"\n"
+"Source: %s\n"
+"\n"
+"DEM File: %s\n"
+"DEM File Timestamp: %s"
+msgstr ""
+
+#: ../src/vikdemlayer.c:1216
+#, c-format
+msgid ""
+"Source: %s\n"
+"\n"
+"No DEM File!"
+msgstr ""
+
+#: ../src/vikdemlayer.c:1256
#, c-format
msgid "Downloading DEM %s"
msgstr ""
+#: ../src/vikdemlayer.c:1280
+msgid "_Show DEM File Information"
+msgstr ""
+
#: ../src/vikfileentry.c:68
msgid "Browse..."
msgstr ""
@@ -1085,248 +1334,266 @@ msgstr ""
msgid "Delete"
msgstr ""
-#: ../src/vikgeoreflayer.c:70
+#: ../src/vikgeoreflayer.c:78
msgid "_Georef Move Map"
msgstr ""
-#: ../src/vikgeoreflayer.c:70
+#: ../src/vikgeoreflayer.c:78
msgid "Georef Move Map"
msgstr ""
-#: ../src/vikgeoreflayer.c:77
+#: ../src/vikgeoreflayer.c:85
msgid "Georef Z_oom Tool"
msgstr ""
-#: ../src/vikgeoreflayer.c:77
+#: ../src/vikgeoreflayer.c:85
msgid "Georef Zoom Tool"
msgstr ""
-#: ../src/vikgeoreflayer.c:87
+#: ../src/vikgeoreflayer.c:95
msgid "GeoRef Map"
msgstr ""
-#: ../src/vikgeoreflayer.c:335 ../src/vikmapslayer.c:685
+#: ../src/vikgeoreflayer.c:377 ../src/vikmapslayer.c:720
#, c-format
msgid "Couldn't open image file: %s"
msgstr ""
-#: ../src/vikgeoreflayer.c:365
+#: ../src/vikgeoreflayer.c:391
+msgid ""
+"GeoRef map cannot be displayed in the current drawmode.\n"
+"Select \"UTM Mode\" from View menu to view it."
+msgstr ""
+
+#: ../src/vikgeoreflayer.c:415
msgid "Unexpected end of file reading World file."
msgstr ""
-#: ../src/vikgeoreflayer.c:381 ../src/vikgeoreflayer.c:426
+#: ../src/vikgeoreflayer.c:431 ../src/vikgeoreflayer.c:476
msgid "Choose World file"
msgstr ""
-#: ../src/vikgeoreflayer.c:394
+#: ../src/vikgeoreflayer.c:444
msgid "The World file you requested could not be opened for reading."
msgstr ""
-#: ../src/vikgeoreflayer.c:439
+#: ../src/vikgeoreflayer.c:489
msgid "The file you requested could not be opened for writing."
msgstr ""
-#: ../src/vikgeoreflayer.c:456 ../src/viklayer.c:480
+#: ../src/vikgeoreflayer.c:506 ../src/viklayer.c:518
msgid "Layer Properties"
msgstr ""
-#: ../src/vikgeoreflayer.c:478
+#: ../src/vikgeoreflayer.c:528
msgid "World File Parameters:"
msgstr ""
-#: ../src/vikgeoreflayer.c:479
+#: ../src/vikgeoreflayer.c:529
msgid "Load From File..."
msgstr ""
-#: ../src/vikgeoreflayer.c:484
+#: ../src/vikgeoreflayer.c:534
msgid "Corner pixel easting:"
msgstr ""
-#: ../src/vikgeoreflayer.c:486
-msgid "the UTM \"easting\" value of the upper-right corner pixel of the map"
+#: ../src/vikgeoreflayer.c:536
+msgid "the UTM \"easting\" value of the upper-left corner pixel of the map"
msgstr ""
-#: ../src/vikgeoreflayer.c:488
+#: ../src/vikgeoreflayer.c:538
msgid "Corner pixel northing:"
msgstr ""
-#: ../src/vikgeoreflayer.c:490
-msgid "the UTM \"northing\" value of the upper-right corner pixel of the map"
+#: ../src/vikgeoreflayer.c:540
+msgid "the UTM \"northing\" value of the upper-left corner pixel of the map"
msgstr ""
-#: ../src/vikgeoreflayer.c:492
+#: ../src/vikgeoreflayer.c:542
msgid "X (easting) scale (mpp): "
msgstr ""
-#: ../src/vikgeoreflayer.c:493
+#: ../src/vikgeoreflayer.c:543
msgid "Y (northing) scale (mpp): "
msgstr ""
-#: ../src/vikgeoreflayer.c:496
+#: ../src/vikgeoreflayer.c:546
msgid "the scale of the map in the X direction (meters per pixel)"
msgstr ""
-#: ../src/vikgeoreflayer.c:498
+#: ../src/vikgeoreflayer.c:548
msgid "the scale of the map in the Y direction (meters per pixel)"
msgstr ""
-#: ../src/vikgeoreflayer.c:500
+#: ../src/vikgeoreflayer.c:550
msgid "Map Image:"
msgstr ""
#. Now with icons
-#: ../src/vikgeoreflayer.c:608
+#: ../src/vikgeoreflayer.c:658
msgid "_Zoom to Fit Map"
msgstr ""
-#: ../src/vikgeoreflayer.c:614
+#: ../src/vikgeoreflayer.c:664
msgid "_Goto Map Center"
msgstr ""
-#: ../src/vikgeoreflayer.c:620
+#: ../src/vikgeoreflayer.c:670
msgid "_Export to World File"
msgstr ""
-#: ../src/vikgoto.c:75
+#: ../src/vikgoto.c:81
msgid "No goto tool available."
msgstr ""
-#: ../src/vikgoto.c:88 ../src/vikgoto.c:107
+#: ../src/vikgoto.c:94 ../src/vikgoto.c:148
msgid "goto"
msgstr ""
-#: ../src/vikgoto.c:90
+#: ../src/vikgoto.c:96
msgid "I don't know that place. Do you want another goto?"
msgstr ""
-#: ../src/vikgoto.c:109
+#: ../src/vikgoto.c:150
msgid "goto provider:"
msgstr ""
-#: ../src/vikgoto.c:124
+#: ../src/vikgoto.c:165
msgid "Enter address or place name:"
msgstr ""
-#: ../src/vikgpslayer.c:127
+#: ../src/vikgoto.c:363
+msgid "Locality"
+msgstr ""
+
+#: ../src/vikgpslayer.c:128
msgid "Data Mode"
msgstr ""
-#: ../src/vikgpslayer.c:129
+#: ../src/vikgpslayer.c:130
msgid "Realtime Tracking Mode"
msgstr ""
-#: ../src/vikgpslayer.c:137
+#: ../src/vikgpslayer.c:167
msgid "Keep vehicle at center"
msgstr ""
-#: ../src/vikgpslayer.c:138
+#: ../src/vikgpslayer.c:168
msgid "Keep vehicle on screen"
msgstr ""
-#: ../src/vikgpslayer.c:139
+#: ../src/vikgpslayer.c:169
msgid "Disable"
msgstr ""
-#: ../src/vikgpslayer.c:152
+#: ../src/vikgpslayer.c:209
msgid "Download Tracks:"
msgstr ""
-#: ../src/vikgpslayer.c:153
+#: ../src/vikgpslayer.c:210
msgid "Upload Tracks:"
msgstr ""
-#: ../src/vikgpslayer.c:154
+#: ../src/vikgpslayer.c:211
msgid "Download Routes:"
msgstr ""
-#: ../src/vikgpslayer.c:155
+#: ../src/vikgpslayer.c:212
msgid "Upload Routes:"
msgstr ""
-#: ../src/vikgpslayer.c:156
+#: ../src/vikgpslayer.c:213
msgid "Download Waypoints:"
msgstr ""
-#: ../src/vikgpslayer.c:157
+#: ../src/vikgpslayer.c:214
msgid "Upload Waypoints:"
msgstr ""
-#: ../src/vikgpslayer.c:159
+#: ../src/vikgpslayer.c:216
msgid "Recording tracks"
msgstr ""
-#: ../src/vikgpslayer.c:160
+#: ../src/vikgpslayer.c:217
msgid "Jump to current position on start"
msgstr ""
-#: ../src/vikgpslayer.c:161
+#: ../src/vikgpslayer.c:218
msgid "Moving Map Method:"
msgstr ""
-#: ../src/vikgpslayer.c:162
+#: ../src/vikgpslayer.c:219
+msgid "Update Statusbar:"
+msgstr ""
+
+#: ../src/vikgpslayer.c:219
+msgid "Display information in the statusbar on GPS updates"
+msgstr ""
+
+#: ../src/vikgpslayer.c:220
msgid "Gpsd Host:"
msgstr ""
-#: ../src/vikgpslayer.c:163
+#: ../src/vikgpslayer.c:221
msgid "Gpsd Port:"
msgstr ""
-#: ../src/vikgpslayer.c:164
+#: ../src/vikgpslayer.c:222
msgid "Gpsd Retry Interval (seconds):"
msgstr ""
-#: ../src/vikgpslayer.c:179
+#: ../src/vikgpslayer.c:243
msgid "GPS"
msgstr ""
-#: ../src/vikgpslayer.c:242 ../src/vikgpslayer.c:1258
+#: ../src/vikgpslayer.c:306 ../src/vikgpslayer.c:1308
msgid "GPS Download"
msgstr ""
-#: ../src/vikgpslayer.c:242 ../src/vikgpslayer.c:1258
-#: ../src/viktrwlayer.c:3094
+#: ../src/vikgpslayer.c:306 ../src/vikgpslayer.c:1308
+#: ../src/viktrwlayer.c:3480
msgid "GPS Upload"
msgstr ""
-#: ../src/vikgpslayer.c:244
+#: ../src/vikgpslayer.c:308
msgid "GPS Realtime Tracking"
msgstr ""
-#: ../src/vikgpslayer.c:451
+#: ../src/vikgpslayer.c:517
msgid "Unknown GPS Protocol"
msgstr ""
-#: ../src/vikgpslayer.c:469
+#: ../src/vikgpslayer.c:535
msgid "Unknown serial port device"
msgstr ""
-#: ../src/vikgpslayer.c:572
+#: ../src/vikgpslayer.c:648
#, c-format
msgid "%s: unknown parameter"
msgstr ""
#. Now with icons
-#: ../src/vikgpslayer.c:693
+#: ../src/vikgpslayer.c:743
msgid "_Upload to GPS"
msgstr ""
-#: ../src/vikgpslayer.c:699
+#: ../src/vikgpslayer.c:749
msgid "Download from _GPS"
msgstr ""
-#: ../src/vikgpslayer.c:720
+#: ../src/vikgpslayer.c:770
msgid "Empty _Realtime"
msgstr ""
-#: ../src/vikgpslayer.c:727
+#: ../src/vikgpslayer.c:777
msgid "E_mpty Upload"
msgstr ""
-#: ../src/vikgpslayer.c:733
+#: ../src/vikgpslayer.c:783
msgid "_Empty Download"
msgstr ""
-#: ../src/vikgpslayer.c:739
+#: ../src/vikgpslayer.c:789
msgid "Empty _All"
msgstr ""
@@ -1335,234 +1602,232 @@ msgstr ""
#. This happens when copied GPS layer is deleted (not sure why the number_handlers would be 2)
#. I don't think there's any side effects and certainly better than the program just aborting
#.
-#: ../src/vikgpslayer.c:756
+#: ../src/vikgpslayer.c:806
#, c-format
msgid "Unexpected number of disconnected handlers: %d"
msgstr ""
-#: ../src/vikgpslayer.c:898
+#: ../src/vikgpslayer.c:948
#, c-format
msgid "Uploading %d waypoint..."
msgid_plural "Uploading %d waypoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:899
+#: ../src/vikgpslayer.c:949
#, c-format
msgid "Uploading %d trackpoint..."
msgid_plural "Uploading %d trackpoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:900
+#: ../src/vikgpslayer.c:950
#, c-format
msgid "Uploading %d routepoint..."
msgid_plural "Uploading %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:925
+#: ../src/vikgpslayer.c:975
#, c-format
msgid "Downloaded %d out of %d waypoint..."
msgid_plural "Downloaded %d out of %d waypoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:926
+#: ../src/vikgpslayer.c:976
#, c-format
msgid "Downloaded %d out of %d trackpoint..."
msgid_plural "Downloaded %d out of %d trackpoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:927
+#: ../src/vikgpslayer.c:977
#, c-format
msgid "Downloaded %d out of %d routepoint..."
msgid_plural "Downloaded %d out of %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:932
+#: ../src/vikgpslayer.c:982
#, c-format
msgid "Uploaded %d out of %d waypoint..."
msgid_plural "Uploaded %d out of %d waypoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:933
+#: ../src/vikgpslayer.c:983
#, c-format
msgid "Uploaded %d out of %d trackpoint..."
msgid_plural "Uploaded %d out of %d trackpoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:934
+#: ../src/vikgpslayer.c:984
#, c-format
msgid "Uploaded %d out of %d routepoint..."
msgid_plural "Uploaded %d out of %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:942
+#: ../src/vikgpslayer.c:992
#, c-format
msgid "Downloaded %d waypoint"
msgid_plural "Downloaded %d waypoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:943
+#: ../src/vikgpslayer.c:993
#, c-format
msgid "Downloaded %d trackpoint"
msgid_plural "Downloaded %d trackpoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:944
+#: ../src/vikgpslayer.c:994
#, c-format
msgid "Downloaded %d routepoint"
msgid_plural "Downloaded %d routepoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:949
+#: ../src/vikgpslayer.c:999
#, c-format
msgid "Uploaded %d waypoint"
msgid_plural "Uploaded %d waypoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:950
+#: ../src/vikgpslayer.c:1000
#, c-format
msgid "Uploaded %d trackpoint"
msgid_plural "Uploaded %d trackpoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:951
+#: ../src/vikgpslayer.c:1001
#, c-format
msgid "Uploaded %d routepoint"
msgid_plural "Uploaded %d routepoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:1180
+#: ../src/vikgpslayer.c:1230
msgid "Error: couldn't find gpsbabel."
msgstr "エラー: gpsbabelを見つけることができませんでした。"
-#: ../src/vikgpslayer.c:1269
+#: ../src/vikgpslayer.c:1319
msgid "Warning - GPS Upload items may overwrite each other"
msgstr ""
-#: ../src/vikgpslayer.c:1301
+#: ../src/vikgpslayer.c:1351
msgid "Status: detecting gpsbabel"
msgstr "状態: gpsbableを探しています"
-#: ../src/vikgpslayer.c:1332
+#: ../src/vikgpslayer.c:1386
msgid "No GPS items selected for transfer."
msgstr ""
-#: ../src/vikgpslayer.c:1347
+#: ../src/vikgpslayer.c:1401
msgid "Could not turn off device."
msgstr ""
-#: ../src/vikgpslayer.c:1385
+#: ../src/vikgpslayer.c:1439
msgid "Are you sure you want to delete GPS Upload data?"
msgstr ""
-#: ../src/vikgpslayer.c:1398
+#: ../src/vikgpslayer.c:1452
msgid "Are you sure you want to delete GPS Download data?"
msgstr ""
-#: ../src/vikgpslayer.c:1412
+#: ../src/vikgpslayer.c:1466
msgid "Are you sure you want to delete GPS Realtime data?"
msgstr ""
-#: ../src/vikgpslayer.c:1425
+#: ../src/vikgpslayer.c:1479
msgid "Are you sure you want to delete All GPS data?"
msgstr ""
-#: ../src/viklayerspanel.c:55
-msgid "/C_ut"
+#: ../src/viklayerspanel.c:53
+msgid "C_ut"
msgstr ""
-#: ../src/viklayerspanel.c:56
-msgid "/_Copy"
+#: ../src/viklayerspanel.c:54 ../src/vikwindow.c:3753
+msgid "_Copy"
msgstr ""
-#: ../src/viklayerspanel.c:57
-msgid "/_Paste"
+#: ../src/viklayerspanel.c:55 ../src/vikwindow.c:3754
+msgid "_Paste"
msgstr ""
-#: ../src/viklayerspanel.c:58
-msgid "/_Delete"
+#: ../src/viklayerspanel.c:56 ../src/vikwindow.c:3755
+msgid "_Delete"
msgstr ""
-#: ../src/viklayerspanel.c:59
-msgid "/New Layer"
+#: ../src/viklayerspanel.c:133
+msgid "New Layer"
msgstr ""
-#: ../src/viklayerspanel.c:127
+#: ../src/viklayerspanel.c:178
msgid "Top Layer"
msgstr ""
-#: ../src/viklayerspanel.c:143
+#: ../src/viklayerspanel.c:194
msgid "Add new layer"
msgstr ""
-#: ../src/viklayerspanel.c:150
+#: ../src/viklayerspanel.c:201
msgid "Remove selected layer"
msgstr ""
-#: ../src/viklayerspanel.c:157
+#: ../src/viklayerspanel.c:208
msgid "Move selected layer up"
msgstr ""
-#: ../src/viklayerspanel.c:164
+#: ../src/viklayerspanel.c:215
msgid "Move selected layer down"
msgstr ""
-#: ../src/viklayerspanel.c:171
+#: ../src/viklayerspanel.c:222
msgid "Cut selected layer"
msgstr ""
-#: ../src/viklayerspanel.c:178
+#: ../src/viklayerspanel.c:229
msgid "Copy selected layer"
msgstr ""
-#: ../src/viklayerspanel.c:185
-msgid "Paste layer below selected layer"
+#: ../src/viklayerspanel.c:236
+msgid ""
+"Paste layer into selected container layer or otherwise above selected layer"
msgstr ""
-#. TODO: FIXME: if name has a '/' in it it will get all messed up. why not have an itemfactory field with
-#. name, icon, shortcut, etc.?
-#: ../src/viklayerspanel.c:204 ../src/vikwindow.c:3292
-#, c-format
-msgid "New _%s Layer"
+#: ../src/viklayerspanel.c:300
+msgid "New name can not be blank."
msgstr ""
-#: ../src/viklayerspanel.c:511
+#: ../src/viklayerspanel.c:544
msgid "Aggregate Layers have no settable properties."
msgstr ""
-#: ../src/viklayerspanel.c:555
+#: ../src/viklayerspanel.c:588
msgid "You cannot cut the Top Layer."
msgstr ""
-#: ../src/viklayerspanel.c:600
+#: ../src/viklayerspanel.c:633
#, c-format
msgid "Are you sure you want to delete %s?"
msgstr ""
-#: ../src/viklayerspanel.c:617
+#: ../src/viklayerspanel.c:650
msgid "You cannot delete the Top Layer."
msgstr ""
-#: ../src/viklayerspanel.c:701
+#: ../src/viklayerspanel.c:734
msgid "Are you sure you wish to delete all layers?"
msgstr ""
#. ******* MAPZOOMS ********
-#: ../src/vikmapslayer.c:91
+#: ../src/vikmapslayer.c:80
msgid "Use Viking Zoom Level"
msgstr ""
@@ -1609,70 +1874,70 @@ msgid ""
"actual zoom level."
msgstr ""
-#: ../src/vikmapslayer.c:146
+#: ../src/vikmapslayer.c:156
msgid "_Maps Download"
msgstr ""
-#: ../src/vikmapslayer.c:146
+#: ../src/vikmapslayer.c:156
msgid "Maps Download"
msgstr ""
-#: ../src/vikmapslayer.c:161
+#: ../src/vikmapslayer.c:171
msgid "Map"
msgstr ""
-#: ../src/vikmapslayer.c:249
-msgid "Default maplayer directory:"
+#: ../src/vikmapslayer.c:259
+msgid "Default map layer directory:"
msgstr ""
-#: ../src/vikmapslayer.c:249
+#: ../src/vikmapslayer.c:259
msgid "Choose a directory to store cached Map tiles for this layer"
msgstr ""
-#: ../src/vikmapslayer.c:505
+#: ../src/vikmapslayer.c:523
msgid "Unknown map type"
msgstr ""
-#: ../src/vikmapslayer.c:516
+#: ../src/vikmapslayer.c:534
msgid "Unknown Map Zoom"
msgstr ""
-#: ../src/vikmapslayer.c:589
+#: ../src/vikmapslayer.c:624
#, c-format
msgid ""
"New map cannot be displayed in the current drawmode.\n"
"Select \"%s\" from View menu to view it."
msgstr ""
-#: ../src/vikmapslayer.c:753
+#: ../src/vikmapslayer.c:798
#, c-format
msgid ""
"Cowardly refusing to draw tiles or existence of tiles beyond %d zoom out "
"factor"
msgstr ""
-#: ../src/vikmapslayer.c:1157
+#: ../src/vikmapslayer.c:1210
#, c-format
msgid "Redownloading up to %d %s map..."
msgid_plural "Redownloading up to %d %s maps..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikmapslayer.c:1159
+#: ../src/vikmapslayer.c:1212
#, c-format
msgid "Redownloading %d %s map..."
msgid_plural "Redownloading %d %s maps..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikmapslayer.c:1163 ../src/vikmapslayer.c:1238
+#: ../src/vikmapslayer.c:1216 ../src/vikmapslayer.c:1290
#, c-format
msgid "Downloading %d %s map..."
msgid_plural "Downloading %d %s maps..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikmapslayer.c:1311
+#: ../src/vikmapslayer.c:1376
#, c-format
msgid ""
"\n"
@@ -1682,7 +1947,7 @@ msgid ""
"Tile File Timestamp: %s"
msgstr ""
-#: ../src/vikmapslayer.c:1318
+#: ../src/vikmapslayer.c:1380
#, c-format
msgid ""
"Source: %s\n"
@@ -1690,1458 +1955,2035 @@ msgid ""
"No Tile File!"
msgstr ""
-#: ../src/vikmapslayer.c:1356
+#: ../src/vikmapslayer.c:1418
msgid "Redownload _Bad Map(s)"
msgstr ""
-#: ../src/vikmapslayer.c:1360
+#: ../src/vikmapslayer.c:1422
msgid "Redownload _New Map(s)"
msgstr ""
-#: ../src/vikmapslayer.c:1364
+#: ../src/vikmapslayer.c:1426
msgid "Redownload _All Map(s)"
msgstr ""
-#: ../src/vikmapslayer.c:1368
+#: ../src/vikmapslayer.c:1430
msgid "_Show Tile Information"
msgstr ""
-#: ../src/vikmapslayer.c:1449
+#: ../src/vikmapslayer.c:1511
#, c-format
msgid ""
"Wrong drawmode for this map.\n"
"Select \"%s\" from View menu and try again."
msgstr ""
-#: ../src/vikmapslayer.c:1454
+#: ../src/vikmapslayer.c:1516
msgid "Wrong zoom level for this map."
msgstr ""
+#: ../src/vikmapslayer.c:1647
+msgid "Zoom Start:"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1654
+msgid "Zoom End:"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1660
+msgid "Download Maps Method:"
+msgstr ""
+
+#. redownload method - needs to align with REDOWNLOAD* macro values
+#: ../src/vikmapslayer.c:1732
+msgid "Missing"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1732
+msgid "Bad"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1732
+msgid "New"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1732
+msgid "Reload All"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1734
+msgid "Download for Zoom Levels"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1774
+#, c-format
+msgid ""
+"You are not allowed to download more than %d tiles in one go (requested %d)"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1782
+#, c-format
+msgid "Do you really want to download %d tiles?"
+msgstr ""
+
#. Now with icons
-#: ../src/vikmapslayer.c:1485
+#: ../src/vikmapslayer.c:1807
msgid "Download _Missing Onscreen Maps"
msgstr ""
-#: ../src/vikmapslayer.c:1492
+#: ../src/vikmapslayer.c:1814
msgid "Download _New Onscreen Maps"
msgstr ""
-#: ../src/vikmapslayer.c:1499
+#: ../src/vikmapslayer.c:1821
msgid "Reload _All Onscreen Maps"
msgstr ""
-#: ../src/viktreeview.c:263
+#: ../src/vikmapslayer.c:1827
+msgid "Download Maps in _Zoom Levels..."
+msgstr ""
+
+#: ../src/vikrouting.c:54
+msgid "Default engine:"
+msgstr ""
+
+#: ../src/viktreeview.c:316
msgid "Layer Name"
msgstr ""
-#: ../src/viktreeview.c:742
+#: ../src/viktreeview.c:851
#, c-format
msgid "delete data from %s\n"
msgstr ""
-#: ../src/viktrwlayer.c:377
+#: ../src/viktrwlayer.c:398
msgid "Create _Waypoint"
msgstr ""
-#: ../src/viktrwlayer.c:377
+#: ../src/viktrwlayer.c:398
msgid "Create Waypoint"
msgstr ""
-#: ../src/viktrwlayer.c:383
+#: ../src/viktrwlayer.c:404
msgid "Create _Track"
msgstr ""
-#: ../src/viktrwlayer.c:383
+#: ../src/viktrwlayer.c:404
msgid "Create Track"
msgstr ""
-#: ../src/viktrwlayer.c:392
+#: ../src/viktrwlayer.c:413
msgid "Create _Route"
msgstr ""
-#: ../src/viktrwlayer.c:392
+#: ../src/viktrwlayer.c:413
msgid "Create Route"
msgstr ""
-#: ../src/viktrwlayer.c:401
+#: ../src/viktrwlayer.c:422
msgid "_Edit Waypoint"
msgstr ""
-#: ../src/viktrwlayer.c:401
+#: ../src/viktrwlayer.c:422
msgid "Edit Waypoint"
msgstr ""
-#: ../src/viktrwlayer.c:409
+#: ../src/viktrwlayer.c:432
msgid "Edit Trac_kpoint"
msgstr ""
-#: ../src/viktrwlayer.c:409
+#: ../src/viktrwlayer.c:432
msgid "Edit Trackpoint"
msgstr ""
-#: ../src/viktrwlayer.c:417
+#: ../src/viktrwlayer.c:442
msgid "Show P_icture"
msgstr ""
-#: ../src/viktrwlayer.c:417
+#: ../src/viktrwlayer.c:442
msgid "Show Picture"
msgstr ""
-#: ../src/viktrwlayer.c:424
+#: ../src/viktrwlayer.c:448
msgid "Route _Finder"
msgstr ""
-#: ../src/viktrwlayer.c:424
+#: ../src/viktrwlayer.c:448
msgid "Route Finder"
msgstr ""
#. ***** PARAMETERS *****
-#: ../src/viktrwlayer.c:447 ../src/viktrwlayer.c:1942
-#: ../src/viktrwlayer.c:1944
+#: ../src/viktrwlayer.c:468 ../src/viktrwlayer.c:2324
msgid "Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:447 ../src/viktrwlayer.c:1933
-#: ../src/viktrwlayer.c:1935
+#: ../src/viktrwlayer.c:468 ../src/viktrwlayer.c:2319
msgid "Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:447
+#: ../src/viktrwlayer.c:468
msgid "Waypoint Images"
msgstr ""
-#: ../src/viktrwlayer.c:450
+#: ../src/viktrwlayer.c:468
+msgid "Tracks Advanced"
+msgstr ""
+
+#: ../src/viktrwlayer.c:471
msgid "Draw by Track"
msgstr ""
-#: ../src/viktrwlayer.c:450
+#: ../src/viktrwlayer.c:471
msgid "Draw by Speed"
msgstr ""
-#: ../src/viktrwlayer.c:450
+#: ../src/viktrwlayer.c:471
msgid "All Tracks Same Color"
msgstr ""
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "Filled Square"
msgstr ""
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "Square"
msgstr ""
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "Circle"
msgstr ""
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "X"
msgstr ""
-#: ../src/viktrwlayer.c:477
+#: ../src/viktrwlayer.c:498
msgid "Extra Extra Small"
msgstr ""
-#: ../src/viktrwlayer.c:478
+#: ../src/viktrwlayer.c:499
msgid "Extra Small"
msgstr ""
-#: ../src/viktrwlayer.c:479
+#: ../src/viktrwlayer.c:500
msgid "Small"
msgstr ""
-#: ../src/viktrwlayer.c:480
+#: ../src/viktrwlayer.c:501
msgid "Medium"
msgstr ""
-#: ../src/viktrwlayer.c:481
+#: ../src/viktrwlayer.c:502
msgid "Large"
msgstr ""
-#: ../src/viktrwlayer.c:482
+#: ../src/viktrwlayer.c:503
msgid "Extra Large"
msgstr ""
-#: ../src/viktrwlayer.c:483
+#: ../src/viktrwlayer.c:504
msgid "Extra Extra Large"
msgstr ""
-#: ../src/viktrwlayer.c:491
+#: ../src/viktrwlayer.c:510
+msgid "Name Ascending"
+msgstr ""
+
+#: ../src/viktrwlayer.c:511
+msgid "Name Descending"
+msgstr ""
+
+#: ../src/viktrwlayer.c:552 ../src/viktrwlayer.c:576
+msgid "Draw Labels"
+msgstr ""
+
+#: ../src/viktrwlayer.c:553
+msgid "Note: the individual track controls what labels may be displayed"
+msgstr ""
+
+#: ../src/viktrwlayer.c:554
+msgid "Track Labels Font Size:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:555
msgid "Track Drawing Mode:"
msgstr ""
-#: ../src/viktrwlayer.c:492
+#: ../src/viktrwlayer.c:556
msgid "All Tracks Color:"
msgstr ""
-#: ../src/viktrwlayer.c:493
+#: ../src/viktrwlayer.c:557
msgid "The color used when 'All Tracks Same Color' drawing mode is selected"
msgstr ""
-#: ../src/viktrwlayer.c:494
+#: ../src/viktrwlayer.c:558
msgid "Draw Track Lines"
msgstr ""
-#: ../src/viktrwlayer.c:495
+#: ../src/viktrwlayer.c:559
msgid "Track Thickness:"
msgstr ""
-#: ../src/viktrwlayer.c:496
+#: ../src/viktrwlayer.c:560
msgid "Draw Track Direction"
msgstr ""
-#: ../src/viktrwlayer.c:497
+#: ../src/viktrwlayer.c:561
msgid "Direction Size:"
msgstr ""
-#: ../src/viktrwlayer.c:498
+#: ../src/viktrwlayer.c:562
msgid "Draw Trackpoints"
msgstr ""
-#: ../src/viktrwlayer.c:499
+#: ../src/viktrwlayer.c:563
msgid "Trackpoint Size:"
msgstr ""
-#: ../src/viktrwlayer.c:500
+#: ../src/viktrwlayer.c:564
msgid "Draw Elevation"
msgstr ""
-#: ../src/viktrwlayer.c:501
+#: ../src/viktrwlayer.c:565
msgid "Draw Elevation Height %:"
msgstr ""
-#: ../src/viktrwlayer.c:503
+#: ../src/viktrwlayer.c:566
msgid "Draw Stops"
msgstr ""
-#: ../src/viktrwlayer.c:504
+#: ../src/viktrwlayer.c:567
msgid ""
"Whether to draw a marker when trackpoints are at the same position but over "
"the minimum stop length apart in time"
msgstr ""
-#: ../src/viktrwlayer.c:505
+#: ../src/viktrwlayer.c:568
msgid "Min Stop Length (seconds):"
msgstr ""
-#: ../src/viktrwlayer.c:507
+#: ../src/viktrwlayer.c:570
msgid "Track BG Thickness:"
msgstr ""
-#: ../src/viktrwlayer.c:508
+#: ../src/viktrwlayer.c:571
msgid "Track Background Color"
msgstr ""
-#: ../src/viktrwlayer.c:509
+#: ../src/viktrwlayer.c:572
msgid "Draw by Speed Factor (%):"
msgstr ""
-#: ../src/viktrwlayer.c:510
+#: ../src/viktrwlayer.c:573
msgid ""
"The percentage factor away from the average speed determining the color used"
msgstr ""
-#: ../src/viktrwlayer.c:512
-msgid "Draw Labels"
+#: ../src/viktrwlayer.c:574
+msgid "Track Sort Order:"
msgstr ""
-#: ../src/viktrwlayer.c:513
+#: ../src/viktrwlayer.c:577
msgid "Waypoint Font Size:"
msgstr ""
-#: ../src/viktrwlayer.c:514
+#: ../src/viktrwlayer.c:578
msgid "Waypoint Color:"
msgstr ""
-#: ../src/viktrwlayer.c:515
+#: ../src/viktrwlayer.c:579
msgid "Waypoint Text:"
msgstr ""
-#: ../src/viktrwlayer.c:516
+#: ../src/viktrwlayer.c:580
msgid "Background:"
msgstr ""
-#: ../src/viktrwlayer.c:517
+#: ../src/viktrwlayer.c:581
msgid "Fake BG Color Translucency:"
msgstr ""
-#: ../src/viktrwlayer.c:518
+#: ../src/viktrwlayer.c:582
msgid "Waypoint marker:"
msgstr ""
-#: ../src/viktrwlayer.c:519
+#: ../src/viktrwlayer.c:583
msgid "Waypoint size:"
msgstr ""
-#: ../src/viktrwlayer.c:520
+#: ../src/viktrwlayer.c:584
msgid "Draw Waypoint Symbols:"
msgstr ""
-#: ../src/viktrwlayer.c:522
+#: ../src/viktrwlayer.c:585
+msgid "Waypoint Sort Order:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:587
msgid "Draw Waypoint Images"
msgstr ""
-#: ../src/viktrwlayer.c:523
+#: ../src/viktrwlayer.c:588
msgid "Image Size (pixels):"
msgstr ""
-#: ../src/viktrwlayer.c:524
+#: ../src/viktrwlayer.c:589
msgid "Image Alpha:"
msgstr ""
-#: ../src/viktrwlayer.c:525
+#: ../src/viktrwlayer.c:590
msgid "Image Memory Cache Size:"
msgstr ""
-#: ../src/viktrwlayer.c:610
+#: ../src/viktrwlayer.c:678
msgid "TrackWaypoint"
msgstr ""
-#: ../src/viktrwlayer.c:1951 ../src/viktrwlayer.c:1953
+#: ../src/viktrwlayer.c:1534 ../src/vikutils.c:204
+msgid "miles"
+msgstr ""
+
+#. VIK_UNITS_DISTANCE_KILOMETRES:
+#: ../src/viktrwlayer.c:1538 ../src/vikutils.c:209
+msgid "km"
+msgstr ""
+
+#: ../src/viktrwlayer.c:1648
+msgid "start/end"
+msgstr ""
+
+#: ../src/viktrwlayer.c:1660
+msgid "start"
+msgstr ""
+
+#: ../src/viktrwlayer.c:1669
+msgid "end"
+msgstr ""
+
+#: ../src/viktrwlayer.c:2329
msgid "Routes"
msgstr ""
-#: ../src/viktrwlayer.c:2144
+#: ../src/viktrwlayer.c:2519
#, c-format
msgid " in %d:%02d hrs:mins"
msgstr ""
-#: ../src/viktrwlayer.c:2148
+#: ../src/viktrwlayer.c:2523
#, c-format
msgid ""
"\n"
"%sTotal Length %.1f %s%s"
msgstr ""
-#: ../src/viktrwlayer.c:2154
+#: ../src/viktrwlayer.c:2529
#, c-format
msgid "Tracks: %d - Waypoints: %d - Routes: %d%s"
msgstr ""
-#: ../src/viktrwlayer.c:2174
+#: ../src/viktrwlayer.c:2549
#, c-format
msgid "Tracks: %d"
msgstr ""
-#: ../src/viktrwlayer.c:2184
+#: ../src/viktrwlayer.c:2559
#, c-format
msgid "Routes: %d"
msgstr ""
-#: ../src/viktrwlayer.c:2215
+#: ../src/viktrwlayer.c:2590
#, c-format
msgid "- %d:%02d hrs:mins"
msgstr ""
-#: ../src/viktrwlayer.c:2223
+#: ../src/viktrwlayer.c:2598
#, c-format
msgid "%s%.1f km %s"
msgstr ""
-#: ../src/viktrwlayer.c:2226
+#: ../src/viktrwlayer.c:2601
#, c-format
msgid "%s%.1f miles %s"
msgstr ""
-#: ../src/viktrwlayer.c:2240
+#: ../src/viktrwlayer.c:2615
#, c-format
msgid "Waypoints: %d"
msgstr ""
-#: ../src/viktrwlayer.c:2266
-#, c-format
-msgid "Trkpt: Alt %dft"
-msgstr ""
-
-#. VIK_UNITS_HEIGHT_METRES:
-#: ../src/viktrwlayer.c:2270
-#, c-format
-msgid "Trkpt: Alt %dm"
-msgstr ""
-
-#. Compact date time format
-#: ../src/viktrwlayer.c:2277
-#, c-format
-msgid " | Time %x %X"
-msgstr ""
-
-#: ../src/viktrwlayer.c:2295
-#, c-format
-msgid " | Track: %s"
-msgstr ""
-
-#. Combine parts to make overall message
-#: ../src/viktrwlayer.c:2299
-#, c-format
-msgid "%s%s | %s %s %s"
-msgstr ""
-
-#: ../src/viktrwlayer.c:2314
+#: ../src/viktrwlayer.c:2671
#, c-format
msgid "Wpt: Alt %dft"
msgstr ""
#. VIK_UNITS_HEIGHT_METRES:
-#: ../src/viktrwlayer.c:2318
+#: ../src/viktrwlayer.c:2675
#, c-format
msgid "Wpt: Alt %dm"
msgstr ""
#. Add comment if available
-#: ../src/viktrwlayer.c:2333
+#: ../src/viktrwlayer.c:2690
#, c-format
msgid "%s | %s %s | Comment: %s"
msgstr ""
-#: ../src/viktrwlayer.c:2335
+#: ../src/viktrwlayer.c:2692
#, c-format
msgid "%s | %s %s"
msgstr ""
-#: ../src/viktrwlayer.c:2563 ../src/viktrwlayer.c:2634
+#: ../src/viktrwlayer.c:2939 ../src/viktrwlayer.c:3010
msgid "This layer has no waypoints or trackpoints."
msgstr ""
-#: ../src/viktrwlayer.c:2661 ../src/vikwindow.c:2407 ../src/vikwindow.c:2848
+#: ../src/viktrwlayer.c:3045 ../src/vikwindow.c:2754 ../src/vikwindow.c:3407
#, c-format
msgid "The file \"%s\" exists, do you wish to overwrite it?"
msgstr ""
-#: ../src/viktrwlayer.c:2671 ../src/vikwindow.c:2429
+#: ../src/viktrwlayer.c:3057 ../src/vikwindow.c:2778
msgid "The filename you requested could not be opened for writing."
msgstr ""
-#: ../src/viktrwlayer.c:2676 ../src/viktrwlayer.c:2681
-#: ../src/viktrwlayer.c:2691 ../src/viktrwlayer.c:2703
+#: ../src/viktrwlayer.c:3062 ../src/viktrwlayer.c:3067
+#: ../src/viktrwlayer.c:3077 ../src/viktrwlayer.c:3089
msgid "Export Layer"
msgstr ""
-#: ../src/viktrwlayer.c:2720
+#: ../src/viktrwlayer.c:3108
msgid "Could not create temporary file for export."
msgstr ""
-#: ../src/viktrwlayer.c:2729
+#: ../src/viktrwlayer.c:3117
#, c-format
msgid "Could not launch %s."
msgstr ""
-#: ../src/viktrwlayer.c:2773
+#: ../src/viktrwlayer.c:3161
msgid "Export Track as GPX"
msgstr ""
-#: ../src/viktrwlayer.c:2795
+#: ../src/viktrwlayer.c:3183
msgid "Find"
msgstr ""
-#: ../src/viktrwlayer.c:2805
+#: ../src/viktrwlayer.c:3193
msgid "Waypoint Name:"
msgstr ""
-#: ../src/viktrwlayer.c:2822
+#: ../src/viktrwlayer.c:3210
msgid "Waypoint not found in this layer."
msgstr ""
-#: ../src/viktrwlayer.c:3090
+#: ../src/viktrwlayer.c:3476
msgid "Can not upload invisible track."
msgstr ""
-#: ../src/viktrwlayer.c:3192 ../src/viktrwlayer.c:7785
+#: ../src/viktrwlayer.c:3581 ../src/viktrwlayer.c:9283
msgid "Track"
msgstr ""
-#: ../src/viktrwlayer.c:3215 ../src/viktrwlayer.c:7817
+#: ../src/viktrwlayer.c:3606 ../src/viktrwlayer.c:9316
msgid "Route"
msgstr ""
-#: ../src/viktrwlayer.c:3296 ../src/viktrwlayer.c:6265
-#: ../src/viktrwlayer.c:6314
+#: ../src/viktrwlayer.c:3691 ../src/viktrwlayer.c:7460
+#: ../src/viktrwlayer.c:7566
msgid "_Finish Route"
msgstr ""
-#: ../src/viktrwlayer.c:3298 ../src/viktrwlayer.c:6223
-#: ../src/viktrwlayer.c:6312
+#: ../src/viktrwlayer.c:3693 ../src/viktrwlayer.c:7383
+#: ../src/viktrwlayer.c:7564
msgid "_Finish Track"
msgstr ""
#. Now with icons
-#: ../src/viktrwlayer.c:3310
+#: ../src/viktrwlayer.c:3705
msgid "_View Layer"
msgstr ""
-#: ../src/viktrwlayer.c:3317
+#: ../src/viktrwlayer.c:3712
msgid "V_iew"
msgstr ""
-#: ../src/viktrwlayer.c:3323
+#: ../src/viktrwlayer.c:3718
msgid "View All _Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:3328
+#: ../src/viktrwlayer.c:3723
msgid "View All _Routes"
msgstr ""
-#: ../src/viktrwlayer.c:3333
+#: ../src/viktrwlayer.c:3728
msgid "View All _Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:3338
+#: ../src/viktrwlayer.c:3733
msgid "_Goto Center of Layer"
msgstr ""
-#: ../src/viktrwlayer.c:3344 ../src/viktrwlayer.c:6199
+#: ../src/viktrwlayer.c:3739 ../src/viktrwlayer.c:7335
msgid "Goto _Waypoint..."
msgstr ""
-#: ../src/viktrwlayer.c:3350
+#: ../src/viktrwlayer.c:3745
msgid "_Export Layer"
msgstr ""
-#: ../src/viktrwlayer.c:3356
+#: ../src/viktrwlayer.c:3751
msgid "Export as GPS_Point..."
msgstr ""
-#: ../src/viktrwlayer.c:3361
+#: ../src/viktrwlayer.c:3756
msgid "Export as GPS_Mapper..."
msgstr ""
-#: ../src/viktrwlayer.c:3366
+#: ../src/viktrwlayer.c:3761
msgid "Export as _GPX..."
msgstr ""
-#: ../src/viktrwlayer.c:3371
+#: ../src/viktrwlayer.c:3766
msgid "Export as _KML..."
msgstr ""
-#: ../src/viktrwlayer.c:3376
+#: ../src/viktrwlayer.c:3771
msgid "Open with External Program_1: "
msgstr ""
-#: ../src/viktrwlayer.c:3383
+#: ../src/viktrwlayer.c:3778
msgid "Open with External Program_2: "
msgstr ""
-#: ../src/viktrwlayer.c:3391 ../src/vikwindow.c:3145
+#: ../src/viktrwlayer.c:3786 ../src/vikwindow.c:3704
msgid "_New"
msgstr ""
-#: ../src/viktrwlayer.c:3397
+#: ../src/viktrwlayer.c:3792
msgid "New _Waypoint..."
msgstr ""
-#: ../src/viktrwlayer.c:3403
+#: ../src/viktrwlayer.c:3798
msgid "New _Track"
msgstr ""
-#: ../src/viktrwlayer.c:3411
+#: ../src/viktrwlayer.c:3806
msgid "New _Route"
msgstr ""
-#: ../src/viktrwlayer.c:3420 ../src/viktrwlayer.c:6597
+#: ../src/viktrwlayer.c:3815 ../src/viktrwlayer.c:7938
msgid "Geotag _Images..."
msgstr ""
-#: ../src/viktrwlayer.c:3427
+#: ../src/viktrwlayer.c:3822
msgid "_Acquire"
msgstr ""
-#: ../src/viktrwlayer.c:3433 ../src/vikwindow.c:3150
+#: ../src/viktrwlayer.c:3828 ../src/vikwindow.c:3711
msgid "From _GPS..."
msgstr ""
-#: ../src/viktrwlayer.c:3439
-msgid "From Google _Directions..."
+#. FIXME: only add menu when at least a routing engine has support for Directions
+#: ../src/viktrwlayer.c:3834
+msgid "From _Directions..."
msgstr ""
-#: ../src/viktrwlayer.c:3446
+#: ../src/viktrwlayer.c:3840
msgid "From _OSM Traces..."
msgstr ""
-#: ../src/viktrwlayer.c:3451
+#: ../src/viktrwlayer.c:3845
msgid "From _My OSM Traces..."
msgstr ""
-#: ../src/viktrwlayer.c:3459 ../src/vikwindow.c:3166
+#: ../src/viktrwlayer.c:3853 ../src/vikwindow.c:3725
msgid "From _Wikipedia Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:3465
+#: ../src/viktrwlayer.c:3859
msgid "Within _Layer Bounds"
msgstr ""
-#: ../src/viktrwlayer.c:3471
+#: ../src/viktrwlayer.c:3865
msgid "Within _Current View"
msgstr ""
-#: ../src/viktrwlayer.c:3479
+#: ../src/viktrwlayer.c:3873
msgid "From Geo_caching..."
msgstr ""
-#: ../src/viktrwlayer.c:3486 ../src/vikwindow.c:3163
+#: ../src/viktrwlayer.c:3880 ../src/vikwindow.c:3722
msgid "From Geotagged _Images..."
msgstr ""
-#: ../src/viktrwlayer.c:3492
+#: ../src/viktrwlayer.c:3886
msgid "From _File..."
msgstr ""
-#: ../src/viktrwlayer.c:3498 ../src/viktrwlayer.c:6542
+#: ../src/viktrwlayer.c:3894 ../src/viktrwlayer.c:7883
msgid "_Upload"
msgstr ""
-#: ../src/viktrwlayer.c:3504
+#: ../src/viktrwlayer.c:3900
msgid "Upload to _GPS..."
msgstr ""
-#: ../src/viktrwlayer.c:3511 ../src/viktrwlayer.c:6570
+#: ../src/viktrwlayer.c:3907 ../src/viktrwlayer.c:7911
msgid "Upload to _OSM..."
msgstr ""
-#: ../src/viktrwlayer.c:3519
+#: ../src/viktrwlayer.c:3915
msgid "De_lete"
msgstr ""
-#: ../src/viktrwlayer.c:3525
+#: ../src/viktrwlayer.c:3921
msgid "Delete All _Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:3531
+#: ../src/viktrwlayer.c:3927
msgid "Delete Tracks _From Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:3537 ../src/viktrwlayer.c:6290
+#: ../src/viktrwlayer.c:3933 ../src/viktrwlayer.c:7485
msgid "Delete _All Routes"
msgstr ""
-#: ../src/viktrwlayer.c:3543 ../src/viktrwlayer.c:6296
+#: ../src/viktrwlayer.c:3939 ../src/viktrwlayer.c:7491
msgid "_Delete Routes From Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:3549
+#: ../src/viktrwlayer.c:3945
msgid "Delete All _Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:3555
+#: ../src/viktrwlayer.c:3951
msgid "Delete Waypoints From _Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:4128
+#: ../src/viktrwlayer.c:4574
#, c-format
msgid "Are you sure you want to delete all tracks in %s?"
msgstr ""
-#: ../src/viktrwlayer.c:4138
+#: ../src/viktrwlayer.c:4584
#, c-format
msgid "Are you sure you want to delete all routes in %s?"
msgstr ""
-#: ../src/viktrwlayer.c:4148
+#: ../src/viktrwlayer.c:4594
#, c-format
msgid "Are you sure you want to delete all waypoints in %s?"
msgstr ""
-#: ../src/viktrwlayer.c:4165
+#: ../src/viktrwlayer.c:4611
#, c-format
-msgid "Are you sure you want to delete the waypoint \"%s\""
+msgid "Are you sure you want to delete the waypoint \"%s\"?"
msgstr ""
-#: ../src/viktrwlayer.c:4178
+#: ../src/viktrwlayer.c:4624
#, c-format
-msgid "Are you sure you want to delete the track \"%s\""
+msgid "Are you sure you want to delete the track \"%s\"?"
msgstr ""
-#: ../src/viktrwlayer.c:4191
+#: ../src/viktrwlayer.c:4637
#, c-format
-msgid "Are you sure you want to delete the route \"%s\""
+msgid "Are you sure you want to delete the route \"%s\"?"
msgstr ""
-#: ../src/viktrwlayer.c:4351 ../src/viktrwlayer.c:4922
+#: ../src/viktrwlayer.c:4849 ../src/viktrwlayer.c:5677
msgid ""
"Converting a track to a route removes extra track data such as segments, "
"timestamps, etc...\n"
"Do you want to continue?"
msgstr ""
-#: ../src/viktrwlayer.c:4711
+#: ../src/viktrwlayer.c:4944
+msgid "No DEM layers available, thus no DEM values can be applied."
+msgstr ""
+
+#: ../src/viktrwlayer.c:4964 ../src/viktrwlayer.c:5005
+#, c-format
+msgid "%ld point adjusted"
+msgid_plural "%ld points adjusted"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/viktrwlayer.c:5049
+#, c-format
+msgid "%ld waypoint changed"
+msgid_plural "%ld waypoints changed"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/viktrwlayer.c:5233
+#, c-format
+msgid ""
+"Refining a track with many points (%d) is unlikely to yield sensible "
+"results. Do you want to Continue?"
+msgstr ""
+
+#. Select engine from dialog
+#: ../src/viktrwlayer.c:5241
+msgid "Refine Route with Routing Engine..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:5249
+msgid "Select routing engine"
+msgstr ""
+
+#: ../src/viktrwlayer.c:5467
msgid "Failed. No other tracks with timestamps in this layer found"
msgstr ""
-#: ../src/viktrwlayer.c:4713
+#: ../src/viktrwlayer.c:5469
msgid "Failed. No other tracks without timestamps in this layer found"
msgstr ""
-#: ../src/viktrwlayer.c:4732
+#: ../src/viktrwlayer.c:5488
msgid "Merge with..."
msgstr ""
-#: ../src/viktrwlayer.c:4733
+#: ../src/viktrwlayer.c:5489
msgid "Select route to merge with"
msgstr ""
-#: ../src/viktrwlayer.c:4733
+#: ../src/viktrwlayer.c:5489
msgid "Select track to merge with"
msgstr ""
-#: ../src/viktrwlayer.c:4818 ../src/viktrwlayer.c:4895
+#: ../src/viktrwlayer.c:5573 ../src/viktrwlayer.c:5650
msgid "Append Route"
msgstr ""
-#: ../src/viktrwlayer.c:4818 ../src/viktrwlayer.c:4895
+#: ../src/viktrwlayer.c:5573 ../src/viktrwlayer.c:5650
msgid "Append Track"
msgstr ""
-#: ../src/viktrwlayer.c:4819
+#: ../src/viktrwlayer.c:5574
msgid "Select the route to append after the current route"
msgstr ""
-#: ../src/viktrwlayer.c:4820
+#: ../src/viktrwlayer.c:5575
msgid "Select the track to append after the current track"
msgstr ""
-#: ../src/viktrwlayer.c:4896
+#: ../src/viktrwlayer.c:5651
msgid "Select the track to append after the current route"
msgstr ""
-#: ../src/viktrwlayer.c:4897
+#: ../src/viktrwlayer.c:5652
msgid "Select the route to append after the current track"
msgstr ""
-#: ../src/viktrwlayer.c:4957
+#: ../src/viktrwlayer.c:5711
#, c-format
msgid "%d segment merged"
msgid_plural "%d segments merged"
msgstr[0] ""
msgstr[1] ""
-#: ../src/viktrwlayer.c:4973
+#: ../src/viktrwlayer.c:5727
msgid "Failed. This track does not have timestamp"
msgstr ""
-#: ../src/viktrwlayer.c:4985
+#: ../src/viktrwlayer.c:5739
msgid "Failed. No other track in this layer has timestamp"
msgstr ""
-#: ../src/viktrwlayer.c:4992
+#: ../src/viktrwlayer.c:5746
msgid "Merge Threshold..."
msgstr ""
-#: ../src/viktrwlayer.c:4993
+#: ../src/viktrwlayer.c:5747
msgid "Merge when time between tracks less than:"
msgstr ""
-#: ../src/viktrwlayer.c:5128
+#: ../src/viktrwlayer.c:5889
msgid "Split Threshold..."
msgstr ""
-#: ../src/viktrwlayer.c:5129
+#: ../src/viktrwlayer.c:5890
msgid "Split when time between trackpoints exceeds:"
msgstr ""
-#: ../src/viktrwlayer.c:5205
+#: ../src/viktrwlayer.c:5907
+#, c-format
+msgid ""
+"Can not split track due to trackpoints not ordered in time - such as at %s.\n"
+"\n"
+"Goto this trackpoint?"
+msgstr ""
+
+#: ../src/viktrwlayer.c:5976
msgid "Split Every Nth Point"
msgstr ""
-#: ../src/viktrwlayer.c:5206
+#: ../src/viktrwlayer.c:5977
msgid "Split on every Nth point:"
msgstr ""
-#: ../src/viktrwlayer.c:5312
+#: ../src/viktrwlayer.c:6087
msgid "Can not split track as it has no segments"
msgstr ""
-#: ../src/viktrwlayer.c:5340 ../src/viktrwlayer.c:5370
+#: ../src/viktrwlayer.c:6169 ../src/viktrwlayer.c:6199
#, c-format
msgid "Deleted %ld point"
msgid_plural "Deleted %ld points"
msgstr[0] ""
msgstr[1] ""
-#: ../src/viktrwlayer.c:5531
+#: ../src/viktrwlayer.c:6392
msgid "Internal Error in vik_trw_layer_uniquify_tracks"
msgstr ""
-#: ../src/viktrwlayer.c:5588 ../src/viktrwlayer.c:5635
-#: ../src/viktrwlayer.c:5814
+#: ../src/viktrwlayer.c:6496 ../src/viktrwlayer.c:6543
+#: ../src/viktrwlayer.c:6704
msgid ""
"Multiple entries with the same name exist. This method only works with "
"unique names. Force unique names now?"
msgstr ""
-#: ../src/viktrwlayer.c:5599
+#: ../src/viktrwlayer.c:6507
msgid "No tracks found"
msgstr ""
-#: ../src/viktrwlayer.c:5607 ../src/viktrwlayer.c:5654
-#: ../src/viktrwlayer.c:5834
+#: ../src/viktrwlayer.c:6515 ../src/viktrwlayer.c:6562
+#: ../src/viktrwlayer.c:6724
msgid "Delete Selection"
msgstr ""
-#: ../src/viktrwlayer.c:5608
+#: ../src/viktrwlayer.c:6516
msgid "Select tracks to delete"
msgstr ""
-#: ../src/viktrwlayer.c:5646
+#: ../src/viktrwlayer.c:6554
msgid "No routes found"
msgstr ""
-#: ../src/viktrwlayer.c:5655
+#: ../src/viktrwlayer.c:6563
msgid "Select routes to delete"
msgstr ""
-#: ../src/viktrwlayer.c:5761
+#: ../src/viktrwlayer.c:6669
msgid "Internal Error in vik_trw_layer_uniquify_waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:5824
+#: ../src/viktrwlayer.c:6714
msgid "No waypoints found"
msgstr ""
-#: ../src/viktrwlayer.c:5835
+#: ../src/viktrwlayer.c:6725
msgid "Select waypoints to delete"
msgstr ""
-#: ../src/viktrwlayer.c:5896
+#: ../src/viktrwlayer.c:7033
#, c-format
msgid ""
"A waypoint with the name \"%s\" already exists. Really rename to the same "
"name?"
msgstr ""
-#: ../src/viktrwlayer.c:5926
+#: ../src/viktrwlayer.c:7063
#, c-format
msgid ""
"A track with the name \"%s\" already exists. Really rename to the same name?"
msgstr ""
-#: ../src/viktrwlayer.c:5963
+#: ../src/viktrwlayer.c:7100
#, c-format
msgid ""
"A route with the name \"%s\" already exists. Really rename to the same name?"
msgstr ""
-#: ../src/viktrwlayer.c:6085 ../src/viktrwlayer.c:6337
+#: ../src/viktrwlayer.c:7221 ../src/viktrwlayer.c:7594
msgid "_Goto"
msgstr ""
-#: ../src/viktrwlayer.c:6104
+#: ../src/viktrwlayer.c:7240
msgid "_Visit Geocache Webpage"
msgstr ""
-#: ../src/viktrwlayer.c:6123
+#: ../src/viktrwlayer.c:7259
msgid "_Show Picture..."
msgstr ""
-#: ../src/viktrwlayer.c:6131
+#: ../src/viktrwlayer.c:7267
msgid "Update Geotag on _Image"
msgstr ""
-#: ../src/viktrwlayer.c:6137
+#: ../src/viktrwlayer.c:7273
msgid "_Update"
msgstr ""
-#: ../src/viktrwlayer.c:6142
+#: ../src/viktrwlayer.c:7278
msgid "Update and _Keep File Timestamp"
msgstr ""
-#: ../src/viktrwlayer.c:6153
+#: ../src/viktrwlayer.c:7289
msgid "Visit _Webpage"
msgstr ""
-#: ../src/viktrwlayer.c:6184
+#: ../src/viktrwlayer.c:7320
msgid "_New Waypoint..."
msgstr ""
-#: ../src/viktrwlayer.c:6193
+#: ../src/viktrwlayer.c:7329
msgid "_View All Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:6205
+#: ../src/viktrwlayer.c:7341
msgid "Delete _All Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:6211
+#: ../src/viktrwlayer.c:7347
msgid "_Delete Waypoints From Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:6233
+#: ../src/viktrwlayer.c:7359
+msgid "_Show All Waypoints"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7365
+msgid "_Hide All Waypoints"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7393
msgid "_View All Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:6239
+#: ../src/viktrwlayer.c:7399
msgid "_New Track"
msgstr ""
-#: ../src/viktrwlayer.c:6247
+#: ../src/viktrwlayer.c:7407
msgid "Delete _All Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:6253
+#: ../src/viktrwlayer.c:7413
msgid "_Delete Tracks From Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:6276
+#: ../src/viktrwlayer.c:7425
+msgid "_Show All Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7431
+msgid "_Hide All Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7442
+msgid "_List Tracks..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7471
msgid "_View All Routes"
msgstr ""
-#: ../src/viktrwlayer.c:6282
+#: ../src/viktrwlayer.c:7477
msgid "_New Route"
msgstr ""
-#: ../src/viktrwlayer.c:6327
+#: ../src/viktrwlayer.c:7503
+msgid "_Show All Routes"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7509
+msgid "_Hide All Routes"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7520
+msgid "_List Routes..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7579
msgid "_View Track"
msgstr ""
-#: ../src/viktrwlayer.c:6329
+#: ../src/viktrwlayer.c:7581
msgid "_View Route"
msgstr ""
-#: ../src/viktrwlayer.c:6343
+#: ../src/viktrwlayer.c:7600
msgid "_Startpoint"
msgstr ""
-#: ../src/viktrwlayer.c:6349
+#: ../src/viktrwlayer.c:7606
msgid "\"_Center\""
msgstr ""
-#: ../src/viktrwlayer.c:6355
+#: ../src/viktrwlayer.c:7612
msgid "_Endpoint"
msgstr ""
-#: ../src/viktrwlayer.c:6361
+#: ../src/viktrwlayer.c:7618
msgid "_Highest Altitude"
msgstr ""
-#: ../src/viktrwlayer.c:6367
+#: ../src/viktrwlayer.c:7624
msgid "_Lowest Altitude"
msgstr ""
-#: ../src/viktrwlayer.c:6375
+#: ../src/viktrwlayer.c:7632
msgid "_Maximum Speed"
msgstr ""
-#: ../src/viktrwlayer.c:6384
+#: ../src/viktrwlayer.c:7641
msgid "Co_mbine"
msgstr ""
-#: ../src/viktrwlayer.c:6392
+#: ../src/viktrwlayer.c:7649
msgid "_Merge By Time..."
msgstr ""
-#: ../src/viktrwlayer.c:6397
+#: ../src/viktrwlayer.c:7654
msgid "Merge _Segments"
msgstr ""
-#: ../src/viktrwlayer.c:6403
+#: ../src/viktrwlayer.c:7660
msgid "Merge _With Other Tracks..."
msgstr ""
-#: ../src/viktrwlayer.c:6409
+#: ../src/viktrwlayer.c:7666
msgid "_Append Track..."
msgstr ""
-#: ../src/viktrwlayer.c:6411
+#: ../src/viktrwlayer.c:7668
msgid "_Append Route..."
msgstr ""
-#: ../src/viktrwlayer.c:6417
+#: ../src/viktrwlayer.c:7674
msgid "Append _Route..."
msgstr ""
-#: ../src/viktrwlayer.c:6419
+#: ../src/viktrwlayer.c:7676
msgid "Append _Track..."
msgstr ""
-#: ../src/viktrwlayer.c:6426
+#: ../src/viktrwlayer.c:7683
msgid "_Split"
msgstr ""
-#: ../src/viktrwlayer.c:6434
+#: ../src/viktrwlayer.c:7691
msgid "_Split By Time..."
msgstr ""
#. ATM always enable this entry - don't want to have to analyse the track before displaying the menu - to keep the menu speedy
-#: ../src/viktrwlayer.c:6440
+#: ../src/viktrwlayer.c:7697
msgid "Split Se_gments"
msgstr ""
-#: ../src/viktrwlayer.c:6446
+#: ../src/viktrwlayer.c:7703
msgid "Split By _Number of Points..."
msgstr ""
-#: ../src/viktrwlayer.c:6451
+#: ../src/viktrwlayer.c:7708
msgid "Split at _Trackpoint"
msgstr ""
-#: ../src/viktrwlayer.c:6460
+#: ../src/viktrwlayer.c:7716
+msgid "_Insert Points"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7722
+msgid "Insert Point _Before Selected Point"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7729
+msgid "Insert Point _After Selected Point"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7738
msgid "Delete Poi_nts"
msgstr ""
-#: ../src/viktrwlayer.c:6466
+#: ../src/viktrwlayer.c:7744
+msgid "Delete _Selected Point"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7752
msgid "Delete Points With The Same _Position"
msgstr ""
-#: ../src/viktrwlayer.c:6471
+#: ../src/viktrwlayer.c:7757
msgid "Delete Points With The Same _Time"
msgstr ""
-#: ../src/viktrwlayer.c:6477
-msgid "_Reverse Track"
+#: ../src/viktrwlayer.c:7764 ../src/viktrwlayer.c:7964
+msgid "_Transform"
msgstr ""
-#: ../src/viktrwlayer.c:6479
-msgid "_Reverse Route"
+#: ../src/viktrwlayer.c:7772 ../src/viktrwlayer.c:7972
+msgid "_Apply DEM Data"
msgstr ""
-#: ../src/viktrwlayer.c:6488
-msgid "Down_load Maps Along Track..."
+#: ../src/viktrwlayer.c:7777 ../src/viktrwlayer.c:7977
+msgid "_Overwrite"
msgstr ""
-#: ../src/viktrwlayer.c:6490
-msgid "Down_load Maps Along Route..."
+#: ../src/viktrwlayer.c:7780 ../src/viktrwlayer.c:7980
+msgid "Overwrite any existing elevation values with DEM values"
msgstr ""
-#: ../src/viktrwlayer.c:6497
-msgid "_Apply DEM Data"
+#: ../src/viktrwlayer.c:7783 ../src/viktrwlayer.c:7983
+msgid "_Keep Existing"
msgstr ""
-#: ../src/viktrwlayer.c:6504
-msgid "_Export Track as GPX..."
+#: ../src/viktrwlayer.c:7786 ../src/viktrwlayer.c:7986
+msgid "Keep existing elevation values, only attempt for missing values"
msgstr ""
-#: ../src/viktrwlayer.c:6506
-msgid "_Export Route as GPX..."
+#: ../src/viktrwlayer.c:7791
+msgid "_Smooth Missing Elevation Data"
msgstr ""
-#: ../src/viktrwlayer.c:6513
-msgid "E_xtend Track End"
+#: ../src/viktrwlayer.c:7796
+msgid "_Interpolated"
msgstr ""
-#: ../src/viktrwlayer.c:6515
-msgid "E_xtend Route End"
+#: ../src/viktrwlayer.c:7799
+msgid ""
+"Interpolate between known elevation values to derive values for the missing "
+"elevations"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7802
+msgid "_Flat"
msgstr ""
-#: ../src/viktrwlayer.c:6522
+#: ../src/viktrwlayer.c:7805
+msgid "Set unknown elevation values to the last known value"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7809
msgid "C_onvert to a Route"
msgstr ""
-#: ../src/viktrwlayer.c:6524
+#: ../src/viktrwlayer.c:7811
msgid "C_onvert to a Track"
msgstr ""
-#: ../src/viktrwlayer.c:6532
+#: ../src/viktrwlayer.c:7819
+msgid "_Anonymize Times"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7822
+msgid "Shift timestamps to a relative offset from 1901-01-01"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7827
+msgid "_Reverse Track"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7829
+msgid "_Reverse Route"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7836
+msgid "Refine Route..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7846
+msgid "Down_load Maps Along Track..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7848
+msgid "Down_load Maps Along Route..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7856
+msgid "_Export Track as GPX..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7858
+msgid "_Export Route as GPX..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7865
+msgid "E_xtend Track End"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7867
+msgid "E_xtend Route End"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7874
msgid "Extend _Using Route Finder"
msgstr ""
-#: ../src/viktrwlayer.c:6548
+#: ../src/viktrwlayer.c:7889
msgid "_Upload to GPS..."
msgstr ""
-#: ../src/viktrwlayer.c:6559
+#: ../src/viktrwlayer.c:7900
msgid "_View Google Directions"
msgstr ""
-#: ../src/viktrwlayer.c:6579
+#: ../src/viktrwlayer.c:7920
msgid "Use with _Filter"
msgstr ""
-#: ../src/viktrwlayer.c:6612
+#: ../src/viktrwlayer.c:7953
msgid "_Edit Trackpoint"
msgstr ""
-#: ../src/viktrwlayer.c:7524
+#: ../src/viktrwlayer.c:9017
#, c-format
msgid " - Gain %dm:Loss %dm"
msgstr ""
-#: ../src/viktrwlayer.c:7526
+#: ../src/viktrwlayer.c:9019
#, c-format
msgid " - Gain %dft:Loss %dft"
msgstr ""
-#: ../src/viktrwlayer.c:7531
+#: ../src/viktrwlayer.c:9024
#, c-format
msgid " - Bearing %3.1f° - Step %s"
msgstr ""
-#: ../src/viktrwlayer.c:8124
+#: ../src/viktrwlayer.c:9628
#, c-format
msgid "Could not launch %s to open file."
msgstr ""
-#: ../src/viktrwlayer.c:8205
+#: ../src/viktrwlayer.c:9709
#, c-format
msgid "Creating %d Image Thumbnails..."
msgstr ""
-#: ../src/viktrwlayer.c:8524
+#: ../src/viktrwlayer.c:10106
msgid "No map layer in use. Create one first"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:898 ../src/viktrwlayer_propwin.c:1155
+#: ../src/viktrwlayer.c:10225
+#, c-format
+msgid "%s: Track List"
+msgstr ""
+
+#: ../src/viktrwlayer.c:10227
+#, c-format
+msgid "%s: Route List"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:828 ../src/viktrwlayer_propwin.c:1085
#, c-format
msgid "%.1f kph"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:901 ../src/viktrwlayer_propwin.c:1158
+#: ../src/viktrwlayer_propwin.c:831 ../src/viktrwlayer_propwin.c:1088
+#: ../src/viktrwlayer_analysis.c:290
#, c-format
msgid "%.1f mph"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:904 ../src/viktrwlayer_propwin.c:1161
+#: ../src/viktrwlayer_propwin.c:834 ../src/viktrwlayer_propwin.c:1091
#, c-format
msgid "%.1f knots"
msgstr ""
#. VIK_UNITS_SPEED_METRES_PER_SECOND:
-#: ../src/viktrwlayer_propwin.c:908 ../src/viktrwlayer_propwin.c:1165
+#: ../src/viktrwlayer_propwin.c:838 ../src/viktrwlayer_propwin.c:1095
#, c-format
msgid "%.1f m/s"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:1745
+#: ../src/viktrwlayer_propwin.c:1662 ../src/viktrwlayer_analysis.c:267
#, c-format
msgid "%.1f miles"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:1747
+#. VIK_UNITS_DISTANCE_KILOMETRES
+#: ../src/viktrwlayer_propwin.c:1664 ../src/viktrwlayer_analysis.c:271
#, c-format
msgid "%.1f km"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2681
+#: ../src/viktrwlayer_propwin.c:2582
msgid "Failed spliting track. Track unchanged"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2779 ../src/viktrwlayer_propwin.c:3178
+#: ../src/viktrwlayer_propwin.c:2724 ../src/viktrwlayer_propwin.c:3140
#, c-format
msgid "%s - Track Properties"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2784
+#: ../src/viktrwlayer_propwin.c:2729
msgid "Split at _Marker"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2785
+#: ../src/viktrwlayer_propwin.c:2730
msgid "Split _Segments"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2786
+#: ../src/viktrwlayer_propwin.c:2731
msgid "_Reverse"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2787
+#: ../src/viktrwlayer_propwin.c:2732
msgid "_Delete Dupl."
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2813
+#: ../src/viktrwlayer_propwin.c:2757
msgid "<b>Comment:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2814
+#: ../src/viktrwlayer_propwin.c:2758
msgid "<b>Description:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2815
+#: ../src/viktrwlayer_propwin.c:2759
+msgid "<b>Color:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2760
+msgid "<b>Draw Name:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2761
+msgid "<b>Distance Labels:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2764
msgid "<b>Track Length:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2816
+#: ../src/viktrwlayer_propwin.c:2765
msgid "<b>Trackpoints:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2817
+#: ../src/viktrwlayer_propwin.c:2766
msgid "<b>Segments:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2818
+#: ../src/viktrwlayer_propwin.c:2767
msgid "<b>Duplicate Points:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2819
+#: ../src/viktrwlayer_propwin.c:2768
msgid "<b>Max Speed:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2820
+#: ../src/viktrwlayer_propwin.c:2769
msgid "<b>Avg. Speed:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2821
+#: ../src/viktrwlayer_propwin.c:2770
msgid "<b>Moving Avg. Speed:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2822
+#: ../src/viktrwlayer_propwin.c:2771
msgid "<b>Avg. Dist. Between TPs:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2823
+#: ../src/viktrwlayer_propwin.c:2772
msgid "<b>Elevation Range:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2824
+#: ../src/viktrwlayer_propwin.c:2773
msgid "<b>Total Elevation Gain/Loss:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2825
+#: ../src/viktrwlayer_propwin.c:2774
msgid "<b>Start:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2826
+#: ../src/viktrwlayer_propwin.c:2775
msgid "<b>End:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2827
+#: ../src/viktrwlayer_propwin.c:2776
msgid "<b>Duration:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2828
-msgid "<b>Color:</b>"
+#: ../src/viktrwlayer_propwin.c:2797
+msgid "No"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2798
+msgid "Centre"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2799
+msgid "Start only"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2800
+msgid "End only"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2801
+msgid "Start and End"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2802
+msgid "Centre, Start and End"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2814
+msgid "Maximum number of distance labels to be shown"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2818
+msgid "Properties"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2877 ../src/viktrwlayer_propwin.c:2901
-#: ../src/viktrwlayer_propwin.c:2929 ../src/viktrwlayer_propwin.c:2966
-#: ../src/viktrwlayer_propwin.c:2984 ../src/viktrwlayer_propwin.c:3034
-#: ../src/viktrwlayer_propwin.c:3035 ../src/viktrwlayer_propwin.c:3036
-#: ../src/viktrwlayer_propwin.c:3062 ../src/viktrwlayer_propwin.c:3063
+#: ../src/viktrwlayer_propwin.c:2856 ../src/viktrwlayer_propwin.c:2880
+#: ../src/viktrwlayer_propwin.c:2908 ../src/viktrwlayer_propwin.c:2945
+#: ../src/viktrwlayer_propwin.c:2963 ../src/viktrwlayer_propwin.c:3009
+#: ../src/viktrwlayer_propwin.c:3010 ../src/viktrwlayer_propwin.c:3011
+#: ../src/viktrwlayer_propwin.c:3020 ../src/viktrwlayer_propwin.c:3021
+#: ../src/viktrwlayer_propwin.c:3036 ../src/viktrwlayer_propwin.c:3037
+#: ../src/viktrwlayer_propwin.c:3050 ../src/viktrwlayer_propwin.c:3051
+#: ../src/viktrwlayer_propwin.c:3064 ../src/viktrwlayer_propwin.c:3065
#: ../src/viktrwlayer_propwin.c:3078 ../src/viktrwlayer_propwin.c:3079
#: ../src/viktrwlayer_propwin.c:3092 ../src/viktrwlayer_propwin.c:3093
-#: ../src/viktrwlayer_propwin.c:3106 ../src/viktrwlayer_propwin.c:3107
-#: ../src/viktrwlayer_propwin.c:3120 ../src/viktrwlayer_propwin.c:3121
-#: ../src/viktrwlayer_propwin.c:3134 ../src/viktrwlayer_propwin.c:3135
+#: ../src/viktrwlayer_analysis.c:257
#, c-format
msgid "No Data"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3031
+#: ../src/viktrwlayer_propwin.c:3006
#, c-format
msgid "%d minutes"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3058
+#: ../src/viktrwlayer_propwin.c:3016 ../src/viktrwlayer_analysis.c:515
msgid "Statistics"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3064
+#: ../src/viktrwlayer_propwin.c:3022
msgid "Show D_EM"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3065 ../src/viktrwlayer_propwin.c:3080
-#: ../src/viktrwlayer_propwin.c:3094 ../src/viktrwlayer_propwin.c:3136
+#: ../src/viktrwlayer_propwin.c:3023 ../src/viktrwlayer_propwin.c:3038
+#: ../src/viktrwlayer_propwin.c:3052 ../src/viktrwlayer_propwin.c:3094
msgid "Show _GPS Speed"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3067 ../src/viktrwlayer_propwin.c:3082
-#: ../src/viktrwlayer_propwin.c:3110 ../src/viktrwlayer_propwin.c:3138
+#: ../src/viktrwlayer_propwin.c:3025 ../src/viktrwlayer_propwin.c:3040
+#: ../src/viktrwlayer_propwin.c:3068 ../src/viktrwlayer_propwin.c:3096
msgid "<b>Track Distance:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3068 ../src/viktrwlayer_propwin.c:3125
+#: ../src/viktrwlayer_propwin.c:3026 ../src/viktrwlayer_propwin.c:3083
msgid "<b>Track Height:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3073
+#: ../src/viktrwlayer_propwin.c:3031
msgid "Elevation-distance"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3083
+#: ../src/viktrwlayer_propwin.c:3041
msgid "<b>Track Gradient:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3087
+#: ../src/viktrwlayer_propwin.c:3045
msgid "Gradient-distance"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3096 ../src/viktrwlayer_propwin.c:3111
-#: ../src/viktrwlayer_propwin.c:3124
+#: ../src/viktrwlayer_propwin.c:3054 ../src/viktrwlayer_propwin.c:3069
+#: ../src/viktrwlayer_propwin.c:3082
msgid "<b>Track Time:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3097 ../src/viktrwlayer_propwin.c:3139
+#: ../src/viktrwlayer_propwin.c:3055 ../src/viktrwlayer_propwin.c:3097
msgid "<b>Track Speed:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3101
+#: ../src/viktrwlayer_propwin.c:3059
msgid "Speed-time"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3108 ../src/viktrwlayer_propwin.c:3122
+#: ../src/viktrwlayer_propwin.c:3066 ../src/viktrwlayer_propwin.c:3080
msgid "Show S_peed"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3115
+#: ../src/viktrwlayer_propwin.c:3073
msgid "Distance-time"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3129
+#: ../src/viktrwlayer_propwin.c:3087
msgid "Elevation-time"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3143
+#: ../src/viktrwlayer_propwin.c:3101
msgid "Speed-distance"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:118
+#: ../src/viktrwlayer_tpwin.c:119
msgid "<b>Part of Track:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:119
+#: ../src/viktrwlayer_tpwin.c:120
msgid "<b>Latitude:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:120
+#: ../src/viktrwlayer_tpwin.c:121
msgid "<b>Longitude:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:121
+#: ../src/viktrwlayer_tpwin.c:122
msgid "<b>Altitude:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:122
+#: ../src/viktrwlayer_tpwin.c:123
+msgid "<b>Course:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_tpwin.c:124
msgid "<b>Timestamp:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:123
+#: ../src/viktrwlayer_tpwin.c:125
msgid "<b>Time:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:124
+#: ../src/viktrwlayer_tpwin.c:126
msgid "<b>Distance Difference:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:125
+#: ../src/viktrwlayer_tpwin.c:127
msgid "<b>Time Difference:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:126
+#: ../src/viktrwlayer_tpwin.c:128
msgid "<b>\"Speed\" Between:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:127
+#: ../src/viktrwlayer_tpwin.c:129
+msgid "<b>Speed:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_tpwin.c:130
msgid "<b>VDOP:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:128
+#: ../src/viktrwlayer_tpwin.c:131
msgid "<b>HDOP:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:129
+#: ../src/viktrwlayer_tpwin.c:132
msgid "<b>PDOP:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:130
+#: ../src/viktrwlayer_tpwin.c:133
msgid "<b>SAT/FIX:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:139
+#: ../src/viktrwlayer_tpwin.c:141
msgid "Trackpoint"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:142
+#: ../src/viktrwlayer_tpwin.c:144
msgid "_Insert After"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:144
+#: ../src/viktrwlayer_tpwin.c:146
msgid "Split Here"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:446
+#.
+#. item = gtk_image_menu_item_new_with_mnemonic ( _("_Select") );
+#. gtk_image_menu_item_set_image ( (GtkImageMenuItem*)item, gtk_image_new_from_stock (GTK_STOCK_FIND, GTK_ICON_SIZE_MENU) );
+#. g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(trw_layer_track_select), values );
+#. gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
+#. gtk_widget_show ( item );
+#.
+#. ATM view auto selects, so don't bother with separate select menu entry
+#: ../src/viktrwlayer_tracklist.c:231 ../src/vikwindow.c:3695
+msgid "_View"
+msgstr ""
+
+#. Insert column for the layer name when viewing multi layers
+#: ../src/viktrwlayer_tracklist.c:514
+msgid "Layer"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:526
+msgid "Date"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:529
+msgid "Visible"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:536
+msgid ""
+"Distance\n"
+"(miles)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:539
+msgid ""
+"Distance\n"
+"(km)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:545
+msgid ""
+"Length\n"
+"(minutes)"
+msgstr ""
+
+#. VIK_UNITS_SPEED_KILOMETRES_PER_HOUR:
+#: ../src/viktrwlayer_tracklist.c:549 ../src/vikutils.c:72
+msgid "km/h"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:550 ../src/vikutils.c:62
+msgid "mph"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:551 ../src/vikutils.c:68
+msgid "knots"
+msgstr ""
+
+#. VIK_UNITS_SPEED_METRES_PER_SECOND:
+#: ../src/viktrwlayer_tracklist.c:553 ../src/vikutils.c:65
+msgid "m/s"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:556
+#, c-format
+msgid ""
+"Av. Speed\n"
+"(%s)"
+msgstr ""
+
+#. Apply own formatting of the data
+#: ../src/viktrwlayer_tracklist.c:561
+#, c-format
+msgid ""
+"Max Speed\n"
+"(%s)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:569
+msgid ""
+"Max Height\n"
+"(Feet)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:571
+msgid ""
+"Max Height\n"
+"(Metres)"
+msgstr ""
+
+#: ../src/viktrwlayer_geotag.c:481
#, c-format
msgid "Geotagging %d Images..."
msgstr ""
-#: ../src/viktrwlayer_geotag.c:510
+#: ../src/viktrwlayer_geotag.c:545
msgid "Geotag Images"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:516
+#: ../src/viktrwlayer_geotag.c:551
msgid "Images"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:520
+#: ../src/viktrwlayer_geotag.c:555
msgid "Overwrite Existing Waypoints:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:523
+#: ../src/viktrwlayer_geotag.c:558
msgid "Overwrite Existing GPS Information:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:525
+#: ../src/viktrwlayer_geotag.c:560
msgid "Keep File Modification Timestamp:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:555
+#: ../src/viktrwlayer_geotag.c:592
msgid "Create Waypoints:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:563
+#: ../src/viktrwlayer_geotag.c:600
msgid "Write EXIF:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:575
+#: ../src/viktrwlayer_geotag.c:612
msgid "Interpolate Between Track Segments:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:579
+#: ../src/viktrwlayer_geotag.c:616
msgid "Image Time Offset (Seconds):"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:581
+#: ../src/viktrwlayer_geotag.c:618
msgid ""
"The number of seconds to ADD to the photos time to make it match the GPS "
"data. Calculate this with (GPS - Photo). Can be negative or positive. Useful "
"to adjust times when a camera's timestamp was incorrect."
msgstr ""
-#: ../src/viktrwlayer_geotag.c:584
+#: ../src/viktrwlayer_geotag.c:621
msgid "Image Timezone:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:586
+#: ../src/viktrwlayer_geotag.c:623
msgid ""
"The timezone that was used when the images were created. For example, if a "
"camera is set to AWST or +8:00 hours. Enter +8:00 here so that the correct "
"adjustment to the images' time can be made. GPS data is always in UTC."
msgstr ""
-#: ../src/viktrwlayer_geotag.c:590
+#: ../src/viktrwlayer_geotag.c:627
#, c-format
msgid "Using track: %s"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:592
+#: ../src/viktrwlayer_geotag.c:629
#, c-format
msgid "Using all tracks in: %s"
msgstr ""
-#: ../src/vikstatus.c:105
+#: ../src/viktrwlayer_analysis.c:193
+msgid "Number of Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:194
+msgid "Date Range"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:195
+msgid "Total Length"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:196
+msgid "Average Length"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:197
+msgid "Max Speed"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:198
+msgid "Avg. Speed"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:199
+msgid "Minimum Altitude"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:200
+msgid "Maximum Altitude"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:201
+msgid "Total Elevation Gain/Loss"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:202
+msgid "Avg. Elevation Gain/Loss"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:203
+msgid "Total Duration"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:204
+msgid "Avg. Duration"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:278
+#, c-format
+msgid "%.2f miles"
+msgstr ""
+
+#. VIK_UNITS_DISTANCE_KILOMETRES
+#: ../src/viktrwlayer_analysis.c:282
+#, c-format
+msgid "%.2f km"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:297
+#, c-format
+msgid "%.2f m/s"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:306
+#, c-format
+msgid "%.2f knots\n"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:309
+#, c-format
+msgid "%.2f knots"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:316 ../src/viktrwlayer_analysis.c:319
+#, c-format
+msgid "%.2f km/h"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:330 ../src/viktrwlayer_analysis.c:336
+#, c-format
+msgid "%d feet"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:341 ../src/viktrwlayer_analysis.c:343
+#, c-format
+msgid "%d feet / %d feet"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:348 ../src/viktrwlayer_analysis.c:354
+#, c-format
+msgid "%d m"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:359 ../src/viktrwlayer_analysis.c:361
+#, c-format
+msgid "%d m / %d m"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:373
+#, c-format
+msgid "%d:%02d:%02d days:hrs:mins"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:380
+#, c-format
+msgid "%d:%02d hrs:mins"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:550
+msgid "Include Invisible Items"
+msgstr ""
+
+#: ../src/vikstatus.c:107
+msgid "Current number of background tasks. Click to see the background jobs."
+msgstr ""
+
+#: ../src/vikstatus.c:113
msgid "Current zoom level. Click to select a new one."
msgstr ""
-#: ../src/vikwaypoint.c:34
+#: ../src/vikutils.c:80
+msgid "GPSD"
+msgstr ""
+
+#. GPS Preamble
+#: ../src/vikutils.c:81
+msgid "Trkpt"
+msgstr ""
+
+#: ../src/vikutils.c:121
+#, c-format
+msgid "%sSpeed%s %.1f%s"
+msgstr ""
+
+#: ../src/vikutils.c:130
+#, c-format
+msgid "%sAlt %dfeet"
+msgstr ""
+
+#. VIK_UNITS_HEIGHT_METRES:
+#: ../src/vikutils.c:134
+#, c-format
+msgid "%sAlt %dm"
+msgstr ""
+
+#: ../src/vikutils.c:142
+#, c-format
+msgid "%sCourse %03d°"
+msgstr ""
+
+#: ../src/vikutils.c:155
+msgid "yards"
+msgstr ""
+
+#. VIK_UNITS_DISTANCE_KILOMETRES:
+#: ../src/vikutils.c:159
+msgid "m"
+msgstr ""
+
+#: ../src/vikutils.c:163
+#, c-format
+msgid "%sDistance diff %d%s"
+msgstr ""
+
+#: ../src/vikutils.c:179
+#, c-format
+msgid "%sTime %s"
+msgstr ""
+
+#: ../src/vikutils.c:187
+#, c-format
+msgid "%sTime diff %lds"
+msgstr ""
+
+#: ../src/vikutils.c:193
+#, c-format
+msgid "%sNo. of Sats %d"
+msgstr ""
+
+#: ../src/vikutils.c:213
+#, c-format
+msgid "%sDistance along %.2f%s"
+msgstr ""
+
+#. Name of track
+#: ../src/vikutils.c:232
+#, c-format
+msgid "%sTrack: %s"
+msgstr ""
+
+#: ../src/vikwaypoint.c:36
msgid "Waypoint"
msgstr ""
#. TODO get rid of this as this is unnecessary duplication...
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Pan"
msgstr ""
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Zoom"
msgstr ""
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Ruler"
msgstr ""
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Select"
msgstr ""
+#: ../src/vikwindow.c:381
+msgid "Location lookup aborted"
+msgstr ""
+
+#: ../src/vikwindow.c:401
+#, c-format
+msgid "Location found: %s"
+msgstr ""
+
+#: ../src/vikwindow.c:410
+msgid "Unable to determine location"
+msgstr ""
+
+#: ../src/vikwindow.c:434
+msgid "Default Map"
+msgstr ""
+
+#: ../src/vikwindow.c:444
+msgid "Trying to determine location..."
+msgstr ""
+
+#: ../src/vikwindow.c:447
+msgid "Determining location"
+msgstr ""
+
#. Create tooltip
-#: ../src/vikwindow.c:440
+#: ../src/vikwindow.c:605
msgid "Select zoom level"
msgstr ""
-#: ../src/vikwindow.c:645
+#: ../src/vikwindow.c:923
#, c-format
msgid ""
"Do you want to save the changes you made to the document \"%s\"?\n"
@@ -3149,624 +3991,708 @@ msgid ""
"Your changes will be lost if you don't save them."
msgstr ""
-#: ../src/vikwindow.c:649
+#: ../src/vikwindow.c:927
msgid "Don't Save"
msgstr ""
-#: ../src/vikwindow.c:696
+#: ../src/vikwindow.c:1005
msgid "mpp"
msgstr ""
-#: ../src/vikwindow.c:696
+#: ../src/vikwindow.c:1005
msgid "pixelfact"
msgstr ""
-#: ../src/vikwindow.c:861
+#: ../src/vikwindow.c:1169
#, c-format
msgid "%s %s %dm"
msgstr ""
-#: ../src/vikwindow.c:863
+#: ../src/vikwindow.c:1171
#, c-format
msgid "%s %s %dft"
msgstr ""
-#: ../src/vikwindow.c:866
+#: ../src/vikwindow.c:1174
#, c-format
msgid "%s %s"
msgstr ""
#. NB Ctrl+Shift+R is used for Refresh (deemed more important), so use 'U' instead
-#: ../src/vikwindow.c:1254
+#: ../src/vikwindow.c:1562
msgid "_Ruler"
msgstr ""
-#: ../src/vikwindow.c:1254
+#: ../src/vikwindow.c:1562
msgid "Ruler Tool"
msgstr ""
-#: ../src/vikwindow.c:1502 ../src/vikwindow.c:3138
+#: ../src/vikwindow.c:1810 ../src/vikwindow.c:3697
msgid "_Zoom"
msgstr ""
-#: ../src/vikwindow.c:1502
+#: ../src/vikwindow.c:1810
msgid "Zoom Tool"
msgstr ""
-#: ../src/vikwindow.c:1547 ../src/vikwindow.c:3139
+#: ../src/vikwindow.c:1855 ../src/vikwindow.c:3698
msgid "_Pan"
msgstr ""
-#: ../src/vikwindow.c:1547
+#: ../src/vikwindow.c:1855
msgid "Pan Tool"
msgstr ""
-#: ../src/vikwindow.c:1664
+#: ../src/vikwindow.c:1972
msgid "_Select"
msgstr ""
-#: ../src/vikwindow.c:1664
+#: ../src/vikwindow.c:1972
msgid "Select Tool"
msgstr ""
-#: ../src/vikwindow.c:1809
+#: ../src/vikwindow.c:2123
msgid "You must select a layer to show its properties."
msgstr ""
#. No error to show, so unlikely this will get called
-#: ../src/vikwindow.c:1824
+#: ../src/vikwindow.c:2137
msgid "The help system is not available."
msgstr ""
#. Main error path
-#: ../src/vikwindow.c:1827
+#: ../src/vikwindow.c:2140
#, c-format
msgid ""
"Help is not available because: %s.\n"
"Ensure a Mime Type ghelp handler program is installed (e.g. yelp)."
msgstr ""
-#: ../src/vikwindow.c:1850
+#: ../src/vikwindow.c:2160
msgid "You must select a layer to delete."
msgstr ""
-#: ../src/vikwindow.c:2087
+#: ../src/vikwindow.c:2396
msgid "Untitled"
msgstr ""
-#: ../src/vikwindow.c:2194
+#: ../src/vikwindow.c:2503
#, c-format
msgid "Unable to add '%s' to the list of recently used documents"
msgstr ""
-#: ../src/vikwindow.c:2208
+#: ../src/vikwindow.c:2540
msgid "The file you requested could not be opened."
msgstr ""
-#: ../src/vikwindow.c:2211
+#: ../src/vikwindow.c:2543
msgid ""
"GPSBabel is required to load files of this type or GPSBabel encountered "
"problems."
msgstr ""
-#: ../src/vikwindow.c:2214
+#: ../src/vikwindow.c:2546
#, c-format
msgid "Unable to load malformed GPX file %s"
msgstr ""
-#: ../src/vikwindow.c:2217
+#: ../src/vikwindow.c:2549
#, c-format
msgid "Unsupported file type for %s"
msgstr ""
#. Since we can process .vik files with issues just show a warning in the status bar
#. Not that a user can do much about it... or tells them what this issue is yet...
-#: ../src/vikwindow.c:2223
+#: ../src/vikwindow.c:2555
#, c-format
msgid "WARNING: issues encountered loading %s"
msgstr ""
-#: ../src/vikwindow.c:2278
+#: ../src/vikwindow.c:2613
msgid "Please select a GPS data file to open. "
msgstr ""
-#: ../src/vikwindow.c:2288
+#: ../src/vikwindow.c:2629
msgid "Geocaching"
msgstr ""
-#: ../src/vikwindow.c:2294
+#: ../src/vikwindow.c:2635
msgid "Google Earth"
msgstr ""
-#: ../src/vikwindow.c:2299
+#: ../src/vikwindow.c:2640
msgid "GPX"
msgstr ""
-#: ../src/vikwindow.c:2304 ../src/vikwindow.c:2387
+#: ../src/vikwindow.c:2645 ../src/vikwindow.c:2734
#: ../src/viking.desktop.in.h:1
msgid "Viking"
msgstr ""
-#: ../src/vikwindow.c:2374
+#: ../src/vikwindow.c:2715
msgid "Save as Viking File."
msgstr ""
+#: ../src/vikwindow.c:2841
+msgid "Exporting to file: "
+msgstr ""
+
+#. Confirm what happened.
+#: ../src/vikwindow.c:2858
+#, c-format
+msgid "Exported files: %d"
+msgstr ""
+
+#: ../src/vikwindow.c:2870
+msgid "Nothing to Export!"
+msgstr ""
+
+#: ../src/vikwindow.c:2874
+msgid "Export to directory"
+msgstr ""
+
+#: ../src/vikwindow.c:2896
+msgid "Could not convert all files"
+msgstr ""
+
+#: ../src/vikwindow.c:2932
+#, c-format
+msgid "%d bytes"
+msgstr ""
+
+#: ../src/vikwindow.c:2934
+#, c-format
+msgid "%3.1f kB"
+msgstr ""
+
+#: ../src/vikwindow.c:2936
+#, c-format
+msgid "%3.1f MB"
+msgstr ""
+
+#: ../src/vikwindow.c:2937
+#, c-format
+msgid ""
+"%s\n"
+"\n"
+"%s\n"
+"\n"
+"%s"
+msgstr ""
+
+#: ../src/vikwindow.c:2942
+msgid "File not accessible"
+msgstr ""
+
+#: ../src/vikwindow.c:2945
+msgid "No Viking File"
+msgstr ""
+
+#: ../src/vikwindow.c:3035
+msgid "This layer has no configurable properties."
+msgstr ""
+
#. Try harder...
-#: ../src/vikwindow.c:2619 ../src/vikwindow.c:2625
+#: ../src/vikwindow.c:3169 ../src/vikwindow.c:3175
msgid "Generating image file..."
msgstr ""
-#: ../src/vikwindow.c:2647
+#: ../src/vikwindow.c:3197
msgid ""
"Failed to generate internal image.\n"
"\n"
"Try creating a smaller image."
msgstr ""
-#: ../src/vikwindow.c:2655
+#: ../src/vikwindow.c:3205
msgid "Failed to generate image file."
msgstr ""
#. Success
-#: ../src/vikwindow.c:2660
+#: ../src/vikwindow.c:3210
msgid "Image file generated."
msgstr ""
-#: ../src/vikwindow.c:2764
+#: ../src/vikwindow.c:3314
msgid ""
"Viewable region outside allowable pixel size bounds for image. Clipping "
"width/height values."
msgstr ""
-#: ../src/vikwindow.c:2789
+#: ../src/vikwindow.c:3339
#, c-format
msgid "Total area: %ldm x %ldm (%.3f sq. km)"
msgstr ""
-#: ../src/vikwindow.c:2792
+#: ../src/vikwindow.c:3342
#, c-format
msgid "Total area: %ldm x %ldm (%.3f sq. miles)"
msgstr ""
-#: ../src/vikwindow.c:2813
+#: ../src/vikwindow.c:3363
msgid "Save Image"
msgstr ""
-#: ../src/vikwindow.c:2834
+#: ../src/vikwindow.c:3393
msgid "PNG"
msgstr ""
-#: ../src/vikwindow.c:2857
+#: ../src/vikwindow.c:3416
msgid "You must be in UTM mode to use this feature"
msgstr ""
-#: ../src/vikwindow.c:2862
+#: ../src/vikwindow.c:3421
msgid "Choose a directory to hold images"
msgstr ""
#. todo: default for answers inside VikWindow or static (thruout instance)
-#: ../src/vikwindow.c:2883
+#: ../src/vikwindow.c:3442
msgid "Save to Image File"
msgstr ""
-#: ../src/vikwindow.c:2900
+#: ../src/vikwindow.c:3459
msgid "Width (pixels):"
msgstr ""
-#: ../src/vikwindow.c:2902
+#: ../src/vikwindow.c:3461
msgid "Height (pixels):"
msgstr ""
-#: ../src/vikwindow.c:2905
+#: ../src/vikwindow.c:3464
msgid ""
"WARNING: USING LARGE IMAGES OVER 10000x10000\n"
"MAY CRASH THE PROGRAM!"
msgstr ""
-#: ../src/vikwindow.c:2907
+#: ../src/vikwindow.c:3466
msgid "Zoom (meters per pixel):"
msgstr ""
-#: ../src/vikwindow.c:2921
+#: ../src/vikwindow.c:3482
msgid "Area in current viewable window"
msgstr ""
-#: ../src/vikwindow.c:2931
+#: ../src/vikwindow.c:3492
msgid "Save as PNG"
msgstr ""
-#: ../src/vikwindow.c:2932
+#: ../src/vikwindow.c:3493
msgid "Save as JPEG"
msgstr ""
-#: ../src/vikwindow.c:2954
+#: ../src/vikwindow.c:3515
msgid "East-west image tiles:"
msgstr ""
-#: ../src/vikwindow.c:2956
+#: ../src/vikwindow.c:3517
msgid "North-south image tiles:"
msgstr ""
-#: ../src/vikwindow.c:3097
+#: ../src/vikwindow.c:3656
msgid "Choose a background color"
msgstr ""
-#: ../src/vikwindow.c:3113
+#: ../src/vikwindow.c:3672
msgid "Choose a track highlight color"
msgstr ""
-#: ../src/vikwindow.c:3134
+#: ../src/vikwindow.c:3693
msgid "_File"
msgstr ""
-#: ../src/vikwindow.c:3135
+#: ../src/vikwindow.c:3694
msgid "_Edit"
msgstr ""
-#: ../src/vikwindow.c:3136
-msgid "_View"
-msgstr ""
-
-#: ../src/vikwindow.c:3137
+#: ../src/vikwindow.c:3696
msgid "_Show"
msgstr ""
-#: ../src/vikwindow.c:3140
+#: ../src/vikwindow.c:3699
msgid "_Layers"
msgstr ""
-#: ../src/vikwindow.c:3141
+#: ../src/vikwindow.c:3700
msgid "_Tools"
msgstr ""
-#: ../src/vikwindow.c:3142
+#: ../src/vikwindow.c:3701
msgid "_Webtools"
msgstr ""
-#: ../src/vikwindow.c:3143 ../src/vikwindow.c:3206
+#: ../src/vikwindow.c:3702 ../src/vikwindow.c:3763
msgid "_Help"
msgstr ""
-#: ../src/vikwindow.c:3145
+#: ../src/vikwindow.c:3704
msgid "New file"
msgstr ""
-#: ../src/vikwindow.c:3146
+#: ../src/vikwindow.c:3705
msgid "_Open..."
msgstr ""
-#: ../src/vikwindow.c:3146
+#: ../src/vikwindow.c:3705
msgid "Open a file"
msgstr ""
-#: ../src/vikwindow.c:3147
+#: ../src/vikwindow.c:3706
msgid "Open _Recent File"
msgstr ""
-#: ../src/vikwindow.c:3148
+#: ../src/vikwindow.c:3707
msgid "Append _File..."
msgstr ""
-#: ../src/vikwindow.c:3148
+#: ../src/vikwindow.c:3707
msgid "Append data from a different file"
msgstr ""
-#: ../src/vikwindow.c:3149
+#: ../src/vikwindow.c:3708
+msgid "_Export All"
+msgstr ""
+
+#: ../src/vikwindow.c:3708
+msgid "Export All TrackWaypoint Layers"
+msgstr ""
+
+#: ../src/vikwindow.c:3709
+msgid "_GPX..."
+msgstr ""
+
+#: ../src/vikwindow.c:3709
+msgid "Export as GPX"
+msgstr ""
+
+#: ../src/vikwindow.c:3710
msgid "A_cquire"
msgstr ""
-#: ../src/vikwindow.c:3150
+#: ../src/vikwindow.c:3711
msgid "Transfer data from a GPS device"
msgstr ""
-#: ../src/vikwindow.c:3151
+#: ../src/vikwindow.c:3712
msgid "Import File With GPS_Babel..."
msgstr ""
-#: ../src/vikwindow.c:3151
+#: ../src/vikwindow.c:3712
msgid "Import file via GPSBabel converter"
msgstr ""
-#: ../src/vikwindow.c:3153
-msgid "Google _Directions..."
+#: ../src/vikwindow.c:3713
+msgid "_Directions..."
msgstr ""
-#: ../src/vikwindow.c:3153
-msgid "Get driving directions from Google"
+#: ../src/vikwindow.c:3713
+msgid "Get driving directions"
msgstr ""
-#: ../src/vikwindow.c:3156
+#: ../src/vikwindow.c:3715
msgid "_OSM Traces..."
msgstr ""
-#: ../src/vikwindow.c:3156
+#: ../src/vikwindow.c:3715
msgid "Get traces from OpenStreetMap"
msgstr ""
-#: ../src/vikwindow.c:3157
+#: ../src/vikwindow.c:3716
msgid "_My OSM Traces..."
msgstr ""
-#: ../src/vikwindow.c:3157
+#: ../src/vikwindow.c:3716
msgid "Get Your Own Traces from OpenStreetMap"
msgstr ""
-#: ../src/vikwindow.c:3160
+#: ../src/vikwindow.c:3719
msgid "Geo_caches..."
msgstr ""
-#: ../src/vikwindow.c:3160
+#: ../src/vikwindow.c:3719
msgid "Get Geocaches from geocaching.com"
msgstr ""
-#: ../src/vikwindow.c:3163
+#: ../src/vikwindow.c:3722
msgid "Create waypoints from geotagged images"
msgstr ""
-#: ../src/vikwindow.c:3166
+#: ../src/vikwindow.c:3725
msgid "Create waypoints from Wikipedia items in the current view"
msgstr ""
-#: ../src/vikwindow.c:3168
+#: ../src/vikwindow.c:3727
msgid "_Save"
msgstr ""
-#: ../src/vikwindow.c:3168
+#: ../src/vikwindow.c:3727
msgid "Save the file"
msgstr ""
-#: ../src/vikwindow.c:3169
+#: ../src/vikwindow.c:3728
msgid "Save _As..."
msgstr ""
-#: ../src/vikwindow.c:3169
+#: ../src/vikwindow.c:3728
msgid "Save the file under different name"
msgstr ""
-#: ../src/vikwindow.c:3170
+#: ../src/vikwindow.c:3729
+msgid "Properties..."
+msgstr ""
+
+#: ../src/vikwindow.c:3729
+msgid "File Properties"
+msgstr ""
+
+#: ../src/vikwindow.c:3730
msgid "_Generate Image File..."
msgstr ""
-#: ../src/vikwindow.c:3170
+#: ../src/vikwindow.c:3730
msgid "Save a snapshot of the workspace into a file"
msgstr ""
-#: ../src/vikwindow.c:3171
+#: ../src/vikwindow.c:3731
msgid "Generate _Directory of Images..."
msgstr ""
-#: ../src/vikwindow.c:3171
+#: ../src/vikwindow.c:3731
msgid "FIXME:IMGDIR"
msgstr ""
-#: ../src/vikwindow.c:3174
+#: ../src/vikwindow.c:3732
msgid "_Print..."
msgstr ""
-#: ../src/vikwindow.c:3174
+#: ../src/vikwindow.c:3732
msgid "Print maps"
msgstr ""
-#: ../src/vikwindow.c:3177
+#: ../src/vikwindow.c:3733
msgid "E_xit"
msgstr ""
-#: ../src/vikwindow.c:3177
+#: ../src/vikwindow.c:3733
msgid "Exit the program"
msgstr ""
-#: ../src/vikwindow.c:3178
+#: ../src/vikwindow.c:3734
msgid "Save and Exit"
msgstr ""
-#: ../src/vikwindow.c:3178
+#: ../src/vikwindow.c:3734
msgid "Save and Exit the program"
msgstr ""
-#: ../src/vikwindow.c:3180
+#: ../src/vikwindow.c:3736
msgid "Go to the _Default Location"
msgstr ""
-#: ../src/vikwindow.c:3180
+#: ../src/vikwindow.c:3736
msgid "Go to the default location"
msgstr ""
-#: ../src/vikwindow.c:3181
+#: ../src/vikwindow.c:3737
msgid "Go to _Location..."
msgstr ""
-#: ../src/vikwindow.c:3181
+#: ../src/vikwindow.c:3737
msgid "Go to address/place using text search"
msgstr ""
-#: ../src/vikwindow.c:3182
+#: ../src/vikwindow.c:3738
msgid "_Go to Lat/Lon..."
msgstr ""
-#: ../src/vikwindow.c:3182
+#: ../src/vikwindow.c:3738
msgid "Go to arbitrary lat/lon coordinate"
msgstr ""
-#: ../src/vikwindow.c:3183
+#: ../src/vikwindow.c:3739
msgid "Go to UTM..."
msgstr ""
-#: ../src/vikwindow.c:3183
+#: ../src/vikwindow.c:3739
msgid "Go to arbitrary UTM coordinate"
msgstr ""
-#: ../src/vikwindow.c:3184
+#: ../src/vikwindow.c:3740
msgid "_Refresh"
msgstr ""
-#: ../src/vikwindow.c:3184
+#: ../src/vikwindow.c:3740
msgid "Refresh any maps displayed"
msgstr ""
-#: ../src/vikwindow.c:3185
+#: ../src/vikwindow.c:3741
msgid "Set _Highlight Color..."
msgstr ""
-#: ../src/vikwindow.c:3186
+#: ../src/vikwindow.c:3742
msgid "Set Bac_kground Color..."
msgstr ""
-#: ../src/vikwindow.c:3187
+#: ../src/vikwindow.c:3743
msgid "Zoom _In"
msgstr ""
-#: ../src/vikwindow.c:3188
+#: ../src/vikwindow.c:3744
msgid "Zoom _Out"
msgstr ""
-#: ../src/vikwindow.c:3189
+#: ../src/vikwindow.c:3745
msgid "Zoom _To..."
msgstr ""
-#: ../src/vikwindow.c:3190
+#: ../src/vikwindow.c:3746
msgid "Pan _North"
msgstr ""
-#: ../src/vikwindow.c:3191
+#: ../src/vikwindow.c:3747
msgid "Pan _East"
msgstr ""
-#: ../src/vikwindow.c:3192
+#: ../src/vikwindow.c:3748
msgid "Pan _South"
msgstr ""
-#: ../src/vikwindow.c:3193
+#: ../src/vikwindow.c:3749
msgid "Pan _West"
msgstr ""
-#: ../src/vikwindow.c:3194
+#: ../src/vikwindow.c:3750
msgid "Background _Jobs"
msgstr ""
-#: ../src/vikwindow.c:3196
+#: ../src/vikwindow.c:3752
msgid "Cu_t"
msgstr ""
-#: ../src/vikwindow.c:3197
-msgid "_Copy"
-msgstr ""
-
-#: ../src/vikwindow.c:3198
-msgid "_Paste"
-msgstr ""
-
-#: ../src/vikwindow.c:3199
-msgid "_Delete"
-msgstr ""
-
-#: ../src/vikwindow.c:3200
+#: ../src/vikwindow.c:3756
msgid "Delete All"
msgstr ""
-#: ../src/vikwindow.c:3201
+#: ../src/vikwindow.c:3757
msgid "_Flush Map Cache"
msgstr ""
-#: ../src/vikwindow.c:3202
+#: ../src/vikwindow.c:3758
msgid "_Set the Default Location"
msgstr ""
-#: ../src/vikwindow.c:3202
+#: ../src/vikwindow.c:3758
msgid "Set the Default Location to the current position"
msgstr ""
-#: ../src/vikwindow.c:3203
+#: ../src/vikwindow.c:3759
msgid "_Preferences"
msgstr ""
-#: ../src/vikwindow.c:3204
+#: ../src/vikwindow.c:3760
+msgid "_Layer Defaults"
+msgstr ""
+
+#: ../src/vikwindow.c:3761
msgid "_Properties"
msgstr ""
-#: ../src/vikwindow.c:3207
+#: ../src/vikwindow.c:3764
msgid "_About"
msgstr ""
-#: ../src/vikwindow.c:3213
+#: ../src/vikwindow.c:3768
+msgid "_KML..."
+msgstr ""
+
+#: ../src/vikwindow.c:3768
+msgid "Export as KML"
+msgstr ""
+
+#: ../src/vikwindow.c:3774
msgid "_UTM Mode"
msgstr ""
-#: ../src/vikwindow.c:3214
+#: ../src/vikwindow.c:3775
msgid "_Expedia Mode"
msgstr ""
-#: ../src/vikwindow.c:3215
+#: ../src/vikwindow.c:3776
msgid "_Mercator Mode"
msgstr ""
-#: ../src/vikwindow.c:3216
+#: ../src/vikwindow.c:3777
msgid "Lat_/Lon Mode"
msgstr ""
-#: ../src/vikwindow.c:3220
+#: ../src/vikwindow.c:3781
msgid "Show _Scale"
msgstr ""
-#: ../src/vikwindow.c:3220
+#: ../src/vikwindow.c:3781
msgid "Show Scale"
msgstr ""
-#: ../src/vikwindow.c:3221
+#: ../src/vikwindow.c:3782
msgid "Show _Center Mark"
msgstr ""
-#: ../src/vikwindow.c:3221
+#: ../src/vikwindow.c:3782
msgid "Show Center Mark"
msgstr ""
-#: ../src/vikwindow.c:3222
+#: ../src/vikwindow.c:3783
msgid "Show _Highlight"
msgstr ""
-#: ../src/vikwindow.c:3222
+#: ../src/vikwindow.c:3783
msgid "Show Highlight"
msgstr ""
-#: ../src/vikwindow.c:3223
+#: ../src/vikwindow.c:3784
msgid "_Full Screen"
msgstr ""
-#: ../src/vikwindow.c:3223
+#: ../src/vikwindow.c:3784
msgid "Activate full screen mode"
msgstr ""
-#: ../src/vikwindow.c:3224
+#: ../src/vikwindow.c:3785
msgid "Show Side _Panel"
msgstr ""
-#: ../src/vikwindow.c:3224
+#: ../src/vikwindow.c:3785
msgid "Show Side Panel"
msgstr ""
-#: ../src/vikwindow.c:3225
+#: ../src/vikwindow.c:3786
msgid "Show Status_bar"
msgstr ""
-#: ../src/vikwindow.c:3225
+#: ../src/vikwindow.c:3786
msgid "Show Statusbar"
msgstr ""
-#: ../src/vikwindow.c:3226
+#: ../src/vikwindow.c:3787
msgid "Show _Toolbar"
msgstr ""
-#: ../src/vikwindow.c:3226
+#: ../src/vikwindow.c:3787
msgid "Show Toolbar"
msgstr ""
-#: ../src/vikwindow.c:3227
+#: ../src/vikwindow.c:3788
msgid "Show _Menu"
msgstr ""
-#: ../src/vikwindow.c:3227
+#: ../src/vikwindow.c:3788
msgid "Show Menu"
msgstr ""
+#: ../src/vikwindow.c:3862
+#, c-format
+msgid "New _%s Layer"
+msgstr ""
+
#: ../src/viking.desktop.in.h:2
msgid "GPS Data Manager"
msgstr ""
diff --git a/po/jv.po b/po/jv.po
index e56a367..2bd1016 100644
--- a/po/jv.po
+++ b/po/jv.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: viking\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2013-02-04 23:29+0100\n"
+"POT-Creation-Date: 2013-09-03 21:58+0200\n"
"PO-Revision-Date: 2011-01-10 15:37+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Javanese <jv@li.org>\n"
@@ -15,59 +15,59 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 0;\n"
-"X-Launchpad-Export-Date: 2013-03-23 17:12+0000\n"
-"X-Generator: Launchpad (build 16540)\n"
+"X-Launchpad-Export-Date: 2013-10-12 09:04+0000\n"
+"X-Generator: Launchpad (build 16799)\n"
-#: ../src/acquire.c:103 ../src/vikgpslayer.c:1185
+#: ../src/acquire.c:103 ../src/vikgpslayer.c:1235
msgid "Done."
msgstr ""
-#: ../src/acquire.c:114
+#: ../src/acquire.c:112
msgid "No data."
msgstr ""
-#: ../src/acquire.c:154 ../src/acquire.c:404
+#: ../src/acquire.c:154 ../src/acquire.c:424
msgid "Error: acquisition failed."
msgstr ""
-#: ../src/acquire.c:341
+#: ../src/acquire.c:352
msgid "Working..."
msgstr ""
#. This shouldn't happen...
-#: ../src/acquire.c:394
+#: ../src/acquire.c:415
msgid ""
"Unable to create command\n"
"Acquire method failed."
msgstr ""
-#: ../src/acquire.c:486
+#: ../src/acquire.c:517
msgid "_Filter"
msgstr ""
-#: ../src/acquire.c:501
+#: ../src/acquire.c:532
#, c-format
msgid "Filter with %s"
msgstr ""
-#: ../src/acquire.c:518
+#: ../src/acquire.c:549
msgid "Filter"
msgstr ""
-#: ../src/background.c:52
+#: ../src/background.c:53
#, c-format
msgid "%d items"
msgstr ""
-#: ../src/background.c:248
+#: ../src/background.c:254
msgid "Job"
msgstr ""
-#: ../src/background.c:252
+#: ../src/background.c:258
msgid "Progress"
msgstr ""
-#: ../src/background.c:268
+#: ../src/background.c:274
msgid "Viking Background Jobs"
msgstr ""
@@ -76,7 +76,7 @@ msgid "Bing"
msgstr ""
#. VIK_GTK_WINDOW_FROM_WIDGET(vp)
-#: ../src/bingmapsource.c:445
+#: ../src/bingmapsource.c:499
msgid "Bing attribution Loading"
msgstr ""
@@ -101,35 +101,35 @@ msgid ""
"into."
msgstr ""
-#: ../src/dialog.c:52
+#: ../src/dialog.c:53
msgid "Go to Lat/Lon"
msgstr ""
-#: ../src/dialog.c:64 ../src/dialog.c:251
+#: ../src/dialog.c:65 ../src/dialog.c:244
msgid "Latitude:"
msgstr ""
-#: ../src/dialog.c:70 ../src/dialog.c:256
+#: ../src/dialog.c:71 ../src/dialog.c:249
msgid "Longitude:"
msgstr ""
-#: ../src/dialog.c:102
+#: ../src/dialog.c:103
msgid "Go to UTM"
msgstr ""
-#: ../src/dialog.c:115
+#: ../src/dialog.c:116
msgid "Northing:"
msgstr ""
-#: ../src/dialog.c:121
+#: ../src/dialog.c:122
msgid "Easting:"
msgstr ""
-#: ../src/dialog.c:128
+#: ../src/dialog.c:129
msgid "Zone:"
msgstr ""
-#: ../src/dialog.c:131
+#: ../src/dialog.c:132
msgid "Letter:"
msgstr ""
@@ -137,105 +137,109 @@ msgstr ""
msgid "Waypoint Properties"
msgstr ""
-#: ../src/dialog.c:233
+#: ../src/dialog.c:235
msgid "Name:"
msgstr ""
-#: ../src/dialog.c:261
+#: ../src/dialog.c:254
msgid "Altitude:"
msgstr ""
-#: ../src/dialog.c:266
+#: ../src/dialog.c:259
msgid "Comment:"
msgstr ""
-#: ../src/dialog.c:274 ../src/osm-traces.c:437
+#: ../src/dialog.c:267 ../src/osm-traces.c:445
msgid "Description:"
msgstr ""
-#: ../src/dialog.c:277
+#: ../src/dialog.c:270
msgid "Image:"
msgstr ""
-#: ../src/dialog.c:282
+#: ../src/dialog.c:275
msgid "Symbol:"
msgstr ""
-#: ../src/dialog.c:291
+#: ../src/dialog.c:284
msgid "(none)"
msgstr ""
+#: ../src/dialog.c:326
+msgid "Time:"
+msgstr ""
+
#. TODO: other checks (isalpha or whatever )
-#: ../src/dialog.c:356
+#: ../src/dialog.c:363
msgid "Please enter a name for the waypoint."
msgstr ""
-#: ../src/dialog.c:529 ../src/geonamessearch.c:243
+#: ../src/dialog.c:502 ../src/geonamessearch.c:244
#: ../src/datasource_osm_my_traces.c:507
msgid "Nothing was selected"
msgstr ""
-#: ../src/dialog.c:537
+#: ../src/dialog.c:510
msgid "Add Route"
msgstr ""
-#: ../src/dialog.c:537
+#: ../src/dialog.c:510
msgid "Add Track"
msgstr ""
-#: ../src/dialog.c:545
+#: ../src/dialog.c:518
msgid "Route Name:"
msgstr ""
-#: ../src/dialog.c:545
+#: ../src/dialog.c:518
msgid "Track Name:"
msgstr ""
-#: ../src/dialog.c:565
+#: ../src/dialog.c:538
msgid "Please enter a name for the track."
msgstr ""
-#: ../src/dialog.c:623
+#: ../src/dialog.c:596
msgid "Zoom Factors..."
msgstr ""
-#: ../src/dialog.c:637
+#: ../src/dialog.c:610
msgid "Zoom factor (in meters per pixel):"
msgstr ""
-#: ../src/dialog.c:638
+#: ../src/dialog.c:611
msgid "X (easting): "
msgstr ""
-#: ../src/dialog.c:639
+#: ../src/dialog.c:612
msgid "Y (northing): "
msgstr ""
-#: ../src/dialog.c:644
+#: ../src/dialog.c:617
msgid "X and Y zoom factors must be equal"
msgstr ""
-#: ../src/dialog.c:699
+#: ../src/dialog.c:672
msgid "1 min"
msgstr ""
-#: ../src/dialog.c:700
+#: ../src/dialog.c:673
msgid "1 hour"
msgstr ""
-#: ../src/dialog.c:701
+#: ../src/dialog.c:674
msgid "1 day"
msgstr ""
-#: ../src/dialog.c:702
+#: ../src/dialog.c:675
msgid "Custom (in minutes):"
msgstr ""
-#: ../src/dialog.c:808
+#: ../src/dialog.c:786
msgid "GPS Data and Topo Analyzer, Explorer, and Manager."
msgstr ""
-#: ../src/dialog.c:809
+#: ../src/dialog.c:787
msgid ""
"This program is free software; you can redistribute it and/or modify it "
"under the terms of the GNU General Public License as published by the Free "
@@ -252,28 +256,28 @@ msgid ""
"Place, Suite 330, Boston, MA 02111-1307, USA"
msgstr ""
-#: ../src/dialog.c:837
+#: ../src/dialog.c:852
msgid "Translation is coordinated on http://launchpad.net/viking"
msgstr ""
-#: ../src/dialog.c:845
+#: ../src/dialog.c:861
msgid "Download along track"
msgstr ""
-#: ../src/dialog.c:851
+#: ../src/dialog.c:868
msgid "Map type:"
msgstr ""
-#: ../src/dialog.c:856
+#: ../src/dialog.c:874
msgid "Zoom level:"
msgstr ""
-#: ../src/dialog.c:896
+#: ../src/dialog.c:914
#, c-format
msgid "The map data is licensed: %s."
msgstr ""
-#: ../src/dialog.c:899
+#: ../src/dialog.c:917
#, c-format
msgid ""
"The data provided by '<b>%s</b>' are licensed under the following license: "
@@ -281,7 +285,7 @@ msgid ""
"Please, read the license before continuing."
msgstr ""
-#: ../src/dialog.c:904
+#: ../src/dialog.c:922
msgid "Open license"
msgstr ""
@@ -326,7 +330,8 @@ msgstr ""
#. NB could allow columns to be shifted around by doing this after each new
#. gtk_tree_view_column_set_reorderable ( column, TRUE );
#. However I don't think is that useful, so I haven't put it in
-#: ../src/geonamessearch.c:177 ../src/datasource_osm_my_traces.c:425
+#: ../src/geonamessearch.c:177 ../src/datasource_osm_my_traces.c:424
+#: ../src/viktrwlayer_tracklist.c:521
msgid "Name"
msgstr ""
@@ -334,82 +339,192 @@ msgstr ""
msgid "Feature"
msgstr ""
-#: ../src/geonamessearch.c:187 ../src/datasource_osm_my_traces.c:440
+#: ../src/geonamessearch.c:187 ../src/datasource_osm_my_traces.c:439
msgid "Lat/Lon"
msgstr ""
-#: ../src/geonamessearch.c:269 ../src/googlesearch.c:100
+#: ../src/geonamessearch.c:270 ../src/googlesearch.c:100 ../src/vikgoto.c:306
msgid "couldn't map temp file"
msgstr ""
-#: ../src/globals.c:44
+#: ../src/globals.c:73
+msgid "Absolute"
+msgstr ""
+
+#: ../src/globals.c:73
+msgid "Relative"
+msgstr ""
+
+#: ../src/globals.c:76
msgid "Degree format:"
msgstr ""
-#: ../src/globals.c:48
+#: ../src/globals.c:77
msgid "Distance units:"
msgstr ""
-#: ../src/globals.c:52
+#: ../src/globals.c:78
msgid "Speed units:"
msgstr ""
-#: ../src/globals.c:56
+#: ../src/globals.c:79
msgid "Height units:"
msgstr ""
-#: ../src/globals.c:60
+#: ../src/globals.c:80
msgid "Use large waypoint icons:"
msgstr ""
-#: ../src/globals.c:64
+#: ../src/globals.c:81
msgid "Default latitude:"
msgstr ""
-#: ../src/globals.c:67
+#: ../src/globals.c:82
msgid "Default longitude:"
msgstr ""
-#: ../src/globals.c:73
+#: ../src/globals.c:88
msgid "Alphabetical"
msgstr ""
-#: ../src/globals.c:73 ../src/datasource_osm_my_traces.c:435
+#: ../src/globals.c:88 ../src/datasource_osm_my_traces.c:434
msgid "Time"
msgstr ""
-#: ../src/globals.c:76
+#: ../src/globals.c:88
+msgid "Creation"
+msgstr ""
+
+#: ../src/globals.c:89
+msgid "Title Case"
+msgstr ""
+
+#: ../src/globals.c:89
+msgid "Lowercase"
+msgstr ""
+
+#: ../src/globals.c:92
msgid "KML File Export Units:"
msgstr ""
-#: ../src/globals.c:77
+#: ../src/globals.c:93
msgid "GPX Track Order:"
msgstr ""
-#: ../src/globals.c:82
+#: ../src/globals.c:94
+msgid "GPX Waypoint Symbols:"
+msgstr ""
+
+#: ../src/globals.c:95
+msgid ""
+"Save GPX Waypoint Symbol names in the specified case. May be useful for "
+"compatibility with various devices"
+msgstr ""
+
+#: ../src/globals.c:100
msgid "Image Viewer:"
msgstr ""
-#: ../src/globals.c:87
+#: ../src/globals.c:105
msgid "External GPX Program 1:"
msgstr ""
-#: ../src/globals.c:88
+#: ../src/globals.c:106
msgid "External GPX Program 2:"
msgstr ""
+#: ../src/globals.c:110
+msgid "Save File Reference Mode:"
+msgstr ""
+
+#: ../src/globals.c:111
+msgid ""
+"When saving a Viking .vik file, this determines how the directory paths of "
+"filenames are written."
+msgstr ""
+
+#: ../src/globals.c:112
+msgid "Show Tooltip during Track Creation:"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Home Location"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Last Location"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Specified File"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Auto Location"
+msgstr ""
+
+#: ../src/globals.c:118
+msgid "Restore Window Setup:"
+msgstr ""
+
+#: ../src/globals.c:119
+msgid "Restore window size and layout"
+msgstr ""
+
+#: ../src/globals.c:120
+msgid "Add a Default Map Layer:"
+msgstr ""
+
+#: ../src/globals.c:121
+msgid ""
+"The default map layer added is defined by the Layer Defaults. Use the menu "
+"Edit->Layer Defaults->Map... to change the map type and other values."
+msgstr ""
+
+#: ../src/globals.c:122
+msgid "Startup Method:"
+msgstr ""
+
+#: ../src/globals.c:123
+msgid "Startup File:"
+msgstr ""
+
+#: ../src/globals.c:124
+msgid ""
+"The default file to load on startup. Only applies when the startup method is "
+"set to 'Specified File'"
+msgstr ""
+
+#: ../src/globals.c:125
+msgid "Check For New Version:"
+msgstr ""
+
+#: ../src/globals.c:126
+msgid "Periodically check to see if a new version of Viking is available"
+msgstr ""
+
#. Defaults for the options are setup here
-#: ../src/globals.c:96
+#: ../src/globals.c:163
msgid "General"
msgstr ""
#. New Tab
-#: ../src/globals.c:121
+#: ../src/globals.c:188
+msgid "Startup"
+msgstr ""
+
+#. New Tab
+#: ../src/globals.c:206
msgid "Export/External"
msgstr ""
+#. 'Advanced' Properties
+#: ../src/globals.c:230
+msgid "Advanced"
+msgstr ""
+
#. Webtools
-#: ../src/google.c:36
+#: ../src/google.c:38
msgid "Google"
msgstr ""
@@ -422,24 +537,24 @@ msgid "Imported file"
msgstr ""
#. The file selector
-#: ../src/datasource_file.c:133
+#: ../src/datasource_file.c:127
msgid "File:"
msgstr ""
-#: ../src/datasource_file.c:134
+#: ../src/datasource_file.c:128
msgid "File to import"
msgstr ""
-#: ../src/datasource_file.c:141
+#: ../src/datasource_file.c:135
msgid "All files"
msgstr ""
#. The file format selector
-#: ../src/datasource_file.c:148
+#: ../src/datasource_file.c:142
msgid "File type:"
msgstr ""
-#: ../src/datasource_file.c:193
+#: ../src/datasource_file.c:184
#, c-format
msgid "using babel args '%s' and file '%s'"
msgstr ""
@@ -452,29 +567,29 @@ msgstr ""
msgid "Geocaching.com Caches"
msgstr ""
-#: ../src/datasource_gc.c:84
+#: ../src/datasource_gc.c:85
msgid "geocaching.com username:"
msgstr ""
-#: ../src/datasource_gc.c:85
+#: ../src/datasource_gc.c:86
msgid "geocaching.com password:"
msgstr ""
-#: ../src/datasource_gc.c:126
+#: ../src/datasource_gc.c:127
#, c-format
msgid ""
"Can't find %s or %s in path! Check that you have installed it correctly."
msgstr ""
-#: ../src/datasource_gc.c:188
+#: ../src/datasource_gc.c:189
msgid "Number geocaches:"
msgstr ""
-#: ../src/datasource_gc.c:190
+#: ../src/datasource_gc.c:191
msgid "Centered around:"
msgstr ""
-#: ../src/datasource_gc.c:226
+#: ../src/datasource_gc.c:230
msgid "Broken input - using some defaults"
msgstr ""
@@ -486,116 +601,107 @@ msgstr ""
msgid "Geotagged Images"
msgstr ""
-#: ../src/datasource_geotag.c:102 ../src/vikwindow.c:2314
-#: ../src/vikwindow.c:2382 ../src/vikwindow.c:2824
+#: ../src/datasource_geotag.c:102 ../src/vikwindow.c:2655
+#: ../src/vikwindow.c:2729 ../src/vikwindow.c:3380
msgid "All"
msgstr ""
-#: ../src/datasource_geotag.c:107 ../src/vikwindow.c:2829
+#: ../src/datasource_geotag.c:107 ../src/vikwindow.c:3385
msgid "JPG"
msgstr ""
-#: ../src/datasource_geotag.c:165
+#: ../src/datasource_geotag.c:168
#, c-format
msgid "Unable to create waypoint from %s"
msgstr ""
-#: ../src/datasource_google.c:49 ../src/datasource_google.c:50
-msgid "Google Directions"
-msgstr ""
-
-#: ../src/datasource_google.c:77
-msgid "From:"
-msgstr ""
-
-#: ../src/datasource_google.c:79
-msgid "To:"
-msgstr ""
-
-#: ../src/datasource_gps.c:57
+#: ../src/datasource_gps.c:54
msgid "Acquire from GPS"
msgstr ""
-#: ../src/datasource_gps.c:58
+#: ../src/datasource_gps.c:55
msgid "Acquired from GPS"
msgstr ""
-#: ../src/datasource_gps.c:221
+#: ../src/datasource_gps.c:245
#, c-format
msgid "using cmdline '%s' and file '%s'\n"
msgstr ""
-#: ../src/datasource_gps.c:297 ../src/vikgpslayer.c:884
+#: ../src/datasource_gps.c:327 ../src/vikgpslayer.c:934
#, c-format
msgid "Downloading %d waypoint..."
msgid_plural "Downloading %d waypoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/datasource_gps.c:298 ../src/vikgpslayer.c:885
+#: ../src/datasource_gps.c:328 ../src/vikgpslayer.c:935
#, c-format
msgid "Downloading %d trackpoint..."
msgid_plural "Downloading %d trackpoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/datasource_gps.c:303 ../src/vikgpslayer.c:890
+#: ../src/datasource_gps.c:333 ../src/vikgpslayer.c:940
#, c-format
msgid "Downloading %d routepoint..."
msgid_plural "Downloading %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/datasource_gps.c:325 ../src/datasource_gps.c:326
-#: ../src/datasource_gps.c:327
+#: ../src/datasource_gps.c:355 ../src/datasource_gps.c:356
+#: ../src/datasource_gps.c:357
#, c-format
msgid "Downloaded %d out of %d %s..."
msgstr ""
-#: ../src/datasource_gps.c:331 ../src/datasource_gps.c:332
-#: ../src/datasource_gps.c:333
+#: ../src/datasource_gps.c:361 ../src/datasource_gps.c:362
+#: ../src/datasource_gps.c:363
#, c-format
msgid "Downloaded %d %s."
msgstr ""
-#: ../src/datasource_gps.c:347 ../src/vikgpslayer.c:968
+#: ../src/datasource_gps.c:377 ../src/vikgpslayer.c:1018
#, c-format
msgid "GPS Device: %s"
msgstr ""
-#: ../src/datasource_gps.c:370 ../src/vikgpslayer.c:1042
-#: ../src/vikgpslayer.c:1110
+#: ../src/datasource_gps.c:400 ../src/vikgpslayer.c:1092
+#: ../src/vikgpslayer.c:1160
msgid "Status: Working..."
msgstr ""
-#: ../src/datasource_gps.c:469 ../src/vikgpslayer.c:150
+#. NB gps_layer_inst_init() is performed after parameter registeration
+#. thus to give the protocols some potential values use the old static list
+#. TODO: find another way to use gps_layer_inst_init()?
+#: ../src/datasource_gps.c:500 ../src/vikgpslayer.c:207
msgid "GPS Protocol:"
msgstr ""
-#. List now assigned at runtime
-#: ../src/datasource_gps.c:488 ../src/vikgpslayer.c:151
+#. List reassigned at runtime
+#: ../src/datasource_gps.c:526 ../src/vikgpslayer.c:208
msgid "Serial Port:"
msgstr ""
-#: ../src/datasource_gps.c:509
+#: ../src/datasource_gps.c:576
msgid ""
"Turn Off After Transfer\n"
"(Garmin/NAViLink Only)"
msgstr ""
-#: ../src/datasource_gps.c:512
+#: ../src/datasource_gps.c:583
msgid "Tracks:"
msgstr ""
-#: ../src/datasource_gps.c:516
+#: ../src/datasource_gps.c:590
msgid "Routes:"
msgstr ""
-#: ../src/datasource_gps.c:520
+#: ../src/datasource_gps.c:597
msgid "Waypoints:"
msgstr ""
-#: ../src/datasource_gps.c:594 ../src/vikgpslayer.c:1305
+#: ../src/datasource_gps.c:675 ../src/vikgpslayer.c:1355
msgid "GPS device: N/A"
msgstr ""
@@ -603,39 +709,39 @@ msgstr ""
msgid "OSM traces"
msgstr ""
-#: ../src/datasource_osm.c:80
+#: ../src/datasource_osm.c:82
msgid "Page number:"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:63 ../src/datasource_osm_my_traces.c:64
+#: ../src/datasource_osm_my_traces.c:59 ../src/datasource_osm_my_traces.c:60
msgid "OSM My Traces"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:108
+#: ../src/datasource_osm_my_traces.c:104
msgid "Username:"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:113
+#: ../src/datasource_osm_my_traces.c:109
msgid "The email or username used to login to OSM"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:115 ../src/osm-traces.c:413
+#: ../src/datasource_osm_my_traces.c:111 ../src/osm-traces.c:421
msgid "Password:"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:120
+#: ../src/datasource_osm_my_traces.c:114
msgid "The password used to login to OSM"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:430
+#: ../src/datasource_osm_my_traces.c:429
msgid "Description"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:445
+#: ../src/datasource_osm_my_traces.c:444
msgid "Privacy"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:452
+#: ../src/datasource_osm_my_traces.c:451
msgid "Within Current View"
msgstr ""
@@ -647,15 +753,33 @@ msgstr ""
msgid "None found!"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:629
+#: ../src/datasource_osm_my_traces.c:634
msgid "My OSM Traces"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:645
+#: ../src/datasource_osm_my_traces.c:649
#, c-format
msgid "Unable to get trace: %s"
msgstr ""
+#: ../src/datasource_routing.c:53 ../src/datasource_routing.c:54
+msgid "Directions"
+msgstr ""
+
+#. Engine selector
+#: ../src/datasource_routing.c:83
+msgid "Engine:"
+msgstr ""
+
+#. From and To entries
+#: ../src/datasource_routing.c:88
+msgid "From:"
+msgstr ""
+
+#: ../src/datasource_routing.c:90
+msgid "To:"
+msgstr ""
+
#: ../src/datasource_wikipedia.c:32
msgid "Create Waypoints from Wikipedia Articles"
msgstr ""
@@ -676,174 +800,185 @@ msgstr ""
msgid "Incorrect DEM Class B record: expected 1"
msgstr ""
-#: ../src/dem.c:360
+#: ../src/dem.c:288 ../src/download.c:170
#, c-format
msgid "Couldn't map file %s: %s"
msgstr ""
-#: ../src/download.c:112
-msgid "Tile age (s):"
+#: ../src/download.c:130
+msgid "Tile age (days):"
msgstr ""
-#: ../src/download.c:233
+#: ../src/download.c:321
#, c-format
msgid "Download error: %s"
msgstr ""
-#: ../src/download.c:313
+#: ../src/download.c:404
msgid "couldn't open temp file"
msgstr ""
-#: ../src/file.c:456 ../src/file.c:461
+#: ../src/file.c:451 ../src/file.c:456
#, c-format
msgid "Draw mode '%s' no more supported"
msgstr ""
-#: ../src/geotag_exif.c:433
+#: ../src/geotag_exif.c:421
msgid "Not enough memory."
msgstr ""
-#: ../src/geotag_exif.c:451
+#: ../src/geotag_exif.c:439
msgid "Setting a value for this tag is unsupported!"
msgstr ""
-#: ../src/geotag_exif.c:470
+#: ../src/geotag_exif.c:458
#, c-format
msgid "Too few components specified (need %d, found %d)\n"
msgstr ""
-#: ../src/geotag_exif.c:474
+#: ../src/geotag_exif.c:462
msgid "Numeric value expected\n"
msgstr ""
-#: ../src/geotag_exif.c:482
+#: ../src/geotag_exif.c:470
msgid "This shouldn't happen!"
msgstr ""
-#: ../src/geotag_exif.c:552
+#: ../src/geotag_exif.c:540
msgid "Not yet implemented!"
msgstr ""
-#: ../src/geotag_exif.c:565
+#: ../src/geotag_exif.c:553
msgid "Warning; Too many components specified!"
msgstr ""
-#: ../src/osm-traces.c:73
+#: ../src/osm-traces.c:76
msgid "Identifiable (public w/ timestamps)"
msgstr ""
-#: ../src/osm-traces.c:74
+#: ../src/osm-traces.c:77
msgid "Trackable (private w/ timestamps)"
msgstr ""
-#: ../src/osm-traces.c:75
+#: ../src/osm-traces.c:78
msgid "Public"
msgstr ""
-#: ../src/osm-traces.c:76
+#: ../src/osm-traces.c:79
msgid "Private"
msgstr ""
-#: ../src/osm-traces.c:93
+#: ../src/osm-traces.c:97
msgid "OSM username:"
msgstr ""
-#: ../src/osm-traces.c:94
+#: ../src/osm-traces.c:98
msgid "OSM password:"
msgstr ""
#. Preferences
-#: ../src/osm-traces.c:151
+#: ../src/osm-traces.c:155
msgid "OpenStreetMap Traces"
msgstr ""
-#: ../src/osm-traces.c:234
+#: ../src/osm-traces.c:238
#, c-format
msgid "failed to upload data: HTTP response is %ld"
msgstr ""
-#: ../src/osm-traces.c:239
+#: ../src/osm-traces.c:243
#, c-format
msgid "curl_easy_getinfo failed: %d"
msgstr ""
-#: ../src/osm-traces.c:244
+#: ../src/osm-traces.c:248
#, c-format
msgid "curl request failed: %s"
msgstr ""
-#: ../src/osm-traces.c:275
+#: ../src/osm-traces.c:279
#, c-format
msgid "failed to open temporary file: %s"
msgstr ""
#. Success
-#: ../src/osm-traces.c:328
+#: ../src/osm-traces.c:340
msgid "Uploaded to OSM"
msgstr ""
-#: ../src/osm-traces.c:332
+#: ../src/osm-traces.c:344
msgid "FAILED TO UPLOAD DATA TO OSM - CURL PROBLEM"
msgstr ""
-#: ../src/osm-traces.c:335
+#: ../src/osm-traces.c:347
msgid "FAILED TO UPLOAD DATA TO OSM"
msgstr ""
-#: ../src/osm-traces.c:335
+#: ../src/osm-traces.c:347
msgid "HTTP response code"
msgstr ""
-#: ../src/osm-traces.c:348
+#: ../src/osm-traces.c:355
#, c-format
msgid "failed to unlink temporary file: %s"
msgstr ""
-#: ../src/osm-traces.c:387
+#: ../src/osm-traces.c:394
msgid "OSM upload"
msgstr ""
-#: ../src/osm-traces.c:405
+#: ../src/osm-traces.c:413
msgid "Email:"
msgstr ""
-#: ../src/osm-traces.c:410
+#: ../src/osm-traces.c:418
msgid ""
"The email used as login\n"
"<small>Enter the email you use to login into www.openstreetmap.org.</small>"
msgstr ""
-#: ../src/osm-traces.c:418
+#: ../src/osm-traces.c:426
msgid ""
"The password used to login\n"
"<small>Enter the password you use to login into "
"www.openstreetmap.org.</small>"
msgstr ""
-#: ../src/osm-traces.c:423
+#: ../src/osm-traces.c:431
msgid "File's name:"
msgstr ""
-#: ../src/osm-traces.c:433
+#: ../src/osm-traces.c:441
msgid ""
"The name of the file on OSM\n"
"<small>This is the name of the file created on the server.This is not the "
"name of the local file.</small>"
msgstr ""
-#: ../src/osm-traces.c:442
+#: ../src/osm-traces.c:450
msgid "The description of the trace"
msgstr ""
-#: ../src/osm-traces.c:444
+#: ../src/osm-traces.c:453
+msgid "Anonymize Times:"
+msgstr ""
+
+#: ../src/osm-traces.c:458
+msgid ""
+"Anonymize times of the trace.\n"
+"<small>You may choose to make the trace identifiable, yet mask the actual "
+"real time values</small>"
+msgstr ""
+
+#: ../src/osm-traces.c:462
msgid "Tags:"
msgstr ""
-#: ../src/osm-traces.c:449
+#: ../src/osm-traces.c:467
msgid "The tags associated to the trace"
msgstr ""
-#: ../src/osm-traces.c:482
+#: ../src/osm-traces.c:529
#, c-format
msgid "Uploading %s to OSM"
msgstr ""
@@ -852,69 +987,88 @@ msgstr ""
msgid "Map cache memory size (MB):"
msgstr ""
-#: ../src/print.c:53
+#: ../src/print.c:51 ../src/viktrwlayer.c:509
msgid "None"
msgstr ""
-#: ../src/print.c:54
+#: ../src/print.c:52
msgid "Horizontally"
msgstr ""
-#: ../src/print.c:55
+#: ../src/print.c:53
msgid "Vertically"
msgstr ""
-#: ../src/print.c:56
+#: ../src/print.c:54
msgid "Both"
msgstr ""
-#: ../src/print.c:120
+#: ../src/print.c:118
msgid "Image Settings"
msgstr ""
-#: ../src/print.c:546
+#: ../src/print.c:548
msgid "done"
msgstr ""
#. Page Size
-#: ../src/print.c:575
+#: ../src/print.c:577
msgid "_Adjust Page Size and Orientation"
msgstr ""
-#: ../src/print.c:591
+#: ../src/print.c:593
msgid "C_enter:"
msgstr ""
#. ignore page margins
-#: ../src/print.c:609
+#: ../src/print.c:611
msgid "Ignore Page _Margins"
msgstr ""
-#: ../src/print.c:628
+#: ../src/print.c:630
msgid "Image S_ize:"
msgstr ""
-#: ../src/util.c:81
-msgid "Could not launch web browser."
+#: ../src/util.c:65
+#, c-format
+msgid "Could not launch web browser. %s"
msgstr ""
-#: ../src/util.c:92
-msgid "Could not create new email."
+#: ../src/util.c:76
+#, c-format
+msgid "Could not create new email. %s"
msgstr ""
-#: ../src/vikcoordlayer.c:46
+#: ../src/util.c:177
+#, c-format
+msgid ""
+"There is a newer version of Viking available: %s\n"
+"\n"
+"Do you wish to go to Viking's website now?"
+msgstr ""
+
+#: ../src/util.c:304
+msgid ""
+"This appears to be Viking's very first run.\n"
+"\n"
+"Do you wish to enable automatic internet features?\n"
+"\n"
+"Individual settings can be controlled in the Preferences."
+msgstr ""
+
+#: ../src/vikcoordlayer.c:57
msgid "Color:"
msgstr ""
-#: ../src/vikcoordlayer.c:47
+#: ../src/vikcoordlayer.c:58
msgid "Minutes Width:"
msgstr ""
-#: ../src/vikcoordlayer.c:48
+#: ../src/vikcoordlayer.c:59
msgid "Line Thickness:"
msgstr ""
-#: ../src/vikcoordlayer.c:56
+#: ../src/vikcoordlayer.c:66
msgid "Coordinate"
msgstr ""
@@ -950,62 +1104,130 @@ msgstr ""
msgid "Polygonzied Layer"
msgstr ""
-#: ../src/main.c:89
+#: ../src/main.c:92
#, c-format
msgid "Ignoring Xlib error: error code %d request code %d\n"
msgstr ""
-#: ../src/main.c:102
+#: ../src/main.c:105
msgid "Enable debug output"
msgstr ""
-#: ../src/main.c:103
+#: ../src/main.c:106
msgid "Enable verbose output"
msgstr ""
-#: ../src/main.c:104
+#: ../src/main.c:107
msgid "Show version"
msgstr ""
-#: ../src/osm.c:106
+#: ../src/osm.c:99
msgid "On Disk OSM Tile Format"
msgstr ""
-#: ../src/osm.c:121
+#: ../src/osm.c:113
msgid "OSM (view)"
msgstr ""
-#: ../src/osm.c:125
+#: ../src/osm.c:117
msgid "OSM (edit)"
msgstr ""
-#: ../src/osm.c:129
+#: ../src/osm.c:121
msgid "OSM (render)"
msgstr ""
#. Example: http://127.0.0.1:8111/load_and_zoom?left=8.19&right=8.20&top=48.605&bottom=48.590&select=node413602999
#. JOSM or merkaartor must already be running with remote interface enabled
-#: ../src/osm.c:136
+#: ../src/osm.c:128
msgid "Local port 8111 (eg JOSM)"
msgstr ""
-#: ../src/preferences.c:285
+#: ../src/osm.c:134
+msgid "OpenStreetMap Notes"
+msgstr ""
+
+#: ../src/osm.c:138
+msgid "OpenStreetBugs"
+msgstr ""
+
+#. Not really OSM but can't be bothered to create somewhere else to put it...
+#: ../src/osm.c:164
+msgid "Wikimedia Toolserver GeoHack"
+msgstr ""
+
+#: ../src/preferences.c:191
msgid "Preferences"
msgstr ""
-#: ../src/uibuilder.c:147
+#: ../src/viklayer_defaults.c:232
+#, c-format
+msgid "Could not open file: %s"
+msgstr ""
+
+#: ../src/viklayer_defaults.c:303
+msgid "Layer Defaults"
+msgstr ""
+
+#: ../src/uibuilder.c:185
msgid "Take care that this password will be stored clearly in a plain file."
msgstr ""
-#: ../src/vikaggregatelayer.c:37
+#: ../src/vikaggregatelayer.c:42
msgid "Aggregate"
msgstr ""
-#: ../src/vikdemlayer.c:101
+#. VikLayersPanel *vlp = VIK_LAYERS_PANEL(lav[1]);
+#: ../src/vikaggregatelayer.c:484 ../src/viktrwlayer.c:10238
+#, c-format
+msgid "%s: Track and Route List"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:529 ../src/viktrwlayer.c:7354
+#: ../src/viktrwlayer.c:7420 ../src/viktrwlayer.c:7498
+msgid "_Visibility"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:534
+msgid "_Show All"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:540
+msgid "_Hide All"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:546 ../src/viktrwlayer.c:7371
+#: ../src/viktrwlayer.c:7437 ../src/viktrwlayer.c:7515
+msgid "_Toggle"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:553 ../src/viktrwlayer.c:7536
+msgid "_Sort"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:559 ../src/viktrwlayer.c:7542
+msgid "Name _Ascending"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:565 ../src/viktrwlayer.c:7548
+msgid "Name _Descending"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:571 ../src/viktrwlayer.c:7449
+#: ../src/viktrwlayer.c:7527 ../src/viktrwlayer.c:7587
+#: ../src/viktrwlayer_tracklist.c:237
+msgid "_Statistics"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:576 ../src/viktrwlayer.c:3971
+msgid "Track _List..."
+msgstr ""
+
+#: ../src/vikdemlayer.c:92
msgid "Absolute height"
msgstr ""
-#: ../src/vikdemlayer.c:102
+#: ../src/vikdemlayer.c:93
msgid "Height gradient"
msgstr ""
@@ -1045,25 +1267,52 @@ msgstr ""
msgid "DEM"
msgstr ""
-#: ../src/vikdemlayer.c:284
+#: ../src/vikdemlayer.c:287
#, c-format
msgid "Number of files: %d"
msgstr ""
-#: ../src/vikdemlayer.c:385
+#: ../src/vikdemlayer.c:427
msgid "DEM Loading"
msgstr ""
-#: ../src/vikdemlayer.c:889
+#: ../src/vikdemlayer.c:937
#, c-format
msgid "No SRTM data available for %f, %f"
msgstr ""
-#: ../src/vikdemlayer.c:1149
+#. Probably not over any land...
+#: ../src/vikdemlayer.c:1193
+msgid "No DEM File Available"
+msgstr ""
+
+#: ../src/vikdemlayer.c:1212
+#, c-format
+msgid ""
+"\n"
+"Source: %s\n"
+"\n"
+"DEM File: %s\n"
+"DEM File Timestamp: %s"
+msgstr ""
+
+#: ../src/vikdemlayer.c:1216
+#, c-format
+msgid ""
+"Source: %s\n"
+"\n"
+"No DEM File!"
+msgstr ""
+
+#: ../src/vikdemlayer.c:1256
#, c-format
msgid "Downloading DEM %s"
msgstr ""
+#: ../src/vikdemlayer.c:1280
+msgid "_Show DEM File Information"
+msgstr ""
+
#: ../src/vikfileentry.c:68
msgid "Browse..."
msgstr ""
@@ -1084,248 +1333,266 @@ msgstr ""
msgid "Delete"
msgstr ""
-#: ../src/vikgeoreflayer.c:70
+#: ../src/vikgeoreflayer.c:78
msgid "_Georef Move Map"
msgstr ""
-#: ../src/vikgeoreflayer.c:70
+#: ../src/vikgeoreflayer.c:78
msgid "Georef Move Map"
msgstr ""
-#: ../src/vikgeoreflayer.c:77
+#: ../src/vikgeoreflayer.c:85
msgid "Georef Z_oom Tool"
msgstr ""
-#: ../src/vikgeoreflayer.c:77
+#: ../src/vikgeoreflayer.c:85
msgid "Georef Zoom Tool"
msgstr ""
-#: ../src/vikgeoreflayer.c:87
+#: ../src/vikgeoreflayer.c:95
msgid "GeoRef Map"
msgstr ""
-#: ../src/vikgeoreflayer.c:335 ../src/vikmapslayer.c:685
+#: ../src/vikgeoreflayer.c:377 ../src/vikmapslayer.c:720
#, c-format
msgid "Couldn't open image file: %s"
msgstr ""
-#: ../src/vikgeoreflayer.c:365
+#: ../src/vikgeoreflayer.c:391
+msgid ""
+"GeoRef map cannot be displayed in the current drawmode.\n"
+"Select \"UTM Mode\" from View menu to view it."
+msgstr ""
+
+#: ../src/vikgeoreflayer.c:415
msgid "Unexpected end of file reading World file."
msgstr ""
-#: ../src/vikgeoreflayer.c:381 ../src/vikgeoreflayer.c:426
+#: ../src/vikgeoreflayer.c:431 ../src/vikgeoreflayer.c:476
msgid "Choose World file"
msgstr ""
-#: ../src/vikgeoreflayer.c:394
+#: ../src/vikgeoreflayer.c:444
msgid "The World file you requested could not be opened for reading."
msgstr ""
-#: ../src/vikgeoreflayer.c:439
+#: ../src/vikgeoreflayer.c:489
msgid "The file you requested could not be opened for writing."
msgstr ""
-#: ../src/vikgeoreflayer.c:456 ../src/viklayer.c:480
+#: ../src/vikgeoreflayer.c:506 ../src/viklayer.c:518
msgid "Layer Properties"
msgstr ""
-#: ../src/vikgeoreflayer.c:478
+#: ../src/vikgeoreflayer.c:528
msgid "World File Parameters:"
msgstr ""
-#: ../src/vikgeoreflayer.c:479
+#: ../src/vikgeoreflayer.c:529
msgid "Load From File..."
msgstr ""
-#: ../src/vikgeoreflayer.c:484
+#: ../src/vikgeoreflayer.c:534
msgid "Corner pixel easting:"
msgstr ""
-#: ../src/vikgeoreflayer.c:486
-msgid "the UTM \"easting\" value of the upper-right corner pixel of the map"
+#: ../src/vikgeoreflayer.c:536
+msgid "the UTM \"easting\" value of the upper-left corner pixel of the map"
msgstr ""
-#: ../src/vikgeoreflayer.c:488
+#: ../src/vikgeoreflayer.c:538
msgid "Corner pixel northing:"
msgstr ""
-#: ../src/vikgeoreflayer.c:490
-msgid "the UTM \"northing\" value of the upper-right corner pixel of the map"
+#: ../src/vikgeoreflayer.c:540
+msgid "the UTM \"northing\" value of the upper-left corner pixel of the map"
msgstr ""
-#: ../src/vikgeoreflayer.c:492
+#: ../src/vikgeoreflayer.c:542
msgid "X (easting) scale (mpp): "
msgstr ""
-#: ../src/vikgeoreflayer.c:493
+#: ../src/vikgeoreflayer.c:543
msgid "Y (northing) scale (mpp): "
msgstr ""
-#: ../src/vikgeoreflayer.c:496
+#: ../src/vikgeoreflayer.c:546
msgid "the scale of the map in the X direction (meters per pixel)"
msgstr ""
-#: ../src/vikgeoreflayer.c:498
+#: ../src/vikgeoreflayer.c:548
msgid "the scale of the map in the Y direction (meters per pixel)"
msgstr ""
-#: ../src/vikgeoreflayer.c:500
+#: ../src/vikgeoreflayer.c:550
msgid "Map Image:"
msgstr ""
#. Now with icons
-#: ../src/vikgeoreflayer.c:608
+#: ../src/vikgeoreflayer.c:658
msgid "_Zoom to Fit Map"
msgstr ""
-#: ../src/vikgeoreflayer.c:614
+#: ../src/vikgeoreflayer.c:664
msgid "_Goto Map Center"
msgstr ""
-#: ../src/vikgeoreflayer.c:620
+#: ../src/vikgeoreflayer.c:670
msgid "_Export to World File"
msgstr ""
-#: ../src/vikgoto.c:75
+#: ../src/vikgoto.c:81
msgid "No goto tool available."
msgstr ""
-#: ../src/vikgoto.c:88 ../src/vikgoto.c:107
+#: ../src/vikgoto.c:94 ../src/vikgoto.c:148
msgid "goto"
msgstr ""
-#: ../src/vikgoto.c:90
+#: ../src/vikgoto.c:96
msgid "I don't know that place. Do you want another goto?"
msgstr ""
-#: ../src/vikgoto.c:109
+#: ../src/vikgoto.c:150
msgid "goto provider:"
msgstr ""
-#: ../src/vikgoto.c:124
+#: ../src/vikgoto.c:165
msgid "Enter address or place name:"
msgstr ""
-#: ../src/vikgpslayer.c:127
+#: ../src/vikgoto.c:363
+msgid "Locality"
+msgstr ""
+
+#: ../src/vikgpslayer.c:128
msgid "Data Mode"
msgstr ""
-#: ../src/vikgpslayer.c:129
+#: ../src/vikgpslayer.c:130
msgid "Realtime Tracking Mode"
msgstr ""
-#: ../src/vikgpslayer.c:137
+#: ../src/vikgpslayer.c:167
msgid "Keep vehicle at center"
msgstr ""
-#: ../src/vikgpslayer.c:138
+#: ../src/vikgpslayer.c:168
msgid "Keep vehicle on screen"
msgstr ""
-#: ../src/vikgpslayer.c:139
+#: ../src/vikgpslayer.c:169
msgid "Disable"
msgstr ""
-#: ../src/vikgpslayer.c:152
+#: ../src/vikgpslayer.c:209
msgid "Download Tracks:"
msgstr ""
-#: ../src/vikgpslayer.c:153
+#: ../src/vikgpslayer.c:210
msgid "Upload Tracks:"
msgstr ""
-#: ../src/vikgpslayer.c:154
+#: ../src/vikgpslayer.c:211
msgid "Download Routes:"
msgstr ""
-#: ../src/vikgpslayer.c:155
+#: ../src/vikgpslayer.c:212
msgid "Upload Routes:"
msgstr ""
-#: ../src/vikgpslayer.c:156
+#: ../src/vikgpslayer.c:213
msgid "Download Waypoints:"
msgstr ""
-#: ../src/vikgpslayer.c:157
+#: ../src/vikgpslayer.c:214
msgid "Upload Waypoints:"
msgstr ""
-#: ../src/vikgpslayer.c:159
+#: ../src/vikgpslayer.c:216
msgid "Recording tracks"
msgstr ""
-#: ../src/vikgpslayer.c:160
+#: ../src/vikgpslayer.c:217
msgid "Jump to current position on start"
msgstr ""
-#: ../src/vikgpslayer.c:161
+#: ../src/vikgpslayer.c:218
msgid "Moving Map Method:"
msgstr ""
-#: ../src/vikgpslayer.c:162
+#: ../src/vikgpslayer.c:219
+msgid "Update Statusbar:"
+msgstr ""
+
+#: ../src/vikgpslayer.c:219
+msgid "Display information in the statusbar on GPS updates"
+msgstr ""
+
+#: ../src/vikgpslayer.c:220
msgid "Gpsd Host:"
msgstr ""
-#: ../src/vikgpslayer.c:163
+#: ../src/vikgpslayer.c:221
msgid "Gpsd Port:"
msgstr ""
-#: ../src/vikgpslayer.c:164
+#: ../src/vikgpslayer.c:222
msgid "Gpsd Retry Interval (seconds):"
msgstr ""
-#: ../src/vikgpslayer.c:179
+#: ../src/vikgpslayer.c:243
msgid "GPS"
msgstr ""
-#: ../src/vikgpslayer.c:242 ../src/vikgpslayer.c:1258
+#: ../src/vikgpslayer.c:306 ../src/vikgpslayer.c:1308
msgid "GPS Download"
msgstr ""
-#: ../src/vikgpslayer.c:242 ../src/vikgpslayer.c:1258
-#: ../src/viktrwlayer.c:3094
+#: ../src/vikgpslayer.c:306 ../src/vikgpslayer.c:1308
+#: ../src/viktrwlayer.c:3480
msgid "GPS Upload"
msgstr ""
-#: ../src/vikgpslayer.c:244
+#: ../src/vikgpslayer.c:308
msgid "GPS Realtime Tracking"
msgstr ""
-#: ../src/vikgpslayer.c:451
+#: ../src/vikgpslayer.c:517
msgid "Unknown GPS Protocol"
msgstr ""
-#: ../src/vikgpslayer.c:469
+#: ../src/vikgpslayer.c:535
msgid "Unknown serial port device"
msgstr ""
-#: ../src/vikgpslayer.c:572
+#: ../src/vikgpslayer.c:648
#, c-format
msgid "%s: unknown parameter"
msgstr ""
#. Now with icons
-#: ../src/vikgpslayer.c:693
+#: ../src/vikgpslayer.c:743
msgid "_Upload to GPS"
msgstr ""
-#: ../src/vikgpslayer.c:699
+#: ../src/vikgpslayer.c:749
msgid "Download from _GPS"
msgstr ""
-#: ../src/vikgpslayer.c:720
+#: ../src/vikgpslayer.c:770
msgid "Empty _Realtime"
msgstr ""
-#: ../src/vikgpslayer.c:727
+#: ../src/vikgpslayer.c:777
msgid "E_mpty Upload"
msgstr ""
-#: ../src/vikgpslayer.c:733
+#: ../src/vikgpslayer.c:783
msgid "_Empty Download"
msgstr ""
-#: ../src/vikgpslayer.c:739
+#: ../src/vikgpslayer.c:789
msgid "Empty _All"
msgstr ""
@@ -1334,234 +1601,232 @@ msgstr ""
#. This happens when copied GPS layer is deleted (not sure why the number_handlers would be 2)
#. I don't think there's any side effects and certainly better than the program just aborting
#.
-#: ../src/vikgpslayer.c:756
+#: ../src/vikgpslayer.c:806
#, c-format
msgid "Unexpected number of disconnected handlers: %d"
msgstr ""
-#: ../src/vikgpslayer.c:898
+#: ../src/vikgpslayer.c:948
#, c-format
msgid "Uploading %d waypoint..."
msgid_plural "Uploading %d waypoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:899
+#: ../src/vikgpslayer.c:949
#, c-format
msgid "Uploading %d trackpoint..."
msgid_plural "Uploading %d trackpoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:900
+#: ../src/vikgpslayer.c:950
#, c-format
msgid "Uploading %d routepoint..."
msgid_plural "Uploading %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:925
+#: ../src/vikgpslayer.c:975
#, c-format
msgid "Downloaded %d out of %d waypoint..."
msgid_plural "Downloaded %d out of %d waypoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:926
+#: ../src/vikgpslayer.c:976
#, c-format
msgid "Downloaded %d out of %d trackpoint..."
msgid_plural "Downloaded %d out of %d trackpoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:927
+#: ../src/vikgpslayer.c:977
#, c-format
msgid "Downloaded %d out of %d routepoint..."
msgid_plural "Downloaded %d out of %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:932
+#: ../src/vikgpslayer.c:982
#, c-format
msgid "Uploaded %d out of %d waypoint..."
msgid_plural "Uploaded %d out of %d waypoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:933
+#: ../src/vikgpslayer.c:983
#, c-format
msgid "Uploaded %d out of %d trackpoint..."
msgid_plural "Uploaded %d out of %d trackpoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:934
+#: ../src/vikgpslayer.c:984
#, c-format
msgid "Uploaded %d out of %d routepoint..."
msgid_plural "Uploaded %d out of %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:942
+#: ../src/vikgpslayer.c:992
#, c-format
msgid "Downloaded %d waypoint"
msgid_plural "Downloaded %d waypoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:943
+#: ../src/vikgpslayer.c:993
#, c-format
msgid "Downloaded %d trackpoint"
msgid_plural "Downloaded %d trackpoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:944
+#: ../src/vikgpslayer.c:994
#, c-format
msgid "Downloaded %d routepoint"
msgid_plural "Downloaded %d routepoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:949
+#: ../src/vikgpslayer.c:999
#, c-format
msgid "Uploaded %d waypoint"
msgid_plural "Uploaded %d waypoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:950
+#: ../src/vikgpslayer.c:1000
#, c-format
msgid "Uploaded %d trackpoint"
msgid_plural "Uploaded %d trackpoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:951
+#: ../src/vikgpslayer.c:1001
#, c-format
msgid "Uploaded %d routepoint"
msgid_plural "Uploaded %d routepoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:1180
+#: ../src/vikgpslayer.c:1230
msgid "Error: couldn't find gpsbabel."
msgstr ""
-#: ../src/vikgpslayer.c:1269
+#: ../src/vikgpslayer.c:1319
msgid "Warning - GPS Upload items may overwrite each other"
msgstr ""
-#: ../src/vikgpslayer.c:1301
+#: ../src/vikgpslayer.c:1351
msgid "Status: detecting gpsbabel"
msgstr ""
-#: ../src/vikgpslayer.c:1332
+#: ../src/vikgpslayer.c:1386
msgid "No GPS items selected for transfer."
msgstr ""
-#: ../src/vikgpslayer.c:1347
+#: ../src/vikgpslayer.c:1401
msgid "Could not turn off device."
msgstr ""
-#: ../src/vikgpslayer.c:1385
+#: ../src/vikgpslayer.c:1439
msgid "Are you sure you want to delete GPS Upload data?"
msgstr ""
-#: ../src/vikgpslayer.c:1398
+#: ../src/vikgpslayer.c:1452
msgid "Are you sure you want to delete GPS Download data?"
msgstr ""
-#: ../src/vikgpslayer.c:1412
+#: ../src/vikgpslayer.c:1466
msgid "Are you sure you want to delete GPS Realtime data?"
msgstr ""
-#: ../src/vikgpslayer.c:1425
+#: ../src/vikgpslayer.c:1479
msgid "Are you sure you want to delete All GPS data?"
msgstr ""
-#: ../src/viklayerspanel.c:55
-msgid "/C_ut"
+#: ../src/viklayerspanel.c:53
+msgid "C_ut"
msgstr ""
-#: ../src/viklayerspanel.c:56
-msgid "/_Copy"
+#: ../src/viklayerspanel.c:54 ../src/vikwindow.c:3753
+msgid "_Copy"
msgstr ""
-#: ../src/viklayerspanel.c:57
-msgid "/_Paste"
+#: ../src/viklayerspanel.c:55 ../src/vikwindow.c:3754
+msgid "_Paste"
msgstr ""
-#: ../src/viklayerspanel.c:58
-msgid "/_Delete"
+#: ../src/viklayerspanel.c:56 ../src/vikwindow.c:3755
+msgid "_Delete"
msgstr ""
-#: ../src/viklayerspanel.c:59
-msgid "/New Layer"
+#: ../src/viklayerspanel.c:133
+msgid "New Layer"
msgstr ""
-#: ../src/viklayerspanel.c:127
+#: ../src/viklayerspanel.c:178
msgid "Top Layer"
msgstr ""
-#: ../src/viklayerspanel.c:143
+#: ../src/viklayerspanel.c:194
msgid "Add new layer"
msgstr ""
-#: ../src/viklayerspanel.c:150
+#: ../src/viklayerspanel.c:201
msgid "Remove selected layer"
msgstr ""
-#: ../src/viklayerspanel.c:157
+#: ../src/viklayerspanel.c:208
msgid "Move selected layer up"
msgstr ""
-#: ../src/viklayerspanel.c:164
+#: ../src/viklayerspanel.c:215
msgid "Move selected layer down"
msgstr ""
-#: ../src/viklayerspanel.c:171
+#: ../src/viklayerspanel.c:222
msgid "Cut selected layer"
msgstr ""
-#: ../src/viklayerspanel.c:178
+#: ../src/viklayerspanel.c:229
msgid "Copy selected layer"
msgstr ""
-#: ../src/viklayerspanel.c:185
-msgid "Paste layer below selected layer"
+#: ../src/viklayerspanel.c:236
+msgid ""
+"Paste layer into selected container layer or otherwise above selected layer"
msgstr ""
-#. TODO: FIXME: if name has a '/' in it it will get all messed up. why not have an itemfactory field with
-#. name, icon, shortcut, etc.?
-#: ../src/viklayerspanel.c:204 ../src/vikwindow.c:3292
-#, c-format
-msgid "New _%s Layer"
+#: ../src/viklayerspanel.c:300
+msgid "New name can not be blank."
msgstr ""
-#: ../src/viklayerspanel.c:511
+#: ../src/viklayerspanel.c:544
msgid "Aggregate Layers have no settable properties."
msgstr ""
-#: ../src/viklayerspanel.c:555
+#: ../src/viklayerspanel.c:588
msgid "You cannot cut the Top Layer."
msgstr ""
-#: ../src/viklayerspanel.c:600
+#: ../src/viklayerspanel.c:633
#, c-format
msgid "Are you sure you want to delete %s?"
msgstr ""
-#: ../src/viklayerspanel.c:617
+#: ../src/viklayerspanel.c:650
msgid "You cannot delete the Top Layer."
msgstr ""
-#: ../src/viklayerspanel.c:701
+#: ../src/viklayerspanel.c:734
msgid "Are you sure you wish to delete all layers?"
msgstr ""
#. ******* MAPZOOMS ********
-#: ../src/vikmapslayer.c:91
+#: ../src/vikmapslayer.c:80
msgid "Use Viking Zoom Level"
msgstr ""
@@ -1608,70 +1873,70 @@ msgid ""
"actual zoom level."
msgstr ""
-#: ../src/vikmapslayer.c:146
+#: ../src/vikmapslayer.c:156
msgid "_Maps Download"
msgstr ""
-#: ../src/vikmapslayer.c:146
+#: ../src/vikmapslayer.c:156
msgid "Maps Download"
msgstr ""
-#: ../src/vikmapslayer.c:161
+#: ../src/vikmapslayer.c:171
msgid "Map"
msgstr ""
-#: ../src/vikmapslayer.c:249
-msgid "Default maplayer directory:"
+#: ../src/vikmapslayer.c:259
+msgid "Default map layer directory:"
msgstr ""
-#: ../src/vikmapslayer.c:249
+#: ../src/vikmapslayer.c:259
msgid "Choose a directory to store cached Map tiles for this layer"
msgstr ""
-#: ../src/vikmapslayer.c:505
+#: ../src/vikmapslayer.c:523
msgid "Unknown map type"
msgstr ""
-#: ../src/vikmapslayer.c:516
+#: ../src/vikmapslayer.c:534
msgid "Unknown Map Zoom"
msgstr ""
-#: ../src/vikmapslayer.c:589
+#: ../src/vikmapslayer.c:624
#, c-format
msgid ""
"New map cannot be displayed in the current drawmode.\n"
"Select \"%s\" from View menu to view it."
msgstr ""
-#: ../src/vikmapslayer.c:753
+#: ../src/vikmapslayer.c:798
#, c-format
msgid ""
"Cowardly refusing to draw tiles or existence of tiles beyond %d zoom out "
"factor"
msgstr ""
-#: ../src/vikmapslayer.c:1157
+#: ../src/vikmapslayer.c:1210
#, c-format
msgid "Redownloading up to %d %s map..."
msgid_plural "Redownloading up to %d %s maps..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikmapslayer.c:1159
+#: ../src/vikmapslayer.c:1212
#, c-format
msgid "Redownloading %d %s map..."
msgid_plural "Redownloading %d %s maps..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikmapslayer.c:1163 ../src/vikmapslayer.c:1238
+#: ../src/vikmapslayer.c:1216 ../src/vikmapslayer.c:1290
#, c-format
msgid "Downloading %d %s map..."
msgid_plural "Downloading %d %s maps..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikmapslayer.c:1311
+#: ../src/vikmapslayer.c:1376
#, c-format
msgid ""
"\n"
@@ -1681,7 +1946,7 @@ msgid ""
"Tile File Timestamp: %s"
msgstr ""
-#: ../src/vikmapslayer.c:1318
+#: ../src/vikmapslayer.c:1380
#, c-format
msgid ""
"Source: %s\n"
@@ -1689,1458 +1954,2035 @@ msgid ""
"No Tile File!"
msgstr ""
-#: ../src/vikmapslayer.c:1356
+#: ../src/vikmapslayer.c:1418
msgid "Redownload _Bad Map(s)"
msgstr ""
-#: ../src/vikmapslayer.c:1360
+#: ../src/vikmapslayer.c:1422
msgid "Redownload _New Map(s)"
msgstr ""
-#: ../src/vikmapslayer.c:1364
+#: ../src/vikmapslayer.c:1426
msgid "Redownload _All Map(s)"
msgstr ""
-#: ../src/vikmapslayer.c:1368
+#: ../src/vikmapslayer.c:1430
msgid "_Show Tile Information"
msgstr ""
-#: ../src/vikmapslayer.c:1449
+#: ../src/vikmapslayer.c:1511
#, c-format
msgid ""
"Wrong drawmode for this map.\n"
"Select \"%s\" from View menu and try again."
msgstr ""
-#: ../src/vikmapslayer.c:1454
+#: ../src/vikmapslayer.c:1516
msgid "Wrong zoom level for this map."
msgstr ""
+#: ../src/vikmapslayer.c:1647
+msgid "Zoom Start:"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1654
+msgid "Zoom End:"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1660
+msgid "Download Maps Method:"
+msgstr ""
+
+#. redownload method - needs to align with REDOWNLOAD* macro values
+#: ../src/vikmapslayer.c:1732
+msgid "Missing"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1732
+msgid "Bad"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1732
+msgid "New"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1732
+msgid "Reload All"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1734
+msgid "Download for Zoom Levels"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1774
+#, c-format
+msgid ""
+"You are not allowed to download more than %d tiles in one go (requested %d)"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1782
+#, c-format
+msgid "Do you really want to download %d tiles?"
+msgstr ""
+
#. Now with icons
-#: ../src/vikmapslayer.c:1485
+#: ../src/vikmapslayer.c:1807
msgid "Download _Missing Onscreen Maps"
msgstr ""
-#: ../src/vikmapslayer.c:1492
+#: ../src/vikmapslayer.c:1814
msgid "Download _New Onscreen Maps"
msgstr ""
-#: ../src/vikmapslayer.c:1499
+#: ../src/vikmapslayer.c:1821
msgid "Reload _All Onscreen Maps"
msgstr ""
-#: ../src/viktreeview.c:263
+#: ../src/vikmapslayer.c:1827
+msgid "Download Maps in _Zoom Levels..."
+msgstr ""
+
+#: ../src/vikrouting.c:54
+msgid "Default engine:"
+msgstr ""
+
+#: ../src/viktreeview.c:316
msgid "Layer Name"
msgstr ""
-#: ../src/viktreeview.c:742
+#: ../src/viktreeview.c:851
#, c-format
msgid "delete data from %s\n"
msgstr ""
-#: ../src/viktrwlayer.c:377
+#: ../src/viktrwlayer.c:398
msgid "Create _Waypoint"
msgstr ""
-#: ../src/viktrwlayer.c:377
+#: ../src/viktrwlayer.c:398
msgid "Create Waypoint"
msgstr ""
-#: ../src/viktrwlayer.c:383
+#: ../src/viktrwlayer.c:404
msgid "Create _Track"
msgstr ""
-#: ../src/viktrwlayer.c:383
+#: ../src/viktrwlayer.c:404
msgid "Create Track"
msgstr ""
-#: ../src/viktrwlayer.c:392
+#: ../src/viktrwlayer.c:413
msgid "Create _Route"
msgstr ""
-#: ../src/viktrwlayer.c:392
+#: ../src/viktrwlayer.c:413
msgid "Create Route"
msgstr ""
-#: ../src/viktrwlayer.c:401
+#: ../src/viktrwlayer.c:422
msgid "_Edit Waypoint"
msgstr ""
-#: ../src/viktrwlayer.c:401
+#: ../src/viktrwlayer.c:422
msgid "Edit Waypoint"
msgstr ""
-#: ../src/viktrwlayer.c:409
+#: ../src/viktrwlayer.c:432
msgid "Edit Trac_kpoint"
msgstr ""
-#: ../src/viktrwlayer.c:409
+#: ../src/viktrwlayer.c:432
msgid "Edit Trackpoint"
msgstr ""
-#: ../src/viktrwlayer.c:417
+#: ../src/viktrwlayer.c:442
msgid "Show P_icture"
msgstr ""
-#: ../src/viktrwlayer.c:417
+#: ../src/viktrwlayer.c:442
msgid "Show Picture"
msgstr ""
-#: ../src/viktrwlayer.c:424
+#: ../src/viktrwlayer.c:448
msgid "Route _Finder"
msgstr ""
-#: ../src/viktrwlayer.c:424
+#: ../src/viktrwlayer.c:448
msgid "Route Finder"
msgstr ""
#. ***** PARAMETERS *****
-#: ../src/viktrwlayer.c:447 ../src/viktrwlayer.c:1942
-#: ../src/viktrwlayer.c:1944
+#: ../src/viktrwlayer.c:468 ../src/viktrwlayer.c:2324
msgid "Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:447 ../src/viktrwlayer.c:1933
-#: ../src/viktrwlayer.c:1935
+#: ../src/viktrwlayer.c:468 ../src/viktrwlayer.c:2319
msgid "Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:447
+#: ../src/viktrwlayer.c:468
msgid "Waypoint Images"
msgstr ""
-#: ../src/viktrwlayer.c:450
+#: ../src/viktrwlayer.c:468
+msgid "Tracks Advanced"
+msgstr ""
+
+#: ../src/viktrwlayer.c:471
msgid "Draw by Track"
msgstr ""
-#: ../src/viktrwlayer.c:450
+#: ../src/viktrwlayer.c:471
msgid "Draw by Speed"
msgstr ""
-#: ../src/viktrwlayer.c:450
+#: ../src/viktrwlayer.c:471
msgid "All Tracks Same Color"
msgstr ""
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "Filled Square"
msgstr ""
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "Square"
msgstr ""
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "Circle"
msgstr ""
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "X"
msgstr ""
-#: ../src/viktrwlayer.c:477
+#: ../src/viktrwlayer.c:498
msgid "Extra Extra Small"
msgstr ""
-#: ../src/viktrwlayer.c:478
+#: ../src/viktrwlayer.c:499
msgid "Extra Small"
msgstr ""
-#: ../src/viktrwlayer.c:479
+#: ../src/viktrwlayer.c:500
msgid "Small"
msgstr ""
-#: ../src/viktrwlayer.c:480
+#: ../src/viktrwlayer.c:501
msgid "Medium"
msgstr ""
-#: ../src/viktrwlayer.c:481
+#: ../src/viktrwlayer.c:502
msgid "Large"
msgstr ""
-#: ../src/viktrwlayer.c:482
+#: ../src/viktrwlayer.c:503
msgid "Extra Large"
msgstr ""
-#: ../src/viktrwlayer.c:483
+#: ../src/viktrwlayer.c:504
msgid "Extra Extra Large"
msgstr ""
-#: ../src/viktrwlayer.c:491
+#: ../src/viktrwlayer.c:510
+msgid "Name Ascending"
+msgstr ""
+
+#: ../src/viktrwlayer.c:511
+msgid "Name Descending"
+msgstr ""
+
+#: ../src/viktrwlayer.c:552 ../src/viktrwlayer.c:576
+msgid "Draw Labels"
+msgstr ""
+
+#: ../src/viktrwlayer.c:553
+msgid "Note: the individual track controls what labels may be displayed"
+msgstr ""
+
+#: ../src/viktrwlayer.c:554
+msgid "Track Labels Font Size:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:555
msgid "Track Drawing Mode:"
msgstr ""
-#: ../src/viktrwlayer.c:492
+#: ../src/viktrwlayer.c:556
msgid "All Tracks Color:"
msgstr ""
-#: ../src/viktrwlayer.c:493
+#: ../src/viktrwlayer.c:557
msgid "The color used when 'All Tracks Same Color' drawing mode is selected"
msgstr ""
-#: ../src/viktrwlayer.c:494
+#: ../src/viktrwlayer.c:558
msgid "Draw Track Lines"
msgstr ""
-#: ../src/viktrwlayer.c:495
+#: ../src/viktrwlayer.c:559
msgid "Track Thickness:"
msgstr ""
-#: ../src/viktrwlayer.c:496
+#: ../src/viktrwlayer.c:560
msgid "Draw Track Direction"
msgstr ""
-#: ../src/viktrwlayer.c:497
+#: ../src/viktrwlayer.c:561
msgid "Direction Size:"
msgstr ""
-#: ../src/viktrwlayer.c:498
+#: ../src/viktrwlayer.c:562
msgid "Draw Trackpoints"
msgstr ""
-#: ../src/viktrwlayer.c:499
+#: ../src/viktrwlayer.c:563
msgid "Trackpoint Size:"
msgstr ""
-#: ../src/viktrwlayer.c:500
+#: ../src/viktrwlayer.c:564
msgid "Draw Elevation"
msgstr ""
-#: ../src/viktrwlayer.c:501
+#: ../src/viktrwlayer.c:565
msgid "Draw Elevation Height %:"
msgstr ""
-#: ../src/viktrwlayer.c:503
+#: ../src/viktrwlayer.c:566
msgid "Draw Stops"
msgstr ""
-#: ../src/viktrwlayer.c:504
+#: ../src/viktrwlayer.c:567
msgid ""
"Whether to draw a marker when trackpoints are at the same position but over "
"the minimum stop length apart in time"
msgstr ""
-#: ../src/viktrwlayer.c:505
+#: ../src/viktrwlayer.c:568
msgid "Min Stop Length (seconds):"
msgstr ""
-#: ../src/viktrwlayer.c:507
+#: ../src/viktrwlayer.c:570
msgid "Track BG Thickness:"
msgstr ""
-#: ../src/viktrwlayer.c:508
+#: ../src/viktrwlayer.c:571
msgid "Track Background Color"
msgstr ""
-#: ../src/viktrwlayer.c:509
+#: ../src/viktrwlayer.c:572
msgid "Draw by Speed Factor (%):"
msgstr ""
-#: ../src/viktrwlayer.c:510
+#: ../src/viktrwlayer.c:573
msgid ""
"The percentage factor away from the average speed determining the color used"
msgstr ""
-#: ../src/viktrwlayer.c:512
-msgid "Draw Labels"
+#: ../src/viktrwlayer.c:574
+msgid "Track Sort Order:"
msgstr ""
-#: ../src/viktrwlayer.c:513
+#: ../src/viktrwlayer.c:577
msgid "Waypoint Font Size:"
msgstr ""
-#: ../src/viktrwlayer.c:514
+#: ../src/viktrwlayer.c:578
msgid "Waypoint Color:"
msgstr ""
-#: ../src/viktrwlayer.c:515
+#: ../src/viktrwlayer.c:579
msgid "Waypoint Text:"
msgstr ""
-#: ../src/viktrwlayer.c:516
+#: ../src/viktrwlayer.c:580
msgid "Background:"
msgstr ""
-#: ../src/viktrwlayer.c:517
+#: ../src/viktrwlayer.c:581
msgid "Fake BG Color Translucency:"
msgstr ""
-#: ../src/viktrwlayer.c:518
+#: ../src/viktrwlayer.c:582
msgid "Waypoint marker:"
msgstr ""
-#: ../src/viktrwlayer.c:519
+#: ../src/viktrwlayer.c:583
msgid "Waypoint size:"
msgstr ""
-#: ../src/viktrwlayer.c:520
+#: ../src/viktrwlayer.c:584
msgid "Draw Waypoint Symbols:"
msgstr ""
-#: ../src/viktrwlayer.c:522
+#: ../src/viktrwlayer.c:585
+msgid "Waypoint Sort Order:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:587
msgid "Draw Waypoint Images"
msgstr ""
-#: ../src/viktrwlayer.c:523
+#: ../src/viktrwlayer.c:588
msgid "Image Size (pixels):"
msgstr ""
-#: ../src/viktrwlayer.c:524
+#: ../src/viktrwlayer.c:589
msgid "Image Alpha:"
msgstr ""
-#: ../src/viktrwlayer.c:525
+#: ../src/viktrwlayer.c:590
msgid "Image Memory Cache Size:"
msgstr ""
-#: ../src/viktrwlayer.c:610
+#: ../src/viktrwlayer.c:678
msgid "TrackWaypoint"
msgstr ""
-#: ../src/viktrwlayer.c:1951 ../src/viktrwlayer.c:1953
+#: ../src/viktrwlayer.c:1534 ../src/vikutils.c:204
+msgid "miles"
+msgstr ""
+
+#. VIK_UNITS_DISTANCE_KILOMETRES:
+#: ../src/viktrwlayer.c:1538 ../src/vikutils.c:209
+msgid "km"
+msgstr ""
+
+#: ../src/viktrwlayer.c:1648
+msgid "start/end"
+msgstr ""
+
+#: ../src/viktrwlayer.c:1660
+msgid "start"
+msgstr ""
+
+#: ../src/viktrwlayer.c:1669
+msgid "end"
+msgstr ""
+
+#: ../src/viktrwlayer.c:2329
msgid "Routes"
msgstr ""
-#: ../src/viktrwlayer.c:2144
+#: ../src/viktrwlayer.c:2519
#, c-format
msgid " in %d:%02d hrs:mins"
msgstr ""
-#: ../src/viktrwlayer.c:2148
+#: ../src/viktrwlayer.c:2523
#, c-format
msgid ""
"\n"
"%sTotal Length %.1f %s%s"
msgstr ""
-#: ../src/viktrwlayer.c:2154
+#: ../src/viktrwlayer.c:2529
#, c-format
msgid "Tracks: %d - Waypoints: %d - Routes: %d%s"
msgstr ""
-#: ../src/viktrwlayer.c:2174
+#: ../src/viktrwlayer.c:2549
#, c-format
msgid "Tracks: %d"
msgstr ""
-#: ../src/viktrwlayer.c:2184
+#: ../src/viktrwlayer.c:2559
#, c-format
msgid "Routes: %d"
msgstr ""
-#: ../src/viktrwlayer.c:2215
+#: ../src/viktrwlayer.c:2590
#, c-format
msgid "- %d:%02d hrs:mins"
msgstr ""
-#: ../src/viktrwlayer.c:2223
+#: ../src/viktrwlayer.c:2598
#, c-format
msgid "%s%.1f km %s"
msgstr ""
-#: ../src/viktrwlayer.c:2226
+#: ../src/viktrwlayer.c:2601
#, c-format
msgid "%s%.1f miles %s"
msgstr ""
-#: ../src/viktrwlayer.c:2240
+#: ../src/viktrwlayer.c:2615
#, c-format
msgid "Waypoints: %d"
msgstr ""
-#: ../src/viktrwlayer.c:2266
-#, c-format
-msgid "Trkpt: Alt %dft"
-msgstr ""
-
-#. VIK_UNITS_HEIGHT_METRES:
-#: ../src/viktrwlayer.c:2270
-#, c-format
-msgid "Trkpt: Alt %dm"
-msgstr ""
-
-#. Compact date time format
-#: ../src/viktrwlayer.c:2277
-#, c-format
-msgid " | Time %x %X"
-msgstr ""
-
-#: ../src/viktrwlayer.c:2295
-#, c-format
-msgid " | Track: %s"
-msgstr ""
-
-#. Combine parts to make overall message
-#: ../src/viktrwlayer.c:2299
-#, c-format
-msgid "%s%s | %s %s %s"
-msgstr ""
-
-#: ../src/viktrwlayer.c:2314
+#: ../src/viktrwlayer.c:2671
#, c-format
msgid "Wpt: Alt %dft"
msgstr ""
#. VIK_UNITS_HEIGHT_METRES:
-#: ../src/viktrwlayer.c:2318
+#: ../src/viktrwlayer.c:2675
#, c-format
msgid "Wpt: Alt %dm"
msgstr ""
#. Add comment if available
-#: ../src/viktrwlayer.c:2333
+#: ../src/viktrwlayer.c:2690
#, c-format
msgid "%s | %s %s | Comment: %s"
msgstr ""
-#: ../src/viktrwlayer.c:2335
+#: ../src/viktrwlayer.c:2692
#, c-format
msgid "%s | %s %s"
msgstr ""
-#: ../src/viktrwlayer.c:2563 ../src/viktrwlayer.c:2634
+#: ../src/viktrwlayer.c:2939 ../src/viktrwlayer.c:3010
msgid "This layer has no waypoints or trackpoints."
msgstr ""
-#: ../src/viktrwlayer.c:2661 ../src/vikwindow.c:2407 ../src/vikwindow.c:2848
+#: ../src/viktrwlayer.c:3045 ../src/vikwindow.c:2754 ../src/vikwindow.c:3407
#, c-format
msgid "The file \"%s\" exists, do you wish to overwrite it?"
msgstr ""
-#: ../src/viktrwlayer.c:2671 ../src/vikwindow.c:2429
+#: ../src/viktrwlayer.c:3057 ../src/vikwindow.c:2778
msgid "The filename you requested could not be opened for writing."
msgstr ""
-#: ../src/viktrwlayer.c:2676 ../src/viktrwlayer.c:2681
-#: ../src/viktrwlayer.c:2691 ../src/viktrwlayer.c:2703
+#: ../src/viktrwlayer.c:3062 ../src/viktrwlayer.c:3067
+#: ../src/viktrwlayer.c:3077 ../src/viktrwlayer.c:3089
msgid "Export Layer"
msgstr ""
-#: ../src/viktrwlayer.c:2720
+#: ../src/viktrwlayer.c:3108
msgid "Could not create temporary file for export."
msgstr ""
-#: ../src/viktrwlayer.c:2729
+#: ../src/viktrwlayer.c:3117
#, c-format
msgid "Could not launch %s."
msgstr ""
-#: ../src/viktrwlayer.c:2773
+#: ../src/viktrwlayer.c:3161
msgid "Export Track as GPX"
msgstr ""
-#: ../src/viktrwlayer.c:2795
+#: ../src/viktrwlayer.c:3183
msgid "Find"
msgstr ""
-#: ../src/viktrwlayer.c:2805
+#: ../src/viktrwlayer.c:3193
msgid "Waypoint Name:"
msgstr ""
-#: ../src/viktrwlayer.c:2822
+#: ../src/viktrwlayer.c:3210
msgid "Waypoint not found in this layer."
msgstr ""
-#: ../src/viktrwlayer.c:3090
+#: ../src/viktrwlayer.c:3476
msgid "Can not upload invisible track."
msgstr ""
-#: ../src/viktrwlayer.c:3192 ../src/viktrwlayer.c:7785
+#: ../src/viktrwlayer.c:3581 ../src/viktrwlayer.c:9283
msgid "Track"
msgstr ""
-#: ../src/viktrwlayer.c:3215 ../src/viktrwlayer.c:7817
+#: ../src/viktrwlayer.c:3606 ../src/viktrwlayer.c:9316
msgid "Route"
msgstr ""
-#: ../src/viktrwlayer.c:3296 ../src/viktrwlayer.c:6265
-#: ../src/viktrwlayer.c:6314
+#: ../src/viktrwlayer.c:3691 ../src/viktrwlayer.c:7460
+#: ../src/viktrwlayer.c:7566
msgid "_Finish Route"
msgstr ""
-#: ../src/viktrwlayer.c:3298 ../src/viktrwlayer.c:6223
-#: ../src/viktrwlayer.c:6312
+#: ../src/viktrwlayer.c:3693 ../src/viktrwlayer.c:7383
+#: ../src/viktrwlayer.c:7564
msgid "_Finish Track"
msgstr ""
#. Now with icons
-#: ../src/viktrwlayer.c:3310
+#: ../src/viktrwlayer.c:3705
msgid "_View Layer"
msgstr ""
-#: ../src/viktrwlayer.c:3317
+#: ../src/viktrwlayer.c:3712
msgid "V_iew"
msgstr ""
-#: ../src/viktrwlayer.c:3323
+#: ../src/viktrwlayer.c:3718
msgid "View All _Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:3328
+#: ../src/viktrwlayer.c:3723
msgid "View All _Routes"
msgstr ""
-#: ../src/viktrwlayer.c:3333
+#: ../src/viktrwlayer.c:3728
msgid "View All _Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:3338
+#: ../src/viktrwlayer.c:3733
msgid "_Goto Center of Layer"
msgstr ""
-#: ../src/viktrwlayer.c:3344 ../src/viktrwlayer.c:6199
+#: ../src/viktrwlayer.c:3739 ../src/viktrwlayer.c:7335
msgid "Goto _Waypoint..."
msgstr ""
-#: ../src/viktrwlayer.c:3350
+#: ../src/viktrwlayer.c:3745
msgid "_Export Layer"
msgstr ""
-#: ../src/viktrwlayer.c:3356
+#: ../src/viktrwlayer.c:3751
msgid "Export as GPS_Point..."
msgstr ""
-#: ../src/viktrwlayer.c:3361
+#: ../src/viktrwlayer.c:3756
msgid "Export as GPS_Mapper..."
msgstr ""
-#: ../src/viktrwlayer.c:3366
+#: ../src/viktrwlayer.c:3761
msgid "Export as _GPX..."
msgstr ""
-#: ../src/viktrwlayer.c:3371
+#: ../src/viktrwlayer.c:3766
msgid "Export as _KML..."
msgstr ""
-#: ../src/viktrwlayer.c:3376
+#: ../src/viktrwlayer.c:3771
msgid "Open with External Program_1: "
msgstr ""
-#: ../src/viktrwlayer.c:3383
+#: ../src/viktrwlayer.c:3778
msgid "Open with External Program_2: "
msgstr ""
-#: ../src/viktrwlayer.c:3391 ../src/vikwindow.c:3145
+#: ../src/viktrwlayer.c:3786 ../src/vikwindow.c:3704
msgid "_New"
msgstr ""
-#: ../src/viktrwlayer.c:3397
+#: ../src/viktrwlayer.c:3792
msgid "New _Waypoint..."
msgstr ""
-#: ../src/viktrwlayer.c:3403
+#: ../src/viktrwlayer.c:3798
msgid "New _Track"
msgstr ""
-#: ../src/viktrwlayer.c:3411
+#: ../src/viktrwlayer.c:3806
msgid "New _Route"
msgstr ""
-#: ../src/viktrwlayer.c:3420 ../src/viktrwlayer.c:6597
+#: ../src/viktrwlayer.c:3815 ../src/viktrwlayer.c:7938
msgid "Geotag _Images..."
msgstr ""
-#: ../src/viktrwlayer.c:3427
+#: ../src/viktrwlayer.c:3822
msgid "_Acquire"
msgstr ""
-#: ../src/viktrwlayer.c:3433 ../src/vikwindow.c:3150
+#: ../src/viktrwlayer.c:3828 ../src/vikwindow.c:3711
msgid "From _GPS..."
msgstr ""
-#: ../src/viktrwlayer.c:3439
-msgid "From Google _Directions..."
+#. FIXME: only add menu when at least a routing engine has support for Directions
+#: ../src/viktrwlayer.c:3834
+msgid "From _Directions..."
msgstr ""
-#: ../src/viktrwlayer.c:3446
+#: ../src/viktrwlayer.c:3840
msgid "From _OSM Traces..."
msgstr ""
-#: ../src/viktrwlayer.c:3451
+#: ../src/viktrwlayer.c:3845
msgid "From _My OSM Traces..."
msgstr ""
-#: ../src/viktrwlayer.c:3459 ../src/vikwindow.c:3166
+#: ../src/viktrwlayer.c:3853 ../src/vikwindow.c:3725
msgid "From _Wikipedia Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:3465
+#: ../src/viktrwlayer.c:3859
msgid "Within _Layer Bounds"
msgstr ""
-#: ../src/viktrwlayer.c:3471
+#: ../src/viktrwlayer.c:3865
msgid "Within _Current View"
msgstr ""
-#: ../src/viktrwlayer.c:3479
+#: ../src/viktrwlayer.c:3873
msgid "From Geo_caching..."
msgstr ""
-#: ../src/viktrwlayer.c:3486 ../src/vikwindow.c:3163
+#: ../src/viktrwlayer.c:3880 ../src/vikwindow.c:3722
msgid "From Geotagged _Images..."
msgstr ""
-#: ../src/viktrwlayer.c:3492
+#: ../src/viktrwlayer.c:3886
msgid "From _File..."
msgstr ""
-#: ../src/viktrwlayer.c:3498 ../src/viktrwlayer.c:6542
+#: ../src/viktrwlayer.c:3894 ../src/viktrwlayer.c:7883
msgid "_Upload"
msgstr ""
-#: ../src/viktrwlayer.c:3504
+#: ../src/viktrwlayer.c:3900
msgid "Upload to _GPS..."
msgstr ""
-#: ../src/viktrwlayer.c:3511 ../src/viktrwlayer.c:6570
+#: ../src/viktrwlayer.c:3907 ../src/viktrwlayer.c:7911
msgid "Upload to _OSM..."
msgstr ""
-#: ../src/viktrwlayer.c:3519
+#: ../src/viktrwlayer.c:3915
msgid "De_lete"
msgstr ""
-#: ../src/viktrwlayer.c:3525
+#: ../src/viktrwlayer.c:3921
msgid "Delete All _Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:3531
+#: ../src/viktrwlayer.c:3927
msgid "Delete Tracks _From Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:3537 ../src/viktrwlayer.c:6290
+#: ../src/viktrwlayer.c:3933 ../src/viktrwlayer.c:7485
msgid "Delete _All Routes"
msgstr ""
-#: ../src/viktrwlayer.c:3543 ../src/viktrwlayer.c:6296
+#: ../src/viktrwlayer.c:3939 ../src/viktrwlayer.c:7491
msgid "_Delete Routes From Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:3549
+#: ../src/viktrwlayer.c:3945
msgid "Delete All _Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:3555
+#: ../src/viktrwlayer.c:3951
msgid "Delete Waypoints From _Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:4128
+#: ../src/viktrwlayer.c:4574
#, c-format
msgid "Are you sure you want to delete all tracks in %s?"
msgstr ""
-#: ../src/viktrwlayer.c:4138
+#: ../src/viktrwlayer.c:4584
#, c-format
msgid "Are you sure you want to delete all routes in %s?"
msgstr ""
-#: ../src/viktrwlayer.c:4148
+#: ../src/viktrwlayer.c:4594
#, c-format
msgid "Are you sure you want to delete all waypoints in %s?"
msgstr ""
-#: ../src/viktrwlayer.c:4165
+#: ../src/viktrwlayer.c:4611
#, c-format
-msgid "Are you sure you want to delete the waypoint \"%s\""
+msgid "Are you sure you want to delete the waypoint \"%s\"?"
msgstr ""
-#: ../src/viktrwlayer.c:4178
+#: ../src/viktrwlayer.c:4624
#, c-format
-msgid "Are you sure you want to delete the track \"%s\""
+msgid "Are you sure you want to delete the track \"%s\"?"
msgstr ""
-#: ../src/viktrwlayer.c:4191
+#: ../src/viktrwlayer.c:4637
#, c-format
-msgid "Are you sure you want to delete the route \"%s\""
+msgid "Are you sure you want to delete the route \"%s\"?"
msgstr ""
-#: ../src/viktrwlayer.c:4351 ../src/viktrwlayer.c:4922
+#: ../src/viktrwlayer.c:4849 ../src/viktrwlayer.c:5677
msgid ""
"Converting a track to a route removes extra track data such as segments, "
"timestamps, etc...\n"
"Do you want to continue?"
msgstr ""
-#: ../src/viktrwlayer.c:4711
+#: ../src/viktrwlayer.c:4944
+msgid "No DEM layers available, thus no DEM values can be applied."
+msgstr ""
+
+#: ../src/viktrwlayer.c:4964 ../src/viktrwlayer.c:5005
+#, c-format
+msgid "%ld point adjusted"
+msgid_plural "%ld points adjusted"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/viktrwlayer.c:5049
+#, c-format
+msgid "%ld waypoint changed"
+msgid_plural "%ld waypoints changed"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/viktrwlayer.c:5233
+#, c-format
+msgid ""
+"Refining a track with many points (%d) is unlikely to yield sensible "
+"results. Do you want to Continue?"
+msgstr ""
+
+#. Select engine from dialog
+#: ../src/viktrwlayer.c:5241
+msgid "Refine Route with Routing Engine..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:5249
+msgid "Select routing engine"
+msgstr ""
+
+#: ../src/viktrwlayer.c:5467
msgid "Failed. No other tracks with timestamps in this layer found"
msgstr ""
-#: ../src/viktrwlayer.c:4713
+#: ../src/viktrwlayer.c:5469
msgid "Failed. No other tracks without timestamps in this layer found"
msgstr ""
-#: ../src/viktrwlayer.c:4732
+#: ../src/viktrwlayer.c:5488
msgid "Merge with..."
msgstr ""
-#: ../src/viktrwlayer.c:4733
+#: ../src/viktrwlayer.c:5489
msgid "Select route to merge with"
msgstr ""
-#: ../src/viktrwlayer.c:4733
+#: ../src/viktrwlayer.c:5489
msgid "Select track to merge with"
msgstr ""
-#: ../src/viktrwlayer.c:4818 ../src/viktrwlayer.c:4895
+#: ../src/viktrwlayer.c:5573 ../src/viktrwlayer.c:5650
msgid "Append Route"
msgstr ""
-#: ../src/viktrwlayer.c:4818 ../src/viktrwlayer.c:4895
+#: ../src/viktrwlayer.c:5573 ../src/viktrwlayer.c:5650
msgid "Append Track"
msgstr ""
-#: ../src/viktrwlayer.c:4819
+#: ../src/viktrwlayer.c:5574
msgid "Select the route to append after the current route"
msgstr ""
-#: ../src/viktrwlayer.c:4820
+#: ../src/viktrwlayer.c:5575
msgid "Select the track to append after the current track"
msgstr ""
-#: ../src/viktrwlayer.c:4896
+#: ../src/viktrwlayer.c:5651
msgid "Select the track to append after the current route"
msgstr ""
-#: ../src/viktrwlayer.c:4897
+#: ../src/viktrwlayer.c:5652
msgid "Select the route to append after the current track"
msgstr ""
-#: ../src/viktrwlayer.c:4957
+#: ../src/viktrwlayer.c:5711
#, c-format
msgid "%d segment merged"
msgid_plural "%d segments merged"
msgstr[0] ""
msgstr[1] ""
-#: ../src/viktrwlayer.c:4973
+#: ../src/viktrwlayer.c:5727
msgid "Failed. This track does not have timestamp"
msgstr ""
-#: ../src/viktrwlayer.c:4985
+#: ../src/viktrwlayer.c:5739
msgid "Failed. No other track in this layer has timestamp"
msgstr ""
-#: ../src/viktrwlayer.c:4992
+#: ../src/viktrwlayer.c:5746
msgid "Merge Threshold..."
msgstr ""
-#: ../src/viktrwlayer.c:4993
+#: ../src/viktrwlayer.c:5747
msgid "Merge when time between tracks less than:"
msgstr ""
-#: ../src/viktrwlayer.c:5128
+#: ../src/viktrwlayer.c:5889
msgid "Split Threshold..."
msgstr ""
-#: ../src/viktrwlayer.c:5129
+#: ../src/viktrwlayer.c:5890
msgid "Split when time between trackpoints exceeds:"
msgstr ""
-#: ../src/viktrwlayer.c:5205
+#: ../src/viktrwlayer.c:5907
+#, c-format
+msgid ""
+"Can not split track due to trackpoints not ordered in time - such as at %s.\n"
+"\n"
+"Goto this trackpoint?"
+msgstr ""
+
+#: ../src/viktrwlayer.c:5976
msgid "Split Every Nth Point"
msgstr ""
-#: ../src/viktrwlayer.c:5206
+#: ../src/viktrwlayer.c:5977
msgid "Split on every Nth point:"
msgstr ""
-#: ../src/viktrwlayer.c:5312
+#: ../src/viktrwlayer.c:6087
msgid "Can not split track as it has no segments"
msgstr ""
-#: ../src/viktrwlayer.c:5340 ../src/viktrwlayer.c:5370
+#: ../src/viktrwlayer.c:6169 ../src/viktrwlayer.c:6199
#, c-format
msgid "Deleted %ld point"
msgid_plural "Deleted %ld points"
msgstr[0] ""
msgstr[1] ""
-#: ../src/viktrwlayer.c:5531
+#: ../src/viktrwlayer.c:6392
msgid "Internal Error in vik_trw_layer_uniquify_tracks"
msgstr ""
-#: ../src/viktrwlayer.c:5588 ../src/viktrwlayer.c:5635
-#: ../src/viktrwlayer.c:5814
+#: ../src/viktrwlayer.c:6496 ../src/viktrwlayer.c:6543
+#: ../src/viktrwlayer.c:6704
msgid ""
"Multiple entries with the same name exist. This method only works with "
"unique names. Force unique names now?"
msgstr ""
-#: ../src/viktrwlayer.c:5599
+#: ../src/viktrwlayer.c:6507
msgid "No tracks found"
msgstr ""
-#: ../src/viktrwlayer.c:5607 ../src/viktrwlayer.c:5654
-#: ../src/viktrwlayer.c:5834
+#: ../src/viktrwlayer.c:6515 ../src/viktrwlayer.c:6562
+#: ../src/viktrwlayer.c:6724
msgid "Delete Selection"
msgstr ""
-#: ../src/viktrwlayer.c:5608
+#: ../src/viktrwlayer.c:6516
msgid "Select tracks to delete"
msgstr ""
-#: ../src/viktrwlayer.c:5646
+#: ../src/viktrwlayer.c:6554
msgid "No routes found"
msgstr ""
-#: ../src/viktrwlayer.c:5655
+#: ../src/viktrwlayer.c:6563
msgid "Select routes to delete"
msgstr ""
-#: ../src/viktrwlayer.c:5761
+#: ../src/viktrwlayer.c:6669
msgid "Internal Error in vik_trw_layer_uniquify_waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:5824
+#: ../src/viktrwlayer.c:6714
msgid "No waypoints found"
msgstr ""
-#: ../src/viktrwlayer.c:5835
+#: ../src/viktrwlayer.c:6725
msgid "Select waypoints to delete"
msgstr ""
-#: ../src/viktrwlayer.c:5896
+#: ../src/viktrwlayer.c:7033
#, c-format
msgid ""
"A waypoint with the name \"%s\" already exists. Really rename to the same "
"name?"
msgstr ""
-#: ../src/viktrwlayer.c:5926
+#: ../src/viktrwlayer.c:7063
#, c-format
msgid ""
"A track with the name \"%s\" already exists. Really rename to the same name?"
msgstr ""
-#: ../src/viktrwlayer.c:5963
+#: ../src/viktrwlayer.c:7100
#, c-format
msgid ""
"A route with the name \"%s\" already exists. Really rename to the same name?"
msgstr ""
-#: ../src/viktrwlayer.c:6085 ../src/viktrwlayer.c:6337
+#: ../src/viktrwlayer.c:7221 ../src/viktrwlayer.c:7594
msgid "_Goto"
msgstr ""
-#: ../src/viktrwlayer.c:6104
+#: ../src/viktrwlayer.c:7240
msgid "_Visit Geocache Webpage"
msgstr ""
-#: ../src/viktrwlayer.c:6123
+#: ../src/viktrwlayer.c:7259
msgid "_Show Picture..."
msgstr ""
-#: ../src/viktrwlayer.c:6131
+#: ../src/viktrwlayer.c:7267
msgid "Update Geotag on _Image"
msgstr ""
-#: ../src/viktrwlayer.c:6137
+#: ../src/viktrwlayer.c:7273
msgid "_Update"
msgstr ""
-#: ../src/viktrwlayer.c:6142
+#: ../src/viktrwlayer.c:7278
msgid "Update and _Keep File Timestamp"
msgstr ""
-#: ../src/viktrwlayer.c:6153
+#: ../src/viktrwlayer.c:7289
msgid "Visit _Webpage"
msgstr ""
-#: ../src/viktrwlayer.c:6184
+#: ../src/viktrwlayer.c:7320
msgid "_New Waypoint..."
msgstr ""
-#: ../src/viktrwlayer.c:6193
+#: ../src/viktrwlayer.c:7329
msgid "_View All Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:6205
+#: ../src/viktrwlayer.c:7341
msgid "Delete _All Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:6211
+#: ../src/viktrwlayer.c:7347
msgid "_Delete Waypoints From Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:6233
+#: ../src/viktrwlayer.c:7359
+msgid "_Show All Waypoints"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7365
+msgid "_Hide All Waypoints"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7393
msgid "_View All Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:6239
+#: ../src/viktrwlayer.c:7399
msgid "_New Track"
msgstr ""
-#: ../src/viktrwlayer.c:6247
+#: ../src/viktrwlayer.c:7407
msgid "Delete _All Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:6253
+#: ../src/viktrwlayer.c:7413
msgid "_Delete Tracks From Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:6276
+#: ../src/viktrwlayer.c:7425
+msgid "_Show All Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7431
+msgid "_Hide All Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7442
+msgid "_List Tracks..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7471
msgid "_View All Routes"
msgstr ""
-#: ../src/viktrwlayer.c:6282
+#: ../src/viktrwlayer.c:7477
msgid "_New Route"
msgstr ""
-#: ../src/viktrwlayer.c:6327
+#: ../src/viktrwlayer.c:7503
+msgid "_Show All Routes"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7509
+msgid "_Hide All Routes"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7520
+msgid "_List Routes..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7579
msgid "_View Track"
msgstr ""
-#: ../src/viktrwlayer.c:6329
+#: ../src/viktrwlayer.c:7581
msgid "_View Route"
msgstr ""
-#: ../src/viktrwlayer.c:6343
+#: ../src/viktrwlayer.c:7600
msgid "_Startpoint"
msgstr ""
-#: ../src/viktrwlayer.c:6349
+#: ../src/viktrwlayer.c:7606
msgid "\"_Center\""
msgstr ""
-#: ../src/viktrwlayer.c:6355
+#: ../src/viktrwlayer.c:7612
msgid "_Endpoint"
msgstr ""
-#: ../src/viktrwlayer.c:6361
+#: ../src/viktrwlayer.c:7618
msgid "_Highest Altitude"
msgstr ""
-#: ../src/viktrwlayer.c:6367
+#: ../src/viktrwlayer.c:7624
msgid "_Lowest Altitude"
msgstr ""
-#: ../src/viktrwlayer.c:6375
+#: ../src/viktrwlayer.c:7632
msgid "_Maximum Speed"
msgstr ""
-#: ../src/viktrwlayer.c:6384
+#: ../src/viktrwlayer.c:7641
msgid "Co_mbine"
msgstr ""
-#: ../src/viktrwlayer.c:6392
+#: ../src/viktrwlayer.c:7649
msgid "_Merge By Time..."
msgstr ""
-#: ../src/viktrwlayer.c:6397
+#: ../src/viktrwlayer.c:7654
msgid "Merge _Segments"
msgstr ""
-#: ../src/viktrwlayer.c:6403
+#: ../src/viktrwlayer.c:7660
msgid "Merge _With Other Tracks..."
msgstr ""
-#: ../src/viktrwlayer.c:6409
+#: ../src/viktrwlayer.c:7666
msgid "_Append Track..."
msgstr ""
-#: ../src/viktrwlayer.c:6411
+#: ../src/viktrwlayer.c:7668
msgid "_Append Route..."
msgstr ""
-#: ../src/viktrwlayer.c:6417
+#: ../src/viktrwlayer.c:7674
msgid "Append _Route..."
msgstr ""
-#: ../src/viktrwlayer.c:6419
+#: ../src/viktrwlayer.c:7676
msgid "Append _Track..."
msgstr ""
-#: ../src/viktrwlayer.c:6426
+#: ../src/viktrwlayer.c:7683
msgid "_Split"
msgstr ""
-#: ../src/viktrwlayer.c:6434
+#: ../src/viktrwlayer.c:7691
msgid "_Split By Time..."
msgstr ""
#. ATM always enable this entry - don't want to have to analyse the track before displaying the menu - to keep the menu speedy
-#: ../src/viktrwlayer.c:6440
+#: ../src/viktrwlayer.c:7697
msgid "Split Se_gments"
msgstr ""
-#: ../src/viktrwlayer.c:6446
+#: ../src/viktrwlayer.c:7703
msgid "Split By _Number of Points..."
msgstr ""
-#: ../src/viktrwlayer.c:6451
+#: ../src/viktrwlayer.c:7708
msgid "Split at _Trackpoint"
msgstr ""
-#: ../src/viktrwlayer.c:6460
+#: ../src/viktrwlayer.c:7716
+msgid "_Insert Points"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7722
+msgid "Insert Point _Before Selected Point"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7729
+msgid "Insert Point _After Selected Point"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7738
msgid "Delete Poi_nts"
msgstr ""
-#: ../src/viktrwlayer.c:6466
+#: ../src/viktrwlayer.c:7744
+msgid "Delete _Selected Point"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7752
msgid "Delete Points With The Same _Position"
msgstr ""
-#: ../src/viktrwlayer.c:6471
+#: ../src/viktrwlayer.c:7757
msgid "Delete Points With The Same _Time"
msgstr ""
-#: ../src/viktrwlayer.c:6477
-msgid "_Reverse Track"
+#: ../src/viktrwlayer.c:7764 ../src/viktrwlayer.c:7964
+msgid "_Transform"
msgstr ""
-#: ../src/viktrwlayer.c:6479
-msgid "_Reverse Route"
+#: ../src/viktrwlayer.c:7772 ../src/viktrwlayer.c:7972
+msgid "_Apply DEM Data"
msgstr ""
-#: ../src/viktrwlayer.c:6488
-msgid "Down_load Maps Along Track..."
+#: ../src/viktrwlayer.c:7777 ../src/viktrwlayer.c:7977
+msgid "_Overwrite"
msgstr ""
-#: ../src/viktrwlayer.c:6490
-msgid "Down_load Maps Along Route..."
+#: ../src/viktrwlayer.c:7780 ../src/viktrwlayer.c:7980
+msgid "Overwrite any existing elevation values with DEM values"
msgstr ""
-#: ../src/viktrwlayer.c:6497
-msgid "_Apply DEM Data"
+#: ../src/viktrwlayer.c:7783 ../src/viktrwlayer.c:7983
+msgid "_Keep Existing"
msgstr ""
-#: ../src/viktrwlayer.c:6504
-msgid "_Export Track as GPX..."
+#: ../src/viktrwlayer.c:7786 ../src/viktrwlayer.c:7986
+msgid "Keep existing elevation values, only attempt for missing values"
msgstr ""
-#: ../src/viktrwlayer.c:6506
-msgid "_Export Route as GPX..."
+#: ../src/viktrwlayer.c:7791
+msgid "_Smooth Missing Elevation Data"
msgstr ""
-#: ../src/viktrwlayer.c:6513
-msgid "E_xtend Track End"
+#: ../src/viktrwlayer.c:7796
+msgid "_Interpolated"
msgstr ""
-#: ../src/viktrwlayer.c:6515
-msgid "E_xtend Route End"
+#: ../src/viktrwlayer.c:7799
+msgid ""
+"Interpolate between known elevation values to derive values for the missing "
+"elevations"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7802
+msgid "_Flat"
msgstr ""
-#: ../src/viktrwlayer.c:6522
+#: ../src/viktrwlayer.c:7805
+msgid "Set unknown elevation values to the last known value"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7809
msgid "C_onvert to a Route"
msgstr ""
-#: ../src/viktrwlayer.c:6524
+#: ../src/viktrwlayer.c:7811
msgid "C_onvert to a Track"
msgstr ""
-#: ../src/viktrwlayer.c:6532
+#: ../src/viktrwlayer.c:7819
+msgid "_Anonymize Times"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7822
+msgid "Shift timestamps to a relative offset from 1901-01-01"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7827
+msgid "_Reverse Track"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7829
+msgid "_Reverse Route"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7836
+msgid "Refine Route..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7846
+msgid "Down_load Maps Along Track..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7848
+msgid "Down_load Maps Along Route..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7856
+msgid "_Export Track as GPX..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7858
+msgid "_Export Route as GPX..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7865
+msgid "E_xtend Track End"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7867
+msgid "E_xtend Route End"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7874
msgid "Extend _Using Route Finder"
msgstr ""
-#: ../src/viktrwlayer.c:6548
+#: ../src/viktrwlayer.c:7889
msgid "_Upload to GPS..."
msgstr ""
-#: ../src/viktrwlayer.c:6559
+#: ../src/viktrwlayer.c:7900
msgid "_View Google Directions"
msgstr ""
-#: ../src/viktrwlayer.c:6579
+#: ../src/viktrwlayer.c:7920
msgid "Use with _Filter"
msgstr ""
-#: ../src/viktrwlayer.c:6612
+#: ../src/viktrwlayer.c:7953
msgid "_Edit Trackpoint"
msgstr ""
-#: ../src/viktrwlayer.c:7524
+#: ../src/viktrwlayer.c:9017
#, c-format
msgid " - Gain %dm:Loss %dm"
msgstr ""
-#: ../src/viktrwlayer.c:7526
+#: ../src/viktrwlayer.c:9019
#, c-format
msgid " - Gain %dft:Loss %dft"
msgstr ""
-#: ../src/viktrwlayer.c:7531
+#: ../src/viktrwlayer.c:9024
#, c-format
msgid " - Bearing %3.1f° - Step %s"
msgstr ""
-#: ../src/viktrwlayer.c:8124
+#: ../src/viktrwlayer.c:9628
#, c-format
msgid "Could not launch %s to open file."
msgstr ""
-#: ../src/viktrwlayer.c:8205
+#: ../src/viktrwlayer.c:9709
#, c-format
msgid "Creating %d Image Thumbnails..."
msgstr ""
-#: ../src/viktrwlayer.c:8524
+#: ../src/viktrwlayer.c:10106
msgid "No map layer in use. Create one first"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:898 ../src/viktrwlayer_propwin.c:1155
+#: ../src/viktrwlayer.c:10225
+#, c-format
+msgid "%s: Track List"
+msgstr ""
+
+#: ../src/viktrwlayer.c:10227
+#, c-format
+msgid "%s: Route List"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:828 ../src/viktrwlayer_propwin.c:1085
#, c-format
msgid "%.1f kph"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:901 ../src/viktrwlayer_propwin.c:1158
+#: ../src/viktrwlayer_propwin.c:831 ../src/viktrwlayer_propwin.c:1088
+#: ../src/viktrwlayer_analysis.c:290
#, c-format
msgid "%.1f mph"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:904 ../src/viktrwlayer_propwin.c:1161
+#: ../src/viktrwlayer_propwin.c:834 ../src/viktrwlayer_propwin.c:1091
#, c-format
msgid "%.1f knots"
msgstr ""
#. VIK_UNITS_SPEED_METRES_PER_SECOND:
-#: ../src/viktrwlayer_propwin.c:908 ../src/viktrwlayer_propwin.c:1165
+#: ../src/viktrwlayer_propwin.c:838 ../src/viktrwlayer_propwin.c:1095
#, c-format
msgid "%.1f m/s"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:1745
+#: ../src/viktrwlayer_propwin.c:1662 ../src/viktrwlayer_analysis.c:267
#, c-format
msgid "%.1f miles"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:1747
+#. VIK_UNITS_DISTANCE_KILOMETRES
+#: ../src/viktrwlayer_propwin.c:1664 ../src/viktrwlayer_analysis.c:271
#, c-format
msgid "%.1f km"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2681
+#: ../src/viktrwlayer_propwin.c:2582
msgid "Failed spliting track. Track unchanged"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2779 ../src/viktrwlayer_propwin.c:3178
+#: ../src/viktrwlayer_propwin.c:2724 ../src/viktrwlayer_propwin.c:3140
#, c-format
msgid "%s - Track Properties"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2784
+#: ../src/viktrwlayer_propwin.c:2729
msgid "Split at _Marker"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2785
+#: ../src/viktrwlayer_propwin.c:2730
msgid "Split _Segments"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2786
+#: ../src/viktrwlayer_propwin.c:2731
msgid "_Reverse"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2787
+#: ../src/viktrwlayer_propwin.c:2732
msgid "_Delete Dupl."
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2813
+#: ../src/viktrwlayer_propwin.c:2757
msgid "<b>Comment:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2814
+#: ../src/viktrwlayer_propwin.c:2758
msgid "<b>Description:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2815
+#: ../src/viktrwlayer_propwin.c:2759
+msgid "<b>Color:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2760
+msgid "<b>Draw Name:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2761
+msgid "<b>Distance Labels:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2764
msgid "<b>Track Length:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2816
+#: ../src/viktrwlayer_propwin.c:2765
msgid "<b>Trackpoints:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2817
+#: ../src/viktrwlayer_propwin.c:2766
msgid "<b>Segments:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2818
+#: ../src/viktrwlayer_propwin.c:2767
msgid "<b>Duplicate Points:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2819
+#: ../src/viktrwlayer_propwin.c:2768
msgid "<b>Max Speed:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2820
+#: ../src/viktrwlayer_propwin.c:2769
msgid "<b>Avg. Speed:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2821
+#: ../src/viktrwlayer_propwin.c:2770
msgid "<b>Moving Avg. Speed:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2822
+#: ../src/viktrwlayer_propwin.c:2771
msgid "<b>Avg. Dist. Between TPs:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2823
+#: ../src/viktrwlayer_propwin.c:2772
msgid "<b>Elevation Range:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2824
+#: ../src/viktrwlayer_propwin.c:2773
msgid "<b>Total Elevation Gain/Loss:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2825
+#: ../src/viktrwlayer_propwin.c:2774
msgid "<b>Start:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2826
+#: ../src/viktrwlayer_propwin.c:2775
msgid "<b>End:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2827
+#: ../src/viktrwlayer_propwin.c:2776
msgid "<b>Duration:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2828
-msgid "<b>Color:</b>"
+#: ../src/viktrwlayer_propwin.c:2797
+msgid "No"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2798
+msgid "Centre"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2799
+msgid "Start only"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2800
+msgid "End only"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2801
+msgid "Start and End"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2802
+msgid "Centre, Start and End"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2814
+msgid "Maximum number of distance labels to be shown"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2818
+msgid "Properties"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2877 ../src/viktrwlayer_propwin.c:2901
-#: ../src/viktrwlayer_propwin.c:2929 ../src/viktrwlayer_propwin.c:2966
-#: ../src/viktrwlayer_propwin.c:2984 ../src/viktrwlayer_propwin.c:3034
-#: ../src/viktrwlayer_propwin.c:3035 ../src/viktrwlayer_propwin.c:3036
-#: ../src/viktrwlayer_propwin.c:3062 ../src/viktrwlayer_propwin.c:3063
+#: ../src/viktrwlayer_propwin.c:2856 ../src/viktrwlayer_propwin.c:2880
+#: ../src/viktrwlayer_propwin.c:2908 ../src/viktrwlayer_propwin.c:2945
+#: ../src/viktrwlayer_propwin.c:2963 ../src/viktrwlayer_propwin.c:3009
+#: ../src/viktrwlayer_propwin.c:3010 ../src/viktrwlayer_propwin.c:3011
+#: ../src/viktrwlayer_propwin.c:3020 ../src/viktrwlayer_propwin.c:3021
+#: ../src/viktrwlayer_propwin.c:3036 ../src/viktrwlayer_propwin.c:3037
+#: ../src/viktrwlayer_propwin.c:3050 ../src/viktrwlayer_propwin.c:3051
+#: ../src/viktrwlayer_propwin.c:3064 ../src/viktrwlayer_propwin.c:3065
#: ../src/viktrwlayer_propwin.c:3078 ../src/viktrwlayer_propwin.c:3079
#: ../src/viktrwlayer_propwin.c:3092 ../src/viktrwlayer_propwin.c:3093
-#: ../src/viktrwlayer_propwin.c:3106 ../src/viktrwlayer_propwin.c:3107
-#: ../src/viktrwlayer_propwin.c:3120 ../src/viktrwlayer_propwin.c:3121
-#: ../src/viktrwlayer_propwin.c:3134 ../src/viktrwlayer_propwin.c:3135
+#: ../src/viktrwlayer_analysis.c:257
#, c-format
msgid "No Data"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3031
+#: ../src/viktrwlayer_propwin.c:3006
#, c-format
msgid "%d minutes"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3058
+#: ../src/viktrwlayer_propwin.c:3016 ../src/viktrwlayer_analysis.c:515
msgid "Statistics"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3064
+#: ../src/viktrwlayer_propwin.c:3022
msgid "Show D_EM"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3065 ../src/viktrwlayer_propwin.c:3080
-#: ../src/viktrwlayer_propwin.c:3094 ../src/viktrwlayer_propwin.c:3136
+#: ../src/viktrwlayer_propwin.c:3023 ../src/viktrwlayer_propwin.c:3038
+#: ../src/viktrwlayer_propwin.c:3052 ../src/viktrwlayer_propwin.c:3094
msgid "Show _GPS Speed"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3067 ../src/viktrwlayer_propwin.c:3082
-#: ../src/viktrwlayer_propwin.c:3110 ../src/viktrwlayer_propwin.c:3138
+#: ../src/viktrwlayer_propwin.c:3025 ../src/viktrwlayer_propwin.c:3040
+#: ../src/viktrwlayer_propwin.c:3068 ../src/viktrwlayer_propwin.c:3096
msgid "<b>Track Distance:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3068 ../src/viktrwlayer_propwin.c:3125
+#: ../src/viktrwlayer_propwin.c:3026 ../src/viktrwlayer_propwin.c:3083
msgid "<b>Track Height:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3073
+#: ../src/viktrwlayer_propwin.c:3031
msgid "Elevation-distance"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3083
+#: ../src/viktrwlayer_propwin.c:3041
msgid "<b>Track Gradient:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3087
+#: ../src/viktrwlayer_propwin.c:3045
msgid "Gradient-distance"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3096 ../src/viktrwlayer_propwin.c:3111
-#: ../src/viktrwlayer_propwin.c:3124
+#: ../src/viktrwlayer_propwin.c:3054 ../src/viktrwlayer_propwin.c:3069
+#: ../src/viktrwlayer_propwin.c:3082
msgid "<b>Track Time:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3097 ../src/viktrwlayer_propwin.c:3139
+#: ../src/viktrwlayer_propwin.c:3055 ../src/viktrwlayer_propwin.c:3097
msgid "<b>Track Speed:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3101
+#: ../src/viktrwlayer_propwin.c:3059
msgid "Speed-time"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3108 ../src/viktrwlayer_propwin.c:3122
+#: ../src/viktrwlayer_propwin.c:3066 ../src/viktrwlayer_propwin.c:3080
msgid "Show S_peed"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3115
+#: ../src/viktrwlayer_propwin.c:3073
msgid "Distance-time"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3129
+#: ../src/viktrwlayer_propwin.c:3087
msgid "Elevation-time"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3143
+#: ../src/viktrwlayer_propwin.c:3101
msgid "Speed-distance"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:118
+#: ../src/viktrwlayer_tpwin.c:119
msgid "<b>Part of Track:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:119
+#: ../src/viktrwlayer_tpwin.c:120
msgid "<b>Latitude:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:120
+#: ../src/viktrwlayer_tpwin.c:121
msgid "<b>Longitude:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:121
+#: ../src/viktrwlayer_tpwin.c:122
msgid "<b>Altitude:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:122
+#: ../src/viktrwlayer_tpwin.c:123
+msgid "<b>Course:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_tpwin.c:124
msgid "<b>Timestamp:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:123
+#: ../src/viktrwlayer_tpwin.c:125
msgid "<b>Time:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:124
+#: ../src/viktrwlayer_tpwin.c:126
msgid "<b>Distance Difference:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:125
+#: ../src/viktrwlayer_tpwin.c:127
msgid "<b>Time Difference:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:126
+#: ../src/viktrwlayer_tpwin.c:128
msgid "<b>\"Speed\" Between:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:127
+#: ../src/viktrwlayer_tpwin.c:129
+msgid "<b>Speed:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_tpwin.c:130
msgid "<b>VDOP:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:128
+#: ../src/viktrwlayer_tpwin.c:131
msgid "<b>HDOP:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:129
+#: ../src/viktrwlayer_tpwin.c:132
msgid "<b>PDOP:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:130
+#: ../src/viktrwlayer_tpwin.c:133
msgid "<b>SAT/FIX:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:139
+#: ../src/viktrwlayer_tpwin.c:141
msgid "Trackpoint"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:142
+#: ../src/viktrwlayer_tpwin.c:144
msgid "_Insert After"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:144
+#: ../src/viktrwlayer_tpwin.c:146
msgid "Split Here"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:446
+#.
+#. item = gtk_image_menu_item_new_with_mnemonic ( _("_Select") );
+#. gtk_image_menu_item_set_image ( (GtkImageMenuItem*)item, gtk_image_new_from_stock (GTK_STOCK_FIND, GTK_ICON_SIZE_MENU) );
+#. g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(trw_layer_track_select), values );
+#. gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
+#. gtk_widget_show ( item );
+#.
+#. ATM view auto selects, so don't bother with separate select menu entry
+#: ../src/viktrwlayer_tracklist.c:231 ../src/vikwindow.c:3695
+msgid "_View"
+msgstr ""
+
+#. Insert column for the layer name when viewing multi layers
+#: ../src/viktrwlayer_tracklist.c:514
+msgid "Layer"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:526
+msgid "Date"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:529
+msgid "Visible"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:536
+msgid ""
+"Distance\n"
+"(miles)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:539
+msgid ""
+"Distance\n"
+"(km)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:545
+msgid ""
+"Length\n"
+"(minutes)"
+msgstr ""
+
+#. VIK_UNITS_SPEED_KILOMETRES_PER_HOUR:
+#: ../src/viktrwlayer_tracklist.c:549 ../src/vikutils.c:72
+msgid "km/h"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:550 ../src/vikutils.c:62
+msgid "mph"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:551 ../src/vikutils.c:68
+msgid "knots"
+msgstr ""
+
+#. VIK_UNITS_SPEED_METRES_PER_SECOND:
+#: ../src/viktrwlayer_tracklist.c:553 ../src/vikutils.c:65
+msgid "m/s"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:556
+#, c-format
+msgid ""
+"Av. Speed\n"
+"(%s)"
+msgstr ""
+
+#. Apply own formatting of the data
+#: ../src/viktrwlayer_tracklist.c:561
+#, c-format
+msgid ""
+"Max Speed\n"
+"(%s)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:569
+msgid ""
+"Max Height\n"
+"(Feet)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:571
+msgid ""
+"Max Height\n"
+"(Metres)"
+msgstr ""
+
+#: ../src/viktrwlayer_geotag.c:481
#, c-format
msgid "Geotagging %d Images..."
msgstr ""
-#: ../src/viktrwlayer_geotag.c:510
+#: ../src/viktrwlayer_geotag.c:545
msgid "Geotag Images"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:516
+#: ../src/viktrwlayer_geotag.c:551
msgid "Images"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:520
+#: ../src/viktrwlayer_geotag.c:555
msgid "Overwrite Existing Waypoints:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:523
+#: ../src/viktrwlayer_geotag.c:558
msgid "Overwrite Existing GPS Information:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:525
+#: ../src/viktrwlayer_geotag.c:560
msgid "Keep File Modification Timestamp:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:555
+#: ../src/viktrwlayer_geotag.c:592
msgid "Create Waypoints:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:563
+#: ../src/viktrwlayer_geotag.c:600
msgid "Write EXIF:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:575
+#: ../src/viktrwlayer_geotag.c:612
msgid "Interpolate Between Track Segments:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:579
+#: ../src/viktrwlayer_geotag.c:616
msgid "Image Time Offset (Seconds):"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:581
+#: ../src/viktrwlayer_geotag.c:618
msgid ""
"The number of seconds to ADD to the photos time to make it match the GPS "
"data. Calculate this with (GPS - Photo). Can be negative or positive. Useful "
"to adjust times when a camera's timestamp was incorrect."
msgstr ""
-#: ../src/viktrwlayer_geotag.c:584
+#: ../src/viktrwlayer_geotag.c:621
msgid "Image Timezone:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:586
+#: ../src/viktrwlayer_geotag.c:623
msgid ""
"The timezone that was used when the images were created. For example, if a "
"camera is set to AWST or +8:00 hours. Enter +8:00 here so that the correct "
"adjustment to the images' time can be made. GPS data is always in UTC."
msgstr ""
-#: ../src/viktrwlayer_geotag.c:590
+#: ../src/viktrwlayer_geotag.c:627
#, c-format
msgid "Using track: %s"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:592
+#: ../src/viktrwlayer_geotag.c:629
#, c-format
msgid "Using all tracks in: %s"
msgstr ""
-#: ../src/vikstatus.c:105
+#: ../src/viktrwlayer_analysis.c:193
+msgid "Number of Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:194
+msgid "Date Range"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:195
+msgid "Total Length"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:196
+msgid "Average Length"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:197
+msgid "Max Speed"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:198
+msgid "Avg. Speed"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:199
+msgid "Minimum Altitude"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:200
+msgid "Maximum Altitude"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:201
+msgid "Total Elevation Gain/Loss"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:202
+msgid "Avg. Elevation Gain/Loss"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:203
+msgid "Total Duration"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:204
+msgid "Avg. Duration"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:278
+#, c-format
+msgid "%.2f miles"
+msgstr ""
+
+#. VIK_UNITS_DISTANCE_KILOMETRES
+#: ../src/viktrwlayer_analysis.c:282
+#, c-format
+msgid "%.2f km"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:297
+#, c-format
+msgid "%.2f m/s"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:306
+#, c-format
+msgid "%.2f knots\n"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:309
+#, c-format
+msgid "%.2f knots"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:316 ../src/viktrwlayer_analysis.c:319
+#, c-format
+msgid "%.2f km/h"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:330 ../src/viktrwlayer_analysis.c:336
+#, c-format
+msgid "%d feet"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:341 ../src/viktrwlayer_analysis.c:343
+#, c-format
+msgid "%d feet / %d feet"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:348 ../src/viktrwlayer_analysis.c:354
+#, c-format
+msgid "%d m"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:359 ../src/viktrwlayer_analysis.c:361
+#, c-format
+msgid "%d m / %d m"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:373
+#, c-format
+msgid "%d:%02d:%02d days:hrs:mins"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:380
+#, c-format
+msgid "%d:%02d hrs:mins"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:550
+msgid "Include Invisible Items"
+msgstr ""
+
+#: ../src/vikstatus.c:107
+msgid "Current number of background tasks. Click to see the background jobs."
+msgstr ""
+
+#: ../src/vikstatus.c:113
msgid "Current zoom level. Click to select a new one."
msgstr ""
-#: ../src/vikwaypoint.c:34
+#: ../src/vikutils.c:80
+msgid "GPSD"
+msgstr ""
+
+#. GPS Preamble
+#: ../src/vikutils.c:81
+msgid "Trkpt"
+msgstr ""
+
+#: ../src/vikutils.c:121
+#, c-format
+msgid "%sSpeed%s %.1f%s"
+msgstr ""
+
+#: ../src/vikutils.c:130
+#, c-format
+msgid "%sAlt %dfeet"
+msgstr ""
+
+#. VIK_UNITS_HEIGHT_METRES:
+#: ../src/vikutils.c:134
+#, c-format
+msgid "%sAlt %dm"
+msgstr ""
+
+#: ../src/vikutils.c:142
+#, c-format
+msgid "%sCourse %03d°"
+msgstr ""
+
+#: ../src/vikutils.c:155
+msgid "yards"
+msgstr ""
+
+#. VIK_UNITS_DISTANCE_KILOMETRES:
+#: ../src/vikutils.c:159
+msgid "m"
+msgstr ""
+
+#: ../src/vikutils.c:163
+#, c-format
+msgid "%sDistance diff %d%s"
+msgstr ""
+
+#: ../src/vikutils.c:179
+#, c-format
+msgid "%sTime %s"
+msgstr ""
+
+#: ../src/vikutils.c:187
+#, c-format
+msgid "%sTime diff %lds"
+msgstr ""
+
+#: ../src/vikutils.c:193
+#, c-format
+msgid "%sNo. of Sats %d"
+msgstr ""
+
+#: ../src/vikutils.c:213
+#, c-format
+msgid "%sDistance along %.2f%s"
+msgstr ""
+
+#. Name of track
+#: ../src/vikutils.c:232
+#, c-format
+msgid "%sTrack: %s"
+msgstr ""
+
+#: ../src/vikwaypoint.c:36
msgid "Waypoint"
msgstr ""
#. TODO get rid of this as this is unnecessary duplication...
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Pan"
msgstr ""
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Zoom"
msgstr ""
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Ruler"
msgstr ""
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Select"
msgstr ""
+#: ../src/vikwindow.c:381
+msgid "Location lookup aborted"
+msgstr ""
+
+#: ../src/vikwindow.c:401
+#, c-format
+msgid "Location found: %s"
+msgstr ""
+
+#: ../src/vikwindow.c:410
+msgid "Unable to determine location"
+msgstr ""
+
+#: ../src/vikwindow.c:434
+msgid "Default Map"
+msgstr ""
+
+#: ../src/vikwindow.c:444
+msgid "Trying to determine location..."
+msgstr ""
+
+#: ../src/vikwindow.c:447
+msgid "Determining location"
+msgstr ""
+
#. Create tooltip
-#: ../src/vikwindow.c:440
+#: ../src/vikwindow.c:605
msgid "Select zoom level"
msgstr ""
-#: ../src/vikwindow.c:645
+#: ../src/vikwindow.c:923
#, c-format
msgid ""
"Do you want to save the changes you made to the document \"%s\"?\n"
@@ -3148,624 +3990,708 @@ msgid ""
"Your changes will be lost if you don't save them."
msgstr ""
-#: ../src/vikwindow.c:649
+#: ../src/vikwindow.c:927
msgid "Don't Save"
msgstr ""
-#: ../src/vikwindow.c:696
+#: ../src/vikwindow.c:1005
msgid "mpp"
msgstr ""
-#: ../src/vikwindow.c:696
+#: ../src/vikwindow.c:1005
msgid "pixelfact"
msgstr ""
-#: ../src/vikwindow.c:861
+#: ../src/vikwindow.c:1169
#, c-format
msgid "%s %s %dm"
msgstr ""
-#: ../src/vikwindow.c:863
+#: ../src/vikwindow.c:1171
#, c-format
msgid "%s %s %dft"
msgstr ""
-#: ../src/vikwindow.c:866
+#: ../src/vikwindow.c:1174
#, c-format
msgid "%s %s"
msgstr ""
#. NB Ctrl+Shift+R is used for Refresh (deemed more important), so use 'U' instead
-#: ../src/vikwindow.c:1254
+#: ../src/vikwindow.c:1562
msgid "_Ruler"
msgstr ""
-#: ../src/vikwindow.c:1254
+#: ../src/vikwindow.c:1562
msgid "Ruler Tool"
msgstr ""
-#: ../src/vikwindow.c:1502 ../src/vikwindow.c:3138
+#: ../src/vikwindow.c:1810 ../src/vikwindow.c:3697
msgid "_Zoom"
msgstr ""
-#: ../src/vikwindow.c:1502
+#: ../src/vikwindow.c:1810
msgid "Zoom Tool"
msgstr ""
-#: ../src/vikwindow.c:1547 ../src/vikwindow.c:3139
+#: ../src/vikwindow.c:1855 ../src/vikwindow.c:3698
msgid "_Pan"
msgstr ""
-#: ../src/vikwindow.c:1547
+#: ../src/vikwindow.c:1855
msgid "Pan Tool"
msgstr ""
-#: ../src/vikwindow.c:1664
+#: ../src/vikwindow.c:1972
msgid "_Select"
msgstr ""
-#: ../src/vikwindow.c:1664
+#: ../src/vikwindow.c:1972
msgid "Select Tool"
msgstr ""
-#: ../src/vikwindow.c:1809
+#: ../src/vikwindow.c:2123
msgid "You must select a layer to show its properties."
msgstr ""
#. No error to show, so unlikely this will get called
-#: ../src/vikwindow.c:1824
+#: ../src/vikwindow.c:2137
msgid "The help system is not available."
msgstr ""
#. Main error path
-#: ../src/vikwindow.c:1827
+#: ../src/vikwindow.c:2140
#, c-format
msgid ""
"Help is not available because: %s.\n"
"Ensure a Mime Type ghelp handler program is installed (e.g. yelp)."
msgstr ""
-#: ../src/vikwindow.c:1850
+#: ../src/vikwindow.c:2160
msgid "You must select a layer to delete."
msgstr ""
-#: ../src/vikwindow.c:2087
+#: ../src/vikwindow.c:2396
msgid "Untitled"
msgstr ""
-#: ../src/vikwindow.c:2194
+#: ../src/vikwindow.c:2503
#, c-format
msgid "Unable to add '%s' to the list of recently used documents"
msgstr ""
-#: ../src/vikwindow.c:2208
+#: ../src/vikwindow.c:2540
msgid "The file you requested could not be opened."
msgstr ""
-#: ../src/vikwindow.c:2211
+#: ../src/vikwindow.c:2543
msgid ""
"GPSBabel is required to load files of this type or GPSBabel encountered "
"problems."
msgstr ""
-#: ../src/vikwindow.c:2214
+#: ../src/vikwindow.c:2546
#, c-format
msgid "Unable to load malformed GPX file %s"
msgstr ""
-#: ../src/vikwindow.c:2217
+#: ../src/vikwindow.c:2549
#, c-format
msgid "Unsupported file type for %s"
msgstr ""
#. Since we can process .vik files with issues just show a warning in the status bar
#. Not that a user can do much about it... or tells them what this issue is yet...
-#: ../src/vikwindow.c:2223
+#: ../src/vikwindow.c:2555
#, c-format
msgid "WARNING: issues encountered loading %s"
msgstr ""
-#: ../src/vikwindow.c:2278
+#: ../src/vikwindow.c:2613
msgid "Please select a GPS data file to open. "
msgstr ""
-#: ../src/vikwindow.c:2288
+#: ../src/vikwindow.c:2629
msgid "Geocaching"
msgstr ""
-#: ../src/vikwindow.c:2294
+#: ../src/vikwindow.c:2635
msgid "Google Earth"
msgstr ""
-#: ../src/vikwindow.c:2299
+#: ../src/vikwindow.c:2640
msgid "GPX"
msgstr ""
-#: ../src/vikwindow.c:2304 ../src/vikwindow.c:2387
+#: ../src/vikwindow.c:2645 ../src/vikwindow.c:2734
#: ../src/viking.desktop.in.h:1
msgid "Viking"
msgstr ""
-#: ../src/vikwindow.c:2374
+#: ../src/vikwindow.c:2715
msgid "Save as Viking File."
msgstr ""
+#: ../src/vikwindow.c:2841
+msgid "Exporting to file: "
+msgstr ""
+
+#. Confirm what happened.
+#: ../src/vikwindow.c:2858
+#, c-format
+msgid "Exported files: %d"
+msgstr ""
+
+#: ../src/vikwindow.c:2870
+msgid "Nothing to Export!"
+msgstr ""
+
+#: ../src/vikwindow.c:2874
+msgid "Export to directory"
+msgstr ""
+
+#: ../src/vikwindow.c:2896
+msgid "Could not convert all files"
+msgstr ""
+
+#: ../src/vikwindow.c:2932
+#, c-format
+msgid "%d bytes"
+msgstr ""
+
+#: ../src/vikwindow.c:2934
+#, c-format
+msgid "%3.1f kB"
+msgstr ""
+
+#: ../src/vikwindow.c:2936
+#, c-format
+msgid "%3.1f MB"
+msgstr ""
+
+#: ../src/vikwindow.c:2937
+#, c-format
+msgid ""
+"%s\n"
+"\n"
+"%s\n"
+"\n"
+"%s"
+msgstr ""
+
+#: ../src/vikwindow.c:2942
+msgid "File not accessible"
+msgstr ""
+
+#: ../src/vikwindow.c:2945
+msgid "No Viking File"
+msgstr ""
+
+#: ../src/vikwindow.c:3035
+msgid "This layer has no configurable properties."
+msgstr ""
+
#. Try harder...
-#: ../src/vikwindow.c:2619 ../src/vikwindow.c:2625
+#: ../src/vikwindow.c:3169 ../src/vikwindow.c:3175
msgid "Generating image file..."
msgstr ""
-#: ../src/vikwindow.c:2647
+#: ../src/vikwindow.c:3197
msgid ""
"Failed to generate internal image.\n"
"\n"
"Try creating a smaller image."
msgstr ""
-#: ../src/vikwindow.c:2655
+#: ../src/vikwindow.c:3205
msgid "Failed to generate image file."
msgstr ""
#. Success
-#: ../src/vikwindow.c:2660
+#: ../src/vikwindow.c:3210
msgid "Image file generated."
msgstr ""
-#: ../src/vikwindow.c:2764
+#: ../src/vikwindow.c:3314
msgid ""
"Viewable region outside allowable pixel size bounds for image. Clipping "
"width/height values."
msgstr ""
-#: ../src/vikwindow.c:2789
+#: ../src/vikwindow.c:3339
#, c-format
msgid "Total area: %ldm x %ldm (%.3f sq. km)"
msgstr ""
-#: ../src/vikwindow.c:2792
+#: ../src/vikwindow.c:3342
#, c-format
msgid "Total area: %ldm x %ldm (%.3f sq. miles)"
msgstr ""
-#: ../src/vikwindow.c:2813
+#: ../src/vikwindow.c:3363
msgid "Save Image"
msgstr ""
-#: ../src/vikwindow.c:2834
+#: ../src/vikwindow.c:3393
msgid "PNG"
msgstr ""
-#: ../src/vikwindow.c:2857
+#: ../src/vikwindow.c:3416
msgid "You must be in UTM mode to use this feature"
msgstr ""
-#: ../src/vikwindow.c:2862
+#: ../src/vikwindow.c:3421
msgid "Choose a directory to hold images"
msgstr ""
#. todo: default for answers inside VikWindow or static (thruout instance)
-#: ../src/vikwindow.c:2883
+#: ../src/vikwindow.c:3442
msgid "Save to Image File"
msgstr ""
-#: ../src/vikwindow.c:2900
+#: ../src/vikwindow.c:3459
msgid "Width (pixels):"
msgstr ""
-#: ../src/vikwindow.c:2902
+#: ../src/vikwindow.c:3461
msgid "Height (pixels):"
msgstr ""
-#: ../src/vikwindow.c:2905
+#: ../src/vikwindow.c:3464
msgid ""
"WARNING: USING LARGE IMAGES OVER 10000x10000\n"
"MAY CRASH THE PROGRAM!"
msgstr ""
-#: ../src/vikwindow.c:2907
+#: ../src/vikwindow.c:3466
msgid "Zoom (meters per pixel):"
msgstr ""
-#: ../src/vikwindow.c:2921
+#: ../src/vikwindow.c:3482
msgid "Area in current viewable window"
msgstr ""
-#: ../src/vikwindow.c:2931
+#: ../src/vikwindow.c:3492
msgid "Save as PNG"
msgstr ""
-#: ../src/vikwindow.c:2932
+#: ../src/vikwindow.c:3493
msgid "Save as JPEG"
msgstr ""
-#: ../src/vikwindow.c:2954
+#: ../src/vikwindow.c:3515
msgid "East-west image tiles:"
msgstr ""
-#: ../src/vikwindow.c:2956
+#: ../src/vikwindow.c:3517
msgid "North-south image tiles:"
msgstr ""
-#: ../src/vikwindow.c:3097
+#: ../src/vikwindow.c:3656
msgid "Choose a background color"
msgstr ""
-#: ../src/vikwindow.c:3113
+#: ../src/vikwindow.c:3672
msgid "Choose a track highlight color"
msgstr ""
-#: ../src/vikwindow.c:3134
+#: ../src/vikwindow.c:3693
msgid "_File"
msgstr ""
-#: ../src/vikwindow.c:3135
+#: ../src/vikwindow.c:3694
msgid "_Edit"
msgstr ""
-#: ../src/vikwindow.c:3136
-msgid "_View"
-msgstr ""
-
-#: ../src/vikwindow.c:3137
+#: ../src/vikwindow.c:3696
msgid "_Show"
msgstr ""
-#: ../src/vikwindow.c:3140
+#: ../src/vikwindow.c:3699
msgid "_Layers"
msgstr ""
-#: ../src/vikwindow.c:3141
+#: ../src/vikwindow.c:3700
msgid "_Tools"
msgstr ""
-#: ../src/vikwindow.c:3142
+#: ../src/vikwindow.c:3701
msgid "_Webtools"
msgstr ""
-#: ../src/vikwindow.c:3143 ../src/vikwindow.c:3206
+#: ../src/vikwindow.c:3702 ../src/vikwindow.c:3763
msgid "_Help"
msgstr ""
-#: ../src/vikwindow.c:3145
+#: ../src/vikwindow.c:3704
msgid "New file"
msgstr ""
-#: ../src/vikwindow.c:3146
+#: ../src/vikwindow.c:3705
msgid "_Open..."
msgstr ""
-#: ../src/vikwindow.c:3146
+#: ../src/vikwindow.c:3705
msgid "Open a file"
msgstr ""
-#: ../src/vikwindow.c:3147
+#: ../src/vikwindow.c:3706
msgid "Open _Recent File"
msgstr ""
-#: ../src/vikwindow.c:3148
+#: ../src/vikwindow.c:3707
msgid "Append _File..."
msgstr ""
-#: ../src/vikwindow.c:3148
+#: ../src/vikwindow.c:3707
msgid "Append data from a different file"
msgstr ""
-#: ../src/vikwindow.c:3149
+#: ../src/vikwindow.c:3708
+msgid "_Export All"
+msgstr ""
+
+#: ../src/vikwindow.c:3708
+msgid "Export All TrackWaypoint Layers"
+msgstr ""
+
+#: ../src/vikwindow.c:3709
+msgid "_GPX..."
+msgstr ""
+
+#: ../src/vikwindow.c:3709
+msgid "Export as GPX"
+msgstr ""
+
+#: ../src/vikwindow.c:3710
msgid "A_cquire"
msgstr ""
-#: ../src/vikwindow.c:3150
+#: ../src/vikwindow.c:3711
msgid "Transfer data from a GPS device"
msgstr ""
-#: ../src/vikwindow.c:3151
+#: ../src/vikwindow.c:3712
msgid "Import File With GPS_Babel..."
msgstr ""
-#: ../src/vikwindow.c:3151
+#: ../src/vikwindow.c:3712
msgid "Import file via GPSBabel converter"
msgstr ""
-#: ../src/vikwindow.c:3153
-msgid "Google _Directions..."
+#: ../src/vikwindow.c:3713
+msgid "_Directions..."
msgstr ""
-#: ../src/vikwindow.c:3153
-msgid "Get driving directions from Google"
+#: ../src/vikwindow.c:3713
+msgid "Get driving directions"
msgstr ""
-#: ../src/vikwindow.c:3156
+#: ../src/vikwindow.c:3715
msgid "_OSM Traces..."
msgstr ""
-#: ../src/vikwindow.c:3156
+#: ../src/vikwindow.c:3715
msgid "Get traces from OpenStreetMap"
msgstr ""
-#: ../src/vikwindow.c:3157
+#: ../src/vikwindow.c:3716
msgid "_My OSM Traces..."
msgstr ""
-#: ../src/vikwindow.c:3157
+#: ../src/vikwindow.c:3716
msgid "Get Your Own Traces from OpenStreetMap"
msgstr ""
-#: ../src/vikwindow.c:3160
+#: ../src/vikwindow.c:3719
msgid "Geo_caches..."
msgstr ""
-#: ../src/vikwindow.c:3160
+#: ../src/vikwindow.c:3719
msgid "Get Geocaches from geocaching.com"
msgstr ""
-#: ../src/vikwindow.c:3163
+#: ../src/vikwindow.c:3722
msgid "Create waypoints from geotagged images"
msgstr ""
-#: ../src/vikwindow.c:3166
+#: ../src/vikwindow.c:3725
msgid "Create waypoints from Wikipedia items in the current view"
msgstr ""
-#: ../src/vikwindow.c:3168
+#: ../src/vikwindow.c:3727
msgid "_Save"
msgstr ""
-#: ../src/vikwindow.c:3168
+#: ../src/vikwindow.c:3727
msgid "Save the file"
msgstr ""
-#: ../src/vikwindow.c:3169
+#: ../src/vikwindow.c:3728
msgid "Save _As..."
msgstr ""
-#: ../src/vikwindow.c:3169
+#: ../src/vikwindow.c:3728
msgid "Save the file under different name"
msgstr ""
-#: ../src/vikwindow.c:3170
+#: ../src/vikwindow.c:3729
+msgid "Properties..."
+msgstr ""
+
+#: ../src/vikwindow.c:3729
+msgid "File Properties"
+msgstr ""
+
+#: ../src/vikwindow.c:3730
msgid "_Generate Image File..."
msgstr ""
-#: ../src/vikwindow.c:3170
+#: ../src/vikwindow.c:3730
msgid "Save a snapshot of the workspace into a file"
msgstr ""
-#: ../src/vikwindow.c:3171
+#: ../src/vikwindow.c:3731
msgid "Generate _Directory of Images..."
msgstr ""
-#: ../src/vikwindow.c:3171
+#: ../src/vikwindow.c:3731
msgid "FIXME:IMGDIR"
msgstr ""
-#: ../src/vikwindow.c:3174
+#: ../src/vikwindow.c:3732
msgid "_Print..."
msgstr ""
-#: ../src/vikwindow.c:3174
+#: ../src/vikwindow.c:3732
msgid "Print maps"
msgstr ""
-#: ../src/vikwindow.c:3177
+#: ../src/vikwindow.c:3733
msgid "E_xit"
msgstr ""
-#: ../src/vikwindow.c:3177
+#: ../src/vikwindow.c:3733
msgid "Exit the program"
msgstr ""
-#: ../src/vikwindow.c:3178
+#: ../src/vikwindow.c:3734
msgid "Save and Exit"
msgstr ""
-#: ../src/vikwindow.c:3178
+#: ../src/vikwindow.c:3734
msgid "Save and Exit the program"
msgstr ""
-#: ../src/vikwindow.c:3180
+#: ../src/vikwindow.c:3736
msgid "Go to the _Default Location"
msgstr ""
-#: ../src/vikwindow.c:3180
+#: ../src/vikwindow.c:3736
msgid "Go to the default location"
msgstr ""
-#: ../src/vikwindow.c:3181
+#: ../src/vikwindow.c:3737
msgid "Go to _Location..."
msgstr ""
-#: ../src/vikwindow.c:3181
+#: ../src/vikwindow.c:3737
msgid "Go to address/place using text search"
msgstr ""
-#: ../src/vikwindow.c:3182
+#: ../src/vikwindow.c:3738
msgid "_Go to Lat/Lon..."
msgstr ""
-#: ../src/vikwindow.c:3182
+#: ../src/vikwindow.c:3738
msgid "Go to arbitrary lat/lon coordinate"
msgstr ""
-#: ../src/vikwindow.c:3183
+#: ../src/vikwindow.c:3739
msgid "Go to UTM..."
msgstr ""
-#: ../src/vikwindow.c:3183
+#: ../src/vikwindow.c:3739
msgid "Go to arbitrary UTM coordinate"
msgstr ""
-#: ../src/vikwindow.c:3184
+#: ../src/vikwindow.c:3740
msgid "_Refresh"
msgstr ""
-#: ../src/vikwindow.c:3184
+#: ../src/vikwindow.c:3740
msgid "Refresh any maps displayed"
msgstr ""
-#: ../src/vikwindow.c:3185
+#: ../src/vikwindow.c:3741
msgid "Set _Highlight Color..."
msgstr ""
-#: ../src/vikwindow.c:3186
+#: ../src/vikwindow.c:3742
msgid "Set Bac_kground Color..."
msgstr ""
-#: ../src/vikwindow.c:3187
+#: ../src/vikwindow.c:3743
msgid "Zoom _In"
msgstr ""
-#: ../src/vikwindow.c:3188
+#: ../src/vikwindow.c:3744
msgid "Zoom _Out"
msgstr ""
-#: ../src/vikwindow.c:3189
+#: ../src/vikwindow.c:3745
msgid "Zoom _To..."
msgstr ""
-#: ../src/vikwindow.c:3190
+#: ../src/vikwindow.c:3746
msgid "Pan _North"
msgstr ""
-#: ../src/vikwindow.c:3191
+#: ../src/vikwindow.c:3747
msgid "Pan _East"
msgstr ""
-#: ../src/vikwindow.c:3192
+#: ../src/vikwindow.c:3748
msgid "Pan _South"
msgstr ""
-#: ../src/vikwindow.c:3193
+#: ../src/vikwindow.c:3749
msgid "Pan _West"
msgstr ""
-#: ../src/vikwindow.c:3194
+#: ../src/vikwindow.c:3750
msgid "Background _Jobs"
msgstr ""
-#: ../src/vikwindow.c:3196
+#: ../src/vikwindow.c:3752
msgid "Cu_t"
msgstr ""
-#: ../src/vikwindow.c:3197
-msgid "_Copy"
-msgstr ""
-
-#: ../src/vikwindow.c:3198
-msgid "_Paste"
-msgstr ""
-
-#: ../src/vikwindow.c:3199
-msgid "_Delete"
-msgstr ""
-
-#: ../src/vikwindow.c:3200
+#: ../src/vikwindow.c:3756
msgid "Delete All"
msgstr ""
-#: ../src/vikwindow.c:3201
+#: ../src/vikwindow.c:3757
msgid "_Flush Map Cache"
msgstr ""
-#: ../src/vikwindow.c:3202
+#: ../src/vikwindow.c:3758
msgid "_Set the Default Location"
msgstr ""
-#: ../src/vikwindow.c:3202
+#: ../src/vikwindow.c:3758
msgid "Set the Default Location to the current position"
msgstr ""
-#: ../src/vikwindow.c:3203
+#: ../src/vikwindow.c:3759
msgid "_Preferences"
msgstr ""
-#: ../src/vikwindow.c:3204
+#: ../src/vikwindow.c:3760
+msgid "_Layer Defaults"
+msgstr ""
+
+#: ../src/vikwindow.c:3761
msgid "_Properties"
msgstr ""
-#: ../src/vikwindow.c:3207
+#: ../src/vikwindow.c:3764
msgid "_About"
msgstr ""
-#: ../src/vikwindow.c:3213
+#: ../src/vikwindow.c:3768
+msgid "_KML..."
+msgstr ""
+
+#: ../src/vikwindow.c:3768
+msgid "Export as KML"
+msgstr ""
+
+#: ../src/vikwindow.c:3774
msgid "_UTM Mode"
msgstr ""
-#: ../src/vikwindow.c:3214
+#: ../src/vikwindow.c:3775
msgid "_Expedia Mode"
msgstr ""
-#: ../src/vikwindow.c:3215
+#: ../src/vikwindow.c:3776
msgid "_Mercator Mode"
msgstr ""
-#: ../src/vikwindow.c:3216
+#: ../src/vikwindow.c:3777
msgid "Lat_/Lon Mode"
msgstr ""
-#: ../src/vikwindow.c:3220
+#: ../src/vikwindow.c:3781
msgid "Show _Scale"
msgstr ""
-#: ../src/vikwindow.c:3220
+#: ../src/vikwindow.c:3781
msgid "Show Scale"
msgstr ""
-#: ../src/vikwindow.c:3221
+#: ../src/vikwindow.c:3782
msgid "Show _Center Mark"
msgstr ""
-#: ../src/vikwindow.c:3221
+#: ../src/vikwindow.c:3782
msgid "Show Center Mark"
msgstr ""
-#: ../src/vikwindow.c:3222
+#: ../src/vikwindow.c:3783
msgid "Show _Highlight"
msgstr ""
-#: ../src/vikwindow.c:3222
+#: ../src/vikwindow.c:3783
msgid "Show Highlight"
msgstr ""
-#: ../src/vikwindow.c:3223
+#: ../src/vikwindow.c:3784
msgid "_Full Screen"
msgstr ""
-#: ../src/vikwindow.c:3223
+#: ../src/vikwindow.c:3784
msgid "Activate full screen mode"
msgstr ""
-#: ../src/vikwindow.c:3224
+#: ../src/vikwindow.c:3785
msgid "Show Side _Panel"
msgstr ""
-#: ../src/vikwindow.c:3224
+#: ../src/vikwindow.c:3785
msgid "Show Side Panel"
msgstr ""
-#: ../src/vikwindow.c:3225
+#: ../src/vikwindow.c:3786
msgid "Show Status_bar"
msgstr ""
-#: ../src/vikwindow.c:3225
+#: ../src/vikwindow.c:3786
msgid "Show Statusbar"
msgstr ""
-#: ../src/vikwindow.c:3226
+#: ../src/vikwindow.c:3787
msgid "Show _Toolbar"
msgstr ""
-#: ../src/vikwindow.c:3226
+#: ../src/vikwindow.c:3787
msgid "Show Toolbar"
msgstr ""
-#: ../src/vikwindow.c:3227
+#: ../src/vikwindow.c:3788
msgid "Show _Menu"
msgstr ""
-#: ../src/vikwindow.c:3227
+#: ../src/vikwindow.c:3788
msgid "Show Menu"
msgstr ""
+#: ../src/vikwindow.c:3862
+#, c-format
+msgid "New _%s Layer"
+msgstr ""
+
#: ../src/viking.desktop.in.h:2
msgid "GPS Data Manager"
msgstr ""
diff --git a/po/lt.po b/po/lt.po
index ca9f63c..fe12b3f 100644
--- a/po/lt.po
+++ b/po/lt.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: viking\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-02-04 23:29+0100\n"
-"PO-Revision-Date: 2011-10-04 22:20+0000\n"
+"POT-Creation-Date: 2013-09-03 21:58+0200\n"
+"PO-Revision-Date: 2013-05-17 10:46+0000\n"
"Last-Translator: Mantas Kriaučiūnas <mantas@akl.lt>\n"
"Language-Team: Lithuanian <lt@li.org>\n"
"MIME-Version: 1.0\n"
@@ -16,59 +16,59 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
"(n%100<10 || n%100>=20) ? 1 : 2;\n"
-"X-Launchpad-Export-Date: 2013-03-23 17:12+0000\n"
-"X-Generator: Launchpad (build 16540)\n"
+"X-Launchpad-Export-Date: 2013-10-12 09:04+0000\n"
+"X-Generator: Launchpad (build 16799)\n"
-#: ../src/acquire.c:103 ../src/vikgpslayer.c:1185
+#: ../src/acquire.c:103 ../src/vikgpslayer.c:1235
msgid "Done."
msgstr "Baigta."
-#: ../src/acquire.c:114
+#: ../src/acquire.c:112
msgid "No data."
msgstr ""
-#: ../src/acquire.c:154 ../src/acquire.c:404
+#: ../src/acquire.c:154 ../src/acquire.c:424
msgid "Error: acquisition failed."
msgstr "Klaida: pasiekti nepavyko."
-#: ../src/acquire.c:341
+#: ../src/acquire.c:352
msgid "Working..."
msgstr "Vykdoma..."
#. This shouldn't happen...
-#: ../src/acquire.c:394
+#: ../src/acquire.c:415
msgid ""
"Unable to create command\n"
"Acquire method failed."
msgstr ""
-#: ../src/acquire.c:486
+#: ../src/acquire.c:517
msgid "_Filter"
msgstr ""
-#: ../src/acquire.c:501
+#: ../src/acquire.c:532
#, c-format
msgid "Filter with %s"
msgstr ""
-#: ../src/acquire.c:518
+#: ../src/acquire.c:549
msgid "Filter"
msgstr ""
-#: ../src/background.c:52
+#: ../src/background.c:53
#, c-format
msgid "%d items"
msgstr "%d dalykai"
-#: ../src/background.c:248
+#: ../src/background.c:254
msgid "Job"
msgstr "Užduotis"
-#: ../src/background.c:252
+#: ../src/background.c:258
msgid "Progress"
msgstr "Eiga"
-#: ../src/background.c:268
+#: ../src/background.c:274
msgid "Viking Background Jobs"
msgstr "Viking fono darbai"
@@ -77,7 +77,7 @@ msgid "Bing"
msgstr ""
#. VIK_GTK_WINDOW_FROM_WIDGET(vp)
-#: ../src/bingmapsource.c:445
+#: ../src/bingmapsource.c:499
msgid "Bing attribution Loading"
msgstr ""
@@ -102,35 +102,35 @@ msgid ""
"into."
msgstr "Pasirinkite tinkamą sluoksnį, kad įterptumėte maršruto tašką."
-#: ../src/dialog.c:52
+#: ../src/dialog.c:53
msgid "Go to Lat/Lon"
msgstr "Eiti į Pla/Ilg"
-#: ../src/dialog.c:64 ../src/dialog.c:251
+#: ../src/dialog.c:65 ../src/dialog.c:244
msgid "Latitude:"
msgstr "Platuma:"
-#: ../src/dialog.c:70 ../src/dialog.c:256
+#: ../src/dialog.c:71 ../src/dialog.c:249
msgid "Longitude:"
msgstr "Ilguma:"
-#: ../src/dialog.c:102
+#: ../src/dialog.c:103
msgid "Go to UTM"
msgstr ""
-#: ../src/dialog.c:115
+#: ../src/dialog.c:116
msgid "Northing:"
msgstr "Šiaurės kryptis:"
-#: ../src/dialog.c:121
+#: ../src/dialog.c:122
msgid "Easting:"
msgstr "Rytų kryptis:"
-#: ../src/dialog.c:128
+#: ../src/dialog.c:129
msgid "Zone:"
msgstr "Zona"
-#: ../src/dialog.c:131
+#: ../src/dialog.c:132
msgid "Letter:"
msgstr "Raidė:"
@@ -138,105 +138,109 @@ msgstr "Raidė:"
msgid "Waypoint Properties"
msgstr "Maršruto taško ypatybės"
-#: ../src/dialog.c:233
+#: ../src/dialog.c:235
msgid "Name:"
msgstr "Pavadinimas:"
-#: ../src/dialog.c:261
+#: ../src/dialog.c:254
msgid "Altitude:"
msgstr "Aukštis:"
-#: ../src/dialog.c:266
+#: ../src/dialog.c:259
msgid "Comment:"
msgstr "Komentaras:"
-#: ../src/dialog.c:274 ../src/osm-traces.c:437
+#: ../src/dialog.c:267 ../src/osm-traces.c:445
msgid "Description:"
msgstr "Aprašymas:"
-#: ../src/dialog.c:277
+#: ../src/dialog.c:270
msgid "Image:"
msgstr "Paveikslas:"
-#: ../src/dialog.c:282
+#: ../src/dialog.c:275
msgid "Symbol:"
msgstr "Simbolis:"
-#: ../src/dialog.c:291
+#: ../src/dialog.c:284
msgid "(none)"
msgstr "(nėra)"
+#: ../src/dialog.c:326
+msgid "Time:"
+msgstr ""
+
#. TODO: other checks (isalpha or whatever )
-#: ../src/dialog.c:356
+#: ../src/dialog.c:363
msgid "Please enter a name for the waypoint."
msgstr "Įveskite maršruto taško pavadinimą."
-#: ../src/dialog.c:529 ../src/geonamessearch.c:243
+#: ../src/dialog.c:502 ../src/geonamessearch.c:244
#: ../src/datasource_osm_my_traces.c:507
msgid "Nothing was selected"
msgstr "Niekas nepasirinkta"
-#: ../src/dialog.c:537
+#: ../src/dialog.c:510
msgid "Add Route"
msgstr ""
-#: ../src/dialog.c:537
+#: ../src/dialog.c:510
msgid "Add Track"
msgstr "Pridėti kelią"
-#: ../src/dialog.c:545
+#: ../src/dialog.c:518
msgid "Route Name:"
msgstr ""
-#: ../src/dialog.c:545
+#: ../src/dialog.c:518
msgid "Track Name:"
msgstr "Kelio pavadinimas:"
-#: ../src/dialog.c:565
+#: ../src/dialog.c:538
msgid "Please enter a name for the track."
msgstr "Įveskite kelio pavadinimą."
-#: ../src/dialog.c:623
+#: ../src/dialog.c:596
msgid "Zoom Factors..."
msgstr "Mastelio veiksniai..."
-#: ../src/dialog.c:637
+#: ../src/dialog.c:610
msgid "Zoom factor (in meters per pixel):"
msgstr ""
-#: ../src/dialog.c:638
+#: ../src/dialog.c:611
msgid "X (easting): "
msgstr "X (rytinis): "
-#: ../src/dialog.c:639
+#: ../src/dialog.c:612
msgid "Y (northing): "
msgstr "Y (šiaurinis): "
-#: ../src/dialog.c:644
+#: ../src/dialog.c:617
msgid "X and Y zoom factors must be equal"
msgstr "X ir Y mastelio veiksniai privalo būti lygūs"
-#: ../src/dialog.c:699
+#: ../src/dialog.c:672
msgid "1 min"
msgstr "1 minutė"
-#: ../src/dialog.c:700
+#: ../src/dialog.c:673
msgid "1 hour"
msgstr "1 valanda"
-#: ../src/dialog.c:701
+#: ../src/dialog.c:674
msgid "1 day"
msgstr "1 diena"
-#: ../src/dialog.c:702
+#: ../src/dialog.c:675
msgid "Custom (in minutes):"
msgstr "Kita (minutėmis)"
-#: ../src/dialog.c:808
+#: ../src/dialog.c:786
msgid "GPS Data and Topo Analyzer, Explorer, and Manager."
msgstr "GPS duomenų ir topografijos analizatorius, tyrėjas ir vedlys"
-#: ../src/dialog.c:809
+#: ../src/dialog.c:787
msgid ""
"This program is free software; you can redistribute it and/or modify it "
"under the terms of the GNU General Public License as published by the Free "
@@ -265,28 +269,28 @@ msgstr ""
"jei ne, rašykite į Free Software Foundation, Inc.,59 Temple Place, Suite "
"330, Boston, MA 02111-1307 USA"
-#: ../src/dialog.c:837
+#: ../src/dialog.c:852
msgid "Translation is coordinated on http://launchpad.net/viking"
msgstr ""
-#: ../src/dialog.c:845
+#: ../src/dialog.c:861
msgid "Download along track"
msgstr "Atsiųsti išilgai kelio"
-#: ../src/dialog.c:851
+#: ../src/dialog.c:868
msgid "Map type:"
msgstr "Žemėlapio tipas:"
-#: ../src/dialog.c:856
+#: ../src/dialog.c:874
msgid "Zoom level:"
msgstr "Mastelio lygis:"
-#: ../src/dialog.c:896
+#: ../src/dialog.c:914
#, c-format
msgid "The map data is licensed: %s."
msgstr ""
-#: ../src/dialog.c:899
+#: ../src/dialog.c:917
#, c-format
msgid ""
"The data provided by '<b>%s</b>' are licensed under the following license: "
@@ -294,7 +298,7 @@ msgid ""
"Please, read the license before continuing."
msgstr ""
-#: ../src/dialog.c:904
+#: ../src/dialog.c:922
msgid "Open license"
msgstr ""
@@ -343,7 +347,8 @@ msgstr "Įrašų nerasta!"
#. NB could allow columns to be shifted around by doing this after each new
#. gtk_tree_view_column_set_reorderable ( column, TRUE );
#. However I don't think is that useful, so I haven't put it in
-#: ../src/geonamessearch.c:177 ../src/datasource_osm_my_traces.c:425
+#: ../src/geonamessearch.c:177 ../src/datasource_osm_my_traces.c:424
+#: ../src/viktrwlayer_tracklist.c:521
msgid "Name"
msgstr ""
@@ -351,82 +356,192 @@ msgstr ""
msgid "Feature"
msgstr ""
-#: ../src/geonamessearch.c:187 ../src/datasource_osm_my_traces.c:440
+#: ../src/geonamessearch.c:187 ../src/datasource_osm_my_traces.c:439
msgid "Lat/Lon"
msgstr ""
-#: ../src/geonamessearch.c:269 ../src/googlesearch.c:100
+#: ../src/geonamessearch.c:270 ../src/googlesearch.c:100 ../src/vikgoto.c:306
msgid "couldn't map temp file"
msgstr "neįmanoma išdėstyti laikino failo"
-#: ../src/globals.c:44
+#: ../src/globals.c:73
+msgid "Absolute"
+msgstr ""
+
+#: ../src/globals.c:73
+msgid "Relative"
+msgstr ""
+
+#: ../src/globals.c:76
msgid "Degree format:"
msgstr "Laipsnių formatas:"
-#: ../src/globals.c:48
+#: ../src/globals.c:77
msgid "Distance units:"
msgstr ""
-#: ../src/globals.c:52
+#: ../src/globals.c:78
msgid "Speed units:"
msgstr "Greičio matavimo vienetas:"
-#: ../src/globals.c:56
+#: ../src/globals.c:79
msgid "Height units:"
msgstr "Aukščio matavimo vienetas:"
-#: ../src/globals.c:60
+#: ../src/globals.c:80
msgid "Use large waypoint icons:"
msgstr ""
-#: ../src/globals.c:64
+#: ../src/globals.c:81
msgid "Default latitude:"
msgstr ""
-#: ../src/globals.c:67
+#: ../src/globals.c:82
msgid "Default longitude:"
msgstr ""
-#: ../src/globals.c:73
+#: ../src/globals.c:88
msgid "Alphabetical"
msgstr ""
-#: ../src/globals.c:73 ../src/datasource_osm_my_traces.c:435
+#: ../src/globals.c:88 ../src/datasource_osm_my_traces.c:434
msgid "Time"
msgstr ""
-#: ../src/globals.c:76
+#: ../src/globals.c:88
+msgid "Creation"
+msgstr ""
+
+#: ../src/globals.c:89
+msgid "Title Case"
+msgstr ""
+
+#: ../src/globals.c:89
+msgid "Lowercase"
+msgstr ""
+
+#: ../src/globals.c:92
msgid "KML File Export Units:"
msgstr ""
-#: ../src/globals.c:77
+#: ../src/globals.c:93
msgid "GPX Track Order:"
msgstr ""
-#: ../src/globals.c:82
+#: ../src/globals.c:94
+msgid "GPX Waypoint Symbols:"
+msgstr ""
+
+#: ../src/globals.c:95
+msgid ""
+"Save GPX Waypoint Symbol names in the specified case. May be useful for "
+"compatibility with various devices"
+msgstr ""
+
+#: ../src/globals.c:100
msgid "Image Viewer:"
msgstr ""
-#: ../src/globals.c:87
+#: ../src/globals.c:105
msgid "External GPX Program 1:"
msgstr ""
-#: ../src/globals.c:88
+#: ../src/globals.c:106
msgid "External GPX Program 2:"
msgstr ""
+#: ../src/globals.c:110
+msgid "Save File Reference Mode:"
+msgstr ""
+
+#: ../src/globals.c:111
+msgid ""
+"When saving a Viking .vik file, this determines how the directory paths of "
+"filenames are written."
+msgstr ""
+
+#: ../src/globals.c:112
+msgid "Show Tooltip during Track Creation:"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Home Location"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Last Location"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Specified File"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Auto Location"
+msgstr ""
+
+#: ../src/globals.c:118
+msgid "Restore Window Setup:"
+msgstr ""
+
+#: ../src/globals.c:119
+msgid "Restore window size and layout"
+msgstr ""
+
+#: ../src/globals.c:120
+msgid "Add a Default Map Layer:"
+msgstr ""
+
+#: ../src/globals.c:121
+msgid ""
+"The default map layer added is defined by the Layer Defaults. Use the menu "
+"Edit->Layer Defaults->Map... to change the map type and other values."
+msgstr ""
+
+#: ../src/globals.c:122
+msgid "Startup Method:"
+msgstr ""
+
+#: ../src/globals.c:123
+msgid "Startup File:"
+msgstr ""
+
+#: ../src/globals.c:124
+msgid ""
+"The default file to load on startup. Only applies when the startup method is "
+"set to 'Specified File'"
+msgstr ""
+
+#: ../src/globals.c:125
+msgid "Check For New Version:"
+msgstr ""
+
+#: ../src/globals.c:126
+msgid "Periodically check to see if a new version of Viking is available"
+msgstr ""
+
#. Defaults for the options are setup here
-#: ../src/globals.c:96
+#: ../src/globals.c:163
msgid "General"
msgstr ""
#. New Tab
-#: ../src/globals.c:121
+#: ../src/globals.c:188
+msgid "Startup"
+msgstr ""
+
+#. New Tab
+#: ../src/globals.c:206
msgid "Export/External"
msgstr ""
+#. 'Advanced' Properties
+#: ../src/globals.c:230
+msgid "Advanced"
+msgstr ""
+
#. Webtools
-#: ../src/google.c:36
+#: ../src/google.c:38
msgid "Google"
msgstr "Google"
@@ -439,24 +554,24 @@ msgid "Imported file"
msgstr ""
#. The file selector
-#: ../src/datasource_file.c:133
+#: ../src/datasource_file.c:127
msgid "File:"
msgstr ""
-#: ../src/datasource_file.c:134
+#: ../src/datasource_file.c:128
msgid "File to import"
msgstr ""
-#: ../src/datasource_file.c:141
+#: ../src/datasource_file.c:135
msgid "All files"
msgstr ""
#. The file format selector
-#: ../src/datasource_file.c:148
+#: ../src/datasource_file.c:142
msgid "File type:"
msgstr ""
-#: ../src/datasource_file.c:193
+#: ../src/datasource_file.c:184
#, c-format
msgid "using babel args '%s' and file '%s'"
msgstr ""
@@ -469,29 +584,29 @@ msgstr "Atsiųsti Geocaches"
msgid "Geocaching.com Caches"
msgstr "Geocaching.com atsargos"
-#: ../src/datasource_gc.c:84
+#: ../src/datasource_gc.c:85
msgid "geocaching.com username:"
msgstr "geocaching.com vartotojo vardas:"
-#: ../src/datasource_gc.c:85
+#: ../src/datasource_gc.c:86
msgid "geocaching.com password:"
msgstr "geocaching.com slaptažodis:"
-#: ../src/datasource_gc.c:126
+#: ../src/datasource_gc.c:127
#, c-format
msgid ""
"Can't find %s or %s in path! Check that you have installed it correctly."
msgstr ""
-#: ../src/datasource_gc.c:188
+#: ../src/datasource_gc.c:189
msgid "Number geocaches:"
msgstr "Geocaches skaičius:"
-#: ../src/datasource_gc.c:190
+#: ../src/datasource_gc.c:191
msgid "Centered around:"
msgstr "Centruotas apie:"
-#: ../src/datasource_gc.c:226
+#: ../src/datasource_gc.c:230
msgid "Broken input - using some defaults"
msgstr ""
@@ -503,46 +618,34 @@ msgstr ""
msgid "Geotagged Images"
msgstr ""
-#: ../src/datasource_geotag.c:102 ../src/vikwindow.c:2314
-#: ../src/vikwindow.c:2382 ../src/vikwindow.c:2824
+#: ../src/datasource_geotag.c:102 ../src/vikwindow.c:2655
+#: ../src/vikwindow.c:2729 ../src/vikwindow.c:3380
msgid "All"
msgstr ""
-#: ../src/datasource_geotag.c:107 ../src/vikwindow.c:2829
+#: ../src/datasource_geotag.c:107 ../src/vikwindow.c:3385
msgid "JPG"
msgstr ""
-#: ../src/datasource_geotag.c:165
+#: ../src/datasource_geotag.c:168
#, c-format
msgid "Unable to create waypoint from %s"
msgstr ""
-#: ../src/datasource_google.c:49 ../src/datasource_google.c:50
-msgid "Google Directions"
-msgstr "Google maršrutai"
-
-#: ../src/datasource_google.c:77
-msgid "From:"
-msgstr "Nuo:"
-
-#: ../src/datasource_google.c:79
-msgid "To:"
-msgstr "Iki:"
-
-#: ../src/datasource_gps.c:57
+#: ../src/datasource_gps.c:54
msgid "Acquire from GPS"
msgstr "Gauti duomenis iš GPS"
-#: ../src/datasource_gps.c:58
+#: ../src/datasource_gps.c:55
msgid "Acquired from GPS"
msgstr "Gaunami duomenys iš GPS"
-#: ../src/datasource_gps.c:221
+#: ../src/datasource_gps.c:245
#, c-format
msgid "using cmdline '%s' and file '%s'\n"
msgstr "naudojant komandos eilutę '%s' ir failą '%s'\n"
-#: ../src/datasource_gps.c:297 ../src/vikgpslayer.c:884
+#: ../src/datasource_gps.c:327 ../src/vikgpslayer.c:934
#, c-format
msgid "Downloading %d waypoint..."
msgid_plural "Downloading %d waypoints..."
@@ -550,7 +653,7 @@ msgstr[0] "Atsiunčiamas %d maršruto taškas..."
msgstr[1] "Atsiunčiami %d maršruto taškai..."
msgstr[2] "Atsiunčiama %d maršruto taškų..."
-#: ../src/datasource_gps.c:298 ../src/vikgpslayer.c:885
+#: ../src/datasource_gps.c:328 ../src/vikgpslayer.c:935
#, c-format
msgid "Downloading %d trackpoint..."
msgid_plural "Downloading %d trackpoints..."
@@ -558,63 +661,66 @@ msgstr[0] "Atsiunčiamas %d kelio taškas..."
msgstr[1] "Atsiunčiami %d kelio taškai..."
msgstr[2] "Atsiunčiama %d kelio taškų..."
-#: ../src/datasource_gps.c:303 ../src/vikgpslayer.c:890
+#: ../src/datasource_gps.c:333 ../src/vikgpslayer.c:940
#, c-format
msgid "Downloading %d routepoint..."
msgid_plural "Downloading %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/datasource_gps.c:325 ../src/datasource_gps.c:326
-#: ../src/datasource_gps.c:327
+#: ../src/datasource_gps.c:355 ../src/datasource_gps.c:356
+#: ../src/datasource_gps.c:357
#, c-format
msgid "Downloaded %d out of %d %s..."
msgstr "Atsiųsta %d iš %d %s..."
-#: ../src/datasource_gps.c:331 ../src/datasource_gps.c:332
-#: ../src/datasource_gps.c:333
+#: ../src/datasource_gps.c:361 ../src/datasource_gps.c:362
+#: ../src/datasource_gps.c:363
#, c-format
msgid "Downloaded %d %s."
msgstr "Atsiųsta %d %s."
-#: ../src/datasource_gps.c:347 ../src/vikgpslayer.c:968
+#: ../src/datasource_gps.c:377 ../src/vikgpslayer.c:1018
#, c-format
msgid "GPS Device: %s"
msgstr "GPS įrenginys: %s"
-#: ../src/datasource_gps.c:370 ../src/vikgpslayer.c:1042
-#: ../src/vikgpslayer.c:1110
+#: ../src/datasource_gps.c:400 ../src/vikgpslayer.c:1092
+#: ../src/vikgpslayer.c:1160
msgid "Status: Working..."
msgstr ""
-#: ../src/datasource_gps.c:469 ../src/vikgpslayer.c:150
+#. NB gps_layer_inst_init() is performed after parameter registeration
+#. thus to give the protocols some potential values use the old static list
+#. TODO: find another way to use gps_layer_inst_init()?
+#: ../src/datasource_gps.c:500 ../src/vikgpslayer.c:207
msgid "GPS Protocol:"
msgstr "GPS protokolas:"
-#. List now assigned at runtime
-#: ../src/datasource_gps.c:488 ../src/vikgpslayer.c:151
+#. List reassigned at runtime
+#: ../src/datasource_gps.c:526 ../src/vikgpslayer.c:208
msgid "Serial Port:"
msgstr "Nuoseklusis prievadas:"
-#: ../src/datasource_gps.c:509
+#: ../src/datasource_gps.c:576
msgid ""
"Turn Off After Transfer\n"
"(Garmin/NAViLink Only)"
msgstr ""
-#: ../src/datasource_gps.c:512
+#: ../src/datasource_gps.c:583
msgid "Tracks:"
msgstr ""
-#: ../src/datasource_gps.c:516
+#: ../src/datasource_gps.c:590
msgid "Routes:"
msgstr ""
-#: ../src/datasource_gps.c:520
+#: ../src/datasource_gps.c:597
msgid "Waypoints:"
msgstr ""
-#: ../src/datasource_gps.c:594 ../src/vikgpslayer.c:1305
+#: ../src/datasource_gps.c:675 ../src/vikgpslayer.c:1355
msgid "GPS device: N/A"
msgstr "GPS įrenginys: N/D"
@@ -622,39 +728,39 @@ msgstr "GPS įrenginys: N/D"
msgid "OSM traces"
msgstr ""
-#: ../src/datasource_osm.c:80
+#: ../src/datasource_osm.c:82
msgid "Page number:"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:63 ../src/datasource_osm_my_traces.c:64
+#: ../src/datasource_osm_my_traces.c:59 ../src/datasource_osm_my_traces.c:60
msgid "OSM My Traces"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:108
+#: ../src/datasource_osm_my_traces.c:104
msgid "Username:"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:113
+#: ../src/datasource_osm_my_traces.c:109
msgid "The email or username used to login to OSM"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:115 ../src/osm-traces.c:413
+#: ../src/datasource_osm_my_traces.c:111 ../src/osm-traces.c:421
msgid "Password:"
msgstr "Slaptažodis:"
-#: ../src/datasource_osm_my_traces.c:120
+#: ../src/datasource_osm_my_traces.c:114
msgid "The password used to login to OSM"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:430
+#: ../src/datasource_osm_my_traces.c:429
msgid "Description"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:445
+#: ../src/datasource_osm_my_traces.c:444
msgid "Privacy"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:452
+#: ../src/datasource_osm_my_traces.c:451
msgid "Within Current View"
msgstr ""
@@ -666,15 +772,33 @@ msgstr ""
msgid "None found!"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:629
+#: ../src/datasource_osm_my_traces.c:634
msgid "My OSM Traces"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:645
+#: ../src/datasource_osm_my_traces.c:649
#, c-format
msgid "Unable to get trace: %s"
msgstr ""
+#: ../src/datasource_routing.c:53 ../src/datasource_routing.c:54
+msgid "Directions"
+msgstr ""
+
+#. Engine selector
+#: ../src/datasource_routing.c:83
+msgid "Engine:"
+msgstr ""
+
+#. From and To entries
+#: ../src/datasource_routing.c:88
+msgid "From:"
+msgstr "Nuo:"
+
+#: ../src/datasource_routing.c:90
+msgid "To:"
+msgstr "Iki:"
+
#: ../src/datasource_wikipedia.c:32
msgid "Create Waypoints from Wikipedia Articles"
msgstr ""
@@ -695,174 +819,185 @@ msgstr "Klaidinga DEM antraštė"
msgid "Incorrect DEM Class B record: expected 1"
msgstr "Neteisingas DEM B klasės įrašas: sulauktas 1"
-#: ../src/dem.c:360
+#: ../src/dem.c:288 ../src/download.c:170
#, c-format
msgid "Couldn't map file %s: %s"
msgstr "Neįmanoma išdėstyti failo %s: %s"
-#: ../src/download.c:112
-msgid "Tile age (s):"
+#: ../src/download.c:130
+msgid "Tile age (days):"
msgstr ""
-#: ../src/download.c:233
+#: ../src/download.c:321
#, c-format
msgid "Download error: %s"
msgstr "Atsiuntimo klaida: %s"
-#: ../src/download.c:313
+#: ../src/download.c:404
msgid "couldn't open temp file"
msgstr "neįmanoma atverti laikinos bylos"
-#: ../src/file.c:456 ../src/file.c:461
+#: ../src/file.c:451 ../src/file.c:456
#, c-format
msgid "Draw mode '%s' no more supported"
msgstr "Braižymo režimas '%s' daugiau nepalaikomas"
-#: ../src/geotag_exif.c:433
+#: ../src/geotag_exif.c:421
msgid "Not enough memory."
msgstr ""
-#: ../src/geotag_exif.c:451
+#: ../src/geotag_exif.c:439
msgid "Setting a value for this tag is unsupported!"
msgstr ""
-#: ../src/geotag_exif.c:470
+#: ../src/geotag_exif.c:458
#, c-format
msgid "Too few components specified (need %d, found %d)\n"
msgstr ""
-#: ../src/geotag_exif.c:474
+#: ../src/geotag_exif.c:462
msgid "Numeric value expected\n"
msgstr ""
-#: ../src/geotag_exif.c:482
+#: ../src/geotag_exif.c:470
msgid "This shouldn't happen!"
msgstr ""
-#: ../src/geotag_exif.c:552
+#: ../src/geotag_exif.c:540
msgid "Not yet implemented!"
msgstr ""
-#: ../src/geotag_exif.c:565
+#: ../src/geotag_exif.c:553
msgid "Warning; Too many components specified!"
msgstr ""
-#: ../src/osm-traces.c:73
+#: ../src/osm-traces.c:76
msgid "Identifiable (public w/ timestamps)"
msgstr ""
-#: ../src/osm-traces.c:74
+#: ../src/osm-traces.c:77
msgid "Trackable (private w/ timestamps)"
msgstr ""
-#: ../src/osm-traces.c:75
+#: ../src/osm-traces.c:78
msgid "Public"
msgstr "Viešas"
-#: ../src/osm-traces.c:76
+#: ../src/osm-traces.c:79
msgid "Private"
msgstr "Privatus"
-#: ../src/osm-traces.c:93
+#: ../src/osm-traces.c:97
msgid "OSM username:"
msgstr "OSM vartotojas:"
-#: ../src/osm-traces.c:94
+#: ../src/osm-traces.c:98
msgid "OSM password:"
msgstr "OSM slaptažodis:"
#. Preferences
-#: ../src/osm-traces.c:151
+#: ../src/osm-traces.c:155
msgid "OpenStreetMap Traces"
msgstr ""
-#: ../src/osm-traces.c:234
+#: ../src/osm-traces.c:238
#, c-format
msgid "failed to upload data: HTTP response is %ld"
msgstr "nepavyko išsiųsti duomenų: HTTP atsakas yra %ld"
-#: ../src/osm-traces.c:239
+#: ../src/osm-traces.c:243
#, c-format
msgid "curl_easy_getinfo failed: %d"
msgstr "Nepavyko curl_easy_getinfo: %d"
-#: ../src/osm-traces.c:244
+#: ../src/osm-traces.c:248
#, c-format
msgid "curl request failed: %s"
msgstr "curl užklausa nepavyko: %s"
-#: ../src/osm-traces.c:275
+#: ../src/osm-traces.c:279
#, c-format
msgid "failed to open temporary file: %s"
msgstr "nepavyko atverti laikino failo: %s"
#. Success
-#: ../src/osm-traces.c:328
+#: ../src/osm-traces.c:340
msgid "Uploaded to OSM"
msgstr ""
-#: ../src/osm-traces.c:332
+#: ../src/osm-traces.c:344
msgid "FAILED TO UPLOAD DATA TO OSM - CURL PROBLEM"
msgstr ""
-#: ../src/osm-traces.c:335
+#: ../src/osm-traces.c:347
msgid "FAILED TO UPLOAD DATA TO OSM"
msgstr ""
-#: ../src/osm-traces.c:335
+#: ../src/osm-traces.c:347
msgid "HTTP response code"
msgstr ""
-#: ../src/osm-traces.c:348
+#: ../src/osm-traces.c:355
#, c-format
msgid "failed to unlink temporary file: %s"
msgstr "nepavyko atjungti laikinojo failo: %s"
-#: ../src/osm-traces.c:387
+#: ../src/osm-traces.c:394
msgid "OSM upload"
msgstr "OSM išsiuntimas"
-#: ../src/osm-traces.c:405
+#: ../src/osm-traces.c:413
msgid "Email:"
msgstr "El. paštas:"
-#: ../src/osm-traces.c:410
+#: ../src/osm-traces.c:418
msgid ""
"The email used as login\n"
"<small>Enter the email you use to login into www.openstreetmap.org.</small>"
msgstr ""
-#: ../src/osm-traces.c:418
+#: ../src/osm-traces.c:426
msgid ""
"The password used to login\n"
"<small>Enter the password you use to login into "
"www.openstreetmap.org.</small>"
msgstr ""
-#: ../src/osm-traces.c:423
+#: ../src/osm-traces.c:431
msgid "File's name:"
msgstr "Failo pavadinimas:"
-#: ../src/osm-traces.c:433
+#: ../src/osm-traces.c:441
msgid ""
"The name of the file on OSM\n"
"<small>This is the name of the file created on the server.This is not the "
"name of the local file.</small>"
msgstr ""
-#: ../src/osm-traces.c:442
+#: ../src/osm-traces.c:450
msgid "The description of the trace"
msgstr "Takelio aprašas"
-#: ../src/osm-traces.c:444
+#: ../src/osm-traces.c:453
+msgid "Anonymize Times:"
+msgstr ""
+
+#: ../src/osm-traces.c:458
+msgid ""
+"Anonymize times of the trace.\n"
+"<small>You may choose to make the trace identifiable, yet mask the actual "
+"real time values</small>"
+msgstr ""
+
+#: ../src/osm-traces.c:462
msgid "Tags:"
msgstr "Žymos:"
-#: ../src/osm-traces.c:449
+#: ../src/osm-traces.c:467
msgid "The tags associated to the trace"
msgstr "Žyma surišta su takeliu"
-#: ../src/osm-traces.c:482
+#: ../src/osm-traces.c:529
#, c-format
msgid "Uploading %s to OSM"
msgstr "Išsiunčiamas %s į OSM"
@@ -871,69 +1006,88 @@ msgstr "Išsiunčiamas %s į OSM"
msgid "Map cache memory size (MB):"
msgstr ""
-#: ../src/print.c:53
+#: ../src/print.c:51 ../src/viktrwlayer.c:509
msgid "None"
msgstr "Nėra"
-#: ../src/print.c:54
+#: ../src/print.c:52
msgid "Horizontally"
msgstr "Horizontaliai"
-#: ../src/print.c:55
+#: ../src/print.c:53
msgid "Vertically"
msgstr "Vertikaliai"
-#: ../src/print.c:56
+#: ../src/print.c:54
msgid "Both"
msgstr "Abu"
-#: ../src/print.c:120
+#: ../src/print.c:118
msgid "Image Settings"
msgstr "Paveikslėlio parametrai"
-#: ../src/print.c:546
+#: ../src/print.c:548
msgid "done"
msgstr "Atlikta"
#. Page Size
-#: ../src/print.c:575
+#: ../src/print.c:577
msgid "_Adjust Page Size and Orientation"
msgstr "_Keisti puslapio dydį ir padėtį"
-#: ../src/print.c:591
+#: ../src/print.c:593
msgid "C_enter:"
msgstr "C_entras:"
#. ignore page margins
-#: ../src/print.c:609
+#: ../src/print.c:611
msgid "Ignore Page _Margins"
msgstr "Nepaisyti puslapio _paraščių"
-#: ../src/print.c:628
+#: ../src/print.c:630
msgid "Image S_ize:"
msgstr "Atvaizdo _dydis:"
-#: ../src/util.c:81
-msgid "Could not launch web browser."
-msgstr "Neįmanoma paleisti web naršyklės."
+#: ../src/util.c:65
+#, c-format
+msgid "Could not launch web browser. %s"
+msgstr ""
-#: ../src/util.c:92
-msgid "Could not create new email."
-msgstr "Neįmanoma sukurti naujo el. pašto."
+#: ../src/util.c:76
+#, c-format
+msgid "Could not create new email. %s"
+msgstr ""
-#: ../src/vikcoordlayer.c:46
+#: ../src/util.c:177
+#, c-format
+msgid ""
+"There is a newer version of Viking available: %s\n"
+"\n"
+"Do you wish to go to Viking's website now?"
+msgstr ""
+
+#: ../src/util.c:304
+msgid ""
+"This appears to be Viking's very first run.\n"
+"\n"
+"Do you wish to enable automatic internet features?\n"
+"\n"
+"Individual settings can be controlled in the Preferences."
+msgstr ""
+
+#: ../src/vikcoordlayer.c:57
msgid "Color:"
msgstr "Spalva:"
-#: ../src/vikcoordlayer.c:47
+#: ../src/vikcoordlayer.c:58
msgid "Minutes Width:"
msgstr "Minučių plotis:"
-#: ../src/vikcoordlayer.c:48
+#: ../src/vikcoordlayer.c:59
msgid "Line Thickness:"
msgstr "Linijos storis:"
-#: ../src/vikcoordlayer.c:56
+#: ../src/vikcoordlayer.c:66
msgid "Coordinate"
msgstr ""
@@ -969,63 +1123,131 @@ msgstr "Maršruto taškai išorėje"
msgid "Polygonzied Layer"
msgstr "Apjungtas sluoksnis"
-#: ../src/main.c:89
+#: ../src/main.c:92
#, c-format
msgid "Ignoring Xlib error: error code %d request code %d\n"
msgstr ""
-#: ../src/main.c:102
+#: ../src/main.c:105
msgid "Enable debug output"
msgstr "Įjungti klaidų aptikimo išvedimus"
-#: ../src/main.c:103
+#: ../src/main.c:106
msgid "Enable verbose output"
msgstr "Įjungti daugiakalbį išvedimą"
-#: ../src/main.c:104
+#: ../src/main.c:107
msgid "Show version"
msgstr "Rodyti versiją"
-#: ../src/osm.c:106
+#: ../src/osm.c:99
msgid "On Disk OSM Tile Format"
msgstr ""
-#: ../src/osm.c:121
+#: ../src/osm.c:113
msgid "OSM (view)"
msgstr "OSM (peržiūra)"
-#: ../src/osm.c:125
+#: ../src/osm.c:117
msgid "OSM (edit)"
msgstr "OSM (taisa)"
-#: ../src/osm.c:129
+#: ../src/osm.c:121
msgid "OSM (render)"
msgstr "OSM (teikti)"
#. Example: http://127.0.0.1:8111/load_and_zoom?left=8.19&right=8.20&top=48.605&bottom=48.590&select=node413602999
#. JOSM or merkaartor must already be running with remote interface enabled
-#: ../src/osm.c:136
+#: ../src/osm.c:128
msgid "Local port 8111 (eg JOSM)"
msgstr ""
-#: ../src/preferences.c:285
+#: ../src/osm.c:134
+msgid "OpenStreetMap Notes"
+msgstr ""
+
+#: ../src/osm.c:138
+msgid "OpenStreetBugs"
+msgstr ""
+
+#. Not really OSM but can't be bothered to create somewhere else to put it...
+#: ../src/osm.c:164
+msgid "Wikimedia Toolserver GeoHack"
+msgstr ""
+
+#: ../src/preferences.c:191
msgid "Preferences"
msgstr "Nustatymai"
-#: ../src/uibuilder.c:147
+#: ../src/viklayer_defaults.c:232
+#, c-format
+msgid "Could not open file: %s"
+msgstr ""
+
+#: ../src/viklayer_defaults.c:303
+msgid "Layer Defaults"
+msgstr ""
+
+#: ../src/uibuilder.c:185
msgid "Take care that this password will be stored clearly in a plain file."
msgstr ""
"Būkite atidus, nes šis slaptažodis bus išsaugotas tiesiog paprastame faile."
-#: ../src/vikaggregatelayer.c:37
+#: ../src/vikaggregatelayer.c:42
msgid "Aggregate"
msgstr ""
-#: ../src/vikdemlayer.c:101
+#. VikLayersPanel *vlp = VIK_LAYERS_PANEL(lav[1]);
+#: ../src/vikaggregatelayer.c:484 ../src/viktrwlayer.c:10238
+#, c-format
+msgid "%s: Track and Route List"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:529 ../src/viktrwlayer.c:7354
+#: ../src/viktrwlayer.c:7420 ../src/viktrwlayer.c:7498
+msgid "_Visibility"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:534
+msgid "_Show All"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:540
+msgid "_Hide All"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:546 ../src/viktrwlayer.c:7371
+#: ../src/viktrwlayer.c:7437 ../src/viktrwlayer.c:7515
+msgid "_Toggle"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:553 ../src/viktrwlayer.c:7536
+msgid "_Sort"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:559 ../src/viktrwlayer.c:7542
+msgid "Name _Ascending"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:565 ../src/viktrwlayer.c:7548
+msgid "Name _Descending"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:571 ../src/viktrwlayer.c:7449
+#: ../src/viktrwlayer.c:7527 ../src/viktrwlayer.c:7587
+#: ../src/viktrwlayer_tracklist.c:237
+msgid "_Statistics"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:576 ../src/viktrwlayer.c:3971
+msgid "Track _List..."
+msgstr ""
+
+#: ../src/vikdemlayer.c:92
msgid "Absolute height"
msgstr ""
-#: ../src/vikdemlayer.c:102
+#: ../src/vikdemlayer.c:93
msgid "Height gradient"
msgstr ""
@@ -1065,25 +1287,52 @@ msgstr ""
msgid "DEM"
msgstr ""
-#: ../src/vikdemlayer.c:284
+#: ../src/vikdemlayer.c:287
#, c-format
msgid "Number of files: %d"
msgstr "Failų skaičius: %d"
-#: ../src/vikdemlayer.c:385
+#: ../src/vikdemlayer.c:427
msgid "DEM Loading"
msgstr ""
-#: ../src/vikdemlayer.c:889
+#: ../src/vikdemlayer.c:937
#, c-format
msgid "No SRTM data available for %f, %f"
msgstr "Negalimi SRTM duomenys %f, %f"
-#: ../src/vikdemlayer.c:1149
+#. Probably not over any land...
+#: ../src/vikdemlayer.c:1193
+msgid "No DEM File Available"
+msgstr ""
+
+#: ../src/vikdemlayer.c:1212
+#, c-format
+msgid ""
+"\n"
+"Source: %s\n"
+"\n"
+"DEM File: %s\n"
+"DEM File Timestamp: %s"
+msgstr ""
+
+#: ../src/vikdemlayer.c:1216
+#, c-format
+msgid ""
+"Source: %s\n"
+"\n"
+"No DEM File!"
+msgstr ""
+
+#: ../src/vikdemlayer.c:1256
#, c-format
msgid "Downloading DEM %s"
msgstr "Atsiunčiamas DEM %s"
+#: ../src/vikdemlayer.c:1280
+msgid "_Show DEM File Information"
+msgstr ""
+
#: ../src/vikfileentry.c:68
msgid "Browse..."
msgstr "Naršyti..."
@@ -1104,248 +1353,266 @@ msgstr "Pridėti..."
msgid "Delete"
msgstr "Ištrinti"
-#: ../src/vikgeoreflayer.c:70
+#: ../src/vikgeoreflayer.c:78
msgid "_Georef Move Map"
msgstr ""
-#: ../src/vikgeoreflayer.c:70
+#: ../src/vikgeoreflayer.c:78
msgid "Georef Move Map"
msgstr "Georef judantis žemėlapis"
-#: ../src/vikgeoreflayer.c:77
+#: ../src/vikgeoreflayer.c:85
msgid "Georef Z_oom Tool"
msgstr ""
-#: ../src/vikgeoreflayer.c:77
+#: ../src/vikgeoreflayer.c:85
msgid "Georef Zoom Tool"
msgstr "Georef mastelio įrankis"
-#: ../src/vikgeoreflayer.c:87
+#: ../src/vikgeoreflayer.c:95
msgid "GeoRef Map"
msgstr ""
-#: ../src/vikgeoreflayer.c:335 ../src/vikmapslayer.c:685
+#: ../src/vikgeoreflayer.c:377 ../src/vikmapslayer.c:720
#, c-format
msgid "Couldn't open image file: %s"
msgstr "Nepavyko atverti atvaizdo failo: %s"
-#: ../src/vikgeoreflayer.c:365
+#: ../src/vikgeoreflayer.c:391
+msgid ""
+"GeoRef map cannot be displayed in the current drawmode.\n"
+"Select \"UTM Mode\" from View menu to view it."
+msgstr ""
+
+#: ../src/vikgeoreflayer.c:415
msgid "Unexpected end of file reading World file."
msgstr "Netikėta World failo skaitymo pabaiga."
-#: ../src/vikgeoreflayer.c:381 ../src/vikgeoreflayer.c:426
+#: ../src/vikgeoreflayer.c:431 ../src/vikgeoreflayer.c:476
msgid "Choose World file"
msgstr "Pasirinkti World failą"
-#: ../src/vikgeoreflayer.c:394
+#: ../src/vikgeoreflayer.c:444
msgid "The World file you requested could not be opened for reading."
msgstr "World failo, kurio pareikalavote, neįmanoma atverti skaitymui."
-#: ../src/vikgeoreflayer.c:439
+#: ../src/vikgeoreflayer.c:489
msgid "The file you requested could not be opened for writing."
msgstr "Failas, kurio pareikalavote, negali būti atvertas rašymui."
-#: ../src/vikgeoreflayer.c:456 ../src/viklayer.c:480
+#: ../src/vikgeoreflayer.c:506 ../src/viklayer.c:518
msgid "Layer Properties"
msgstr "Sluoksnio ypatybės"
-#: ../src/vikgeoreflayer.c:478
+#: ../src/vikgeoreflayer.c:528
msgid "World File Parameters:"
msgstr "World failo parametrai:"
-#: ../src/vikgeoreflayer.c:479
+#: ../src/vikgeoreflayer.c:529
msgid "Load From File..."
msgstr "Įkelti iš failo..."
-#: ../src/vikgeoreflayer.c:484
+#: ../src/vikgeoreflayer.c:534
msgid "Corner pixel easting:"
msgstr "Kraštinis rytų taškas:"
-#: ../src/vikgeoreflayer.c:486
-msgid "the UTM \"easting\" value of the upper-right corner pixel of the map"
+#: ../src/vikgeoreflayer.c:536
+msgid "the UTM \"easting\" value of the upper-left corner pixel of the map"
msgstr ""
-#: ../src/vikgeoreflayer.c:488
+#: ../src/vikgeoreflayer.c:538
msgid "Corner pixel northing:"
msgstr "Kraštinis šiaurės taškas:"
-#: ../src/vikgeoreflayer.c:490
-msgid "the UTM \"northing\" value of the upper-right corner pixel of the map"
+#: ../src/vikgeoreflayer.c:540
+msgid "the UTM \"northing\" value of the upper-left corner pixel of the map"
msgstr ""
-#: ../src/vikgeoreflayer.c:492
+#: ../src/vikgeoreflayer.c:542
msgid "X (easting) scale (mpp): "
msgstr "X (rytinė) padala (mpp): "
-#: ../src/vikgeoreflayer.c:493
+#: ../src/vikgeoreflayer.c:543
msgid "Y (northing) scale (mpp): "
msgstr "Y (šiaurinė) padala (mpp): "
-#: ../src/vikgeoreflayer.c:496
+#: ../src/vikgeoreflayer.c:546
msgid "the scale of the map in the X direction (meters per pixel)"
msgstr ""
-#: ../src/vikgeoreflayer.c:498
+#: ../src/vikgeoreflayer.c:548
msgid "the scale of the map in the Y direction (meters per pixel)"
msgstr ""
-#: ../src/vikgeoreflayer.c:500
+#: ../src/vikgeoreflayer.c:550
msgid "Map Image:"
msgstr "Žemėlapio atvaizdas:"
#. Now with icons
-#: ../src/vikgeoreflayer.c:608
+#: ../src/vikgeoreflayer.c:658
msgid "_Zoom to Fit Map"
msgstr ""
-#: ../src/vikgeoreflayer.c:614
+#: ../src/vikgeoreflayer.c:664
msgid "_Goto Map Center"
msgstr ""
-#: ../src/vikgeoreflayer.c:620
+#: ../src/vikgeoreflayer.c:670
msgid "_Export to World File"
msgstr ""
-#: ../src/vikgoto.c:75
+#: ../src/vikgoto.c:81
msgid "No goto tool available."
msgstr ""
-#: ../src/vikgoto.c:88 ../src/vikgoto.c:107
+#: ../src/vikgoto.c:94 ../src/vikgoto.c:148
msgid "goto"
msgstr ""
-#: ../src/vikgoto.c:90
+#: ../src/vikgoto.c:96
msgid "I don't know that place. Do you want another goto?"
msgstr ""
-#: ../src/vikgoto.c:109
+#: ../src/vikgoto.c:150
msgid "goto provider:"
msgstr ""
-#: ../src/vikgoto.c:124
+#: ../src/vikgoto.c:165
msgid "Enter address or place name:"
msgstr "Įveskite adresą ar vietos pavadinimą:"
-#: ../src/vikgpslayer.c:127
+#: ../src/vikgoto.c:363
+msgid "Locality"
+msgstr ""
+
+#: ../src/vikgpslayer.c:128
msgid "Data Mode"
msgstr ""
-#: ../src/vikgpslayer.c:129
+#: ../src/vikgpslayer.c:130
msgid "Realtime Tracking Mode"
msgstr ""
-#: ../src/vikgpslayer.c:137
+#: ../src/vikgpslayer.c:167
msgid "Keep vehicle at center"
msgstr ""
-#: ../src/vikgpslayer.c:138
+#: ../src/vikgpslayer.c:168
msgid "Keep vehicle on screen"
msgstr ""
-#: ../src/vikgpslayer.c:139
+#: ../src/vikgpslayer.c:169
msgid "Disable"
msgstr ""
-#: ../src/vikgpslayer.c:152
+#: ../src/vikgpslayer.c:209
msgid "Download Tracks:"
msgstr ""
-#: ../src/vikgpslayer.c:153
+#: ../src/vikgpslayer.c:210
msgid "Upload Tracks:"
msgstr ""
-#: ../src/vikgpslayer.c:154
+#: ../src/vikgpslayer.c:211
msgid "Download Routes:"
msgstr ""
-#: ../src/vikgpslayer.c:155
+#: ../src/vikgpslayer.c:212
msgid "Upload Routes:"
msgstr ""
-#: ../src/vikgpslayer.c:156
+#: ../src/vikgpslayer.c:213
msgid "Download Waypoints:"
msgstr ""
-#: ../src/vikgpslayer.c:157
+#: ../src/vikgpslayer.c:214
msgid "Upload Waypoints:"
msgstr ""
-#: ../src/vikgpslayer.c:159
+#: ../src/vikgpslayer.c:216
msgid "Recording tracks"
msgstr "Įrašomi keliai"
-#: ../src/vikgpslayer.c:160
+#: ../src/vikgpslayer.c:217
msgid "Jump to current position on start"
msgstr "Peršokti į esamą vietą paleidus programą"
-#: ../src/vikgpslayer.c:161
+#: ../src/vikgpslayer.c:218
msgid "Moving Map Method:"
msgstr "Perkeliamo žemėlapio metodas:"
-#: ../src/vikgpslayer.c:162
+#: ../src/vikgpslayer.c:219
+msgid "Update Statusbar:"
+msgstr ""
+
+#: ../src/vikgpslayer.c:219
+msgid "Display information in the statusbar on GPS updates"
+msgstr ""
+
+#: ../src/vikgpslayer.c:220
msgid "Gpsd Host:"
msgstr "Gpsd šeimininkas:"
-#: ../src/vikgpslayer.c:163
+#: ../src/vikgpslayer.c:221
msgid "Gpsd Port:"
msgstr "Gpsd prievadas:"
-#: ../src/vikgpslayer.c:164
+#: ../src/vikgpslayer.c:222
msgid "Gpsd Retry Interval (seconds):"
msgstr "Gpsd bandymų intervalas (sekundėmis):"
-#: ../src/vikgpslayer.c:179
+#: ../src/vikgpslayer.c:243
msgid "GPS"
msgstr ""
-#: ../src/vikgpslayer.c:242 ../src/vikgpslayer.c:1258
+#: ../src/vikgpslayer.c:306 ../src/vikgpslayer.c:1308
msgid "GPS Download"
msgstr "GPS atsiuntimas"
-#: ../src/vikgpslayer.c:242 ../src/vikgpslayer.c:1258
-#: ../src/viktrwlayer.c:3094
+#: ../src/vikgpslayer.c:306 ../src/vikgpslayer.c:1308
+#: ../src/viktrwlayer.c:3480
msgid "GPS Upload"
msgstr "GPS išsiuntimas"
-#: ../src/vikgpslayer.c:244
+#: ../src/vikgpslayer.c:308
msgid "GPS Realtime Tracking"
msgstr "GPS realaus laiko sekimas"
-#: ../src/vikgpslayer.c:451
+#: ../src/vikgpslayer.c:517
msgid "Unknown GPS Protocol"
msgstr "Nežinomas GPS protokolas"
-#: ../src/vikgpslayer.c:469
+#: ../src/vikgpslayer.c:535
msgid "Unknown serial port device"
msgstr "Nežinomas įrenginio nuoseklusis prievadas"
-#: ../src/vikgpslayer.c:572
+#: ../src/vikgpslayer.c:648
#, c-format
msgid "%s: unknown parameter"
msgstr "%s: nežinomas parametras"
#. Now with icons
-#: ../src/vikgpslayer.c:693
+#: ../src/vikgpslayer.c:743
msgid "_Upload to GPS"
msgstr "Į_kelti į GPS"
-#: ../src/vikgpslayer.c:699
+#: ../src/vikgpslayer.c:749
msgid "Download from _GPS"
msgstr ""
-#: ../src/vikgpslayer.c:720
+#: ../src/vikgpslayer.c:770
msgid "Empty _Realtime"
msgstr ""
-#: ../src/vikgpslayer.c:727
+#: ../src/vikgpslayer.c:777
msgid "E_mpty Upload"
msgstr ""
-#: ../src/vikgpslayer.c:733
+#: ../src/vikgpslayer.c:783
msgid "_Empty Download"
msgstr ""
-#: ../src/vikgpslayer.c:739
+#: ../src/vikgpslayer.c:789
msgid "Empty _All"
msgstr ""
@@ -1354,12 +1621,12 @@ msgstr ""
#. This happens when copied GPS layer is deleted (not sure why the number_handlers would be 2)
#. I don't think there's any side effects and certainly better than the program just aborting
#.
-#: ../src/vikgpslayer.c:756
+#: ../src/vikgpslayer.c:806
#, c-format
msgid "Unexpected number of disconnected handlers: %d"
msgstr ""
-#: ../src/vikgpslayer.c:898
+#: ../src/vikgpslayer.c:948
#, c-format
msgid "Uploading %d waypoint..."
msgid_plural "Uploading %d waypoints..."
@@ -1367,7 +1634,7 @@ msgstr[0] "Išsiunčiamas %d maršruto taškas..."
msgstr[1] "Išsiunčiami %d maršruto taškai..."
msgstr[2] "Išsiunčiama %d maršruto taškų..."
-#: ../src/vikgpslayer.c:899
+#: ../src/vikgpslayer.c:949
#, c-format
msgid "Uploading %d trackpoint..."
msgid_plural "Uploading %d trackpoints..."
@@ -1375,14 +1642,14 @@ msgstr[0] "Išsiunčiamas %d kelio taškas..."
msgstr[1] "Išsiunčiami %d kelio taškai..."
msgstr[2] "Išsiunčiama %d kelio taškų..."
-#: ../src/vikgpslayer.c:900
+#: ../src/vikgpslayer.c:950
#, c-format
msgid "Uploading %d routepoint..."
msgid_plural "Uploading %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:925
+#: ../src/vikgpslayer.c:975
#, c-format
msgid "Downloaded %d out of %d waypoint..."
msgid_plural "Downloaded %d out of %d waypoints..."
@@ -1390,7 +1657,7 @@ msgstr[0] "Atsiųstas %d iš %d maršruto taškų..."
msgstr[1] "Atsiųsti %d iš %d maršruto taškų..."
msgstr[2] "Atsiųsta %d iš %d maršruto taškų..."
-#: ../src/vikgpslayer.c:926
+#: ../src/vikgpslayer.c:976
#, c-format
msgid "Downloaded %d out of %d trackpoint..."
msgid_plural "Downloaded %d out of %d trackpoints..."
@@ -1398,14 +1665,14 @@ msgstr[0] "Atsiųstas %d iš %d kelio taškų..."
msgstr[1] "Atsiųsti %d iš %d kelio taškų..."
msgstr[2] "Atsiųsta %d iš %d kelio taškų..."
-#: ../src/vikgpslayer.c:927
+#: ../src/vikgpslayer.c:977
#, c-format
msgid "Downloaded %d out of %d routepoint..."
msgid_plural "Downloaded %d out of %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:932
+#: ../src/vikgpslayer.c:982
#, c-format
msgid "Uploaded %d out of %d waypoint..."
msgid_plural "Uploaded %d out of %d waypoints..."
@@ -1413,7 +1680,7 @@ msgstr[0] "Išsiųstas %d iš %d maršruto taškų..."
msgstr[1] "Išsiųsti %d iš %d maršruto taškų..."
msgstr[2] "Išsiųsta %d iš %d maršruto taškų..."
-#: ../src/vikgpslayer.c:933
+#: ../src/vikgpslayer.c:983
#, c-format
msgid "Uploaded %d out of %d trackpoint..."
msgid_plural "Uploaded %d out of %d trackpoints..."
@@ -1421,14 +1688,14 @@ msgstr[0] "Išsiųstas %d iš %d kelio taškų..."
msgstr[1] "Išsiųsti %d iš %d kelio taškų..."
msgstr[2] "Išsiųsta %d iš %d kelio taškų..."
-#: ../src/vikgpslayer.c:934
+#: ../src/vikgpslayer.c:984
#, c-format
msgid "Uploaded %d out of %d routepoint..."
msgid_plural "Uploaded %d out of %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:942
+#: ../src/vikgpslayer.c:992
#, c-format
msgid "Downloaded %d waypoint"
msgid_plural "Downloaded %d waypoints"
@@ -1436,7 +1703,7 @@ msgstr[0] "Atsiųstas %d maršruto taškas"
msgstr[1] "Atsiųsti %d maršruto taškai"
msgstr[2] "Atsiųsta %d maršruto taškų"
-#: ../src/vikgpslayer.c:943
+#: ../src/vikgpslayer.c:993
#, c-format
msgid "Downloaded %d trackpoint"
msgid_plural "Downloaded %d trackpoints"
@@ -1444,14 +1711,14 @@ msgstr[0] "Atsiųstas %d kelio taškas"
msgstr[1] "Atsiųsti %d kelio taškai"
msgstr[2] "Atsiųsta %d kelio taškų"
-#: ../src/vikgpslayer.c:944
+#: ../src/vikgpslayer.c:994
#, c-format
msgid "Downloaded %d routepoint"
msgid_plural "Downloaded %d routepoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:949
+#: ../src/vikgpslayer.c:999
#, c-format
msgid "Uploaded %d waypoint"
msgid_plural "Uploaded %d waypoints"
@@ -1459,7 +1726,7 @@ msgstr[0] "Išsiųstas %d maršruto taškas"
msgstr[1] "Išsiųsti %d maršruto taškai"
msgstr[2] "Išsiųsta %d maršruto taškų"
-#: ../src/vikgpslayer.c:950
+#: ../src/vikgpslayer.c:1000
#, c-format
msgid "Uploaded %d trackpoint"
msgid_plural "Uploaded %d trackpoints"
@@ -1467,131 +1734,129 @@ msgstr[0] "Išsiųstas %d kelio taškas"
msgstr[1] "Išsiųsti %d kelio taškai"
msgstr[2] "Išsiųsta %d kelio taškų"
-#: ../src/vikgpslayer.c:951
+#: ../src/vikgpslayer.c:1001
#, c-format
msgid "Uploaded %d routepoint"
msgid_plural "Uploaded %d routepoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:1180
+#: ../src/vikgpslayer.c:1230
msgid "Error: couldn't find gpsbabel."
msgstr "Klaida: neįmanoma surasti gpsbabel."
-#: ../src/vikgpslayer.c:1269
+#: ../src/vikgpslayer.c:1319
msgid "Warning - GPS Upload items may overwrite each other"
msgstr ""
-#: ../src/vikgpslayer.c:1301
+#: ../src/vikgpslayer.c:1351
msgid "Status: detecting gpsbabel"
msgstr "Būsena: aptinkamas gpsbabel"
-#: ../src/vikgpslayer.c:1332
+#: ../src/vikgpslayer.c:1386
msgid "No GPS items selected for transfer."
msgstr ""
-#: ../src/vikgpslayer.c:1347
+#: ../src/vikgpslayer.c:1401
msgid "Could not turn off device."
msgstr ""
-#: ../src/vikgpslayer.c:1385
+#: ../src/vikgpslayer.c:1439
msgid "Are you sure you want to delete GPS Upload data?"
msgstr ""
-#: ../src/vikgpslayer.c:1398
+#: ../src/vikgpslayer.c:1452
msgid "Are you sure you want to delete GPS Download data?"
msgstr ""
-#: ../src/vikgpslayer.c:1412
+#: ../src/vikgpslayer.c:1466
msgid "Are you sure you want to delete GPS Realtime data?"
msgstr ""
-#: ../src/vikgpslayer.c:1425
+#: ../src/vikgpslayer.c:1479
msgid "Are you sure you want to delete All GPS data?"
msgstr ""
-#: ../src/viklayerspanel.c:55
-msgid "/C_ut"
-msgstr "/_Iškirpti"
+#: ../src/viklayerspanel.c:53
+msgid "C_ut"
+msgstr ""
-#: ../src/viklayerspanel.c:56
-msgid "/_Copy"
-msgstr "/_Kopijuoti"
+#: ../src/viklayerspanel.c:54 ../src/vikwindow.c:3753
+msgid "_Copy"
+msgstr "_Kopijuoti"
-#: ../src/viklayerspanel.c:57
-msgid "/_Paste"
-msgstr "/Į_terpti"
+#: ../src/viklayerspanel.c:55 ../src/vikwindow.c:3754
+msgid "_Paste"
+msgstr "Į_terpti"
-#: ../src/viklayerspanel.c:58
-msgid "/_Delete"
-msgstr "/_Ištrinti"
+#: ../src/viklayerspanel.c:56 ../src/vikwindow.c:3755
+msgid "_Delete"
+msgstr "_Ištrinti"
-#: ../src/viklayerspanel.c:59
-msgid "/New Layer"
-msgstr "/Naujas sluoksnis"
+#: ../src/viklayerspanel.c:133
+msgid "New Layer"
+msgstr ""
-#: ../src/viklayerspanel.c:127
+#: ../src/viklayerspanel.c:178
msgid "Top Layer"
msgstr "Viršutinis sluoksnis"
-#: ../src/viklayerspanel.c:143
+#: ../src/viklayerspanel.c:194
msgid "Add new layer"
msgstr "Pridėti naują sluoksnį"
-#: ../src/viklayerspanel.c:150
+#: ../src/viklayerspanel.c:201
msgid "Remove selected layer"
msgstr "Pašalinti pažymėtą sluoksnį"
-#: ../src/viklayerspanel.c:157
+#: ../src/viklayerspanel.c:208
msgid "Move selected layer up"
msgstr ""
-#: ../src/viklayerspanel.c:164
+#: ../src/viklayerspanel.c:215
msgid "Move selected layer down"
msgstr ""
-#: ../src/viklayerspanel.c:171
+#: ../src/viklayerspanel.c:222
msgid "Cut selected layer"
msgstr "Iškirpti pasirinktą sluoksnį"
-#: ../src/viklayerspanel.c:178
+#: ../src/viklayerspanel.c:229
msgid "Copy selected layer"
msgstr "Kopijuoti pasirinktą sluoksnį"
-#: ../src/viklayerspanel.c:185
-msgid "Paste layer below selected layer"
+#: ../src/viklayerspanel.c:236
+msgid ""
+"Paste layer into selected container layer or otherwise above selected layer"
msgstr ""
-#. TODO: FIXME: if name has a '/' in it it will get all messed up. why not have an itemfactory field with
-#. name, icon, shortcut, etc.?
-#: ../src/viklayerspanel.c:204 ../src/vikwindow.c:3292
-#, c-format
-msgid "New _%s Layer"
+#: ../src/viklayerspanel.c:300
+msgid "New name can not be blank."
msgstr ""
-#: ../src/viklayerspanel.c:511
+#: ../src/viklayerspanel.c:544
msgid "Aggregate Layers have no settable properties."
msgstr "Bendri sluoksniai neturi nustatomų ypatybių."
-#: ../src/viklayerspanel.c:555
+#: ../src/viklayerspanel.c:588
msgid "You cannot cut the Top Layer."
msgstr "Jūs negalite iškirpti viršutinio sluoksnio."
-#: ../src/viklayerspanel.c:600
+#: ../src/viklayerspanel.c:633
#, c-format
msgid "Are you sure you want to delete %s?"
msgstr ""
-#: ../src/viklayerspanel.c:617
+#: ../src/viklayerspanel.c:650
msgid "You cannot delete the Top Layer."
msgstr "Jūs negalite ištrinti viršutinio sluoksnio."
-#: ../src/viklayerspanel.c:701
+#: ../src/viklayerspanel.c:734
msgid "Are you sure you wish to delete all layers?"
msgstr "Ar tikrai norite ištrinti visus sluoksnius?"
#. ******* MAPZOOMS ********
-#: ../src/vikmapslayer.c:91
+#: ../src/vikmapslayer.c:80
msgid "Use Viking Zoom Level"
msgstr "Naudoti Viking mastelio lygį"
@@ -1638,35 +1903,35 @@ msgid ""
"actual zoom level."
msgstr ""
-#: ../src/vikmapslayer.c:146
+#: ../src/vikmapslayer.c:156
msgid "_Maps Download"
msgstr ""
-#: ../src/vikmapslayer.c:146
+#: ../src/vikmapslayer.c:156
msgid "Maps Download"
msgstr "Atsiųsti žemėlapiai"
-#: ../src/vikmapslayer.c:161
+#: ../src/vikmapslayer.c:171
msgid "Map"
msgstr "Žemėlapis"
-#: ../src/vikmapslayer.c:249
-msgid "Default maplayer directory:"
+#: ../src/vikmapslayer.c:259
+msgid "Default map layer directory:"
msgstr ""
-#: ../src/vikmapslayer.c:249
+#: ../src/vikmapslayer.c:259
msgid "Choose a directory to store cached Map tiles for this layer"
msgstr ""
-#: ../src/vikmapslayer.c:505
+#: ../src/vikmapslayer.c:523
msgid "Unknown map type"
msgstr "Nežinomas žemėlapio tipas"
-#: ../src/vikmapslayer.c:516
+#: ../src/vikmapslayer.c:534
msgid "Unknown Map Zoom"
msgstr "Nežinomas žemėlapio mastelis"
-#: ../src/vikmapslayer.c:589
+#: ../src/vikmapslayer.c:624
#, c-format
msgid ""
"New map cannot be displayed in the current drawmode.\n"
@@ -1675,7 +1940,7 @@ msgstr ""
"Naujas žemėlapis neįmanoma parodyti dabartiniame braižymo režime.\n"
"Pasirinkite \"%s\" iš Rodyti meniu, kad galėtumėte peržiūrėti jį."
-#: ../src/vikmapslayer.c:753
+#: ../src/vikmapslayer.c:798
#, c-format
msgid ""
"Cowardly refusing to draw tiles or existence of tiles beyond %d zoom out "
@@ -1684,7 +1949,7 @@ msgstr ""
"Bailiai atsisakyti brėžti kvadratus arba esančius kvadratų už %d mastelio "
"faktoriaus"
-#: ../src/vikmapslayer.c:1157
+#: ../src/vikmapslayer.c:1210
#, c-format
msgid "Redownloading up to %d %s map..."
msgid_plural "Redownloading up to %d %s maps..."
@@ -1692,7 +1957,7 @@ msgstr[0] "Pakartotinai atsiunčiama iki %d %s žemėlapio..."
msgstr[1] "Pakartotinai atsiunčiama iki %d %s žemėlapių..."
msgstr[2] "Pakartotinai atsiunčiama iki %d %s žemėlapių..."
-#: ../src/vikmapslayer.c:1159
+#: ../src/vikmapslayer.c:1212
#, c-format
msgid "Redownloading %d %s map..."
msgid_plural "Redownloading %d %s maps..."
@@ -1700,7 +1965,7 @@ msgstr[0] "Pakartotinai atsiunčiamas %d %s žemėlapis..."
msgstr[1] "Pakartotinai atsiunčiami %d %s žemėlapiai..."
msgstr[2] "Pakartotinai atsiunčiama %d %s žemėlapių..."
-#: ../src/vikmapslayer.c:1163 ../src/vikmapslayer.c:1238
+#: ../src/vikmapslayer.c:1216 ../src/vikmapslayer.c:1290
#, c-format
msgid "Downloading %d %s map..."
msgid_plural "Downloading %d %s maps..."
@@ -1708,7 +1973,7 @@ msgstr[0] "Atsiunčiamas %d %s žemėlapis..."
msgstr[1] "Atsiunčiami %d %s žemėlapiai..."
msgstr[2] "Atsiunčiama %d %s žemėlapių..."
-#: ../src/vikmapslayer.c:1311
+#: ../src/vikmapslayer.c:1376
#, c-format
msgid ""
"\n"
@@ -1718,7 +1983,7 @@ msgid ""
"Tile File Timestamp: %s"
msgstr ""
-#: ../src/vikmapslayer.c:1318
+#: ../src/vikmapslayer.c:1380
#, c-format
msgid ""
"Source: %s\n"
@@ -1726,23 +1991,23 @@ msgid ""
"No Tile File!"
msgstr ""
-#: ../src/vikmapslayer.c:1356
+#: ../src/vikmapslayer.c:1418
msgid "Redownload _Bad Map(s)"
msgstr ""
-#: ../src/vikmapslayer.c:1360
+#: ../src/vikmapslayer.c:1422
msgid "Redownload _New Map(s)"
msgstr ""
-#: ../src/vikmapslayer.c:1364
+#: ../src/vikmapslayer.c:1426
msgid "Redownload _All Map(s)"
msgstr ""
-#: ../src/vikmapslayer.c:1368
+#: ../src/vikmapslayer.c:1430
msgid "_Show Tile Information"
msgstr ""
-#: ../src/vikmapslayer.c:1449
+#: ../src/vikmapslayer.c:1511
#, c-format
msgid ""
"Wrong drawmode for this map.\n"
@@ -1751,1435 +2016,2012 @@ msgstr ""
"Klaidingas šio žemėlapio braižymo režimas.\n"
"Pasirinkite iš meniu \"%s\" ir bandykite dar kartą."
-#: ../src/vikmapslayer.c:1454
+#: ../src/vikmapslayer.c:1516
msgid "Wrong zoom level for this map."
msgstr "Klaidingas šio žemėlapio mastelio lygis."
+#: ../src/vikmapslayer.c:1647
+msgid "Zoom Start:"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1654
+msgid "Zoom End:"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1660
+msgid "Download Maps Method:"
+msgstr ""
+
+#. redownload method - needs to align with REDOWNLOAD* macro values
+#: ../src/vikmapslayer.c:1732
+msgid "Missing"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1732
+msgid "Bad"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1732
+msgid "New"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1732
+msgid "Reload All"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1734
+msgid "Download for Zoom Levels"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1774
+#, c-format
+msgid ""
+"You are not allowed to download more than %d tiles in one go (requested %d)"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1782
+#, c-format
+msgid "Do you really want to download %d tiles?"
+msgstr ""
+
#. Now with icons
-#: ../src/vikmapslayer.c:1485
+#: ../src/vikmapslayer.c:1807
msgid "Download _Missing Onscreen Maps"
msgstr ""
-#: ../src/vikmapslayer.c:1492
+#: ../src/vikmapslayer.c:1814
msgid "Download _New Onscreen Maps"
msgstr ""
-#: ../src/vikmapslayer.c:1499
+#: ../src/vikmapslayer.c:1821
msgid "Reload _All Onscreen Maps"
msgstr ""
-#: ../src/viktreeview.c:263
+#: ../src/vikmapslayer.c:1827
+msgid "Download Maps in _Zoom Levels..."
+msgstr ""
+
+#: ../src/vikrouting.c:54
+msgid "Default engine:"
+msgstr ""
+
+#: ../src/viktreeview.c:316
msgid "Layer Name"
msgstr "Sluoksnio pavadinimas"
-#: ../src/viktreeview.c:742
+#: ../src/viktreeview.c:851
#, c-format
msgid "delete data from %s\n"
msgstr "ištrinti duomenis iš %s\n"
-#: ../src/viktrwlayer.c:377
+#: ../src/viktrwlayer.c:398
msgid "Create _Waypoint"
msgstr ""
-#: ../src/viktrwlayer.c:377
+#: ../src/viktrwlayer.c:398
msgid "Create Waypoint"
msgstr "Sukurti maršruto tašką"
-#: ../src/viktrwlayer.c:383
+#: ../src/viktrwlayer.c:404
msgid "Create _Track"
msgstr ""
-#: ../src/viktrwlayer.c:383
+#: ../src/viktrwlayer.c:404
msgid "Create Track"
msgstr "Sukurti kelią"
-#: ../src/viktrwlayer.c:392
+#: ../src/viktrwlayer.c:413
msgid "Create _Route"
msgstr ""
-#: ../src/viktrwlayer.c:392
+#: ../src/viktrwlayer.c:413
msgid "Create Route"
msgstr ""
-#: ../src/viktrwlayer.c:401
+#: ../src/viktrwlayer.c:422
msgid "_Edit Waypoint"
msgstr ""
-#: ../src/viktrwlayer.c:401
+#: ../src/viktrwlayer.c:422
msgid "Edit Waypoint"
msgstr "Keisti maršruto taškus"
-#: ../src/viktrwlayer.c:409
+#: ../src/viktrwlayer.c:432
msgid "Edit Trac_kpoint"
msgstr ""
-#: ../src/viktrwlayer.c:409
+#: ../src/viktrwlayer.c:432
msgid "Edit Trackpoint"
msgstr "Keisti kelio taškus"
-#: ../src/viktrwlayer.c:417
+#: ../src/viktrwlayer.c:442
msgid "Show P_icture"
msgstr ""
-#: ../src/viktrwlayer.c:417
+#: ../src/viktrwlayer.c:442
msgid "Show Picture"
msgstr "Rodyti nuotrauką"
-#: ../src/viktrwlayer.c:424
+#: ../src/viktrwlayer.c:448
msgid "Route _Finder"
msgstr ""
-#: ../src/viktrwlayer.c:424
+#: ../src/viktrwlayer.c:448
msgid "Route Finder"
msgstr ""
#. ***** PARAMETERS *****
-#: ../src/viktrwlayer.c:447 ../src/viktrwlayer.c:1942
-#: ../src/viktrwlayer.c:1944
+#: ../src/viktrwlayer.c:468 ../src/viktrwlayer.c:2324
msgid "Waypoints"
msgstr "Maršruto taškai"
-#: ../src/viktrwlayer.c:447 ../src/viktrwlayer.c:1933
-#: ../src/viktrwlayer.c:1935
+#: ../src/viktrwlayer.c:468 ../src/viktrwlayer.c:2319
msgid "Tracks"
msgstr "Keliai"
-#: ../src/viktrwlayer.c:447
+#: ../src/viktrwlayer.c:468
msgid "Waypoint Images"
msgstr "Maršruto taškų atvaizdai"
-#: ../src/viktrwlayer.c:450
+#: ../src/viktrwlayer.c:468
+msgid "Tracks Advanced"
+msgstr ""
+
+#: ../src/viktrwlayer.c:471
msgid "Draw by Track"
msgstr "Brėžti pagal kelią"
-#: ../src/viktrwlayer.c:450
+#: ../src/viktrwlayer.c:471
msgid "Draw by Speed"
msgstr ""
-#: ../src/viktrwlayer.c:450
+#: ../src/viktrwlayer.c:471
msgid "All Tracks Same Color"
msgstr ""
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "Filled Square"
msgstr "Užpildytas kvadratas"
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "Square"
msgstr "Kvadratas"
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "Circle"
msgstr "Apskritimas"
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "X"
msgstr "X"
-#: ../src/viktrwlayer.c:477
+#: ../src/viktrwlayer.c:498
msgid "Extra Extra Small"
msgstr ""
-#: ../src/viktrwlayer.c:478
+#: ../src/viktrwlayer.c:499
msgid "Extra Small"
msgstr ""
-#: ../src/viktrwlayer.c:479
+#: ../src/viktrwlayer.c:500
msgid "Small"
msgstr ""
-#: ../src/viktrwlayer.c:480
+#: ../src/viktrwlayer.c:501
msgid "Medium"
msgstr ""
-#: ../src/viktrwlayer.c:481
+#: ../src/viktrwlayer.c:502
msgid "Large"
msgstr ""
-#: ../src/viktrwlayer.c:482
+#: ../src/viktrwlayer.c:503
msgid "Extra Large"
msgstr ""
-#: ../src/viktrwlayer.c:483
+#: ../src/viktrwlayer.c:504
msgid "Extra Extra Large"
msgstr ""
-#: ../src/viktrwlayer.c:491
+#: ../src/viktrwlayer.c:510
+msgid "Name Ascending"
+msgstr ""
+
+#: ../src/viktrwlayer.c:511
+msgid "Name Descending"
+msgstr ""
+
+#: ../src/viktrwlayer.c:552 ../src/viktrwlayer.c:576
+msgid "Draw Labels"
+msgstr "Brėžinio kortelės"
+
+#: ../src/viktrwlayer.c:553
+msgid "Note: the individual track controls what labels may be displayed"
+msgstr ""
+
+#: ../src/viktrwlayer.c:554
+msgid "Track Labels Font Size:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:555
msgid "Track Drawing Mode:"
msgstr "Kelio brėžimo režimas:"
-#: ../src/viktrwlayer.c:492
+#: ../src/viktrwlayer.c:556
msgid "All Tracks Color:"
msgstr ""
-#: ../src/viktrwlayer.c:493
+#: ../src/viktrwlayer.c:557
msgid "The color used when 'All Tracks Same Color' drawing mode is selected"
msgstr ""
-#: ../src/viktrwlayer.c:494
+#: ../src/viktrwlayer.c:558
msgid "Draw Track Lines"
msgstr "Brėžti kelio linijas"
-#: ../src/viktrwlayer.c:495
+#: ../src/viktrwlayer.c:559
msgid "Track Thickness:"
msgstr "Kelio storis:"
-#: ../src/viktrwlayer.c:496
+#: ../src/viktrwlayer.c:560
msgid "Draw Track Direction"
msgstr ""
-#: ../src/viktrwlayer.c:497
+#: ../src/viktrwlayer.c:561
msgid "Direction Size:"
msgstr ""
-#: ../src/viktrwlayer.c:498
+#: ../src/viktrwlayer.c:562
msgid "Draw Trackpoints"
msgstr "Brėžti kelio taškus"
-#: ../src/viktrwlayer.c:499
+#: ../src/viktrwlayer.c:563
msgid "Trackpoint Size:"
msgstr ""
-#: ../src/viktrwlayer.c:500
+#: ../src/viktrwlayer.c:564
msgid "Draw Elevation"
msgstr "Brėžti aukštį"
-#: ../src/viktrwlayer.c:501
+#: ../src/viktrwlayer.c:565
msgid "Draw Elevation Height %:"
msgstr "Brėžiamas kilimo aukštis %:"
-#: ../src/viktrwlayer.c:503
+#: ../src/viktrwlayer.c:566
msgid "Draw Stops"
msgstr "Brėžimas sustabdytas"
-#: ../src/viktrwlayer.c:504
+#: ../src/viktrwlayer.c:567
msgid ""
"Whether to draw a marker when trackpoints are at the same position but over "
"the minimum stop length apart in time"
msgstr ""
-#: ../src/viktrwlayer.c:505
+#: ../src/viktrwlayer.c:568
msgid "Min Stop Length (seconds):"
msgstr "Min sustojimo laikas (sekundėmis):"
-#: ../src/viktrwlayer.c:507
+#: ../src/viktrwlayer.c:570
msgid "Track BG Thickness:"
msgstr "Kelio fono storis:"
-#: ../src/viktrwlayer.c:508
+#: ../src/viktrwlayer.c:571
msgid "Track Background Color"
msgstr "Kelio fono spalva"
-#: ../src/viktrwlayer.c:509
+#: ../src/viktrwlayer.c:572
msgid "Draw by Speed Factor (%):"
msgstr ""
-#: ../src/viktrwlayer.c:510
+#: ../src/viktrwlayer.c:573
msgid ""
"The percentage factor away from the average speed determining the color used"
msgstr ""
-#: ../src/viktrwlayer.c:512
-msgid "Draw Labels"
-msgstr "Brėžinio kortelės"
+#: ../src/viktrwlayer.c:574
+msgid "Track Sort Order:"
+msgstr ""
-#: ../src/viktrwlayer.c:513
+#: ../src/viktrwlayer.c:577
msgid "Waypoint Font Size:"
msgstr ""
-#: ../src/viktrwlayer.c:514
+#: ../src/viktrwlayer.c:578
msgid "Waypoint Color:"
msgstr "Maršruto taško spalva:"
-#: ../src/viktrwlayer.c:515
+#: ../src/viktrwlayer.c:579
msgid "Waypoint Text:"
msgstr "Maršruto taško tekstas:"
-#: ../src/viktrwlayer.c:516
+#: ../src/viktrwlayer.c:580
msgid "Background:"
msgstr "Fonas:"
-#: ../src/viktrwlayer.c:517
+#: ../src/viktrwlayer.c:581
msgid "Fake BG Color Translucency:"
msgstr "Netinkamas fono spalvos skaidrumas:"
-#: ../src/viktrwlayer.c:518
+#: ../src/viktrwlayer.c:582
msgid "Waypoint marker:"
msgstr "Maršruto taško žymeklis:"
-#: ../src/viktrwlayer.c:519
+#: ../src/viktrwlayer.c:583
msgid "Waypoint size:"
msgstr "Maršruto taško dydis:"
-#: ../src/viktrwlayer.c:520
+#: ../src/viktrwlayer.c:584
msgid "Draw Waypoint Symbols:"
msgstr "Brėžti maršruto taško simbolius:"
-#: ../src/viktrwlayer.c:522
+#: ../src/viktrwlayer.c:585
+msgid "Waypoint Sort Order:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:587
msgid "Draw Waypoint Images"
msgstr "Brėžti maršruto taško atvaizdus"
-#: ../src/viktrwlayer.c:523
+#: ../src/viktrwlayer.c:588
msgid "Image Size (pixels):"
msgstr "Atvaizdo dydis (taškais):"
-#: ../src/viktrwlayer.c:524
+#: ../src/viktrwlayer.c:589
msgid "Image Alpha:"
msgstr "Alfa atvaizdas:"
-#: ../src/viktrwlayer.c:525
+#: ../src/viktrwlayer.c:590
msgid "Image Memory Cache Size:"
msgstr "Atvaizdi spartinančiosios atminties dydis:"
-#: ../src/viktrwlayer.c:610
+#: ../src/viktrwlayer.c:678
msgid "TrackWaypoint"
msgstr ""
-#: ../src/viktrwlayer.c:1951 ../src/viktrwlayer.c:1953
+#: ../src/viktrwlayer.c:1534 ../src/vikutils.c:204
+msgid "miles"
+msgstr ""
+
+#. VIK_UNITS_DISTANCE_KILOMETRES:
+#: ../src/viktrwlayer.c:1538 ../src/vikutils.c:209
+msgid "km"
+msgstr ""
+
+#: ../src/viktrwlayer.c:1648
+msgid "start/end"
+msgstr ""
+
+#: ../src/viktrwlayer.c:1660
+msgid "start"
+msgstr ""
+
+#: ../src/viktrwlayer.c:1669
+msgid "end"
+msgstr ""
+
+#: ../src/viktrwlayer.c:2329
msgid "Routes"
msgstr ""
-#: ../src/viktrwlayer.c:2144
+#: ../src/viktrwlayer.c:2519
#, c-format
msgid " in %d:%02d hrs:mins"
msgstr ""
-#: ../src/viktrwlayer.c:2148
+#: ../src/viktrwlayer.c:2523
#, c-format
msgid ""
"\n"
"%sTotal Length %.1f %s%s"
msgstr ""
-#: ../src/viktrwlayer.c:2154
+#: ../src/viktrwlayer.c:2529
#, c-format
msgid "Tracks: %d - Waypoints: %d - Routes: %d%s"
msgstr ""
-#: ../src/viktrwlayer.c:2174
+#: ../src/viktrwlayer.c:2549
#, c-format
msgid "Tracks: %d"
msgstr ""
-#: ../src/viktrwlayer.c:2184
+#: ../src/viktrwlayer.c:2559
#, c-format
msgid "Routes: %d"
msgstr ""
-#: ../src/viktrwlayer.c:2215
+#: ../src/viktrwlayer.c:2590
#, c-format
msgid "- %d:%02d hrs:mins"
msgstr ""
-#: ../src/viktrwlayer.c:2223
+#: ../src/viktrwlayer.c:2598
#, c-format
msgid "%s%.1f km %s"
msgstr ""
-#: ../src/viktrwlayer.c:2226
+#: ../src/viktrwlayer.c:2601
#, c-format
msgid "%s%.1f miles %s"
msgstr ""
-#: ../src/viktrwlayer.c:2240
+#: ../src/viktrwlayer.c:2615
#, c-format
msgid "Waypoints: %d"
msgstr ""
-#: ../src/viktrwlayer.c:2266
-#, c-format
-msgid "Trkpt: Alt %dft"
-msgstr ""
-
-#. VIK_UNITS_HEIGHT_METRES:
-#: ../src/viktrwlayer.c:2270
-#, c-format
-msgid "Trkpt: Alt %dm"
-msgstr ""
-
-#. Compact date time format
-#: ../src/viktrwlayer.c:2277
-#, c-format
-msgid " | Time %x %X"
-msgstr ""
-
-#: ../src/viktrwlayer.c:2295
-#, c-format
-msgid " | Track: %s"
-msgstr ""
-
-#. Combine parts to make overall message
-#: ../src/viktrwlayer.c:2299
-#, c-format
-msgid "%s%s | %s %s %s"
-msgstr ""
-
-#: ../src/viktrwlayer.c:2314
+#: ../src/viktrwlayer.c:2671
#, c-format
msgid "Wpt: Alt %dft"
msgstr ""
#. VIK_UNITS_HEIGHT_METRES:
-#: ../src/viktrwlayer.c:2318
+#: ../src/viktrwlayer.c:2675
#, c-format
msgid "Wpt: Alt %dm"
msgstr ""
#. Add comment if available
-#: ../src/viktrwlayer.c:2333
+#: ../src/viktrwlayer.c:2690
#, c-format
msgid "%s | %s %s | Comment: %s"
msgstr ""
-#: ../src/viktrwlayer.c:2335
+#: ../src/viktrwlayer.c:2692
#, c-format
msgid "%s | %s %s"
msgstr ""
-#: ../src/viktrwlayer.c:2563 ../src/viktrwlayer.c:2634
+#: ../src/viktrwlayer.c:2939 ../src/viktrwlayer.c:3010
msgid "This layer has no waypoints or trackpoints."
msgstr "Šis sluoksnis neturi maršruto ir kelio taškų."
-#: ../src/viktrwlayer.c:2661 ../src/vikwindow.c:2407 ../src/vikwindow.c:2848
+#: ../src/viktrwlayer.c:3045 ../src/vikwindow.c:2754 ../src/vikwindow.c:3407
#, c-format
msgid "The file \"%s\" exists, do you wish to overwrite it?"
msgstr "Failas \"%s\" jau yra, ar norite pakeisti?"
-#: ../src/viktrwlayer.c:2671 ../src/vikwindow.c:2429
+#: ../src/viktrwlayer.c:3057 ../src/vikwindow.c:2778
msgid "The filename you requested could not be opened for writing."
msgstr "Failas, kurio pareikalavote, negali būti atvertas rašymui."
-#: ../src/viktrwlayer.c:2676 ../src/viktrwlayer.c:2681
-#: ../src/viktrwlayer.c:2691 ../src/viktrwlayer.c:2703
+#: ../src/viktrwlayer.c:3062 ../src/viktrwlayer.c:3067
+#: ../src/viktrwlayer.c:3077 ../src/viktrwlayer.c:3089
msgid "Export Layer"
msgstr "Eksportavimo sluoksnis"
-#: ../src/viktrwlayer.c:2720
+#: ../src/viktrwlayer.c:3108
msgid "Could not create temporary file for export."
msgstr ""
-#: ../src/viktrwlayer.c:2729
+#: ../src/viktrwlayer.c:3117
#, c-format
msgid "Could not launch %s."
msgstr ""
-#: ../src/viktrwlayer.c:2773
+#: ../src/viktrwlayer.c:3161
msgid "Export Track as GPX"
msgstr ""
-#: ../src/viktrwlayer.c:2795
+#: ../src/viktrwlayer.c:3183
msgid "Find"
msgstr "Rasti"
-#: ../src/viktrwlayer.c:2805
+#: ../src/viktrwlayer.c:3193
msgid "Waypoint Name:"
msgstr "Maršruto taško pavadinimas:"
-#: ../src/viktrwlayer.c:2822
+#: ../src/viktrwlayer.c:3210
msgid "Waypoint not found in this layer."
msgstr "Maršruto taškas nerastas šiame sluoksnyje."
-#: ../src/viktrwlayer.c:3090
+#: ../src/viktrwlayer.c:3476
msgid "Can not upload invisible track."
msgstr ""
-#: ../src/viktrwlayer.c:3192 ../src/viktrwlayer.c:7785
+#: ../src/viktrwlayer.c:3581 ../src/viktrwlayer.c:9283
msgid "Track"
msgstr ""
-#: ../src/viktrwlayer.c:3215 ../src/viktrwlayer.c:7817
+#: ../src/viktrwlayer.c:3606 ../src/viktrwlayer.c:9316
msgid "Route"
msgstr ""
-#: ../src/viktrwlayer.c:3296 ../src/viktrwlayer.c:6265
-#: ../src/viktrwlayer.c:6314
+#: ../src/viktrwlayer.c:3691 ../src/viktrwlayer.c:7460
+#: ../src/viktrwlayer.c:7566
msgid "_Finish Route"
msgstr ""
-#: ../src/viktrwlayer.c:3298 ../src/viktrwlayer.c:6223
-#: ../src/viktrwlayer.c:6312
+#: ../src/viktrwlayer.c:3693 ../src/viktrwlayer.c:7383
+#: ../src/viktrwlayer.c:7564
msgid "_Finish Track"
msgstr ""
#. Now with icons
-#: ../src/viktrwlayer.c:3310
+#: ../src/viktrwlayer.c:3705
msgid "_View Layer"
msgstr ""
-#: ../src/viktrwlayer.c:3317
+#: ../src/viktrwlayer.c:3712
msgid "V_iew"
msgstr ""
-#: ../src/viktrwlayer.c:3323
+#: ../src/viktrwlayer.c:3718
msgid "View All _Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:3328
+#: ../src/viktrwlayer.c:3723
msgid "View All _Routes"
msgstr ""
-#: ../src/viktrwlayer.c:3333
+#: ../src/viktrwlayer.c:3728
msgid "View All _Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:3338
+#: ../src/viktrwlayer.c:3733
msgid "_Goto Center of Layer"
msgstr ""
-#: ../src/viktrwlayer.c:3344 ../src/viktrwlayer.c:6199
+#: ../src/viktrwlayer.c:3739 ../src/viktrwlayer.c:7335
msgid "Goto _Waypoint..."
msgstr ""
-#: ../src/viktrwlayer.c:3350
+#: ../src/viktrwlayer.c:3745
msgid "_Export Layer"
msgstr ""
-#: ../src/viktrwlayer.c:3356
+#: ../src/viktrwlayer.c:3751
msgid "Export as GPS_Point..."
msgstr ""
-#: ../src/viktrwlayer.c:3361
+#: ../src/viktrwlayer.c:3756
msgid "Export as GPS_Mapper..."
msgstr ""
-#: ../src/viktrwlayer.c:3366
+#: ../src/viktrwlayer.c:3761
msgid "Export as _GPX..."
msgstr ""
-#: ../src/viktrwlayer.c:3371
+#: ../src/viktrwlayer.c:3766
msgid "Export as _KML..."
msgstr ""
-#: ../src/viktrwlayer.c:3376
+#: ../src/viktrwlayer.c:3771
msgid "Open with External Program_1: "
msgstr ""
-#: ../src/viktrwlayer.c:3383
+#: ../src/viktrwlayer.c:3778
msgid "Open with External Program_2: "
msgstr ""
-#: ../src/viktrwlayer.c:3391 ../src/vikwindow.c:3145
+#: ../src/viktrwlayer.c:3786 ../src/vikwindow.c:3704
msgid "_New"
msgstr "_Nauja"
-#: ../src/viktrwlayer.c:3397
+#: ../src/viktrwlayer.c:3792
msgid "New _Waypoint..."
msgstr ""
-#: ../src/viktrwlayer.c:3403
+#: ../src/viktrwlayer.c:3798
msgid "New _Track"
msgstr ""
-#: ../src/viktrwlayer.c:3411
+#: ../src/viktrwlayer.c:3806
msgid "New _Route"
msgstr ""
-#: ../src/viktrwlayer.c:3420 ../src/viktrwlayer.c:6597
+#: ../src/viktrwlayer.c:3815 ../src/viktrwlayer.c:7938
msgid "Geotag _Images..."
msgstr ""
-#: ../src/viktrwlayer.c:3427
+#: ../src/viktrwlayer.c:3822
msgid "_Acquire"
msgstr ""
-#: ../src/viktrwlayer.c:3433 ../src/vikwindow.c:3150
+#: ../src/viktrwlayer.c:3828 ../src/vikwindow.c:3711
msgid "From _GPS..."
msgstr "Iš _GPS..."
-#: ../src/viktrwlayer.c:3439
-msgid "From Google _Directions..."
+#. FIXME: only add menu when at least a routing engine has support for Directions
+#: ../src/viktrwlayer.c:3834
+msgid "From _Directions..."
msgstr ""
-#: ../src/viktrwlayer.c:3446
+#: ../src/viktrwlayer.c:3840
msgid "From _OSM Traces..."
msgstr ""
-#: ../src/viktrwlayer.c:3451
+#: ../src/viktrwlayer.c:3845
msgid "From _My OSM Traces..."
msgstr ""
-#: ../src/viktrwlayer.c:3459 ../src/vikwindow.c:3166
+#: ../src/viktrwlayer.c:3853 ../src/vikwindow.c:3725
msgid "From _Wikipedia Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:3465
+#: ../src/viktrwlayer.c:3859
msgid "Within _Layer Bounds"
msgstr ""
-#: ../src/viktrwlayer.c:3471
+#: ../src/viktrwlayer.c:3865
msgid "Within _Current View"
msgstr ""
-#: ../src/viktrwlayer.c:3479
+#: ../src/viktrwlayer.c:3873
msgid "From Geo_caching..."
msgstr ""
-#: ../src/viktrwlayer.c:3486 ../src/vikwindow.c:3163
+#: ../src/viktrwlayer.c:3880 ../src/vikwindow.c:3722
msgid "From Geotagged _Images..."
msgstr ""
-#: ../src/viktrwlayer.c:3492
+#: ../src/viktrwlayer.c:3886
msgid "From _File..."
msgstr ""
-#: ../src/viktrwlayer.c:3498 ../src/viktrwlayer.c:6542
+#: ../src/viktrwlayer.c:3894 ../src/viktrwlayer.c:7883
msgid "_Upload"
msgstr ""
-#: ../src/viktrwlayer.c:3504
+#: ../src/viktrwlayer.c:3900
msgid "Upload to _GPS..."
msgstr ""
-#: ../src/viktrwlayer.c:3511 ../src/viktrwlayer.c:6570
+#: ../src/viktrwlayer.c:3907 ../src/viktrwlayer.c:7911
msgid "Upload to _OSM..."
msgstr ""
-#: ../src/viktrwlayer.c:3519
+#: ../src/viktrwlayer.c:3915
msgid "De_lete"
msgstr ""
-#: ../src/viktrwlayer.c:3525
+#: ../src/viktrwlayer.c:3921
msgid "Delete All _Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:3531
+#: ../src/viktrwlayer.c:3927
msgid "Delete Tracks _From Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:3537 ../src/viktrwlayer.c:6290
+#: ../src/viktrwlayer.c:3933 ../src/viktrwlayer.c:7485
msgid "Delete _All Routes"
msgstr ""
-#: ../src/viktrwlayer.c:3543 ../src/viktrwlayer.c:6296
+#: ../src/viktrwlayer.c:3939 ../src/viktrwlayer.c:7491
msgid "_Delete Routes From Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:3549
+#: ../src/viktrwlayer.c:3945
msgid "Delete All _Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:3555
+#: ../src/viktrwlayer.c:3951
msgid "Delete Waypoints From _Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:4128
+#: ../src/viktrwlayer.c:4574
#, c-format
msgid "Are you sure you want to delete all tracks in %s?"
msgstr ""
-#: ../src/viktrwlayer.c:4138
+#: ../src/viktrwlayer.c:4584
#, c-format
msgid "Are you sure you want to delete all routes in %s?"
msgstr ""
-#: ../src/viktrwlayer.c:4148
+#: ../src/viktrwlayer.c:4594
#, c-format
msgid "Are you sure you want to delete all waypoints in %s?"
msgstr ""
-#: ../src/viktrwlayer.c:4165
+#: ../src/viktrwlayer.c:4611
#, c-format
-msgid "Are you sure you want to delete the waypoint \"%s\""
+msgid "Are you sure you want to delete the waypoint \"%s\"?"
msgstr ""
-#: ../src/viktrwlayer.c:4178
+#: ../src/viktrwlayer.c:4624
#, c-format
-msgid "Are you sure you want to delete the track \"%s\""
+msgid "Are you sure you want to delete the track \"%s\"?"
msgstr ""
-#: ../src/viktrwlayer.c:4191
+#: ../src/viktrwlayer.c:4637
#, c-format
-msgid "Are you sure you want to delete the route \"%s\""
+msgid "Are you sure you want to delete the route \"%s\"?"
msgstr ""
-#: ../src/viktrwlayer.c:4351 ../src/viktrwlayer.c:4922
+#: ../src/viktrwlayer.c:4849 ../src/viktrwlayer.c:5677
msgid ""
"Converting a track to a route removes extra track data such as segments, "
"timestamps, etc...\n"
"Do you want to continue?"
msgstr ""
-#: ../src/viktrwlayer.c:4711
+#: ../src/viktrwlayer.c:4944
+msgid "No DEM layers available, thus no DEM values can be applied."
+msgstr ""
+
+#: ../src/viktrwlayer.c:4964 ../src/viktrwlayer.c:5005
+#, c-format
+msgid "%ld point adjusted"
+msgid_plural "%ld points adjusted"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/viktrwlayer.c:5049
+#, c-format
+msgid "%ld waypoint changed"
+msgid_plural "%ld waypoints changed"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/viktrwlayer.c:5233
+#, c-format
+msgid ""
+"Refining a track with many points (%d) is unlikely to yield sensible "
+"results. Do you want to Continue?"
+msgstr ""
+
+#. Select engine from dialog
+#: ../src/viktrwlayer.c:5241
+msgid "Refine Route with Routing Engine..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:5249
+msgid "Select routing engine"
+msgstr ""
+
+#: ../src/viktrwlayer.c:5467
msgid "Failed. No other tracks with timestamps in this layer found"
msgstr ""
-#: ../src/viktrwlayer.c:4713
+#: ../src/viktrwlayer.c:5469
msgid "Failed. No other tracks without timestamps in this layer found"
msgstr ""
-#: ../src/viktrwlayer.c:4732
+#: ../src/viktrwlayer.c:5488
msgid "Merge with..."
msgstr "Sujungti su..."
-#: ../src/viktrwlayer.c:4733
+#: ../src/viktrwlayer.c:5489
msgid "Select route to merge with"
msgstr ""
-#: ../src/viktrwlayer.c:4733
+#: ../src/viktrwlayer.c:5489
msgid "Select track to merge with"
msgstr "Pasirinkite kelią sujungimui su"
-#: ../src/viktrwlayer.c:4818 ../src/viktrwlayer.c:4895
+#: ../src/viktrwlayer.c:5573 ../src/viktrwlayer.c:5650
msgid "Append Route"
msgstr ""
-#: ../src/viktrwlayer.c:4818 ../src/viktrwlayer.c:4895
+#: ../src/viktrwlayer.c:5573 ../src/viktrwlayer.c:5650
msgid "Append Track"
msgstr ""
-#: ../src/viktrwlayer.c:4819
+#: ../src/viktrwlayer.c:5574
msgid "Select the route to append after the current route"
msgstr ""
-#: ../src/viktrwlayer.c:4820
+#: ../src/viktrwlayer.c:5575
msgid "Select the track to append after the current track"
msgstr ""
-#: ../src/viktrwlayer.c:4896
+#: ../src/viktrwlayer.c:5651
msgid "Select the track to append after the current route"
msgstr ""
-#: ../src/viktrwlayer.c:4897
+#: ../src/viktrwlayer.c:5652
msgid "Select the route to append after the current track"
msgstr ""
-#: ../src/viktrwlayer.c:4957
+#: ../src/viktrwlayer.c:5711
#, c-format
msgid "%d segment merged"
msgid_plural "%d segments merged"
msgstr[0] ""
msgstr[1] ""
-#: ../src/viktrwlayer.c:4973
+#: ../src/viktrwlayer.c:5727
msgid "Failed. This track does not have timestamp"
msgstr "Nepavyko. Šis kelias neturi laiko žymų"
-#: ../src/viktrwlayer.c:4985
+#: ../src/viktrwlayer.c:5739
msgid "Failed. No other track in this layer has timestamp"
msgstr "Nepavyko. Jokie kiti keliai neturi laiko žymų šiame sluoksnyje"
-#: ../src/viktrwlayer.c:4992
+#: ../src/viktrwlayer.c:5746
msgid "Merge Threshold..."
msgstr "Sujungti slenkstį..."
-#: ../src/viktrwlayer.c:4993
+#: ../src/viktrwlayer.c:5747
msgid "Merge when time between tracks less than:"
msgstr "Sujungti, jei tarp laiko ir kelių mažiau negu:"
-#: ../src/viktrwlayer.c:5128
+#: ../src/viktrwlayer.c:5889
msgid "Split Threshold..."
msgstr "Išskirti slengstį..."
-#: ../src/viktrwlayer.c:5129
+#: ../src/viktrwlayer.c:5890
msgid "Split when time between trackpoints exceeds:"
msgstr "Skaidyti, jei tarp laiko ir kelio taškų viršyjama:"
-#: ../src/viktrwlayer.c:5205
+#: ../src/viktrwlayer.c:5907
+#, c-format
+msgid ""
+"Can not split track due to trackpoints not ordered in time - such as at %s.\n"
+"\n"
+"Goto this trackpoint?"
+msgstr ""
+
+#: ../src/viktrwlayer.c:5976
msgid "Split Every Nth Point"
msgstr ""
-#: ../src/viktrwlayer.c:5206
+#: ../src/viktrwlayer.c:5977
msgid "Split on every Nth point:"
msgstr ""
-#: ../src/viktrwlayer.c:5312
+#: ../src/viktrwlayer.c:6087
msgid "Can not split track as it has no segments"
msgstr ""
-#: ../src/viktrwlayer.c:5340 ../src/viktrwlayer.c:5370
+#: ../src/viktrwlayer.c:6169 ../src/viktrwlayer.c:6199
#, c-format
msgid "Deleted %ld point"
msgid_plural "Deleted %ld points"
msgstr[0] ""
msgstr[1] ""
-#: ../src/viktrwlayer.c:5531
+#: ../src/viktrwlayer.c:6392
msgid "Internal Error in vik_trw_layer_uniquify_tracks"
msgstr ""
-#: ../src/viktrwlayer.c:5588 ../src/viktrwlayer.c:5635
-#: ../src/viktrwlayer.c:5814
+#: ../src/viktrwlayer.c:6496 ../src/viktrwlayer.c:6543
+#: ../src/viktrwlayer.c:6704
msgid ""
"Multiple entries with the same name exist. This method only works with "
"unique names. Force unique names now?"
msgstr ""
-#: ../src/viktrwlayer.c:5599
+#: ../src/viktrwlayer.c:6507
msgid "No tracks found"
msgstr ""
-#: ../src/viktrwlayer.c:5607 ../src/viktrwlayer.c:5654
-#: ../src/viktrwlayer.c:5834
+#: ../src/viktrwlayer.c:6515 ../src/viktrwlayer.c:6562
+#: ../src/viktrwlayer.c:6724
msgid "Delete Selection"
msgstr ""
-#: ../src/viktrwlayer.c:5608
+#: ../src/viktrwlayer.c:6516
msgid "Select tracks to delete"
msgstr ""
-#: ../src/viktrwlayer.c:5646
+#: ../src/viktrwlayer.c:6554
msgid "No routes found"
msgstr ""
-#: ../src/viktrwlayer.c:5655
+#: ../src/viktrwlayer.c:6563
msgid "Select routes to delete"
msgstr ""
-#: ../src/viktrwlayer.c:5761
+#: ../src/viktrwlayer.c:6669
msgid "Internal Error in vik_trw_layer_uniquify_waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:5824
+#: ../src/viktrwlayer.c:6714
msgid "No waypoints found"
msgstr ""
-#: ../src/viktrwlayer.c:5835
+#: ../src/viktrwlayer.c:6725
msgid "Select waypoints to delete"
msgstr ""
-#: ../src/viktrwlayer.c:5896
+#: ../src/viktrwlayer.c:7033
#, c-format
msgid ""
"A waypoint with the name \"%s\" already exists. Really rename to the same "
"name?"
msgstr ""
-#: ../src/viktrwlayer.c:5926
+#: ../src/viktrwlayer.c:7063
#, c-format
msgid ""
"A track with the name \"%s\" already exists. Really rename to the same name?"
msgstr ""
-#: ../src/viktrwlayer.c:5963
+#: ../src/viktrwlayer.c:7100
#, c-format
msgid ""
"A route with the name \"%s\" already exists. Really rename to the same name?"
msgstr ""
-#: ../src/viktrwlayer.c:6085 ../src/viktrwlayer.c:6337
+#: ../src/viktrwlayer.c:7221 ../src/viktrwlayer.c:7594
msgid "_Goto"
msgstr ""
-#: ../src/viktrwlayer.c:6104
+#: ../src/viktrwlayer.c:7240
msgid "_Visit Geocache Webpage"
msgstr ""
-#: ../src/viktrwlayer.c:6123
+#: ../src/viktrwlayer.c:7259
msgid "_Show Picture..."
msgstr ""
-#: ../src/viktrwlayer.c:6131
+#: ../src/viktrwlayer.c:7267
msgid "Update Geotag on _Image"
msgstr ""
-#: ../src/viktrwlayer.c:6137
+#: ../src/viktrwlayer.c:7273
msgid "_Update"
msgstr ""
-#: ../src/viktrwlayer.c:6142
+#: ../src/viktrwlayer.c:7278
msgid "Update and _Keep File Timestamp"
msgstr ""
-#: ../src/viktrwlayer.c:6153
+#: ../src/viktrwlayer.c:7289
msgid "Visit _Webpage"
msgstr ""
-#: ../src/viktrwlayer.c:6184
+#: ../src/viktrwlayer.c:7320
msgid "_New Waypoint..."
msgstr ""
-#: ../src/viktrwlayer.c:6193
+#: ../src/viktrwlayer.c:7329
msgid "_View All Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:6205
+#: ../src/viktrwlayer.c:7341
msgid "Delete _All Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:6211
+#: ../src/viktrwlayer.c:7347
msgid "_Delete Waypoints From Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:6233
+#: ../src/viktrwlayer.c:7359
+msgid "_Show All Waypoints"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7365
+msgid "_Hide All Waypoints"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7393
msgid "_View All Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:6239
+#: ../src/viktrwlayer.c:7399
msgid "_New Track"
msgstr ""
-#: ../src/viktrwlayer.c:6247
+#: ../src/viktrwlayer.c:7407
msgid "Delete _All Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:6253
+#: ../src/viktrwlayer.c:7413
msgid "_Delete Tracks From Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:6276
+#: ../src/viktrwlayer.c:7425
+msgid "_Show All Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7431
+msgid "_Hide All Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7442
+msgid "_List Tracks..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7471
msgid "_View All Routes"
msgstr ""
-#: ../src/viktrwlayer.c:6282
+#: ../src/viktrwlayer.c:7477
msgid "_New Route"
msgstr ""
-#: ../src/viktrwlayer.c:6327
+#: ../src/viktrwlayer.c:7503
+msgid "_Show All Routes"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7509
+msgid "_Hide All Routes"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7520
+msgid "_List Routes..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7579
msgid "_View Track"
msgstr ""
-#: ../src/viktrwlayer.c:6329
+#: ../src/viktrwlayer.c:7581
msgid "_View Route"
msgstr ""
-#: ../src/viktrwlayer.c:6343
+#: ../src/viktrwlayer.c:7600
msgid "_Startpoint"
msgstr ""
-#: ../src/viktrwlayer.c:6349
+#: ../src/viktrwlayer.c:7606
msgid "\"_Center\""
msgstr ""
-#: ../src/viktrwlayer.c:6355
+#: ../src/viktrwlayer.c:7612
msgid "_Endpoint"
msgstr ""
-#: ../src/viktrwlayer.c:6361
+#: ../src/viktrwlayer.c:7618
msgid "_Highest Altitude"
msgstr ""
-#: ../src/viktrwlayer.c:6367
+#: ../src/viktrwlayer.c:7624
msgid "_Lowest Altitude"
msgstr ""
-#: ../src/viktrwlayer.c:6375
+#: ../src/viktrwlayer.c:7632
msgid "_Maximum Speed"
msgstr ""
-#: ../src/viktrwlayer.c:6384
+#: ../src/viktrwlayer.c:7641
msgid "Co_mbine"
msgstr ""
-#: ../src/viktrwlayer.c:6392
+#: ../src/viktrwlayer.c:7649
msgid "_Merge By Time..."
msgstr ""
-#: ../src/viktrwlayer.c:6397
+#: ../src/viktrwlayer.c:7654
msgid "Merge _Segments"
msgstr ""
-#: ../src/viktrwlayer.c:6403
+#: ../src/viktrwlayer.c:7660
msgid "Merge _With Other Tracks..."
msgstr ""
-#: ../src/viktrwlayer.c:6409
+#: ../src/viktrwlayer.c:7666
msgid "_Append Track..."
msgstr ""
-#: ../src/viktrwlayer.c:6411
+#: ../src/viktrwlayer.c:7668
msgid "_Append Route..."
msgstr ""
-#: ../src/viktrwlayer.c:6417
+#: ../src/viktrwlayer.c:7674
msgid "Append _Route..."
msgstr ""
-#: ../src/viktrwlayer.c:6419
+#: ../src/viktrwlayer.c:7676
msgid "Append _Track..."
msgstr ""
-#: ../src/viktrwlayer.c:6426
+#: ../src/viktrwlayer.c:7683
msgid "_Split"
msgstr ""
-#: ../src/viktrwlayer.c:6434
+#: ../src/viktrwlayer.c:7691
msgid "_Split By Time..."
msgstr ""
#. ATM always enable this entry - don't want to have to analyse the track before displaying the menu - to keep the menu speedy
-#: ../src/viktrwlayer.c:6440
+#: ../src/viktrwlayer.c:7697
msgid "Split Se_gments"
msgstr ""
-#: ../src/viktrwlayer.c:6446
+#: ../src/viktrwlayer.c:7703
msgid "Split By _Number of Points..."
msgstr ""
-#: ../src/viktrwlayer.c:6451
+#: ../src/viktrwlayer.c:7708
msgid "Split at _Trackpoint"
msgstr ""
-#: ../src/viktrwlayer.c:6460
+#: ../src/viktrwlayer.c:7716
+msgid "_Insert Points"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7722
+msgid "Insert Point _Before Selected Point"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7729
+msgid "Insert Point _After Selected Point"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7738
msgid "Delete Poi_nts"
msgstr ""
-#: ../src/viktrwlayer.c:6466
+#: ../src/viktrwlayer.c:7744
+msgid "Delete _Selected Point"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7752
msgid "Delete Points With The Same _Position"
msgstr ""
-#: ../src/viktrwlayer.c:6471
+#: ../src/viktrwlayer.c:7757
msgid "Delete Points With The Same _Time"
msgstr ""
-#: ../src/viktrwlayer.c:6477
-msgid "_Reverse Track"
+#: ../src/viktrwlayer.c:7764 ../src/viktrwlayer.c:7964
+msgid "_Transform"
msgstr ""
-#: ../src/viktrwlayer.c:6479
-msgid "_Reverse Route"
+#: ../src/viktrwlayer.c:7772 ../src/viktrwlayer.c:7972
+msgid "_Apply DEM Data"
msgstr ""
-#: ../src/viktrwlayer.c:6488
-msgid "Down_load Maps Along Track..."
+#: ../src/viktrwlayer.c:7777 ../src/viktrwlayer.c:7977
+msgid "_Overwrite"
msgstr ""
-#: ../src/viktrwlayer.c:6490
-msgid "Down_load Maps Along Route..."
+#: ../src/viktrwlayer.c:7780 ../src/viktrwlayer.c:7980
+msgid "Overwrite any existing elevation values with DEM values"
msgstr ""
-#: ../src/viktrwlayer.c:6497
-msgid "_Apply DEM Data"
+#: ../src/viktrwlayer.c:7783 ../src/viktrwlayer.c:7983
+msgid "_Keep Existing"
msgstr ""
-#: ../src/viktrwlayer.c:6504
-msgid "_Export Track as GPX..."
+#: ../src/viktrwlayer.c:7786 ../src/viktrwlayer.c:7986
+msgid "Keep existing elevation values, only attempt for missing values"
msgstr ""
-#: ../src/viktrwlayer.c:6506
-msgid "_Export Route as GPX..."
+#: ../src/viktrwlayer.c:7791
+msgid "_Smooth Missing Elevation Data"
msgstr ""
-#: ../src/viktrwlayer.c:6513
-msgid "E_xtend Track End"
+#: ../src/viktrwlayer.c:7796
+msgid "_Interpolated"
msgstr ""
-#: ../src/viktrwlayer.c:6515
-msgid "E_xtend Route End"
+#: ../src/viktrwlayer.c:7799
+msgid ""
+"Interpolate between known elevation values to derive values for the missing "
+"elevations"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7802
+msgid "_Flat"
msgstr ""
-#: ../src/viktrwlayer.c:6522
+#: ../src/viktrwlayer.c:7805
+msgid "Set unknown elevation values to the last known value"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7809
msgid "C_onvert to a Route"
msgstr ""
-#: ../src/viktrwlayer.c:6524
+#: ../src/viktrwlayer.c:7811
msgid "C_onvert to a Track"
msgstr ""
-#: ../src/viktrwlayer.c:6532
+#: ../src/viktrwlayer.c:7819
+msgid "_Anonymize Times"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7822
+msgid "Shift timestamps to a relative offset from 1901-01-01"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7827
+msgid "_Reverse Track"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7829
+msgid "_Reverse Route"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7836
+msgid "Refine Route..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7846
+msgid "Down_load Maps Along Track..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7848
+msgid "Down_load Maps Along Route..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7856
+msgid "_Export Track as GPX..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7858
+msgid "_Export Route as GPX..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7865
+msgid "E_xtend Track End"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7867
+msgid "E_xtend Route End"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7874
msgid "Extend _Using Route Finder"
msgstr ""
-#: ../src/viktrwlayer.c:6548
+#: ../src/viktrwlayer.c:7889
msgid "_Upload to GPS..."
msgstr ""
-#: ../src/viktrwlayer.c:6559
+#: ../src/viktrwlayer.c:7900
msgid "_View Google Directions"
msgstr ""
-#: ../src/viktrwlayer.c:6579
+#: ../src/viktrwlayer.c:7920
msgid "Use with _Filter"
msgstr ""
-#: ../src/viktrwlayer.c:6612
+#: ../src/viktrwlayer.c:7953
msgid "_Edit Trackpoint"
msgstr ""
-#: ../src/viktrwlayer.c:7524
+#: ../src/viktrwlayer.c:9017
#, c-format
msgid " - Gain %dm:Loss %dm"
msgstr ""
-#: ../src/viktrwlayer.c:7526
+#: ../src/viktrwlayer.c:9019
#, c-format
msgid " - Gain %dft:Loss %dft"
msgstr ""
-#: ../src/viktrwlayer.c:7531
+#: ../src/viktrwlayer.c:9024
#, c-format
msgid " - Bearing %3.1f° - Step %s"
msgstr ""
-#: ../src/viktrwlayer.c:8124
+#: ../src/viktrwlayer.c:9628
#, c-format
msgid "Could not launch %s to open file."
msgstr ""
-#: ../src/viktrwlayer.c:8205
+#: ../src/viktrwlayer.c:9709
#, c-format
msgid "Creating %d Image Thumbnails..."
msgstr "Sukūriamos %d atvaizdo miniatiūros..."
-#: ../src/viktrwlayer.c:8524
+#: ../src/viktrwlayer.c:10106
msgid "No map layer in use. Create one first"
msgstr "Nėra naudojamų žemėlapio sluoksnių. Sukurkite."
-#: ../src/viktrwlayer_propwin.c:898 ../src/viktrwlayer_propwin.c:1155
+#: ../src/viktrwlayer.c:10225
+#, c-format
+msgid "%s: Track List"
+msgstr ""
+
+#: ../src/viktrwlayer.c:10227
+#, c-format
+msgid "%s: Route List"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:828 ../src/viktrwlayer_propwin.c:1085
#, c-format
msgid "%.1f kph"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:901 ../src/viktrwlayer_propwin.c:1158
+#: ../src/viktrwlayer_propwin.c:831 ../src/viktrwlayer_propwin.c:1088
+#: ../src/viktrwlayer_analysis.c:290
#, c-format
msgid "%.1f mph"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:904 ../src/viktrwlayer_propwin.c:1161
+#: ../src/viktrwlayer_propwin.c:834 ../src/viktrwlayer_propwin.c:1091
#, c-format
msgid "%.1f knots"
msgstr ""
#. VIK_UNITS_SPEED_METRES_PER_SECOND:
-#: ../src/viktrwlayer_propwin.c:908 ../src/viktrwlayer_propwin.c:1165
+#: ../src/viktrwlayer_propwin.c:838 ../src/viktrwlayer_propwin.c:1095
#, c-format
msgid "%.1f m/s"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:1745
+#: ../src/viktrwlayer_propwin.c:1662 ../src/viktrwlayer_analysis.c:267
#, c-format
msgid "%.1f miles"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:1747
+#. VIK_UNITS_DISTANCE_KILOMETRES
+#: ../src/viktrwlayer_propwin.c:1664 ../src/viktrwlayer_analysis.c:271
#, c-format
msgid "%.1f km"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2681
+#: ../src/viktrwlayer_propwin.c:2582
msgid "Failed spliting track. Track unchanged"
msgstr "Nepavyko atskirti kelio. Kelias liko nepakeistas."
-#: ../src/viktrwlayer_propwin.c:2779 ../src/viktrwlayer_propwin.c:3178
+#: ../src/viktrwlayer_propwin.c:2724 ../src/viktrwlayer_propwin.c:3140
#, c-format
msgid "%s - Track Properties"
msgstr "%s - Kelio ypatybės"
-#: ../src/viktrwlayer_propwin.c:2784
+#: ../src/viktrwlayer_propwin.c:2729
msgid "Split at _Marker"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2785
+#: ../src/viktrwlayer_propwin.c:2730
msgid "Split _Segments"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2786
+#: ../src/viktrwlayer_propwin.c:2731
msgid "_Reverse"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2787
+#: ../src/viktrwlayer_propwin.c:2732
msgid "_Delete Dupl."
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2813
+#: ../src/viktrwlayer_propwin.c:2757
msgid "<b>Comment:</b>"
msgstr "<b>Komentaras:</b>"
-#: ../src/viktrwlayer_propwin.c:2814
+#: ../src/viktrwlayer_propwin.c:2758
msgid "<b>Description:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2815
+#: ../src/viktrwlayer_propwin.c:2759
+msgid "<b>Color:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2760
+msgid "<b>Draw Name:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2761
+msgid "<b>Distance Labels:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2764
msgid "<b>Track Length:</b>"
msgstr "<b>Kelio ilgis:</b>"
-#: ../src/viktrwlayer_propwin.c:2816
+#: ../src/viktrwlayer_propwin.c:2765
msgid "<b>Trackpoints:</b>"
msgstr "<b>Kelio taškai:</b>"
-#: ../src/viktrwlayer_propwin.c:2817
+#: ../src/viktrwlayer_propwin.c:2766
msgid "<b>Segments:</b>"
msgstr "<b>Atkarpos:</b>"
-#: ../src/viktrwlayer_propwin.c:2818
+#: ../src/viktrwlayer_propwin.c:2767
msgid "<b>Duplicate Points:</b>"
msgstr "<b>Sudubliuoti taškai:</b>"
-#: ../src/viktrwlayer_propwin.c:2819
+#: ../src/viktrwlayer_propwin.c:2768
msgid "<b>Max Speed:</b>"
msgstr "<b>Didžiausias greitis:</b>"
-#: ../src/viktrwlayer_propwin.c:2820
+#: ../src/viktrwlayer_propwin.c:2769
msgid "<b>Avg. Speed:</b>"
msgstr "<b>Vidutinis greitis:</b>"
-#: ../src/viktrwlayer_propwin.c:2821
+#: ../src/viktrwlayer_propwin.c:2770
msgid "<b>Moving Avg. Speed:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2822
+#: ../src/viktrwlayer_propwin.c:2771
msgid "<b>Avg. Dist. Between TPs:</b>"
msgstr "<b>Vid. nuot. tarp :</b>"
-#: ../src/viktrwlayer_propwin.c:2823
+#: ../src/viktrwlayer_propwin.c:2772
msgid "<b>Elevation Range:</b>"
msgstr "<b>Aukščio intervalas:</b>"
-#: ../src/viktrwlayer_propwin.c:2824
+#: ../src/viktrwlayer_propwin.c:2773
msgid "<b>Total Elevation Gain/Loss:</b>"
msgstr "<b>Visas aukščio intervalas:</b>"
-#: ../src/viktrwlayer_propwin.c:2825
+#: ../src/viktrwlayer_propwin.c:2774
msgid "<b>Start:</b>"
msgstr "<b>Pradžia:</b>"
-#: ../src/viktrwlayer_propwin.c:2826
+#: ../src/viktrwlayer_propwin.c:2775
msgid "<b>End:</b>"
msgstr "<b>Pabaiga:</b>"
-#: ../src/viktrwlayer_propwin.c:2827
+#: ../src/viktrwlayer_propwin.c:2776
msgid "<b>Duration:</b>"
msgstr "<b>Trukmė:</b>"
-#: ../src/viktrwlayer_propwin.c:2828
-msgid "<b>Color:</b>"
+#: ../src/viktrwlayer_propwin.c:2797
+msgid "No"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2798
+msgid "Centre"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2799
+msgid "Start only"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2800
+msgid "End only"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2801
+msgid "Start and End"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2802
+msgid "Centre, Start and End"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2814
+msgid "Maximum number of distance labels to be shown"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2877 ../src/viktrwlayer_propwin.c:2901
-#: ../src/viktrwlayer_propwin.c:2929 ../src/viktrwlayer_propwin.c:2966
-#: ../src/viktrwlayer_propwin.c:2984 ../src/viktrwlayer_propwin.c:3034
-#: ../src/viktrwlayer_propwin.c:3035 ../src/viktrwlayer_propwin.c:3036
-#: ../src/viktrwlayer_propwin.c:3062 ../src/viktrwlayer_propwin.c:3063
+#: ../src/viktrwlayer_propwin.c:2818
+msgid "Properties"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2856 ../src/viktrwlayer_propwin.c:2880
+#: ../src/viktrwlayer_propwin.c:2908 ../src/viktrwlayer_propwin.c:2945
+#: ../src/viktrwlayer_propwin.c:2963 ../src/viktrwlayer_propwin.c:3009
+#: ../src/viktrwlayer_propwin.c:3010 ../src/viktrwlayer_propwin.c:3011
+#: ../src/viktrwlayer_propwin.c:3020 ../src/viktrwlayer_propwin.c:3021
+#: ../src/viktrwlayer_propwin.c:3036 ../src/viktrwlayer_propwin.c:3037
+#: ../src/viktrwlayer_propwin.c:3050 ../src/viktrwlayer_propwin.c:3051
+#: ../src/viktrwlayer_propwin.c:3064 ../src/viktrwlayer_propwin.c:3065
#: ../src/viktrwlayer_propwin.c:3078 ../src/viktrwlayer_propwin.c:3079
#: ../src/viktrwlayer_propwin.c:3092 ../src/viktrwlayer_propwin.c:3093
-#: ../src/viktrwlayer_propwin.c:3106 ../src/viktrwlayer_propwin.c:3107
-#: ../src/viktrwlayer_propwin.c:3120 ../src/viktrwlayer_propwin.c:3121
-#: ../src/viktrwlayer_propwin.c:3134 ../src/viktrwlayer_propwin.c:3135
+#: ../src/viktrwlayer_analysis.c:257
#, c-format
msgid "No Data"
msgstr "Nėra duomenų"
-#: ../src/viktrwlayer_propwin.c:3031
+#: ../src/viktrwlayer_propwin.c:3006
#, c-format
msgid "%d minutes"
msgstr "%d minučių"
-#: ../src/viktrwlayer_propwin.c:3058
+#: ../src/viktrwlayer_propwin.c:3016 ../src/viktrwlayer_analysis.c:515
msgid "Statistics"
msgstr "Statistika"
-#: ../src/viktrwlayer_propwin.c:3064
+#: ../src/viktrwlayer_propwin.c:3022
msgid "Show D_EM"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3065 ../src/viktrwlayer_propwin.c:3080
-#: ../src/viktrwlayer_propwin.c:3094 ../src/viktrwlayer_propwin.c:3136
+#: ../src/viktrwlayer_propwin.c:3023 ../src/viktrwlayer_propwin.c:3038
+#: ../src/viktrwlayer_propwin.c:3052 ../src/viktrwlayer_propwin.c:3094
msgid "Show _GPS Speed"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3067 ../src/viktrwlayer_propwin.c:3082
-#: ../src/viktrwlayer_propwin.c:3110 ../src/viktrwlayer_propwin.c:3138
+#: ../src/viktrwlayer_propwin.c:3025 ../src/viktrwlayer_propwin.c:3040
+#: ../src/viktrwlayer_propwin.c:3068 ../src/viktrwlayer_propwin.c:3096
msgid "<b>Track Distance:</b>"
msgstr "<b>Kelio nuotolis:</b>"
-#: ../src/viktrwlayer_propwin.c:3068 ../src/viktrwlayer_propwin.c:3125
+#: ../src/viktrwlayer_propwin.c:3026 ../src/viktrwlayer_propwin.c:3083
msgid "<b>Track Height:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3073
+#: ../src/viktrwlayer_propwin.c:3031
msgid "Elevation-distance"
msgstr "Aukštis-nuotolis"
-#: ../src/viktrwlayer_propwin.c:3083
+#: ../src/viktrwlayer_propwin.c:3041
msgid "<b>Track Gradient:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3087
+#: ../src/viktrwlayer_propwin.c:3045
msgid "Gradient-distance"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3096 ../src/viktrwlayer_propwin.c:3111
-#: ../src/viktrwlayer_propwin.c:3124
+#: ../src/viktrwlayer_propwin.c:3054 ../src/viktrwlayer_propwin.c:3069
+#: ../src/viktrwlayer_propwin.c:3082
msgid "<b>Track Time:</b>"
msgstr "<b>Kelio laikas:</b>"
-#: ../src/viktrwlayer_propwin.c:3097 ../src/viktrwlayer_propwin.c:3139
+#: ../src/viktrwlayer_propwin.c:3055 ../src/viktrwlayer_propwin.c:3097
msgid "<b>Track Speed:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3101
+#: ../src/viktrwlayer_propwin.c:3059
msgid "Speed-time"
msgstr "Greitis-laikas"
-#: ../src/viktrwlayer_propwin.c:3108 ../src/viktrwlayer_propwin.c:3122
+#: ../src/viktrwlayer_propwin.c:3066 ../src/viktrwlayer_propwin.c:3080
msgid "Show S_peed"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3115
+#: ../src/viktrwlayer_propwin.c:3073
msgid "Distance-time"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3129
+#: ../src/viktrwlayer_propwin.c:3087
msgid "Elevation-time"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3143
+#: ../src/viktrwlayer_propwin.c:3101
msgid "Speed-distance"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:118
+#: ../src/viktrwlayer_tpwin.c:119
msgid "<b>Part of Track:</b>"
msgstr "<b>Kelio dalis:</b>"
-#: ../src/viktrwlayer_tpwin.c:119
+#: ../src/viktrwlayer_tpwin.c:120
msgid "<b>Latitude:</b>"
msgstr "<b>Platuma:</b>"
-#: ../src/viktrwlayer_tpwin.c:120
+#: ../src/viktrwlayer_tpwin.c:121
msgid "<b>Longitude:</b>"
msgstr "<b>Ilguma:</b>"
-#: ../src/viktrwlayer_tpwin.c:121
+#: ../src/viktrwlayer_tpwin.c:122
msgid "<b>Altitude:</b>"
msgstr "<b>Aukštis:</b>"
-#: ../src/viktrwlayer_tpwin.c:122
+#: ../src/viktrwlayer_tpwin.c:123
+msgid "<b>Course:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_tpwin.c:124
msgid "<b>Timestamp:</b>"
msgstr "Laiko žyma:"
-#: ../src/viktrwlayer_tpwin.c:123
+#: ../src/viktrwlayer_tpwin.c:125
msgid "<b>Time:</b>"
msgstr "<b>Laikas:</b>"
-#: ../src/viktrwlayer_tpwin.c:124
+#: ../src/viktrwlayer_tpwin.c:126
msgid "<b>Distance Difference:</b>"
msgstr "<b>Nuotolio skirtumas:</b>"
-#: ../src/viktrwlayer_tpwin.c:125
+#: ../src/viktrwlayer_tpwin.c:127
msgid "<b>Time Difference:</b>"
msgstr "<b>Laiko skirtumas:</b>"
-#: ../src/viktrwlayer_tpwin.c:126
+#: ../src/viktrwlayer_tpwin.c:128
msgid "<b>\"Speed\" Between:</b>"
msgstr "<b>\"Greitis\" tarp:</b>"
-#: ../src/viktrwlayer_tpwin.c:127
+#: ../src/viktrwlayer_tpwin.c:129
+msgid "<b>Speed:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_tpwin.c:130
msgid "<b>VDOP:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:128
+#: ../src/viktrwlayer_tpwin.c:131
msgid "<b>HDOP:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:129
+#: ../src/viktrwlayer_tpwin.c:132
msgid "<b>PDOP:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:130
+#: ../src/viktrwlayer_tpwin.c:133
msgid "<b>SAT/FIX:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:139
+#: ../src/viktrwlayer_tpwin.c:141
msgid "Trackpoint"
msgstr "Kelio taškas"
-#: ../src/viktrwlayer_tpwin.c:142
+#: ../src/viktrwlayer_tpwin.c:144
msgid "_Insert After"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:144
+#: ../src/viktrwlayer_tpwin.c:146
msgid "Split Here"
msgstr "Skaidyti čia"
-#: ../src/viktrwlayer_geotag.c:446
+#.
+#. item = gtk_image_menu_item_new_with_mnemonic ( _("_Select") );
+#. gtk_image_menu_item_set_image ( (GtkImageMenuItem*)item, gtk_image_new_from_stock (GTK_STOCK_FIND, GTK_ICON_SIZE_MENU) );
+#. g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(trw_layer_track_select), values );
+#. gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
+#. gtk_widget_show ( item );
+#.
+#. ATM view auto selects, so don't bother with separate select menu entry
+#: ../src/viktrwlayer_tracklist.c:231 ../src/vikwindow.c:3695
+msgid "_View"
+msgstr "_Rodymas"
+
+#. Insert column for the layer name when viewing multi layers
+#: ../src/viktrwlayer_tracklist.c:514
+msgid "Layer"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:526
+msgid "Date"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:529
+msgid "Visible"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:536
+msgid ""
+"Distance\n"
+"(miles)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:539
+msgid ""
+"Distance\n"
+"(km)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:545
+msgid ""
+"Length\n"
+"(minutes)"
+msgstr ""
+
+#. VIK_UNITS_SPEED_KILOMETRES_PER_HOUR:
+#: ../src/viktrwlayer_tracklist.c:549 ../src/vikutils.c:72
+msgid "km/h"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:550 ../src/vikutils.c:62
+msgid "mph"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:551 ../src/vikutils.c:68
+msgid "knots"
+msgstr ""
+
+#. VIK_UNITS_SPEED_METRES_PER_SECOND:
+#: ../src/viktrwlayer_tracklist.c:553 ../src/vikutils.c:65
+msgid "m/s"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:556
+#, c-format
+msgid ""
+"Av. Speed\n"
+"(%s)"
+msgstr ""
+
+#. Apply own formatting of the data
+#: ../src/viktrwlayer_tracklist.c:561
+#, c-format
+msgid ""
+"Max Speed\n"
+"(%s)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:569
+msgid ""
+"Max Height\n"
+"(Feet)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:571
+msgid ""
+"Max Height\n"
+"(Metres)"
+msgstr ""
+
+#: ../src/viktrwlayer_geotag.c:481
#, c-format
msgid "Geotagging %d Images..."
msgstr ""
-#: ../src/viktrwlayer_geotag.c:510
+#: ../src/viktrwlayer_geotag.c:545
msgid "Geotag Images"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:516
+#: ../src/viktrwlayer_geotag.c:551
msgid "Images"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:520
+#: ../src/viktrwlayer_geotag.c:555
msgid "Overwrite Existing Waypoints:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:523
+#: ../src/viktrwlayer_geotag.c:558
msgid "Overwrite Existing GPS Information:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:525
+#: ../src/viktrwlayer_geotag.c:560
msgid "Keep File Modification Timestamp:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:555
+#: ../src/viktrwlayer_geotag.c:592
msgid "Create Waypoints:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:563
+#: ../src/viktrwlayer_geotag.c:600
msgid "Write EXIF:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:575
+#: ../src/viktrwlayer_geotag.c:612
msgid "Interpolate Between Track Segments:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:579
+#: ../src/viktrwlayer_geotag.c:616
msgid "Image Time Offset (Seconds):"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:581
+#: ../src/viktrwlayer_geotag.c:618
msgid ""
"The number of seconds to ADD to the photos time to make it match the GPS "
"data. Calculate this with (GPS - Photo). Can be negative or positive. Useful "
"to adjust times when a camera's timestamp was incorrect."
msgstr ""
-#: ../src/viktrwlayer_geotag.c:584
+#: ../src/viktrwlayer_geotag.c:621
msgid "Image Timezone:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:586
+#: ../src/viktrwlayer_geotag.c:623
msgid ""
"The timezone that was used when the images were created. For example, if a "
"camera is set to AWST or +8:00 hours. Enter +8:00 here so that the correct "
"adjustment to the images' time can be made. GPS data is always in UTC."
msgstr ""
-#: ../src/viktrwlayer_geotag.c:590
+#: ../src/viktrwlayer_geotag.c:627
#, c-format
msgid "Using track: %s"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:592
+#: ../src/viktrwlayer_geotag.c:629
#, c-format
msgid "Using all tracks in: %s"
msgstr ""
-#: ../src/vikstatus.c:105
+#: ../src/viktrwlayer_analysis.c:193
+msgid "Number of Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:194
+msgid "Date Range"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:195
+msgid "Total Length"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:196
+msgid "Average Length"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:197
+msgid "Max Speed"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:198
+msgid "Avg. Speed"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:199
+msgid "Minimum Altitude"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:200
+msgid "Maximum Altitude"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:201
+msgid "Total Elevation Gain/Loss"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:202
+msgid "Avg. Elevation Gain/Loss"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:203
+msgid "Total Duration"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:204
+msgid "Avg. Duration"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:278
+#, c-format
+msgid "%.2f miles"
+msgstr ""
+
+#. VIK_UNITS_DISTANCE_KILOMETRES
+#: ../src/viktrwlayer_analysis.c:282
+#, c-format
+msgid "%.2f km"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:297
+#, c-format
+msgid "%.2f m/s"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:306
+#, c-format
+msgid "%.2f knots\n"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:309
+#, c-format
+msgid "%.2f knots"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:316 ../src/viktrwlayer_analysis.c:319
+#, c-format
+msgid "%.2f km/h"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:330 ../src/viktrwlayer_analysis.c:336
+#, c-format
+msgid "%d feet"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:341 ../src/viktrwlayer_analysis.c:343
+#, c-format
+msgid "%d feet / %d feet"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:348 ../src/viktrwlayer_analysis.c:354
+#, c-format
+msgid "%d m"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:359 ../src/viktrwlayer_analysis.c:361
+#, c-format
+msgid "%d m / %d m"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:373
+#, c-format
+msgid "%d:%02d:%02d days:hrs:mins"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:380
+#, c-format
+msgid "%d:%02d hrs:mins"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:550
+msgid "Include Invisible Items"
+msgstr ""
+
+#: ../src/vikstatus.c:107
+msgid "Current number of background tasks. Click to see the background jobs."
+msgstr ""
+
+#: ../src/vikstatus.c:113
msgid "Current zoom level. Click to select a new one."
msgstr ""
-#: ../src/vikwaypoint.c:34
+#: ../src/vikutils.c:80
+msgid "GPSD"
+msgstr ""
+
+#. GPS Preamble
+#: ../src/vikutils.c:81
+msgid "Trkpt"
+msgstr ""
+
+#: ../src/vikutils.c:121
+#, c-format
+msgid "%sSpeed%s %.1f%s"
+msgstr ""
+
+#: ../src/vikutils.c:130
+#, c-format
+msgid "%sAlt %dfeet"
+msgstr ""
+
+#. VIK_UNITS_HEIGHT_METRES:
+#: ../src/vikutils.c:134
+#, c-format
+msgid "%sAlt %dm"
+msgstr ""
+
+#: ../src/vikutils.c:142
+#, c-format
+msgid "%sCourse %03d°"
+msgstr ""
+
+#: ../src/vikutils.c:155
+msgid "yards"
+msgstr ""
+
+#. VIK_UNITS_DISTANCE_KILOMETRES:
+#: ../src/vikutils.c:159
+msgid "m"
+msgstr ""
+
+#: ../src/vikutils.c:163
+#, c-format
+msgid "%sDistance diff %d%s"
+msgstr ""
+
+#: ../src/vikutils.c:179
+#, c-format
+msgid "%sTime %s"
+msgstr ""
+
+#: ../src/vikutils.c:187
+#, c-format
+msgid "%sTime diff %lds"
+msgstr ""
+
+#: ../src/vikutils.c:193
+#, c-format
+msgid "%sNo. of Sats %d"
+msgstr ""
+
+#: ../src/vikutils.c:213
+#, c-format
+msgid "%sDistance along %.2f%s"
+msgstr ""
+
+#. Name of track
+#: ../src/vikutils.c:232
+#, c-format
+msgid "%sTrack: %s"
+msgstr ""
+
+#: ../src/vikwaypoint.c:36
msgid "Waypoint"
msgstr ""
#. TODO get rid of this as this is unnecessary duplication...
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Pan"
msgstr "Perkėlimas"
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Zoom"
msgstr "Mastelis"
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Ruler"
msgstr "Liniuotė"
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Select"
msgstr ""
+#: ../src/vikwindow.c:381
+msgid "Location lookup aborted"
+msgstr ""
+
+#: ../src/vikwindow.c:401
+#, c-format
+msgid "Location found: %s"
+msgstr ""
+
+#: ../src/vikwindow.c:410
+msgid "Unable to determine location"
+msgstr ""
+
+#: ../src/vikwindow.c:434
+msgid "Default Map"
+msgstr ""
+
+#: ../src/vikwindow.c:444
+msgid "Trying to determine location..."
+msgstr ""
+
+#: ../src/vikwindow.c:447
+msgid "Determining location"
+msgstr ""
+
#. Create tooltip
-#: ../src/vikwindow.c:440
+#: ../src/vikwindow.c:605
msgid "Select zoom level"
msgstr ""
-#: ../src/vikwindow.c:645
+#: ../src/vikwindow.c:923
#, c-format
msgid ""
"Do you want to save the changes you made to the document \"%s\"?\n"
@@ -3190,170 +4032,229 @@ msgstr ""
"\n"
"Jūsų pakeitimai dings, jeigu jų neišsaugosite."
-#: ../src/vikwindow.c:649
+#: ../src/vikwindow.c:927
msgid "Don't Save"
msgstr "Neišsaugoti"
-#: ../src/vikwindow.c:696
+#: ../src/vikwindow.c:1005
msgid "mpp"
msgstr "mpp"
-#: ../src/vikwindow.c:696
+#: ../src/vikwindow.c:1005
msgid "pixelfact"
msgstr "Tikrasis taškas"
-#: ../src/vikwindow.c:861
+#: ../src/vikwindow.c:1169
#, c-format
msgid "%s %s %dm"
msgstr "%s %s %dm"
-#: ../src/vikwindow.c:863
+#: ../src/vikwindow.c:1171
#, c-format
msgid "%s %s %dft"
msgstr ""
-#: ../src/vikwindow.c:866
+#: ../src/vikwindow.c:1174
#, c-format
msgid "%s %s"
msgstr "%s %s"
#. NB Ctrl+Shift+R is used for Refresh (deemed more important), so use 'U' instead
-#: ../src/vikwindow.c:1254
+#: ../src/vikwindow.c:1562
msgid "_Ruler"
msgstr "_Liniuotė"
-#: ../src/vikwindow.c:1254
+#: ../src/vikwindow.c:1562
msgid "Ruler Tool"
msgstr "Matavimo įrankis"
-#: ../src/vikwindow.c:1502 ../src/vikwindow.c:3138
+#: ../src/vikwindow.c:1810 ../src/vikwindow.c:3697
msgid "_Zoom"
msgstr "_Mastelis"
-#: ../src/vikwindow.c:1502
+#: ../src/vikwindow.c:1810
msgid "Zoom Tool"
msgstr "Mastelio įrankis"
-#: ../src/vikwindow.c:1547 ../src/vikwindow.c:3139
+#: ../src/vikwindow.c:1855 ../src/vikwindow.c:3698
msgid "_Pan"
msgstr "_Perkėlimas"
-#: ../src/vikwindow.c:1547
+#: ../src/vikwindow.c:1855
msgid "Pan Tool"
msgstr "Perkėlimo įrankis"
-#: ../src/vikwindow.c:1664
+#: ../src/vikwindow.c:1972
msgid "_Select"
msgstr ""
-#: ../src/vikwindow.c:1664
+#: ../src/vikwindow.c:1972
msgid "Select Tool"
msgstr ""
-#: ../src/vikwindow.c:1809
+#: ../src/vikwindow.c:2123
msgid "You must select a layer to show its properties."
msgstr "Turite pasirinkti sluoksnį, kad pamatytumėte jo ypatybes."
#. No error to show, so unlikely this will get called
-#: ../src/vikwindow.c:1824
+#: ../src/vikwindow.c:2137
msgid "The help system is not available."
msgstr ""
#. Main error path
-#: ../src/vikwindow.c:1827
+#: ../src/vikwindow.c:2140
#, c-format
msgid ""
"Help is not available because: %s.\n"
"Ensure a Mime Type ghelp handler program is installed (e.g. yelp)."
msgstr ""
-#: ../src/vikwindow.c:1850
+#: ../src/vikwindow.c:2160
msgid "You must select a layer to delete."
msgstr "Turite pasirinkti sluoksnį, kad ištrintumėte."
-#: ../src/vikwindow.c:2087
+#: ../src/vikwindow.c:2396
msgid "Untitled"
msgstr "Be pavadinimo"
-#: ../src/vikwindow.c:2194
+#: ../src/vikwindow.c:2503
#, c-format
msgid "Unable to add '%s' to the list of recently used documents"
msgstr ""
-#: ../src/vikwindow.c:2208
+#: ../src/vikwindow.c:2540
msgid "The file you requested could not be opened."
msgstr "Užklaustos failo neįmanoma atverti."
-#: ../src/vikwindow.c:2211
+#: ../src/vikwindow.c:2543
msgid ""
"GPSBabel is required to load files of this type or GPSBabel encountered "
"problems."
msgstr ""
-#: ../src/vikwindow.c:2214
+#: ../src/vikwindow.c:2546
#, c-format
msgid "Unable to load malformed GPX file %s"
msgstr ""
-#: ../src/vikwindow.c:2217
+#: ../src/vikwindow.c:2549
#, c-format
msgid "Unsupported file type for %s"
msgstr ""
#. Since we can process .vik files with issues just show a warning in the status bar
#. Not that a user can do much about it... or tells them what this issue is yet...
-#: ../src/vikwindow.c:2223
+#: ../src/vikwindow.c:2555
#, c-format
msgid "WARNING: issues encountered loading %s"
msgstr ""
-#: ../src/vikwindow.c:2278
+#: ../src/vikwindow.c:2613
msgid "Please select a GPS data file to open. "
msgstr "Pasirinkite atverimui GPS duomenų failą. "
-#: ../src/vikwindow.c:2288
+#: ../src/vikwindow.c:2629
msgid "Geocaching"
msgstr ""
-#: ../src/vikwindow.c:2294
+#: ../src/vikwindow.c:2635
msgid "Google Earth"
msgstr ""
-#: ../src/vikwindow.c:2299
+#: ../src/vikwindow.c:2640
msgid "GPX"
msgstr ""
-#: ../src/vikwindow.c:2304 ../src/vikwindow.c:2387
+#: ../src/vikwindow.c:2645 ../src/vikwindow.c:2734
#: ../src/viking.desktop.in.h:1
msgid "Viking"
msgstr "Viking"
-#: ../src/vikwindow.c:2374
+#: ../src/vikwindow.c:2715
msgid "Save as Viking File."
msgstr "Išsaugoti kaip Viking failą"
+#: ../src/vikwindow.c:2841
+msgid "Exporting to file: "
+msgstr ""
+
+#. Confirm what happened.
+#: ../src/vikwindow.c:2858
+#, c-format
+msgid "Exported files: %d"
+msgstr ""
+
+#: ../src/vikwindow.c:2870
+msgid "Nothing to Export!"
+msgstr ""
+
+#: ../src/vikwindow.c:2874
+msgid "Export to directory"
+msgstr ""
+
+#: ../src/vikwindow.c:2896
+msgid "Could not convert all files"
+msgstr ""
+
+#: ../src/vikwindow.c:2932
+#, c-format
+msgid "%d bytes"
+msgstr ""
+
+#: ../src/vikwindow.c:2934
+#, c-format
+msgid "%3.1f kB"
+msgstr ""
+
+#: ../src/vikwindow.c:2936
+#, c-format
+msgid "%3.1f MB"
+msgstr ""
+
+#: ../src/vikwindow.c:2937
+#, c-format
+msgid ""
+"%s\n"
+"\n"
+"%s\n"
+"\n"
+"%s"
+msgstr ""
+
+#: ../src/vikwindow.c:2942
+msgid "File not accessible"
+msgstr ""
+
+#: ../src/vikwindow.c:2945
+msgid "No Viking File"
+msgstr ""
+
+#: ../src/vikwindow.c:3035
+msgid "This layer has no configurable properties."
+msgstr ""
+
#. Try harder...
-#: ../src/vikwindow.c:2619 ../src/vikwindow.c:2625
+#: ../src/vikwindow.c:3169 ../src/vikwindow.c:3175
msgid "Generating image file..."
msgstr ""
-#: ../src/vikwindow.c:2647
+#: ../src/vikwindow.c:3197
msgid ""
"Failed to generate internal image.\n"
"\n"
"Try creating a smaller image."
msgstr ""
-#: ../src/vikwindow.c:2655
+#: ../src/vikwindow.c:3205
msgid "Failed to generate image file."
msgstr ""
#. Success
-#: ../src/vikwindow.c:2660
+#: ../src/vikwindow.c:3210
msgid "Image file generated."
msgstr ""
-#: ../src/vikwindow.c:2764
+#: ../src/vikwindow.c:3314
msgid ""
"Viewable region outside allowable pixel size bounds for image. Clipping "
"width/height values."
@@ -3361,455 +4262,480 @@ msgstr ""
"Matoma sritis už leidžiamo taško nustato atvaizdo ribas. Kerpamas "
"pločio/aukščio vertės."
-#: ../src/vikwindow.c:2789
+#: ../src/vikwindow.c:3339
#, c-format
msgid "Total area: %ldm x %ldm (%.3f sq. km)"
msgstr "Visas plotas: %ldm x %ldm (%.3f kv. km)"
-#: ../src/vikwindow.c:2792
+#: ../src/vikwindow.c:3342
#, c-format
msgid "Total area: %ldm x %ldm (%.3f sq. miles)"
msgstr ""
-#: ../src/vikwindow.c:2813
+#: ../src/vikwindow.c:3363
msgid "Save Image"
msgstr "Išsaugoti atvaizdą"
-#: ../src/vikwindow.c:2834
+#: ../src/vikwindow.c:3393
msgid "PNG"
msgstr ""
-#: ../src/vikwindow.c:2857
+#: ../src/vikwindow.c:3416
msgid "You must be in UTM mode to use this feature"
msgstr "Jūs privalote būti UTM režime, kad galėtumėte naudoti šias ypatybes."
-#: ../src/vikwindow.c:2862
+#: ../src/vikwindow.c:3421
msgid "Choose a directory to hold images"
msgstr "Pasirinkite aplankalą atvaizdams saugoti"
#. todo: default for answers inside VikWindow or static (thruout instance)
-#: ../src/vikwindow.c:2883
+#: ../src/vikwindow.c:3442
msgid "Save to Image File"
msgstr "Išsaugoti atvaizdą į failą"
-#: ../src/vikwindow.c:2900
+#: ../src/vikwindow.c:3459
msgid "Width (pixels):"
msgstr "Plotis (taškais)"
-#: ../src/vikwindow.c:2902
+#: ../src/vikwindow.c:3461
msgid "Height (pixels):"
msgstr "Aukštis (taškais)"
-#: ../src/vikwindow.c:2905
+#: ../src/vikwindow.c:3464
msgid ""
"WARNING: USING LARGE IMAGES OVER 10000x10000\n"
"MAY CRASH THE PROGRAM!"
msgstr ""
-#: ../src/vikwindow.c:2907
+#: ../src/vikwindow.c:3466
msgid "Zoom (meters per pixel):"
msgstr "Mastelis (metrai į tašką):"
-#: ../src/vikwindow.c:2921
+#: ../src/vikwindow.c:3482
msgid "Area in current viewable window"
msgstr "Plotas matomame lange"
-#: ../src/vikwindow.c:2931
+#: ../src/vikwindow.c:3492
msgid "Save as PNG"
msgstr "Išsaugoti kaip PNG"
-#: ../src/vikwindow.c:2932
+#: ../src/vikwindow.c:3493
msgid "Save as JPEG"
msgstr "Išsaugoti kaip JPEG"
-#: ../src/vikwindow.c:2954
+#: ../src/vikwindow.c:3515
msgid "East-west image tiles:"
msgstr "Rytiniai-vakariniai atvaizdų kvadratai:"
-#: ../src/vikwindow.c:2956
+#: ../src/vikwindow.c:3517
msgid "North-south image tiles:"
msgstr "Šiauriniai-pietiniai atvaizdų kvadratai:"
-#: ../src/vikwindow.c:3097
+#: ../src/vikwindow.c:3656
msgid "Choose a background color"
msgstr "Keisti fono spalvą"
-#: ../src/vikwindow.c:3113
+#: ../src/vikwindow.c:3672
msgid "Choose a track highlight color"
msgstr ""
-#: ../src/vikwindow.c:3134
+#: ../src/vikwindow.c:3693
msgid "_File"
msgstr "_Failas"
-#: ../src/vikwindow.c:3135
+#: ../src/vikwindow.c:3694
msgid "_Edit"
msgstr "_Keisti"
-#: ../src/vikwindow.c:3136
-msgid "_View"
-msgstr "_Rodymas"
-
-#: ../src/vikwindow.c:3137
+#: ../src/vikwindow.c:3696
msgid "_Show"
msgstr ""
-#: ../src/vikwindow.c:3140
+#: ../src/vikwindow.c:3699
msgid "_Layers"
msgstr "_Sluoksniai"
-#: ../src/vikwindow.c:3141
+#: ../src/vikwindow.c:3700
msgid "_Tools"
msgstr "Į_rankiai"
-#: ../src/vikwindow.c:3142
+#: ../src/vikwindow.c:3701
msgid "_Webtools"
msgstr "_Web įrankiai"
-#: ../src/vikwindow.c:3143 ../src/vikwindow.c:3206
+#: ../src/vikwindow.c:3702 ../src/vikwindow.c:3763
msgid "_Help"
msgstr "_Pagalba"
-#: ../src/vikwindow.c:3145
+#: ../src/vikwindow.c:3704
msgid "New file"
msgstr "Naujas failas"
-#: ../src/vikwindow.c:3146
+#: ../src/vikwindow.c:3705
msgid "_Open..."
msgstr "_Atverti..."
-#: ../src/vikwindow.c:3146
+#: ../src/vikwindow.c:3705
msgid "Open a file"
msgstr "Atverti failą"
-#: ../src/vikwindow.c:3147
+#: ../src/vikwindow.c:3706
msgid "Open _Recent File"
msgstr ""
-#: ../src/vikwindow.c:3148
+#: ../src/vikwindow.c:3707
msgid "Append _File..."
msgstr "_Pridėti failą..."
-#: ../src/vikwindow.c:3148
+#: ../src/vikwindow.c:3707
msgid "Append data from a different file"
msgstr "Pridėti duomenis iš kito failo"
-#: ../src/vikwindow.c:3149
+#: ../src/vikwindow.c:3708
+msgid "_Export All"
+msgstr ""
+
+#: ../src/vikwindow.c:3708
+msgid "Export All TrackWaypoint Layers"
+msgstr ""
+
+#: ../src/vikwindow.c:3709
+msgid "_GPX..."
+msgstr ""
+
+#: ../src/vikwindow.c:3709
+msgid "Export as GPX"
+msgstr ""
+
+#: ../src/vikwindow.c:3710
msgid "A_cquire"
msgstr "_Gauti duomenis"
-#: ../src/vikwindow.c:3150
+#: ../src/vikwindow.c:3711
msgid "Transfer data from a GPS device"
msgstr "Perkelti duomenis iš GPS įrenginio"
-#: ../src/vikwindow.c:3151
+#: ../src/vikwindow.c:3712
msgid "Import File With GPS_Babel..."
msgstr ""
-#: ../src/vikwindow.c:3151
+#: ../src/vikwindow.c:3712
msgid "Import file via GPSBabel converter"
msgstr ""
-#: ../src/vikwindow.c:3153
-msgid "Google _Directions..."
-msgstr "Google _maršrutai..."
+#: ../src/vikwindow.c:3713
+msgid "_Directions..."
+msgstr ""
-#: ../src/vikwindow.c:3153
-msgid "Get driving directions from Google"
-msgstr "Gauti iš Google kelionės maršrutą"
+#: ../src/vikwindow.c:3713
+msgid "Get driving directions"
+msgstr ""
-#: ../src/vikwindow.c:3156
+#: ../src/vikwindow.c:3715
msgid "_OSM Traces..."
msgstr ""
-#: ../src/vikwindow.c:3156
+#: ../src/vikwindow.c:3715
msgid "Get traces from OpenStreetMap"
msgstr ""
-#: ../src/vikwindow.c:3157
+#: ../src/vikwindow.c:3716
msgid "_My OSM Traces..."
msgstr ""
-#: ../src/vikwindow.c:3157
+#: ../src/vikwindow.c:3716
msgid "Get Your Own Traces from OpenStreetMap"
msgstr ""
-#: ../src/vikwindow.c:3160
+#: ../src/vikwindow.c:3719
msgid "Geo_caches..."
msgstr ""
-#: ../src/vikwindow.c:3160
+#: ../src/vikwindow.c:3719
msgid "Get Geocaches from geocaching.com"
msgstr "Gauti Geocaches iš geocaching.com"
-#: ../src/vikwindow.c:3163
+#: ../src/vikwindow.c:3722
msgid "Create waypoints from geotagged images"
msgstr ""
-#: ../src/vikwindow.c:3166
+#: ../src/vikwindow.c:3725
msgid "Create waypoints from Wikipedia items in the current view"
msgstr ""
-#: ../src/vikwindow.c:3168
+#: ../src/vikwindow.c:3727
msgid "_Save"
-msgstr "_Išsaugoti"
+msgstr "Į_rašyti"
-#: ../src/vikwindow.c:3168
+#: ../src/vikwindow.c:3727
msgid "Save the file"
-msgstr "Išsaugoti failą"
+msgstr "Įrašyti failą"
-#: ../src/vikwindow.c:3169
+#: ../src/vikwindow.c:3728
msgid "Save _As..."
-msgstr "Išsaugoti _kaip..."
+msgstr "Įrašyti _kaip..."
-#: ../src/vikwindow.c:3169
+#: ../src/vikwindow.c:3728
msgid "Save the file under different name"
-msgstr "Išsaugoti failą kitu pavadinimu"
+msgstr "Įrašyti failą kitu pavadinimu"
+
+#: ../src/vikwindow.c:3729
+msgid "Properties..."
+msgstr ""
+
+#: ../src/vikwindow.c:3729
+msgid "File Properties"
+msgstr ""
-#: ../src/vikwindow.c:3170
+#: ../src/vikwindow.c:3730
msgid "_Generate Image File..."
msgstr "_Sukurti atvaizdo failą..."
-#: ../src/vikwindow.c:3170
+#: ../src/vikwindow.c:3730
msgid "Save a snapshot of the workspace into a file"
msgstr "Išsaugoti darbo aplinkos atvaizdą į failą"
-#: ../src/vikwindow.c:3171
+#: ../src/vikwindow.c:3731
msgid "Generate _Directory of Images..."
msgstr "Sukurti a_tvaizdų aplankalą..."
-#: ../src/vikwindow.c:3171
+#: ../src/vikwindow.c:3731
msgid "FIXME:IMGDIR"
msgstr "FIXME:IMGDIR"
-#: ../src/vikwindow.c:3174
+#: ../src/vikwindow.c:3732
msgid "_Print..."
msgstr "_Spausdinti"
-#: ../src/vikwindow.c:3174
+#: ../src/vikwindow.c:3732
msgid "Print maps"
msgstr "Spausdinti žemėlapius"
-#: ../src/vikwindow.c:3177
+#: ../src/vikwindow.c:3733
msgid "E_xit"
msgstr "Iš_eiti"
-#: ../src/vikwindow.c:3177
+#: ../src/vikwindow.c:3733
msgid "Exit the program"
msgstr "Išeiti iš programos"
-#: ../src/vikwindow.c:3178
+#: ../src/vikwindow.c:3734
msgid "Save and Exit"
msgstr "Išsa_ugoti ir Išeiti"
-#: ../src/vikwindow.c:3178
+#: ../src/vikwindow.c:3734
msgid "Save and Exit the program"
msgstr "Išsaugoti ir Išeiti iš programos"
-#: ../src/vikwindow.c:3180
+#: ../src/vikwindow.c:3736
msgid "Go to the _Default Location"
msgstr ""
-#: ../src/vikwindow.c:3180
+#: ../src/vikwindow.c:3736
msgid "Go to the default location"
msgstr ""
-#: ../src/vikwindow.c:3181
+#: ../src/vikwindow.c:3737
msgid "Go to _Location..."
msgstr ""
-#: ../src/vikwindow.c:3181
+#: ../src/vikwindow.c:3737
msgid "Go to address/place using text search"
msgstr "Eiti į adresą/vietą naudojant tekstinę paiešką"
-#: ../src/vikwindow.c:3182
+#: ../src/vikwindow.c:3738
msgid "_Go to Lat/Lon..."
msgstr "Eiti į Platumą/Ilgumą..."
-#: ../src/vikwindow.c:3182
+#: ../src/vikwindow.c:3738
msgid "Go to arbitrary lat/lon coordinate"
msgstr "Eiti į pasirinktas pla/ilg koordinates"
-#: ../src/vikwindow.c:3183
+#: ../src/vikwindow.c:3739
msgid "Go to UTM..."
msgstr "Eiti į UTM..."
-#: ../src/vikwindow.c:3183
+#: ../src/vikwindow.c:3739
msgid "Go to arbitrary UTM coordinate"
msgstr "Eiti į pasirinktas UTM koordinates"
-#: ../src/vikwindow.c:3184
+#: ../src/vikwindow.c:3740
msgid "_Refresh"
msgstr ""
-#: ../src/vikwindow.c:3184
+#: ../src/vikwindow.c:3740
msgid "Refresh any maps displayed"
msgstr ""
-#: ../src/vikwindow.c:3185
+#: ../src/vikwindow.c:3741
msgid "Set _Highlight Color..."
msgstr ""
-#: ../src/vikwindow.c:3186
+#: ../src/vikwindow.c:3742
msgid "Set Bac_kground Color..."
msgstr ""
-#: ../src/vikwindow.c:3187
+#: ../src/vikwindow.c:3743
msgid "Zoom _In"
msgstr "_Didinti"
-#: ../src/vikwindow.c:3188
+#: ../src/vikwindow.c:3744
msgid "Zoom _Out"
msgstr "M_ažinti"
-#: ../src/vikwindow.c:3189
+#: ../src/vikwindow.c:3745
msgid "Zoom _To..."
msgstr "Didinti _iki..."
-#: ../src/vikwindow.c:3190
+#: ../src/vikwindow.c:3746
msgid "Pan _North"
msgstr ""
-#: ../src/vikwindow.c:3191
+#: ../src/vikwindow.c:3747
msgid "Pan _East"
msgstr ""
-#: ../src/vikwindow.c:3192
+#: ../src/vikwindow.c:3748
msgid "Pan _South"
msgstr ""
-#: ../src/vikwindow.c:3193
+#: ../src/vikwindow.c:3749
msgid "Pan _West"
msgstr ""
-#: ../src/vikwindow.c:3194
+#: ../src/vikwindow.c:3750
msgid "Background _Jobs"
msgstr "Fono _darbai"
-#: ../src/vikwindow.c:3196
+#: ../src/vikwindow.c:3752
msgid "Cu_t"
msgstr "_Iškirpti"
-#: ../src/vikwindow.c:3197
-msgid "_Copy"
-msgstr "_Kopijuoti"
-
-#: ../src/vikwindow.c:3198
-msgid "_Paste"
-msgstr "Į_terpti"
-
-#: ../src/vikwindow.c:3199
-msgid "_Delete"
-msgstr "_Ištrinti"
-
-#: ../src/vikwindow.c:3200
+#: ../src/vikwindow.c:3756
msgid "Delete All"
msgstr "Ištrinti visus"
-#: ../src/vikwindow.c:3201
+#: ../src/vikwindow.c:3757
msgid "_Flush Map Cache"
msgstr ""
-#: ../src/vikwindow.c:3202
+#: ../src/vikwindow.c:3758
msgid "_Set the Default Location"
msgstr ""
-#: ../src/vikwindow.c:3202
+#: ../src/vikwindow.c:3758
msgid "Set the Default Location to the current position"
msgstr ""
-#: ../src/vikwindow.c:3203
+#: ../src/vikwindow.c:3759
msgid "_Preferences"
msgstr "_Nustatymai"
-#: ../src/vikwindow.c:3204
+#: ../src/vikwindow.c:3760
+msgid "_Layer Defaults"
+msgstr ""
+
+#: ../src/vikwindow.c:3761
msgid "_Properties"
msgstr "_Ypatybės"
-#: ../src/vikwindow.c:3207
+#: ../src/vikwindow.c:3764
msgid "_About"
msgstr "_Apie"
-#: ../src/vikwindow.c:3213
+#: ../src/vikwindow.c:3768
+msgid "_KML..."
+msgstr ""
+
+#: ../src/vikwindow.c:3768
+msgid "Export as KML"
+msgstr ""
+
+#: ../src/vikwindow.c:3774
msgid "_UTM Mode"
msgstr "_UTM režimas"
-#: ../src/vikwindow.c:3214
+#: ../src/vikwindow.c:3775
msgid "_Expedia Mode"
msgstr "_Expedia režimas"
-#: ../src/vikwindow.c:3215
+#: ../src/vikwindow.c:3776
msgid "_Mercator Mode"
msgstr "_Merkatorinis režimas"
-#: ../src/vikwindow.c:3216
+#: ../src/vikwindow.c:3777
msgid "Lat_/Lon Mode"
msgstr ""
-#: ../src/vikwindow.c:3220
+#: ../src/vikwindow.c:3781
msgid "Show _Scale"
msgstr ""
-#: ../src/vikwindow.c:3220
+#: ../src/vikwindow.c:3781
msgid "Show Scale"
msgstr "Rodyti padalas"
-#: ../src/vikwindow.c:3221
+#: ../src/vikwindow.c:3782
msgid "Show _Center Mark"
msgstr ""
-#: ../src/vikwindow.c:3221
+#: ../src/vikwindow.c:3782
msgid "Show Center Mark"
msgstr "Rodyti centrinį žymeklį"
-#: ../src/vikwindow.c:3222
+#: ../src/vikwindow.c:3783
msgid "Show _Highlight"
msgstr ""
-#: ../src/vikwindow.c:3222
+#: ../src/vikwindow.c:3783
msgid "Show Highlight"
msgstr ""
-#: ../src/vikwindow.c:3223
+#: ../src/vikwindow.c:3784
msgid "_Full Screen"
msgstr "Visas ekranas"
-#: ../src/vikwindow.c:3223
+#: ../src/vikwindow.c:3784
msgid "Activate full screen mode"
msgstr "Viso ekrano režimas"
-#: ../src/vikwindow.c:3224
+#: ../src/vikwindow.c:3785
msgid "Show Side _Panel"
msgstr ""
-#: ../src/vikwindow.c:3224
+#: ../src/vikwindow.c:3785
msgid "Show Side Panel"
msgstr "Rodyti šoninį skydelį"
-#: ../src/vikwindow.c:3225
+#: ../src/vikwindow.c:3786
msgid "Show Status_bar"
msgstr ""
-#: ../src/vikwindow.c:3225
+#: ../src/vikwindow.c:3786
msgid "Show Statusbar"
msgstr ""
-#: ../src/vikwindow.c:3226
+#: ../src/vikwindow.c:3787
msgid "Show _Toolbar"
msgstr "Rodyti įran_kių juostą"
-#: ../src/vikwindow.c:3226
+#: ../src/vikwindow.c:3787
msgid "Show Toolbar"
msgstr "Rodyti įrankių juostą"
-#: ../src/vikwindow.c:3227
+#: ../src/vikwindow.c:3788
msgid "Show _Menu"
msgstr ""
-#: ../src/vikwindow.c:3227
+#: ../src/vikwindow.c:3788
msgid "Show Menu"
msgstr ""
+#: ../src/vikwindow.c:3862
+#, c-format
+msgid "New _%s Layer"
+msgstr ""
+
#: ../src/viking.desktop.in.h:2
msgid "GPS Data Manager"
msgstr "GPS duomenų vedlys"
diff --git a/po/lv.po b/po/lv.po
index 370c901..dd01ad1 100644
--- a/po/lv.po
+++ b/po/lv.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: viking\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-02-04 23:29+0100\n"
+"POT-Creation-Date: 2013-09-03 21:58+0200\n"
"PO-Revision-Date: 2008-09-30 12:59+0000\n"
"Last-Translator: Viesturs Zariņš <viesturs.zarins@mii.lu.lv>\n"
"Language-Team: Latvian <lv@li.org>\n"
@@ -15,60 +15,60 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2;\n"
-"X-Launchpad-Export-Date: 2013-03-23 17:12+0000\n"
-"X-Generator: Launchpad (build 16540)\n"
+"X-Launchpad-Export-Date: 2013-10-12 09:04+0000\n"
+"X-Generator: Launchpad (build 16799)\n"
"Language: lv\n"
-#: ../src/acquire.c:103 ../src/vikgpslayer.c:1185
+#: ../src/acquire.c:103 ../src/vikgpslayer.c:1235
msgid "Done."
msgstr "Gatavs."
-#: ../src/acquire.c:114
+#: ../src/acquire.c:112
msgid "No data."
msgstr ""
-#: ../src/acquire.c:154 ../src/acquire.c:404
+#: ../src/acquire.c:154 ../src/acquire.c:424
msgid "Error: acquisition failed."
msgstr "Kļūda: iegūšana neizdevās."
-#: ../src/acquire.c:341
+#: ../src/acquire.c:352
msgid "Working..."
msgstr "Strādā..."
#. This shouldn't happen...
-#: ../src/acquire.c:394
+#: ../src/acquire.c:415
msgid ""
"Unable to create command\n"
"Acquire method failed."
msgstr ""
-#: ../src/acquire.c:486
+#: ../src/acquire.c:517
msgid "_Filter"
msgstr ""
-#: ../src/acquire.c:501
+#: ../src/acquire.c:532
#, c-format
msgid "Filter with %s"
msgstr ""
-#: ../src/acquire.c:518
+#: ../src/acquire.c:549
msgid "Filter"
msgstr ""
-#: ../src/background.c:52
+#: ../src/background.c:53
#, c-format
msgid "%d items"
msgstr "%d ieraksti"
-#: ../src/background.c:248
+#: ../src/background.c:254
msgid "Job"
msgstr "Darbs"
-#: ../src/background.c:252
+#: ../src/background.c:258
msgid "Progress"
msgstr "Progress"
-#: ../src/background.c:268
+#: ../src/background.c:274
msgid "Viking Background Jobs"
msgstr "Viking fona darbi"
@@ -77,7 +77,7 @@ msgid "Bing"
msgstr ""
#. VIK_GTK_WINDOW_FROM_WIDGET(vp)
-#: ../src/bingmapsource.c:445
+#: ../src/bingmapsource.c:499
msgid "Bing attribution Loading"
msgstr ""
@@ -102,35 +102,35 @@ msgid ""
"into."
msgstr ""
-#: ../src/dialog.c:52
+#: ../src/dialog.c:53
msgid "Go to Lat/Lon"
msgstr ""
-#: ../src/dialog.c:64 ../src/dialog.c:251
+#: ../src/dialog.c:65 ../src/dialog.c:244
msgid "Latitude:"
msgstr ""
-#: ../src/dialog.c:70 ../src/dialog.c:256
+#: ../src/dialog.c:71 ../src/dialog.c:249
msgid "Longitude:"
msgstr ""
-#: ../src/dialog.c:102
+#: ../src/dialog.c:103
msgid "Go to UTM"
msgstr ""
-#: ../src/dialog.c:115
+#: ../src/dialog.c:116
msgid "Northing:"
msgstr ""
-#: ../src/dialog.c:121
+#: ../src/dialog.c:122
msgid "Easting:"
msgstr ""
-#: ../src/dialog.c:128
+#: ../src/dialog.c:129
msgid "Zone:"
msgstr ""
-#: ../src/dialog.c:131
+#: ../src/dialog.c:132
msgid "Letter:"
msgstr ""
@@ -138,105 +138,109 @@ msgstr ""
msgid "Waypoint Properties"
msgstr ""
-#: ../src/dialog.c:233
+#: ../src/dialog.c:235
msgid "Name:"
msgstr ""
-#: ../src/dialog.c:261
+#: ../src/dialog.c:254
msgid "Altitude:"
msgstr ""
-#: ../src/dialog.c:266
+#: ../src/dialog.c:259
msgid "Comment:"
msgstr ""
-#: ../src/dialog.c:274 ../src/osm-traces.c:437
+#: ../src/dialog.c:267 ../src/osm-traces.c:445
msgid "Description:"
msgstr ""
-#: ../src/dialog.c:277
+#: ../src/dialog.c:270
msgid "Image:"
msgstr ""
-#: ../src/dialog.c:282
+#: ../src/dialog.c:275
msgid "Symbol:"
msgstr ""
-#: ../src/dialog.c:291
+#: ../src/dialog.c:284
msgid "(none)"
msgstr ""
+#: ../src/dialog.c:326
+msgid "Time:"
+msgstr ""
+
#. TODO: other checks (isalpha or whatever )
-#: ../src/dialog.c:356
+#: ../src/dialog.c:363
msgid "Please enter a name for the waypoint."
msgstr ""
-#: ../src/dialog.c:529 ../src/geonamessearch.c:243
+#: ../src/dialog.c:502 ../src/geonamessearch.c:244
#: ../src/datasource_osm_my_traces.c:507
msgid "Nothing was selected"
msgstr ""
-#: ../src/dialog.c:537
+#: ../src/dialog.c:510
msgid "Add Route"
msgstr ""
-#: ../src/dialog.c:537
+#: ../src/dialog.c:510
msgid "Add Track"
msgstr ""
-#: ../src/dialog.c:545
+#: ../src/dialog.c:518
msgid "Route Name:"
msgstr ""
-#: ../src/dialog.c:545
+#: ../src/dialog.c:518
msgid "Track Name:"
msgstr ""
-#: ../src/dialog.c:565
+#: ../src/dialog.c:538
msgid "Please enter a name for the track."
msgstr ""
-#: ../src/dialog.c:623
+#: ../src/dialog.c:596
msgid "Zoom Factors..."
msgstr ""
-#: ../src/dialog.c:637
+#: ../src/dialog.c:610
msgid "Zoom factor (in meters per pixel):"
msgstr ""
-#: ../src/dialog.c:638
+#: ../src/dialog.c:611
msgid "X (easting): "
msgstr ""
-#: ../src/dialog.c:639
+#: ../src/dialog.c:612
msgid "Y (northing): "
msgstr ""
-#: ../src/dialog.c:644
+#: ../src/dialog.c:617
msgid "X and Y zoom factors must be equal"
msgstr ""
-#: ../src/dialog.c:699
+#: ../src/dialog.c:672
msgid "1 min"
msgstr ""
-#: ../src/dialog.c:700
+#: ../src/dialog.c:673
msgid "1 hour"
msgstr ""
-#: ../src/dialog.c:701
+#: ../src/dialog.c:674
msgid "1 day"
msgstr ""
-#: ../src/dialog.c:702
+#: ../src/dialog.c:675
msgid "Custom (in minutes):"
msgstr ""
-#: ../src/dialog.c:808
+#: ../src/dialog.c:786
msgid "GPS Data and Topo Analyzer, Explorer, and Manager."
msgstr ""
-#: ../src/dialog.c:809
+#: ../src/dialog.c:787
msgid ""
"This program is free software; you can redistribute it and/or modify it "
"under the terms of the GNU General Public License as published by the Free "
@@ -253,28 +257,28 @@ msgid ""
"Place, Suite 330, Boston, MA 02111-1307, USA"
msgstr ""
-#: ../src/dialog.c:837
+#: ../src/dialog.c:852
msgid "Translation is coordinated on http://launchpad.net/viking"
msgstr ""
-#: ../src/dialog.c:845
+#: ../src/dialog.c:861
msgid "Download along track"
msgstr ""
-#: ../src/dialog.c:851
+#: ../src/dialog.c:868
msgid "Map type:"
msgstr ""
-#: ../src/dialog.c:856
+#: ../src/dialog.c:874
msgid "Zoom level:"
msgstr ""
-#: ../src/dialog.c:896
+#: ../src/dialog.c:914
#, c-format
msgid "The map data is licensed: %s."
msgstr ""
-#: ../src/dialog.c:899
+#: ../src/dialog.c:917
#, c-format
msgid ""
"The data provided by '<b>%s</b>' are licensed under the following license: "
@@ -282,7 +286,7 @@ msgid ""
"Please, read the license before continuing."
msgstr ""
-#: ../src/dialog.c:904
+#: ../src/dialog.c:922
msgid "Open license"
msgstr ""
@@ -327,7 +331,8 @@ msgstr ""
#. NB could allow columns to be shifted around by doing this after each new
#. gtk_tree_view_column_set_reorderable ( column, TRUE );
#. However I don't think is that useful, so I haven't put it in
-#: ../src/geonamessearch.c:177 ../src/datasource_osm_my_traces.c:425
+#: ../src/geonamessearch.c:177 ../src/datasource_osm_my_traces.c:424
+#: ../src/viktrwlayer_tracklist.c:521
msgid "Name"
msgstr ""
@@ -335,82 +340,192 @@ msgstr ""
msgid "Feature"
msgstr ""
-#: ../src/geonamessearch.c:187 ../src/datasource_osm_my_traces.c:440
+#: ../src/geonamessearch.c:187 ../src/datasource_osm_my_traces.c:439
msgid "Lat/Lon"
msgstr ""
-#: ../src/geonamessearch.c:269 ../src/googlesearch.c:100
+#: ../src/geonamessearch.c:270 ../src/googlesearch.c:100 ../src/vikgoto.c:306
msgid "couldn't map temp file"
msgstr ""
-#: ../src/globals.c:44
+#: ../src/globals.c:73
+msgid "Absolute"
+msgstr ""
+
+#: ../src/globals.c:73
+msgid "Relative"
+msgstr ""
+
+#: ../src/globals.c:76
msgid "Degree format:"
msgstr ""
-#: ../src/globals.c:48
+#: ../src/globals.c:77
msgid "Distance units:"
msgstr ""
-#: ../src/globals.c:52
+#: ../src/globals.c:78
msgid "Speed units:"
msgstr ""
-#: ../src/globals.c:56
+#: ../src/globals.c:79
msgid "Height units:"
msgstr ""
-#: ../src/globals.c:60
+#: ../src/globals.c:80
msgid "Use large waypoint icons:"
msgstr ""
-#: ../src/globals.c:64
+#: ../src/globals.c:81
msgid "Default latitude:"
msgstr ""
-#: ../src/globals.c:67
+#: ../src/globals.c:82
msgid "Default longitude:"
msgstr ""
-#: ../src/globals.c:73
+#: ../src/globals.c:88
msgid "Alphabetical"
msgstr ""
-#: ../src/globals.c:73 ../src/datasource_osm_my_traces.c:435
+#: ../src/globals.c:88 ../src/datasource_osm_my_traces.c:434
msgid "Time"
msgstr ""
-#: ../src/globals.c:76
+#: ../src/globals.c:88
+msgid "Creation"
+msgstr ""
+
+#: ../src/globals.c:89
+msgid "Title Case"
+msgstr ""
+
+#: ../src/globals.c:89
+msgid "Lowercase"
+msgstr ""
+
+#: ../src/globals.c:92
msgid "KML File Export Units:"
msgstr ""
-#: ../src/globals.c:77
+#: ../src/globals.c:93
msgid "GPX Track Order:"
msgstr ""
-#: ../src/globals.c:82
+#: ../src/globals.c:94
+msgid "GPX Waypoint Symbols:"
+msgstr ""
+
+#: ../src/globals.c:95
+msgid ""
+"Save GPX Waypoint Symbol names in the specified case. May be useful for "
+"compatibility with various devices"
+msgstr ""
+
+#: ../src/globals.c:100
msgid "Image Viewer:"
msgstr ""
-#: ../src/globals.c:87
+#: ../src/globals.c:105
msgid "External GPX Program 1:"
msgstr ""
-#: ../src/globals.c:88
+#: ../src/globals.c:106
msgid "External GPX Program 2:"
msgstr ""
+#: ../src/globals.c:110
+msgid "Save File Reference Mode:"
+msgstr ""
+
+#: ../src/globals.c:111
+msgid ""
+"When saving a Viking .vik file, this determines how the directory paths of "
+"filenames are written."
+msgstr ""
+
+#: ../src/globals.c:112
+msgid "Show Tooltip during Track Creation:"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Home Location"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Last Location"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Specified File"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Auto Location"
+msgstr ""
+
+#: ../src/globals.c:118
+msgid "Restore Window Setup:"
+msgstr ""
+
+#: ../src/globals.c:119
+msgid "Restore window size and layout"
+msgstr ""
+
+#: ../src/globals.c:120
+msgid "Add a Default Map Layer:"
+msgstr ""
+
+#: ../src/globals.c:121
+msgid ""
+"The default map layer added is defined by the Layer Defaults. Use the menu "
+"Edit->Layer Defaults->Map... to change the map type and other values."
+msgstr ""
+
+#: ../src/globals.c:122
+msgid "Startup Method:"
+msgstr ""
+
+#: ../src/globals.c:123
+msgid "Startup File:"
+msgstr ""
+
+#: ../src/globals.c:124
+msgid ""
+"The default file to load on startup. Only applies when the startup method is "
+"set to 'Specified File'"
+msgstr ""
+
+#: ../src/globals.c:125
+msgid "Check For New Version:"
+msgstr ""
+
+#: ../src/globals.c:126
+msgid "Periodically check to see if a new version of Viking is available"
+msgstr ""
+
#. Defaults for the options are setup here
-#: ../src/globals.c:96
+#: ../src/globals.c:163
msgid "General"
msgstr ""
#. New Tab
-#: ../src/globals.c:121
+#: ../src/globals.c:188
+msgid "Startup"
+msgstr ""
+
+#. New Tab
+#: ../src/globals.c:206
msgid "Export/External"
msgstr ""
+#. 'Advanced' Properties
+#: ../src/globals.c:230
+msgid "Advanced"
+msgstr ""
+
#. Webtools
-#: ../src/google.c:36
+#: ../src/google.c:38
msgid "Google"
msgstr ""
@@ -423,24 +538,24 @@ msgid "Imported file"
msgstr ""
#. The file selector
-#: ../src/datasource_file.c:133
+#: ../src/datasource_file.c:127
msgid "File:"
msgstr ""
-#: ../src/datasource_file.c:134
+#: ../src/datasource_file.c:128
msgid "File to import"
msgstr ""
-#: ../src/datasource_file.c:141
+#: ../src/datasource_file.c:135
msgid "All files"
msgstr ""
#. The file format selector
-#: ../src/datasource_file.c:148
+#: ../src/datasource_file.c:142
msgid "File type:"
msgstr ""
-#: ../src/datasource_file.c:193
+#: ../src/datasource_file.c:184
#, c-format
msgid "using babel args '%s' and file '%s'"
msgstr ""
@@ -453,29 +568,29 @@ msgstr ""
msgid "Geocaching.com Caches"
msgstr ""
-#: ../src/datasource_gc.c:84
+#: ../src/datasource_gc.c:85
msgid "geocaching.com username:"
msgstr ""
-#: ../src/datasource_gc.c:85
+#: ../src/datasource_gc.c:86
msgid "geocaching.com password:"
msgstr ""
-#: ../src/datasource_gc.c:126
+#: ../src/datasource_gc.c:127
#, c-format
msgid ""
"Can't find %s or %s in path! Check that you have installed it correctly."
msgstr ""
-#: ../src/datasource_gc.c:188
+#: ../src/datasource_gc.c:189
msgid "Number geocaches:"
msgstr ""
-#: ../src/datasource_gc.c:190
+#: ../src/datasource_gc.c:191
msgid "Centered around:"
msgstr ""
-#: ../src/datasource_gc.c:226
+#: ../src/datasource_gc.c:230
msgid "Broken input - using some defaults"
msgstr ""
@@ -487,116 +602,107 @@ msgstr ""
msgid "Geotagged Images"
msgstr ""
-#: ../src/datasource_geotag.c:102 ../src/vikwindow.c:2314
-#: ../src/vikwindow.c:2382 ../src/vikwindow.c:2824
+#: ../src/datasource_geotag.c:102 ../src/vikwindow.c:2655
+#: ../src/vikwindow.c:2729 ../src/vikwindow.c:3380
msgid "All"
msgstr ""
-#: ../src/datasource_geotag.c:107 ../src/vikwindow.c:2829
+#: ../src/datasource_geotag.c:107 ../src/vikwindow.c:3385
msgid "JPG"
msgstr ""
-#: ../src/datasource_geotag.c:165
+#: ../src/datasource_geotag.c:168
#, c-format
msgid "Unable to create waypoint from %s"
msgstr ""
-#: ../src/datasource_google.c:49 ../src/datasource_google.c:50
-msgid "Google Directions"
-msgstr ""
-
-#: ../src/datasource_google.c:77
-msgid "From:"
-msgstr ""
-
-#: ../src/datasource_google.c:79
-msgid "To:"
-msgstr ""
-
-#: ../src/datasource_gps.c:57
+#: ../src/datasource_gps.c:54
msgid "Acquire from GPS"
msgstr ""
-#: ../src/datasource_gps.c:58
+#: ../src/datasource_gps.c:55
msgid "Acquired from GPS"
msgstr ""
-#: ../src/datasource_gps.c:221
+#: ../src/datasource_gps.c:245
#, c-format
msgid "using cmdline '%s' and file '%s'\n"
msgstr ""
-#: ../src/datasource_gps.c:297 ../src/vikgpslayer.c:884
+#: ../src/datasource_gps.c:327 ../src/vikgpslayer.c:934
#, c-format
msgid "Downloading %d waypoint..."
msgid_plural "Downloading %d waypoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/datasource_gps.c:298 ../src/vikgpslayer.c:885
+#: ../src/datasource_gps.c:328 ../src/vikgpslayer.c:935
#, c-format
msgid "Downloading %d trackpoint..."
msgid_plural "Downloading %d trackpoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/datasource_gps.c:303 ../src/vikgpslayer.c:890
+#: ../src/datasource_gps.c:333 ../src/vikgpslayer.c:940
#, c-format
msgid "Downloading %d routepoint..."
msgid_plural "Downloading %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/datasource_gps.c:325 ../src/datasource_gps.c:326
-#: ../src/datasource_gps.c:327
+#: ../src/datasource_gps.c:355 ../src/datasource_gps.c:356
+#: ../src/datasource_gps.c:357
#, c-format
msgid "Downloaded %d out of %d %s..."
msgstr ""
-#: ../src/datasource_gps.c:331 ../src/datasource_gps.c:332
-#: ../src/datasource_gps.c:333
+#: ../src/datasource_gps.c:361 ../src/datasource_gps.c:362
+#: ../src/datasource_gps.c:363
#, c-format
msgid "Downloaded %d %s."
msgstr ""
-#: ../src/datasource_gps.c:347 ../src/vikgpslayer.c:968
+#: ../src/datasource_gps.c:377 ../src/vikgpslayer.c:1018
#, c-format
msgid "GPS Device: %s"
msgstr ""
-#: ../src/datasource_gps.c:370 ../src/vikgpslayer.c:1042
-#: ../src/vikgpslayer.c:1110
+#: ../src/datasource_gps.c:400 ../src/vikgpslayer.c:1092
+#: ../src/vikgpslayer.c:1160
msgid "Status: Working..."
msgstr ""
-#: ../src/datasource_gps.c:469 ../src/vikgpslayer.c:150
+#. NB gps_layer_inst_init() is performed after parameter registeration
+#. thus to give the protocols some potential values use the old static list
+#. TODO: find another way to use gps_layer_inst_init()?
+#: ../src/datasource_gps.c:500 ../src/vikgpslayer.c:207
msgid "GPS Protocol:"
msgstr ""
-#. List now assigned at runtime
-#: ../src/datasource_gps.c:488 ../src/vikgpslayer.c:151
+#. List reassigned at runtime
+#: ../src/datasource_gps.c:526 ../src/vikgpslayer.c:208
msgid "Serial Port:"
msgstr ""
-#: ../src/datasource_gps.c:509
+#: ../src/datasource_gps.c:576
msgid ""
"Turn Off After Transfer\n"
"(Garmin/NAViLink Only)"
msgstr ""
-#: ../src/datasource_gps.c:512
+#: ../src/datasource_gps.c:583
msgid "Tracks:"
msgstr ""
-#: ../src/datasource_gps.c:516
+#: ../src/datasource_gps.c:590
msgid "Routes:"
msgstr ""
-#: ../src/datasource_gps.c:520
+#: ../src/datasource_gps.c:597
msgid "Waypoints:"
msgstr ""
-#: ../src/datasource_gps.c:594 ../src/vikgpslayer.c:1305
+#: ../src/datasource_gps.c:675 ../src/vikgpslayer.c:1355
msgid "GPS device: N/A"
msgstr ""
@@ -604,39 +710,39 @@ msgstr ""
msgid "OSM traces"
msgstr ""
-#: ../src/datasource_osm.c:80
+#: ../src/datasource_osm.c:82
msgid "Page number:"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:63 ../src/datasource_osm_my_traces.c:64
+#: ../src/datasource_osm_my_traces.c:59 ../src/datasource_osm_my_traces.c:60
msgid "OSM My Traces"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:108
+#: ../src/datasource_osm_my_traces.c:104
msgid "Username:"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:113
+#: ../src/datasource_osm_my_traces.c:109
msgid "The email or username used to login to OSM"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:115 ../src/osm-traces.c:413
+#: ../src/datasource_osm_my_traces.c:111 ../src/osm-traces.c:421
msgid "Password:"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:120
+#: ../src/datasource_osm_my_traces.c:114
msgid "The password used to login to OSM"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:430
+#: ../src/datasource_osm_my_traces.c:429
msgid "Description"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:445
+#: ../src/datasource_osm_my_traces.c:444
msgid "Privacy"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:452
+#: ../src/datasource_osm_my_traces.c:451
msgid "Within Current View"
msgstr ""
@@ -648,15 +754,33 @@ msgstr ""
msgid "None found!"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:629
+#: ../src/datasource_osm_my_traces.c:634
msgid "My OSM Traces"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:645
+#: ../src/datasource_osm_my_traces.c:649
#, c-format
msgid "Unable to get trace: %s"
msgstr ""
+#: ../src/datasource_routing.c:53 ../src/datasource_routing.c:54
+msgid "Directions"
+msgstr ""
+
+#. Engine selector
+#: ../src/datasource_routing.c:83
+msgid "Engine:"
+msgstr ""
+
+#. From and To entries
+#: ../src/datasource_routing.c:88
+msgid "From:"
+msgstr ""
+
+#: ../src/datasource_routing.c:90
+msgid "To:"
+msgstr ""
+
#: ../src/datasource_wikipedia.c:32
msgid "Create Waypoints from Wikipedia Articles"
msgstr ""
@@ -677,174 +801,185 @@ msgstr ""
msgid "Incorrect DEM Class B record: expected 1"
msgstr ""
-#: ../src/dem.c:360
+#: ../src/dem.c:288 ../src/download.c:170
#, c-format
msgid "Couldn't map file %s: %s"
msgstr ""
-#: ../src/download.c:112
-msgid "Tile age (s):"
+#: ../src/download.c:130
+msgid "Tile age (days):"
msgstr ""
-#: ../src/download.c:233
+#: ../src/download.c:321
#, c-format
msgid "Download error: %s"
msgstr ""
-#: ../src/download.c:313
+#: ../src/download.c:404
msgid "couldn't open temp file"
msgstr ""
-#: ../src/file.c:456 ../src/file.c:461
+#: ../src/file.c:451 ../src/file.c:456
#, c-format
msgid "Draw mode '%s' no more supported"
msgstr ""
-#: ../src/geotag_exif.c:433
+#: ../src/geotag_exif.c:421
msgid "Not enough memory."
msgstr ""
-#: ../src/geotag_exif.c:451
+#: ../src/geotag_exif.c:439
msgid "Setting a value for this tag is unsupported!"
msgstr ""
-#: ../src/geotag_exif.c:470
+#: ../src/geotag_exif.c:458
#, c-format
msgid "Too few components specified (need %d, found %d)\n"
msgstr ""
-#: ../src/geotag_exif.c:474
+#: ../src/geotag_exif.c:462
msgid "Numeric value expected\n"
msgstr ""
-#: ../src/geotag_exif.c:482
+#: ../src/geotag_exif.c:470
msgid "This shouldn't happen!"
msgstr ""
-#: ../src/geotag_exif.c:552
+#: ../src/geotag_exif.c:540
msgid "Not yet implemented!"
msgstr ""
-#: ../src/geotag_exif.c:565
+#: ../src/geotag_exif.c:553
msgid "Warning; Too many components specified!"
msgstr ""
-#: ../src/osm-traces.c:73
+#: ../src/osm-traces.c:76
msgid "Identifiable (public w/ timestamps)"
msgstr ""
-#: ../src/osm-traces.c:74
+#: ../src/osm-traces.c:77
msgid "Trackable (private w/ timestamps)"
msgstr ""
-#: ../src/osm-traces.c:75
+#: ../src/osm-traces.c:78
msgid "Public"
msgstr ""
-#: ../src/osm-traces.c:76
+#: ../src/osm-traces.c:79
msgid "Private"
msgstr ""
-#: ../src/osm-traces.c:93
+#: ../src/osm-traces.c:97
msgid "OSM username:"
msgstr ""
-#: ../src/osm-traces.c:94
+#: ../src/osm-traces.c:98
msgid "OSM password:"
msgstr ""
#. Preferences
-#: ../src/osm-traces.c:151
+#: ../src/osm-traces.c:155
msgid "OpenStreetMap Traces"
msgstr ""
-#: ../src/osm-traces.c:234
+#: ../src/osm-traces.c:238
#, c-format
msgid "failed to upload data: HTTP response is %ld"
msgstr ""
-#: ../src/osm-traces.c:239
+#: ../src/osm-traces.c:243
#, c-format
msgid "curl_easy_getinfo failed: %d"
msgstr ""
-#: ../src/osm-traces.c:244
+#: ../src/osm-traces.c:248
#, c-format
msgid "curl request failed: %s"
msgstr ""
-#: ../src/osm-traces.c:275
+#: ../src/osm-traces.c:279
#, c-format
msgid "failed to open temporary file: %s"
msgstr ""
#. Success
-#: ../src/osm-traces.c:328
+#: ../src/osm-traces.c:340
msgid "Uploaded to OSM"
msgstr ""
-#: ../src/osm-traces.c:332
+#: ../src/osm-traces.c:344
msgid "FAILED TO UPLOAD DATA TO OSM - CURL PROBLEM"
msgstr ""
-#: ../src/osm-traces.c:335
+#: ../src/osm-traces.c:347
msgid "FAILED TO UPLOAD DATA TO OSM"
msgstr ""
-#: ../src/osm-traces.c:335
+#: ../src/osm-traces.c:347
msgid "HTTP response code"
msgstr ""
-#: ../src/osm-traces.c:348
+#: ../src/osm-traces.c:355
#, c-format
msgid "failed to unlink temporary file: %s"
msgstr ""
-#: ../src/osm-traces.c:387
+#: ../src/osm-traces.c:394
msgid "OSM upload"
msgstr ""
-#: ../src/osm-traces.c:405
+#: ../src/osm-traces.c:413
msgid "Email:"
msgstr ""
-#: ../src/osm-traces.c:410
+#: ../src/osm-traces.c:418
msgid ""
"The email used as login\n"
"<small>Enter the email you use to login into www.openstreetmap.org.</small>"
msgstr ""
-#: ../src/osm-traces.c:418
+#: ../src/osm-traces.c:426
msgid ""
"The password used to login\n"
"<small>Enter the password you use to login into "
"www.openstreetmap.org.</small>"
msgstr ""
-#: ../src/osm-traces.c:423
+#: ../src/osm-traces.c:431
msgid "File's name:"
msgstr ""
-#: ../src/osm-traces.c:433
+#: ../src/osm-traces.c:441
msgid ""
"The name of the file on OSM\n"
"<small>This is the name of the file created on the server.This is not the "
"name of the local file.</small>"
msgstr ""
-#: ../src/osm-traces.c:442
+#: ../src/osm-traces.c:450
msgid "The description of the trace"
msgstr ""
-#: ../src/osm-traces.c:444
+#: ../src/osm-traces.c:453
+msgid "Anonymize Times:"
+msgstr ""
+
+#: ../src/osm-traces.c:458
+msgid ""
+"Anonymize times of the trace.\n"
+"<small>You may choose to make the trace identifiable, yet mask the actual "
+"real time values</small>"
+msgstr ""
+
+#: ../src/osm-traces.c:462
msgid "Tags:"
msgstr ""
-#: ../src/osm-traces.c:449
+#: ../src/osm-traces.c:467
msgid "The tags associated to the trace"
msgstr ""
-#: ../src/osm-traces.c:482
+#: ../src/osm-traces.c:529
#, c-format
msgid "Uploading %s to OSM"
msgstr ""
@@ -853,69 +988,88 @@ msgstr ""
msgid "Map cache memory size (MB):"
msgstr ""
-#: ../src/print.c:53
+#: ../src/print.c:51 ../src/viktrwlayer.c:509
msgid "None"
msgstr ""
-#: ../src/print.c:54
+#: ../src/print.c:52
msgid "Horizontally"
msgstr ""
-#: ../src/print.c:55
+#: ../src/print.c:53
msgid "Vertically"
msgstr ""
-#: ../src/print.c:56
+#: ../src/print.c:54
msgid "Both"
msgstr ""
-#: ../src/print.c:120
+#: ../src/print.c:118
msgid "Image Settings"
msgstr ""
-#: ../src/print.c:546
+#: ../src/print.c:548
msgid "done"
msgstr ""
#. Page Size
-#: ../src/print.c:575
+#: ../src/print.c:577
msgid "_Adjust Page Size and Orientation"
msgstr ""
-#: ../src/print.c:591
+#: ../src/print.c:593
msgid "C_enter:"
msgstr ""
#. ignore page margins
-#: ../src/print.c:609
+#: ../src/print.c:611
msgid "Ignore Page _Margins"
msgstr ""
-#: ../src/print.c:628
+#: ../src/print.c:630
msgid "Image S_ize:"
msgstr ""
-#: ../src/util.c:81
-msgid "Could not launch web browser."
+#: ../src/util.c:65
+#, c-format
+msgid "Could not launch web browser. %s"
msgstr ""
-#: ../src/util.c:92
-msgid "Could not create new email."
+#: ../src/util.c:76
+#, c-format
+msgid "Could not create new email. %s"
msgstr ""
-#: ../src/vikcoordlayer.c:46
+#: ../src/util.c:177
+#, c-format
+msgid ""
+"There is a newer version of Viking available: %s\n"
+"\n"
+"Do you wish to go to Viking's website now?"
+msgstr ""
+
+#: ../src/util.c:304
+msgid ""
+"This appears to be Viking's very first run.\n"
+"\n"
+"Do you wish to enable automatic internet features?\n"
+"\n"
+"Individual settings can be controlled in the Preferences."
+msgstr ""
+
+#: ../src/vikcoordlayer.c:57
msgid "Color:"
msgstr ""
-#: ../src/vikcoordlayer.c:47
+#: ../src/vikcoordlayer.c:58
msgid "Minutes Width:"
msgstr ""
-#: ../src/vikcoordlayer.c:48
+#: ../src/vikcoordlayer.c:59
msgid "Line Thickness:"
msgstr ""
-#: ../src/vikcoordlayer.c:56
+#: ../src/vikcoordlayer.c:66
msgid "Coordinate"
msgstr ""
@@ -951,62 +1105,130 @@ msgstr ""
msgid "Polygonzied Layer"
msgstr ""
-#: ../src/main.c:89
+#: ../src/main.c:92
#, c-format
msgid "Ignoring Xlib error: error code %d request code %d\n"
msgstr ""
-#: ../src/main.c:102
+#: ../src/main.c:105
msgid "Enable debug output"
msgstr ""
-#: ../src/main.c:103
+#: ../src/main.c:106
msgid "Enable verbose output"
msgstr ""
-#: ../src/main.c:104
+#: ../src/main.c:107
msgid "Show version"
msgstr ""
-#: ../src/osm.c:106
+#: ../src/osm.c:99
msgid "On Disk OSM Tile Format"
msgstr ""
-#: ../src/osm.c:121
+#: ../src/osm.c:113
msgid "OSM (view)"
msgstr ""
-#: ../src/osm.c:125
+#: ../src/osm.c:117
msgid "OSM (edit)"
msgstr ""
-#: ../src/osm.c:129
+#: ../src/osm.c:121
msgid "OSM (render)"
msgstr ""
#. Example: http://127.0.0.1:8111/load_and_zoom?left=8.19&right=8.20&top=48.605&bottom=48.590&select=node413602999
#. JOSM or merkaartor must already be running with remote interface enabled
-#: ../src/osm.c:136
+#: ../src/osm.c:128
msgid "Local port 8111 (eg JOSM)"
msgstr ""
-#: ../src/preferences.c:285
+#: ../src/osm.c:134
+msgid "OpenStreetMap Notes"
+msgstr ""
+
+#: ../src/osm.c:138
+msgid "OpenStreetBugs"
+msgstr ""
+
+#. Not really OSM but can't be bothered to create somewhere else to put it...
+#: ../src/osm.c:164
+msgid "Wikimedia Toolserver GeoHack"
+msgstr ""
+
+#: ../src/preferences.c:191
msgid "Preferences"
msgstr ""
-#: ../src/uibuilder.c:147
+#: ../src/viklayer_defaults.c:232
+#, c-format
+msgid "Could not open file: %s"
+msgstr ""
+
+#: ../src/viklayer_defaults.c:303
+msgid "Layer Defaults"
+msgstr ""
+
+#: ../src/uibuilder.c:185
msgid "Take care that this password will be stored clearly in a plain file."
msgstr ""
-#: ../src/vikaggregatelayer.c:37
+#: ../src/vikaggregatelayer.c:42
msgid "Aggregate"
msgstr ""
-#: ../src/vikdemlayer.c:101
+#. VikLayersPanel *vlp = VIK_LAYERS_PANEL(lav[1]);
+#: ../src/vikaggregatelayer.c:484 ../src/viktrwlayer.c:10238
+#, c-format
+msgid "%s: Track and Route List"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:529 ../src/viktrwlayer.c:7354
+#: ../src/viktrwlayer.c:7420 ../src/viktrwlayer.c:7498
+msgid "_Visibility"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:534
+msgid "_Show All"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:540
+msgid "_Hide All"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:546 ../src/viktrwlayer.c:7371
+#: ../src/viktrwlayer.c:7437 ../src/viktrwlayer.c:7515
+msgid "_Toggle"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:553 ../src/viktrwlayer.c:7536
+msgid "_Sort"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:559 ../src/viktrwlayer.c:7542
+msgid "Name _Ascending"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:565 ../src/viktrwlayer.c:7548
+msgid "Name _Descending"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:571 ../src/viktrwlayer.c:7449
+#: ../src/viktrwlayer.c:7527 ../src/viktrwlayer.c:7587
+#: ../src/viktrwlayer_tracklist.c:237
+msgid "_Statistics"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:576 ../src/viktrwlayer.c:3971
+msgid "Track _List..."
+msgstr ""
+
+#: ../src/vikdemlayer.c:92
msgid "Absolute height"
msgstr ""
-#: ../src/vikdemlayer.c:102
+#: ../src/vikdemlayer.c:93
msgid "Height gradient"
msgstr ""
@@ -1046,25 +1268,52 @@ msgstr ""
msgid "DEM"
msgstr ""
-#: ../src/vikdemlayer.c:284
+#: ../src/vikdemlayer.c:287
#, c-format
msgid "Number of files: %d"
msgstr ""
-#: ../src/vikdemlayer.c:385
+#: ../src/vikdemlayer.c:427
msgid "DEM Loading"
msgstr ""
-#: ../src/vikdemlayer.c:889
+#: ../src/vikdemlayer.c:937
#, c-format
msgid "No SRTM data available for %f, %f"
msgstr ""
-#: ../src/vikdemlayer.c:1149
+#. Probably not over any land...
+#: ../src/vikdemlayer.c:1193
+msgid "No DEM File Available"
+msgstr ""
+
+#: ../src/vikdemlayer.c:1212
+#, c-format
+msgid ""
+"\n"
+"Source: %s\n"
+"\n"
+"DEM File: %s\n"
+"DEM File Timestamp: %s"
+msgstr ""
+
+#: ../src/vikdemlayer.c:1216
+#, c-format
+msgid ""
+"Source: %s\n"
+"\n"
+"No DEM File!"
+msgstr ""
+
+#: ../src/vikdemlayer.c:1256
#, c-format
msgid "Downloading DEM %s"
msgstr ""
+#: ../src/vikdemlayer.c:1280
+msgid "_Show DEM File Information"
+msgstr ""
+
#: ../src/vikfileentry.c:68
msgid "Browse..."
msgstr ""
@@ -1085,248 +1334,266 @@ msgstr ""
msgid "Delete"
msgstr ""
-#: ../src/vikgeoreflayer.c:70
+#: ../src/vikgeoreflayer.c:78
msgid "_Georef Move Map"
msgstr ""
-#: ../src/vikgeoreflayer.c:70
+#: ../src/vikgeoreflayer.c:78
msgid "Georef Move Map"
msgstr ""
-#: ../src/vikgeoreflayer.c:77
+#: ../src/vikgeoreflayer.c:85
msgid "Georef Z_oom Tool"
msgstr ""
-#: ../src/vikgeoreflayer.c:77
+#: ../src/vikgeoreflayer.c:85
msgid "Georef Zoom Tool"
msgstr ""
-#: ../src/vikgeoreflayer.c:87
+#: ../src/vikgeoreflayer.c:95
msgid "GeoRef Map"
msgstr ""
-#: ../src/vikgeoreflayer.c:335 ../src/vikmapslayer.c:685
+#: ../src/vikgeoreflayer.c:377 ../src/vikmapslayer.c:720
#, c-format
msgid "Couldn't open image file: %s"
msgstr ""
-#: ../src/vikgeoreflayer.c:365
+#: ../src/vikgeoreflayer.c:391
+msgid ""
+"GeoRef map cannot be displayed in the current drawmode.\n"
+"Select \"UTM Mode\" from View menu to view it."
+msgstr ""
+
+#: ../src/vikgeoreflayer.c:415
msgid "Unexpected end of file reading World file."
msgstr ""
-#: ../src/vikgeoreflayer.c:381 ../src/vikgeoreflayer.c:426
+#: ../src/vikgeoreflayer.c:431 ../src/vikgeoreflayer.c:476
msgid "Choose World file"
msgstr ""
-#: ../src/vikgeoreflayer.c:394
+#: ../src/vikgeoreflayer.c:444
msgid "The World file you requested could not be opened for reading."
msgstr ""
-#: ../src/vikgeoreflayer.c:439
+#: ../src/vikgeoreflayer.c:489
msgid "The file you requested could not be opened for writing."
msgstr ""
-#: ../src/vikgeoreflayer.c:456 ../src/viklayer.c:480
+#: ../src/vikgeoreflayer.c:506 ../src/viklayer.c:518
msgid "Layer Properties"
msgstr ""
-#: ../src/vikgeoreflayer.c:478
+#: ../src/vikgeoreflayer.c:528
msgid "World File Parameters:"
msgstr ""
-#: ../src/vikgeoreflayer.c:479
+#: ../src/vikgeoreflayer.c:529
msgid "Load From File..."
msgstr ""
-#: ../src/vikgeoreflayer.c:484
+#: ../src/vikgeoreflayer.c:534
msgid "Corner pixel easting:"
msgstr ""
-#: ../src/vikgeoreflayer.c:486
-msgid "the UTM \"easting\" value of the upper-right corner pixel of the map"
+#: ../src/vikgeoreflayer.c:536
+msgid "the UTM \"easting\" value of the upper-left corner pixel of the map"
msgstr ""
-#: ../src/vikgeoreflayer.c:488
+#: ../src/vikgeoreflayer.c:538
msgid "Corner pixel northing:"
msgstr ""
-#: ../src/vikgeoreflayer.c:490
-msgid "the UTM \"northing\" value of the upper-right corner pixel of the map"
+#: ../src/vikgeoreflayer.c:540
+msgid "the UTM \"northing\" value of the upper-left corner pixel of the map"
msgstr ""
-#: ../src/vikgeoreflayer.c:492
+#: ../src/vikgeoreflayer.c:542
msgid "X (easting) scale (mpp): "
msgstr ""
-#: ../src/vikgeoreflayer.c:493
+#: ../src/vikgeoreflayer.c:543
msgid "Y (northing) scale (mpp): "
msgstr ""
-#: ../src/vikgeoreflayer.c:496
+#: ../src/vikgeoreflayer.c:546
msgid "the scale of the map in the X direction (meters per pixel)"
msgstr ""
-#: ../src/vikgeoreflayer.c:498
+#: ../src/vikgeoreflayer.c:548
msgid "the scale of the map in the Y direction (meters per pixel)"
msgstr ""
-#: ../src/vikgeoreflayer.c:500
+#: ../src/vikgeoreflayer.c:550
msgid "Map Image:"
msgstr ""
#. Now with icons
-#: ../src/vikgeoreflayer.c:608
+#: ../src/vikgeoreflayer.c:658
msgid "_Zoom to Fit Map"
msgstr ""
-#: ../src/vikgeoreflayer.c:614
+#: ../src/vikgeoreflayer.c:664
msgid "_Goto Map Center"
msgstr ""
-#: ../src/vikgeoreflayer.c:620
+#: ../src/vikgeoreflayer.c:670
msgid "_Export to World File"
msgstr ""
-#: ../src/vikgoto.c:75
+#: ../src/vikgoto.c:81
msgid "No goto tool available."
msgstr ""
-#: ../src/vikgoto.c:88 ../src/vikgoto.c:107
+#: ../src/vikgoto.c:94 ../src/vikgoto.c:148
msgid "goto"
msgstr ""
-#: ../src/vikgoto.c:90
+#: ../src/vikgoto.c:96
msgid "I don't know that place. Do you want another goto?"
msgstr ""
-#: ../src/vikgoto.c:109
+#: ../src/vikgoto.c:150
msgid "goto provider:"
msgstr ""
-#: ../src/vikgoto.c:124
+#: ../src/vikgoto.c:165
msgid "Enter address or place name:"
msgstr ""
-#: ../src/vikgpslayer.c:127
+#: ../src/vikgoto.c:363
+msgid "Locality"
+msgstr ""
+
+#: ../src/vikgpslayer.c:128
msgid "Data Mode"
msgstr ""
-#: ../src/vikgpslayer.c:129
+#: ../src/vikgpslayer.c:130
msgid "Realtime Tracking Mode"
msgstr ""
-#: ../src/vikgpslayer.c:137
+#: ../src/vikgpslayer.c:167
msgid "Keep vehicle at center"
msgstr ""
-#: ../src/vikgpslayer.c:138
+#: ../src/vikgpslayer.c:168
msgid "Keep vehicle on screen"
msgstr ""
-#: ../src/vikgpslayer.c:139
+#: ../src/vikgpslayer.c:169
msgid "Disable"
msgstr ""
-#: ../src/vikgpslayer.c:152
+#: ../src/vikgpslayer.c:209
msgid "Download Tracks:"
msgstr ""
-#: ../src/vikgpslayer.c:153
+#: ../src/vikgpslayer.c:210
msgid "Upload Tracks:"
msgstr ""
-#: ../src/vikgpslayer.c:154
+#: ../src/vikgpslayer.c:211
msgid "Download Routes:"
msgstr ""
-#: ../src/vikgpslayer.c:155
+#: ../src/vikgpslayer.c:212
msgid "Upload Routes:"
msgstr ""
-#: ../src/vikgpslayer.c:156
+#: ../src/vikgpslayer.c:213
msgid "Download Waypoints:"
msgstr ""
-#: ../src/vikgpslayer.c:157
+#: ../src/vikgpslayer.c:214
msgid "Upload Waypoints:"
msgstr ""
-#: ../src/vikgpslayer.c:159
+#: ../src/vikgpslayer.c:216
msgid "Recording tracks"
msgstr ""
-#: ../src/vikgpslayer.c:160
+#: ../src/vikgpslayer.c:217
msgid "Jump to current position on start"
msgstr ""
-#: ../src/vikgpslayer.c:161
+#: ../src/vikgpslayer.c:218
msgid "Moving Map Method:"
msgstr ""
-#: ../src/vikgpslayer.c:162
+#: ../src/vikgpslayer.c:219
+msgid "Update Statusbar:"
+msgstr ""
+
+#: ../src/vikgpslayer.c:219
+msgid "Display information in the statusbar on GPS updates"
+msgstr ""
+
+#: ../src/vikgpslayer.c:220
msgid "Gpsd Host:"
msgstr ""
-#: ../src/vikgpslayer.c:163
+#: ../src/vikgpslayer.c:221
msgid "Gpsd Port:"
msgstr ""
-#: ../src/vikgpslayer.c:164
+#: ../src/vikgpslayer.c:222
msgid "Gpsd Retry Interval (seconds):"
msgstr ""
-#: ../src/vikgpslayer.c:179
+#: ../src/vikgpslayer.c:243
msgid "GPS"
msgstr ""
-#: ../src/vikgpslayer.c:242 ../src/vikgpslayer.c:1258
+#: ../src/vikgpslayer.c:306 ../src/vikgpslayer.c:1308
msgid "GPS Download"
msgstr ""
-#: ../src/vikgpslayer.c:242 ../src/vikgpslayer.c:1258
-#: ../src/viktrwlayer.c:3094
+#: ../src/vikgpslayer.c:306 ../src/vikgpslayer.c:1308
+#: ../src/viktrwlayer.c:3480
msgid "GPS Upload"
msgstr ""
-#: ../src/vikgpslayer.c:244
+#: ../src/vikgpslayer.c:308
msgid "GPS Realtime Tracking"
msgstr ""
-#: ../src/vikgpslayer.c:451
+#: ../src/vikgpslayer.c:517
msgid "Unknown GPS Protocol"
msgstr ""
-#: ../src/vikgpslayer.c:469
+#: ../src/vikgpslayer.c:535
msgid "Unknown serial port device"
msgstr ""
-#: ../src/vikgpslayer.c:572
+#: ../src/vikgpslayer.c:648
#, c-format
msgid "%s: unknown parameter"
msgstr ""
#. Now with icons
-#: ../src/vikgpslayer.c:693
+#: ../src/vikgpslayer.c:743
msgid "_Upload to GPS"
msgstr ""
-#: ../src/vikgpslayer.c:699
+#: ../src/vikgpslayer.c:749
msgid "Download from _GPS"
msgstr ""
-#: ../src/vikgpslayer.c:720
+#: ../src/vikgpslayer.c:770
msgid "Empty _Realtime"
msgstr ""
-#: ../src/vikgpslayer.c:727
+#: ../src/vikgpslayer.c:777
msgid "E_mpty Upload"
msgstr ""
-#: ../src/vikgpslayer.c:733
+#: ../src/vikgpslayer.c:783
msgid "_Empty Download"
msgstr ""
-#: ../src/vikgpslayer.c:739
+#: ../src/vikgpslayer.c:789
msgid "Empty _All"
msgstr ""
@@ -1335,234 +1602,232 @@ msgstr ""
#. This happens when copied GPS layer is deleted (not sure why the number_handlers would be 2)
#. I don't think there's any side effects and certainly better than the program just aborting
#.
-#: ../src/vikgpslayer.c:756
+#: ../src/vikgpslayer.c:806
#, c-format
msgid "Unexpected number of disconnected handlers: %d"
msgstr ""
-#: ../src/vikgpslayer.c:898
+#: ../src/vikgpslayer.c:948
#, c-format
msgid "Uploading %d waypoint..."
msgid_plural "Uploading %d waypoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:899
+#: ../src/vikgpslayer.c:949
#, c-format
msgid "Uploading %d trackpoint..."
msgid_plural "Uploading %d trackpoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:900
+#: ../src/vikgpslayer.c:950
#, c-format
msgid "Uploading %d routepoint..."
msgid_plural "Uploading %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:925
+#: ../src/vikgpslayer.c:975
#, c-format
msgid "Downloaded %d out of %d waypoint..."
msgid_plural "Downloaded %d out of %d waypoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:926
+#: ../src/vikgpslayer.c:976
#, c-format
msgid "Downloaded %d out of %d trackpoint..."
msgid_plural "Downloaded %d out of %d trackpoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:927
+#: ../src/vikgpslayer.c:977
#, c-format
msgid "Downloaded %d out of %d routepoint..."
msgid_plural "Downloaded %d out of %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:932
+#: ../src/vikgpslayer.c:982
#, c-format
msgid "Uploaded %d out of %d waypoint..."
msgid_plural "Uploaded %d out of %d waypoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:933
+#: ../src/vikgpslayer.c:983
#, c-format
msgid "Uploaded %d out of %d trackpoint..."
msgid_plural "Uploaded %d out of %d trackpoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:934
+#: ../src/vikgpslayer.c:984
#, c-format
msgid "Uploaded %d out of %d routepoint..."
msgid_plural "Uploaded %d out of %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:942
+#: ../src/vikgpslayer.c:992
#, c-format
msgid "Downloaded %d waypoint"
msgid_plural "Downloaded %d waypoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:943
+#: ../src/vikgpslayer.c:993
#, c-format
msgid "Downloaded %d trackpoint"
msgid_plural "Downloaded %d trackpoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:944
+#: ../src/vikgpslayer.c:994
#, c-format
msgid "Downloaded %d routepoint"
msgid_plural "Downloaded %d routepoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:949
+#: ../src/vikgpslayer.c:999
#, c-format
msgid "Uploaded %d waypoint"
msgid_plural "Uploaded %d waypoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:950
+#: ../src/vikgpslayer.c:1000
#, c-format
msgid "Uploaded %d trackpoint"
msgid_plural "Uploaded %d trackpoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:951
+#: ../src/vikgpslayer.c:1001
#, c-format
msgid "Uploaded %d routepoint"
msgid_plural "Uploaded %d routepoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:1180
+#: ../src/vikgpslayer.c:1230
msgid "Error: couldn't find gpsbabel."
msgstr ""
-#: ../src/vikgpslayer.c:1269
+#: ../src/vikgpslayer.c:1319
msgid "Warning - GPS Upload items may overwrite each other"
msgstr ""
-#: ../src/vikgpslayer.c:1301
+#: ../src/vikgpslayer.c:1351
msgid "Status: detecting gpsbabel"
msgstr "Statuss: nosaka gpsbabel"
-#: ../src/vikgpslayer.c:1332
+#: ../src/vikgpslayer.c:1386
msgid "No GPS items selected for transfer."
msgstr ""
-#: ../src/vikgpslayer.c:1347
+#: ../src/vikgpslayer.c:1401
msgid "Could not turn off device."
msgstr ""
-#: ../src/vikgpslayer.c:1385
+#: ../src/vikgpslayer.c:1439
msgid "Are you sure you want to delete GPS Upload data?"
msgstr ""
-#: ../src/vikgpslayer.c:1398
+#: ../src/vikgpslayer.c:1452
msgid "Are you sure you want to delete GPS Download data?"
msgstr ""
-#: ../src/vikgpslayer.c:1412
+#: ../src/vikgpslayer.c:1466
msgid "Are you sure you want to delete GPS Realtime data?"
msgstr ""
-#: ../src/vikgpslayer.c:1425
+#: ../src/vikgpslayer.c:1479
msgid "Are you sure you want to delete All GPS data?"
msgstr ""
-#: ../src/viklayerspanel.c:55
-msgid "/C_ut"
+#: ../src/viklayerspanel.c:53
+msgid "C_ut"
msgstr ""
-#: ../src/viklayerspanel.c:56
-msgid "/_Copy"
+#: ../src/viklayerspanel.c:54 ../src/vikwindow.c:3753
+msgid "_Copy"
msgstr ""
-#: ../src/viklayerspanel.c:57
-msgid "/_Paste"
+#: ../src/viklayerspanel.c:55 ../src/vikwindow.c:3754
+msgid "_Paste"
msgstr ""
-#: ../src/viklayerspanel.c:58
-msgid "/_Delete"
+#: ../src/viklayerspanel.c:56 ../src/vikwindow.c:3755
+msgid "_Delete"
msgstr ""
-#: ../src/viklayerspanel.c:59
-msgid "/New Layer"
+#: ../src/viklayerspanel.c:133
+msgid "New Layer"
msgstr ""
-#: ../src/viklayerspanel.c:127
+#: ../src/viklayerspanel.c:178
msgid "Top Layer"
msgstr ""
-#: ../src/viklayerspanel.c:143
+#: ../src/viklayerspanel.c:194
msgid "Add new layer"
msgstr ""
-#: ../src/viklayerspanel.c:150
+#: ../src/viklayerspanel.c:201
msgid "Remove selected layer"
msgstr ""
-#: ../src/viklayerspanel.c:157
+#: ../src/viklayerspanel.c:208
msgid "Move selected layer up"
msgstr ""
-#: ../src/viklayerspanel.c:164
+#: ../src/viklayerspanel.c:215
msgid "Move selected layer down"
msgstr ""
-#: ../src/viklayerspanel.c:171
+#: ../src/viklayerspanel.c:222
msgid "Cut selected layer"
msgstr ""
-#: ../src/viklayerspanel.c:178
+#: ../src/viklayerspanel.c:229
msgid "Copy selected layer"
msgstr ""
-#: ../src/viklayerspanel.c:185
-msgid "Paste layer below selected layer"
+#: ../src/viklayerspanel.c:236
+msgid ""
+"Paste layer into selected container layer or otherwise above selected layer"
msgstr ""
-#. TODO: FIXME: if name has a '/' in it it will get all messed up. why not have an itemfactory field with
-#. name, icon, shortcut, etc.?
-#: ../src/viklayerspanel.c:204 ../src/vikwindow.c:3292
-#, c-format
-msgid "New _%s Layer"
+#: ../src/viklayerspanel.c:300
+msgid "New name can not be blank."
msgstr ""
-#: ../src/viklayerspanel.c:511
+#: ../src/viklayerspanel.c:544
msgid "Aggregate Layers have no settable properties."
msgstr ""
-#: ../src/viklayerspanel.c:555
+#: ../src/viklayerspanel.c:588
msgid "You cannot cut the Top Layer."
msgstr ""
-#: ../src/viklayerspanel.c:600
+#: ../src/viklayerspanel.c:633
#, c-format
msgid "Are you sure you want to delete %s?"
msgstr ""
-#: ../src/viklayerspanel.c:617
+#: ../src/viklayerspanel.c:650
msgid "You cannot delete the Top Layer."
msgstr ""
-#: ../src/viklayerspanel.c:701
+#: ../src/viklayerspanel.c:734
msgid "Are you sure you wish to delete all layers?"
msgstr ""
#. ******* MAPZOOMS ********
-#: ../src/vikmapslayer.c:91
+#: ../src/vikmapslayer.c:80
msgid "Use Viking Zoom Level"
msgstr ""
@@ -1609,70 +1874,70 @@ msgid ""
"actual zoom level."
msgstr ""
-#: ../src/vikmapslayer.c:146
+#: ../src/vikmapslayer.c:156
msgid "_Maps Download"
msgstr ""
-#: ../src/vikmapslayer.c:146
+#: ../src/vikmapslayer.c:156
msgid "Maps Download"
msgstr ""
-#: ../src/vikmapslayer.c:161
+#: ../src/vikmapslayer.c:171
msgid "Map"
msgstr ""
-#: ../src/vikmapslayer.c:249
-msgid "Default maplayer directory:"
+#: ../src/vikmapslayer.c:259
+msgid "Default map layer directory:"
msgstr ""
-#: ../src/vikmapslayer.c:249
+#: ../src/vikmapslayer.c:259
msgid "Choose a directory to store cached Map tiles for this layer"
msgstr ""
-#: ../src/vikmapslayer.c:505
+#: ../src/vikmapslayer.c:523
msgid "Unknown map type"
msgstr ""
-#: ../src/vikmapslayer.c:516
+#: ../src/vikmapslayer.c:534
msgid "Unknown Map Zoom"
msgstr ""
-#: ../src/vikmapslayer.c:589
+#: ../src/vikmapslayer.c:624
#, c-format
msgid ""
"New map cannot be displayed in the current drawmode.\n"
"Select \"%s\" from View menu to view it."
msgstr ""
-#: ../src/vikmapslayer.c:753
+#: ../src/vikmapslayer.c:798
#, c-format
msgid ""
"Cowardly refusing to draw tiles or existence of tiles beyond %d zoom out "
"factor"
msgstr ""
-#: ../src/vikmapslayer.c:1157
+#: ../src/vikmapslayer.c:1210
#, c-format
msgid "Redownloading up to %d %s map..."
msgid_plural "Redownloading up to %d %s maps..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikmapslayer.c:1159
+#: ../src/vikmapslayer.c:1212
#, c-format
msgid "Redownloading %d %s map..."
msgid_plural "Redownloading %d %s maps..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikmapslayer.c:1163 ../src/vikmapslayer.c:1238
+#: ../src/vikmapslayer.c:1216 ../src/vikmapslayer.c:1290
#, c-format
msgid "Downloading %d %s map..."
msgid_plural "Downloading %d %s maps..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikmapslayer.c:1311
+#: ../src/vikmapslayer.c:1376
#, c-format
msgid ""
"\n"
@@ -1682,7 +1947,7 @@ msgid ""
"Tile File Timestamp: %s"
msgstr ""
-#: ../src/vikmapslayer.c:1318
+#: ../src/vikmapslayer.c:1380
#, c-format
msgid ""
"Source: %s\n"
@@ -1690,1458 +1955,2035 @@ msgid ""
"No Tile File!"
msgstr ""
-#: ../src/vikmapslayer.c:1356
+#: ../src/vikmapslayer.c:1418
msgid "Redownload _Bad Map(s)"
msgstr ""
-#: ../src/vikmapslayer.c:1360
+#: ../src/vikmapslayer.c:1422
msgid "Redownload _New Map(s)"
msgstr ""
-#: ../src/vikmapslayer.c:1364
+#: ../src/vikmapslayer.c:1426
msgid "Redownload _All Map(s)"
msgstr ""
-#: ../src/vikmapslayer.c:1368
+#: ../src/vikmapslayer.c:1430
msgid "_Show Tile Information"
msgstr ""
-#: ../src/vikmapslayer.c:1449
+#: ../src/vikmapslayer.c:1511
#, c-format
msgid ""
"Wrong drawmode for this map.\n"
"Select \"%s\" from View menu and try again."
msgstr ""
-#: ../src/vikmapslayer.c:1454
+#: ../src/vikmapslayer.c:1516
msgid "Wrong zoom level for this map."
msgstr ""
+#: ../src/vikmapslayer.c:1647
+msgid "Zoom Start:"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1654
+msgid "Zoom End:"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1660
+msgid "Download Maps Method:"
+msgstr ""
+
+#. redownload method - needs to align with REDOWNLOAD* macro values
+#: ../src/vikmapslayer.c:1732
+msgid "Missing"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1732
+msgid "Bad"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1732
+msgid "New"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1732
+msgid "Reload All"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1734
+msgid "Download for Zoom Levels"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1774
+#, c-format
+msgid ""
+"You are not allowed to download more than %d tiles in one go (requested %d)"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1782
+#, c-format
+msgid "Do you really want to download %d tiles?"
+msgstr ""
+
#. Now with icons
-#: ../src/vikmapslayer.c:1485
+#: ../src/vikmapslayer.c:1807
msgid "Download _Missing Onscreen Maps"
msgstr ""
-#: ../src/vikmapslayer.c:1492
+#: ../src/vikmapslayer.c:1814
msgid "Download _New Onscreen Maps"
msgstr ""
-#: ../src/vikmapslayer.c:1499
+#: ../src/vikmapslayer.c:1821
msgid "Reload _All Onscreen Maps"
msgstr ""
-#: ../src/viktreeview.c:263
+#: ../src/vikmapslayer.c:1827
+msgid "Download Maps in _Zoom Levels..."
+msgstr ""
+
+#: ../src/vikrouting.c:54
+msgid "Default engine:"
+msgstr ""
+
+#: ../src/viktreeview.c:316
msgid "Layer Name"
msgstr ""
-#: ../src/viktreeview.c:742
+#: ../src/viktreeview.c:851
#, c-format
msgid "delete data from %s\n"
msgstr ""
-#: ../src/viktrwlayer.c:377
+#: ../src/viktrwlayer.c:398
msgid "Create _Waypoint"
msgstr ""
-#: ../src/viktrwlayer.c:377
+#: ../src/viktrwlayer.c:398
msgid "Create Waypoint"
msgstr ""
-#: ../src/viktrwlayer.c:383
+#: ../src/viktrwlayer.c:404
msgid "Create _Track"
msgstr ""
-#: ../src/viktrwlayer.c:383
+#: ../src/viktrwlayer.c:404
msgid "Create Track"
msgstr ""
-#: ../src/viktrwlayer.c:392
+#: ../src/viktrwlayer.c:413
msgid "Create _Route"
msgstr ""
-#: ../src/viktrwlayer.c:392
+#: ../src/viktrwlayer.c:413
msgid "Create Route"
msgstr ""
-#: ../src/viktrwlayer.c:401
+#: ../src/viktrwlayer.c:422
msgid "_Edit Waypoint"
msgstr ""
-#: ../src/viktrwlayer.c:401
+#: ../src/viktrwlayer.c:422
msgid "Edit Waypoint"
msgstr ""
-#: ../src/viktrwlayer.c:409
+#: ../src/viktrwlayer.c:432
msgid "Edit Trac_kpoint"
msgstr ""
-#: ../src/viktrwlayer.c:409
+#: ../src/viktrwlayer.c:432
msgid "Edit Trackpoint"
msgstr ""
-#: ../src/viktrwlayer.c:417
+#: ../src/viktrwlayer.c:442
msgid "Show P_icture"
msgstr ""
-#: ../src/viktrwlayer.c:417
+#: ../src/viktrwlayer.c:442
msgid "Show Picture"
msgstr ""
-#: ../src/viktrwlayer.c:424
+#: ../src/viktrwlayer.c:448
msgid "Route _Finder"
msgstr ""
-#: ../src/viktrwlayer.c:424
+#: ../src/viktrwlayer.c:448
msgid "Route Finder"
msgstr ""
#. ***** PARAMETERS *****
-#: ../src/viktrwlayer.c:447 ../src/viktrwlayer.c:1942
-#: ../src/viktrwlayer.c:1944
+#: ../src/viktrwlayer.c:468 ../src/viktrwlayer.c:2324
msgid "Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:447 ../src/viktrwlayer.c:1933
-#: ../src/viktrwlayer.c:1935
+#: ../src/viktrwlayer.c:468 ../src/viktrwlayer.c:2319
msgid "Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:447
+#: ../src/viktrwlayer.c:468
msgid "Waypoint Images"
msgstr ""
-#: ../src/viktrwlayer.c:450
+#: ../src/viktrwlayer.c:468
+msgid "Tracks Advanced"
+msgstr ""
+
+#: ../src/viktrwlayer.c:471
msgid "Draw by Track"
msgstr ""
-#: ../src/viktrwlayer.c:450
+#: ../src/viktrwlayer.c:471
msgid "Draw by Speed"
msgstr ""
-#: ../src/viktrwlayer.c:450
+#: ../src/viktrwlayer.c:471
msgid "All Tracks Same Color"
msgstr ""
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "Filled Square"
msgstr ""
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "Square"
msgstr ""
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "Circle"
msgstr ""
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "X"
msgstr ""
-#: ../src/viktrwlayer.c:477
+#: ../src/viktrwlayer.c:498
msgid "Extra Extra Small"
msgstr ""
-#: ../src/viktrwlayer.c:478
+#: ../src/viktrwlayer.c:499
msgid "Extra Small"
msgstr ""
-#: ../src/viktrwlayer.c:479
+#: ../src/viktrwlayer.c:500
msgid "Small"
msgstr ""
-#: ../src/viktrwlayer.c:480
+#: ../src/viktrwlayer.c:501
msgid "Medium"
msgstr ""
-#: ../src/viktrwlayer.c:481
+#: ../src/viktrwlayer.c:502
msgid "Large"
msgstr ""
-#: ../src/viktrwlayer.c:482
+#: ../src/viktrwlayer.c:503
msgid "Extra Large"
msgstr ""
-#: ../src/viktrwlayer.c:483
+#: ../src/viktrwlayer.c:504
msgid "Extra Extra Large"
msgstr ""
-#: ../src/viktrwlayer.c:491
+#: ../src/viktrwlayer.c:510
+msgid "Name Ascending"
+msgstr ""
+
+#: ../src/viktrwlayer.c:511
+msgid "Name Descending"
+msgstr ""
+
+#: ../src/viktrwlayer.c:552 ../src/viktrwlayer.c:576
+msgid "Draw Labels"
+msgstr ""
+
+#: ../src/viktrwlayer.c:553
+msgid "Note: the individual track controls what labels may be displayed"
+msgstr ""
+
+#: ../src/viktrwlayer.c:554
+msgid "Track Labels Font Size:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:555
msgid "Track Drawing Mode:"
msgstr ""
-#: ../src/viktrwlayer.c:492
+#: ../src/viktrwlayer.c:556
msgid "All Tracks Color:"
msgstr ""
-#: ../src/viktrwlayer.c:493
+#: ../src/viktrwlayer.c:557
msgid "The color used when 'All Tracks Same Color' drawing mode is selected"
msgstr ""
-#: ../src/viktrwlayer.c:494
+#: ../src/viktrwlayer.c:558
msgid "Draw Track Lines"
msgstr ""
-#: ../src/viktrwlayer.c:495
+#: ../src/viktrwlayer.c:559
msgid "Track Thickness:"
msgstr ""
-#: ../src/viktrwlayer.c:496
+#: ../src/viktrwlayer.c:560
msgid "Draw Track Direction"
msgstr ""
-#: ../src/viktrwlayer.c:497
+#: ../src/viktrwlayer.c:561
msgid "Direction Size:"
msgstr ""
-#: ../src/viktrwlayer.c:498
+#: ../src/viktrwlayer.c:562
msgid "Draw Trackpoints"
msgstr ""
-#: ../src/viktrwlayer.c:499
+#: ../src/viktrwlayer.c:563
msgid "Trackpoint Size:"
msgstr ""
-#: ../src/viktrwlayer.c:500
+#: ../src/viktrwlayer.c:564
msgid "Draw Elevation"
msgstr ""
-#: ../src/viktrwlayer.c:501
+#: ../src/viktrwlayer.c:565
msgid "Draw Elevation Height %:"
msgstr ""
-#: ../src/viktrwlayer.c:503
+#: ../src/viktrwlayer.c:566
msgid "Draw Stops"
msgstr ""
-#: ../src/viktrwlayer.c:504
+#: ../src/viktrwlayer.c:567
msgid ""
"Whether to draw a marker when trackpoints are at the same position but over "
"the minimum stop length apart in time"
msgstr ""
-#: ../src/viktrwlayer.c:505
+#: ../src/viktrwlayer.c:568
msgid "Min Stop Length (seconds):"
msgstr ""
-#: ../src/viktrwlayer.c:507
+#: ../src/viktrwlayer.c:570
msgid "Track BG Thickness:"
msgstr ""
-#: ../src/viktrwlayer.c:508
+#: ../src/viktrwlayer.c:571
msgid "Track Background Color"
msgstr ""
-#: ../src/viktrwlayer.c:509
+#: ../src/viktrwlayer.c:572
msgid "Draw by Speed Factor (%):"
msgstr ""
-#: ../src/viktrwlayer.c:510
+#: ../src/viktrwlayer.c:573
msgid ""
"The percentage factor away from the average speed determining the color used"
msgstr ""
-#: ../src/viktrwlayer.c:512
-msgid "Draw Labels"
+#: ../src/viktrwlayer.c:574
+msgid "Track Sort Order:"
msgstr ""
-#: ../src/viktrwlayer.c:513
+#: ../src/viktrwlayer.c:577
msgid "Waypoint Font Size:"
msgstr ""
-#: ../src/viktrwlayer.c:514
+#: ../src/viktrwlayer.c:578
msgid "Waypoint Color:"
msgstr ""
-#: ../src/viktrwlayer.c:515
+#: ../src/viktrwlayer.c:579
msgid "Waypoint Text:"
msgstr ""
-#: ../src/viktrwlayer.c:516
+#: ../src/viktrwlayer.c:580
msgid "Background:"
msgstr ""
-#: ../src/viktrwlayer.c:517
+#: ../src/viktrwlayer.c:581
msgid "Fake BG Color Translucency:"
msgstr ""
-#: ../src/viktrwlayer.c:518
+#: ../src/viktrwlayer.c:582
msgid "Waypoint marker:"
msgstr ""
-#: ../src/viktrwlayer.c:519
+#: ../src/viktrwlayer.c:583
msgid "Waypoint size:"
msgstr ""
-#: ../src/viktrwlayer.c:520
+#: ../src/viktrwlayer.c:584
msgid "Draw Waypoint Symbols:"
msgstr ""
-#: ../src/viktrwlayer.c:522
+#: ../src/viktrwlayer.c:585
+msgid "Waypoint Sort Order:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:587
msgid "Draw Waypoint Images"
msgstr ""
-#: ../src/viktrwlayer.c:523
+#: ../src/viktrwlayer.c:588
msgid "Image Size (pixels):"
msgstr ""
-#: ../src/viktrwlayer.c:524
+#: ../src/viktrwlayer.c:589
msgid "Image Alpha:"
msgstr ""
-#: ../src/viktrwlayer.c:525
+#: ../src/viktrwlayer.c:590
msgid "Image Memory Cache Size:"
msgstr ""
-#: ../src/viktrwlayer.c:610
+#: ../src/viktrwlayer.c:678
msgid "TrackWaypoint"
msgstr ""
-#: ../src/viktrwlayer.c:1951 ../src/viktrwlayer.c:1953
+#: ../src/viktrwlayer.c:1534 ../src/vikutils.c:204
+msgid "miles"
+msgstr ""
+
+#. VIK_UNITS_DISTANCE_KILOMETRES:
+#: ../src/viktrwlayer.c:1538 ../src/vikutils.c:209
+msgid "km"
+msgstr ""
+
+#: ../src/viktrwlayer.c:1648
+msgid "start/end"
+msgstr ""
+
+#: ../src/viktrwlayer.c:1660
+msgid "start"
+msgstr ""
+
+#: ../src/viktrwlayer.c:1669
+msgid "end"
+msgstr ""
+
+#: ../src/viktrwlayer.c:2329
msgid "Routes"
msgstr ""
-#: ../src/viktrwlayer.c:2144
+#: ../src/viktrwlayer.c:2519
#, c-format
msgid " in %d:%02d hrs:mins"
msgstr ""
-#: ../src/viktrwlayer.c:2148
+#: ../src/viktrwlayer.c:2523
#, c-format
msgid ""
"\n"
"%sTotal Length %.1f %s%s"
msgstr ""
-#: ../src/viktrwlayer.c:2154
+#: ../src/viktrwlayer.c:2529
#, c-format
msgid "Tracks: %d - Waypoints: %d - Routes: %d%s"
msgstr ""
-#: ../src/viktrwlayer.c:2174
+#: ../src/viktrwlayer.c:2549
#, c-format
msgid "Tracks: %d"
msgstr ""
-#: ../src/viktrwlayer.c:2184
+#: ../src/viktrwlayer.c:2559
#, c-format
msgid "Routes: %d"
msgstr ""
-#: ../src/viktrwlayer.c:2215
+#: ../src/viktrwlayer.c:2590
#, c-format
msgid "- %d:%02d hrs:mins"
msgstr ""
-#: ../src/viktrwlayer.c:2223
+#: ../src/viktrwlayer.c:2598
#, c-format
msgid "%s%.1f km %s"
msgstr ""
-#: ../src/viktrwlayer.c:2226
+#: ../src/viktrwlayer.c:2601
#, c-format
msgid "%s%.1f miles %s"
msgstr ""
-#: ../src/viktrwlayer.c:2240
+#: ../src/viktrwlayer.c:2615
#, c-format
msgid "Waypoints: %d"
msgstr ""
-#: ../src/viktrwlayer.c:2266
-#, c-format
-msgid "Trkpt: Alt %dft"
-msgstr ""
-
-#. VIK_UNITS_HEIGHT_METRES:
-#: ../src/viktrwlayer.c:2270
-#, c-format
-msgid "Trkpt: Alt %dm"
-msgstr ""
-
-#. Compact date time format
-#: ../src/viktrwlayer.c:2277
-#, c-format
-msgid " | Time %x %X"
-msgstr ""
-
-#: ../src/viktrwlayer.c:2295
-#, c-format
-msgid " | Track: %s"
-msgstr ""
-
-#. Combine parts to make overall message
-#: ../src/viktrwlayer.c:2299
-#, c-format
-msgid "%s%s | %s %s %s"
-msgstr ""
-
-#: ../src/viktrwlayer.c:2314
+#: ../src/viktrwlayer.c:2671
#, c-format
msgid "Wpt: Alt %dft"
msgstr ""
#. VIK_UNITS_HEIGHT_METRES:
-#: ../src/viktrwlayer.c:2318
+#: ../src/viktrwlayer.c:2675
#, c-format
msgid "Wpt: Alt %dm"
msgstr ""
#. Add comment if available
-#: ../src/viktrwlayer.c:2333
+#: ../src/viktrwlayer.c:2690
#, c-format
msgid "%s | %s %s | Comment: %s"
msgstr ""
-#: ../src/viktrwlayer.c:2335
+#: ../src/viktrwlayer.c:2692
#, c-format
msgid "%s | %s %s"
msgstr ""
-#: ../src/viktrwlayer.c:2563 ../src/viktrwlayer.c:2634
+#: ../src/viktrwlayer.c:2939 ../src/viktrwlayer.c:3010
msgid "This layer has no waypoints or trackpoints."
msgstr ""
-#: ../src/viktrwlayer.c:2661 ../src/vikwindow.c:2407 ../src/vikwindow.c:2848
+#: ../src/viktrwlayer.c:3045 ../src/vikwindow.c:2754 ../src/vikwindow.c:3407
#, c-format
msgid "The file \"%s\" exists, do you wish to overwrite it?"
msgstr ""
-#: ../src/viktrwlayer.c:2671 ../src/vikwindow.c:2429
+#: ../src/viktrwlayer.c:3057 ../src/vikwindow.c:2778
msgid "The filename you requested could not be opened for writing."
msgstr ""
-#: ../src/viktrwlayer.c:2676 ../src/viktrwlayer.c:2681
-#: ../src/viktrwlayer.c:2691 ../src/viktrwlayer.c:2703
+#: ../src/viktrwlayer.c:3062 ../src/viktrwlayer.c:3067
+#: ../src/viktrwlayer.c:3077 ../src/viktrwlayer.c:3089
msgid "Export Layer"
msgstr ""
-#: ../src/viktrwlayer.c:2720
+#: ../src/viktrwlayer.c:3108
msgid "Could not create temporary file for export."
msgstr ""
-#: ../src/viktrwlayer.c:2729
+#: ../src/viktrwlayer.c:3117
#, c-format
msgid "Could not launch %s."
msgstr ""
-#: ../src/viktrwlayer.c:2773
+#: ../src/viktrwlayer.c:3161
msgid "Export Track as GPX"
msgstr ""
-#: ../src/viktrwlayer.c:2795
+#: ../src/viktrwlayer.c:3183
msgid "Find"
msgstr ""
-#: ../src/viktrwlayer.c:2805
+#: ../src/viktrwlayer.c:3193
msgid "Waypoint Name:"
msgstr ""
-#: ../src/viktrwlayer.c:2822
+#: ../src/viktrwlayer.c:3210
msgid "Waypoint not found in this layer."
msgstr ""
-#: ../src/viktrwlayer.c:3090
+#: ../src/viktrwlayer.c:3476
msgid "Can not upload invisible track."
msgstr ""
-#: ../src/viktrwlayer.c:3192 ../src/viktrwlayer.c:7785
+#: ../src/viktrwlayer.c:3581 ../src/viktrwlayer.c:9283
msgid "Track"
msgstr ""
-#: ../src/viktrwlayer.c:3215 ../src/viktrwlayer.c:7817
+#: ../src/viktrwlayer.c:3606 ../src/viktrwlayer.c:9316
msgid "Route"
msgstr ""
-#: ../src/viktrwlayer.c:3296 ../src/viktrwlayer.c:6265
-#: ../src/viktrwlayer.c:6314
+#: ../src/viktrwlayer.c:3691 ../src/viktrwlayer.c:7460
+#: ../src/viktrwlayer.c:7566
msgid "_Finish Route"
msgstr ""
-#: ../src/viktrwlayer.c:3298 ../src/viktrwlayer.c:6223
-#: ../src/viktrwlayer.c:6312
+#: ../src/viktrwlayer.c:3693 ../src/viktrwlayer.c:7383
+#: ../src/viktrwlayer.c:7564
msgid "_Finish Track"
msgstr ""
#. Now with icons
-#: ../src/viktrwlayer.c:3310
+#: ../src/viktrwlayer.c:3705
msgid "_View Layer"
msgstr ""
-#: ../src/viktrwlayer.c:3317
+#: ../src/viktrwlayer.c:3712
msgid "V_iew"
msgstr ""
-#: ../src/viktrwlayer.c:3323
+#: ../src/viktrwlayer.c:3718
msgid "View All _Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:3328
+#: ../src/viktrwlayer.c:3723
msgid "View All _Routes"
msgstr ""
-#: ../src/viktrwlayer.c:3333
+#: ../src/viktrwlayer.c:3728
msgid "View All _Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:3338
+#: ../src/viktrwlayer.c:3733
msgid "_Goto Center of Layer"
msgstr ""
-#: ../src/viktrwlayer.c:3344 ../src/viktrwlayer.c:6199
+#: ../src/viktrwlayer.c:3739 ../src/viktrwlayer.c:7335
msgid "Goto _Waypoint..."
msgstr ""
-#: ../src/viktrwlayer.c:3350
+#: ../src/viktrwlayer.c:3745
msgid "_Export Layer"
msgstr ""
-#: ../src/viktrwlayer.c:3356
+#: ../src/viktrwlayer.c:3751
msgid "Export as GPS_Point..."
msgstr ""
-#: ../src/viktrwlayer.c:3361
+#: ../src/viktrwlayer.c:3756
msgid "Export as GPS_Mapper..."
msgstr ""
-#: ../src/viktrwlayer.c:3366
+#: ../src/viktrwlayer.c:3761
msgid "Export as _GPX..."
msgstr ""
-#: ../src/viktrwlayer.c:3371
+#: ../src/viktrwlayer.c:3766
msgid "Export as _KML..."
msgstr ""
-#: ../src/viktrwlayer.c:3376
+#: ../src/viktrwlayer.c:3771
msgid "Open with External Program_1: "
msgstr ""
-#: ../src/viktrwlayer.c:3383
+#: ../src/viktrwlayer.c:3778
msgid "Open with External Program_2: "
msgstr ""
-#: ../src/viktrwlayer.c:3391 ../src/vikwindow.c:3145
+#: ../src/viktrwlayer.c:3786 ../src/vikwindow.c:3704
msgid "_New"
msgstr ""
-#: ../src/viktrwlayer.c:3397
+#: ../src/viktrwlayer.c:3792
msgid "New _Waypoint..."
msgstr ""
-#: ../src/viktrwlayer.c:3403
+#: ../src/viktrwlayer.c:3798
msgid "New _Track"
msgstr ""
-#: ../src/viktrwlayer.c:3411
+#: ../src/viktrwlayer.c:3806
msgid "New _Route"
msgstr ""
-#: ../src/viktrwlayer.c:3420 ../src/viktrwlayer.c:6597
+#: ../src/viktrwlayer.c:3815 ../src/viktrwlayer.c:7938
msgid "Geotag _Images..."
msgstr ""
-#: ../src/viktrwlayer.c:3427
+#: ../src/viktrwlayer.c:3822
msgid "_Acquire"
msgstr ""
-#: ../src/viktrwlayer.c:3433 ../src/vikwindow.c:3150
+#: ../src/viktrwlayer.c:3828 ../src/vikwindow.c:3711
msgid "From _GPS..."
msgstr ""
-#: ../src/viktrwlayer.c:3439
-msgid "From Google _Directions..."
+#. FIXME: only add menu when at least a routing engine has support for Directions
+#: ../src/viktrwlayer.c:3834
+msgid "From _Directions..."
msgstr ""
-#: ../src/viktrwlayer.c:3446
+#: ../src/viktrwlayer.c:3840
msgid "From _OSM Traces..."
msgstr ""
-#: ../src/viktrwlayer.c:3451
+#: ../src/viktrwlayer.c:3845
msgid "From _My OSM Traces..."
msgstr ""
-#: ../src/viktrwlayer.c:3459 ../src/vikwindow.c:3166
+#: ../src/viktrwlayer.c:3853 ../src/vikwindow.c:3725
msgid "From _Wikipedia Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:3465
+#: ../src/viktrwlayer.c:3859
msgid "Within _Layer Bounds"
msgstr ""
-#: ../src/viktrwlayer.c:3471
+#: ../src/viktrwlayer.c:3865
msgid "Within _Current View"
msgstr ""
-#: ../src/viktrwlayer.c:3479
+#: ../src/viktrwlayer.c:3873
msgid "From Geo_caching..."
msgstr ""
-#: ../src/viktrwlayer.c:3486 ../src/vikwindow.c:3163
+#: ../src/viktrwlayer.c:3880 ../src/vikwindow.c:3722
msgid "From Geotagged _Images..."
msgstr ""
-#: ../src/viktrwlayer.c:3492
+#: ../src/viktrwlayer.c:3886
msgid "From _File..."
msgstr ""
-#: ../src/viktrwlayer.c:3498 ../src/viktrwlayer.c:6542
+#: ../src/viktrwlayer.c:3894 ../src/viktrwlayer.c:7883
msgid "_Upload"
msgstr ""
-#: ../src/viktrwlayer.c:3504
+#: ../src/viktrwlayer.c:3900
msgid "Upload to _GPS..."
msgstr ""
-#: ../src/viktrwlayer.c:3511 ../src/viktrwlayer.c:6570
+#: ../src/viktrwlayer.c:3907 ../src/viktrwlayer.c:7911
msgid "Upload to _OSM..."
msgstr ""
-#: ../src/viktrwlayer.c:3519
+#: ../src/viktrwlayer.c:3915
msgid "De_lete"
msgstr ""
-#: ../src/viktrwlayer.c:3525
+#: ../src/viktrwlayer.c:3921
msgid "Delete All _Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:3531
+#: ../src/viktrwlayer.c:3927
msgid "Delete Tracks _From Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:3537 ../src/viktrwlayer.c:6290
+#: ../src/viktrwlayer.c:3933 ../src/viktrwlayer.c:7485
msgid "Delete _All Routes"
msgstr ""
-#: ../src/viktrwlayer.c:3543 ../src/viktrwlayer.c:6296
+#: ../src/viktrwlayer.c:3939 ../src/viktrwlayer.c:7491
msgid "_Delete Routes From Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:3549
+#: ../src/viktrwlayer.c:3945
msgid "Delete All _Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:3555
+#: ../src/viktrwlayer.c:3951
msgid "Delete Waypoints From _Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:4128
+#: ../src/viktrwlayer.c:4574
#, c-format
msgid "Are you sure you want to delete all tracks in %s?"
msgstr ""
-#: ../src/viktrwlayer.c:4138
+#: ../src/viktrwlayer.c:4584
#, c-format
msgid "Are you sure you want to delete all routes in %s?"
msgstr ""
-#: ../src/viktrwlayer.c:4148
+#: ../src/viktrwlayer.c:4594
#, c-format
msgid "Are you sure you want to delete all waypoints in %s?"
msgstr ""
-#: ../src/viktrwlayer.c:4165
+#: ../src/viktrwlayer.c:4611
#, c-format
-msgid "Are you sure you want to delete the waypoint \"%s\""
+msgid "Are you sure you want to delete the waypoint \"%s\"?"
msgstr ""
-#: ../src/viktrwlayer.c:4178
+#: ../src/viktrwlayer.c:4624
#, c-format
-msgid "Are you sure you want to delete the track \"%s\""
+msgid "Are you sure you want to delete the track \"%s\"?"
msgstr ""
-#: ../src/viktrwlayer.c:4191
+#: ../src/viktrwlayer.c:4637
#, c-format
-msgid "Are you sure you want to delete the route \"%s\""
+msgid "Are you sure you want to delete the route \"%s\"?"
msgstr ""
-#: ../src/viktrwlayer.c:4351 ../src/viktrwlayer.c:4922
+#: ../src/viktrwlayer.c:4849 ../src/viktrwlayer.c:5677
msgid ""
"Converting a track to a route removes extra track data such as segments, "
"timestamps, etc...\n"
"Do you want to continue?"
msgstr ""
-#: ../src/viktrwlayer.c:4711
+#: ../src/viktrwlayer.c:4944
+msgid "No DEM layers available, thus no DEM values can be applied."
+msgstr ""
+
+#: ../src/viktrwlayer.c:4964 ../src/viktrwlayer.c:5005
+#, c-format
+msgid "%ld point adjusted"
+msgid_plural "%ld points adjusted"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/viktrwlayer.c:5049
+#, c-format
+msgid "%ld waypoint changed"
+msgid_plural "%ld waypoints changed"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/viktrwlayer.c:5233
+#, c-format
+msgid ""
+"Refining a track with many points (%d) is unlikely to yield sensible "
+"results. Do you want to Continue?"
+msgstr ""
+
+#. Select engine from dialog
+#: ../src/viktrwlayer.c:5241
+msgid "Refine Route with Routing Engine..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:5249
+msgid "Select routing engine"
+msgstr ""
+
+#: ../src/viktrwlayer.c:5467
msgid "Failed. No other tracks with timestamps in this layer found"
msgstr ""
-#: ../src/viktrwlayer.c:4713
+#: ../src/viktrwlayer.c:5469
msgid "Failed. No other tracks without timestamps in this layer found"
msgstr ""
-#: ../src/viktrwlayer.c:4732
+#: ../src/viktrwlayer.c:5488
msgid "Merge with..."
msgstr ""
-#: ../src/viktrwlayer.c:4733
+#: ../src/viktrwlayer.c:5489
msgid "Select route to merge with"
msgstr ""
-#: ../src/viktrwlayer.c:4733
+#: ../src/viktrwlayer.c:5489
msgid "Select track to merge with"
msgstr ""
-#: ../src/viktrwlayer.c:4818 ../src/viktrwlayer.c:4895
+#: ../src/viktrwlayer.c:5573 ../src/viktrwlayer.c:5650
msgid "Append Route"
msgstr ""
-#: ../src/viktrwlayer.c:4818 ../src/viktrwlayer.c:4895
+#: ../src/viktrwlayer.c:5573 ../src/viktrwlayer.c:5650
msgid "Append Track"
msgstr ""
-#: ../src/viktrwlayer.c:4819
+#: ../src/viktrwlayer.c:5574
msgid "Select the route to append after the current route"
msgstr ""
-#: ../src/viktrwlayer.c:4820
+#: ../src/viktrwlayer.c:5575
msgid "Select the track to append after the current track"
msgstr ""
-#: ../src/viktrwlayer.c:4896
+#: ../src/viktrwlayer.c:5651
msgid "Select the track to append after the current route"
msgstr ""
-#: ../src/viktrwlayer.c:4897
+#: ../src/viktrwlayer.c:5652
msgid "Select the route to append after the current track"
msgstr ""
-#: ../src/viktrwlayer.c:4957
+#: ../src/viktrwlayer.c:5711
#, c-format
msgid "%d segment merged"
msgid_plural "%d segments merged"
msgstr[0] ""
msgstr[1] ""
-#: ../src/viktrwlayer.c:4973
+#: ../src/viktrwlayer.c:5727
msgid "Failed. This track does not have timestamp"
msgstr ""
-#: ../src/viktrwlayer.c:4985
+#: ../src/viktrwlayer.c:5739
msgid "Failed. No other track in this layer has timestamp"
msgstr ""
-#: ../src/viktrwlayer.c:4992
+#: ../src/viktrwlayer.c:5746
msgid "Merge Threshold..."
msgstr ""
-#: ../src/viktrwlayer.c:4993
+#: ../src/viktrwlayer.c:5747
msgid "Merge when time between tracks less than:"
msgstr ""
-#: ../src/viktrwlayer.c:5128
+#: ../src/viktrwlayer.c:5889
msgid "Split Threshold..."
msgstr ""
-#: ../src/viktrwlayer.c:5129
+#: ../src/viktrwlayer.c:5890
msgid "Split when time between trackpoints exceeds:"
msgstr ""
-#: ../src/viktrwlayer.c:5205
+#: ../src/viktrwlayer.c:5907
+#, c-format
+msgid ""
+"Can not split track due to trackpoints not ordered in time - such as at %s.\n"
+"\n"
+"Goto this trackpoint?"
+msgstr ""
+
+#: ../src/viktrwlayer.c:5976
msgid "Split Every Nth Point"
msgstr ""
-#: ../src/viktrwlayer.c:5206
+#: ../src/viktrwlayer.c:5977
msgid "Split on every Nth point:"
msgstr ""
-#: ../src/viktrwlayer.c:5312
+#: ../src/viktrwlayer.c:6087
msgid "Can not split track as it has no segments"
msgstr ""
-#: ../src/viktrwlayer.c:5340 ../src/viktrwlayer.c:5370
+#: ../src/viktrwlayer.c:6169 ../src/viktrwlayer.c:6199
#, c-format
msgid "Deleted %ld point"
msgid_plural "Deleted %ld points"
msgstr[0] ""
msgstr[1] ""
-#: ../src/viktrwlayer.c:5531
+#: ../src/viktrwlayer.c:6392
msgid "Internal Error in vik_trw_layer_uniquify_tracks"
msgstr ""
-#: ../src/viktrwlayer.c:5588 ../src/viktrwlayer.c:5635
-#: ../src/viktrwlayer.c:5814
+#: ../src/viktrwlayer.c:6496 ../src/viktrwlayer.c:6543
+#: ../src/viktrwlayer.c:6704
msgid ""
"Multiple entries with the same name exist. This method only works with "
"unique names. Force unique names now?"
msgstr ""
-#: ../src/viktrwlayer.c:5599
+#: ../src/viktrwlayer.c:6507
msgid "No tracks found"
msgstr ""
-#: ../src/viktrwlayer.c:5607 ../src/viktrwlayer.c:5654
-#: ../src/viktrwlayer.c:5834
+#: ../src/viktrwlayer.c:6515 ../src/viktrwlayer.c:6562
+#: ../src/viktrwlayer.c:6724
msgid "Delete Selection"
msgstr ""
-#: ../src/viktrwlayer.c:5608
+#: ../src/viktrwlayer.c:6516
msgid "Select tracks to delete"
msgstr ""
-#: ../src/viktrwlayer.c:5646
+#: ../src/viktrwlayer.c:6554
msgid "No routes found"
msgstr ""
-#: ../src/viktrwlayer.c:5655
+#: ../src/viktrwlayer.c:6563
msgid "Select routes to delete"
msgstr ""
-#: ../src/viktrwlayer.c:5761
+#: ../src/viktrwlayer.c:6669
msgid "Internal Error in vik_trw_layer_uniquify_waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:5824
+#: ../src/viktrwlayer.c:6714
msgid "No waypoints found"
msgstr ""
-#: ../src/viktrwlayer.c:5835
+#: ../src/viktrwlayer.c:6725
msgid "Select waypoints to delete"
msgstr ""
-#: ../src/viktrwlayer.c:5896
+#: ../src/viktrwlayer.c:7033
#, c-format
msgid ""
"A waypoint with the name \"%s\" already exists. Really rename to the same "
"name?"
msgstr ""
-#: ../src/viktrwlayer.c:5926
+#: ../src/viktrwlayer.c:7063
#, c-format
msgid ""
"A track with the name \"%s\" already exists. Really rename to the same name?"
msgstr ""
-#: ../src/viktrwlayer.c:5963
+#: ../src/viktrwlayer.c:7100
#, c-format
msgid ""
"A route with the name \"%s\" already exists. Really rename to the same name?"
msgstr ""
-#: ../src/viktrwlayer.c:6085 ../src/viktrwlayer.c:6337
+#: ../src/viktrwlayer.c:7221 ../src/viktrwlayer.c:7594
msgid "_Goto"
msgstr ""
-#: ../src/viktrwlayer.c:6104
+#: ../src/viktrwlayer.c:7240
msgid "_Visit Geocache Webpage"
msgstr ""
-#: ../src/viktrwlayer.c:6123
+#: ../src/viktrwlayer.c:7259
msgid "_Show Picture..."
msgstr ""
-#: ../src/viktrwlayer.c:6131
+#: ../src/viktrwlayer.c:7267
msgid "Update Geotag on _Image"
msgstr ""
-#: ../src/viktrwlayer.c:6137
+#: ../src/viktrwlayer.c:7273
msgid "_Update"
msgstr ""
-#: ../src/viktrwlayer.c:6142
+#: ../src/viktrwlayer.c:7278
msgid "Update and _Keep File Timestamp"
msgstr ""
-#: ../src/viktrwlayer.c:6153
+#: ../src/viktrwlayer.c:7289
msgid "Visit _Webpage"
msgstr ""
-#: ../src/viktrwlayer.c:6184
+#: ../src/viktrwlayer.c:7320
msgid "_New Waypoint..."
msgstr ""
-#: ../src/viktrwlayer.c:6193
+#: ../src/viktrwlayer.c:7329
msgid "_View All Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:6205
+#: ../src/viktrwlayer.c:7341
msgid "Delete _All Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:6211
+#: ../src/viktrwlayer.c:7347
msgid "_Delete Waypoints From Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:6233
+#: ../src/viktrwlayer.c:7359
+msgid "_Show All Waypoints"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7365
+msgid "_Hide All Waypoints"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7393
msgid "_View All Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:6239
+#: ../src/viktrwlayer.c:7399
msgid "_New Track"
msgstr ""
-#: ../src/viktrwlayer.c:6247
+#: ../src/viktrwlayer.c:7407
msgid "Delete _All Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:6253
+#: ../src/viktrwlayer.c:7413
msgid "_Delete Tracks From Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:6276
+#: ../src/viktrwlayer.c:7425
+msgid "_Show All Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7431
+msgid "_Hide All Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7442
+msgid "_List Tracks..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7471
msgid "_View All Routes"
msgstr ""
-#: ../src/viktrwlayer.c:6282
+#: ../src/viktrwlayer.c:7477
msgid "_New Route"
msgstr ""
-#: ../src/viktrwlayer.c:6327
+#: ../src/viktrwlayer.c:7503
+msgid "_Show All Routes"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7509
+msgid "_Hide All Routes"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7520
+msgid "_List Routes..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7579
msgid "_View Track"
msgstr ""
-#: ../src/viktrwlayer.c:6329
+#: ../src/viktrwlayer.c:7581
msgid "_View Route"
msgstr ""
-#: ../src/viktrwlayer.c:6343
+#: ../src/viktrwlayer.c:7600
msgid "_Startpoint"
msgstr ""
-#: ../src/viktrwlayer.c:6349
+#: ../src/viktrwlayer.c:7606
msgid "\"_Center\""
msgstr ""
-#: ../src/viktrwlayer.c:6355
+#: ../src/viktrwlayer.c:7612
msgid "_Endpoint"
msgstr ""
-#: ../src/viktrwlayer.c:6361
+#: ../src/viktrwlayer.c:7618
msgid "_Highest Altitude"
msgstr ""
-#: ../src/viktrwlayer.c:6367
+#: ../src/viktrwlayer.c:7624
msgid "_Lowest Altitude"
msgstr ""
-#: ../src/viktrwlayer.c:6375
+#: ../src/viktrwlayer.c:7632
msgid "_Maximum Speed"
msgstr ""
-#: ../src/viktrwlayer.c:6384
+#: ../src/viktrwlayer.c:7641
msgid "Co_mbine"
msgstr ""
-#: ../src/viktrwlayer.c:6392
+#: ../src/viktrwlayer.c:7649
msgid "_Merge By Time..."
msgstr ""
-#: ../src/viktrwlayer.c:6397
+#: ../src/viktrwlayer.c:7654
msgid "Merge _Segments"
msgstr ""
-#: ../src/viktrwlayer.c:6403
+#: ../src/viktrwlayer.c:7660
msgid "Merge _With Other Tracks..."
msgstr ""
-#: ../src/viktrwlayer.c:6409
+#: ../src/viktrwlayer.c:7666
msgid "_Append Track..."
msgstr ""
-#: ../src/viktrwlayer.c:6411
+#: ../src/viktrwlayer.c:7668
msgid "_Append Route..."
msgstr ""
-#: ../src/viktrwlayer.c:6417
+#: ../src/viktrwlayer.c:7674
msgid "Append _Route..."
msgstr ""
-#: ../src/viktrwlayer.c:6419
+#: ../src/viktrwlayer.c:7676
msgid "Append _Track..."
msgstr ""
-#: ../src/viktrwlayer.c:6426
+#: ../src/viktrwlayer.c:7683
msgid "_Split"
msgstr ""
-#: ../src/viktrwlayer.c:6434
+#: ../src/viktrwlayer.c:7691
msgid "_Split By Time..."
msgstr ""
#. ATM always enable this entry - don't want to have to analyse the track before displaying the menu - to keep the menu speedy
-#: ../src/viktrwlayer.c:6440
+#: ../src/viktrwlayer.c:7697
msgid "Split Se_gments"
msgstr ""
-#: ../src/viktrwlayer.c:6446
+#: ../src/viktrwlayer.c:7703
msgid "Split By _Number of Points..."
msgstr ""
-#: ../src/viktrwlayer.c:6451
+#: ../src/viktrwlayer.c:7708
msgid "Split at _Trackpoint"
msgstr ""
-#: ../src/viktrwlayer.c:6460
+#: ../src/viktrwlayer.c:7716
+msgid "_Insert Points"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7722
+msgid "Insert Point _Before Selected Point"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7729
+msgid "Insert Point _After Selected Point"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7738
msgid "Delete Poi_nts"
msgstr ""
-#: ../src/viktrwlayer.c:6466
+#: ../src/viktrwlayer.c:7744
+msgid "Delete _Selected Point"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7752
msgid "Delete Points With The Same _Position"
msgstr ""
-#: ../src/viktrwlayer.c:6471
+#: ../src/viktrwlayer.c:7757
msgid "Delete Points With The Same _Time"
msgstr ""
-#: ../src/viktrwlayer.c:6477
-msgid "_Reverse Track"
+#: ../src/viktrwlayer.c:7764 ../src/viktrwlayer.c:7964
+msgid "_Transform"
msgstr ""
-#: ../src/viktrwlayer.c:6479
-msgid "_Reverse Route"
+#: ../src/viktrwlayer.c:7772 ../src/viktrwlayer.c:7972
+msgid "_Apply DEM Data"
msgstr ""
-#: ../src/viktrwlayer.c:6488
-msgid "Down_load Maps Along Track..."
+#: ../src/viktrwlayer.c:7777 ../src/viktrwlayer.c:7977
+msgid "_Overwrite"
msgstr ""
-#: ../src/viktrwlayer.c:6490
-msgid "Down_load Maps Along Route..."
+#: ../src/viktrwlayer.c:7780 ../src/viktrwlayer.c:7980
+msgid "Overwrite any existing elevation values with DEM values"
msgstr ""
-#: ../src/viktrwlayer.c:6497
-msgid "_Apply DEM Data"
+#: ../src/viktrwlayer.c:7783 ../src/viktrwlayer.c:7983
+msgid "_Keep Existing"
msgstr ""
-#: ../src/viktrwlayer.c:6504
-msgid "_Export Track as GPX..."
+#: ../src/viktrwlayer.c:7786 ../src/viktrwlayer.c:7986
+msgid "Keep existing elevation values, only attempt for missing values"
msgstr ""
-#: ../src/viktrwlayer.c:6506
-msgid "_Export Route as GPX..."
+#: ../src/viktrwlayer.c:7791
+msgid "_Smooth Missing Elevation Data"
msgstr ""
-#: ../src/viktrwlayer.c:6513
-msgid "E_xtend Track End"
+#: ../src/viktrwlayer.c:7796
+msgid "_Interpolated"
msgstr ""
-#: ../src/viktrwlayer.c:6515
-msgid "E_xtend Route End"
+#: ../src/viktrwlayer.c:7799
+msgid ""
+"Interpolate between known elevation values to derive values for the missing "
+"elevations"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7802
+msgid "_Flat"
msgstr ""
-#: ../src/viktrwlayer.c:6522
+#: ../src/viktrwlayer.c:7805
+msgid "Set unknown elevation values to the last known value"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7809
msgid "C_onvert to a Route"
msgstr ""
-#: ../src/viktrwlayer.c:6524
+#: ../src/viktrwlayer.c:7811
msgid "C_onvert to a Track"
msgstr ""
-#: ../src/viktrwlayer.c:6532
+#: ../src/viktrwlayer.c:7819
+msgid "_Anonymize Times"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7822
+msgid "Shift timestamps to a relative offset from 1901-01-01"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7827
+msgid "_Reverse Track"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7829
+msgid "_Reverse Route"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7836
+msgid "Refine Route..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7846
+msgid "Down_load Maps Along Track..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7848
+msgid "Down_load Maps Along Route..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7856
+msgid "_Export Track as GPX..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7858
+msgid "_Export Route as GPX..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7865
+msgid "E_xtend Track End"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7867
+msgid "E_xtend Route End"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7874
msgid "Extend _Using Route Finder"
msgstr ""
-#: ../src/viktrwlayer.c:6548
+#: ../src/viktrwlayer.c:7889
msgid "_Upload to GPS..."
msgstr ""
-#: ../src/viktrwlayer.c:6559
+#: ../src/viktrwlayer.c:7900
msgid "_View Google Directions"
msgstr ""
-#: ../src/viktrwlayer.c:6579
+#: ../src/viktrwlayer.c:7920
msgid "Use with _Filter"
msgstr ""
-#: ../src/viktrwlayer.c:6612
+#: ../src/viktrwlayer.c:7953
msgid "_Edit Trackpoint"
msgstr ""
-#: ../src/viktrwlayer.c:7524
+#: ../src/viktrwlayer.c:9017
#, c-format
msgid " - Gain %dm:Loss %dm"
msgstr ""
-#: ../src/viktrwlayer.c:7526
+#: ../src/viktrwlayer.c:9019
#, c-format
msgid " - Gain %dft:Loss %dft"
msgstr ""
-#: ../src/viktrwlayer.c:7531
+#: ../src/viktrwlayer.c:9024
#, c-format
msgid " - Bearing %3.1f° - Step %s"
msgstr ""
-#: ../src/viktrwlayer.c:8124
+#: ../src/viktrwlayer.c:9628
#, c-format
msgid "Could not launch %s to open file."
msgstr ""
-#: ../src/viktrwlayer.c:8205
+#: ../src/viktrwlayer.c:9709
#, c-format
msgid "Creating %d Image Thumbnails..."
msgstr ""
-#: ../src/viktrwlayer.c:8524
+#: ../src/viktrwlayer.c:10106
msgid "No map layer in use. Create one first"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:898 ../src/viktrwlayer_propwin.c:1155
+#: ../src/viktrwlayer.c:10225
+#, c-format
+msgid "%s: Track List"
+msgstr ""
+
+#: ../src/viktrwlayer.c:10227
+#, c-format
+msgid "%s: Route List"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:828 ../src/viktrwlayer_propwin.c:1085
#, c-format
msgid "%.1f kph"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:901 ../src/viktrwlayer_propwin.c:1158
+#: ../src/viktrwlayer_propwin.c:831 ../src/viktrwlayer_propwin.c:1088
+#: ../src/viktrwlayer_analysis.c:290
#, c-format
msgid "%.1f mph"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:904 ../src/viktrwlayer_propwin.c:1161
+#: ../src/viktrwlayer_propwin.c:834 ../src/viktrwlayer_propwin.c:1091
#, c-format
msgid "%.1f knots"
msgstr ""
#. VIK_UNITS_SPEED_METRES_PER_SECOND:
-#: ../src/viktrwlayer_propwin.c:908 ../src/viktrwlayer_propwin.c:1165
+#: ../src/viktrwlayer_propwin.c:838 ../src/viktrwlayer_propwin.c:1095
#, c-format
msgid "%.1f m/s"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:1745
+#: ../src/viktrwlayer_propwin.c:1662 ../src/viktrwlayer_analysis.c:267
#, c-format
msgid "%.1f miles"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:1747
+#. VIK_UNITS_DISTANCE_KILOMETRES
+#: ../src/viktrwlayer_propwin.c:1664 ../src/viktrwlayer_analysis.c:271
#, c-format
msgid "%.1f km"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2681
+#: ../src/viktrwlayer_propwin.c:2582
msgid "Failed spliting track. Track unchanged"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2779 ../src/viktrwlayer_propwin.c:3178
+#: ../src/viktrwlayer_propwin.c:2724 ../src/viktrwlayer_propwin.c:3140
#, c-format
msgid "%s - Track Properties"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2784
+#: ../src/viktrwlayer_propwin.c:2729
msgid "Split at _Marker"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2785
+#: ../src/viktrwlayer_propwin.c:2730
msgid "Split _Segments"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2786
+#: ../src/viktrwlayer_propwin.c:2731
msgid "_Reverse"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2787
+#: ../src/viktrwlayer_propwin.c:2732
msgid "_Delete Dupl."
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2813
+#: ../src/viktrwlayer_propwin.c:2757
msgid "<b>Comment:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2814
+#: ../src/viktrwlayer_propwin.c:2758
msgid "<b>Description:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2815
+#: ../src/viktrwlayer_propwin.c:2759
+msgid "<b>Color:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2760
+msgid "<b>Draw Name:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2761
+msgid "<b>Distance Labels:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2764
msgid "<b>Track Length:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2816
+#: ../src/viktrwlayer_propwin.c:2765
msgid "<b>Trackpoints:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2817
+#: ../src/viktrwlayer_propwin.c:2766
msgid "<b>Segments:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2818
+#: ../src/viktrwlayer_propwin.c:2767
msgid "<b>Duplicate Points:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2819
+#: ../src/viktrwlayer_propwin.c:2768
msgid "<b>Max Speed:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2820
+#: ../src/viktrwlayer_propwin.c:2769
msgid "<b>Avg. Speed:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2821
+#: ../src/viktrwlayer_propwin.c:2770
msgid "<b>Moving Avg. Speed:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2822
+#: ../src/viktrwlayer_propwin.c:2771
msgid "<b>Avg. Dist. Between TPs:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2823
+#: ../src/viktrwlayer_propwin.c:2772
msgid "<b>Elevation Range:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2824
+#: ../src/viktrwlayer_propwin.c:2773
msgid "<b>Total Elevation Gain/Loss:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2825
+#: ../src/viktrwlayer_propwin.c:2774
msgid "<b>Start:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2826
+#: ../src/viktrwlayer_propwin.c:2775
msgid "<b>End:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2827
+#: ../src/viktrwlayer_propwin.c:2776
msgid "<b>Duration:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2828
-msgid "<b>Color:</b>"
+#: ../src/viktrwlayer_propwin.c:2797
+msgid "No"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2798
+msgid "Centre"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2799
+msgid "Start only"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2800
+msgid "End only"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2801
+msgid "Start and End"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2802
+msgid "Centre, Start and End"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2814
+msgid "Maximum number of distance labels to be shown"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2818
+msgid "Properties"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2877 ../src/viktrwlayer_propwin.c:2901
-#: ../src/viktrwlayer_propwin.c:2929 ../src/viktrwlayer_propwin.c:2966
-#: ../src/viktrwlayer_propwin.c:2984 ../src/viktrwlayer_propwin.c:3034
-#: ../src/viktrwlayer_propwin.c:3035 ../src/viktrwlayer_propwin.c:3036
-#: ../src/viktrwlayer_propwin.c:3062 ../src/viktrwlayer_propwin.c:3063
+#: ../src/viktrwlayer_propwin.c:2856 ../src/viktrwlayer_propwin.c:2880
+#: ../src/viktrwlayer_propwin.c:2908 ../src/viktrwlayer_propwin.c:2945
+#: ../src/viktrwlayer_propwin.c:2963 ../src/viktrwlayer_propwin.c:3009
+#: ../src/viktrwlayer_propwin.c:3010 ../src/viktrwlayer_propwin.c:3011
+#: ../src/viktrwlayer_propwin.c:3020 ../src/viktrwlayer_propwin.c:3021
+#: ../src/viktrwlayer_propwin.c:3036 ../src/viktrwlayer_propwin.c:3037
+#: ../src/viktrwlayer_propwin.c:3050 ../src/viktrwlayer_propwin.c:3051
+#: ../src/viktrwlayer_propwin.c:3064 ../src/viktrwlayer_propwin.c:3065
#: ../src/viktrwlayer_propwin.c:3078 ../src/viktrwlayer_propwin.c:3079
#: ../src/viktrwlayer_propwin.c:3092 ../src/viktrwlayer_propwin.c:3093
-#: ../src/viktrwlayer_propwin.c:3106 ../src/viktrwlayer_propwin.c:3107
-#: ../src/viktrwlayer_propwin.c:3120 ../src/viktrwlayer_propwin.c:3121
-#: ../src/viktrwlayer_propwin.c:3134 ../src/viktrwlayer_propwin.c:3135
+#: ../src/viktrwlayer_analysis.c:257
#, c-format
msgid "No Data"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3031
+#: ../src/viktrwlayer_propwin.c:3006
#, c-format
msgid "%d minutes"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3058
+#: ../src/viktrwlayer_propwin.c:3016 ../src/viktrwlayer_analysis.c:515
msgid "Statistics"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3064
+#: ../src/viktrwlayer_propwin.c:3022
msgid "Show D_EM"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3065 ../src/viktrwlayer_propwin.c:3080
-#: ../src/viktrwlayer_propwin.c:3094 ../src/viktrwlayer_propwin.c:3136
+#: ../src/viktrwlayer_propwin.c:3023 ../src/viktrwlayer_propwin.c:3038
+#: ../src/viktrwlayer_propwin.c:3052 ../src/viktrwlayer_propwin.c:3094
msgid "Show _GPS Speed"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3067 ../src/viktrwlayer_propwin.c:3082
-#: ../src/viktrwlayer_propwin.c:3110 ../src/viktrwlayer_propwin.c:3138
+#: ../src/viktrwlayer_propwin.c:3025 ../src/viktrwlayer_propwin.c:3040
+#: ../src/viktrwlayer_propwin.c:3068 ../src/viktrwlayer_propwin.c:3096
msgid "<b>Track Distance:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3068 ../src/viktrwlayer_propwin.c:3125
+#: ../src/viktrwlayer_propwin.c:3026 ../src/viktrwlayer_propwin.c:3083
msgid "<b>Track Height:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3073
+#: ../src/viktrwlayer_propwin.c:3031
msgid "Elevation-distance"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3083
+#: ../src/viktrwlayer_propwin.c:3041
msgid "<b>Track Gradient:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3087
+#: ../src/viktrwlayer_propwin.c:3045
msgid "Gradient-distance"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3096 ../src/viktrwlayer_propwin.c:3111
-#: ../src/viktrwlayer_propwin.c:3124
+#: ../src/viktrwlayer_propwin.c:3054 ../src/viktrwlayer_propwin.c:3069
+#: ../src/viktrwlayer_propwin.c:3082
msgid "<b>Track Time:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3097 ../src/viktrwlayer_propwin.c:3139
+#: ../src/viktrwlayer_propwin.c:3055 ../src/viktrwlayer_propwin.c:3097
msgid "<b>Track Speed:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3101
+#: ../src/viktrwlayer_propwin.c:3059
msgid "Speed-time"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3108 ../src/viktrwlayer_propwin.c:3122
+#: ../src/viktrwlayer_propwin.c:3066 ../src/viktrwlayer_propwin.c:3080
msgid "Show S_peed"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3115
+#: ../src/viktrwlayer_propwin.c:3073
msgid "Distance-time"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3129
+#: ../src/viktrwlayer_propwin.c:3087
msgid "Elevation-time"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3143
+#: ../src/viktrwlayer_propwin.c:3101
msgid "Speed-distance"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:118
+#: ../src/viktrwlayer_tpwin.c:119
msgid "<b>Part of Track:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:119
+#: ../src/viktrwlayer_tpwin.c:120
msgid "<b>Latitude:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:120
+#: ../src/viktrwlayer_tpwin.c:121
msgid "<b>Longitude:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:121
+#: ../src/viktrwlayer_tpwin.c:122
msgid "<b>Altitude:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:122
+#: ../src/viktrwlayer_tpwin.c:123
+msgid "<b>Course:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_tpwin.c:124
msgid "<b>Timestamp:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:123
+#: ../src/viktrwlayer_tpwin.c:125
msgid "<b>Time:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:124
+#: ../src/viktrwlayer_tpwin.c:126
msgid "<b>Distance Difference:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:125
+#: ../src/viktrwlayer_tpwin.c:127
msgid "<b>Time Difference:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:126
+#: ../src/viktrwlayer_tpwin.c:128
msgid "<b>\"Speed\" Between:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:127
+#: ../src/viktrwlayer_tpwin.c:129
+msgid "<b>Speed:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_tpwin.c:130
msgid "<b>VDOP:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:128
+#: ../src/viktrwlayer_tpwin.c:131
msgid "<b>HDOP:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:129
+#: ../src/viktrwlayer_tpwin.c:132
msgid "<b>PDOP:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:130
+#: ../src/viktrwlayer_tpwin.c:133
msgid "<b>SAT/FIX:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:139
+#: ../src/viktrwlayer_tpwin.c:141
msgid "Trackpoint"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:142
+#: ../src/viktrwlayer_tpwin.c:144
msgid "_Insert After"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:144
+#: ../src/viktrwlayer_tpwin.c:146
msgid "Split Here"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:446
+#.
+#. item = gtk_image_menu_item_new_with_mnemonic ( _("_Select") );
+#. gtk_image_menu_item_set_image ( (GtkImageMenuItem*)item, gtk_image_new_from_stock (GTK_STOCK_FIND, GTK_ICON_SIZE_MENU) );
+#. g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(trw_layer_track_select), values );
+#. gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
+#. gtk_widget_show ( item );
+#.
+#. ATM view auto selects, so don't bother with separate select menu entry
+#: ../src/viktrwlayer_tracklist.c:231 ../src/vikwindow.c:3695
+msgid "_View"
+msgstr ""
+
+#. Insert column for the layer name when viewing multi layers
+#: ../src/viktrwlayer_tracklist.c:514
+msgid "Layer"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:526
+msgid "Date"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:529
+msgid "Visible"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:536
+msgid ""
+"Distance\n"
+"(miles)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:539
+msgid ""
+"Distance\n"
+"(km)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:545
+msgid ""
+"Length\n"
+"(minutes)"
+msgstr ""
+
+#. VIK_UNITS_SPEED_KILOMETRES_PER_HOUR:
+#: ../src/viktrwlayer_tracklist.c:549 ../src/vikutils.c:72
+msgid "km/h"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:550 ../src/vikutils.c:62
+msgid "mph"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:551 ../src/vikutils.c:68
+msgid "knots"
+msgstr ""
+
+#. VIK_UNITS_SPEED_METRES_PER_SECOND:
+#: ../src/viktrwlayer_tracklist.c:553 ../src/vikutils.c:65
+msgid "m/s"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:556
+#, c-format
+msgid ""
+"Av. Speed\n"
+"(%s)"
+msgstr ""
+
+#. Apply own formatting of the data
+#: ../src/viktrwlayer_tracklist.c:561
+#, c-format
+msgid ""
+"Max Speed\n"
+"(%s)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:569
+msgid ""
+"Max Height\n"
+"(Feet)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:571
+msgid ""
+"Max Height\n"
+"(Metres)"
+msgstr ""
+
+#: ../src/viktrwlayer_geotag.c:481
#, c-format
msgid "Geotagging %d Images..."
msgstr ""
-#: ../src/viktrwlayer_geotag.c:510
+#: ../src/viktrwlayer_geotag.c:545
msgid "Geotag Images"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:516
+#: ../src/viktrwlayer_geotag.c:551
msgid "Images"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:520
+#: ../src/viktrwlayer_geotag.c:555
msgid "Overwrite Existing Waypoints:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:523
+#: ../src/viktrwlayer_geotag.c:558
msgid "Overwrite Existing GPS Information:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:525
+#: ../src/viktrwlayer_geotag.c:560
msgid "Keep File Modification Timestamp:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:555
+#: ../src/viktrwlayer_geotag.c:592
msgid "Create Waypoints:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:563
+#: ../src/viktrwlayer_geotag.c:600
msgid "Write EXIF:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:575
+#: ../src/viktrwlayer_geotag.c:612
msgid "Interpolate Between Track Segments:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:579
+#: ../src/viktrwlayer_geotag.c:616
msgid "Image Time Offset (Seconds):"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:581
+#: ../src/viktrwlayer_geotag.c:618
msgid ""
"The number of seconds to ADD to the photos time to make it match the GPS "
"data. Calculate this with (GPS - Photo). Can be negative or positive. Useful "
"to adjust times when a camera's timestamp was incorrect."
msgstr ""
-#: ../src/viktrwlayer_geotag.c:584
+#: ../src/viktrwlayer_geotag.c:621
msgid "Image Timezone:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:586
+#: ../src/viktrwlayer_geotag.c:623
msgid ""
"The timezone that was used when the images were created. For example, if a "
"camera is set to AWST or +8:00 hours. Enter +8:00 here so that the correct "
"adjustment to the images' time can be made. GPS data is always in UTC."
msgstr ""
-#: ../src/viktrwlayer_geotag.c:590
+#: ../src/viktrwlayer_geotag.c:627
#, c-format
msgid "Using track: %s"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:592
+#: ../src/viktrwlayer_geotag.c:629
#, c-format
msgid "Using all tracks in: %s"
msgstr ""
-#: ../src/vikstatus.c:105
+#: ../src/viktrwlayer_analysis.c:193
+msgid "Number of Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:194
+msgid "Date Range"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:195
+msgid "Total Length"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:196
+msgid "Average Length"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:197
+msgid "Max Speed"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:198
+msgid "Avg. Speed"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:199
+msgid "Minimum Altitude"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:200
+msgid "Maximum Altitude"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:201
+msgid "Total Elevation Gain/Loss"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:202
+msgid "Avg. Elevation Gain/Loss"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:203
+msgid "Total Duration"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:204
+msgid "Avg. Duration"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:278
+#, c-format
+msgid "%.2f miles"
+msgstr ""
+
+#. VIK_UNITS_DISTANCE_KILOMETRES
+#: ../src/viktrwlayer_analysis.c:282
+#, c-format
+msgid "%.2f km"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:297
+#, c-format
+msgid "%.2f m/s"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:306
+#, c-format
+msgid "%.2f knots\n"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:309
+#, c-format
+msgid "%.2f knots"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:316 ../src/viktrwlayer_analysis.c:319
+#, c-format
+msgid "%.2f km/h"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:330 ../src/viktrwlayer_analysis.c:336
+#, c-format
+msgid "%d feet"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:341 ../src/viktrwlayer_analysis.c:343
+#, c-format
+msgid "%d feet / %d feet"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:348 ../src/viktrwlayer_analysis.c:354
+#, c-format
+msgid "%d m"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:359 ../src/viktrwlayer_analysis.c:361
+#, c-format
+msgid "%d m / %d m"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:373
+#, c-format
+msgid "%d:%02d:%02d days:hrs:mins"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:380
+#, c-format
+msgid "%d:%02d hrs:mins"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:550
+msgid "Include Invisible Items"
+msgstr ""
+
+#: ../src/vikstatus.c:107
+msgid "Current number of background tasks. Click to see the background jobs."
+msgstr ""
+
+#: ../src/vikstatus.c:113
msgid "Current zoom level. Click to select a new one."
msgstr ""
-#: ../src/vikwaypoint.c:34
+#: ../src/vikutils.c:80
+msgid "GPSD"
+msgstr ""
+
+#. GPS Preamble
+#: ../src/vikutils.c:81
+msgid "Trkpt"
+msgstr ""
+
+#: ../src/vikutils.c:121
+#, c-format
+msgid "%sSpeed%s %.1f%s"
+msgstr ""
+
+#: ../src/vikutils.c:130
+#, c-format
+msgid "%sAlt %dfeet"
+msgstr ""
+
+#. VIK_UNITS_HEIGHT_METRES:
+#: ../src/vikutils.c:134
+#, c-format
+msgid "%sAlt %dm"
+msgstr ""
+
+#: ../src/vikutils.c:142
+#, c-format
+msgid "%sCourse %03d°"
+msgstr ""
+
+#: ../src/vikutils.c:155
+msgid "yards"
+msgstr ""
+
+#. VIK_UNITS_DISTANCE_KILOMETRES:
+#: ../src/vikutils.c:159
+msgid "m"
+msgstr ""
+
+#: ../src/vikutils.c:163
+#, c-format
+msgid "%sDistance diff %d%s"
+msgstr ""
+
+#: ../src/vikutils.c:179
+#, c-format
+msgid "%sTime %s"
+msgstr ""
+
+#: ../src/vikutils.c:187
+#, c-format
+msgid "%sTime diff %lds"
+msgstr ""
+
+#: ../src/vikutils.c:193
+#, c-format
+msgid "%sNo. of Sats %d"
+msgstr ""
+
+#: ../src/vikutils.c:213
+#, c-format
+msgid "%sDistance along %.2f%s"
+msgstr ""
+
+#. Name of track
+#: ../src/vikutils.c:232
+#, c-format
+msgid "%sTrack: %s"
+msgstr ""
+
+#: ../src/vikwaypoint.c:36
msgid "Waypoint"
msgstr ""
#. TODO get rid of this as this is unnecessary duplication...
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Pan"
msgstr ""
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Zoom"
msgstr ""
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Ruler"
msgstr ""
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Select"
msgstr ""
+#: ../src/vikwindow.c:381
+msgid "Location lookup aborted"
+msgstr ""
+
+#: ../src/vikwindow.c:401
+#, c-format
+msgid "Location found: %s"
+msgstr ""
+
+#: ../src/vikwindow.c:410
+msgid "Unable to determine location"
+msgstr ""
+
+#: ../src/vikwindow.c:434
+msgid "Default Map"
+msgstr ""
+
+#: ../src/vikwindow.c:444
+msgid "Trying to determine location..."
+msgstr ""
+
+#: ../src/vikwindow.c:447
+msgid "Determining location"
+msgstr ""
+
#. Create tooltip
-#: ../src/vikwindow.c:440
+#: ../src/vikwindow.c:605
msgid "Select zoom level"
msgstr ""
-#: ../src/vikwindow.c:645
+#: ../src/vikwindow.c:923
#, c-format
msgid ""
"Do you want to save the changes you made to the document \"%s\"?\n"
@@ -3149,624 +3991,708 @@ msgid ""
"Your changes will be lost if you don't save them."
msgstr ""
-#: ../src/vikwindow.c:649
+#: ../src/vikwindow.c:927
msgid "Don't Save"
msgstr ""
-#: ../src/vikwindow.c:696
+#: ../src/vikwindow.c:1005
msgid "mpp"
msgstr ""
-#: ../src/vikwindow.c:696
+#: ../src/vikwindow.c:1005
msgid "pixelfact"
msgstr ""
-#: ../src/vikwindow.c:861
+#: ../src/vikwindow.c:1169
#, c-format
msgid "%s %s %dm"
msgstr ""
-#: ../src/vikwindow.c:863
+#: ../src/vikwindow.c:1171
#, c-format
msgid "%s %s %dft"
msgstr ""
-#: ../src/vikwindow.c:866
+#: ../src/vikwindow.c:1174
#, c-format
msgid "%s %s"
msgstr ""
#. NB Ctrl+Shift+R is used for Refresh (deemed more important), so use 'U' instead
-#: ../src/vikwindow.c:1254
+#: ../src/vikwindow.c:1562
msgid "_Ruler"
msgstr ""
-#: ../src/vikwindow.c:1254
+#: ../src/vikwindow.c:1562
msgid "Ruler Tool"
msgstr ""
-#: ../src/vikwindow.c:1502 ../src/vikwindow.c:3138
+#: ../src/vikwindow.c:1810 ../src/vikwindow.c:3697
msgid "_Zoom"
msgstr ""
-#: ../src/vikwindow.c:1502
+#: ../src/vikwindow.c:1810
msgid "Zoom Tool"
msgstr ""
-#: ../src/vikwindow.c:1547 ../src/vikwindow.c:3139
+#: ../src/vikwindow.c:1855 ../src/vikwindow.c:3698
msgid "_Pan"
msgstr ""
-#: ../src/vikwindow.c:1547
+#: ../src/vikwindow.c:1855
msgid "Pan Tool"
msgstr ""
-#: ../src/vikwindow.c:1664
+#: ../src/vikwindow.c:1972
msgid "_Select"
msgstr ""
-#: ../src/vikwindow.c:1664
+#: ../src/vikwindow.c:1972
msgid "Select Tool"
msgstr ""
-#: ../src/vikwindow.c:1809
+#: ../src/vikwindow.c:2123
msgid "You must select a layer to show its properties."
msgstr ""
#. No error to show, so unlikely this will get called
-#: ../src/vikwindow.c:1824
+#: ../src/vikwindow.c:2137
msgid "The help system is not available."
msgstr ""
#. Main error path
-#: ../src/vikwindow.c:1827
+#: ../src/vikwindow.c:2140
#, c-format
msgid ""
"Help is not available because: %s.\n"
"Ensure a Mime Type ghelp handler program is installed (e.g. yelp)."
msgstr ""
-#: ../src/vikwindow.c:1850
+#: ../src/vikwindow.c:2160
msgid "You must select a layer to delete."
msgstr ""
-#: ../src/vikwindow.c:2087
+#: ../src/vikwindow.c:2396
msgid "Untitled"
msgstr ""
-#: ../src/vikwindow.c:2194
+#: ../src/vikwindow.c:2503
#, c-format
msgid "Unable to add '%s' to the list of recently used documents"
msgstr ""
-#: ../src/vikwindow.c:2208
+#: ../src/vikwindow.c:2540
msgid "The file you requested could not be opened."
msgstr ""
-#: ../src/vikwindow.c:2211
+#: ../src/vikwindow.c:2543
msgid ""
"GPSBabel is required to load files of this type or GPSBabel encountered "
"problems."
msgstr ""
-#: ../src/vikwindow.c:2214
+#: ../src/vikwindow.c:2546
#, c-format
msgid "Unable to load malformed GPX file %s"
msgstr ""
-#: ../src/vikwindow.c:2217
+#: ../src/vikwindow.c:2549
#, c-format
msgid "Unsupported file type for %s"
msgstr ""
#. Since we can process .vik files with issues just show a warning in the status bar
#. Not that a user can do much about it... or tells them what this issue is yet...
-#: ../src/vikwindow.c:2223
+#: ../src/vikwindow.c:2555
#, c-format
msgid "WARNING: issues encountered loading %s"
msgstr ""
-#: ../src/vikwindow.c:2278
+#: ../src/vikwindow.c:2613
msgid "Please select a GPS data file to open. "
msgstr ""
-#: ../src/vikwindow.c:2288
+#: ../src/vikwindow.c:2629
msgid "Geocaching"
msgstr ""
-#: ../src/vikwindow.c:2294
+#: ../src/vikwindow.c:2635
msgid "Google Earth"
msgstr ""
-#: ../src/vikwindow.c:2299
+#: ../src/vikwindow.c:2640
msgid "GPX"
msgstr ""
-#: ../src/vikwindow.c:2304 ../src/vikwindow.c:2387
+#: ../src/vikwindow.c:2645 ../src/vikwindow.c:2734
#: ../src/viking.desktop.in.h:1
msgid "Viking"
msgstr ""
-#: ../src/vikwindow.c:2374
+#: ../src/vikwindow.c:2715
msgid "Save as Viking File."
msgstr ""
+#: ../src/vikwindow.c:2841
+msgid "Exporting to file: "
+msgstr ""
+
+#. Confirm what happened.
+#: ../src/vikwindow.c:2858
+#, c-format
+msgid "Exported files: %d"
+msgstr ""
+
+#: ../src/vikwindow.c:2870
+msgid "Nothing to Export!"
+msgstr ""
+
+#: ../src/vikwindow.c:2874
+msgid "Export to directory"
+msgstr ""
+
+#: ../src/vikwindow.c:2896
+msgid "Could not convert all files"
+msgstr ""
+
+#: ../src/vikwindow.c:2932
+#, c-format
+msgid "%d bytes"
+msgstr ""
+
+#: ../src/vikwindow.c:2934
+#, c-format
+msgid "%3.1f kB"
+msgstr ""
+
+#: ../src/vikwindow.c:2936
+#, c-format
+msgid "%3.1f MB"
+msgstr ""
+
+#: ../src/vikwindow.c:2937
+#, c-format
+msgid ""
+"%s\n"
+"\n"
+"%s\n"
+"\n"
+"%s"
+msgstr ""
+
+#: ../src/vikwindow.c:2942
+msgid "File not accessible"
+msgstr ""
+
+#: ../src/vikwindow.c:2945
+msgid "No Viking File"
+msgstr ""
+
+#: ../src/vikwindow.c:3035
+msgid "This layer has no configurable properties."
+msgstr ""
+
#. Try harder...
-#: ../src/vikwindow.c:2619 ../src/vikwindow.c:2625
+#: ../src/vikwindow.c:3169 ../src/vikwindow.c:3175
msgid "Generating image file..."
msgstr ""
-#: ../src/vikwindow.c:2647
+#: ../src/vikwindow.c:3197
msgid ""
"Failed to generate internal image.\n"
"\n"
"Try creating a smaller image."
msgstr ""
-#: ../src/vikwindow.c:2655
+#: ../src/vikwindow.c:3205
msgid "Failed to generate image file."
msgstr ""
#. Success
-#: ../src/vikwindow.c:2660
+#: ../src/vikwindow.c:3210
msgid "Image file generated."
msgstr ""
-#: ../src/vikwindow.c:2764
+#: ../src/vikwindow.c:3314
msgid ""
"Viewable region outside allowable pixel size bounds for image. Clipping "
"width/height values."
msgstr ""
-#: ../src/vikwindow.c:2789
+#: ../src/vikwindow.c:3339
#, c-format
msgid "Total area: %ldm x %ldm (%.3f sq. km)"
msgstr ""
-#: ../src/vikwindow.c:2792
+#: ../src/vikwindow.c:3342
#, c-format
msgid "Total area: %ldm x %ldm (%.3f sq. miles)"
msgstr ""
-#: ../src/vikwindow.c:2813
+#: ../src/vikwindow.c:3363
msgid "Save Image"
msgstr ""
-#: ../src/vikwindow.c:2834
+#: ../src/vikwindow.c:3393
msgid "PNG"
msgstr ""
-#: ../src/vikwindow.c:2857
+#: ../src/vikwindow.c:3416
msgid "You must be in UTM mode to use this feature"
msgstr ""
-#: ../src/vikwindow.c:2862
+#: ../src/vikwindow.c:3421
msgid "Choose a directory to hold images"
msgstr ""
#. todo: default for answers inside VikWindow or static (thruout instance)
-#: ../src/vikwindow.c:2883
+#: ../src/vikwindow.c:3442
msgid "Save to Image File"
msgstr ""
-#: ../src/vikwindow.c:2900
+#: ../src/vikwindow.c:3459
msgid "Width (pixels):"
msgstr ""
-#: ../src/vikwindow.c:2902
+#: ../src/vikwindow.c:3461
msgid "Height (pixels):"
msgstr ""
-#: ../src/vikwindow.c:2905
+#: ../src/vikwindow.c:3464
msgid ""
"WARNING: USING LARGE IMAGES OVER 10000x10000\n"
"MAY CRASH THE PROGRAM!"
msgstr ""
-#: ../src/vikwindow.c:2907
+#: ../src/vikwindow.c:3466
msgid "Zoom (meters per pixel):"
msgstr ""
-#: ../src/vikwindow.c:2921
+#: ../src/vikwindow.c:3482
msgid "Area in current viewable window"
msgstr ""
-#: ../src/vikwindow.c:2931
+#: ../src/vikwindow.c:3492
msgid "Save as PNG"
msgstr ""
-#: ../src/vikwindow.c:2932
+#: ../src/vikwindow.c:3493
msgid "Save as JPEG"
msgstr ""
-#: ../src/vikwindow.c:2954
+#: ../src/vikwindow.c:3515
msgid "East-west image tiles:"
msgstr ""
-#: ../src/vikwindow.c:2956
+#: ../src/vikwindow.c:3517
msgid "North-south image tiles:"
msgstr ""
-#: ../src/vikwindow.c:3097
+#: ../src/vikwindow.c:3656
msgid "Choose a background color"
msgstr ""
-#: ../src/vikwindow.c:3113
+#: ../src/vikwindow.c:3672
msgid "Choose a track highlight color"
msgstr ""
-#: ../src/vikwindow.c:3134
+#: ../src/vikwindow.c:3693
msgid "_File"
msgstr ""
-#: ../src/vikwindow.c:3135
+#: ../src/vikwindow.c:3694
msgid "_Edit"
msgstr ""
-#: ../src/vikwindow.c:3136
-msgid "_View"
-msgstr ""
-
-#: ../src/vikwindow.c:3137
+#: ../src/vikwindow.c:3696
msgid "_Show"
msgstr ""
-#: ../src/vikwindow.c:3140
+#: ../src/vikwindow.c:3699
msgid "_Layers"
msgstr ""
-#: ../src/vikwindow.c:3141
+#: ../src/vikwindow.c:3700
msgid "_Tools"
msgstr ""
-#: ../src/vikwindow.c:3142
+#: ../src/vikwindow.c:3701
msgid "_Webtools"
msgstr ""
-#: ../src/vikwindow.c:3143 ../src/vikwindow.c:3206
+#: ../src/vikwindow.c:3702 ../src/vikwindow.c:3763
msgid "_Help"
msgstr ""
-#: ../src/vikwindow.c:3145
+#: ../src/vikwindow.c:3704
msgid "New file"
msgstr ""
-#: ../src/vikwindow.c:3146
+#: ../src/vikwindow.c:3705
msgid "_Open..."
msgstr ""
-#: ../src/vikwindow.c:3146
+#: ../src/vikwindow.c:3705
msgid "Open a file"
msgstr ""
-#: ../src/vikwindow.c:3147
+#: ../src/vikwindow.c:3706
msgid "Open _Recent File"
msgstr ""
-#: ../src/vikwindow.c:3148
+#: ../src/vikwindow.c:3707
msgid "Append _File..."
msgstr ""
-#: ../src/vikwindow.c:3148
+#: ../src/vikwindow.c:3707
msgid "Append data from a different file"
msgstr ""
-#: ../src/vikwindow.c:3149
+#: ../src/vikwindow.c:3708
+msgid "_Export All"
+msgstr ""
+
+#: ../src/vikwindow.c:3708
+msgid "Export All TrackWaypoint Layers"
+msgstr ""
+
+#: ../src/vikwindow.c:3709
+msgid "_GPX..."
+msgstr ""
+
+#: ../src/vikwindow.c:3709
+msgid "Export as GPX"
+msgstr ""
+
+#: ../src/vikwindow.c:3710
msgid "A_cquire"
msgstr ""
-#: ../src/vikwindow.c:3150
+#: ../src/vikwindow.c:3711
msgid "Transfer data from a GPS device"
msgstr ""
-#: ../src/vikwindow.c:3151
+#: ../src/vikwindow.c:3712
msgid "Import File With GPS_Babel..."
msgstr ""
-#: ../src/vikwindow.c:3151
+#: ../src/vikwindow.c:3712
msgid "Import file via GPSBabel converter"
msgstr ""
-#: ../src/vikwindow.c:3153
-msgid "Google _Directions..."
+#: ../src/vikwindow.c:3713
+msgid "_Directions..."
msgstr ""
-#: ../src/vikwindow.c:3153
-msgid "Get driving directions from Google"
+#: ../src/vikwindow.c:3713
+msgid "Get driving directions"
msgstr ""
-#: ../src/vikwindow.c:3156
+#: ../src/vikwindow.c:3715
msgid "_OSM Traces..."
msgstr ""
-#: ../src/vikwindow.c:3156
+#: ../src/vikwindow.c:3715
msgid "Get traces from OpenStreetMap"
msgstr ""
-#: ../src/vikwindow.c:3157
+#: ../src/vikwindow.c:3716
msgid "_My OSM Traces..."
msgstr ""
-#: ../src/vikwindow.c:3157
+#: ../src/vikwindow.c:3716
msgid "Get Your Own Traces from OpenStreetMap"
msgstr ""
-#: ../src/vikwindow.c:3160
+#: ../src/vikwindow.c:3719
msgid "Geo_caches..."
msgstr ""
-#: ../src/vikwindow.c:3160
+#: ../src/vikwindow.c:3719
msgid "Get Geocaches from geocaching.com"
msgstr ""
-#: ../src/vikwindow.c:3163
+#: ../src/vikwindow.c:3722
msgid "Create waypoints from geotagged images"
msgstr ""
-#: ../src/vikwindow.c:3166
+#: ../src/vikwindow.c:3725
msgid "Create waypoints from Wikipedia items in the current view"
msgstr ""
-#: ../src/vikwindow.c:3168
+#: ../src/vikwindow.c:3727
msgid "_Save"
msgstr ""
-#: ../src/vikwindow.c:3168
+#: ../src/vikwindow.c:3727
msgid "Save the file"
msgstr ""
-#: ../src/vikwindow.c:3169
+#: ../src/vikwindow.c:3728
msgid "Save _As..."
msgstr ""
-#: ../src/vikwindow.c:3169
+#: ../src/vikwindow.c:3728
msgid "Save the file under different name"
msgstr ""
-#: ../src/vikwindow.c:3170
+#: ../src/vikwindow.c:3729
+msgid "Properties..."
+msgstr ""
+
+#: ../src/vikwindow.c:3729
+msgid "File Properties"
+msgstr ""
+
+#: ../src/vikwindow.c:3730
msgid "_Generate Image File..."
msgstr ""
-#: ../src/vikwindow.c:3170
+#: ../src/vikwindow.c:3730
msgid "Save a snapshot of the workspace into a file"
msgstr ""
-#: ../src/vikwindow.c:3171
+#: ../src/vikwindow.c:3731
msgid "Generate _Directory of Images..."
msgstr ""
-#: ../src/vikwindow.c:3171
+#: ../src/vikwindow.c:3731
msgid "FIXME:IMGDIR"
msgstr ""
-#: ../src/vikwindow.c:3174
+#: ../src/vikwindow.c:3732
msgid "_Print..."
msgstr ""
-#: ../src/vikwindow.c:3174
+#: ../src/vikwindow.c:3732
msgid "Print maps"
msgstr ""
-#: ../src/vikwindow.c:3177
+#: ../src/vikwindow.c:3733
msgid "E_xit"
msgstr ""
-#: ../src/vikwindow.c:3177
+#: ../src/vikwindow.c:3733
msgid "Exit the program"
msgstr ""
-#: ../src/vikwindow.c:3178
+#: ../src/vikwindow.c:3734
msgid "Save and Exit"
msgstr ""
-#: ../src/vikwindow.c:3178
+#: ../src/vikwindow.c:3734
msgid "Save and Exit the program"
msgstr ""
-#: ../src/vikwindow.c:3180
+#: ../src/vikwindow.c:3736
msgid "Go to the _Default Location"
msgstr ""
-#: ../src/vikwindow.c:3180
+#: ../src/vikwindow.c:3736
msgid "Go to the default location"
msgstr ""
-#: ../src/vikwindow.c:3181
+#: ../src/vikwindow.c:3737
msgid "Go to _Location..."
msgstr ""
-#: ../src/vikwindow.c:3181
+#: ../src/vikwindow.c:3737
msgid "Go to address/place using text search"
msgstr ""
-#: ../src/vikwindow.c:3182
+#: ../src/vikwindow.c:3738
msgid "_Go to Lat/Lon..."
msgstr ""
-#: ../src/vikwindow.c:3182
+#: ../src/vikwindow.c:3738
msgid "Go to arbitrary lat/lon coordinate"
msgstr ""
-#: ../src/vikwindow.c:3183
+#: ../src/vikwindow.c:3739
msgid "Go to UTM..."
msgstr ""
-#: ../src/vikwindow.c:3183
+#: ../src/vikwindow.c:3739
msgid "Go to arbitrary UTM coordinate"
msgstr ""
-#: ../src/vikwindow.c:3184
+#: ../src/vikwindow.c:3740
msgid "_Refresh"
msgstr ""
-#: ../src/vikwindow.c:3184
+#: ../src/vikwindow.c:3740
msgid "Refresh any maps displayed"
msgstr ""
-#: ../src/vikwindow.c:3185
+#: ../src/vikwindow.c:3741
msgid "Set _Highlight Color..."
msgstr ""
-#: ../src/vikwindow.c:3186
+#: ../src/vikwindow.c:3742
msgid "Set Bac_kground Color..."
msgstr ""
-#: ../src/vikwindow.c:3187
+#: ../src/vikwindow.c:3743
msgid "Zoom _In"
msgstr ""
-#: ../src/vikwindow.c:3188
+#: ../src/vikwindow.c:3744
msgid "Zoom _Out"
msgstr ""
-#: ../src/vikwindow.c:3189
+#: ../src/vikwindow.c:3745
msgid "Zoom _To..."
msgstr ""
-#: ../src/vikwindow.c:3190
+#: ../src/vikwindow.c:3746
msgid "Pan _North"
msgstr ""
-#: ../src/vikwindow.c:3191
+#: ../src/vikwindow.c:3747
msgid "Pan _East"
msgstr ""
-#: ../src/vikwindow.c:3192
+#: ../src/vikwindow.c:3748
msgid "Pan _South"
msgstr ""
-#: ../src/vikwindow.c:3193
+#: ../src/vikwindow.c:3749
msgid "Pan _West"
msgstr ""
-#: ../src/vikwindow.c:3194
+#: ../src/vikwindow.c:3750
msgid "Background _Jobs"
msgstr ""
-#: ../src/vikwindow.c:3196
+#: ../src/vikwindow.c:3752
msgid "Cu_t"
msgstr ""
-#: ../src/vikwindow.c:3197
-msgid "_Copy"
-msgstr ""
-
-#: ../src/vikwindow.c:3198
-msgid "_Paste"
-msgstr ""
-
-#: ../src/vikwindow.c:3199
-msgid "_Delete"
-msgstr ""
-
-#: ../src/vikwindow.c:3200
+#: ../src/vikwindow.c:3756
msgid "Delete All"
msgstr ""
-#: ../src/vikwindow.c:3201
+#: ../src/vikwindow.c:3757
msgid "_Flush Map Cache"
msgstr ""
-#: ../src/vikwindow.c:3202
+#: ../src/vikwindow.c:3758
msgid "_Set the Default Location"
msgstr ""
-#: ../src/vikwindow.c:3202
+#: ../src/vikwindow.c:3758
msgid "Set the Default Location to the current position"
msgstr ""
-#: ../src/vikwindow.c:3203
+#: ../src/vikwindow.c:3759
msgid "_Preferences"
msgstr ""
-#: ../src/vikwindow.c:3204
+#: ../src/vikwindow.c:3760
+msgid "_Layer Defaults"
+msgstr ""
+
+#: ../src/vikwindow.c:3761
msgid "_Properties"
msgstr ""
-#: ../src/vikwindow.c:3207
+#: ../src/vikwindow.c:3764
msgid "_About"
msgstr ""
-#: ../src/vikwindow.c:3213
+#: ../src/vikwindow.c:3768
+msgid "_KML..."
+msgstr ""
+
+#: ../src/vikwindow.c:3768
+msgid "Export as KML"
+msgstr ""
+
+#: ../src/vikwindow.c:3774
msgid "_UTM Mode"
msgstr ""
-#: ../src/vikwindow.c:3214
+#: ../src/vikwindow.c:3775
msgid "_Expedia Mode"
msgstr ""
-#: ../src/vikwindow.c:3215
+#: ../src/vikwindow.c:3776
msgid "_Mercator Mode"
msgstr ""
-#: ../src/vikwindow.c:3216
+#: ../src/vikwindow.c:3777
msgid "Lat_/Lon Mode"
msgstr ""
-#: ../src/vikwindow.c:3220
+#: ../src/vikwindow.c:3781
msgid "Show _Scale"
msgstr ""
-#: ../src/vikwindow.c:3220
+#: ../src/vikwindow.c:3781
msgid "Show Scale"
msgstr ""
-#: ../src/vikwindow.c:3221
+#: ../src/vikwindow.c:3782
msgid "Show _Center Mark"
msgstr ""
-#: ../src/vikwindow.c:3221
+#: ../src/vikwindow.c:3782
msgid "Show Center Mark"
msgstr ""
-#: ../src/vikwindow.c:3222
+#: ../src/vikwindow.c:3783
msgid "Show _Highlight"
msgstr ""
-#: ../src/vikwindow.c:3222
+#: ../src/vikwindow.c:3783
msgid "Show Highlight"
msgstr ""
-#: ../src/vikwindow.c:3223
+#: ../src/vikwindow.c:3784
msgid "_Full Screen"
msgstr ""
-#: ../src/vikwindow.c:3223
+#: ../src/vikwindow.c:3784
msgid "Activate full screen mode"
msgstr ""
-#: ../src/vikwindow.c:3224
+#: ../src/vikwindow.c:3785
msgid "Show Side _Panel"
msgstr ""
-#: ../src/vikwindow.c:3224
+#: ../src/vikwindow.c:3785
msgid "Show Side Panel"
msgstr ""
-#: ../src/vikwindow.c:3225
+#: ../src/vikwindow.c:3786
msgid "Show Status_bar"
msgstr ""
-#: ../src/vikwindow.c:3225
+#: ../src/vikwindow.c:3786
msgid "Show Statusbar"
msgstr ""
-#: ../src/vikwindow.c:3226
+#: ../src/vikwindow.c:3787
msgid "Show _Toolbar"
msgstr ""
-#: ../src/vikwindow.c:3226
+#: ../src/vikwindow.c:3787
msgid "Show Toolbar"
msgstr ""
-#: ../src/vikwindow.c:3227
+#: ../src/vikwindow.c:3788
msgid "Show _Menu"
msgstr ""
-#: ../src/vikwindow.c:3227
+#: ../src/vikwindow.c:3788
msgid "Show Menu"
msgstr ""
+#: ../src/vikwindow.c:3862
+#, c-format
+msgid "New _%s Layer"
+msgstr ""
+
#: ../src/viking.desktop.in.h:2
msgid "GPS Data Manager"
msgstr ""
diff --git a/po/nb.po b/po/nb.po
index b18a076..23097ee 100644
--- a/po/nb.po
+++ b/po/nb.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: viking\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-02-04 23:29+0100\n"
+"POT-Creation-Date: 2013-09-03 21:58+0200\n"
"PO-Revision-Date: 2010-11-17 23:08+0000\n"
"Last-Translator: Guilhem Bonnefille <guilhem.bonnefille@gmail.com>\n"
"Language-Team: Norwegian Bokmal <nb@li.org>\n"
@@ -15,60 +15,60 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Launchpad-Export-Date: 2013-03-23 17:12+0000\n"
-"X-Generator: Launchpad (build 16540)\n"
+"X-Launchpad-Export-Date: 2013-10-12 09:04+0000\n"
+"X-Generator: Launchpad (build 16799)\n"
"Language: nb\n"
-#: ../src/acquire.c:103 ../src/vikgpslayer.c:1185
+#: ../src/acquire.c:103 ../src/vikgpslayer.c:1235
msgid "Done."
msgstr "Ferdig."
-#: ../src/acquire.c:114
+#: ../src/acquire.c:112
msgid "No data."
msgstr ""
-#: ../src/acquire.c:154 ../src/acquire.c:404
+#: ../src/acquire.c:154 ../src/acquire.c:424
msgid "Error: acquisition failed."
msgstr ""
-#: ../src/acquire.c:341
+#: ../src/acquire.c:352
msgid "Working..."
msgstr "Arbeider..."
#. This shouldn't happen...
-#: ../src/acquire.c:394
+#: ../src/acquire.c:415
msgid ""
"Unable to create command\n"
"Acquire method failed."
msgstr ""
-#: ../src/acquire.c:486
+#: ../src/acquire.c:517
msgid "_Filter"
msgstr ""
-#: ../src/acquire.c:501
+#: ../src/acquire.c:532
#, c-format
msgid "Filter with %s"
msgstr ""
-#: ../src/acquire.c:518
+#: ../src/acquire.c:549
msgid "Filter"
msgstr ""
-#: ../src/background.c:52
+#: ../src/background.c:53
#, c-format
msgid "%d items"
msgstr ""
-#: ../src/background.c:248
+#: ../src/background.c:254
msgid "Job"
msgstr "Jobb"
-#: ../src/background.c:252
+#: ../src/background.c:258
msgid "Progress"
msgstr "Fremdrift"
-#: ../src/background.c:268
+#: ../src/background.c:274
msgid "Viking Background Jobs"
msgstr ""
@@ -77,7 +77,7 @@ msgid "Bing"
msgstr ""
#. VIK_GTK_WINDOW_FROM_WIDGET(vp)
-#: ../src/bingmapsource.c:445
+#: ../src/bingmapsource.c:499
msgid "Bing attribution Loading"
msgstr ""
@@ -102,35 +102,35 @@ msgid ""
"into."
msgstr ""
-#: ../src/dialog.c:52
+#: ../src/dialog.c:53
msgid "Go to Lat/Lon"
msgstr ""
-#: ../src/dialog.c:64 ../src/dialog.c:251
+#: ../src/dialog.c:65 ../src/dialog.c:244
msgid "Latitude:"
msgstr "Breddegrad:"
-#: ../src/dialog.c:70 ../src/dialog.c:256
+#: ../src/dialog.c:71 ../src/dialog.c:249
msgid "Longitude:"
msgstr "Lengdegrad:"
-#: ../src/dialog.c:102
+#: ../src/dialog.c:103
msgid "Go to UTM"
msgstr ""
-#: ../src/dialog.c:115
+#: ../src/dialog.c:116
msgid "Northing:"
msgstr ""
-#: ../src/dialog.c:121
+#: ../src/dialog.c:122
msgid "Easting:"
msgstr ""
-#: ../src/dialog.c:128
+#: ../src/dialog.c:129
msgid "Zone:"
msgstr "Sone:"
-#: ../src/dialog.c:131
+#: ../src/dialog.c:132
msgid "Letter:"
msgstr ""
@@ -138,105 +138,109 @@ msgstr ""
msgid "Waypoint Properties"
msgstr ""
-#: ../src/dialog.c:233
+#: ../src/dialog.c:235
msgid "Name:"
msgstr "Navn:"
-#: ../src/dialog.c:261
+#: ../src/dialog.c:254
msgid "Altitude:"
msgstr "Høyde:"
-#: ../src/dialog.c:266
+#: ../src/dialog.c:259
msgid "Comment:"
msgstr "Kommentar:"
-#: ../src/dialog.c:274 ../src/osm-traces.c:437
+#: ../src/dialog.c:267 ../src/osm-traces.c:445
msgid "Description:"
msgstr "Beskrivelse:"
-#: ../src/dialog.c:277
+#: ../src/dialog.c:270
msgid "Image:"
msgstr "Bilde:"
-#: ../src/dialog.c:282
+#: ../src/dialog.c:275
msgid "Symbol:"
msgstr "Symbol:"
-#: ../src/dialog.c:291
+#: ../src/dialog.c:284
msgid "(none)"
msgstr ""
+#: ../src/dialog.c:326
+msgid "Time:"
+msgstr ""
+
#. TODO: other checks (isalpha or whatever )
-#: ../src/dialog.c:356
+#: ../src/dialog.c:363
msgid "Please enter a name for the waypoint."
msgstr "Angi navn for waypointen"
-#: ../src/dialog.c:529 ../src/geonamessearch.c:243
+#: ../src/dialog.c:502 ../src/geonamessearch.c:244
#: ../src/datasource_osm_my_traces.c:507
msgid "Nothing was selected"
msgstr ""
-#: ../src/dialog.c:537
+#: ../src/dialog.c:510
msgid "Add Route"
msgstr ""
-#: ../src/dialog.c:537
+#: ../src/dialog.c:510
msgid "Add Track"
msgstr "Legg til spor"
-#: ../src/dialog.c:545
+#: ../src/dialog.c:518
msgid "Route Name:"
msgstr ""
-#: ../src/dialog.c:545
+#: ../src/dialog.c:518
msgid "Track Name:"
msgstr "Spornavn:"
-#: ../src/dialog.c:565
+#: ../src/dialog.c:538
msgid "Please enter a name for the track."
msgstr "Vennligst skriv inn et navn for sporet"
-#: ../src/dialog.c:623
+#: ../src/dialog.c:596
msgid "Zoom Factors..."
msgstr ""
-#: ../src/dialog.c:637
+#: ../src/dialog.c:610
msgid "Zoom factor (in meters per pixel):"
msgstr ""
-#: ../src/dialog.c:638
+#: ../src/dialog.c:611
msgid "X (easting): "
msgstr ""
-#: ../src/dialog.c:639
+#: ../src/dialog.c:612
msgid "Y (northing): "
msgstr ""
-#: ../src/dialog.c:644
+#: ../src/dialog.c:617
msgid "X and Y zoom factors must be equal"
msgstr ""
-#: ../src/dialog.c:699
+#: ../src/dialog.c:672
msgid "1 min"
msgstr "1 minutt"
-#: ../src/dialog.c:700
+#: ../src/dialog.c:673
msgid "1 hour"
msgstr "1 time"
-#: ../src/dialog.c:701
+#: ../src/dialog.c:674
msgid "1 day"
msgstr "1 dag"
-#: ../src/dialog.c:702
+#: ../src/dialog.c:675
msgid "Custom (in minutes):"
msgstr "Tilpasset (i minutter):"
-#: ../src/dialog.c:808
+#: ../src/dialog.c:786
msgid "GPS Data and Topo Analyzer, Explorer, and Manager."
msgstr ""
-#: ../src/dialog.c:809
+#: ../src/dialog.c:787
msgid ""
"This program is free software; you can redistribute it and/or modify it "
"under the terms of the GNU General Public License as published by the Free "
@@ -253,28 +257,28 @@ msgid ""
"Place, Suite 330, Boston, MA 02111-1307, USA"
msgstr ""
-#: ../src/dialog.c:837
+#: ../src/dialog.c:852
msgid "Translation is coordinated on http://launchpad.net/viking"
msgstr ""
-#: ../src/dialog.c:845
+#: ../src/dialog.c:861
msgid "Download along track"
msgstr ""
-#: ../src/dialog.c:851
+#: ../src/dialog.c:868
msgid "Map type:"
msgstr "Karttype:"
-#: ../src/dialog.c:856
+#: ../src/dialog.c:874
msgid "Zoom level:"
msgstr "Zoomnivå:"
-#: ../src/dialog.c:896
+#: ../src/dialog.c:914
#, c-format
msgid "The map data is licensed: %s."
msgstr ""
-#: ../src/dialog.c:899
+#: ../src/dialog.c:917
#, c-format
msgid ""
"The data provided by '<b>%s</b>' are licensed under the following license: "
@@ -282,7 +286,7 @@ msgid ""
"Please, read the license before continuing."
msgstr ""
-#: ../src/dialog.c:904
+#: ../src/dialog.c:922
msgid "Open license"
msgstr ""
@@ -327,7 +331,8 @@ msgstr ""
#. NB could allow columns to be shifted around by doing this after each new
#. gtk_tree_view_column_set_reorderable ( column, TRUE );
#. However I don't think is that useful, so I haven't put it in
-#: ../src/geonamessearch.c:177 ../src/datasource_osm_my_traces.c:425
+#: ../src/geonamessearch.c:177 ../src/datasource_osm_my_traces.c:424
+#: ../src/viktrwlayer_tracklist.c:521
msgid "Name"
msgstr ""
@@ -335,82 +340,192 @@ msgstr ""
msgid "Feature"
msgstr ""
-#: ../src/geonamessearch.c:187 ../src/datasource_osm_my_traces.c:440
+#: ../src/geonamessearch.c:187 ../src/datasource_osm_my_traces.c:439
msgid "Lat/Lon"
msgstr ""
-#: ../src/geonamessearch.c:269 ../src/googlesearch.c:100
+#: ../src/geonamessearch.c:270 ../src/googlesearch.c:100 ../src/vikgoto.c:306
msgid "couldn't map temp file"
msgstr ""
-#: ../src/globals.c:44
+#: ../src/globals.c:73
+msgid "Absolute"
+msgstr ""
+
+#: ../src/globals.c:73
+msgid "Relative"
+msgstr ""
+
+#: ../src/globals.c:76
msgid "Degree format:"
msgstr ""
-#: ../src/globals.c:48
+#: ../src/globals.c:77
msgid "Distance units:"
msgstr ""
-#: ../src/globals.c:52
+#: ../src/globals.c:78
msgid "Speed units:"
msgstr ""
-#: ../src/globals.c:56
+#: ../src/globals.c:79
msgid "Height units:"
msgstr ""
-#: ../src/globals.c:60
+#: ../src/globals.c:80
msgid "Use large waypoint icons:"
msgstr ""
-#: ../src/globals.c:64
+#: ../src/globals.c:81
msgid "Default latitude:"
msgstr ""
-#: ../src/globals.c:67
+#: ../src/globals.c:82
msgid "Default longitude:"
msgstr ""
-#: ../src/globals.c:73
+#: ../src/globals.c:88
msgid "Alphabetical"
msgstr ""
-#: ../src/globals.c:73 ../src/datasource_osm_my_traces.c:435
+#: ../src/globals.c:88 ../src/datasource_osm_my_traces.c:434
msgid "Time"
msgstr ""
-#: ../src/globals.c:76
+#: ../src/globals.c:88
+msgid "Creation"
+msgstr ""
+
+#: ../src/globals.c:89
+msgid "Title Case"
+msgstr ""
+
+#: ../src/globals.c:89
+msgid "Lowercase"
+msgstr ""
+
+#: ../src/globals.c:92
msgid "KML File Export Units:"
msgstr ""
-#: ../src/globals.c:77
+#: ../src/globals.c:93
msgid "GPX Track Order:"
msgstr ""
-#: ../src/globals.c:82
+#: ../src/globals.c:94
+msgid "GPX Waypoint Symbols:"
+msgstr ""
+
+#: ../src/globals.c:95
+msgid ""
+"Save GPX Waypoint Symbol names in the specified case. May be useful for "
+"compatibility with various devices"
+msgstr ""
+
+#: ../src/globals.c:100
msgid "Image Viewer:"
msgstr ""
-#: ../src/globals.c:87
+#: ../src/globals.c:105
msgid "External GPX Program 1:"
msgstr ""
-#: ../src/globals.c:88
+#: ../src/globals.c:106
msgid "External GPX Program 2:"
msgstr ""
+#: ../src/globals.c:110
+msgid "Save File Reference Mode:"
+msgstr ""
+
+#: ../src/globals.c:111
+msgid ""
+"When saving a Viking .vik file, this determines how the directory paths of "
+"filenames are written."
+msgstr ""
+
+#: ../src/globals.c:112
+msgid "Show Tooltip during Track Creation:"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Home Location"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Last Location"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Specified File"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Auto Location"
+msgstr ""
+
+#: ../src/globals.c:118
+msgid "Restore Window Setup:"
+msgstr ""
+
+#: ../src/globals.c:119
+msgid "Restore window size and layout"
+msgstr ""
+
+#: ../src/globals.c:120
+msgid "Add a Default Map Layer:"
+msgstr ""
+
+#: ../src/globals.c:121
+msgid ""
+"The default map layer added is defined by the Layer Defaults. Use the menu "
+"Edit->Layer Defaults->Map... to change the map type and other values."
+msgstr ""
+
+#: ../src/globals.c:122
+msgid "Startup Method:"
+msgstr ""
+
+#: ../src/globals.c:123
+msgid "Startup File:"
+msgstr ""
+
+#: ../src/globals.c:124
+msgid ""
+"The default file to load on startup. Only applies when the startup method is "
+"set to 'Specified File'"
+msgstr ""
+
+#: ../src/globals.c:125
+msgid "Check For New Version:"
+msgstr ""
+
+#: ../src/globals.c:126
+msgid "Periodically check to see if a new version of Viking is available"
+msgstr ""
+
#. Defaults for the options are setup here
-#: ../src/globals.c:96
+#: ../src/globals.c:163
msgid "General"
msgstr ""
#. New Tab
-#: ../src/globals.c:121
+#: ../src/globals.c:188
+msgid "Startup"
+msgstr ""
+
+#. New Tab
+#: ../src/globals.c:206
msgid "Export/External"
msgstr ""
+#. 'Advanced' Properties
+#: ../src/globals.c:230
+msgid "Advanced"
+msgstr ""
+
#. Webtools
-#: ../src/google.c:36
+#: ../src/google.c:38
msgid "Google"
msgstr "Google"
@@ -423,24 +538,24 @@ msgid "Imported file"
msgstr ""
#. The file selector
-#: ../src/datasource_file.c:133
+#: ../src/datasource_file.c:127
msgid "File:"
msgstr ""
-#: ../src/datasource_file.c:134
+#: ../src/datasource_file.c:128
msgid "File to import"
msgstr ""
-#: ../src/datasource_file.c:141
+#: ../src/datasource_file.c:135
msgid "All files"
msgstr ""
#. The file format selector
-#: ../src/datasource_file.c:148
+#: ../src/datasource_file.c:142
msgid "File type:"
msgstr ""
-#: ../src/datasource_file.c:193
+#: ../src/datasource_file.c:184
#, c-format
msgid "using babel args '%s' and file '%s'"
msgstr ""
@@ -453,29 +568,29 @@ msgstr "Laster ned Geocacher"
msgid "Geocaching.com Caches"
msgstr "Geocaching.com Cacher"
-#: ../src/datasource_gc.c:84
+#: ../src/datasource_gc.c:85
msgid "geocaching.com username:"
msgstr "geocaching.com-brukernavn:"
-#: ../src/datasource_gc.c:85
+#: ../src/datasource_gc.c:86
msgid "geocaching.com password:"
msgstr "geocaching.com-passord:"
-#: ../src/datasource_gc.c:126
+#: ../src/datasource_gc.c:127
#, c-format
msgid ""
"Can't find %s or %s in path! Check that you have installed it correctly."
msgstr ""
-#: ../src/datasource_gc.c:188
+#: ../src/datasource_gc.c:189
msgid "Number geocaches:"
msgstr "Antall geocacher:"
-#: ../src/datasource_gc.c:190
+#: ../src/datasource_gc.c:191
msgid "Centered around:"
msgstr ""
-#: ../src/datasource_gc.c:226
+#: ../src/datasource_gc.c:230
msgid "Broken input - using some defaults"
msgstr ""
@@ -487,116 +602,107 @@ msgstr ""
msgid "Geotagged Images"
msgstr ""
-#: ../src/datasource_geotag.c:102 ../src/vikwindow.c:2314
-#: ../src/vikwindow.c:2382 ../src/vikwindow.c:2824
+#: ../src/datasource_geotag.c:102 ../src/vikwindow.c:2655
+#: ../src/vikwindow.c:2729 ../src/vikwindow.c:3380
msgid "All"
msgstr ""
-#: ../src/datasource_geotag.c:107 ../src/vikwindow.c:2829
+#: ../src/datasource_geotag.c:107 ../src/vikwindow.c:3385
msgid "JPG"
msgstr ""
-#: ../src/datasource_geotag.c:165
+#: ../src/datasource_geotag.c:168
#, c-format
msgid "Unable to create waypoint from %s"
msgstr ""
-#: ../src/datasource_google.c:49 ../src/datasource_google.c:50
-msgid "Google Directions"
-msgstr ""
-
-#: ../src/datasource_google.c:77
-msgid "From:"
-msgstr "Fra:"
-
-#: ../src/datasource_google.c:79
-msgid "To:"
-msgstr "Til:"
-
-#: ../src/datasource_gps.c:57
+#: ../src/datasource_gps.c:54
msgid "Acquire from GPS"
msgstr "Hent fra GPS"
-#: ../src/datasource_gps.c:58
+#: ../src/datasource_gps.c:55
msgid "Acquired from GPS"
msgstr "Hentet fra GPS"
-#: ../src/datasource_gps.c:221
+#: ../src/datasource_gps.c:245
#, c-format
msgid "using cmdline '%s' and file '%s'\n"
msgstr ""
-#: ../src/datasource_gps.c:297 ../src/vikgpslayer.c:884
+#: ../src/datasource_gps.c:327 ../src/vikgpslayer.c:934
#, c-format
msgid "Downloading %d waypoint..."
msgid_plural "Downloading %d waypoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/datasource_gps.c:298 ../src/vikgpslayer.c:885
+#: ../src/datasource_gps.c:328 ../src/vikgpslayer.c:935
#, c-format
msgid "Downloading %d trackpoint..."
msgid_plural "Downloading %d trackpoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/datasource_gps.c:303 ../src/vikgpslayer.c:890
+#: ../src/datasource_gps.c:333 ../src/vikgpslayer.c:940
#, c-format
msgid "Downloading %d routepoint..."
msgid_plural "Downloading %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/datasource_gps.c:325 ../src/datasource_gps.c:326
-#: ../src/datasource_gps.c:327
+#: ../src/datasource_gps.c:355 ../src/datasource_gps.c:356
+#: ../src/datasource_gps.c:357
#, c-format
msgid "Downloaded %d out of %d %s..."
msgstr "Lastet ned %d av %d %s..."
-#: ../src/datasource_gps.c:331 ../src/datasource_gps.c:332
-#: ../src/datasource_gps.c:333
+#: ../src/datasource_gps.c:361 ../src/datasource_gps.c:362
+#: ../src/datasource_gps.c:363
#, c-format
msgid "Downloaded %d %s."
msgstr "Lastet ned %d %s."
-#: ../src/datasource_gps.c:347 ../src/vikgpslayer.c:968
+#: ../src/datasource_gps.c:377 ../src/vikgpslayer.c:1018
#, c-format
msgid "GPS Device: %s"
msgstr "GPS-enhet: %s"
-#: ../src/datasource_gps.c:370 ../src/vikgpslayer.c:1042
-#: ../src/vikgpslayer.c:1110
+#: ../src/datasource_gps.c:400 ../src/vikgpslayer.c:1092
+#: ../src/vikgpslayer.c:1160
msgid "Status: Working..."
msgstr ""
-#: ../src/datasource_gps.c:469 ../src/vikgpslayer.c:150
+#. NB gps_layer_inst_init() is performed after parameter registeration
+#. thus to give the protocols some potential values use the old static list
+#. TODO: find another way to use gps_layer_inst_init()?
+#: ../src/datasource_gps.c:500 ../src/vikgpslayer.c:207
msgid "GPS Protocol:"
msgstr "GPS-protokoll"
-#. List now assigned at runtime
-#: ../src/datasource_gps.c:488 ../src/vikgpslayer.c:151
+#. List reassigned at runtime
+#: ../src/datasource_gps.c:526 ../src/vikgpslayer.c:208
msgid "Serial Port:"
msgstr ""
-#: ../src/datasource_gps.c:509
+#: ../src/datasource_gps.c:576
msgid ""
"Turn Off After Transfer\n"
"(Garmin/NAViLink Only)"
msgstr ""
-#: ../src/datasource_gps.c:512
+#: ../src/datasource_gps.c:583
msgid "Tracks:"
msgstr ""
-#: ../src/datasource_gps.c:516
+#: ../src/datasource_gps.c:590
msgid "Routes:"
msgstr ""
-#: ../src/datasource_gps.c:520
+#: ../src/datasource_gps.c:597
msgid "Waypoints:"
msgstr ""
-#: ../src/datasource_gps.c:594 ../src/vikgpslayer.c:1305
+#: ../src/datasource_gps.c:675 ../src/vikgpslayer.c:1355
msgid "GPS device: N/A"
msgstr ""
@@ -604,39 +710,39 @@ msgstr ""
msgid "OSM traces"
msgstr ""
-#: ../src/datasource_osm.c:80
+#: ../src/datasource_osm.c:82
msgid "Page number:"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:63 ../src/datasource_osm_my_traces.c:64
+#: ../src/datasource_osm_my_traces.c:59 ../src/datasource_osm_my_traces.c:60
msgid "OSM My Traces"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:108
+#: ../src/datasource_osm_my_traces.c:104
msgid "Username:"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:113
+#: ../src/datasource_osm_my_traces.c:109
msgid "The email or username used to login to OSM"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:115 ../src/osm-traces.c:413
+#: ../src/datasource_osm_my_traces.c:111 ../src/osm-traces.c:421
msgid "Password:"
msgstr "Passord:"
-#: ../src/datasource_osm_my_traces.c:120
+#: ../src/datasource_osm_my_traces.c:114
msgid "The password used to login to OSM"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:430
+#: ../src/datasource_osm_my_traces.c:429
msgid "Description"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:445
+#: ../src/datasource_osm_my_traces.c:444
msgid "Privacy"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:452
+#: ../src/datasource_osm_my_traces.c:451
msgid "Within Current View"
msgstr ""
@@ -648,15 +754,33 @@ msgstr ""
msgid "None found!"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:629
+#: ../src/datasource_osm_my_traces.c:634
msgid "My OSM Traces"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:645
+#: ../src/datasource_osm_my_traces.c:649
#, c-format
msgid "Unable to get trace: %s"
msgstr ""
+#: ../src/datasource_routing.c:53 ../src/datasource_routing.c:54
+msgid "Directions"
+msgstr ""
+
+#. Engine selector
+#: ../src/datasource_routing.c:83
+msgid "Engine:"
+msgstr ""
+
+#. From and To entries
+#: ../src/datasource_routing.c:88
+msgid "From:"
+msgstr "Fra:"
+
+#: ../src/datasource_routing.c:90
+msgid "To:"
+msgstr "Til:"
+
#: ../src/datasource_wikipedia.c:32
msgid "Create Waypoints from Wikipedia Articles"
msgstr ""
@@ -677,174 +801,185 @@ msgstr ""
msgid "Incorrect DEM Class B record: expected 1"
msgstr ""
-#: ../src/dem.c:360
+#: ../src/dem.c:288 ../src/download.c:170
#, c-format
msgid "Couldn't map file %s: %s"
msgstr ""
-#: ../src/download.c:112
-msgid "Tile age (s):"
+#: ../src/download.c:130
+msgid "Tile age (days):"
msgstr ""
-#: ../src/download.c:233
+#: ../src/download.c:321
#, c-format
msgid "Download error: %s"
msgstr "Nedlastingsfeil: %s"
-#: ../src/download.c:313
+#: ../src/download.c:404
msgid "couldn't open temp file"
msgstr "kunne ikke åpne tempfil"
-#: ../src/file.c:456 ../src/file.c:461
+#: ../src/file.c:451 ../src/file.c:456
#, c-format
msgid "Draw mode '%s' no more supported"
msgstr ""
-#: ../src/geotag_exif.c:433
+#: ../src/geotag_exif.c:421
msgid "Not enough memory."
msgstr ""
-#: ../src/geotag_exif.c:451
+#: ../src/geotag_exif.c:439
msgid "Setting a value for this tag is unsupported!"
msgstr ""
-#: ../src/geotag_exif.c:470
+#: ../src/geotag_exif.c:458
#, c-format
msgid "Too few components specified (need %d, found %d)\n"
msgstr ""
-#: ../src/geotag_exif.c:474
+#: ../src/geotag_exif.c:462
msgid "Numeric value expected\n"
msgstr ""
-#: ../src/geotag_exif.c:482
+#: ../src/geotag_exif.c:470
msgid "This shouldn't happen!"
msgstr ""
-#: ../src/geotag_exif.c:552
+#: ../src/geotag_exif.c:540
msgid "Not yet implemented!"
msgstr ""
-#: ../src/geotag_exif.c:565
+#: ../src/geotag_exif.c:553
msgid "Warning; Too many components specified!"
msgstr ""
-#: ../src/osm-traces.c:73
+#: ../src/osm-traces.c:76
msgid "Identifiable (public w/ timestamps)"
msgstr ""
-#: ../src/osm-traces.c:74
+#: ../src/osm-traces.c:77
msgid "Trackable (private w/ timestamps)"
msgstr ""
-#: ../src/osm-traces.c:75
+#: ../src/osm-traces.c:78
msgid "Public"
msgstr "Offentlig"
-#: ../src/osm-traces.c:76
+#: ../src/osm-traces.c:79
msgid "Private"
msgstr ""
-#: ../src/osm-traces.c:93
+#: ../src/osm-traces.c:97
msgid "OSM username:"
msgstr "OSM-brukernavn:"
-#: ../src/osm-traces.c:94
+#: ../src/osm-traces.c:98
msgid "OSM password:"
msgstr "OSM-passord:"
#. Preferences
-#: ../src/osm-traces.c:151
+#: ../src/osm-traces.c:155
msgid "OpenStreetMap Traces"
msgstr ""
-#: ../src/osm-traces.c:234
+#: ../src/osm-traces.c:238
#, c-format
msgid "failed to upload data: HTTP response is %ld"
msgstr ""
-#: ../src/osm-traces.c:239
+#: ../src/osm-traces.c:243
#, c-format
msgid "curl_easy_getinfo failed: %d"
msgstr ""
-#: ../src/osm-traces.c:244
+#: ../src/osm-traces.c:248
#, c-format
msgid "curl request failed: %s"
msgstr ""
-#: ../src/osm-traces.c:275
+#: ../src/osm-traces.c:279
#, c-format
msgid "failed to open temporary file: %s"
msgstr "kunne ikke åpne midlertidig fil: %s"
#. Success
-#: ../src/osm-traces.c:328
+#: ../src/osm-traces.c:340
msgid "Uploaded to OSM"
msgstr ""
-#: ../src/osm-traces.c:332
+#: ../src/osm-traces.c:344
msgid "FAILED TO UPLOAD DATA TO OSM - CURL PROBLEM"
msgstr ""
-#: ../src/osm-traces.c:335
+#: ../src/osm-traces.c:347
msgid "FAILED TO UPLOAD DATA TO OSM"
msgstr ""
-#: ../src/osm-traces.c:335
+#: ../src/osm-traces.c:347
msgid "HTTP response code"
msgstr ""
-#: ../src/osm-traces.c:348
+#: ../src/osm-traces.c:355
#, c-format
msgid "failed to unlink temporary file: %s"
msgstr ""
-#: ../src/osm-traces.c:387
+#: ../src/osm-traces.c:394
msgid "OSM upload"
msgstr "OSM-opplasting"
-#: ../src/osm-traces.c:405
+#: ../src/osm-traces.c:413
msgid "Email:"
msgstr "E-post:"
-#: ../src/osm-traces.c:410
+#: ../src/osm-traces.c:418
msgid ""
"The email used as login\n"
"<small>Enter the email you use to login into www.openstreetmap.org.</small>"
msgstr ""
-#: ../src/osm-traces.c:418
+#: ../src/osm-traces.c:426
msgid ""
"The password used to login\n"
"<small>Enter the password you use to login into "
"www.openstreetmap.org.</small>"
msgstr ""
-#: ../src/osm-traces.c:423
+#: ../src/osm-traces.c:431
msgid "File's name:"
msgstr "Filens navn:"
-#: ../src/osm-traces.c:433
+#: ../src/osm-traces.c:441
msgid ""
"The name of the file on OSM\n"
"<small>This is the name of the file created on the server.This is not the "
"name of the local file.</small>"
msgstr ""
-#: ../src/osm-traces.c:442
+#: ../src/osm-traces.c:450
msgid "The description of the trace"
msgstr ""
-#: ../src/osm-traces.c:444
+#: ../src/osm-traces.c:453
+msgid "Anonymize Times:"
+msgstr ""
+
+#: ../src/osm-traces.c:458
+msgid ""
+"Anonymize times of the trace.\n"
+"<small>You may choose to make the trace identifiable, yet mask the actual "
+"real time values</small>"
+msgstr ""
+
+#: ../src/osm-traces.c:462
msgid "Tags:"
msgstr ""
-#: ../src/osm-traces.c:449
+#: ../src/osm-traces.c:467
msgid "The tags associated to the trace"
msgstr ""
-#: ../src/osm-traces.c:482
+#: ../src/osm-traces.c:529
#, c-format
msgid "Uploading %s to OSM"
msgstr "Laster opp %s til OSM"
@@ -853,69 +988,88 @@ msgstr "Laster opp %s til OSM"
msgid "Map cache memory size (MB):"
msgstr ""
-#: ../src/print.c:53
+#: ../src/print.c:51 ../src/viktrwlayer.c:509
msgid "None"
msgstr "Ingen"
-#: ../src/print.c:54
+#: ../src/print.c:52
msgid "Horizontally"
msgstr "Horisontalt"
-#: ../src/print.c:55
+#: ../src/print.c:53
msgid "Vertically"
msgstr "Vertikalt"
-#: ../src/print.c:56
+#: ../src/print.c:54
msgid "Both"
msgstr "Begge"
-#: ../src/print.c:120
+#: ../src/print.c:118
msgid "Image Settings"
msgstr "Bildeinnstillinger"
-#: ../src/print.c:546
+#: ../src/print.c:548
msgid "done"
msgstr "ferdig"
#. Page Size
-#: ../src/print.c:575
+#: ../src/print.c:577
msgid "_Adjust Page Size and Orientation"
msgstr ""
-#: ../src/print.c:591
+#: ../src/print.c:593
msgid "C_enter:"
msgstr ""
#. ignore page margins
-#: ../src/print.c:609
+#: ../src/print.c:611
msgid "Ignore Page _Margins"
msgstr ""
-#: ../src/print.c:628
+#: ../src/print.c:630
msgid "Image S_ize:"
msgstr "B_ildestørrelse:"
-#: ../src/util.c:81
-msgid "Could not launch web browser."
-msgstr "Kunne ikke starte nettleser."
+#: ../src/util.c:65
+#, c-format
+msgid "Could not launch web browser. %s"
+msgstr ""
-#: ../src/util.c:92
-msgid "Could not create new email."
+#: ../src/util.c:76
+#, c-format
+msgid "Could not create new email. %s"
msgstr ""
-#: ../src/vikcoordlayer.c:46
+#: ../src/util.c:177
+#, c-format
+msgid ""
+"There is a newer version of Viking available: %s\n"
+"\n"
+"Do you wish to go to Viking's website now?"
+msgstr ""
+
+#: ../src/util.c:304
+msgid ""
+"This appears to be Viking's very first run.\n"
+"\n"
+"Do you wish to enable automatic internet features?\n"
+"\n"
+"Individual settings can be controlled in the Preferences."
+msgstr ""
+
+#: ../src/vikcoordlayer.c:57
msgid "Color:"
msgstr "Farge:"
-#: ../src/vikcoordlayer.c:47
+#: ../src/vikcoordlayer.c:58
msgid "Minutes Width:"
msgstr ""
-#: ../src/vikcoordlayer.c:48
+#: ../src/vikcoordlayer.c:59
msgid "Line Thickness:"
msgstr "Linjetykkelse:"
-#: ../src/vikcoordlayer.c:56
+#: ../src/vikcoordlayer.c:66
msgid "Coordinate"
msgstr ""
@@ -951,62 +1105,130 @@ msgstr ""
msgid "Polygonzied Layer"
msgstr "Polygoniserte lag"
-#: ../src/main.c:89
+#: ../src/main.c:92
#, c-format
msgid "Ignoring Xlib error: error code %d request code %d\n"
msgstr ""
-#: ../src/main.c:102
+#: ../src/main.c:105
msgid "Enable debug output"
msgstr "Aktiver feilsøkingsutskrifter"
-#: ../src/main.c:103
+#: ../src/main.c:106
msgid "Enable verbose output"
msgstr "Slå på utfyllende utskrift"
-#: ../src/main.c:104
+#: ../src/main.c:107
msgid "Show version"
msgstr "Vis versjon"
-#: ../src/osm.c:106
+#: ../src/osm.c:99
msgid "On Disk OSM Tile Format"
msgstr ""
-#: ../src/osm.c:121
+#: ../src/osm.c:113
msgid "OSM (view)"
msgstr ""
-#: ../src/osm.c:125
+#: ../src/osm.c:117
msgid "OSM (edit)"
msgstr ""
-#: ../src/osm.c:129
+#: ../src/osm.c:121
msgid "OSM (render)"
msgstr ""
#. Example: http://127.0.0.1:8111/load_and_zoom?left=8.19&right=8.20&top=48.605&bottom=48.590&select=node413602999
#. JOSM or merkaartor must already be running with remote interface enabled
-#: ../src/osm.c:136
+#: ../src/osm.c:128
msgid "Local port 8111 (eg JOSM)"
msgstr ""
-#: ../src/preferences.c:285
+#: ../src/osm.c:134
+msgid "OpenStreetMap Notes"
+msgstr ""
+
+#: ../src/osm.c:138
+msgid "OpenStreetBugs"
+msgstr ""
+
+#. Not really OSM but can't be bothered to create somewhere else to put it...
+#: ../src/osm.c:164
+msgid "Wikimedia Toolserver GeoHack"
+msgstr ""
+
+#: ../src/preferences.c:191
msgid "Preferences"
msgstr ""
-#: ../src/uibuilder.c:147
+#: ../src/viklayer_defaults.c:232
+#, c-format
+msgid "Could not open file: %s"
+msgstr ""
+
+#: ../src/viklayer_defaults.c:303
+msgid "Layer Defaults"
+msgstr ""
+
+#: ../src/uibuilder.c:185
msgid "Take care that this password will be stored clearly in a plain file."
msgstr ""
-#: ../src/vikaggregatelayer.c:37
+#: ../src/vikaggregatelayer.c:42
msgid "Aggregate"
msgstr ""
-#: ../src/vikdemlayer.c:101
+#. VikLayersPanel *vlp = VIK_LAYERS_PANEL(lav[1]);
+#: ../src/vikaggregatelayer.c:484 ../src/viktrwlayer.c:10238
+#, c-format
+msgid "%s: Track and Route List"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:529 ../src/viktrwlayer.c:7354
+#: ../src/viktrwlayer.c:7420 ../src/viktrwlayer.c:7498
+msgid "_Visibility"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:534
+msgid "_Show All"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:540
+msgid "_Hide All"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:546 ../src/viktrwlayer.c:7371
+#: ../src/viktrwlayer.c:7437 ../src/viktrwlayer.c:7515
+msgid "_Toggle"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:553 ../src/viktrwlayer.c:7536
+msgid "_Sort"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:559 ../src/viktrwlayer.c:7542
+msgid "Name _Ascending"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:565 ../src/viktrwlayer.c:7548
+msgid "Name _Descending"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:571 ../src/viktrwlayer.c:7449
+#: ../src/viktrwlayer.c:7527 ../src/viktrwlayer.c:7587
+#: ../src/viktrwlayer_tracklist.c:237
+msgid "_Statistics"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:576 ../src/viktrwlayer.c:3971
+msgid "Track _List..."
+msgstr ""
+
+#: ../src/vikdemlayer.c:92
msgid "Absolute height"
msgstr ""
-#: ../src/vikdemlayer.c:102
+#: ../src/vikdemlayer.c:93
msgid "Height gradient"
msgstr ""
@@ -1046,25 +1268,52 @@ msgstr ""
msgid "DEM"
msgstr ""
-#: ../src/vikdemlayer.c:284
+#: ../src/vikdemlayer.c:287
#, c-format
msgid "Number of files: %d"
msgstr ""
-#: ../src/vikdemlayer.c:385
+#: ../src/vikdemlayer.c:427
msgid "DEM Loading"
msgstr ""
-#: ../src/vikdemlayer.c:889
+#: ../src/vikdemlayer.c:937
#, c-format
msgid "No SRTM data available for %f, %f"
msgstr "Ingen SRTM-data tilgjengelig for %f, %f"
-#: ../src/vikdemlayer.c:1149
+#. Probably not over any land...
+#: ../src/vikdemlayer.c:1193
+msgid "No DEM File Available"
+msgstr ""
+
+#: ../src/vikdemlayer.c:1212
+#, c-format
+msgid ""
+"\n"
+"Source: %s\n"
+"\n"
+"DEM File: %s\n"
+"DEM File Timestamp: %s"
+msgstr ""
+
+#: ../src/vikdemlayer.c:1216
+#, c-format
+msgid ""
+"Source: %s\n"
+"\n"
+"No DEM File!"
+msgstr ""
+
+#: ../src/vikdemlayer.c:1256
#, c-format
msgid "Downloading DEM %s"
msgstr "Laster ned DEM %s"
+#: ../src/vikdemlayer.c:1280
+msgid "_Show DEM File Information"
+msgstr ""
+
#: ../src/vikfileentry.c:68
msgid "Browse..."
msgstr ""
@@ -1085,248 +1334,266 @@ msgstr "Legg til..."
msgid "Delete"
msgstr "Slett"
-#: ../src/vikgeoreflayer.c:70
+#: ../src/vikgeoreflayer.c:78
msgid "_Georef Move Map"
msgstr ""
-#: ../src/vikgeoreflayer.c:70
+#: ../src/vikgeoreflayer.c:78
msgid "Georef Move Map"
msgstr ""
-#: ../src/vikgeoreflayer.c:77
+#: ../src/vikgeoreflayer.c:85
msgid "Georef Z_oom Tool"
msgstr ""
-#: ../src/vikgeoreflayer.c:77
+#: ../src/vikgeoreflayer.c:85
msgid "Georef Zoom Tool"
msgstr ""
-#: ../src/vikgeoreflayer.c:87
+#: ../src/vikgeoreflayer.c:95
msgid "GeoRef Map"
msgstr ""
-#: ../src/vikgeoreflayer.c:335 ../src/vikmapslayer.c:685
+#: ../src/vikgeoreflayer.c:377 ../src/vikmapslayer.c:720
#, c-format
msgid "Couldn't open image file: %s"
msgstr "Kunne ikke åpne bildefil: %s"
-#: ../src/vikgeoreflayer.c:365
+#: ../src/vikgeoreflayer.c:391
+msgid ""
+"GeoRef map cannot be displayed in the current drawmode.\n"
+"Select \"UTM Mode\" from View menu to view it."
+msgstr ""
+
+#: ../src/vikgeoreflayer.c:415
msgid "Unexpected end of file reading World file."
msgstr ""
-#: ../src/vikgeoreflayer.c:381 ../src/vikgeoreflayer.c:426
+#: ../src/vikgeoreflayer.c:431 ../src/vikgeoreflayer.c:476
msgid "Choose World file"
msgstr "Velg World-fil"
-#: ../src/vikgeoreflayer.c:394
+#: ../src/vikgeoreflayer.c:444
msgid "The World file you requested could not be opened for reading."
msgstr "Den World-filen du valgte kunne ikke åpnes for lesing."
-#: ../src/vikgeoreflayer.c:439
+#: ../src/vikgeoreflayer.c:489
msgid "The file you requested could not be opened for writing."
msgstr "Den World-filen du valgte kunne ikke åpnes for skriving."
-#: ../src/vikgeoreflayer.c:456 ../src/viklayer.c:480
+#: ../src/vikgeoreflayer.c:506 ../src/viklayer.c:518
msgid "Layer Properties"
msgstr "Laginnstillinger"
-#: ../src/vikgeoreflayer.c:478
+#: ../src/vikgeoreflayer.c:528
msgid "World File Parameters:"
msgstr ""
-#: ../src/vikgeoreflayer.c:479
+#: ../src/vikgeoreflayer.c:529
msgid "Load From File..."
msgstr "Last inn fra fil..."
-#: ../src/vikgeoreflayer.c:484
+#: ../src/vikgeoreflayer.c:534
msgid "Corner pixel easting:"
msgstr ""
-#: ../src/vikgeoreflayer.c:486
-msgid "the UTM \"easting\" value of the upper-right corner pixel of the map"
+#: ../src/vikgeoreflayer.c:536
+msgid "the UTM \"easting\" value of the upper-left corner pixel of the map"
msgstr ""
-#: ../src/vikgeoreflayer.c:488
+#: ../src/vikgeoreflayer.c:538
msgid "Corner pixel northing:"
msgstr ""
-#: ../src/vikgeoreflayer.c:490
-msgid "the UTM \"northing\" value of the upper-right corner pixel of the map"
+#: ../src/vikgeoreflayer.c:540
+msgid "the UTM \"northing\" value of the upper-left corner pixel of the map"
msgstr ""
-#: ../src/vikgeoreflayer.c:492
+#: ../src/vikgeoreflayer.c:542
msgid "X (easting) scale (mpp): "
msgstr ""
-#: ../src/vikgeoreflayer.c:493
+#: ../src/vikgeoreflayer.c:543
msgid "Y (northing) scale (mpp): "
msgstr ""
-#: ../src/vikgeoreflayer.c:496
+#: ../src/vikgeoreflayer.c:546
msgid "the scale of the map in the X direction (meters per pixel)"
msgstr ""
-#: ../src/vikgeoreflayer.c:498
+#: ../src/vikgeoreflayer.c:548
msgid "the scale of the map in the Y direction (meters per pixel)"
msgstr ""
-#: ../src/vikgeoreflayer.c:500
+#: ../src/vikgeoreflayer.c:550
msgid "Map Image:"
msgstr "Kartbilde:"
#. Now with icons
-#: ../src/vikgeoreflayer.c:608
+#: ../src/vikgeoreflayer.c:658
msgid "_Zoom to Fit Map"
msgstr ""
-#: ../src/vikgeoreflayer.c:614
+#: ../src/vikgeoreflayer.c:664
msgid "_Goto Map Center"
msgstr ""
-#: ../src/vikgeoreflayer.c:620
+#: ../src/vikgeoreflayer.c:670
msgid "_Export to World File"
msgstr ""
-#: ../src/vikgoto.c:75
+#: ../src/vikgoto.c:81
msgid "No goto tool available."
msgstr ""
-#: ../src/vikgoto.c:88 ../src/vikgoto.c:107
+#: ../src/vikgoto.c:94 ../src/vikgoto.c:148
msgid "goto"
msgstr ""
-#: ../src/vikgoto.c:90
+#: ../src/vikgoto.c:96
msgid "I don't know that place. Do you want another goto?"
msgstr ""
-#: ../src/vikgoto.c:109
+#: ../src/vikgoto.c:150
msgid "goto provider:"
msgstr ""
-#: ../src/vikgoto.c:124
+#: ../src/vikgoto.c:165
msgid "Enter address or place name:"
msgstr "Angi adresse eller stedsnavn:"
-#: ../src/vikgpslayer.c:127
+#: ../src/vikgoto.c:363
+msgid "Locality"
+msgstr ""
+
+#: ../src/vikgpslayer.c:128
msgid "Data Mode"
msgstr ""
-#: ../src/vikgpslayer.c:129
+#: ../src/vikgpslayer.c:130
msgid "Realtime Tracking Mode"
msgstr ""
-#: ../src/vikgpslayer.c:137
+#: ../src/vikgpslayer.c:167
msgid "Keep vehicle at center"
msgstr ""
-#: ../src/vikgpslayer.c:138
+#: ../src/vikgpslayer.c:168
msgid "Keep vehicle on screen"
msgstr ""
-#: ../src/vikgpslayer.c:139
+#: ../src/vikgpslayer.c:169
msgid "Disable"
msgstr ""
-#: ../src/vikgpslayer.c:152
+#: ../src/vikgpslayer.c:209
msgid "Download Tracks:"
msgstr ""
-#: ../src/vikgpslayer.c:153
+#: ../src/vikgpslayer.c:210
msgid "Upload Tracks:"
msgstr ""
-#: ../src/vikgpslayer.c:154
+#: ../src/vikgpslayer.c:211
msgid "Download Routes:"
msgstr ""
-#: ../src/vikgpslayer.c:155
+#: ../src/vikgpslayer.c:212
msgid "Upload Routes:"
msgstr ""
-#: ../src/vikgpslayer.c:156
+#: ../src/vikgpslayer.c:213
msgid "Download Waypoints:"
msgstr ""
-#: ../src/vikgpslayer.c:157
+#: ../src/vikgpslayer.c:214
msgid "Upload Waypoints:"
msgstr ""
-#: ../src/vikgpslayer.c:159
+#: ../src/vikgpslayer.c:216
msgid "Recording tracks"
msgstr ""
-#: ../src/vikgpslayer.c:160
+#: ../src/vikgpslayer.c:217
msgid "Jump to current position on start"
msgstr ""
-#: ../src/vikgpslayer.c:161
+#: ../src/vikgpslayer.c:218
msgid "Moving Map Method:"
msgstr ""
-#: ../src/vikgpslayer.c:162
+#: ../src/vikgpslayer.c:219
+msgid "Update Statusbar:"
+msgstr ""
+
+#: ../src/vikgpslayer.c:219
+msgid "Display information in the statusbar on GPS updates"
+msgstr ""
+
+#: ../src/vikgpslayer.c:220
msgid "Gpsd Host:"
msgstr ""
-#: ../src/vikgpslayer.c:163
+#: ../src/vikgpslayer.c:221
msgid "Gpsd Port:"
msgstr ""
-#: ../src/vikgpslayer.c:164
+#: ../src/vikgpslayer.c:222
msgid "Gpsd Retry Interval (seconds):"
msgstr ""
-#: ../src/vikgpslayer.c:179
+#: ../src/vikgpslayer.c:243
msgid "GPS"
msgstr ""
-#: ../src/vikgpslayer.c:242 ../src/vikgpslayer.c:1258
+#: ../src/vikgpslayer.c:306 ../src/vikgpslayer.c:1308
msgid "GPS Download"
msgstr "GPS-nedlasting"
-#: ../src/vikgpslayer.c:242 ../src/vikgpslayer.c:1258
-#: ../src/viktrwlayer.c:3094
+#: ../src/vikgpslayer.c:306 ../src/vikgpslayer.c:1308
+#: ../src/viktrwlayer.c:3480
msgid "GPS Upload"
msgstr "GPS-opplasting"
-#: ../src/vikgpslayer.c:244
+#: ../src/vikgpslayer.c:308
msgid "GPS Realtime Tracking"
msgstr ""
-#: ../src/vikgpslayer.c:451
+#: ../src/vikgpslayer.c:517
msgid "Unknown GPS Protocol"
msgstr "Ukjent GPS-protokoll"
-#: ../src/vikgpslayer.c:469
+#: ../src/vikgpslayer.c:535
msgid "Unknown serial port device"
msgstr ""
-#: ../src/vikgpslayer.c:572
+#: ../src/vikgpslayer.c:648
#, c-format
msgid "%s: unknown parameter"
msgstr "%s: ukjent parameter"
#. Now with icons
-#: ../src/vikgpslayer.c:693
+#: ../src/vikgpslayer.c:743
msgid "_Upload to GPS"
msgstr ""
-#: ../src/vikgpslayer.c:699
+#: ../src/vikgpslayer.c:749
msgid "Download from _GPS"
msgstr ""
-#: ../src/vikgpslayer.c:720
+#: ../src/vikgpslayer.c:770
msgid "Empty _Realtime"
msgstr ""
-#: ../src/vikgpslayer.c:727
+#: ../src/vikgpslayer.c:777
msgid "E_mpty Upload"
msgstr ""
-#: ../src/vikgpslayer.c:733
+#: ../src/vikgpslayer.c:783
msgid "_Empty Download"
msgstr ""
-#: ../src/vikgpslayer.c:739
+#: ../src/vikgpslayer.c:789
msgid "Empty _All"
msgstr ""
@@ -1335,233 +1602,231 @@ msgstr ""
#. This happens when copied GPS layer is deleted (not sure why the number_handlers would be 2)
#. I don't think there's any side effects and certainly better than the program just aborting
#.
-#: ../src/vikgpslayer.c:756
+#: ../src/vikgpslayer.c:806
#, c-format
msgid "Unexpected number of disconnected handlers: %d"
msgstr ""
-#: ../src/vikgpslayer.c:898
+#: ../src/vikgpslayer.c:948
#, c-format
msgid "Uploading %d waypoint..."
msgid_plural "Uploading %d waypoints..."
msgstr[0] "Laster opp %d waypoint..."
-#: ../src/vikgpslayer.c:899
+#: ../src/vikgpslayer.c:949
#, c-format
msgid "Uploading %d trackpoint..."
msgid_plural "Uploading %d trackpoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:900
+#: ../src/vikgpslayer.c:950
#, c-format
msgid "Uploading %d routepoint..."
msgid_plural "Uploading %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:925
+#: ../src/vikgpslayer.c:975
#, c-format
msgid "Downloaded %d out of %d waypoint..."
msgid_plural "Downloaded %d out of %d waypoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:926
+#: ../src/vikgpslayer.c:976
#, c-format
msgid "Downloaded %d out of %d trackpoint..."
msgid_plural "Downloaded %d out of %d trackpoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:927
+#: ../src/vikgpslayer.c:977
#, c-format
msgid "Downloaded %d out of %d routepoint..."
msgid_plural "Downloaded %d out of %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:932
+#: ../src/vikgpslayer.c:982
#, c-format
msgid "Uploaded %d out of %d waypoint..."
msgid_plural "Uploaded %d out of %d waypoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:933
+#: ../src/vikgpslayer.c:983
#, c-format
msgid "Uploaded %d out of %d trackpoint..."
msgid_plural "Uploaded %d out of %d trackpoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:934
+#: ../src/vikgpslayer.c:984
#, c-format
msgid "Uploaded %d out of %d routepoint..."
msgid_plural "Uploaded %d out of %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:942
+#: ../src/vikgpslayer.c:992
#, c-format
msgid "Downloaded %d waypoint"
msgid_plural "Downloaded %d waypoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:943
+#: ../src/vikgpslayer.c:993
#, c-format
msgid "Downloaded %d trackpoint"
msgid_plural "Downloaded %d trackpoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:944
+#: ../src/vikgpslayer.c:994
#, c-format
msgid "Downloaded %d routepoint"
msgid_plural "Downloaded %d routepoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:949
+#: ../src/vikgpslayer.c:999
#, c-format
msgid "Uploaded %d waypoint"
msgid_plural "Uploaded %d waypoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:950
+#: ../src/vikgpslayer.c:1000
#, c-format
msgid "Uploaded %d trackpoint"
msgid_plural "Uploaded %d trackpoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:951
+#: ../src/vikgpslayer.c:1001
#, c-format
msgid "Uploaded %d routepoint"
msgid_plural "Uploaded %d routepoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:1180
+#: ../src/vikgpslayer.c:1230
msgid "Error: couldn't find gpsbabel."
msgstr ""
-#: ../src/vikgpslayer.c:1269
+#: ../src/vikgpslayer.c:1319
msgid "Warning - GPS Upload items may overwrite each other"
msgstr ""
-#: ../src/vikgpslayer.c:1301
+#: ../src/vikgpslayer.c:1351
msgid "Status: detecting gpsbabel"
msgstr ""
-#: ../src/vikgpslayer.c:1332
+#: ../src/vikgpslayer.c:1386
msgid "No GPS items selected for transfer."
msgstr ""
-#: ../src/vikgpslayer.c:1347
+#: ../src/vikgpslayer.c:1401
msgid "Could not turn off device."
msgstr ""
-#: ../src/vikgpslayer.c:1385
+#: ../src/vikgpslayer.c:1439
msgid "Are you sure you want to delete GPS Upload data?"
msgstr ""
-#: ../src/vikgpslayer.c:1398
+#: ../src/vikgpslayer.c:1452
msgid "Are you sure you want to delete GPS Download data?"
msgstr ""
-#: ../src/vikgpslayer.c:1412
+#: ../src/vikgpslayer.c:1466
msgid "Are you sure you want to delete GPS Realtime data?"
msgstr ""
-#: ../src/vikgpslayer.c:1425
+#: ../src/vikgpslayer.c:1479
msgid "Are you sure you want to delete All GPS data?"
msgstr ""
-#: ../src/viklayerspanel.c:55
-msgid "/C_ut"
+#: ../src/viklayerspanel.c:53
+msgid "C_ut"
msgstr ""
-#: ../src/viklayerspanel.c:56
-msgid "/_Copy"
-msgstr "/_Kopier"
+#: ../src/viklayerspanel.c:54 ../src/vikwindow.c:3753
+msgid "_Copy"
+msgstr "_Kopier"
-#: ../src/viklayerspanel.c:57
-msgid "/_Paste"
-msgstr "/_Lim inn"
+#: ../src/viklayerspanel.c:55 ../src/vikwindow.c:3754
+msgid "_Paste"
+msgstr "_Lim inn"
-#: ../src/viklayerspanel.c:58
-msgid "/_Delete"
-msgstr "/_Slett"
+#: ../src/viklayerspanel.c:56 ../src/vikwindow.c:3755
+msgid "_Delete"
+msgstr "Sle_tt"
-#: ../src/viklayerspanel.c:59
-msgid "/New Layer"
-msgstr "/Nytt lag"
+#: ../src/viklayerspanel.c:133
+msgid "New Layer"
+msgstr ""
-#: ../src/viklayerspanel.c:127
+#: ../src/viklayerspanel.c:178
msgid "Top Layer"
msgstr ""
-#: ../src/viklayerspanel.c:143
+#: ../src/viklayerspanel.c:194
msgid "Add new layer"
msgstr ""
-#: ../src/viklayerspanel.c:150
+#: ../src/viklayerspanel.c:201
msgid "Remove selected layer"
msgstr ""
-#: ../src/viklayerspanel.c:157
+#: ../src/viklayerspanel.c:208
msgid "Move selected layer up"
msgstr ""
-#: ../src/viklayerspanel.c:164
+#: ../src/viklayerspanel.c:215
msgid "Move selected layer down"
msgstr ""
-#: ../src/viklayerspanel.c:171
+#: ../src/viklayerspanel.c:222
msgid "Cut selected layer"
msgstr ""
-#: ../src/viklayerspanel.c:178
+#: ../src/viklayerspanel.c:229
msgid "Copy selected layer"
msgstr ""
-#: ../src/viklayerspanel.c:185
-msgid "Paste layer below selected layer"
+#: ../src/viklayerspanel.c:236
+msgid ""
+"Paste layer into selected container layer or otherwise above selected layer"
msgstr ""
-#. TODO: FIXME: if name has a '/' in it it will get all messed up. why not have an itemfactory field with
-#. name, icon, shortcut, etc.?
-#: ../src/viklayerspanel.c:204 ../src/vikwindow.c:3292
-#, c-format
-msgid "New _%s Layer"
+#: ../src/viklayerspanel.c:300
+msgid "New name can not be blank."
msgstr ""
-#: ../src/viklayerspanel.c:511
+#: ../src/viklayerspanel.c:544
msgid "Aggregate Layers have no settable properties."
msgstr ""
-#: ../src/viklayerspanel.c:555
+#: ../src/viklayerspanel.c:588
msgid "You cannot cut the Top Layer."
msgstr "Du kan ikke klippe ut øverste lag"
-#: ../src/viklayerspanel.c:600
+#: ../src/viklayerspanel.c:633
#, c-format
msgid "Are you sure you want to delete %s?"
msgstr ""
-#: ../src/viklayerspanel.c:617
+#: ../src/viklayerspanel.c:650
msgid "You cannot delete the Top Layer."
msgstr "Du kan ikke slette øverste lag"
-#: ../src/viklayerspanel.c:701
+#: ../src/viklayerspanel.c:734
msgid "Are you sure you wish to delete all layers?"
msgstr "Er du sikker på at du vil ta slette alle lagene?"
#. ******* MAPZOOMS ********
-#: ../src/vikmapslayer.c:91
+#: ../src/vikmapslayer.c:80
msgid "Use Viking Zoom Level"
msgstr ""
@@ -1608,69 +1873,69 @@ msgid ""
"actual zoom level."
msgstr ""
-#: ../src/vikmapslayer.c:146
+#: ../src/vikmapslayer.c:156
msgid "_Maps Download"
msgstr ""
-#: ../src/vikmapslayer.c:146
+#: ../src/vikmapslayer.c:156
msgid "Maps Download"
msgstr ""
-#: ../src/vikmapslayer.c:161
+#: ../src/vikmapslayer.c:171
msgid "Map"
msgstr "Kart"
-#: ../src/vikmapslayer.c:249
-msgid "Default maplayer directory:"
+#: ../src/vikmapslayer.c:259
+msgid "Default map layer directory:"
msgstr ""
-#: ../src/vikmapslayer.c:249
+#: ../src/vikmapslayer.c:259
msgid "Choose a directory to store cached Map tiles for this layer"
msgstr ""
-#: ../src/vikmapslayer.c:505
+#: ../src/vikmapslayer.c:523
msgid "Unknown map type"
msgstr "Ukjent karttype"
-#: ../src/vikmapslayer.c:516
+#: ../src/vikmapslayer.c:534
msgid "Unknown Map Zoom"
msgstr "Ukjent kartzoom"
-#: ../src/vikmapslayer.c:589
+#: ../src/vikmapslayer.c:624
#, c-format
msgid ""
"New map cannot be displayed in the current drawmode.\n"
"Select \"%s\" from View menu to view it."
msgstr ""
-#: ../src/vikmapslayer.c:753
+#: ../src/vikmapslayer.c:798
#, c-format
msgid ""
"Cowardly refusing to draw tiles or existence of tiles beyond %d zoom out "
"factor"
msgstr ""
-#: ../src/vikmapslayer.c:1157
+#: ../src/vikmapslayer.c:1210
#, c-format
msgid "Redownloading up to %d %s map..."
msgid_plural "Redownloading up to %d %s maps..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikmapslayer.c:1159
+#: ../src/vikmapslayer.c:1212
#, c-format
msgid "Redownloading %d %s map..."
msgid_plural "Redownloading %d %s maps..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikmapslayer.c:1163 ../src/vikmapslayer.c:1238
+#: ../src/vikmapslayer.c:1216 ../src/vikmapslayer.c:1290
#, c-format
msgid "Downloading %d %s map..."
msgid_plural "Downloading %d %s maps..."
msgstr[0] "Laster ned %d %s kart..."
-#: ../src/vikmapslayer.c:1311
+#: ../src/vikmapslayer.c:1376
#, c-format
msgid ""
"\n"
@@ -1680,7 +1945,7 @@ msgid ""
"Tile File Timestamp: %s"
msgstr ""
-#: ../src/vikmapslayer.c:1318
+#: ../src/vikmapslayer.c:1380
#, c-format
msgid ""
"Source: %s\n"
@@ -1688,1458 +1953,2035 @@ msgid ""
"No Tile File!"
msgstr ""
-#: ../src/vikmapslayer.c:1356
+#: ../src/vikmapslayer.c:1418
msgid "Redownload _Bad Map(s)"
msgstr ""
-#: ../src/vikmapslayer.c:1360
+#: ../src/vikmapslayer.c:1422
msgid "Redownload _New Map(s)"
msgstr ""
-#: ../src/vikmapslayer.c:1364
+#: ../src/vikmapslayer.c:1426
msgid "Redownload _All Map(s)"
msgstr ""
-#: ../src/vikmapslayer.c:1368
+#: ../src/vikmapslayer.c:1430
msgid "_Show Tile Information"
msgstr ""
-#: ../src/vikmapslayer.c:1449
+#: ../src/vikmapslayer.c:1511
#, c-format
msgid ""
"Wrong drawmode for this map.\n"
"Select \"%s\" from View menu and try again."
msgstr ""
-#: ../src/vikmapslayer.c:1454
+#: ../src/vikmapslayer.c:1516
msgid "Wrong zoom level for this map."
msgstr "Feil zoomnviå for dette kartet."
+#: ../src/vikmapslayer.c:1647
+msgid "Zoom Start:"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1654
+msgid "Zoom End:"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1660
+msgid "Download Maps Method:"
+msgstr ""
+
+#. redownload method - needs to align with REDOWNLOAD* macro values
+#: ../src/vikmapslayer.c:1732
+msgid "Missing"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1732
+msgid "Bad"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1732
+msgid "New"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1732
+msgid "Reload All"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1734
+msgid "Download for Zoom Levels"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1774
+#, c-format
+msgid ""
+"You are not allowed to download more than %d tiles in one go (requested %d)"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1782
+#, c-format
+msgid "Do you really want to download %d tiles?"
+msgstr ""
+
#. Now with icons
-#: ../src/vikmapslayer.c:1485
+#: ../src/vikmapslayer.c:1807
msgid "Download _Missing Onscreen Maps"
msgstr ""
-#: ../src/vikmapslayer.c:1492
+#: ../src/vikmapslayer.c:1814
msgid "Download _New Onscreen Maps"
msgstr ""
-#: ../src/vikmapslayer.c:1499
+#: ../src/vikmapslayer.c:1821
msgid "Reload _All Onscreen Maps"
msgstr ""
-#: ../src/viktreeview.c:263
+#: ../src/vikmapslayer.c:1827
+msgid "Download Maps in _Zoom Levels..."
+msgstr ""
+
+#: ../src/vikrouting.c:54
+msgid "Default engine:"
+msgstr ""
+
+#: ../src/viktreeview.c:316
msgid "Layer Name"
msgstr "Navn på lag"
-#: ../src/viktreeview.c:742
+#: ../src/viktreeview.c:851
#, c-format
msgid "delete data from %s\n"
msgstr "slett data fra %s\n"
-#: ../src/viktrwlayer.c:377
+#: ../src/viktrwlayer.c:398
msgid "Create _Waypoint"
msgstr ""
-#: ../src/viktrwlayer.c:377
+#: ../src/viktrwlayer.c:398
msgid "Create Waypoint"
msgstr "Opprett Waypoint"
-#: ../src/viktrwlayer.c:383
+#: ../src/viktrwlayer.c:404
msgid "Create _Track"
msgstr ""
-#: ../src/viktrwlayer.c:383
+#: ../src/viktrwlayer.c:404
msgid "Create Track"
msgstr ""
-#: ../src/viktrwlayer.c:392
+#: ../src/viktrwlayer.c:413
msgid "Create _Route"
msgstr ""
-#: ../src/viktrwlayer.c:392
+#: ../src/viktrwlayer.c:413
msgid "Create Route"
msgstr ""
-#: ../src/viktrwlayer.c:401
+#: ../src/viktrwlayer.c:422
msgid "_Edit Waypoint"
msgstr ""
-#: ../src/viktrwlayer.c:401
+#: ../src/viktrwlayer.c:422
msgid "Edit Waypoint"
msgstr "Rediger Waypoint"
-#: ../src/viktrwlayer.c:409
+#: ../src/viktrwlayer.c:432
msgid "Edit Trac_kpoint"
msgstr ""
-#: ../src/viktrwlayer.c:409
+#: ../src/viktrwlayer.c:432
msgid "Edit Trackpoint"
msgstr ""
-#: ../src/viktrwlayer.c:417
+#: ../src/viktrwlayer.c:442
msgid "Show P_icture"
msgstr ""
-#: ../src/viktrwlayer.c:417
+#: ../src/viktrwlayer.c:442
msgid "Show Picture"
msgstr "Vis bilde"
-#: ../src/viktrwlayer.c:424
+#: ../src/viktrwlayer.c:448
msgid "Route _Finder"
msgstr ""
-#: ../src/viktrwlayer.c:424
+#: ../src/viktrwlayer.c:448
msgid "Route Finder"
msgstr ""
#. ***** PARAMETERS *****
-#: ../src/viktrwlayer.c:447 ../src/viktrwlayer.c:1942
-#: ../src/viktrwlayer.c:1944
+#: ../src/viktrwlayer.c:468 ../src/viktrwlayer.c:2324
msgid "Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:447 ../src/viktrwlayer.c:1933
-#: ../src/viktrwlayer.c:1935
+#: ../src/viktrwlayer.c:468 ../src/viktrwlayer.c:2319
msgid "Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:447
+#: ../src/viktrwlayer.c:468
msgid "Waypoint Images"
msgstr ""
-#: ../src/viktrwlayer.c:450
+#: ../src/viktrwlayer.c:468
+msgid "Tracks Advanced"
+msgstr ""
+
+#: ../src/viktrwlayer.c:471
msgid "Draw by Track"
msgstr ""
-#: ../src/viktrwlayer.c:450
+#: ../src/viktrwlayer.c:471
msgid "Draw by Speed"
msgstr ""
-#: ../src/viktrwlayer.c:450
+#: ../src/viktrwlayer.c:471
msgid "All Tracks Same Color"
msgstr ""
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "Filled Square"
msgstr ""
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "Square"
msgstr ""
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "Circle"
msgstr "Sirkel"
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "X"
msgstr ""
-#: ../src/viktrwlayer.c:477
+#: ../src/viktrwlayer.c:498
msgid "Extra Extra Small"
msgstr ""
-#: ../src/viktrwlayer.c:478
+#: ../src/viktrwlayer.c:499
msgid "Extra Small"
msgstr ""
-#: ../src/viktrwlayer.c:479
+#: ../src/viktrwlayer.c:500
msgid "Small"
msgstr ""
-#: ../src/viktrwlayer.c:480
+#: ../src/viktrwlayer.c:501
msgid "Medium"
msgstr ""
-#: ../src/viktrwlayer.c:481
+#: ../src/viktrwlayer.c:502
msgid "Large"
msgstr ""
-#: ../src/viktrwlayer.c:482
+#: ../src/viktrwlayer.c:503
msgid "Extra Large"
msgstr ""
-#: ../src/viktrwlayer.c:483
+#: ../src/viktrwlayer.c:504
msgid "Extra Extra Large"
msgstr ""
-#: ../src/viktrwlayer.c:491
+#: ../src/viktrwlayer.c:510
+msgid "Name Ascending"
+msgstr ""
+
+#: ../src/viktrwlayer.c:511
+msgid "Name Descending"
+msgstr ""
+
+#: ../src/viktrwlayer.c:552 ../src/viktrwlayer.c:576
+msgid "Draw Labels"
+msgstr "Tegn etiketter"
+
+#: ../src/viktrwlayer.c:553
+msgid "Note: the individual track controls what labels may be displayed"
+msgstr ""
+
+#: ../src/viktrwlayer.c:554
+msgid "Track Labels Font Size:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:555
msgid "Track Drawing Mode:"
msgstr ""
-#: ../src/viktrwlayer.c:492
+#: ../src/viktrwlayer.c:556
msgid "All Tracks Color:"
msgstr ""
-#: ../src/viktrwlayer.c:493
+#: ../src/viktrwlayer.c:557
msgid "The color used when 'All Tracks Same Color' drawing mode is selected"
msgstr ""
-#: ../src/viktrwlayer.c:494
+#: ../src/viktrwlayer.c:558
msgid "Draw Track Lines"
msgstr ""
-#: ../src/viktrwlayer.c:495
+#: ../src/viktrwlayer.c:559
msgid "Track Thickness:"
msgstr "Sportykkelse:"
-#: ../src/viktrwlayer.c:496
+#: ../src/viktrwlayer.c:560
msgid "Draw Track Direction"
msgstr ""
-#: ../src/viktrwlayer.c:497
+#: ../src/viktrwlayer.c:561
msgid "Direction Size:"
msgstr ""
-#: ../src/viktrwlayer.c:498
+#: ../src/viktrwlayer.c:562
msgid "Draw Trackpoints"
msgstr ""
-#: ../src/viktrwlayer.c:499
+#: ../src/viktrwlayer.c:563
msgid "Trackpoint Size:"
msgstr ""
-#: ../src/viktrwlayer.c:500
+#: ../src/viktrwlayer.c:564
msgid "Draw Elevation"
msgstr ""
-#: ../src/viktrwlayer.c:501
+#: ../src/viktrwlayer.c:565
msgid "Draw Elevation Height %:"
msgstr ""
-#: ../src/viktrwlayer.c:503
+#: ../src/viktrwlayer.c:566
msgid "Draw Stops"
msgstr ""
-#: ../src/viktrwlayer.c:504
+#: ../src/viktrwlayer.c:567
msgid ""
"Whether to draw a marker when trackpoints are at the same position but over "
"the minimum stop length apart in time"
msgstr ""
-#: ../src/viktrwlayer.c:505
+#: ../src/viktrwlayer.c:568
msgid "Min Stop Length (seconds):"
msgstr ""
-#: ../src/viktrwlayer.c:507
+#: ../src/viktrwlayer.c:570
msgid "Track BG Thickness:"
msgstr ""
-#: ../src/viktrwlayer.c:508
+#: ../src/viktrwlayer.c:571
msgid "Track Background Color"
msgstr "Bakgrunnsfarge på spor"
-#: ../src/viktrwlayer.c:509
+#: ../src/viktrwlayer.c:572
msgid "Draw by Speed Factor (%):"
msgstr ""
-#: ../src/viktrwlayer.c:510
+#: ../src/viktrwlayer.c:573
msgid ""
"The percentage factor away from the average speed determining the color used"
msgstr ""
-#: ../src/viktrwlayer.c:512
-msgid "Draw Labels"
-msgstr "Tegn etiketter"
+#: ../src/viktrwlayer.c:574
+msgid "Track Sort Order:"
+msgstr ""
-#: ../src/viktrwlayer.c:513
+#: ../src/viktrwlayer.c:577
msgid "Waypoint Font Size:"
msgstr ""
-#: ../src/viktrwlayer.c:514
+#: ../src/viktrwlayer.c:578
msgid "Waypoint Color:"
msgstr ""
-#: ../src/viktrwlayer.c:515
+#: ../src/viktrwlayer.c:579
msgid "Waypoint Text:"
msgstr ""
-#: ../src/viktrwlayer.c:516
+#: ../src/viktrwlayer.c:580
msgid "Background:"
msgstr "Bakgrunn:"
-#: ../src/viktrwlayer.c:517
+#: ../src/viktrwlayer.c:581
msgid "Fake BG Color Translucency:"
msgstr ""
-#: ../src/viktrwlayer.c:518
+#: ../src/viktrwlayer.c:582
msgid "Waypoint marker:"
msgstr ""
-#: ../src/viktrwlayer.c:519
+#: ../src/viktrwlayer.c:583
msgid "Waypoint size:"
msgstr ""
-#: ../src/viktrwlayer.c:520
+#: ../src/viktrwlayer.c:584
msgid "Draw Waypoint Symbols:"
msgstr ""
-#: ../src/viktrwlayer.c:522
+#: ../src/viktrwlayer.c:585
+msgid "Waypoint Sort Order:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:587
msgid "Draw Waypoint Images"
msgstr ""
-#: ../src/viktrwlayer.c:523
+#: ../src/viktrwlayer.c:588
msgid "Image Size (pixels):"
msgstr ""
-#: ../src/viktrwlayer.c:524
+#: ../src/viktrwlayer.c:589
msgid "Image Alpha:"
msgstr ""
-#: ../src/viktrwlayer.c:525
+#: ../src/viktrwlayer.c:590
msgid "Image Memory Cache Size:"
msgstr ""
-#: ../src/viktrwlayer.c:610
+#: ../src/viktrwlayer.c:678
msgid "TrackWaypoint"
msgstr ""
-#: ../src/viktrwlayer.c:1951 ../src/viktrwlayer.c:1953
+#: ../src/viktrwlayer.c:1534 ../src/vikutils.c:204
+msgid "miles"
+msgstr ""
+
+#. VIK_UNITS_DISTANCE_KILOMETRES:
+#: ../src/viktrwlayer.c:1538 ../src/vikutils.c:209
+msgid "km"
+msgstr ""
+
+#: ../src/viktrwlayer.c:1648
+msgid "start/end"
+msgstr ""
+
+#: ../src/viktrwlayer.c:1660
+msgid "start"
+msgstr ""
+
+#: ../src/viktrwlayer.c:1669
+msgid "end"
+msgstr ""
+
+#: ../src/viktrwlayer.c:2329
msgid "Routes"
msgstr ""
-#: ../src/viktrwlayer.c:2144
+#: ../src/viktrwlayer.c:2519
#, c-format
msgid " in %d:%02d hrs:mins"
msgstr ""
-#: ../src/viktrwlayer.c:2148
+#: ../src/viktrwlayer.c:2523
#, c-format
msgid ""
"\n"
"%sTotal Length %.1f %s%s"
msgstr ""
-#: ../src/viktrwlayer.c:2154
+#: ../src/viktrwlayer.c:2529
#, c-format
msgid "Tracks: %d - Waypoints: %d - Routes: %d%s"
msgstr ""
-#: ../src/viktrwlayer.c:2174
+#: ../src/viktrwlayer.c:2549
#, c-format
msgid "Tracks: %d"
msgstr ""
-#: ../src/viktrwlayer.c:2184
+#: ../src/viktrwlayer.c:2559
#, c-format
msgid "Routes: %d"
msgstr ""
-#: ../src/viktrwlayer.c:2215
+#: ../src/viktrwlayer.c:2590
#, c-format
msgid "- %d:%02d hrs:mins"
msgstr ""
-#: ../src/viktrwlayer.c:2223
+#: ../src/viktrwlayer.c:2598
#, c-format
msgid "%s%.1f km %s"
msgstr ""
-#: ../src/viktrwlayer.c:2226
+#: ../src/viktrwlayer.c:2601
#, c-format
msgid "%s%.1f miles %s"
msgstr ""
-#: ../src/viktrwlayer.c:2240
+#: ../src/viktrwlayer.c:2615
#, c-format
msgid "Waypoints: %d"
msgstr ""
-#: ../src/viktrwlayer.c:2266
-#, c-format
-msgid "Trkpt: Alt %dft"
-msgstr ""
-
-#. VIK_UNITS_HEIGHT_METRES:
-#: ../src/viktrwlayer.c:2270
-#, c-format
-msgid "Trkpt: Alt %dm"
-msgstr ""
-
-#. Compact date time format
-#: ../src/viktrwlayer.c:2277
-#, c-format
-msgid " | Time %x %X"
-msgstr ""
-
-#: ../src/viktrwlayer.c:2295
-#, c-format
-msgid " | Track: %s"
-msgstr ""
-
-#. Combine parts to make overall message
-#: ../src/viktrwlayer.c:2299
-#, c-format
-msgid "%s%s | %s %s %s"
-msgstr ""
-
-#: ../src/viktrwlayer.c:2314
+#: ../src/viktrwlayer.c:2671
#, c-format
msgid "Wpt: Alt %dft"
msgstr ""
#. VIK_UNITS_HEIGHT_METRES:
-#: ../src/viktrwlayer.c:2318
+#: ../src/viktrwlayer.c:2675
#, c-format
msgid "Wpt: Alt %dm"
msgstr ""
#. Add comment if available
-#: ../src/viktrwlayer.c:2333
+#: ../src/viktrwlayer.c:2690
#, c-format
msgid "%s | %s %s | Comment: %s"
msgstr ""
-#: ../src/viktrwlayer.c:2335
+#: ../src/viktrwlayer.c:2692
#, c-format
msgid "%s | %s %s"
msgstr ""
-#: ../src/viktrwlayer.c:2563 ../src/viktrwlayer.c:2634
+#: ../src/viktrwlayer.c:2939 ../src/viktrwlayer.c:3010
msgid "This layer has no waypoints or trackpoints."
msgstr ""
-#: ../src/viktrwlayer.c:2661 ../src/vikwindow.c:2407 ../src/vikwindow.c:2848
+#: ../src/viktrwlayer.c:3045 ../src/vikwindow.c:2754 ../src/vikwindow.c:3407
#, c-format
msgid "The file \"%s\" exists, do you wish to overwrite it?"
msgstr "Filen \"%s\" eksisterer. Vil du overskrive den?"
-#: ../src/viktrwlayer.c:2671 ../src/vikwindow.c:2429
+#: ../src/viktrwlayer.c:3057 ../src/vikwindow.c:2778
msgid "The filename you requested could not be opened for writing."
msgstr ""
-#: ../src/viktrwlayer.c:2676 ../src/viktrwlayer.c:2681
-#: ../src/viktrwlayer.c:2691 ../src/viktrwlayer.c:2703
+#: ../src/viktrwlayer.c:3062 ../src/viktrwlayer.c:3067
+#: ../src/viktrwlayer.c:3077 ../src/viktrwlayer.c:3089
msgid "Export Layer"
msgstr "Eksporter lag"
-#: ../src/viktrwlayer.c:2720
+#: ../src/viktrwlayer.c:3108
msgid "Could not create temporary file for export."
msgstr ""
-#: ../src/viktrwlayer.c:2729
+#: ../src/viktrwlayer.c:3117
#, c-format
msgid "Could not launch %s."
msgstr ""
-#: ../src/viktrwlayer.c:2773
+#: ../src/viktrwlayer.c:3161
msgid "Export Track as GPX"
msgstr ""
-#: ../src/viktrwlayer.c:2795
+#: ../src/viktrwlayer.c:3183
msgid "Find"
msgstr ""
-#: ../src/viktrwlayer.c:2805
+#: ../src/viktrwlayer.c:3193
msgid "Waypoint Name:"
msgstr ""
-#: ../src/viktrwlayer.c:2822
+#: ../src/viktrwlayer.c:3210
msgid "Waypoint not found in this layer."
msgstr ""
-#: ../src/viktrwlayer.c:3090
+#: ../src/viktrwlayer.c:3476
msgid "Can not upload invisible track."
msgstr ""
-#: ../src/viktrwlayer.c:3192 ../src/viktrwlayer.c:7785
+#: ../src/viktrwlayer.c:3581 ../src/viktrwlayer.c:9283
msgid "Track"
msgstr ""
-#: ../src/viktrwlayer.c:3215 ../src/viktrwlayer.c:7817
+#: ../src/viktrwlayer.c:3606 ../src/viktrwlayer.c:9316
msgid "Route"
msgstr ""
-#: ../src/viktrwlayer.c:3296 ../src/viktrwlayer.c:6265
-#: ../src/viktrwlayer.c:6314
+#: ../src/viktrwlayer.c:3691 ../src/viktrwlayer.c:7460
+#: ../src/viktrwlayer.c:7566
msgid "_Finish Route"
msgstr ""
-#: ../src/viktrwlayer.c:3298 ../src/viktrwlayer.c:6223
-#: ../src/viktrwlayer.c:6312
+#: ../src/viktrwlayer.c:3693 ../src/viktrwlayer.c:7383
+#: ../src/viktrwlayer.c:7564
msgid "_Finish Track"
msgstr ""
#. Now with icons
-#: ../src/viktrwlayer.c:3310
+#: ../src/viktrwlayer.c:3705
msgid "_View Layer"
msgstr ""
-#: ../src/viktrwlayer.c:3317
+#: ../src/viktrwlayer.c:3712
msgid "V_iew"
msgstr ""
-#: ../src/viktrwlayer.c:3323
+#: ../src/viktrwlayer.c:3718
msgid "View All _Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:3328
+#: ../src/viktrwlayer.c:3723
msgid "View All _Routes"
msgstr ""
-#: ../src/viktrwlayer.c:3333
+#: ../src/viktrwlayer.c:3728
msgid "View All _Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:3338
+#: ../src/viktrwlayer.c:3733
msgid "_Goto Center of Layer"
msgstr ""
-#: ../src/viktrwlayer.c:3344 ../src/viktrwlayer.c:6199
+#: ../src/viktrwlayer.c:3739 ../src/viktrwlayer.c:7335
msgid "Goto _Waypoint..."
msgstr ""
-#: ../src/viktrwlayer.c:3350
+#: ../src/viktrwlayer.c:3745
msgid "_Export Layer"
msgstr ""
-#: ../src/viktrwlayer.c:3356
+#: ../src/viktrwlayer.c:3751
msgid "Export as GPS_Point..."
msgstr ""
-#: ../src/viktrwlayer.c:3361
+#: ../src/viktrwlayer.c:3756
msgid "Export as GPS_Mapper..."
msgstr ""
-#: ../src/viktrwlayer.c:3366
+#: ../src/viktrwlayer.c:3761
msgid "Export as _GPX..."
msgstr ""
-#: ../src/viktrwlayer.c:3371
+#: ../src/viktrwlayer.c:3766
msgid "Export as _KML..."
msgstr ""
-#: ../src/viktrwlayer.c:3376
+#: ../src/viktrwlayer.c:3771
msgid "Open with External Program_1: "
msgstr ""
-#: ../src/viktrwlayer.c:3383
+#: ../src/viktrwlayer.c:3778
msgid "Open with External Program_2: "
msgstr ""
-#: ../src/viktrwlayer.c:3391 ../src/vikwindow.c:3145
+#: ../src/viktrwlayer.c:3786 ../src/vikwindow.c:3704
msgid "_New"
msgstr "_Ny"
-#: ../src/viktrwlayer.c:3397
+#: ../src/viktrwlayer.c:3792
msgid "New _Waypoint..."
msgstr ""
-#: ../src/viktrwlayer.c:3403
+#: ../src/viktrwlayer.c:3798
msgid "New _Track"
msgstr ""
-#: ../src/viktrwlayer.c:3411
+#: ../src/viktrwlayer.c:3806
msgid "New _Route"
msgstr ""
-#: ../src/viktrwlayer.c:3420 ../src/viktrwlayer.c:6597
+#: ../src/viktrwlayer.c:3815 ../src/viktrwlayer.c:7938
msgid "Geotag _Images..."
msgstr ""
-#: ../src/viktrwlayer.c:3427
+#: ../src/viktrwlayer.c:3822
msgid "_Acquire"
msgstr ""
-#: ../src/viktrwlayer.c:3433 ../src/vikwindow.c:3150
+#: ../src/viktrwlayer.c:3828 ../src/vikwindow.c:3711
msgid "From _GPS..."
msgstr "Fra _GPS..."
-#: ../src/viktrwlayer.c:3439
-msgid "From Google _Directions..."
+#. FIXME: only add menu when at least a routing engine has support for Directions
+#: ../src/viktrwlayer.c:3834
+msgid "From _Directions..."
msgstr ""
-#: ../src/viktrwlayer.c:3446
+#: ../src/viktrwlayer.c:3840
msgid "From _OSM Traces..."
msgstr ""
-#: ../src/viktrwlayer.c:3451
+#: ../src/viktrwlayer.c:3845
msgid "From _My OSM Traces..."
msgstr ""
-#: ../src/viktrwlayer.c:3459 ../src/vikwindow.c:3166
+#: ../src/viktrwlayer.c:3853 ../src/vikwindow.c:3725
msgid "From _Wikipedia Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:3465
+#: ../src/viktrwlayer.c:3859
msgid "Within _Layer Bounds"
msgstr ""
-#: ../src/viktrwlayer.c:3471
+#: ../src/viktrwlayer.c:3865
msgid "Within _Current View"
msgstr ""
-#: ../src/viktrwlayer.c:3479
+#: ../src/viktrwlayer.c:3873
msgid "From Geo_caching..."
msgstr ""
-#: ../src/viktrwlayer.c:3486 ../src/vikwindow.c:3163
+#: ../src/viktrwlayer.c:3880 ../src/vikwindow.c:3722
msgid "From Geotagged _Images..."
msgstr ""
-#: ../src/viktrwlayer.c:3492
+#: ../src/viktrwlayer.c:3886
msgid "From _File..."
msgstr ""
-#: ../src/viktrwlayer.c:3498 ../src/viktrwlayer.c:6542
+#: ../src/viktrwlayer.c:3894 ../src/viktrwlayer.c:7883
msgid "_Upload"
msgstr ""
-#: ../src/viktrwlayer.c:3504
+#: ../src/viktrwlayer.c:3900
msgid "Upload to _GPS..."
msgstr ""
-#: ../src/viktrwlayer.c:3511 ../src/viktrwlayer.c:6570
+#: ../src/viktrwlayer.c:3907 ../src/viktrwlayer.c:7911
msgid "Upload to _OSM..."
msgstr ""
-#: ../src/viktrwlayer.c:3519
+#: ../src/viktrwlayer.c:3915
msgid "De_lete"
msgstr ""
-#: ../src/viktrwlayer.c:3525
+#: ../src/viktrwlayer.c:3921
msgid "Delete All _Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:3531
+#: ../src/viktrwlayer.c:3927
msgid "Delete Tracks _From Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:3537 ../src/viktrwlayer.c:6290
+#: ../src/viktrwlayer.c:3933 ../src/viktrwlayer.c:7485
msgid "Delete _All Routes"
msgstr ""
-#: ../src/viktrwlayer.c:3543 ../src/viktrwlayer.c:6296
+#: ../src/viktrwlayer.c:3939 ../src/viktrwlayer.c:7491
msgid "_Delete Routes From Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:3549
+#: ../src/viktrwlayer.c:3945
msgid "Delete All _Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:3555
+#: ../src/viktrwlayer.c:3951
msgid "Delete Waypoints From _Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:4128
+#: ../src/viktrwlayer.c:4574
#, c-format
msgid "Are you sure you want to delete all tracks in %s?"
msgstr ""
-#: ../src/viktrwlayer.c:4138
+#: ../src/viktrwlayer.c:4584
#, c-format
msgid "Are you sure you want to delete all routes in %s?"
msgstr ""
-#: ../src/viktrwlayer.c:4148
+#: ../src/viktrwlayer.c:4594
#, c-format
msgid "Are you sure you want to delete all waypoints in %s?"
msgstr ""
-#: ../src/viktrwlayer.c:4165
+#: ../src/viktrwlayer.c:4611
#, c-format
-msgid "Are you sure you want to delete the waypoint \"%s\""
+msgid "Are you sure you want to delete the waypoint \"%s\"?"
msgstr ""
-#: ../src/viktrwlayer.c:4178
+#: ../src/viktrwlayer.c:4624
#, c-format
-msgid "Are you sure you want to delete the track \"%s\""
+msgid "Are you sure you want to delete the track \"%s\"?"
msgstr ""
-#: ../src/viktrwlayer.c:4191
+#: ../src/viktrwlayer.c:4637
#, c-format
-msgid "Are you sure you want to delete the route \"%s\""
+msgid "Are you sure you want to delete the route \"%s\"?"
msgstr ""
-#: ../src/viktrwlayer.c:4351 ../src/viktrwlayer.c:4922
+#: ../src/viktrwlayer.c:4849 ../src/viktrwlayer.c:5677
msgid ""
"Converting a track to a route removes extra track data such as segments, "
"timestamps, etc...\n"
"Do you want to continue?"
msgstr ""
-#: ../src/viktrwlayer.c:4711
+#: ../src/viktrwlayer.c:4944
+msgid "No DEM layers available, thus no DEM values can be applied."
+msgstr ""
+
+#: ../src/viktrwlayer.c:4964 ../src/viktrwlayer.c:5005
+#, c-format
+msgid "%ld point adjusted"
+msgid_plural "%ld points adjusted"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/viktrwlayer.c:5049
+#, c-format
+msgid "%ld waypoint changed"
+msgid_plural "%ld waypoints changed"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/viktrwlayer.c:5233
+#, c-format
+msgid ""
+"Refining a track with many points (%d) is unlikely to yield sensible "
+"results. Do you want to Continue?"
+msgstr ""
+
+#. Select engine from dialog
+#: ../src/viktrwlayer.c:5241
+msgid "Refine Route with Routing Engine..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:5249
+msgid "Select routing engine"
+msgstr ""
+
+#: ../src/viktrwlayer.c:5467
msgid "Failed. No other tracks with timestamps in this layer found"
msgstr ""
-#: ../src/viktrwlayer.c:4713
+#: ../src/viktrwlayer.c:5469
msgid "Failed. No other tracks without timestamps in this layer found"
msgstr ""
-#: ../src/viktrwlayer.c:4732
+#: ../src/viktrwlayer.c:5488
msgid "Merge with..."
msgstr ""
-#: ../src/viktrwlayer.c:4733
+#: ../src/viktrwlayer.c:5489
msgid "Select route to merge with"
msgstr ""
-#: ../src/viktrwlayer.c:4733
+#: ../src/viktrwlayer.c:5489
msgid "Select track to merge with"
msgstr ""
-#: ../src/viktrwlayer.c:4818 ../src/viktrwlayer.c:4895
+#: ../src/viktrwlayer.c:5573 ../src/viktrwlayer.c:5650
msgid "Append Route"
msgstr ""
-#: ../src/viktrwlayer.c:4818 ../src/viktrwlayer.c:4895
+#: ../src/viktrwlayer.c:5573 ../src/viktrwlayer.c:5650
msgid "Append Track"
msgstr ""
-#: ../src/viktrwlayer.c:4819
+#: ../src/viktrwlayer.c:5574
msgid "Select the route to append after the current route"
msgstr ""
-#: ../src/viktrwlayer.c:4820
+#: ../src/viktrwlayer.c:5575
msgid "Select the track to append after the current track"
msgstr ""
-#: ../src/viktrwlayer.c:4896
+#: ../src/viktrwlayer.c:5651
msgid "Select the track to append after the current route"
msgstr ""
-#: ../src/viktrwlayer.c:4897
+#: ../src/viktrwlayer.c:5652
msgid "Select the route to append after the current track"
msgstr ""
-#: ../src/viktrwlayer.c:4957
+#: ../src/viktrwlayer.c:5711
#, c-format
msgid "%d segment merged"
msgid_plural "%d segments merged"
msgstr[0] ""
msgstr[1] ""
-#: ../src/viktrwlayer.c:4973
+#: ../src/viktrwlayer.c:5727
msgid "Failed. This track does not have timestamp"
msgstr ""
-#: ../src/viktrwlayer.c:4985
+#: ../src/viktrwlayer.c:5739
msgid "Failed. No other track in this layer has timestamp"
msgstr ""
-#: ../src/viktrwlayer.c:4992
+#: ../src/viktrwlayer.c:5746
msgid "Merge Threshold..."
msgstr ""
-#: ../src/viktrwlayer.c:4993
+#: ../src/viktrwlayer.c:5747
msgid "Merge when time between tracks less than:"
msgstr ""
-#: ../src/viktrwlayer.c:5128
+#: ../src/viktrwlayer.c:5889
msgid "Split Threshold..."
msgstr ""
-#: ../src/viktrwlayer.c:5129
+#: ../src/viktrwlayer.c:5890
msgid "Split when time between trackpoints exceeds:"
msgstr ""
-#: ../src/viktrwlayer.c:5205
+#: ../src/viktrwlayer.c:5907
+#, c-format
+msgid ""
+"Can not split track due to trackpoints not ordered in time - such as at %s.\n"
+"\n"
+"Goto this trackpoint?"
+msgstr ""
+
+#: ../src/viktrwlayer.c:5976
msgid "Split Every Nth Point"
msgstr ""
-#: ../src/viktrwlayer.c:5206
+#: ../src/viktrwlayer.c:5977
msgid "Split on every Nth point:"
msgstr ""
-#: ../src/viktrwlayer.c:5312
+#: ../src/viktrwlayer.c:6087
msgid "Can not split track as it has no segments"
msgstr ""
-#: ../src/viktrwlayer.c:5340 ../src/viktrwlayer.c:5370
+#: ../src/viktrwlayer.c:6169 ../src/viktrwlayer.c:6199
#, c-format
msgid "Deleted %ld point"
msgid_plural "Deleted %ld points"
msgstr[0] ""
msgstr[1] ""
-#: ../src/viktrwlayer.c:5531
+#: ../src/viktrwlayer.c:6392
msgid "Internal Error in vik_trw_layer_uniquify_tracks"
msgstr ""
-#: ../src/viktrwlayer.c:5588 ../src/viktrwlayer.c:5635
-#: ../src/viktrwlayer.c:5814
+#: ../src/viktrwlayer.c:6496 ../src/viktrwlayer.c:6543
+#: ../src/viktrwlayer.c:6704
msgid ""
"Multiple entries with the same name exist. This method only works with "
"unique names. Force unique names now?"
msgstr ""
-#: ../src/viktrwlayer.c:5599
+#: ../src/viktrwlayer.c:6507
msgid "No tracks found"
msgstr ""
-#: ../src/viktrwlayer.c:5607 ../src/viktrwlayer.c:5654
-#: ../src/viktrwlayer.c:5834
+#: ../src/viktrwlayer.c:6515 ../src/viktrwlayer.c:6562
+#: ../src/viktrwlayer.c:6724
msgid "Delete Selection"
msgstr ""
-#: ../src/viktrwlayer.c:5608
+#: ../src/viktrwlayer.c:6516
msgid "Select tracks to delete"
msgstr ""
-#: ../src/viktrwlayer.c:5646
+#: ../src/viktrwlayer.c:6554
msgid "No routes found"
msgstr ""
-#: ../src/viktrwlayer.c:5655
+#: ../src/viktrwlayer.c:6563
msgid "Select routes to delete"
msgstr ""
-#: ../src/viktrwlayer.c:5761
+#: ../src/viktrwlayer.c:6669
msgid "Internal Error in vik_trw_layer_uniquify_waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:5824
+#: ../src/viktrwlayer.c:6714
msgid "No waypoints found"
msgstr ""
-#: ../src/viktrwlayer.c:5835
+#: ../src/viktrwlayer.c:6725
msgid "Select waypoints to delete"
msgstr ""
-#: ../src/viktrwlayer.c:5896
+#: ../src/viktrwlayer.c:7033
#, c-format
msgid ""
"A waypoint with the name \"%s\" already exists. Really rename to the same "
"name?"
msgstr ""
-#: ../src/viktrwlayer.c:5926
+#: ../src/viktrwlayer.c:7063
#, c-format
msgid ""
"A track with the name \"%s\" already exists. Really rename to the same name?"
msgstr ""
-#: ../src/viktrwlayer.c:5963
+#: ../src/viktrwlayer.c:7100
#, c-format
msgid ""
"A route with the name \"%s\" already exists. Really rename to the same name?"
msgstr ""
-#: ../src/viktrwlayer.c:6085 ../src/viktrwlayer.c:6337
+#: ../src/viktrwlayer.c:7221 ../src/viktrwlayer.c:7594
msgid "_Goto"
msgstr ""
-#: ../src/viktrwlayer.c:6104
+#: ../src/viktrwlayer.c:7240
msgid "_Visit Geocache Webpage"
msgstr ""
-#: ../src/viktrwlayer.c:6123
+#: ../src/viktrwlayer.c:7259
msgid "_Show Picture..."
msgstr ""
-#: ../src/viktrwlayer.c:6131
+#: ../src/viktrwlayer.c:7267
msgid "Update Geotag on _Image"
msgstr ""
-#: ../src/viktrwlayer.c:6137
+#: ../src/viktrwlayer.c:7273
msgid "_Update"
msgstr ""
-#: ../src/viktrwlayer.c:6142
+#: ../src/viktrwlayer.c:7278
msgid "Update and _Keep File Timestamp"
msgstr ""
-#: ../src/viktrwlayer.c:6153
+#: ../src/viktrwlayer.c:7289
msgid "Visit _Webpage"
msgstr ""
-#: ../src/viktrwlayer.c:6184
+#: ../src/viktrwlayer.c:7320
msgid "_New Waypoint..."
msgstr ""
-#: ../src/viktrwlayer.c:6193
+#: ../src/viktrwlayer.c:7329
msgid "_View All Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:6205
+#: ../src/viktrwlayer.c:7341
msgid "Delete _All Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:6211
+#: ../src/viktrwlayer.c:7347
msgid "_Delete Waypoints From Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:6233
+#: ../src/viktrwlayer.c:7359
+msgid "_Show All Waypoints"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7365
+msgid "_Hide All Waypoints"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7393
msgid "_View All Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:6239
+#: ../src/viktrwlayer.c:7399
msgid "_New Track"
msgstr ""
-#: ../src/viktrwlayer.c:6247
+#: ../src/viktrwlayer.c:7407
msgid "Delete _All Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:6253
+#: ../src/viktrwlayer.c:7413
msgid "_Delete Tracks From Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:6276
+#: ../src/viktrwlayer.c:7425
+msgid "_Show All Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7431
+msgid "_Hide All Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7442
+msgid "_List Tracks..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7471
msgid "_View All Routes"
msgstr ""
-#: ../src/viktrwlayer.c:6282
+#: ../src/viktrwlayer.c:7477
msgid "_New Route"
msgstr ""
-#: ../src/viktrwlayer.c:6327
+#: ../src/viktrwlayer.c:7503
+msgid "_Show All Routes"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7509
+msgid "_Hide All Routes"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7520
+msgid "_List Routes..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7579
msgid "_View Track"
msgstr ""
-#: ../src/viktrwlayer.c:6329
+#: ../src/viktrwlayer.c:7581
msgid "_View Route"
msgstr ""
-#: ../src/viktrwlayer.c:6343
+#: ../src/viktrwlayer.c:7600
msgid "_Startpoint"
msgstr ""
-#: ../src/viktrwlayer.c:6349
+#: ../src/viktrwlayer.c:7606
msgid "\"_Center\""
msgstr ""
-#: ../src/viktrwlayer.c:6355
+#: ../src/viktrwlayer.c:7612
msgid "_Endpoint"
msgstr ""
-#: ../src/viktrwlayer.c:6361
+#: ../src/viktrwlayer.c:7618
msgid "_Highest Altitude"
msgstr ""
-#: ../src/viktrwlayer.c:6367
+#: ../src/viktrwlayer.c:7624
msgid "_Lowest Altitude"
msgstr ""
-#: ../src/viktrwlayer.c:6375
+#: ../src/viktrwlayer.c:7632
msgid "_Maximum Speed"
msgstr ""
-#: ../src/viktrwlayer.c:6384
+#: ../src/viktrwlayer.c:7641
msgid "Co_mbine"
msgstr ""
-#: ../src/viktrwlayer.c:6392
+#: ../src/viktrwlayer.c:7649
msgid "_Merge By Time..."
msgstr ""
-#: ../src/viktrwlayer.c:6397
+#: ../src/viktrwlayer.c:7654
msgid "Merge _Segments"
msgstr ""
-#: ../src/viktrwlayer.c:6403
+#: ../src/viktrwlayer.c:7660
msgid "Merge _With Other Tracks..."
msgstr ""
-#: ../src/viktrwlayer.c:6409
+#: ../src/viktrwlayer.c:7666
msgid "_Append Track..."
msgstr ""
-#: ../src/viktrwlayer.c:6411
+#: ../src/viktrwlayer.c:7668
msgid "_Append Route..."
msgstr ""
-#: ../src/viktrwlayer.c:6417
+#: ../src/viktrwlayer.c:7674
msgid "Append _Route..."
msgstr ""
-#: ../src/viktrwlayer.c:6419
+#: ../src/viktrwlayer.c:7676
msgid "Append _Track..."
msgstr ""
-#: ../src/viktrwlayer.c:6426
+#: ../src/viktrwlayer.c:7683
msgid "_Split"
msgstr ""
-#: ../src/viktrwlayer.c:6434
+#: ../src/viktrwlayer.c:7691
msgid "_Split By Time..."
msgstr ""
#. ATM always enable this entry - don't want to have to analyse the track before displaying the menu - to keep the menu speedy
-#: ../src/viktrwlayer.c:6440
+#: ../src/viktrwlayer.c:7697
msgid "Split Se_gments"
msgstr ""
-#: ../src/viktrwlayer.c:6446
+#: ../src/viktrwlayer.c:7703
msgid "Split By _Number of Points..."
msgstr ""
-#: ../src/viktrwlayer.c:6451
+#: ../src/viktrwlayer.c:7708
msgid "Split at _Trackpoint"
msgstr ""
-#: ../src/viktrwlayer.c:6460
+#: ../src/viktrwlayer.c:7716
+msgid "_Insert Points"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7722
+msgid "Insert Point _Before Selected Point"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7729
+msgid "Insert Point _After Selected Point"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7738
msgid "Delete Poi_nts"
msgstr ""
-#: ../src/viktrwlayer.c:6466
+#: ../src/viktrwlayer.c:7744
+msgid "Delete _Selected Point"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7752
msgid "Delete Points With The Same _Position"
msgstr ""
-#: ../src/viktrwlayer.c:6471
+#: ../src/viktrwlayer.c:7757
msgid "Delete Points With The Same _Time"
msgstr ""
-#: ../src/viktrwlayer.c:6477
-msgid "_Reverse Track"
+#: ../src/viktrwlayer.c:7764 ../src/viktrwlayer.c:7964
+msgid "_Transform"
msgstr ""
-#: ../src/viktrwlayer.c:6479
-msgid "_Reverse Route"
+#: ../src/viktrwlayer.c:7772 ../src/viktrwlayer.c:7972
+msgid "_Apply DEM Data"
msgstr ""
-#: ../src/viktrwlayer.c:6488
-msgid "Down_load Maps Along Track..."
+#: ../src/viktrwlayer.c:7777 ../src/viktrwlayer.c:7977
+msgid "_Overwrite"
msgstr ""
-#: ../src/viktrwlayer.c:6490
-msgid "Down_load Maps Along Route..."
+#: ../src/viktrwlayer.c:7780 ../src/viktrwlayer.c:7980
+msgid "Overwrite any existing elevation values with DEM values"
msgstr ""
-#: ../src/viktrwlayer.c:6497
-msgid "_Apply DEM Data"
+#: ../src/viktrwlayer.c:7783 ../src/viktrwlayer.c:7983
+msgid "_Keep Existing"
msgstr ""
-#: ../src/viktrwlayer.c:6504
-msgid "_Export Track as GPX..."
+#: ../src/viktrwlayer.c:7786 ../src/viktrwlayer.c:7986
+msgid "Keep existing elevation values, only attempt for missing values"
msgstr ""
-#: ../src/viktrwlayer.c:6506
-msgid "_Export Route as GPX..."
+#: ../src/viktrwlayer.c:7791
+msgid "_Smooth Missing Elevation Data"
msgstr ""
-#: ../src/viktrwlayer.c:6513
-msgid "E_xtend Track End"
+#: ../src/viktrwlayer.c:7796
+msgid "_Interpolated"
msgstr ""
-#: ../src/viktrwlayer.c:6515
-msgid "E_xtend Route End"
+#: ../src/viktrwlayer.c:7799
+msgid ""
+"Interpolate between known elevation values to derive values for the missing "
+"elevations"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7802
+msgid "_Flat"
msgstr ""
-#: ../src/viktrwlayer.c:6522
+#: ../src/viktrwlayer.c:7805
+msgid "Set unknown elevation values to the last known value"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7809
msgid "C_onvert to a Route"
msgstr ""
-#: ../src/viktrwlayer.c:6524
+#: ../src/viktrwlayer.c:7811
msgid "C_onvert to a Track"
msgstr ""
-#: ../src/viktrwlayer.c:6532
+#: ../src/viktrwlayer.c:7819
+msgid "_Anonymize Times"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7822
+msgid "Shift timestamps to a relative offset from 1901-01-01"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7827
+msgid "_Reverse Track"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7829
+msgid "_Reverse Route"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7836
+msgid "Refine Route..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7846
+msgid "Down_load Maps Along Track..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7848
+msgid "Down_load Maps Along Route..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7856
+msgid "_Export Track as GPX..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7858
+msgid "_Export Route as GPX..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7865
+msgid "E_xtend Track End"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7867
+msgid "E_xtend Route End"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7874
msgid "Extend _Using Route Finder"
msgstr ""
-#: ../src/viktrwlayer.c:6548
+#: ../src/viktrwlayer.c:7889
msgid "_Upload to GPS..."
msgstr ""
-#: ../src/viktrwlayer.c:6559
+#: ../src/viktrwlayer.c:7900
msgid "_View Google Directions"
msgstr ""
-#: ../src/viktrwlayer.c:6579
+#: ../src/viktrwlayer.c:7920
msgid "Use with _Filter"
msgstr ""
-#: ../src/viktrwlayer.c:6612
+#: ../src/viktrwlayer.c:7953
msgid "_Edit Trackpoint"
msgstr ""
-#: ../src/viktrwlayer.c:7524
+#: ../src/viktrwlayer.c:9017
#, c-format
msgid " - Gain %dm:Loss %dm"
msgstr ""
-#: ../src/viktrwlayer.c:7526
+#: ../src/viktrwlayer.c:9019
#, c-format
msgid " - Gain %dft:Loss %dft"
msgstr ""
-#: ../src/viktrwlayer.c:7531
+#: ../src/viktrwlayer.c:9024
#, c-format
msgid " - Bearing %3.1f° - Step %s"
msgstr ""
-#: ../src/viktrwlayer.c:8124
+#: ../src/viktrwlayer.c:9628
#, c-format
msgid "Could not launch %s to open file."
msgstr ""
-#: ../src/viktrwlayer.c:8205
+#: ../src/viktrwlayer.c:9709
#, c-format
msgid "Creating %d Image Thumbnails..."
msgstr ""
-#: ../src/viktrwlayer.c:8524
+#: ../src/viktrwlayer.c:10106
msgid "No map layer in use. Create one first"
msgstr "Ingen kartlag i bruk. Opprett ett først"
-#: ../src/viktrwlayer_propwin.c:898 ../src/viktrwlayer_propwin.c:1155
+#: ../src/viktrwlayer.c:10225
+#, c-format
+msgid "%s: Track List"
+msgstr ""
+
+#: ../src/viktrwlayer.c:10227
+#, c-format
+msgid "%s: Route List"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:828 ../src/viktrwlayer_propwin.c:1085
#, c-format
msgid "%.1f kph"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:901 ../src/viktrwlayer_propwin.c:1158
+#: ../src/viktrwlayer_propwin.c:831 ../src/viktrwlayer_propwin.c:1088
+#: ../src/viktrwlayer_analysis.c:290
#, c-format
msgid "%.1f mph"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:904 ../src/viktrwlayer_propwin.c:1161
+#: ../src/viktrwlayer_propwin.c:834 ../src/viktrwlayer_propwin.c:1091
#, c-format
msgid "%.1f knots"
msgstr ""
#. VIK_UNITS_SPEED_METRES_PER_SECOND:
-#: ../src/viktrwlayer_propwin.c:908 ../src/viktrwlayer_propwin.c:1165
+#: ../src/viktrwlayer_propwin.c:838 ../src/viktrwlayer_propwin.c:1095
#, c-format
msgid "%.1f m/s"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:1745
+#: ../src/viktrwlayer_propwin.c:1662 ../src/viktrwlayer_analysis.c:267
#, c-format
msgid "%.1f miles"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:1747
+#. VIK_UNITS_DISTANCE_KILOMETRES
+#: ../src/viktrwlayer_propwin.c:1664 ../src/viktrwlayer_analysis.c:271
#, c-format
msgid "%.1f km"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2681
+#: ../src/viktrwlayer_propwin.c:2582
msgid "Failed spliting track. Track unchanged"
msgstr "Kunne ikke dele spor. Spor uendret"
-#: ../src/viktrwlayer_propwin.c:2779 ../src/viktrwlayer_propwin.c:3178
+#: ../src/viktrwlayer_propwin.c:2724 ../src/viktrwlayer_propwin.c:3140
#, c-format
msgid "%s - Track Properties"
msgstr "%s - Sporegenskaper"
-#: ../src/viktrwlayer_propwin.c:2784
+#: ../src/viktrwlayer_propwin.c:2729
msgid "Split at _Marker"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2785
+#: ../src/viktrwlayer_propwin.c:2730
msgid "Split _Segments"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2786
+#: ../src/viktrwlayer_propwin.c:2731
msgid "_Reverse"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2787
+#: ../src/viktrwlayer_propwin.c:2732
msgid "_Delete Dupl."
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2813
+#: ../src/viktrwlayer_propwin.c:2757
msgid "<b>Comment:</b>"
msgstr "<b>Kommentar:</b>"
-#: ../src/viktrwlayer_propwin.c:2814
+#: ../src/viktrwlayer_propwin.c:2758
msgid "<b>Description:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2815
+#: ../src/viktrwlayer_propwin.c:2759
+msgid "<b>Color:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2760
+msgid "<b>Draw Name:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2761
+msgid "<b>Distance Labels:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2764
msgid "<b>Track Length:</b>"
msgstr "<b>Sporlengde:</b>"
-#: ../src/viktrwlayer_propwin.c:2816
+#: ../src/viktrwlayer_propwin.c:2765
msgid "<b>Trackpoints:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2817
+#: ../src/viktrwlayer_propwin.c:2766
msgid "<b>Segments:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2818
+#: ../src/viktrwlayer_propwin.c:2767
msgid "<b>Duplicate Points:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2819
+#: ../src/viktrwlayer_propwin.c:2768
msgid "<b>Max Speed:</b>"
msgstr "Høyeste hastighet"
-#: ../src/viktrwlayer_propwin.c:2820
+#: ../src/viktrwlayer_propwin.c:2769
msgid "<b>Avg. Speed:</b>"
msgstr "Snitthastighet"
-#: ../src/viktrwlayer_propwin.c:2821
+#: ../src/viktrwlayer_propwin.c:2770
msgid "<b>Moving Avg. Speed:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2822
+#: ../src/viktrwlayer_propwin.c:2771
msgid "<b>Avg. Dist. Between TPs:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2823
+#: ../src/viktrwlayer_propwin.c:2772
msgid "<b>Elevation Range:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2824
+#: ../src/viktrwlayer_propwin.c:2773
msgid "<b>Total Elevation Gain/Loss:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2825
+#: ../src/viktrwlayer_propwin.c:2774
msgid "<b>Start:</b>"
msgstr "<b>Start:</b>"
-#: ../src/viktrwlayer_propwin.c:2826
+#: ../src/viktrwlayer_propwin.c:2775
msgid "<b>End:</b>"
msgstr "<b>Slutt:</b>"
-#: ../src/viktrwlayer_propwin.c:2827
+#: ../src/viktrwlayer_propwin.c:2776
msgid "<b>Duration:</b>"
msgstr "<b>Varighet:</b>"
-#: ../src/viktrwlayer_propwin.c:2828
-msgid "<b>Color:</b>"
+#: ../src/viktrwlayer_propwin.c:2797
+msgid "No"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2798
+msgid "Centre"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2799
+msgid "Start only"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2800
+msgid "End only"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2801
+msgid "Start and End"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2802
+msgid "Centre, Start and End"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2814
+msgid "Maximum number of distance labels to be shown"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2877 ../src/viktrwlayer_propwin.c:2901
-#: ../src/viktrwlayer_propwin.c:2929 ../src/viktrwlayer_propwin.c:2966
-#: ../src/viktrwlayer_propwin.c:2984 ../src/viktrwlayer_propwin.c:3034
-#: ../src/viktrwlayer_propwin.c:3035 ../src/viktrwlayer_propwin.c:3036
-#: ../src/viktrwlayer_propwin.c:3062 ../src/viktrwlayer_propwin.c:3063
+#: ../src/viktrwlayer_propwin.c:2818
+msgid "Properties"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2856 ../src/viktrwlayer_propwin.c:2880
+#: ../src/viktrwlayer_propwin.c:2908 ../src/viktrwlayer_propwin.c:2945
+#: ../src/viktrwlayer_propwin.c:2963 ../src/viktrwlayer_propwin.c:3009
+#: ../src/viktrwlayer_propwin.c:3010 ../src/viktrwlayer_propwin.c:3011
+#: ../src/viktrwlayer_propwin.c:3020 ../src/viktrwlayer_propwin.c:3021
+#: ../src/viktrwlayer_propwin.c:3036 ../src/viktrwlayer_propwin.c:3037
+#: ../src/viktrwlayer_propwin.c:3050 ../src/viktrwlayer_propwin.c:3051
+#: ../src/viktrwlayer_propwin.c:3064 ../src/viktrwlayer_propwin.c:3065
#: ../src/viktrwlayer_propwin.c:3078 ../src/viktrwlayer_propwin.c:3079
#: ../src/viktrwlayer_propwin.c:3092 ../src/viktrwlayer_propwin.c:3093
-#: ../src/viktrwlayer_propwin.c:3106 ../src/viktrwlayer_propwin.c:3107
-#: ../src/viktrwlayer_propwin.c:3120 ../src/viktrwlayer_propwin.c:3121
-#: ../src/viktrwlayer_propwin.c:3134 ../src/viktrwlayer_propwin.c:3135
+#: ../src/viktrwlayer_analysis.c:257
#, c-format
msgid "No Data"
msgstr "Ingen data"
-#: ../src/viktrwlayer_propwin.c:3031
+#: ../src/viktrwlayer_propwin.c:3006
#, c-format
msgid "%d minutes"
msgstr "%d minutter"
-#: ../src/viktrwlayer_propwin.c:3058
+#: ../src/viktrwlayer_propwin.c:3016 ../src/viktrwlayer_analysis.c:515
msgid "Statistics"
msgstr "Statistikk"
-#: ../src/viktrwlayer_propwin.c:3064
+#: ../src/viktrwlayer_propwin.c:3022
msgid "Show D_EM"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3065 ../src/viktrwlayer_propwin.c:3080
-#: ../src/viktrwlayer_propwin.c:3094 ../src/viktrwlayer_propwin.c:3136
+#: ../src/viktrwlayer_propwin.c:3023 ../src/viktrwlayer_propwin.c:3038
+#: ../src/viktrwlayer_propwin.c:3052 ../src/viktrwlayer_propwin.c:3094
msgid "Show _GPS Speed"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3067 ../src/viktrwlayer_propwin.c:3082
-#: ../src/viktrwlayer_propwin.c:3110 ../src/viktrwlayer_propwin.c:3138
+#: ../src/viktrwlayer_propwin.c:3025 ../src/viktrwlayer_propwin.c:3040
+#: ../src/viktrwlayer_propwin.c:3068 ../src/viktrwlayer_propwin.c:3096
msgid "<b>Track Distance:</b>"
msgstr "<b>Spordistanse:</b>"
-#: ../src/viktrwlayer_propwin.c:3068 ../src/viktrwlayer_propwin.c:3125
+#: ../src/viktrwlayer_propwin.c:3026 ../src/viktrwlayer_propwin.c:3083
msgid "<b>Track Height:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3073
+#: ../src/viktrwlayer_propwin.c:3031
msgid "Elevation-distance"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3083
+#: ../src/viktrwlayer_propwin.c:3041
msgid "<b>Track Gradient:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3087
+#: ../src/viktrwlayer_propwin.c:3045
msgid "Gradient-distance"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3096 ../src/viktrwlayer_propwin.c:3111
-#: ../src/viktrwlayer_propwin.c:3124
+#: ../src/viktrwlayer_propwin.c:3054 ../src/viktrwlayer_propwin.c:3069
+#: ../src/viktrwlayer_propwin.c:3082
msgid "<b>Track Time:</b>"
msgstr "<b>Sportid:</b>"
-#: ../src/viktrwlayer_propwin.c:3097 ../src/viktrwlayer_propwin.c:3139
+#: ../src/viktrwlayer_propwin.c:3055 ../src/viktrwlayer_propwin.c:3097
msgid "<b>Track Speed:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3101
+#: ../src/viktrwlayer_propwin.c:3059
msgid "Speed-time"
msgstr "Hastighet-tid"
-#: ../src/viktrwlayer_propwin.c:3108 ../src/viktrwlayer_propwin.c:3122
+#: ../src/viktrwlayer_propwin.c:3066 ../src/viktrwlayer_propwin.c:3080
msgid "Show S_peed"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3115
+#: ../src/viktrwlayer_propwin.c:3073
msgid "Distance-time"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3129
+#: ../src/viktrwlayer_propwin.c:3087
msgid "Elevation-time"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3143
+#: ../src/viktrwlayer_propwin.c:3101
msgid "Speed-distance"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:118
+#: ../src/viktrwlayer_tpwin.c:119
msgid "<b>Part of Track:</b>"
msgstr "<b>Del av spor:</b>"
-#: ../src/viktrwlayer_tpwin.c:119
+#: ../src/viktrwlayer_tpwin.c:120
msgid "<b>Latitude:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:120
+#: ../src/viktrwlayer_tpwin.c:121
msgid "<b>Longitude:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:121
+#: ../src/viktrwlayer_tpwin.c:122
msgid "<b>Altitude:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:122
+#: ../src/viktrwlayer_tpwin.c:123
+msgid "<b>Course:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_tpwin.c:124
msgid "<b>Timestamp:</b>"
msgstr "<b>Tidsstempel:</b>"
-#: ../src/viktrwlayer_tpwin.c:123
+#: ../src/viktrwlayer_tpwin.c:125
msgid "<b>Time:</b>"
msgstr "<b>Tid:</b>"
-#: ../src/viktrwlayer_tpwin.c:124
+#: ../src/viktrwlayer_tpwin.c:126
msgid "<b>Distance Difference:</b>"
msgstr "<b>Avstandsforskjell:</b>"
-#: ../src/viktrwlayer_tpwin.c:125
+#: ../src/viktrwlayer_tpwin.c:127
msgid "<b>Time Difference:</b>"
msgstr "<b>Tidsforskjell:</b>"
-#: ../src/viktrwlayer_tpwin.c:126
+#: ../src/viktrwlayer_tpwin.c:128
msgid "<b>\"Speed\" Between:</b>"
msgstr "<b>\"Hastighet\" mellom:</b>"
-#: ../src/viktrwlayer_tpwin.c:127
+#: ../src/viktrwlayer_tpwin.c:129
+msgid "<b>Speed:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_tpwin.c:130
msgid "<b>VDOP:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:128
+#: ../src/viktrwlayer_tpwin.c:131
msgid "<b>HDOP:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:129
+#: ../src/viktrwlayer_tpwin.c:132
msgid "<b>PDOP:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:130
+#: ../src/viktrwlayer_tpwin.c:133
msgid "<b>SAT/FIX:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:139
+#: ../src/viktrwlayer_tpwin.c:141
msgid "Trackpoint"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:142
+#: ../src/viktrwlayer_tpwin.c:144
msgid "_Insert After"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:144
+#: ../src/viktrwlayer_tpwin.c:146
msgid "Split Here"
msgstr "Del her"
-#: ../src/viktrwlayer_geotag.c:446
+#.
+#. item = gtk_image_menu_item_new_with_mnemonic ( _("_Select") );
+#. gtk_image_menu_item_set_image ( (GtkImageMenuItem*)item, gtk_image_new_from_stock (GTK_STOCK_FIND, GTK_ICON_SIZE_MENU) );
+#. g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(trw_layer_track_select), values );
+#. gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
+#. gtk_widget_show ( item );
+#.
+#. ATM view auto selects, so don't bother with separate select menu entry
+#: ../src/viktrwlayer_tracklist.c:231 ../src/vikwindow.c:3695
+msgid "_View"
+msgstr "_Vis"
+
+#. Insert column for the layer name when viewing multi layers
+#: ../src/viktrwlayer_tracklist.c:514
+msgid "Layer"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:526
+msgid "Date"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:529
+msgid "Visible"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:536
+msgid ""
+"Distance\n"
+"(miles)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:539
+msgid ""
+"Distance\n"
+"(km)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:545
+msgid ""
+"Length\n"
+"(minutes)"
+msgstr ""
+
+#. VIK_UNITS_SPEED_KILOMETRES_PER_HOUR:
+#: ../src/viktrwlayer_tracklist.c:549 ../src/vikutils.c:72
+msgid "km/h"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:550 ../src/vikutils.c:62
+msgid "mph"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:551 ../src/vikutils.c:68
+msgid "knots"
+msgstr ""
+
+#. VIK_UNITS_SPEED_METRES_PER_SECOND:
+#: ../src/viktrwlayer_tracklist.c:553 ../src/vikutils.c:65
+msgid "m/s"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:556
+#, c-format
+msgid ""
+"Av. Speed\n"
+"(%s)"
+msgstr ""
+
+#. Apply own formatting of the data
+#: ../src/viktrwlayer_tracklist.c:561
+#, c-format
+msgid ""
+"Max Speed\n"
+"(%s)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:569
+msgid ""
+"Max Height\n"
+"(Feet)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:571
+msgid ""
+"Max Height\n"
+"(Metres)"
+msgstr ""
+
+#: ../src/viktrwlayer_geotag.c:481
#, c-format
msgid "Geotagging %d Images..."
msgstr ""
-#: ../src/viktrwlayer_geotag.c:510
+#: ../src/viktrwlayer_geotag.c:545
msgid "Geotag Images"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:516
+#: ../src/viktrwlayer_geotag.c:551
msgid "Images"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:520
+#: ../src/viktrwlayer_geotag.c:555
msgid "Overwrite Existing Waypoints:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:523
+#: ../src/viktrwlayer_geotag.c:558
msgid "Overwrite Existing GPS Information:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:525
+#: ../src/viktrwlayer_geotag.c:560
msgid "Keep File Modification Timestamp:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:555
+#: ../src/viktrwlayer_geotag.c:592
msgid "Create Waypoints:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:563
+#: ../src/viktrwlayer_geotag.c:600
msgid "Write EXIF:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:575
+#: ../src/viktrwlayer_geotag.c:612
msgid "Interpolate Between Track Segments:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:579
+#: ../src/viktrwlayer_geotag.c:616
msgid "Image Time Offset (Seconds):"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:581
+#: ../src/viktrwlayer_geotag.c:618
msgid ""
"The number of seconds to ADD to the photos time to make it match the GPS "
"data. Calculate this with (GPS - Photo). Can be negative or positive. Useful "
"to adjust times when a camera's timestamp was incorrect."
msgstr ""
-#: ../src/viktrwlayer_geotag.c:584
+#: ../src/viktrwlayer_geotag.c:621
msgid "Image Timezone:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:586
+#: ../src/viktrwlayer_geotag.c:623
msgid ""
"The timezone that was used when the images were created. For example, if a "
"camera is set to AWST or +8:00 hours. Enter +8:00 here so that the correct "
"adjustment to the images' time can be made. GPS data is always in UTC."
msgstr ""
-#: ../src/viktrwlayer_geotag.c:590
+#: ../src/viktrwlayer_geotag.c:627
#, c-format
msgid "Using track: %s"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:592
+#: ../src/viktrwlayer_geotag.c:629
#, c-format
msgid "Using all tracks in: %s"
msgstr ""
-#: ../src/vikstatus.c:105
+#: ../src/viktrwlayer_analysis.c:193
+msgid "Number of Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:194
+msgid "Date Range"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:195
+msgid "Total Length"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:196
+msgid "Average Length"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:197
+msgid "Max Speed"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:198
+msgid "Avg. Speed"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:199
+msgid "Minimum Altitude"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:200
+msgid "Maximum Altitude"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:201
+msgid "Total Elevation Gain/Loss"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:202
+msgid "Avg. Elevation Gain/Loss"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:203
+msgid "Total Duration"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:204
+msgid "Avg. Duration"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:278
+#, c-format
+msgid "%.2f miles"
+msgstr ""
+
+#. VIK_UNITS_DISTANCE_KILOMETRES
+#: ../src/viktrwlayer_analysis.c:282
+#, c-format
+msgid "%.2f km"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:297
+#, c-format
+msgid "%.2f m/s"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:306
+#, c-format
+msgid "%.2f knots\n"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:309
+#, c-format
+msgid "%.2f knots"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:316 ../src/viktrwlayer_analysis.c:319
+#, c-format
+msgid "%.2f km/h"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:330 ../src/viktrwlayer_analysis.c:336
+#, c-format
+msgid "%d feet"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:341 ../src/viktrwlayer_analysis.c:343
+#, c-format
+msgid "%d feet / %d feet"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:348 ../src/viktrwlayer_analysis.c:354
+#, c-format
+msgid "%d m"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:359 ../src/viktrwlayer_analysis.c:361
+#, c-format
+msgid "%d m / %d m"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:373
+#, c-format
+msgid "%d:%02d:%02d days:hrs:mins"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:380
+#, c-format
+msgid "%d:%02d hrs:mins"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:550
+msgid "Include Invisible Items"
+msgstr ""
+
+#: ../src/vikstatus.c:107
+msgid "Current number of background tasks. Click to see the background jobs."
+msgstr ""
+
+#: ../src/vikstatus.c:113
msgid "Current zoom level. Click to select a new one."
msgstr ""
-#: ../src/vikwaypoint.c:34
+#: ../src/vikutils.c:80
+msgid "GPSD"
+msgstr ""
+
+#. GPS Preamble
+#: ../src/vikutils.c:81
+msgid "Trkpt"
+msgstr ""
+
+#: ../src/vikutils.c:121
+#, c-format
+msgid "%sSpeed%s %.1f%s"
+msgstr ""
+
+#: ../src/vikutils.c:130
+#, c-format
+msgid "%sAlt %dfeet"
+msgstr ""
+
+#. VIK_UNITS_HEIGHT_METRES:
+#: ../src/vikutils.c:134
+#, c-format
+msgid "%sAlt %dm"
+msgstr ""
+
+#: ../src/vikutils.c:142
+#, c-format
+msgid "%sCourse %03d°"
+msgstr ""
+
+#: ../src/vikutils.c:155
+msgid "yards"
+msgstr ""
+
+#. VIK_UNITS_DISTANCE_KILOMETRES:
+#: ../src/vikutils.c:159
+msgid "m"
+msgstr ""
+
+#: ../src/vikutils.c:163
+#, c-format
+msgid "%sDistance diff %d%s"
+msgstr ""
+
+#: ../src/vikutils.c:179
+#, c-format
+msgid "%sTime %s"
+msgstr ""
+
+#: ../src/vikutils.c:187
+#, c-format
+msgid "%sTime diff %lds"
+msgstr ""
+
+#: ../src/vikutils.c:193
+#, c-format
+msgid "%sNo. of Sats %d"
+msgstr ""
+
+#: ../src/vikutils.c:213
+#, c-format
+msgid "%sDistance along %.2f%s"
+msgstr ""
+
+#. Name of track
+#: ../src/vikutils.c:232
+#, c-format
+msgid "%sTrack: %s"
+msgstr ""
+
+#: ../src/vikwaypoint.c:36
msgid "Waypoint"
msgstr ""
#. TODO get rid of this as this is unnecessary duplication...
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Pan"
msgstr "Panorér"
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Zoom"
msgstr "Zoom"
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Ruler"
msgstr "Linjal"
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Select"
msgstr ""
+#: ../src/vikwindow.c:381
+msgid "Location lookup aborted"
+msgstr ""
+
+#: ../src/vikwindow.c:401
+#, c-format
+msgid "Location found: %s"
+msgstr ""
+
+#: ../src/vikwindow.c:410
+msgid "Unable to determine location"
+msgstr ""
+
+#: ../src/vikwindow.c:434
+msgid "Default Map"
+msgstr ""
+
+#: ../src/vikwindow.c:444
+msgid "Trying to determine location..."
+msgstr ""
+
+#: ../src/vikwindow.c:447
+msgid "Determining location"
+msgstr ""
+
#. Create tooltip
-#: ../src/vikwindow.c:440
+#: ../src/vikwindow.c:605
msgid "Select zoom level"
msgstr ""
-#: ../src/vikwindow.c:645
+#: ../src/vikwindow.c:923
#, c-format
msgid ""
"Do you want to save the changes you made to the document \"%s\"?\n"
@@ -3150,624 +3992,708 @@ msgstr ""
"\n"
"Endringene vil gå tapt om du ikke lagrer dem."
-#: ../src/vikwindow.c:649
+#: ../src/vikwindow.c:927
msgid "Don't Save"
msgstr "Ikke lagre"
-#: ../src/vikwindow.c:696
+#: ../src/vikwindow.c:1005
msgid "mpp"
msgstr ""
-#: ../src/vikwindow.c:696
+#: ../src/vikwindow.c:1005
msgid "pixelfact"
msgstr ""
-#: ../src/vikwindow.c:861
+#: ../src/vikwindow.c:1169
#, c-format
msgid "%s %s %dm"
msgstr ""
-#: ../src/vikwindow.c:863
+#: ../src/vikwindow.c:1171
#, c-format
msgid "%s %s %dft"
msgstr ""
-#: ../src/vikwindow.c:866
+#: ../src/vikwindow.c:1174
#, c-format
msgid "%s %s"
msgstr "%s %s"
#. NB Ctrl+Shift+R is used for Refresh (deemed more important), so use 'U' instead
-#: ../src/vikwindow.c:1254
+#: ../src/vikwindow.c:1562
msgid "_Ruler"
msgstr "_Linjal"
-#: ../src/vikwindow.c:1254
+#: ../src/vikwindow.c:1562
msgid "Ruler Tool"
msgstr "Linjalverktøy"
-#: ../src/vikwindow.c:1502 ../src/vikwindow.c:3138
+#: ../src/vikwindow.c:1810 ../src/vikwindow.c:3697
msgid "_Zoom"
msgstr "_Zoom"
-#: ../src/vikwindow.c:1502
+#: ../src/vikwindow.c:1810
msgid "Zoom Tool"
msgstr "Zoomverktøy"
-#: ../src/vikwindow.c:1547 ../src/vikwindow.c:3139
+#: ../src/vikwindow.c:1855 ../src/vikwindow.c:3698
msgid "_Pan"
msgstr ""
-#: ../src/vikwindow.c:1547
+#: ../src/vikwindow.c:1855
msgid "Pan Tool"
msgstr ""
-#: ../src/vikwindow.c:1664
+#: ../src/vikwindow.c:1972
msgid "_Select"
msgstr ""
-#: ../src/vikwindow.c:1664
+#: ../src/vikwindow.c:1972
msgid "Select Tool"
msgstr ""
-#: ../src/vikwindow.c:1809
+#: ../src/vikwindow.c:2123
msgid "You must select a layer to show its properties."
msgstr "Du må velge et lag for å kunne se dets egenskaper."
#. No error to show, so unlikely this will get called
-#: ../src/vikwindow.c:1824
+#: ../src/vikwindow.c:2137
msgid "The help system is not available."
msgstr ""
#. Main error path
-#: ../src/vikwindow.c:1827
+#: ../src/vikwindow.c:2140
#, c-format
msgid ""
"Help is not available because: %s.\n"
"Ensure a Mime Type ghelp handler program is installed (e.g. yelp)."
msgstr ""
-#: ../src/vikwindow.c:1850
+#: ../src/vikwindow.c:2160
msgid "You must select a layer to delete."
msgstr "Du må velge et lag å slette."
-#: ../src/vikwindow.c:2087
+#: ../src/vikwindow.c:2396
msgid "Untitled"
msgstr "Uten tittel"
-#: ../src/vikwindow.c:2194
+#: ../src/vikwindow.c:2503
#, c-format
msgid "Unable to add '%s' to the list of recently used documents"
msgstr ""
-#: ../src/vikwindow.c:2208
+#: ../src/vikwindow.c:2540
msgid "The file you requested could not be opened."
msgstr "Filen du valgte kunne ikke åpnes."
-#: ../src/vikwindow.c:2211
+#: ../src/vikwindow.c:2543
msgid ""
"GPSBabel is required to load files of this type or GPSBabel encountered "
"problems."
msgstr ""
-#: ../src/vikwindow.c:2214
+#: ../src/vikwindow.c:2546
#, c-format
msgid "Unable to load malformed GPX file %s"
msgstr ""
-#: ../src/vikwindow.c:2217
+#: ../src/vikwindow.c:2549
#, c-format
msgid "Unsupported file type for %s"
msgstr ""
#. Since we can process .vik files with issues just show a warning in the status bar
#. Not that a user can do much about it... or tells them what this issue is yet...
-#: ../src/vikwindow.c:2223
+#: ../src/vikwindow.c:2555
#, c-format
msgid "WARNING: issues encountered loading %s"
msgstr ""
-#: ../src/vikwindow.c:2278
+#: ../src/vikwindow.c:2613
msgid "Please select a GPS data file to open. "
msgstr "Vennligst velg en GPS-datafil å åpne. "
-#: ../src/vikwindow.c:2288
+#: ../src/vikwindow.c:2629
msgid "Geocaching"
msgstr ""
-#: ../src/vikwindow.c:2294
+#: ../src/vikwindow.c:2635
msgid "Google Earth"
msgstr ""
-#: ../src/vikwindow.c:2299
+#: ../src/vikwindow.c:2640
msgid "GPX"
msgstr ""
-#: ../src/vikwindow.c:2304 ../src/vikwindow.c:2387
+#: ../src/vikwindow.c:2645 ../src/vikwindow.c:2734
#: ../src/viking.desktop.in.h:1
msgid "Viking"
msgstr "Viking"
-#: ../src/vikwindow.c:2374
+#: ../src/vikwindow.c:2715
msgid "Save as Viking File."
msgstr "Lagre som Viking-fil."
+#: ../src/vikwindow.c:2841
+msgid "Exporting to file: "
+msgstr ""
+
+#. Confirm what happened.
+#: ../src/vikwindow.c:2858
+#, c-format
+msgid "Exported files: %d"
+msgstr ""
+
+#: ../src/vikwindow.c:2870
+msgid "Nothing to Export!"
+msgstr ""
+
+#: ../src/vikwindow.c:2874
+msgid "Export to directory"
+msgstr ""
+
+#: ../src/vikwindow.c:2896
+msgid "Could not convert all files"
+msgstr ""
+
+#: ../src/vikwindow.c:2932
+#, c-format
+msgid "%d bytes"
+msgstr ""
+
+#: ../src/vikwindow.c:2934
+#, c-format
+msgid "%3.1f kB"
+msgstr ""
+
+#: ../src/vikwindow.c:2936
+#, c-format
+msgid "%3.1f MB"
+msgstr ""
+
+#: ../src/vikwindow.c:2937
+#, c-format
+msgid ""
+"%s\n"
+"\n"
+"%s\n"
+"\n"
+"%s"
+msgstr ""
+
+#: ../src/vikwindow.c:2942
+msgid "File not accessible"
+msgstr ""
+
+#: ../src/vikwindow.c:2945
+msgid "No Viking File"
+msgstr ""
+
+#: ../src/vikwindow.c:3035
+msgid "This layer has no configurable properties."
+msgstr ""
+
#. Try harder...
-#: ../src/vikwindow.c:2619 ../src/vikwindow.c:2625
+#: ../src/vikwindow.c:3169 ../src/vikwindow.c:3175
msgid "Generating image file..."
msgstr ""
-#: ../src/vikwindow.c:2647
+#: ../src/vikwindow.c:3197
msgid ""
"Failed to generate internal image.\n"
"\n"
"Try creating a smaller image."
msgstr ""
-#: ../src/vikwindow.c:2655
+#: ../src/vikwindow.c:3205
msgid "Failed to generate image file."
msgstr ""
#. Success
-#: ../src/vikwindow.c:2660
+#: ../src/vikwindow.c:3210
msgid "Image file generated."
msgstr ""
-#: ../src/vikwindow.c:2764
+#: ../src/vikwindow.c:3314
msgid ""
"Viewable region outside allowable pixel size bounds for image. Clipping "
"width/height values."
msgstr ""
-#: ../src/vikwindow.c:2789
+#: ../src/vikwindow.c:3339
#, c-format
msgid "Total area: %ldm x %ldm (%.3f sq. km)"
msgstr ""
-#: ../src/vikwindow.c:2792
+#: ../src/vikwindow.c:3342
#, c-format
msgid "Total area: %ldm x %ldm (%.3f sq. miles)"
msgstr ""
-#: ../src/vikwindow.c:2813
+#: ../src/vikwindow.c:3363
msgid "Save Image"
msgstr "Lagre bilde"
-#: ../src/vikwindow.c:2834
+#: ../src/vikwindow.c:3393
msgid "PNG"
msgstr ""
-#: ../src/vikwindow.c:2857
+#: ../src/vikwindow.c:3416
msgid "You must be in UTM mode to use this feature"
msgstr "Du må være i UTM-modus for å bruke denne funksjonen"
-#: ../src/vikwindow.c:2862
+#: ../src/vikwindow.c:3421
msgid "Choose a directory to hold images"
msgstr "Velg en mappe til å lagre bilder"
#. todo: default for answers inside VikWindow or static (thruout instance)
-#: ../src/vikwindow.c:2883
+#: ../src/vikwindow.c:3442
msgid "Save to Image File"
msgstr "Lagre til bildefil"
-#: ../src/vikwindow.c:2900
+#: ../src/vikwindow.c:3459
msgid "Width (pixels):"
msgstr "Bredde (piksler):"
-#: ../src/vikwindow.c:2902
+#: ../src/vikwindow.c:3461
msgid "Height (pixels):"
msgstr "Høyde (piksler):"
-#: ../src/vikwindow.c:2905
+#: ../src/vikwindow.c:3464
msgid ""
"WARNING: USING LARGE IMAGES OVER 10000x10000\n"
"MAY CRASH THE PROGRAM!"
msgstr ""
-#: ../src/vikwindow.c:2907
+#: ../src/vikwindow.c:3466
msgid "Zoom (meters per pixel):"
msgstr "Zoom (meter pr pixel):"
-#: ../src/vikwindow.c:2921
+#: ../src/vikwindow.c:3482
msgid "Area in current viewable window"
msgstr ""
-#: ../src/vikwindow.c:2931
+#: ../src/vikwindow.c:3492
msgid "Save as PNG"
msgstr "Lagre som PNG"
-#: ../src/vikwindow.c:2932
+#: ../src/vikwindow.c:3493
msgid "Save as JPEG"
msgstr "Lagre som JPEG"
-#: ../src/vikwindow.c:2954
+#: ../src/vikwindow.c:3515
msgid "East-west image tiles:"
msgstr ""
-#: ../src/vikwindow.c:2956
+#: ../src/vikwindow.c:3517
msgid "North-south image tiles:"
msgstr ""
-#: ../src/vikwindow.c:3097
+#: ../src/vikwindow.c:3656
msgid "Choose a background color"
msgstr "Velg en bakgrunnsfarge"
-#: ../src/vikwindow.c:3113
+#: ../src/vikwindow.c:3672
msgid "Choose a track highlight color"
msgstr ""
-#: ../src/vikwindow.c:3134
+#: ../src/vikwindow.c:3693
msgid "_File"
msgstr "_Fil"
-#: ../src/vikwindow.c:3135
+#: ../src/vikwindow.c:3694
msgid "_Edit"
msgstr "R_ediger"
-#: ../src/vikwindow.c:3136
-msgid "_View"
-msgstr "_Vis"
-
-#: ../src/vikwindow.c:3137
+#: ../src/vikwindow.c:3696
msgid "_Show"
msgstr ""
-#: ../src/vikwindow.c:3140
+#: ../src/vikwindow.c:3699
msgid "_Layers"
msgstr "_Lag"
-#: ../src/vikwindow.c:3141
+#: ../src/vikwindow.c:3700
msgid "_Tools"
msgstr "Verk_tøy"
-#: ../src/vikwindow.c:3142
+#: ../src/vikwindow.c:3701
msgid "_Webtools"
msgstr ""
-#: ../src/vikwindow.c:3143 ../src/vikwindow.c:3206
+#: ../src/vikwindow.c:3702 ../src/vikwindow.c:3763
msgid "_Help"
msgstr "_Hjelp"
-#: ../src/vikwindow.c:3145
+#: ../src/vikwindow.c:3704
msgid "New file"
msgstr "Ny fil"
-#: ../src/vikwindow.c:3146
+#: ../src/vikwindow.c:3705
msgid "_Open..."
msgstr "_Åpne..."
-#: ../src/vikwindow.c:3146
+#: ../src/vikwindow.c:3705
msgid "Open a file"
msgstr "Åpne en fil"
-#: ../src/vikwindow.c:3147
+#: ../src/vikwindow.c:3706
msgid "Open _Recent File"
msgstr ""
-#: ../src/vikwindow.c:3148
+#: ../src/vikwindow.c:3707
msgid "Append _File..."
msgstr ""
-#: ../src/vikwindow.c:3148
+#: ../src/vikwindow.c:3707
msgid "Append data from a different file"
msgstr ""
-#: ../src/vikwindow.c:3149
+#: ../src/vikwindow.c:3708
+msgid "_Export All"
+msgstr ""
+
+#: ../src/vikwindow.c:3708
+msgid "Export All TrackWaypoint Layers"
+msgstr ""
+
+#: ../src/vikwindow.c:3709
+msgid "_GPX..."
+msgstr ""
+
+#: ../src/vikwindow.c:3709
+msgid "Export as GPX"
+msgstr ""
+
+#: ../src/vikwindow.c:3710
msgid "A_cquire"
msgstr ""
-#: ../src/vikwindow.c:3150
+#: ../src/vikwindow.c:3711
msgid "Transfer data from a GPS device"
msgstr "Overfør data fra GPS-enhet"
-#: ../src/vikwindow.c:3151
+#: ../src/vikwindow.c:3712
msgid "Import File With GPS_Babel..."
msgstr ""
-#: ../src/vikwindow.c:3151
+#: ../src/vikwindow.c:3712
msgid "Import file via GPSBabel converter"
msgstr ""
-#: ../src/vikwindow.c:3153
-msgid "Google _Directions..."
+#: ../src/vikwindow.c:3713
+msgid "_Directions..."
msgstr ""
-#: ../src/vikwindow.c:3153
-msgid "Get driving directions from Google"
-msgstr "Få kjøreanvisninger fra Google"
+#: ../src/vikwindow.c:3713
+msgid "Get driving directions"
+msgstr ""
-#: ../src/vikwindow.c:3156
+#: ../src/vikwindow.c:3715
msgid "_OSM Traces..."
msgstr ""
-#: ../src/vikwindow.c:3156
+#: ../src/vikwindow.c:3715
msgid "Get traces from OpenStreetMap"
msgstr ""
-#: ../src/vikwindow.c:3157
+#: ../src/vikwindow.c:3716
msgid "_My OSM Traces..."
msgstr ""
-#: ../src/vikwindow.c:3157
+#: ../src/vikwindow.c:3716
msgid "Get Your Own Traces from OpenStreetMap"
msgstr ""
-#: ../src/vikwindow.c:3160
+#: ../src/vikwindow.c:3719
msgid "Geo_caches..."
msgstr ""
-#: ../src/vikwindow.c:3160
+#: ../src/vikwindow.c:3719
msgid "Get Geocaches from geocaching.com"
msgstr "Få Geocacher fra geocaching.com"
-#: ../src/vikwindow.c:3163
+#: ../src/vikwindow.c:3722
msgid "Create waypoints from geotagged images"
msgstr ""
-#: ../src/vikwindow.c:3166
+#: ../src/vikwindow.c:3725
msgid "Create waypoints from Wikipedia items in the current view"
msgstr ""
-#: ../src/vikwindow.c:3168
+#: ../src/vikwindow.c:3727
msgid "_Save"
msgstr ""
-#: ../src/vikwindow.c:3168
+#: ../src/vikwindow.c:3727
msgid "Save the file"
msgstr "Lagre filen"
-#: ../src/vikwindow.c:3169
+#: ../src/vikwindow.c:3728
msgid "Save _As..."
msgstr "Lagre _som..."
-#: ../src/vikwindow.c:3169
+#: ../src/vikwindow.c:3728
msgid "Save the file under different name"
msgstr "Lagre filen med et annet navn"
-#: ../src/vikwindow.c:3170
+#: ../src/vikwindow.c:3729
+msgid "Properties..."
+msgstr ""
+
+#: ../src/vikwindow.c:3729
+msgid "File Properties"
+msgstr ""
+
+#: ../src/vikwindow.c:3730
msgid "_Generate Image File..."
msgstr "_Generer bildefil..."
-#: ../src/vikwindow.c:3170
+#: ../src/vikwindow.c:3730
msgid "Save a snapshot of the workspace into a file"
msgstr ""
-#: ../src/vikwindow.c:3171
+#: ../src/vikwindow.c:3731
msgid "Generate _Directory of Images..."
msgstr ""
-#: ../src/vikwindow.c:3171
+#: ../src/vikwindow.c:3731
msgid "FIXME:IMGDIR"
msgstr ""
-#: ../src/vikwindow.c:3174
+#: ../src/vikwindow.c:3732
msgid "_Print..."
msgstr ""
-#: ../src/vikwindow.c:3174
+#: ../src/vikwindow.c:3732
msgid "Print maps"
msgstr "Skriv ut kart"
-#: ../src/vikwindow.c:3177
+#: ../src/vikwindow.c:3733
msgid "E_xit"
msgstr ""
-#: ../src/vikwindow.c:3177
+#: ../src/vikwindow.c:3733
msgid "Exit the program"
msgstr "Avslutt programmet"
-#: ../src/vikwindow.c:3178
+#: ../src/vikwindow.c:3734
msgid "Save and Exit"
msgstr "Lagre og avslutt"
-#: ../src/vikwindow.c:3178
+#: ../src/vikwindow.c:3734
msgid "Save and Exit the program"
msgstr "Lagre og avslutt programmet"
-#: ../src/vikwindow.c:3180
+#: ../src/vikwindow.c:3736
msgid "Go to the _Default Location"
msgstr ""
-#: ../src/vikwindow.c:3180
+#: ../src/vikwindow.c:3736
msgid "Go to the default location"
msgstr ""
-#: ../src/vikwindow.c:3181
+#: ../src/vikwindow.c:3737
msgid "Go to _Location..."
msgstr ""
-#: ../src/vikwindow.c:3181
+#: ../src/vikwindow.c:3737
msgid "Go to address/place using text search"
msgstr ""
-#: ../src/vikwindow.c:3182
+#: ../src/vikwindow.c:3738
msgid "_Go to Lat/Lon..."
msgstr ""
-#: ../src/vikwindow.c:3182
+#: ../src/vikwindow.c:3738
msgid "Go to arbitrary lat/lon coordinate"
msgstr ""
-#: ../src/vikwindow.c:3183
+#: ../src/vikwindow.c:3739
msgid "Go to UTM..."
msgstr "Gå til UTM..."
-#: ../src/vikwindow.c:3183
+#: ../src/vikwindow.c:3739
msgid "Go to arbitrary UTM coordinate"
msgstr ""
-#: ../src/vikwindow.c:3184
+#: ../src/vikwindow.c:3740
msgid "_Refresh"
msgstr ""
-#: ../src/vikwindow.c:3184
+#: ../src/vikwindow.c:3740
msgid "Refresh any maps displayed"
msgstr ""
-#: ../src/vikwindow.c:3185
+#: ../src/vikwindow.c:3741
msgid "Set _Highlight Color..."
msgstr ""
-#: ../src/vikwindow.c:3186
+#: ../src/vikwindow.c:3742
msgid "Set Bac_kground Color..."
msgstr ""
-#: ../src/vikwindow.c:3187
+#: ../src/vikwindow.c:3743
msgid "Zoom _In"
msgstr "Zoom _inn"
-#: ../src/vikwindow.c:3188
+#: ../src/vikwindow.c:3744
msgid "Zoom _Out"
msgstr "Zoom _ut"
-#: ../src/vikwindow.c:3189
+#: ../src/vikwindow.c:3745
msgid "Zoom _To..."
msgstr "Zoom _til..."
-#: ../src/vikwindow.c:3190
+#: ../src/vikwindow.c:3746
msgid "Pan _North"
msgstr ""
-#: ../src/vikwindow.c:3191
+#: ../src/vikwindow.c:3747
msgid "Pan _East"
msgstr ""
-#: ../src/vikwindow.c:3192
+#: ../src/vikwindow.c:3748
msgid "Pan _South"
msgstr ""
-#: ../src/vikwindow.c:3193
+#: ../src/vikwindow.c:3749
msgid "Pan _West"
msgstr ""
-#: ../src/vikwindow.c:3194
+#: ../src/vikwindow.c:3750
msgid "Background _Jobs"
msgstr "Bakgrunns_jobb"
-#: ../src/vikwindow.c:3196
+#: ../src/vikwindow.c:3752
msgid "Cu_t"
msgstr "Klipp _ut"
-#: ../src/vikwindow.c:3197
-msgid "_Copy"
-msgstr "_Kopier"
-
-#: ../src/vikwindow.c:3198
-msgid "_Paste"
-msgstr "_Lim inn"
-
-#: ../src/vikwindow.c:3199
-msgid "_Delete"
-msgstr "Sle_tt"
-
-#: ../src/vikwindow.c:3200
+#: ../src/vikwindow.c:3756
msgid "Delete All"
msgstr "Slett alle"
-#: ../src/vikwindow.c:3201
+#: ../src/vikwindow.c:3757
msgid "_Flush Map Cache"
msgstr ""
-#: ../src/vikwindow.c:3202
+#: ../src/vikwindow.c:3758
msgid "_Set the Default Location"
msgstr ""
-#: ../src/vikwindow.c:3202
+#: ../src/vikwindow.c:3758
msgid "Set the Default Location to the current position"
msgstr ""
-#: ../src/vikwindow.c:3203
+#: ../src/vikwindow.c:3759
msgid "_Preferences"
msgstr "_Innstillinger"
-#: ../src/vikwindow.c:3204
+#: ../src/vikwindow.c:3760
+msgid "_Layer Defaults"
+msgstr ""
+
+#: ../src/vikwindow.c:3761
msgid "_Properties"
msgstr "_Egenskaper"
-#: ../src/vikwindow.c:3207
+#: ../src/vikwindow.c:3764
msgid "_About"
msgstr "_Om"
-#: ../src/vikwindow.c:3213
+#: ../src/vikwindow.c:3768
+msgid "_KML..."
+msgstr ""
+
+#: ../src/vikwindow.c:3768
+msgid "Export as KML"
+msgstr ""
+
+#: ../src/vikwindow.c:3774
msgid "_UTM Mode"
msgstr "_UTM-modus"
-#: ../src/vikwindow.c:3214
+#: ../src/vikwindow.c:3775
msgid "_Expedia Mode"
msgstr "_Expedia-modus"
-#: ../src/vikwindow.c:3215
+#: ../src/vikwindow.c:3776
msgid "_Mercator Mode"
msgstr "_Mercator-modus"
-#: ../src/vikwindow.c:3216
+#: ../src/vikwindow.c:3777
msgid "Lat_/Lon Mode"
msgstr ""
-#: ../src/vikwindow.c:3220
+#: ../src/vikwindow.c:3781
msgid "Show _Scale"
msgstr ""
-#: ../src/vikwindow.c:3220
+#: ../src/vikwindow.c:3781
msgid "Show Scale"
msgstr ""
-#: ../src/vikwindow.c:3221
+#: ../src/vikwindow.c:3782
msgid "Show _Center Mark"
msgstr ""
-#: ../src/vikwindow.c:3221
+#: ../src/vikwindow.c:3782
msgid "Show Center Mark"
msgstr ""
-#: ../src/vikwindow.c:3222
+#: ../src/vikwindow.c:3783
msgid "Show _Highlight"
msgstr ""
-#: ../src/vikwindow.c:3222
+#: ../src/vikwindow.c:3783
msgid "Show Highlight"
msgstr ""
-#: ../src/vikwindow.c:3223
+#: ../src/vikwindow.c:3784
msgid "_Full Screen"
msgstr "Fullskjerm"
-#: ../src/vikwindow.c:3223
+#: ../src/vikwindow.c:3784
msgid "Activate full screen mode"
msgstr "Aktiver fullskjerm"
-#: ../src/vikwindow.c:3224
+#: ../src/vikwindow.c:3785
msgid "Show Side _Panel"
msgstr ""
-#: ../src/vikwindow.c:3224
+#: ../src/vikwindow.c:3785
msgid "Show Side Panel"
msgstr ""
-#: ../src/vikwindow.c:3225
+#: ../src/vikwindow.c:3786
msgid "Show Status_bar"
msgstr ""
-#: ../src/vikwindow.c:3225
+#: ../src/vikwindow.c:3786
msgid "Show Statusbar"
msgstr ""
-#: ../src/vikwindow.c:3226
+#: ../src/vikwindow.c:3787
msgid "Show _Toolbar"
msgstr ""
-#: ../src/vikwindow.c:3226
+#: ../src/vikwindow.c:3787
msgid "Show Toolbar"
msgstr ""
-#: ../src/vikwindow.c:3227
+#: ../src/vikwindow.c:3788
msgid "Show _Menu"
msgstr ""
-#: ../src/vikwindow.c:3227
+#: ../src/vikwindow.c:3788
msgid "Show Menu"
msgstr ""
+#: ../src/vikwindow.c:3862
+#, c-format
+msgid "New _%s Layer"
+msgstr ""
+
#: ../src/viking.desktop.in.h:2
msgid "GPS Data Manager"
msgstr ""
diff --git a/po/nl.po b/po/nl.po
index b0ef0a8..cc3eb27 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: viking\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-02-04 23:29+0100\n"
+"POT-Creation-Date: 2013-09-03 21:58+0200\n"
"PO-Revision-Date: 2012-08-15 13:07+0000\n"
"Last-Translator: Dirk Roos <Unknown>\n"
"Language-Team: Dutch <nl@li.org>\n"
@@ -15,60 +15,60 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Launchpad-Export-Date: 2013-03-23 17:12+0000\n"
-"X-Generator: Launchpad (build 16540)\n"
+"X-Launchpad-Export-Date: 2013-10-12 09:04+0000\n"
+"X-Generator: Launchpad (build 16799)\n"
"Language: nl\n"
-#: ../src/acquire.c:103 ../src/vikgpslayer.c:1185
+#: ../src/acquire.c:103 ../src/vikgpslayer.c:1235
msgid "Done."
msgstr "Klaar."
-#: ../src/acquire.c:114
+#: ../src/acquire.c:112
msgid "No data."
msgstr ""
-#: ../src/acquire.c:154 ../src/acquire.c:404
+#: ../src/acquire.c:154 ../src/acquire.c:424
msgid "Error: acquisition failed."
msgstr ""
-#: ../src/acquire.c:341
+#: ../src/acquire.c:352
msgid "Working..."
msgstr "Bezig…"
#. This shouldn't happen...
-#: ../src/acquire.c:394
+#: ../src/acquire.c:415
msgid ""
"Unable to create command\n"
"Acquire method failed."
msgstr ""
-#: ../src/acquire.c:486
+#: ../src/acquire.c:517
msgid "_Filter"
msgstr ""
-#: ../src/acquire.c:501
+#: ../src/acquire.c:532
#, c-format
msgid "Filter with %s"
msgstr ""
-#: ../src/acquire.c:518
+#: ../src/acquire.c:549
msgid "Filter"
msgstr ""
-#: ../src/background.c:52
+#: ../src/background.c:53
#, c-format
msgid "%d items"
msgstr "%d items"
-#: ../src/background.c:248
+#: ../src/background.c:254
msgid "Job"
msgstr "Opdracht"
-#: ../src/background.c:252
+#: ../src/background.c:258
msgid "Progress"
msgstr "Voortgang"
-#: ../src/background.c:268
+#: ../src/background.c:274
msgid "Viking Background Jobs"
msgstr "Viking achtergrond precessen"
@@ -77,7 +77,7 @@ msgid "Bing"
msgstr ""
#. VIK_GTK_WINDOW_FROM_WIDGET(vp)
-#: ../src/bingmapsource.c:445
+#: ../src/bingmapsource.c:499
msgid "Bing attribution Loading"
msgstr ""
@@ -106,35 +106,35 @@ msgstr ""
"Selecteert u alstublieft een passende laag om informatie in te plakken om "
"een wegpunt te plakken."
-#: ../src/dialog.c:52
+#: ../src/dialog.c:53
msgid "Go to Lat/Lon"
msgstr "Ga naar breedtegraad/lengtegraad."
-#: ../src/dialog.c:64 ../src/dialog.c:251
+#: ../src/dialog.c:65 ../src/dialog.c:244
msgid "Latitude:"
msgstr "Breedtegraad:"
-#: ../src/dialog.c:70 ../src/dialog.c:256
+#: ../src/dialog.c:71 ../src/dialog.c:249
msgid "Longitude:"
msgstr "Lengtegraad:"
-#: ../src/dialog.c:102
+#: ../src/dialog.c:103
msgid "Go to UTM"
msgstr "Ga naar UTM"
-#: ../src/dialog.c:115
+#: ../src/dialog.c:116
msgid "Northing:"
msgstr "Naar het noorden richten:"
-#: ../src/dialog.c:121
+#: ../src/dialog.c:122
msgid "Easting:"
msgstr "Naar het Oosten richten:"
-#: ../src/dialog.c:128
+#: ../src/dialog.c:129
msgid "Zone:"
msgstr "Zone:"
-#: ../src/dialog.c:131
+#: ../src/dialog.c:132
msgid "Letter:"
msgstr "Brief:"
@@ -142,105 +142,109 @@ msgstr "Brief:"
msgid "Waypoint Properties"
msgstr "Eigenschappen van Waypoint"
-#: ../src/dialog.c:233
+#: ../src/dialog.c:235
msgid "Name:"
msgstr "Naam:"
-#: ../src/dialog.c:261
+#: ../src/dialog.c:254
msgid "Altitude:"
msgstr "Hoogte:"
-#: ../src/dialog.c:266
+#: ../src/dialog.c:259
msgid "Comment:"
msgstr "Opmerking:"
-#: ../src/dialog.c:274 ../src/osm-traces.c:437
+#: ../src/dialog.c:267 ../src/osm-traces.c:445
msgid "Description:"
msgstr "Omschrijving:"
-#: ../src/dialog.c:277
+#: ../src/dialog.c:270
msgid "Image:"
msgstr "Afbeelding:"
-#: ../src/dialog.c:282
+#: ../src/dialog.c:275
msgid "Symbol:"
msgstr "Symbool:"
-#: ../src/dialog.c:291
+#: ../src/dialog.c:284
msgid "(none)"
msgstr "(geen)"
+#: ../src/dialog.c:326
+msgid "Time:"
+msgstr ""
+
#. TODO: other checks (isalpha or whatever )
-#: ../src/dialog.c:356
+#: ../src/dialog.c:363
msgid "Please enter a name for the waypoint."
msgstr "Geef alstublieft een name op voor het wegpunt"
-#: ../src/dialog.c:529 ../src/geonamessearch.c:243
+#: ../src/dialog.c:502 ../src/geonamessearch.c:244
#: ../src/datasource_osm_my_traces.c:507
msgid "Nothing was selected"
msgstr "Er was niets geselecteerd"
-#: ../src/dialog.c:537
+#: ../src/dialog.c:510
msgid "Add Route"
msgstr ""
-#: ../src/dialog.c:537
+#: ../src/dialog.c:510
msgid "Add Track"
msgstr "Voeg route toe"
-#: ../src/dialog.c:545
+#: ../src/dialog.c:518
msgid "Route Name:"
msgstr ""
-#: ../src/dialog.c:545
+#: ../src/dialog.c:518
msgid "Track Name:"
msgstr "Naam van de route:"
-#: ../src/dialog.c:565
+#: ../src/dialog.c:538
msgid "Please enter a name for the track."
msgstr "Geef alstublieft een naam op voor de route"
-#: ../src/dialog.c:623
+#: ../src/dialog.c:596
msgid "Zoom Factors..."
msgstr "Vergrotingswaardes:"
-#: ../src/dialog.c:637
+#: ../src/dialog.c:610
msgid "Zoom factor (in meters per pixel):"
msgstr "Zoom factor (in meter per pixel):"
-#: ../src/dialog.c:638
+#: ../src/dialog.c:611
msgid "X (easting): "
msgstr "X (richten naar het oosten) "
-#: ../src/dialog.c:639
+#: ../src/dialog.c:612
msgid "Y (northing): "
msgstr "Y (richten naar het noorden) "
-#: ../src/dialog.c:644
+#: ../src/dialog.c:617
msgid "X and Y zoom factors must be equal"
msgstr "Vergrotingswaarden X en Y moeten hetzelfde zijn"
-#: ../src/dialog.c:699
+#: ../src/dialog.c:672
msgid "1 min"
msgstr "1 min"
-#: ../src/dialog.c:700
+#: ../src/dialog.c:673
msgid "1 hour"
msgstr "1 uur"
-#: ../src/dialog.c:701
+#: ../src/dialog.c:674
msgid "1 day"
msgstr "een dag"
-#: ../src/dialog.c:702
+#: ../src/dialog.c:675
msgid "Custom (in minutes):"
msgstr "Anders (in minuten)"
-#: ../src/dialog.c:808
+#: ../src/dialog.c:786
msgid "GPS Data and Topo Analyzer, Explorer, and Manager."
msgstr "GPS Data en Topo Analyzer, Explorer en Manager."
-#: ../src/dialog.c:809
+#: ../src/dialog.c:787
msgid ""
"This program is free software; you can redistribute it and/or modify it "
"under the terms of the GNU General Public License as published by the Free "
@@ -271,28 +275,28 @@ msgstr ""
"Foundation Inc. aanschrijven, 59 Temple Place, Suite 330, Boston, MA 02111-"
"1307, USA."
-#: ../src/dialog.c:837
+#: ../src/dialog.c:852
msgid "Translation is coordinated on http://launchpad.net/viking"
msgstr "De vertaling wordt gecoördineerd op http://launchpad.net/viking"
-#: ../src/dialog.c:845
+#: ../src/dialog.c:861
msgid "Download along track"
msgstr "Download langs spoor"
-#: ../src/dialog.c:851
+#: ../src/dialog.c:868
msgid "Map type:"
msgstr "Map type"
-#: ../src/dialog.c:856
+#: ../src/dialog.c:874
msgid "Zoom level:"
msgstr "Zoomniveau:"
-#: ../src/dialog.c:896
+#: ../src/dialog.c:914
#, c-format
msgid "The map data is licensed: %s."
msgstr "De kaartgegevens zijn onderheving aan een licentie: %s"
-#: ../src/dialog.c:899
+#: ../src/dialog.c:917
#, c-format
msgid ""
"The data provided by '<b>%s</b>' are licensed under the following license: "
@@ -303,7 +307,7 @@ msgstr ""
"licentie: <b>% s </ b>.\n"
"Lees alstublieft de licentie voordat u verder gaat."
-#: ../src/dialog.c:904
+#: ../src/dialog.c:922
msgid "Open license"
msgstr "Open licentie"
@@ -352,7 +356,8 @@ msgstr "Geen ingangen gevonden!"
#. NB could allow columns to be shifted around by doing this after each new
#. gtk_tree_view_column_set_reorderable ( column, TRUE );
#. However I don't think is that useful, so I haven't put it in
-#: ../src/geonamessearch.c:177 ../src/datasource_osm_my_traces.c:425
+#: ../src/geonamessearch.c:177 ../src/datasource_osm_my_traces.c:424
+#: ../src/viktrwlayer_tracklist.c:521
msgid "Name"
msgstr ""
@@ -360,82 +365,192 @@ msgstr ""
msgid "Feature"
msgstr ""
-#: ../src/geonamessearch.c:187 ../src/datasource_osm_my_traces.c:440
+#: ../src/geonamessearch.c:187 ../src/datasource_osm_my_traces.c:439
msgid "Lat/Lon"
msgstr ""
-#: ../src/geonamessearch.c:269 ../src/googlesearch.c:100
+#: ../src/geonamessearch.c:270 ../src/googlesearch.c:100 ../src/vikgoto.c:306
msgid "couldn't map temp file"
msgstr "kon temp bestand niet mappen"
-#: ../src/globals.c:44
+#: ../src/globals.c:73
+msgid "Absolute"
+msgstr ""
+
+#: ../src/globals.c:73
+msgid "Relative"
+msgstr ""
+
+#: ../src/globals.c:76
msgid "Degree format:"
msgstr "Formaat graden:"
-#: ../src/globals.c:48
+#: ../src/globals.c:77
msgid "Distance units:"
msgstr "Eenheid afstand:"
-#: ../src/globals.c:52
+#: ../src/globals.c:78
msgid "Speed units:"
msgstr "Eenheid snelheid:"
-#: ../src/globals.c:56
+#: ../src/globals.c:79
msgid "Height units:"
msgstr "Eenheid hoogte:"
-#: ../src/globals.c:60
+#: ../src/globals.c:80
msgid "Use large waypoint icons:"
msgstr "Gebruik grote waypoint ikonen:"
-#: ../src/globals.c:64
+#: ../src/globals.c:81
msgid "Default latitude:"
msgstr ""
-#: ../src/globals.c:67
+#: ../src/globals.c:82
msgid "Default longitude:"
msgstr ""
-#: ../src/globals.c:73
+#: ../src/globals.c:88
msgid "Alphabetical"
msgstr ""
-#: ../src/globals.c:73 ../src/datasource_osm_my_traces.c:435
+#: ../src/globals.c:88 ../src/datasource_osm_my_traces.c:434
msgid "Time"
msgstr ""
-#: ../src/globals.c:76
+#: ../src/globals.c:88
+msgid "Creation"
+msgstr ""
+
+#: ../src/globals.c:89
+msgid "Title Case"
+msgstr ""
+
+#: ../src/globals.c:89
+msgid "Lowercase"
+msgstr ""
+
+#: ../src/globals.c:92
msgid "KML File Export Units:"
msgstr ""
-#: ../src/globals.c:77
+#: ../src/globals.c:93
msgid "GPX Track Order:"
msgstr ""
-#: ../src/globals.c:82
+#: ../src/globals.c:94
+msgid "GPX Waypoint Symbols:"
+msgstr ""
+
+#: ../src/globals.c:95
+msgid ""
+"Save GPX Waypoint Symbol names in the specified case. May be useful for "
+"compatibility with various devices"
+msgstr ""
+
+#: ../src/globals.c:100
msgid "Image Viewer:"
msgstr ""
-#: ../src/globals.c:87
+#: ../src/globals.c:105
msgid "External GPX Program 1:"
msgstr ""
-#: ../src/globals.c:88
+#: ../src/globals.c:106
msgid "External GPX Program 2:"
msgstr ""
+#: ../src/globals.c:110
+msgid "Save File Reference Mode:"
+msgstr ""
+
+#: ../src/globals.c:111
+msgid ""
+"When saving a Viking .vik file, this determines how the directory paths of "
+"filenames are written."
+msgstr ""
+
+#: ../src/globals.c:112
+msgid "Show Tooltip during Track Creation:"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Home Location"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Last Location"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Specified File"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Auto Location"
+msgstr ""
+
+#: ../src/globals.c:118
+msgid "Restore Window Setup:"
+msgstr ""
+
+#: ../src/globals.c:119
+msgid "Restore window size and layout"
+msgstr ""
+
+#: ../src/globals.c:120
+msgid "Add a Default Map Layer:"
+msgstr ""
+
+#: ../src/globals.c:121
+msgid ""
+"The default map layer added is defined by the Layer Defaults. Use the menu "
+"Edit->Layer Defaults->Map... to change the map type and other values."
+msgstr ""
+
+#: ../src/globals.c:122
+msgid "Startup Method:"
+msgstr ""
+
+#: ../src/globals.c:123
+msgid "Startup File:"
+msgstr ""
+
+#: ../src/globals.c:124
+msgid ""
+"The default file to load on startup. Only applies when the startup method is "
+"set to 'Specified File'"
+msgstr ""
+
+#: ../src/globals.c:125
+msgid "Check For New Version:"
+msgstr ""
+
+#: ../src/globals.c:126
+msgid "Periodically check to see if a new version of Viking is available"
+msgstr ""
+
#. Defaults for the options are setup here
-#: ../src/globals.c:96
+#: ../src/globals.c:163
msgid "General"
msgstr "Algemeen"
#. New Tab
-#: ../src/globals.c:121
+#: ../src/globals.c:188
+msgid "Startup"
+msgstr ""
+
+#. New Tab
+#: ../src/globals.c:206
msgid "Export/External"
msgstr "Eport/Extern"
+#. 'Advanced' Properties
+#: ../src/globals.c:230
+msgid "Advanced"
+msgstr ""
+
#. Webtools
-#: ../src/google.c:36
+#: ../src/google.c:38
msgid "Google"
msgstr "Google"
@@ -448,24 +563,24 @@ msgid "Imported file"
msgstr "Bestand geïmporteerd"
#. The file selector
-#: ../src/datasource_file.c:133
+#: ../src/datasource_file.c:127
msgid "File:"
msgstr "Bestand:"
-#: ../src/datasource_file.c:134
+#: ../src/datasource_file.c:128
msgid "File to import"
msgstr "Te importeren bestand"
-#: ../src/datasource_file.c:141
+#: ../src/datasource_file.c:135
msgid "All files"
msgstr "Alle Bestanden"
#. The file format selector
-#: ../src/datasource_file.c:148
+#: ../src/datasource_file.c:142
msgid "File type:"
msgstr "Bestandstype:"
-#: ../src/datasource_file.c:193
+#: ../src/datasource_file.c:184
#, c-format
msgid "using babel args '%s' and file '%s'"
msgstr "gebruik van babel args '%s' en bestand '%s'"
@@ -478,15 +593,15 @@ msgstr "Download Geocaches"
msgid "Geocaching.com Caches"
msgstr "Geocaching.com Cache"
-#: ../src/datasource_gc.c:84
+#: ../src/datasource_gc.c:85
msgid "geocaching.com username:"
msgstr "geocaching.com gebruikersnaam:"
-#: ../src/datasource_gc.c:85
+#: ../src/datasource_gc.c:86
msgid "geocaching.com password:"
msgstr "geocaching.com wachtwoord:"
-#: ../src/datasource_gc.c:126
+#: ../src/datasource_gc.c:127
#, c-format
msgid ""
"Can't find %s or %s in path! Check that you have installed it correctly."
@@ -494,15 +609,15 @@ msgstr ""
"Kan %s of %s niet vinden in pad! Controleer dat het correct werd "
"geïnstalleerd."
-#: ../src/datasource_gc.c:188
+#: ../src/datasource_gc.c:189
msgid "Number geocaches:"
msgstr "Aantal geocaches:"
-#: ../src/datasource_gc.c:190
+#: ../src/datasource_gc.c:191
msgid "Centered around:"
msgstr "Gecentreerd rond:"
-#: ../src/datasource_gc.c:226
+#: ../src/datasource_gc.c:230
msgid "Broken input - using some defaults"
msgstr "Verstoorde invoer - gebruik van een aantal standaardwaarden"
@@ -514,98 +629,89 @@ msgstr "Maak Waypoints van afbeeldingen met een Geotag"
msgid "Geotagged Images"
msgstr "Afbeeldingen met Geotags"
-#: ../src/datasource_geotag.c:102 ../src/vikwindow.c:2314
-#: ../src/vikwindow.c:2382 ../src/vikwindow.c:2824
+#: ../src/datasource_geotag.c:102 ../src/vikwindow.c:2655
+#: ../src/vikwindow.c:2729 ../src/vikwindow.c:3380
msgid "All"
msgstr "Alles"
-#: ../src/datasource_geotag.c:107 ../src/vikwindow.c:2829
+#: ../src/datasource_geotag.c:107 ../src/vikwindow.c:3385
msgid "JPG"
msgstr "JPG"
-#: ../src/datasource_geotag.c:165
+#: ../src/datasource_geotag.c:168
#, c-format
msgid "Unable to create waypoint from %s"
msgstr "Kan geen waypoint maken van %s"
-#: ../src/datasource_google.c:49 ../src/datasource_google.c:50
-msgid "Google Directions"
-msgstr "Google aanwijzingen"
-
-#: ../src/datasource_google.c:77
-msgid "From:"
-msgstr "Van:"
-
-#: ../src/datasource_google.c:79
-msgid "To:"
-msgstr "Naar:"
-
-#: ../src/datasource_gps.c:57
+#: ../src/datasource_gps.c:54
msgid "Acquire from GPS"
msgstr "Opvragen bij GPS"
-#: ../src/datasource_gps.c:58
+#: ../src/datasource_gps.c:55
msgid "Acquired from GPS"
msgstr "Opgevraagd bij GPS"
-#: ../src/datasource_gps.c:221
+#: ../src/datasource_gps.c:245
#, c-format
msgid "using cmdline '%s' and file '%s'\n"
msgstr ""
-#: ../src/datasource_gps.c:297 ../src/vikgpslayer.c:884
+#: ../src/datasource_gps.c:327 ../src/vikgpslayer.c:934
#, c-format
msgid "Downloading %d waypoint..."
msgid_plural "Downloading %d waypoints..."
msgstr[0] "%d waypoint aan het downloaden..."
msgstr[1] "%d waypoints aan het downloaden..."
-#: ../src/datasource_gps.c:298 ../src/vikgpslayer.c:885
+#: ../src/datasource_gps.c:328 ../src/vikgpslayer.c:935
#, c-format
msgid "Downloading %d trackpoint..."
msgid_plural "Downloading %d trackpoints..."
msgstr[0] "%d trackpoint aan het downloaden..."
msgstr[1] "%d trackpoints aan het downloaden..."
-#: ../src/datasource_gps.c:303 ../src/vikgpslayer.c:890
+#: ../src/datasource_gps.c:333 ../src/vikgpslayer.c:940
#, c-format
msgid "Downloading %d routepoint..."
msgid_plural "Downloading %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/datasource_gps.c:325 ../src/datasource_gps.c:326
-#: ../src/datasource_gps.c:327
+#: ../src/datasource_gps.c:355 ../src/datasource_gps.c:356
+#: ../src/datasource_gps.c:357
#, c-format
msgid "Downloaded %d out of %d %s..."
msgstr "%d van %d %s gedownloaded..."
-#: ../src/datasource_gps.c:331 ../src/datasource_gps.c:332
-#: ../src/datasource_gps.c:333
+#: ../src/datasource_gps.c:361 ../src/datasource_gps.c:362
+#: ../src/datasource_gps.c:363
#, c-format
msgid "Downloaded %d %s."
msgstr "%d %s gedownloaded."
-#: ../src/datasource_gps.c:347 ../src/vikgpslayer.c:968
+#: ../src/datasource_gps.c:377 ../src/vikgpslayer.c:1018
#, c-format
msgid "GPS Device: %s"
msgstr "GPS Apparaat: %s"
-#: ../src/datasource_gps.c:370 ../src/vikgpslayer.c:1042
-#: ../src/vikgpslayer.c:1110
+#: ../src/datasource_gps.c:400 ../src/vikgpslayer.c:1092
+#: ../src/vikgpslayer.c:1160
msgid "Status: Working..."
msgstr ""
-#: ../src/datasource_gps.c:469 ../src/vikgpslayer.c:150
+#. NB gps_layer_inst_init() is performed after parameter registeration
+#. thus to give the protocols some potential values use the old static list
+#. TODO: find another way to use gps_layer_inst_init()?
+#: ../src/datasource_gps.c:500 ../src/vikgpslayer.c:207
msgid "GPS Protocol:"
msgstr "GPS Protocol:"
-#. List now assigned at runtime
-#: ../src/datasource_gps.c:488 ../src/vikgpslayer.c:151
+#. List reassigned at runtime
+#: ../src/datasource_gps.c:526 ../src/vikgpslayer.c:208
msgid "Serial Port:"
msgstr "Seriële Poort:"
-#: ../src/datasource_gps.c:509
+#: ../src/datasource_gps.c:576
msgid ""
"Turn Off After Transfer\n"
"(Garmin/NAViLink Only)"
@@ -613,19 +719,19 @@ msgstr ""
"Uitschakelen na overdracht\n"
"(Enkel Garmin/NAViLink)"
-#: ../src/datasource_gps.c:512
+#: ../src/datasource_gps.c:583
msgid "Tracks:"
msgstr "Sporen:"
-#: ../src/datasource_gps.c:516
+#: ../src/datasource_gps.c:590
msgid "Routes:"
msgstr ""
-#: ../src/datasource_gps.c:520
+#: ../src/datasource_gps.c:597
msgid "Waypoints:"
msgstr "Waypoints:"
-#: ../src/datasource_gps.c:594 ../src/vikgpslayer.c:1305
+#: ../src/datasource_gps.c:675 ../src/vikgpslayer.c:1355
msgid "GPS device: N/A"
msgstr "GPS Apparaat: N/A"
@@ -633,39 +739,39 @@ msgstr "GPS Apparaat: N/A"
msgid "OSM traces"
msgstr "OSM traces"
-#: ../src/datasource_osm.c:80
+#: ../src/datasource_osm.c:82
msgid "Page number:"
msgstr "Paginanummer:"
-#: ../src/datasource_osm_my_traces.c:63 ../src/datasource_osm_my_traces.c:64
+#: ../src/datasource_osm_my_traces.c:59 ../src/datasource_osm_my_traces.c:60
msgid "OSM My Traces"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:108
+#: ../src/datasource_osm_my_traces.c:104
msgid "Username:"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:113
+#: ../src/datasource_osm_my_traces.c:109
msgid "The email or username used to login to OSM"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:115 ../src/osm-traces.c:413
+#: ../src/datasource_osm_my_traces.c:111 ../src/osm-traces.c:421
msgid "Password:"
msgstr "Wachtwoord:"
-#: ../src/datasource_osm_my_traces.c:120
+#: ../src/datasource_osm_my_traces.c:114
msgid "The password used to login to OSM"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:430
+#: ../src/datasource_osm_my_traces.c:429
msgid "Description"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:445
+#: ../src/datasource_osm_my_traces.c:444
msgid "Privacy"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:452
+#: ../src/datasource_osm_my_traces.c:451
msgid "Within Current View"
msgstr ""
@@ -677,15 +783,33 @@ msgstr ""
msgid "None found!"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:629
+#: ../src/datasource_osm_my_traces.c:634
msgid "My OSM Traces"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:645
+#: ../src/datasource_osm_my_traces.c:649
#, c-format
msgid "Unable to get trace: %s"
msgstr ""
+#: ../src/datasource_routing.c:53 ../src/datasource_routing.c:54
+msgid "Directions"
+msgstr ""
+
+#. Engine selector
+#: ../src/datasource_routing.c:83
+msgid "Engine:"
+msgstr ""
+
+#. From and To entries
+#: ../src/datasource_routing.c:88
+msgid "From:"
+msgstr "Van:"
+
+#: ../src/datasource_routing.c:90
+msgid "To:"
+msgstr "Naar:"
+
#: ../src/datasource_wikipedia.c:32
msgid "Create Waypoints from Wikipedia Articles"
msgstr ""
@@ -706,174 +830,185 @@ msgstr "Ongeldige DEM hoofding"
msgid "Incorrect DEM Class B record: expected 1"
msgstr "Foute DEM Class B record: verwacht 1"
-#: ../src/dem.c:360
+#: ../src/dem.c:288 ../src/download.c:170
#, c-format
msgid "Couldn't map file %s: %s"
msgstr ""
-#: ../src/download.c:112
-msgid "Tile age (s):"
+#: ../src/download.c:130
+msgid "Tile age (days):"
msgstr ""
-#: ../src/download.c:233
+#: ../src/download.c:321
#, c-format
msgid "Download error: %s"
msgstr "Download fout: %s"
-#: ../src/download.c:313
+#: ../src/download.c:404
msgid "couldn't open temp file"
msgstr "kon temp bestand niet openen"
-#: ../src/file.c:456 ../src/file.c:461
+#: ../src/file.c:451 ../src/file.c:456
#, c-format
msgid "Draw mode '%s' no more supported"
msgstr ""
-#: ../src/geotag_exif.c:433
+#: ../src/geotag_exif.c:421
msgid "Not enough memory."
msgstr "Onvoldoende geheugen."
-#: ../src/geotag_exif.c:451
+#: ../src/geotag_exif.c:439
msgid "Setting a value for this tag is unsupported!"
msgstr ""
-#: ../src/geotag_exif.c:470
+#: ../src/geotag_exif.c:458
#, c-format
msgid "Too few components specified (need %d, found %d)\n"
msgstr ""
-#: ../src/geotag_exif.c:474
+#: ../src/geotag_exif.c:462
msgid "Numeric value expected\n"
msgstr "Numerieke waarde verwacht\n"
-#: ../src/geotag_exif.c:482
+#: ../src/geotag_exif.c:470
msgid "This shouldn't happen!"
msgstr "Dit zou niet mogen gebeuren!"
-#: ../src/geotag_exif.c:552
+#: ../src/geotag_exif.c:540
msgid "Not yet implemented!"
msgstr "Nog niet geïmplementeerd!"
-#: ../src/geotag_exif.c:565
+#: ../src/geotag_exif.c:553
msgid "Warning; Too many components specified!"
msgstr ""
-#: ../src/osm-traces.c:73
+#: ../src/osm-traces.c:76
msgid "Identifiable (public w/ timestamps)"
msgstr ""
-#: ../src/osm-traces.c:74
+#: ../src/osm-traces.c:77
msgid "Trackable (private w/ timestamps)"
msgstr ""
-#: ../src/osm-traces.c:75
+#: ../src/osm-traces.c:78
msgid "Public"
msgstr "Publiek"
-#: ../src/osm-traces.c:76
+#: ../src/osm-traces.c:79
msgid "Private"
msgstr "Privé"
-#: ../src/osm-traces.c:93
+#: ../src/osm-traces.c:97
msgid "OSM username:"
msgstr "OSM gebruikersnaam:"
-#: ../src/osm-traces.c:94
+#: ../src/osm-traces.c:98
msgid "OSM password:"
msgstr "OSM wachtwoord"
#. Preferences
-#: ../src/osm-traces.c:151
+#: ../src/osm-traces.c:155
msgid "OpenStreetMap Traces"
msgstr "OpenStreetMap Traces"
-#: ../src/osm-traces.c:234
+#: ../src/osm-traces.c:238
#, c-format
msgid "failed to upload data: HTTP response is %ld"
msgstr ""
-#: ../src/osm-traces.c:239
+#: ../src/osm-traces.c:243
#, c-format
msgid "curl_easy_getinfo failed: %d"
msgstr "curl_easy_getinfo gefaald: %d"
-#: ../src/osm-traces.c:244
+#: ../src/osm-traces.c:248
#, c-format
msgid "curl request failed: %s"
msgstr "curl request gefaald: %s"
-#: ../src/osm-traces.c:275
+#: ../src/osm-traces.c:279
#, c-format
msgid "failed to open temporary file: %s"
msgstr ""
#. Success
-#: ../src/osm-traces.c:328
+#: ../src/osm-traces.c:340
msgid "Uploaded to OSM"
msgstr "Geuploaded naar OSM"
-#: ../src/osm-traces.c:332
+#: ../src/osm-traces.c:344
msgid "FAILED TO UPLOAD DATA TO OSM - CURL PROBLEM"
msgstr ""
-#: ../src/osm-traces.c:335
+#: ../src/osm-traces.c:347
msgid "FAILED TO UPLOAD DATA TO OSM"
msgstr ""
-#: ../src/osm-traces.c:335
+#: ../src/osm-traces.c:347
msgid "HTTP response code"
msgstr "HTTP response code"
-#: ../src/osm-traces.c:348
+#: ../src/osm-traces.c:355
#, c-format
msgid "failed to unlink temporary file: %s"
msgstr ""
-#: ../src/osm-traces.c:387
+#: ../src/osm-traces.c:394
msgid "OSM upload"
msgstr "OSM upload"
-#: ../src/osm-traces.c:405
+#: ../src/osm-traces.c:413
msgid "Email:"
msgstr "E-mailadres:"
-#: ../src/osm-traces.c:410
+#: ../src/osm-traces.c:418
msgid ""
"The email used as login\n"
"<small>Enter the email you use to login into www.openstreetmap.org.</small>"
msgstr ""
-#: ../src/osm-traces.c:418
+#: ../src/osm-traces.c:426
msgid ""
"The password used to login\n"
"<small>Enter the password you use to login into "
"www.openstreetmap.org.</small>"
msgstr ""
-#: ../src/osm-traces.c:423
+#: ../src/osm-traces.c:431
msgid "File's name:"
msgstr "Bestandsnaam:"
-#: ../src/osm-traces.c:433
+#: ../src/osm-traces.c:441
msgid ""
"The name of the file on OSM\n"
"<small>This is the name of the file created on the server.This is not the "
"name of the local file.</small>"
msgstr ""
-#: ../src/osm-traces.c:442
+#: ../src/osm-traces.c:450
msgid "The description of the trace"
msgstr ""
-#: ../src/osm-traces.c:444
+#: ../src/osm-traces.c:453
+msgid "Anonymize Times:"
+msgstr ""
+
+#: ../src/osm-traces.c:458
+msgid ""
+"Anonymize times of the trace.\n"
+"<small>You may choose to make the trace identifiable, yet mask the actual "
+"real time values</small>"
+msgstr ""
+
+#: ../src/osm-traces.c:462
msgid "Tags:"
msgstr "Labels:"
-#: ../src/osm-traces.c:449
+#: ../src/osm-traces.c:467
msgid "The tags associated to the trace"
msgstr ""
-#: ../src/osm-traces.c:482
+#: ../src/osm-traces.c:529
#, c-format
msgid "Uploading %s to OSM"
msgstr ""
@@ -882,69 +1017,88 @@ msgstr ""
msgid "Map cache memory size (MB):"
msgstr ""
-#: ../src/print.c:53
+#: ../src/print.c:51 ../src/viktrwlayer.c:509
msgid "None"
msgstr "Geen"
-#: ../src/print.c:54
+#: ../src/print.c:52
msgid "Horizontally"
msgstr "Horizontaal"
-#: ../src/print.c:55
+#: ../src/print.c:53
msgid "Vertically"
msgstr "Verticaal"
-#: ../src/print.c:56
+#: ../src/print.c:54
msgid "Both"
msgstr "Beide"
-#: ../src/print.c:120
+#: ../src/print.c:118
msgid "Image Settings"
msgstr "Afbeeldinginstellingen"
-#: ../src/print.c:546
+#: ../src/print.c:548
msgid "done"
msgstr "voltooid"
#. Page Size
-#: ../src/print.c:575
+#: ../src/print.c:577
msgid "_Adjust Page Size and Orientation"
msgstr ""
-#: ../src/print.c:591
+#: ../src/print.c:593
msgid "C_enter:"
msgstr "_Midden:"
#. ignore page margins
-#: ../src/print.c:609
+#: ../src/print.c:611
msgid "Ignore Page _Margins"
msgstr "Pagina_marges negeren"
-#: ../src/print.c:628
+#: ../src/print.c:630
msgid "Image S_ize:"
msgstr ""
-#: ../src/util.c:81
-msgid "Could not launch web browser."
+#: ../src/util.c:65
+#, c-format
+msgid "Could not launch web browser. %s"
msgstr ""
-#: ../src/util.c:92
-msgid "Could not create new email."
+#: ../src/util.c:76
+#, c-format
+msgid "Could not create new email. %s"
msgstr ""
-#: ../src/vikcoordlayer.c:46
+#: ../src/util.c:177
+#, c-format
+msgid ""
+"There is a newer version of Viking available: %s\n"
+"\n"
+"Do you wish to go to Viking's website now?"
+msgstr ""
+
+#: ../src/util.c:304
+msgid ""
+"This appears to be Viking's very first run.\n"
+"\n"
+"Do you wish to enable automatic internet features?\n"
+"\n"
+"Individual settings can be controlled in the Preferences."
+msgstr ""
+
+#: ../src/vikcoordlayer.c:57
msgid "Color:"
msgstr "Kleur:"
-#: ../src/vikcoordlayer.c:47
+#: ../src/vikcoordlayer.c:58
msgid "Minutes Width:"
msgstr ""
-#: ../src/vikcoordlayer.c:48
+#: ../src/vikcoordlayer.c:59
msgid "Line Thickness:"
msgstr ""
-#: ../src/vikcoordlayer.c:56
+#: ../src/vikcoordlayer.c:66
msgid "Coordinate"
msgstr ""
@@ -980,62 +1134,130 @@ msgstr ""
msgid "Polygonzied Layer"
msgstr ""
-#: ../src/main.c:89
+#: ../src/main.c:92
#, c-format
msgid "Ignoring Xlib error: error code %d request code %d\n"
msgstr ""
-#: ../src/main.c:102
+#: ../src/main.c:105
msgid "Enable debug output"
msgstr "Debug-uitvoer aanzetten"
-#: ../src/main.c:103
+#: ../src/main.c:106
msgid "Enable verbose output"
msgstr "Extra uitvoer inschakelen"
-#: ../src/main.c:104
+#: ../src/main.c:107
msgid "Show version"
msgstr "Toon versie"
-#: ../src/osm.c:106
+#: ../src/osm.c:99
msgid "On Disk OSM Tile Format"
msgstr ""
-#: ../src/osm.c:121
+#: ../src/osm.c:113
msgid "OSM (view)"
msgstr "OSM (bekijken)"
-#: ../src/osm.c:125
+#: ../src/osm.c:117
msgid "OSM (edit)"
msgstr "OSM (editeren)"
-#: ../src/osm.c:129
+#: ../src/osm.c:121
msgid "OSM (render)"
msgstr "OSM (weergeven)"
#. Example: http://127.0.0.1:8111/load_and_zoom?left=8.19&right=8.20&top=48.605&bottom=48.590&select=node413602999
#. JOSM or merkaartor must already be running with remote interface enabled
-#: ../src/osm.c:136
+#: ../src/osm.c:128
msgid "Local port 8111 (eg JOSM)"
msgstr "Lokale poort 8111 (vb JOSM)"
-#: ../src/preferences.c:285
+#: ../src/osm.c:134
+msgid "OpenStreetMap Notes"
+msgstr ""
+
+#: ../src/osm.c:138
+msgid "OpenStreetBugs"
+msgstr ""
+
+#. Not really OSM but can't be bothered to create somewhere else to put it...
+#: ../src/osm.c:164
+msgid "Wikimedia Toolserver GeoHack"
+msgstr ""
+
+#: ../src/preferences.c:191
msgid "Preferences"
msgstr "Voorkeuren"
-#: ../src/uibuilder.c:147
+#: ../src/viklayer_defaults.c:232
+#, c-format
+msgid "Could not open file: %s"
+msgstr ""
+
+#: ../src/viklayer_defaults.c:303
+msgid "Layer Defaults"
+msgstr ""
+
+#: ../src/uibuilder.c:185
msgid "Take care that this password will be stored clearly in a plain file."
msgstr ""
-#: ../src/vikaggregatelayer.c:37
+#: ../src/vikaggregatelayer.c:42
msgid "Aggregate"
msgstr ""
-#: ../src/vikdemlayer.c:101
+#. VikLayersPanel *vlp = VIK_LAYERS_PANEL(lav[1]);
+#: ../src/vikaggregatelayer.c:484 ../src/viktrwlayer.c:10238
+#, c-format
+msgid "%s: Track and Route List"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:529 ../src/viktrwlayer.c:7354
+#: ../src/viktrwlayer.c:7420 ../src/viktrwlayer.c:7498
+msgid "_Visibility"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:534
+msgid "_Show All"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:540
+msgid "_Hide All"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:546 ../src/viktrwlayer.c:7371
+#: ../src/viktrwlayer.c:7437 ../src/viktrwlayer.c:7515
+msgid "_Toggle"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:553 ../src/viktrwlayer.c:7536
+msgid "_Sort"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:559 ../src/viktrwlayer.c:7542
+msgid "Name _Ascending"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:565 ../src/viktrwlayer.c:7548
+msgid "Name _Descending"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:571 ../src/viktrwlayer.c:7449
+#: ../src/viktrwlayer.c:7527 ../src/viktrwlayer.c:7587
+#: ../src/viktrwlayer_tracklist.c:237
+msgid "_Statistics"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:576 ../src/viktrwlayer.c:3971
+msgid "Track _List..."
+msgstr ""
+
+#: ../src/vikdemlayer.c:92
msgid "Absolute height"
msgstr ""
-#: ../src/vikdemlayer.c:102
+#: ../src/vikdemlayer.c:93
msgid "Height gradient"
msgstr ""
@@ -1075,25 +1297,52 @@ msgstr ""
msgid "DEM"
msgstr ""
-#: ../src/vikdemlayer.c:284
+#: ../src/vikdemlayer.c:287
#, c-format
msgid "Number of files: %d"
msgstr ""
-#: ../src/vikdemlayer.c:385
+#: ../src/vikdemlayer.c:427
msgid "DEM Loading"
msgstr ""
-#: ../src/vikdemlayer.c:889
+#: ../src/vikdemlayer.c:937
#, c-format
msgid "No SRTM data available for %f, %f"
msgstr ""
-#: ../src/vikdemlayer.c:1149
+#. Probably not over any land...
+#: ../src/vikdemlayer.c:1193
+msgid "No DEM File Available"
+msgstr ""
+
+#: ../src/vikdemlayer.c:1212
+#, c-format
+msgid ""
+"\n"
+"Source: %s\n"
+"\n"
+"DEM File: %s\n"
+"DEM File Timestamp: %s"
+msgstr ""
+
+#: ../src/vikdemlayer.c:1216
+#, c-format
+msgid ""
+"Source: %s\n"
+"\n"
+"No DEM File!"
+msgstr ""
+
+#: ../src/vikdemlayer.c:1256
#, c-format
msgid "Downloading DEM %s"
msgstr ""
+#: ../src/vikdemlayer.c:1280
+msgid "_Show DEM File Information"
+msgstr ""
+
#: ../src/vikfileentry.c:68
msgid "Browse..."
msgstr "Bladeren..."
@@ -1114,248 +1363,266 @@ msgstr "Toevoegen..."
msgid "Delete"
msgstr "Verwijderen"
-#: ../src/vikgeoreflayer.c:70
+#: ../src/vikgeoreflayer.c:78
msgid "_Georef Move Map"
msgstr ""
-#: ../src/vikgeoreflayer.c:70
+#: ../src/vikgeoreflayer.c:78
msgid "Georef Move Map"
msgstr ""
-#: ../src/vikgeoreflayer.c:77
+#: ../src/vikgeoreflayer.c:85
msgid "Georef Z_oom Tool"
msgstr ""
-#: ../src/vikgeoreflayer.c:77
+#: ../src/vikgeoreflayer.c:85
msgid "Georef Zoom Tool"
msgstr ""
-#: ../src/vikgeoreflayer.c:87
+#: ../src/vikgeoreflayer.c:95
msgid "GeoRef Map"
msgstr ""
-#: ../src/vikgeoreflayer.c:335 ../src/vikmapslayer.c:685
+#: ../src/vikgeoreflayer.c:377 ../src/vikmapslayer.c:720
#, c-format
msgid "Couldn't open image file: %s"
msgstr ""
-#: ../src/vikgeoreflayer.c:365
+#: ../src/vikgeoreflayer.c:391
+msgid ""
+"GeoRef map cannot be displayed in the current drawmode.\n"
+"Select \"UTM Mode\" from View menu to view it."
+msgstr ""
+
+#: ../src/vikgeoreflayer.c:415
msgid "Unexpected end of file reading World file."
msgstr ""
-#: ../src/vikgeoreflayer.c:381 ../src/vikgeoreflayer.c:426
+#: ../src/vikgeoreflayer.c:431 ../src/vikgeoreflayer.c:476
msgid "Choose World file"
msgstr ""
-#: ../src/vikgeoreflayer.c:394
+#: ../src/vikgeoreflayer.c:444
msgid "The World file you requested could not be opened for reading."
msgstr ""
-#: ../src/vikgeoreflayer.c:439
+#: ../src/vikgeoreflayer.c:489
msgid "The file you requested could not be opened for writing."
msgstr ""
-#: ../src/vikgeoreflayer.c:456 ../src/viklayer.c:480
+#: ../src/vikgeoreflayer.c:506 ../src/viklayer.c:518
msgid "Layer Properties"
msgstr "Eigenschappen voor laag"
-#: ../src/vikgeoreflayer.c:478
+#: ../src/vikgeoreflayer.c:528
msgid "World File Parameters:"
msgstr ""
-#: ../src/vikgeoreflayer.c:479
+#: ../src/vikgeoreflayer.c:529
msgid "Load From File..."
msgstr "Laden uit bestand..."
-#: ../src/vikgeoreflayer.c:484
+#: ../src/vikgeoreflayer.c:534
msgid "Corner pixel easting:"
msgstr ""
-#: ../src/vikgeoreflayer.c:486
-msgid "the UTM \"easting\" value of the upper-right corner pixel of the map"
+#: ../src/vikgeoreflayer.c:536
+msgid "the UTM \"easting\" value of the upper-left corner pixel of the map"
msgstr ""
-#: ../src/vikgeoreflayer.c:488
+#: ../src/vikgeoreflayer.c:538
msgid "Corner pixel northing:"
msgstr ""
-#: ../src/vikgeoreflayer.c:490
-msgid "the UTM \"northing\" value of the upper-right corner pixel of the map"
+#: ../src/vikgeoreflayer.c:540
+msgid "the UTM \"northing\" value of the upper-left corner pixel of the map"
msgstr ""
-#: ../src/vikgeoreflayer.c:492
+#: ../src/vikgeoreflayer.c:542
msgid "X (easting) scale (mpp): "
msgstr ""
-#: ../src/vikgeoreflayer.c:493
+#: ../src/vikgeoreflayer.c:543
msgid "Y (northing) scale (mpp): "
msgstr ""
-#: ../src/vikgeoreflayer.c:496
+#: ../src/vikgeoreflayer.c:546
msgid "the scale of the map in the X direction (meters per pixel)"
msgstr ""
-#: ../src/vikgeoreflayer.c:498
+#: ../src/vikgeoreflayer.c:548
msgid "the scale of the map in the Y direction (meters per pixel)"
msgstr ""
-#: ../src/vikgeoreflayer.c:500
+#: ../src/vikgeoreflayer.c:550
msgid "Map Image:"
msgstr ""
#. Now with icons
-#: ../src/vikgeoreflayer.c:608
+#: ../src/vikgeoreflayer.c:658
msgid "_Zoom to Fit Map"
msgstr ""
-#: ../src/vikgeoreflayer.c:614
+#: ../src/vikgeoreflayer.c:664
msgid "_Goto Map Center"
msgstr ""
-#: ../src/vikgeoreflayer.c:620
+#: ../src/vikgeoreflayer.c:670
msgid "_Export to World File"
msgstr ""
-#: ../src/vikgoto.c:75
+#: ../src/vikgoto.c:81
msgid "No goto tool available."
msgstr ""
-#: ../src/vikgoto.c:88 ../src/vikgoto.c:107
+#: ../src/vikgoto.c:94 ../src/vikgoto.c:148
msgid "goto"
msgstr "ga naar"
-#: ../src/vikgoto.c:90
+#: ../src/vikgoto.c:96
msgid "I don't know that place. Do you want another goto?"
msgstr ""
-#: ../src/vikgoto.c:109
+#: ../src/vikgoto.c:150
msgid "goto provider:"
msgstr ""
-#: ../src/vikgoto.c:124
+#: ../src/vikgoto.c:165
msgid "Enter address or place name:"
msgstr ""
-#: ../src/vikgpslayer.c:127
+#: ../src/vikgoto.c:363
+msgid "Locality"
+msgstr ""
+
+#: ../src/vikgpslayer.c:128
msgid "Data Mode"
msgstr ""
-#: ../src/vikgpslayer.c:129
+#: ../src/vikgpslayer.c:130
msgid "Realtime Tracking Mode"
msgstr ""
-#: ../src/vikgpslayer.c:137
+#: ../src/vikgpslayer.c:167
msgid "Keep vehicle at center"
msgstr ""
-#: ../src/vikgpslayer.c:138
+#: ../src/vikgpslayer.c:168
msgid "Keep vehicle on screen"
msgstr ""
-#: ../src/vikgpslayer.c:139
+#: ../src/vikgpslayer.c:169
msgid "Disable"
msgstr ""
-#: ../src/vikgpslayer.c:152
+#: ../src/vikgpslayer.c:209
msgid "Download Tracks:"
msgstr "Download Tracks:"
-#: ../src/vikgpslayer.c:153
+#: ../src/vikgpslayer.c:210
msgid "Upload Tracks:"
msgstr "Upload Tracks:"
-#: ../src/vikgpslayer.c:154
+#: ../src/vikgpslayer.c:211
msgid "Download Routes:"
msgstr ""
-#: ../src/vikgpslayer.c:155
+#: ../src/vikgpslayer.c:212
msgid "Upload Routes:"
msgstr ""
-#: ../src/vikgpslayer.c:156
+#: ../src/vikgpslayer.c:213
msgid "Download Waypoints:"
msgstr "Download Waypoints:"
-#: ../src/vikgpslayer.c:157
+#: ../src/vikgpslayer.c:214
msgid "Upload Waypoints:"
msgstr "Upload Waypoints:"
-#: ../src/vikgpslayer.c:159
+#: ../src/vikgpslayer.c:216
msgid "Recording tracks"
msgstr "Track opnemen"
-#: ../src/vikgpslayer.c:160
+#: ../src/vikgpslayer.c:217
msgid "Jump to current position on start"
msgstr ""
-#: ../src/vikgpslayer.c:161
+#: ../src/vikgpslayer.c:218
msgid "Moving Map Method:"
msgstr ""
-#: ../src/vikgpslayer.c:162
+#: ../src/vikgpslayer.c:219
+msgid "Update Statusbar:"
+msgstr ""
+
+#: ../src/vikgpslayer.c:219
+msgid "Display information in the statusbar on GPS updates"
+msgstr ""
+
+#: ../src/vikgpslayer.c:220
msgid "Gpsd Host:"
msgstr "Gpsd Host:"
-#: ../src/vikgpslayer.c:163
+#: ../src/vikgpslayer.c:221
msgid "Gpsd Port:"
msgstr "Gpsd Port:"
-#: ../src/vikgpslayer.c:164
+#: ../src/vikgpslayer.c:222
msgid "Gpsd Retry Interval (seconds):"
msgstr "Gpsd Retry Interval (seconden):"
-#: ../src/vikgpslayer.c:179
+#: ../src/vikgpslayer.c:243
msgid "GPS"
msgstr ""
-#: ../src/vikgpslayer.c:242 ../src/vikgpslayer.c:1258
+#: ../src/vikgpslayer.c:306 ../src/vikgpslayer.c:1308
msgid "GPS Download"
msgstr "GPS Download"
-#: ../src/vikgpslayer.c:242 ../src/vikgpslayer.c:1258
-#: ../src/viktrwlayer.c:3094
+#: ../src/vikgpslayer.c:306 ../src/vikgpslayer.c:1308
+#: ../src/viktrwlayer.c:3480
msgid "GPS Upload"
msgstr "GPS Upload"
-#: ../src/vikgpslayer.c:244
+#: ../src/vikgpslayer.c:308
msgid "GPS Realtime Tracking"
msgstr "GPS Realtime Tracking"
-#: ../src/vikgpslayer.c:451
+#: ../src/vikgpslayer.c:517
msgid "Unknown GPS Protocol"
msgstr "Onbekend GPS Protocol"
-#: ../src/vikgpslayer.c:469
+#: ../src/vikgpslayer.c:535
msgid "Unknown serial port device"
msgstr ""
-#: ../src/vikgpslayer.c:572
+#: ../src/vikgpslayer.c:648
#, c-format
msgid "%s: unknown parameter"
msgstr ""
#. Now with icons
-#: ../src/vikgpslayer.c:693
+#: ../src/vikgpslayer.c:743
msgid "_Upload to GPS"
msgstr ""
-#: ../src/vikgpslayer.c:699
+#: ../src/vikgpslayer.c:749
msgid "Download from _GPS"
msgstr "Download van _GPS"
-#: ../src/vikgpslayer.c:720
+#: ../src/vikgpslayer.c:770
msgid "Empty _Realtime"
msgstr ""
-#: ../src/vikgpslayer.c:727
+#: ../src/vikgpslayer.c:777
msgid "E_mpty Upload"
msgstr ""
-#: ../src/vikgpslayer.c:733
+#: ../src/vikgpslayer.c:783
msgid "_Empty Download"
msgstr ""
-#: ../src/vikgpslayer.c:739
+#: ../src/vikgpslayer.c:789
msgid "Empty _All"
msgstr ""
@@ -1364,234 +1631,232 @@ msgstr ""
#. This happens when copied GPS layer is deleted (not sure why the number_handlers would be 2)
#. I don't think there's any side effects and certainly better than the program just aborting
#.
-#: ../src/vikgpslayer.c:756
+#: ../src/vikgpslayer.c:806
#, c-format
msgid "Unexpected number of disconnected handlers: %d"
msgstr ""
-#: ../src/vikgpslayer.c:898
+#: ../src/vikgpslayer.c:948
#, c-format
msgid "Uploading %d waypoint..."
msgid_plural "Uploading %d waypoints..."
msgstr[0] "Uploaden %d waypoint..."
msgstr[1] "Uploaden %d waypoints..."
-#: ../src/vikgpslayer.c:899
+#: ../src/vikgpslayer.c:949
#, c-format
msgid "Uploading %d trackpoint..."
msgid_plural "Uploading %d trackpoints..."
msgstr[0] "Uploaden %d trackpoint..."
msgstr[1] "Uploaden %d trackpoints..."
-#: ../src/vikgpslayer.c:900
+#: ../src/vikgpslayer.c:950
#, c-format
msgid "Uploading %d routepoint..."
msgid_plural "Uploading %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:925
+#: ../src/vikgpslayer.c:975
#, c-format
msgid "Downloaded %d out of %d waypoint..."
msgid_plural "Downloaded %d out of %d waypoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:926
+#: ../src/vikgpslayer.c:976
#, c-format
msgid "Downloaded %d out of %d trackpoint..."
msgid_plural "Downloaded %d out of %d trackpoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:927
+#: ../src/vikgpslayer.c:977
#, c-format
msgid "Downloaded %d out of %d routepoint..."
msgid_plural "Downloaded %d out of %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:932
+#: ../src/vikgpslayer.c:982
#, c-format
msgid "Uploaded %d out of %d waypoint..."
msgid_plural "Uploaded %d out of %d waypoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:933
+#: ../src/vikgpslayer.c:983
#, c-format
msgid "Uploaded %d out of %d trackpoint..."
msgid_plural "Uploaded %d out of %d trackpoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:934
+#: ../src/vikgpslayer.c:984
#, c-format
msgid "Uploaded %d out of %d routepoint..."
msgid_plural "Uploaded %d out of %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:942
+#: ../src/vikgpslayer.c:992
#, c-format
msgid "Downloaded %d waypoint"
msgid_plural "Downloaded %d waypoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:943
+#: ../src/vikgpslayer.c:993
#, c-format
msgid "Downloaded %d trackpoint"
msgid_plural "Downloaded %d trackpoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:944
+#: ../src/vikgpslayer.c:994
#, c-format
msgid "Downloaded %d routepoint"
msgid_plural "Downloaded %d routepoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:949
+#: ../src/vikgpslayer.c:999
#, c-format
msgid "Uploaded %d waypoint"
msgid_plural "Uploaded %d waypoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:950
+#: ../src/vikgpslayer.c:1000
#, c-format
msgid "Uploaded %d trackpoint"
msgid_plural "Uploaded %d trackpoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:951
+#: ../src/vikgpslayer.c:1001
#, c-format
msgid "Uploaded %d routepoint"
msgid_plural "Uploaded %d routepoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:1180
+#: ../src/vikgpslayer.c:1230
msgid "Error: couldn't find gpsbabel."
msgstr "Fout: kon gpsbabel niet vinden"
-#: ../src/vikgpslayer.c:1269
+#: ../src/vikgpslayer.c:1319
msgid "Warning - GPS Upload items may overwrite each other"
msgstr ""
-#: ../src/vikgpslayer.c:1301
+#: ../src/vikgpslayer.c:1351
msgid "Status: detecting gpsbabel"
msgstr "Status: bezig met het waarnemen van gpsbabel"
-#: ../src/vikgpslayer.c:1332
+#: ../src/vikgpslayer.c:1386
msgid "No GPS items selected for transfer."
msgstr ""
-#: ../src/vikgpslayer.c:1347
+#: ../src/vikgpslayer.c:1401
msgid "Could not turn off device."
msgstr ""
-#: ../src/vikgpslayer.c:1385
+#: ../src/vikgpslayer.c:1439
msgid "Are you sure you want to delete GPS Upload data?"
msgstr ""
-#: ../src/vikgpslayer.c:1398
+#: ../src/vikgpslayer.c:1452
msgid "Are you sure you want to delete GPS Download data?"
msgstr ""
-#: ../src/vikgpslayer.c:1412
+#: ../src/vikgpslayer.c:1466
msgid "Are you sure you want to delete GPS Realtime data?"
msgstr ""
-#: ../src/vikgpslayer.c:1425
+#: ../src/vikgpslayer.c:1479
msgid "Are you sure you want to delete All GPS data?"
msgstr ""
-#: ../src/viklayerspanel.c:55
-msgid "/C_ut"
+#: ../src/viklayerspanel.c:53
+msgid "C_ut"
msgstr ""
-#: ../src/viklayerspanel.c:56
-msgid "/_Copy"
+#: ../src/viklayerspanel.c:54 ../src/vikwindow.c:3753
+msgid "_Copy"
msgstr ""
-#: ../src/viklayerspanel.c:57
-msgid "/_Paste"
+#: ../src/viklayerspanel.c:55 ../src/vikwindow.c:3754
+msgid "_Paste"
msgstr ""
-#: ../src/viklayerspanel.c:58
-msgid "/_Delete"
-msgstr "/_Verwijderen"
+#: ../src/viklayerspanel.c:56 ../src/vikwindow.c:3755
+msgid "_Delete"
+msgstr ""
-#: ../src/viklayerspanel.c:59
-msgid "/New Layer"
+#: ../src/viklayerspanel.c:133
+msgid "New Layer"
msgstr ""
-#: ../src/viklayerspanel.c:127
+#: ../src/viklayerspanel.c:178
msgid "Top Layer"
msgstr ""
-#: ../src/viklayerspanel.c:143
+#: ../src/viklayerspanel.c:194
msgid "Add new layer"
msgstr ""
-#: ../src/viklayerspanel.c:150
+#: ../src/viklayerspanel.c:201
msgid "Remove selected layer"
msgstr ""
-#: ../src/viklayerspanel.c:157
+#: ../src/viklayerspanel.c:208
msgid "Move selected layer up"
msgstr ""
-#: ../src/viklayerspanel.c:164
+#: ../src/viklayerspanel.c:215
msgid "Move selected layer down"
msgstr ""
-#: ../src/viklayerspanel.c:171
+#: ../src/viklayerspanel.c:222
msgid "Cut selected layer"
msgstr ""
-#: ../src/viklayerspanel.c:178
+#: ../src/viklayerspanel.c:229
msgid "Copy selected layer"
msgstr ""
-#: ../src/viklayerspanel.c:185
-msgid "Paste layer below selected layer"
+#: ../src/viklayerspanel.c:236
+msgid ""
+"Paste layer into selected container layer or otherwise above selected layer"
msgstr ""
-#. TODO: FIXME: if name has a '/' in it it will get all messed up. why not have an itemfactory field with
-#. name, icon, shortcut, etc.?
-#: ../src/viklayerspanel.c:204 ../src/vikwindow.c:3292
-#, c-format
-msgid "New _%s Layer"
+#: ../src/viklayerspanel.c:300
+msgid "New name can not be blank."
msgstr ""
-#: ../src/viklayerspanel.c:511
+#: ../src/viklayerspanel.c:544
msgid "Aggregate Layers have no settable properties."
msgstr ""
-#: ../src/viklayerspanel.c:555
+#: ../src/viklayerspanel.c:588
msgid "You cannot cut the Top Layer."
msgstr "Toplaag kan niet geknipt worden"
-#: ../src/viklayerspanel.c:600
+#: ../src/viklayerspanel.c:633
#, c-format
msgid "Are you sure you want to delete %s?"
msgstr "Bent u zeker dat u %s wilt verwijderen?"
-#: ../src/viklayerspanel.c:617
+#: ../src/viklayerspanel.c:650
msgid "You cannot delete the Top Layer."
msgstr "Oplaag kan niet verwijderd worden"
-#: ../src/viklayerspanel.c:701
+#: ../src/viklayerspanel.c:734
msgid "Are you sure you wish to delete all layers?"
msgstr "Bent u zeker dat u alle lagen wilt verwijderen?"
#. ******* MAPZOOMS ********
-#: ../src/vikmapslayer.c:91
+#: ../src/vikmapslayer.c:80
msgid "Use Viking Zoom Level"
msgstr ""
@@ -1638,70 +1903,70 @@ msgid ""
"actual zoom level."
msgstr ""
-#: ../src/vikmapslayer.c:146
+#: ../src/vikmapslayer.c:156
msgid "_Maps Download"
msgstr ""
-#: ../src/vikmapslayer.c:146
+#: ../src/vikmapslayer.c:156
msgid "Maps Download"
msgstr ""
-#: ../src/vikmapslayer.c:161
+#: ../src/vikmapslayer.c:171
msgid "Map"
msgstr "Kaart"
-#: ../src/vikmapslayer.c:249
-msgid "Default maplayer directory:"
+#: ../src/vikmapslayer.c:259
+msgid "Default map layer directory:"
msgstr ""
-#: ../src/vikmapslayer.c:249
+#: ../src/vikmapslayer.c:259
msgid "Choose a directory to store cached Map tiles for this layer"
msgstr ""
-#: ../src/vikmapslayer.c:505
+#: ../src/vikmapslayer.c:523
msgid "Unknown map type"
msgstr ""
-#: ../src/vikmapslayer.c:516
+#: ../src/vikmapslayer.c:534
msgid "Unknown Map Zoom"
msgstr ""
-#: ../src/vikmapslayer.c:589
+#: ../src/vikmapslayer.c:624
#, c-format
msgid ""
"New map cannot be displayed in the current drawmode.\n"
"Select \"%s\" from View menu to view it."
msgstr ""
-#: ../src/vikmapslayer.c:753
+#: ../src/vikmapslayer.c:798
#, c-format
msgid ""
"Cowardly refusing to draw tiles or existence of tiles beyond %d zoom out "
"factor"
msgstr ""
-#: ../src/vikmapslayer.c:1157
+#: ../src/vikmapslayer.c:1210
#, c-format
msgid "Redownloading up to %d %s map..."
msgid_plural "Redownloading up to %d %s maps..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikmapslayer.c:1159
+#: ../src/vikmapslayer.c:1212
#, c-format
msgid "Redownloading %d %s map..."
msgid_plural "Redownloading %d %s maps..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikmapslayer.c:1163 ../src/vikmapslayer.c:1238
+#: ../src/vikmapslayer.c:1216 ../src/vikmapslayer.c:1290
#, c-format
msgid "Downloading %d %s map..."
msgid_plural "Downloading %d %s maps..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikmapslayer.c:1311
+#: ../src/vikmapslayer.c:1376
#, c-format
msgid ""
"\n"
@@ -1711,7 +1976,7 @@ msgid ""
"Tile File Timestamp: %s"
msgstr ""
-#: ../src/vikmapslayer.c:1318
+#: ../src/vikmapslayer.c:1380
#, c-format
msgid ""
"Source: %s\n"
@@ -1719,1458 +1984,2035 @@ msgid ""
"No Tile File!"
msgstr ""
-#: ../src/vikmapslayer.c:1356
+#: ../src/vikmapslayer.c:1418
msgid "Redownload _Bad Map(s)"
msgstr ""
-#: ../src/vikmapslayer.c:1360
+#: ../src/vikmapslayer.c:1422
msgid "Redownload _New Map(s)"
msgstr ""
-#: ../src/vikmapslayer.c:1364
+#: ../src/vikmapslayer.c:1426
msgid "Redownload _All Map(s)"
msgstr ""
-#: ../src/vikmapslayer.c:1368
+#: ../src/vikmapslayer.c:1430
msgid "_Show Tile Information"
msgstr ""
-#: ../src/vikmapslayer.c:1449
+#: ../src/vikmapslayer.c:1511
#, c-format
msgid ""
"Wrong drawmode for this map.\n"
"Select \"%s\" from View menu and try again."
msgstr ""
-#: ../src/vikmapslayer.c:1454
+#: ../src/vikmapslayer.c:1516
msgid "Wrong zoom level for this map."
msgstr ""
+#: ../src/vikmapslayer.c:1647
+msgid "Zoom Start:"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1654
+msgid "Zoom End:"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1660
+msgid "Download Maps Method:"
+msgstr ""
+
+#. redownload method - needs to align with REDOWNLOAD* macro values
+#: ../src/vikmapslayer.c:1732
+msgid "Missing"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1732
+msgid "Bad"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1732
+msgid "New"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1732
+msgid "Reload All"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1734
+msgid "Download for Zoom Levels"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1774
+#, c-format
+msgid ""
+"You are not allowed to download more than %d tiles in one go (requested %d)"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1782
+#, c-format
+msgid "Do you really want to download %d tiles?"
+msgstr ""
+
#. Now with icons
-#: ../src/vikmapslayer.c:1485
+#: ../src/vikmapslayer.c:1807
msgid "Download _Missing Onscreen Maps"
msgstr ""
-#: ../src/vikmapslayer.c:1492
+#: ../src/vikmapslayer.c:1814
msgid "Download _New Onscreen Maps"
msgstr ""
-#: ../src/vikmapslayer.c:1499
+#: ../src/vikmapslayer.c:1821
msgid "Reload _All Onscreen Maps"
msgstr ""
-#: ../src/viktreeview.c:263
+#: ../src/vikmapslayer.c:1827
+msgid "Download Maps in _Zoom Levels..."
+msgstr ""
+
+#: ../src/vikrouting.c:54
+msgid "Default engine:"
+msgstr ""
+
+#: ../src/viktreeview.c:316
msgid "Layer Name"
msgstr "Naam van de laag"
-#: ../src/viktreeview.c:742
+#: ../src/viktreeview.c:851
#, c-format
msgid "delete data from %s\n"
msgstr "verwijder gegevens van %s\n"
-#: ../src/viktrwlayer.c:377
+#: ../src/viktrwlayer.c:398
msgid "Create _Waypoint"
msgstr ""
-#: ../src/viktrwlayer.c:377
+#: ../src/viktrwlayer.c:398
msgid "Create Waypoint"
msgstr "Maak Waypoint"
-#: ../src/viktrwlayer.c:383
+#: ../src/viktrwlayer.c:404
msgid "Create _Track"
msgstr ""
-#: ../src/viktrwlayer.c:383
+#: ../src/viktrwlayer.c:404
msgid "Create Track"
msgstr "Maak Track"
-#: ../src/viktrwlayer.c:392
+#: ../src/viktrwlayer.c:413
msgid "Create _Route"
msgstr ""
-#: ../src/viktrwlayer.c:392
+#: ../src/viktrwlayer.c:413
msgid "Create Route"
msgstr ""
-#: ../src/viktrwlayer.c:401
+#: ../src/viktrwlayer.c:422
msgid "_Edit Waypoint"
msgstr ""
-#: ../src/viktrwlayer.c:401
+#: ../src/viktrwlayer.c:422
msgid "Edit Waypoint"
msgstr "Bewerk Waypoint"
-#: ../src/viktrwlayer.c:409
+#: ../src/viktrwlayer.c:432
msgid "Edit Trac_kpoint"
msgstr ""
-#: ../src/viktrwlayer.c:409
+#: ../src/viktrwlayer.c:432
msgid "Edit Trackpoint"
msgstr "Bewerk Trackpoint"
-#: ../src/viktrwlayer.c:417
+#: ../src/viktrwlayer.c:442
msgid "Show P_icture"
msgstr ""
-#: ../src/viktrwlayer.c:417
+#: ../src/viktrwlayer.c:442
msgid "Show Picture"
msgstr "Toon Afbeelding"
-#: ../src/viktrwlayer.c:424
+#: ../src/viktrwlayer.c:448
msgid "Route _Finder"
msgstr ""
-#: ../src/viktrwlayer.c:424
+#: ../src/viktrwlayer.c:448
msgid "Route Finder"
msgstr ""
#. ***** PARAMETERS *****
-#: ../src/viktrwlayer.c:447 ../src/viktrwlayer.c:1942
-#: ../src/viktrwlayer.c:1944
+#: ../src/viktrwlayer.c:468 ../src/viktrwlayer.c:2324
msgid "Waypoints"
msgstr "Waypoints"
-#: ../src/viktrwlayer.c:447 ../src/viktrwlayer.c:1933
-#: ../src/viktrwlayer.c:1935
+#: ../src/viktrwlayer.c:468 ../src/viktrwlayer.c:2319
msgid "Tracks"
msgstr "Sporen"
-#: ../src/viktrwlayer.c:447
+#: ../src/viktrwlayer.c:468
msgid "Waypoint Images"
msgstr ""
-#: ../src/viktrwlayer.c:450
+#: ../src/viktrwlayer.c:468
+msgid "Tracks Advanced"
+msgstr ""
+
+#: ../src/viktrwlayer.c:471
msgid "Draw by Track"
msgstr ""
-#: ../src/viktrwlayer.c:450
+#: ../src/viktrwlayer.c:471
msgid "Draw by Speed"
msgstr ""
-#: ../src/viktrwlayer.c:450
+#: ../src/viktrwlayer.c:471
msgid "All Tracks Same Color"
msgstr ""
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "Filled Square"
msgstr ""
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "Square"
msgstr "Vierkant"
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "Circle"
msgstr "Cirkel"
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "X"
msgstr "X"
-#: ../src/viktrwlayer.c:477
+#: ../src/viktrwlayer.c:498
msgid "Extra Extra Small"
msgstr ""
-#: ../src/viktrwlayer.c:478
+#: ../src/viktrwlayer.c:499
msgid "Extra Small"
msgstr ""
-#: ../src/viktrwlayer.c:479
+#: ../src/viktrwlayer.c:500
msgid "Small"
msgstr ""
-#: ../src/viktrwlayer.c:480
+#: ../src/viktrwlayer.c:501
msgid "Medium"
msgstr ""
-#: ../src/viktrwlayer.c:481
+#: ../src/viktrwlayer.c:502
msgid "Large"
msgstr ""
-#: ../src/viktrwlayer.c:482
+#: ../src/viktrwlayer.c:503
msgid "Extra Large"
msgstr ""
-#: ../src/viktrwlayer.c:483
+#: ../src/viktrwlayer.c:504
msgid "Extra Extra Large"
msgstr ""
-#: ../src/viktrwlayer.c:491
+#: ../src/viktrwlayer.c:510
+msgid "Name Ascending"
+msgstr ""
+
+#: ../src/viktrwlayer.c:511
+msgid "Name Descending"
+msgstr ""
+
+#: ../src/viktrwlayer.c:552 ../src/viktrwlayer.c:576
+msgid "Draw Labels"
+msgstr "Labels tonen"
+
+#: ../src/viktrwlayer.c:553
+msgid "Note: the individual track controls what labels may be displayed"
+msgstr ""
+
+#: ../src/viktrwlayer.c:554
+msgid "Track Labels Font Size:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:555
msgid "Track Drawing Mode:"
msgstr ""
-#: ../src/viktrwlayer.c:492
+#: ../src/viktrwlayer.c:556
msgid "All Tracks Color:"
msgstr ""
-#: ../src/viktrwlayer.c:493
+#: ../src/viktrwlayer.c:557
msgid "The color used when 'All Tracks Same Color' drawing mode is selected"
msgstr ""
-#: ../src/viktrwlayer.c:494
+#: ../src/viktrwlayer.c:558
msgid "Draw Track Lines"
msgstr ""
-#: ../src/viktrwlayer.c:495
+#: ../src/viktrwlayer.c:559
msgid "Track Thickness:"
msgstr ""
-#: ../src/viktrwlayer.c:496
+#: ../src/viktrwlayer.c:560
msgid "Draw Track Direction"
msgstr ""
-#: ../src/viktrwlayer.c:497
+#: ../src/viktrwlayer.c:561
msgid "Direction Size:"
msgstr ""
-#: ../src/viktrwlayer.c:498
+#: ../src/viktrwlayer.c:562
msgid "Draw Trackpoints"
msgstr ""
-#: ../src/viktrwlayer.c:499
+#: ../src/viktrwlayer.c:563
msgid "Trackpoint Size:"
msgstr ""
-#: ../src/viktrwlayer.c:500
+#: ../src/viktrwlayer.c:564
msgid "Draw Elevation"
msgstr ""
-#: ../src/viktrwlayer.c:501
+#: ../src/viktrwlayer.c:565
msgid "Draw Elevation Height %:"
msgstr ""
-#: ../src/viktrwlayer.c:503
+#: ../src/viktrwlayer.c:566
msgid "Draw Stops"
msgstr ""
-#: ../src/viktrwlayer.c:504
+#: ../src/viktrwlayer.c:567
msgid ""
"Whether to draw a marker when trackpoints are at the same position but over "
"the minimum stop length apart in time"
msgstr ""
-#: ../src/viktrwlayer.c:505
+#: ../src/viktrwlayer.c:568
msgid "Min Stop Length (seconds):"
msgstr ""
-#: ../src/viktrwlayer.c:507
+#: ../src/viktrwlayer.c:570
msgid "Track BG Thickness:"
msgstr ""
-#: ../src/viktrwlayer.c:508
+#: ../src/viktrwlayer.c:571
msgid "Track Background Color"
msgstr ""
-#: ../src/viktrwlayer.c:509
+#: ../src/viktrwlayer.c:572
msgid "Draw by Speed Factor (%):"
msgstr ""
-#: ../src/viktrwlayer.c:510
+#: ../src/viktrwlayer.c:573
msgid ""
"The percentage factor away from the average speed determining the color used"
msgstr ""
-#: ../src/viktrwlayer.c:512
-msgid "Draw Labels"
-msgstr "Labels tonen"
+#: ../src/viktrwlayer.c:574
+msgid "Track Sort Order:"
+msgstr ""
-#: ../src/viktrwlayer.c:513
+#: ../src/viktrwlayer.c:577
msgid "Waypoint Font Size:"
msgstr ""
-#: ../src/viktrwlayer.c:514
+#: ../src/viktrwlayer.c:578
msgid "Waypoint Color:"
msgstr ""
-#: ../src/viktrwlayer.c:515
+#: ../src/viktrwlayer.c:579
msgid "Waypoint Text:"
msgstr ""
-#: ../src/viktrwlayer.c:516
+#: ../src/viktrwlayer.c:580
msgid "Background:"
msgstr "Achtergrond:"
-#: ../src/viktrwlayer.c:517
+#: ../src/viktrwlayer.c:581
msgid "Fake BG Color Translucency:"
msgstr ""
-#: ../src/viktrwlayer.c:518
+#: ../src/viktrwlayer.c:582
msgid "Waypoint marker:"
msgstr ""
-#: ../src/viktrwlayer.c:519
+#: ../src/viktrwlayer.c:583
msgid "Waypoint size:"
msgstr ""
-#: ../src/viktrwlayer.c:520
+#: ../src/viktrwlayer.c:584
msgid "Draw Waypoint Symbols:"
msgstr ""
-#: ../src/viktrwlayer.c:522
+#: ../src/viktrwlayer.c:585
+msgid "Waypoint Sort Order:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:587
msgid "Draw Waypoint Images"
msgstr ""
-#: ../src/viktrwlayer.c:523
+#: ../src/viktrwlayer.c:588
msgid "Image Size (pixels):"
msgstr ""
-#: ../src/viktrwlayer.c:524
+#: ../src/viktrwlayer.c:589
msgid "Image Alpha:"
msgstr ""
-#: ../src/viktrwlayer.c:525
+#: ../src/viktrwlayer.c:590
msgid "Image Memory Cache Size:"
msgstr ""
-#: ../src/viktrwlayer.c:610
+#: ../src/viktrwlayer.c:678
msgid "TrackWaypoint"
msgstr ""
-#: ../src/viktrwlayer.c:1951 ../src/viktrwlayer.c:1953
+#: ../src/viktrwlayer.c:1534 ../src/vikutils.c:204
+msgid "miles"
+msgstr ""
+
+#. VIK_UNITS_DISTANCE_KILOMETRES:
+#: ../src/viktrwlayer.c:1538 ../src/vikutils.c:209
+msgid "km"
+msgstr ""
+
+#: ../src/viktrwlayer.c:1648
+msgid "start/end"
+msgstr ""
+
+#: ../src/viktrwlayer.c:1660
+msgid "start"
+msgstr ""
+
+#: ../src/viktrwlayer.c:1669
+msgid "end"
+msgstr ""
+
+#: ../src/viktrwlayer.c:2329
msgid "Routes"
msgstr ""
-#: ../src/viktrwlayer.c:2144
+#: ../src/viktrwlayer.c:2519
#, c-format
msgid " in %d:%02d hrs:mins"
msgstr ""
-#: ../src/viktrwlayer.c:2148
+#: ../src/viktrwlayer.c:2523
#, c-format
msgid ""
"\n"
"%sTotal Length %.1f %s%s"
msgstr ""
-#: ../src/viktrwlayer.c:2154
+#: ../src/viktrwlayer.c:2529
#, c-format
msgid "Tracks: %d - Waypoints: %d - Routes: %d%s"
msgstr ""
-#: ../src/viktrwlayer.c:2174
+#: ../src/viktrwlayer.c:2549
#, c-format
msgid "Tracks: %d"
msgstr ""
-#: ../src/viktrwlayer.c:2184
+#: ../src/viktrwlayer.c:2559
#, c-format
msgid "Routes: %d"
msgstr ""
-#: ../src/viktrwlayer.c:2215
+#: ../src/viktrwlayer.c:2590
#, c-format
msgid "- %d:%02d hrs:mins"
msgstr ""
-#: ../src/viktrwlayer.c:2223
+#: ../src/viktrwlayer.c:2598
#, c-format
msgid "%s%.1f km %s"
msgstr ""
-#: ../src/viktrwlayer.c:2226
+#: ../src/viktrwlayer.c:2601
#, c-format
msgid "%s%.1f miles %s"
msgstr ""
-#: ../src/viktrwlayer.c:2240
+#: ../src/viktrwlayer.c:2615
#, c-format
msgid "Waypoints: %d"
msgstr ""
-#: ../src/viktrwlayer.c:2266
-#, c-format
-msgid "Trkpt: Alt %dft"
-msgstr ""
-
-#. VIK_UNITS_HEIGHT_METRES:
-#: ../src/viktrwlayer.c:2270
-#, c-format
-msgid "Trkpt: Alt %dm"
-msgstr ""
-
-#. Compact date time format
-#: ../src/viktrwlayer.c:2277
-#, c-format
-msgid " | Time %x %X"
-msgstr ""
-
-#: ../src/viktrwlayer.c:2295
-#, c-format
-msgid " | Track: %s"
-msgstr ""
-
-#. Combine parts to make overall message
-#: ../src/viktrwlayer.c:2299
-#, c-format
-msgid "%s%s | %s %s %s"
-msgstr ""
-
-#: ../src/viktrwlayer.c:2314
+#: ../src/viktrwlayer.c:2671
#, c-format
msgid "Wpt: Alt %dft"
msgstr ""
#. VIK_UNITS_HEIGHT_METRES:
-#: ../src/viktrwlayer.c:2318
+#: ../src/viktrwlayer.c:2675
#, c-format
msgid "Wpt: Alt %dm"
msgstr ""
#. Add comment if available
-#: ../src/viktrwlayer.c:2333
+#: ../src/viktrwlayer.c:2690
#, c-format
msgid "%s | %s %s | Comment: %s"
msgstr ""
-#: ../src/viktrwlayer.c:2335
+#: ../src/viktrwlayer.c:2692
#, c-format
msgid "%s | %s %s"
msgstr ""
-#: ../src/viktrwlayer.c:2563 ../src/viktrwlayer.c:2634
+#: ../src/viktrwlayer.c:2939 ../src/viktrwlayer.c:3010
msgid "This layer has no waypoints or trackpoints."
msgstr ""
-#: ../src/viktrwlayer.c:2661 ../src/vikwindow.c:2407 ../src/vikwindow.c:2848
+#: ../src/viktrwlayer.c:3045 ../src/vikwindow.c:2754 ../src/vikwindow.c:3407
#, c-format
msgid "The file \"%s\" exists, do you wish to overwrite it?"
msgstr ""
-#: ../src/viktrwlayer.c:2671 ../src/vikwindow.c:2429
+#: ../src/viktrwlayer.c:3057 ../src/vikwindow.c:2778
msgid "The filename you requested could not be opened for writing."
msgstr ""
-#: ../src/viktrwlayer.c:2676 ../src/viktrwlayer.c:2681
-#: ../src/viktrwlayer.c:2691 ../src/viktrwlayer.c:2703
+#: ../src/viktrwlayer.c:3062 ../src/viktrwlayer.c:3067
+#: ../src/viktrwlayer.c:3077 ../src/viktrwlayer.c:3089
msgid "Export Layer"
msgstr ""
-#: ../src/viktrwlayer.c:2720
+#: ../src/viktrwlayer.c:3108
msgid "Could not create temporary file for export."
msgstr ""
-#: ../src/viktrwlayer.c:2729
+#: ../src/viktrwlayer.c:3117
#, c-format
msgid "Could not launch %s."
msgstr ""
-#: ../src/viktrwlayer.c:2773
+#: ../src/viktrwlayer.c:3161
msgid "Export Track as GPX"
msgstr ""
-#: ../src/viktrwlayer.c:2795
+#: ../src/viktrwlayer.c:3183
msgid "Find"
msgstr ""
-#: ../src/viktrwlayer.c:2805
+#: ../src/viktrwlayer.c:3193
msgid "Waypoint Name:"
msgstr ""
-#: ../src/viktrwlayer.c:2822
+#: ../src/viktrwlayer.c:3210
msgid "Waypoint not found in this layer."
msgstr ""
-#: ../src/viktrwlayer.c:3090
+#: ../src/viktrwlayer.c:3476
msgid "Can not upload invisible track."
msgstr ""
-#: ../src/viktrwlayer.c:3192 ../src/viktrwlayer.c:7785
+#: ../src/viktrwlayer.c:3581 ../src/viktrwlayer.c:9283
msgid "Track"
msgstr ""
-#: ../src/viktrwlayer.c:3215 ../src/viktrwlayer.c:7817
+#: ../src/viktrwlayer.c:3606 ../src/viktrwlayer.c:9316
msgid "Route"
msgstr ""
-#: ../src/viktrwlayer.c:3296 ../src/viktrwlayer.c:6265
-#: ../src/viktrwlayer.c:6314
+#: ../src/viktrwlayer.c:3691 ../src/viktrwlayer.c:7460
+#: ../src/viktrwlayer.c:7566
msgid "_Finish Route"
msgstr ""
-#: ../src/viktrwlayer.c:3298 ../src/viktrwlayer.c:6223
-#: ../src/viktrwlayer.c:6312
+#: ../src/viktrwlayer.c:3693 ../src/viktrwlayer.c:7383
+#: ../src/viktrwlayer.c:7564
msgid "_Finish Track"
msgstr ""
#. Now with icons
-#: ../src/viktrwlayer.c:3310
+#: ../src/viktrwlayer.c:3705
msgid "_View Layer"
msgstr ""
-#: ../src/viktrwlayer.c:3317
+#: ../src/viktrwlayer.c:3712
msgid "V_iew"
msgstr ""
-#: ../src/viktrwlayer.c:3323
+#: ../src/viktrwlayer.c:3718
msgid "View All _Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:3328
+#: ../src/viktrwlayer.c:3723
msgid "View All _Routes"
msgstr ""
-#: ../src/viktrwlayer.c:3333
+#: ../src/viktrwlayer.c:3728
msgid "View All _Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:3338
+#: ../src/viktrwlayer.c:3733
msgid "_Goto Center of Layer"
msgstr ""
-#: ../src/viktrwlayer.c:3344 ../src/viktrwlayer.c:6199
+#: ../src/viktrwlayer.c:3739 ../src/viktrwlayer.c:7335
msgid "Goto _Waypoint..."
msgstr ""
-#: ../src/viktrwlayer.c:3350
+#: ../src/viktrwlayer.c:3745
msgid "_Export Layer"
msgstr ""
-#: ../src/viktrwlayer.c:3356
+#: ../src/viktrwlayer.c:3751
msgid "Export as GPS_Point..."
msgstr ""
-#: ../src/viktrwlayer.c:3361
+#: ../src/viktrwlayer.c:3756
msgid "Export as GPS_Mapper..."
msgstr ""
-#: ../src/viktrwlayer.c:3366
+#: ../src/viktrwlayer.c:3761
msgid "Export as _GPX..."
msgstr ""
-#: ../src/viktrwlayer.c:3371
+#: ../src/viktrwlayer.c:3766
msgid "Export as _KML..."
msgstr ""
-#: ../src/viktrwlayer.c:3376
+#: ../src/viktrwlayer.c:3771
msgid "Open with External Program_1: "
msgstr ""
-#: ../src/viktrwlayer.c:3383
+#: ../src/viktrwlayer.c:3778
msgid "Open with External Program_2: "
msgstr ""
-#: ../src/viktrwlayer.c:3391 ../src/vikwindow.c:3145
+#: ../src/viktrwlayer.c:3786 ../src/vikwindow.c:3704
msgid "_New"
msgstr ""
-#: ../src/viktrwlayer.c:3397
+#: ../src/viktrwlayer.c:3792
msgid "New _Waypoint..."
msgstr ""
-#: ../src/viktrwlayer.c:3403
+#: ../src/viktrwlayer.c:3798
msgid "New _Track"
msgstr ""
-#: ../src/viktrwlayer.c:3411
+#: ../src/viktrwlayer.c:3806
msgid "New _Route"
msgstr ""
-#: ../src/viktrwlayer.c:3420 ../src/viktrwlayer.c:6597
+#: ../src/viktrwlayer.c:3815 ../src/viktrwlayer.c:7938
msgid "Geotag _Images..."
msgstr ""
-#: ../src/viktrwlayer.c:3427
+#: ../src/viktrwlayer.c:3822
msgid "_Acquire"
msgstr ""
-#: ../src/viktrwlayer.c:3433 ../src/vikwindow.c:3150
+#: ../src/viktrwlayer.c:3828 ../src/vikwindow.c:3711
msgid "From _GPS..."
msgstr ""
-#: ../src/viktrwlayer.c:3439
-msgid "From Google _Directions..."
+#. FIXME: only add menu when at least a routing engine has support for Directions
+#: ../src/viktrwlayer.c:3834
+msgid "From _Directions..."
msgstr ""
-#: ../src/viktrwlayer.c:3446
+#: ../src/viktrwlayer.c:3840
msgid "From _OSM Traces..."
msgstr ""
-#: ../src/viktrwlayer.c:3451
+#: ../src/viktrwlayer.c:3845
msgid "From _My OSM Traces..."
msgstr ""
-#: ../src/viktrwlayer.c:3459 ../src/vikwindow.c:3166
+#: ../src/viktrwlayer.c:3853 ../src/vikwindow.c:3725
msgid "From _Wikipedia Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:3465
+#: ../src/viktrwlayer.c:3859
msgid "Within _Layer Bounds"
msgstr ""
-#: ../src/viktrwlayer.c:3471
+#: ../src/viktrwlayer.c:3865
msgid "Within _Current View"
msgstr ""
-#: ../src/viktrwlayer.c:3479
+#: ../src/viktrwlayer.c:3873
msgid "From Geo_caching..."
msgstr ""
-#: ../src/viktrwlayer.c:3486 ../src/vikwindow.c:3163
+#: ../src/viktrwlayer.c:3880 ../src/vikwindow.c:3722
msgid "From Geotagged _Images..."
msgstr ""
-#: ../src/viktrwlayer.c:3492
+#: ../src/viktrwlayer.c:3886
msgid "From _File..."
msgstr ""
-#: ../src/viktrwlayer.c:3498 ../src/viktrwlayer.c:6542
+#: ../src/viktrwlayer.c:3894 ../src/viktrwlayer.c:7883
msgid "_Upload"
msgstr ""
-#: ../src/viktrwlayer.c:3504
+#: ../src/viktrwlayer.c:3900
msgid "Upload to _GPS..."
msgstr ""
-#: ../src/viktrwlayer.c:3511 ../src/viktrwlayer.c:6570
+#: ../src/viktrwlayer.c:3907 ../src/viktrwlayer.c:7911
msgid "Upload to _OSM..."
msgstr ""
-#: ../src/viktrwlayer.c:3519
+#: ../src/viktrwlayer.c:3915
msgid "De_lete"
msgstr ""
-#: ../src/viktrwlayer.c:3525
+#: ../src/viktrwlayer.c:3921
msgid "Delete All _Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:3531
+#: ../src/viktrwlayer.c:3927
msgid "Delete Tracks _From Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:3537 ../src/viktrwlayer.c:6290
+#: ../src/viktrwlayer.c:3933 ../src/viktrwlayer.c:7485
msgid "Delete _All Routes"
msgstr ""
-#: ../src/viktrwlayer.c:3543 ../src/viktrwlayer.c:6296
+#: ../src/viktrwlayer.c:3939 ../src/viktrwlayer.c:7491
msgid "_Delete Routes From Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:3549
+#: ../src/viktrwlayer.c:3945
msgid "Delete All _Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:3555
+#: ../src/viktrwlayer.c:3951
msgid "Delete Waypoints From _Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:4128
+#: ../src/viktrwlayer.c:4574
#, c-format
msgid "Are you sure you want to delete all tracks in %s?"
msgstr ""
-#: ../src/viktrwlayer.c:4138
+#: ../src/viktrwlayer.c:4584
#, c-format
msgid "Are you sure you want to delete all routes in %s?"
msgstr ""
-#: ../src/viktrwlayer.c:4148
+#: ../src/viktrwlayer.c:4594
#, c-format
msgid "Are you sure you want to delete all waypoints in %s?"
msgstr ""
-#: ../src/viktrwlayer.c:4165
+#: ../src/viktrwlayer.c:4611
#, c-format
-msgid "Are you sure you want to delete the waypoint \"%s\""
+msgid "Are you sure you want to delete the waypoint \"%s\"?"
msgstr ""
-#: ../src/viktrwlayer.c:4178
+#: ../src/viktrwlayer.c:4624
#, c-format
-msgid "Are you sure you want to delete the track \"%s\""
+msgid "Are you sure you want to delete the track \"%s\"?"
msgstr ""
-#: ../src/viktrwlayer.c:4191
+#: ../src/viktrwlayer.c:4637
#, c-format
-msgid "Are you sure you want to delete the route \"%s\""
+msgid "Are you sure you want to delete the route \"%s\"?"
msgstr ""
-#: ../src/viktrwlayer.c:4351 ../src/viktrwlayer.c:4922
+#: ../src/viktrwlayer.c:4849 ../src/viktrwlayer.c:5677
msgid ""
"Converting a track to a route removes extra track data such as segments, "
"timestamps, etc...\n"
"Do you want to continue?"
msgstr ""
-#: ../src/viktrwlayer.c:4711
+#: ../src/viktrwlayer.c:4944
+msgid "No DEM layers available, thus no DEM values can be applied."
+msgstr ""
+
+#: ../src/viktrwlayer.c:4964 ../src/viktrwlayer.c:5005
+#, c-format
+msgid "%ld point adjusted"
+msgid_plural "%ld points adjusted"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/viktrwlayer.c:5049
+#, c-format
+msgid "%ld waypoint changed"
+msgid_plural "%ld waypoints changed"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/viktrwlayer.c:5233
+#, c-format
+msgid ""
+"Refining a track with many points (%d) is unlikely to yield sensible "
+"results. Do you want to Continue?"
+msgstr ""
+
+#. Select engine from dialog
+#: ../src/viktrwlayer.c:5241
+msgid "Refine Route with Routing Engine..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:5249
+msgid "Select routing engine"
+msgstr ""
+
+#: ../src/viktrwlayer.c:5467
msgid "Failed. No other tracks with timestamps in this layer found"
msgstr ""
-#: ../src/viktrwlayer.c:4713
+#: ../src/viktrwlayer.c:5469
msgid "Failed. No other tracks without timestamps in this layer found"
msgstr ""
-#: ../src/viktrwlayer.c:4732
+#: ../src/viktrwlayer.c:5488
msgid "Merge with..."
msgstr ""
-#: ../src/viktrwlayer.c:4733
+#: ../src/viktrwlayer.c:5489
msgid "Select route to merge with"
msgstr ""
-#: ../src/viktrwlayer.c:4733
+#: ../src/viktrwlayer.c:5489
msgid "Select track to merge with"
msgstr ""
-#: ../src/viktrwlayer.c:4818 ../src/viktrwlayer.c:4895
+#: ../src/viktrwlayer.c:5573 ../src/viktrwlayer.c:5650
msgid "Append Route"
msgstr ""
-#: ../src/viktrwlayer.c:4818 ../src/viktrwlayer.c:4895
+#: ../src/viktrwlayer.c:5573 ../src/viktrwlayer.c:5650
msgid "Append Track"
msgstr ""
-#: ../src/viktrwlayer.c:4819
+#: ../src/viktrwlayer.c:5574
msgid "Select the route to append after the current route"
msgstr ""
-#: ../src/viktrwlayer.c:4820
+#: ../src/viktrwlayer.c:5575
msgid "Select the track to append after the current track"
msgstr ""
-#: ../src/viktrwlayer.c:4896
+#: ../src/viktrwlayer.c:5651
msgid "Select the track to append after the current route"
msgstr ""
-#: ../src/viktrwlayer.c:4897
+#: ../src/viktrwlayer.c:5652
msgid "Select the route to append after the current track"
msgstr ""
-#: ../src/viktrwlayer.c:4957
+#: ../src/viktrwlayer.c:5711
#, c-format
msgid "%d segment merged"
msgid_plural "%d segments merged"
msgstr[0] ""
msgstr[1] ""
-#: ../src/viktrwlayer.c:4973
+#: ../src/viktrwlayer.c:5727
msgid "Failed. This track does not have timestamp"
msgstr ""
-#: ../src/viktrwlayer.c:4985
+#: ../src/viktrwlayer.c:5739
msgid "Failed. No other track in this layer has timestamp"
msgstr ""
-#: ../src/viktrwlayer.c:4992
+#: ../src/viktrwlayer.c:5746
msgid "Merge Threshold..."
msgstr ""
-#: ../src/viktrwlayer.c:4993
+#: ../src/viktrwlayer.c:5747
msgid "Merge when time between tracks less than:"
msgstr ""
-#: ../src/viktrwlayer.c:5128
+#: ../src/viktrwlayer.c:5889
msgid "Split Threshold..."
msgstr ""
-#: ../src/viktrwlayer.c:5129
+#: ../src/viktrwlayer.c:5890
msgid "Split when time between trackpoints exceeds:"
msgstr ""
-#: ../src/viktrwlayer.c:5205
+#: ../src/viktrwlayer.c:5907
+#, c-format
+msgid ""
+"Can not split track due to trackpoints not ordered in time - such as at %s.\n"
+"\n"
+"Goto this trackpoint?"
+msgstr ""
+
+#: ../src/viktrwlayer.c:5976
msgid "Split Every Nth Point"
msgstr ""
-#: ../src/viktrwlayer.c:5206
+#: ../src/viktrwlayer.c:5977
msgid "Split on every Nth point:"
msgstr ""
-#: ../src/viktrwlayer.c:5312
+#: ../src/viktrwlayer.c:6087
msgid "Can not split track as it has no segments"
msgstr ""
-#: ../src/viktrwlayer.c:5340 ../src/viktrwlayer.c:5370
+#: ../src/viktrwlayer.c:6169 ../src/viktrwlayer.c:6199
#, c-format
msgid "Deleted %ld point"
msgid_plural "Deleted %ld points"
msgstr[0] ""
msgstr[1] ""
-#: ../src/viktrwlayer.c:5531
+#: ../src/viktrwlayer.c:6392
msgid "Internal Error in vik_trw_layer_uniquify_tracks"
msgstr ""
-#: ../src/viktrwlayer.c:5588 ../src/viktrwlayer.c:5635
-#: ../src/viktrwlayer.c:5814
+#: ../src/viktrwlayer.c:6496 ../src/viktrwlayer.c:6543
+#: ../src/viktrwlayer.c:6704
msgid ""
"Multiple entries with the same name exist. This method only works with "
"unique names. Force unique names now?"
msgstr ""
-#: ../src/viktrwlayer.c:5599
+#: ../src/viktrwlayer.c:6507
msgid "No tracks found"
msgstr ""
-#: ../src/viktrwlayer.c:5607 ../src/viktrwlayer.c:5654
-#: ../src/viktrwlayer.c:5834
+#: ../src/viktrwlayer.c:6515 ../src/viktrwlayer.c:6562
+#: ../src/viktrwlayer.c:6724
msgid "Delete Selection"
msgstr ""
-#: ../src/viktrwlayer.c:5608
+#: ../src/viktrwlayer.c:6516
msgid "Select tracks to delete"
msgstr ""
-#: ../src/viktrwlayer.c:5646
+#: ../src/viktrwlayer.c:6554
msgid "No routes found"
msgstr ""
-#: ../src/viktrwlayer.c:5655
+#: ../src/viktrwlayer.c:6563
msgid "Select routes to delete"
msgstr ""
-#: ../src/viktrwlayer.c:5761
+#: ../src/viktrwlayer.c:6669
msgid "Internal Error in vik_trw_layer_uniquify_waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:5824
+#: ../src/viktrwlayer.c:6714
msgid "No waypoints found"
msgstr ""
-#: ../src/viktrwlayer.c:5835
+#: ../src/viktrwlayer.c:6725
msgid "Select waypoints to delete"
msgstr ""
-#: ../src/viktrwlayer.c:5896
+#: ../src/viktrwlayer.c:7033
#, c-format
msgid ""
"A waypoint with the name \"%s\" already exists. Really rename to the same "
"name?"
msgstr ""
-#: ../src/viktrwlayer.c:5926
+#: ../src/viktrwlayer.c:7063
#, c-format
msgid ""
"A track with the name \"%s\" already exists. Really rename to the same name?"
msgstr ""
-#: ../src/viktrwlayer.c:5963
+#: ../src/viktrwlayer.c:7100
#, c-format
msgid ""
"A route with the name \"%s\" already exists. Really rename to the same name?"
msgstr ""
-#: ../src/viktrwlayer.c:6085 ../src/viktrwlayer.c:6337
+#: ../src/viktrwlayer.c:7221 ../src/viktrwlayer.c:7594
msgid "_Goto"
msgstr ""
-#: ../src/viktrwlayer.c:6104
+#: ../src/viktrwlayer.c:7240
msgid "_Visit Geocache Webpage"
msgstr ""
-#: ../src/viktrwlayer.c:6123
+#: ../src/viktrwlayer.c:7259
msgid "_Show Picture..."
msgstr ""
-#: ../src/viktrwlayer.c:6131
+#: ../src/viktrwlayer.c:7267
msgid "Update Geotag on _Image"
msgstr ""
-#: ../src/viktrwlayer.c:6137
+#: ../src/viktrwlayer.c:7273
msgid "_Update"
msgstr ""
-#: ../src/viktrwlayer.c:6142
+#: ../src/viktrwlayer.c:7278
msgid "Update and _Keep File Timestamp"
msgstr ""
-#: ../src/viktrwlayer.c:6153
+#: ../src/viktrwlayer.c:7289
msgid "Visit _Webpage"
msgstr ""
-#: ../src/viktrwlayer.c:6184
+#: ../src/viktrwlayer.c:7320
msgid "_New Waypoint..."
msgstr ""
-#: ../src/viktrwlayer.c:6193
+#: ../src/viktrwlayer.c:7329
msgid "_View All Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:6205
+#: ../src/viktrwlayer.c:7341
msgid "Delete _All Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:6211
+#: ../src/viktrwlayer.c:7347
msgid "_Delete Waypoints From Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:6233
+#: ../src/viktrwlayer.c:7359
+msgid "_Show All Waypoints"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7365
+msgid "_Hide All Waypoints"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7393
msgid "_View All Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:6239
+#: ../src/viktrwlayer.c:7399
msgid "_New Track"
msgstr ""
-#: ../src/viktrwlayer.c:6247
+#: ../src/viktrwlayer.c:7407
msgid "Delete _All Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:6253
+#: ../src/viktrwlayer.c:7413
msgid "_Delete Tracks From Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:6276
+#: ../src/viktrwlayer.c:7425
+msgid "_Show All Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7431
+msgid "_Hide All Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7442
+msgid "_List Tracks..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7471
msgid "_View All Routes"
msgstr ""
-#: ../src/viktrwlayer.c:6282
+#: ../src/viktrwlayer.c:7477
msgid "_New Route"
msgstr ""
-#: ../src/viktrwlayer.c:6327
+#: ../src/viktrwlayer.c:7503
+msgid "_Show All Routes"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7509
+msgid "_Hide All Routes"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7520
+msgid "_List Routes..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7579
msgid "_View Track"
msgstr ""
-#: ../src/viktrwlayer.c:6329
+#: ../src/viktrwlayer.c:7581
msgid "_View Route"
msgstr ""
-#: ../src/viktrwlayer.c:6343
+#: ../src/viktrwlayer.c:7600
msgid "_Startpoint"
msgstr ""
-#: ../src/viktrwlayer.c:6349
+#: ../src/viktrwlayer.c:7606
msgid "\"_Center\""
msgstr ""
-#: ../src/viktrwlayer.c:6355
+#: ../src/viktrwlayer.c:7612
msgid "_Endpoint"
msgstr ""
-#: ../src/viktrwlayer.c:6361
+#: ../src/viktrwlayer.c:7618
msgid "_Highest Altitude"
msgstr ""
-#: ../src/viktrwlayer.c:6367
+#: ../src/viktrwlayer.c:7624
msgid "_Lowest Altitude"
msgstr ""
-#: ../src/viktrwlayer.c:6375
+#: ../src/viktrwlayer.c:7632
msgid "_Maximum Speed"
msgstr ""
-#: ../src/viktrwlayer.c:6384
+#: ../src/viktrwlayer.c:7641
msgid "Co_mbine"
msgstr ""
-#: ../src/viktrwlayer.c:6392
+#: ../src/viktrwlayer.c:7649
msgid "_Merge By Time..."
msgstr ""
-#: ../src/viktrwlayer.c:6397
+#: ../src/viktrwlayer.c:7654
msgid "Merge _Segments"
msgstr ""
-#: ../src/viktrwlayer.c:6403
+#: ../src/viktrwlayer.c:7660
msgid "Merge _With Other Tracks..."
msgstr ""
-#: ../src/viktrwlayer.c:6409
+#: ../src/viktrwlayer.c:7666
msgid "_Append Track..."
msgstr ""
-#: ../src/viktrwlayer.c:6411
+#: ../src/viktrwlayer.c:7668
msgid "_Append Route..."
msgstr ""
-#: ../src/viktrwlayer.c:6417
+#: ../src/viktrwlayer.c:7674
msgid "Append _Route..."
msgstr ""
-#: ../src/viktrwlayer.c:6419
+#: ../src/viktrwlayer.c:7676
msgid "Append _Track..."
msgstr ""
-#: ../src/viktrwlayer.c:6426
+#: ../src/viktrwlayer.c:7683
msgid "_Split"
msgstr ""
-#: ../src/viktrwlayer.c:6434
+#: ../src/viktrwlayer.c:7691
msgid "_Split By Time..."
msgstr ""
#. ATM always enable this entry - don't want to have to analyse the track before displaying the menu - to keep the menu speedy
-#: ../src/viktrwlayer.c:6440
+#: ../src/viktrwlayer.c:7697
msgid "Split Se_gments"
msgstr ""
-#: ../src/viktrwlayer.c:6446
+#: ../src/viktrwlayer.c:7703
msgid "Split By _Number of Points..."
msgstr ""
-#: ../src/viktrwlayer.c:6451
+#: ../src/viktrwlayer.c:7708
msgid "Split at _Trackpoint"
msgstr ""
-#: ../src/viktrwlayer.c:6460
+#: ../src/viktrwlayer.c:7716
+msgid "_Insert Points"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7722
+msgid "Insert Point _Before Selected Point"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7729
+msgid "Insert Point _After Selected Point"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7738
msgid "Delete Poi_nts"
msgstr ""
-#: ../src/viktrwlayer.c:6466
+#: ../src/viktrwlayer.c:7744
+msgid "Delete _Selected Point"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7752
msgid "Delete Points With The Same _Position"
msgstr ""
-#: ../src/viktrwlayer.c:6471
+#: ../src/viktrwlayer.c:7757
msgid "Delete Points With The Same _Time"
msgstr ""
-#: ../src/viktrwlayer.c:6477
-msgid "_Reverse Track"
+#: ../src/viktrwlayer.c:7764 ../src/viktrwlayer.c:7964
+msgid "_Transform"
msgstr ""
-#: ../src/viktrwlayer.c:6479
-msgid "_Reverse Route"
+#: ../src/viktrwlayer.c:7772 ../src/viktrwlayer.c:7972
+msgid "_Apply DEM Data"
msgstr ""
-#: ../src/viktrwlayer.c:6488
-msgid "Down_load Maps Along Track..."
+#: ../src/viktrwlayer.c:7777 ../src/viktrwlayer.c:7977
+msgid "_Overwrite"
msgstr ""
-#: ../src/viktrwlayer.c:6490
-msgid "Down_load Maps Along Route..."
+#: ../src/viktrwlayer.c:7780 ../src/viktrwlayer.c:7980
+msgid "Overwrite any existing elevation values with DEM values"
msgstr ""
-#: ../src/viktrwlayer.c:6497
-msgid "_Apply DEM Data"
+#: ../src/viktrwlayer.c:7783 ../src/viktrwlayer.c:7983
+msgid "_Keep Existing"
msgstr ""
-#: ../src/viktrwlayer.c:6504
-msgid "_Export Track as GPX..."
+#: ../src/viktrwlayer.c:7786 ../src/viktrwlayer.c:7986
+msgid "Keep existing elevation values, only attempt for missing values"
msgstr ""
-#: ../src/viktrwlayer.c:6506
-msgid "_Export Route as GPX..."
+#: ../src/viktrwlayer.c:7791
+msgid "_Smooth Missing Elevation Data"
msgstr ""
-#: ../src/viktrwlayer.c:6513
-msgid "E_xtend Track End"
+#: ../src/viktrwlayer.c:7796
+msgid "_Interpolated"
msgstr ""
-#: ../src/viktrwlayer.c:6515
-msgid "E_xtend Route End"
+#: ../src/viktrwlayer.c:7799
+msgid ""
+"Interpolate between known elevation values to derive values for the missing "
+"elevations"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7802
+msgid "_Flat"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7805
+msgid "Set unknown elevation values to the last known value"
msgstr ""
-#: ../src/viktrwlayer.c:6522
+#: ../src/viktrwlayer.c:7809
msgid "C_onvert to a Route"
msgstr ""
-#: ../src/viktrwlayer.c:6524
+#: ../src/viktrwlayer.c:7811
msgid "C_onvert to a Track"
msgstr ""
-#: ../src/viktrwlayer.c:6532
+#: ../src/viktrwlayer.c:7819
+msgid "_Anonymize Times"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7822
+msgid "Shift timestamps to a relative offset from 1901-01-01"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7827
+msgid "_Reverse Track"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7829
+msgid "_Reverse Route"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7836
+msgid "Refine Route..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7846
+msgid "Down_load Maps Along Track..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7848
+msgid "Down_load Maps Along Route..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7856
+msgid "_Export Track as GPX..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7858
+msgid "_Export Route as GPX..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7865
+msgid "E_xtend Track End"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7867
+msgid "E_xtend Route End"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7874
msgid "Extend _Using Route Finder"
msgstr ""
-#: ../src/viktrwlayer.c:6548
+#: ../src/viktrwlayer.c:7889
msgid "_Upload to GPS..."
msgstr ""
-#: ../src/viktrwlayer.c:6559
+#: ../src/viktrwlayer.c:7900
msgid "_View Google Directions"
msgstr ""
-#: ../src/viktrwlayer.c:6579
+#: ../src/viktrwlayer.c:7920
msgid "Use with _Filter"
msgstr ""
-#: ../src/viktrwlayer.c:6612
+#: ../src/viktrwlayer.c:7953
msgid "_Edit Trackpoint"
msgstr ""
-#: ../src/viktrwlayer.c:7524
+#: ../src/viktrwlayer.c:9017
#, c-format
msgid " - Gain %dm:Loss %dm"
msgstr ""
-#: ../src/viktrwlayer.c:7526
+#: ../src/viktrwlayer.c:9019
#, c-format
msgid " - Gain %dft:Loss %dft"
msgstr ""
-#: ../src/viktrwlayer.c:7531
+#: ../src/viktrwlayer.c:9024
#, c-format
msgid " - Bearing %3.1f° - Step %s"
msgstr ""
-#: ../src/viktrwlayer.c:8124
+#: ../src/viktrwlayer.c:9628
#, c-format
msgid "Could not launch %s to open file."
msgstr ""
-#: ../src/viktrwlayer.c:8205
+#: ../src/viktrwlayer.c:9709
#, c-format
msgid "Creating %d Image Thumbnails..."
msgstr ""
-#: ../src/viktrwlayer.c:8524
+#: ../src/viktrwlayer.c:10106
msgid "No map layer in use. Create one first"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:898 ../src/viktrwlayer_propwin.c:1155
+#: ../src/viktrwlayer.c:10225
+#, c-format
+msgid "%s: Track List"
+msgstr ""
+
+#: ../src/viktrwlayer.c:10227
+#, c-format
+msgid "%s: Route List"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:828 ../src/viktrwlayer_propwin.c:1085
#, c-format
msgid "%.1f kph"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:901 ../src/viktrwlayer_propwin.c:1158
+#: ../src/viktrwlayer_propwin.c:831 ../src/viktrwlayer_propwin.c:1088
+#: ../src/viktrwlayer_analysis.c:290
#, c-format
msgid "%.1f mph"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:904 ../src/viktrwlayer_propwin.c:1161
+#: ../src/viktrwlayer_propwin.c:834 ../src/viktrwlayer_propwin.c:1091
#, c-format
msgid "%.1f knots"
msgstr ""
#. VIK_UNITS_SPEED_METRES_PER_SECOND:
-#: ../src/viktrwlayer_propwin.c:908 ../src/viktrwlayer_propwin.c:1165
+#: ../src/viktrwlayer_propwin.c:838 ../src/viktrwlayer_propwin.c:1095
#, c-format
msgid "%.1f m/s"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:1745
+#: ../src/viktrwlayer_propwin.c:1662 ../src/viktrwlayer_analysis.c:267
#, c-format
msgid "%.1f miles"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:1747
+#. VIK_UNITS_DISTANCE_KILOMETRES
+#: ../src/viktrwlayer_propwin.c:1664 ../src/viktrwlayer_analysis.c:271
#, c-format
msgid "%.1f km"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2681
+#: ../src/viktrwlayer_propwin.c:2582
msgid "Failed spliting track. Track unchanged"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2779 ../src/viktrwlayer_propwin.c:3178
+#: ../src/viktrwlayer_propwin.c:2724 ../src/viktrwlayer_propwin.c:3140
#, c-format
msgid "%s - Track Properties"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2784
+#: ../src/viktrwlayer_propwin.c:2729
msgid "Split at _Marker"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2785
+#: ../src/viktrwlayer_propwin.c:2730
msgid "Split _Segments"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2786
+#: ../src/viktrwlayer_propwin.c:2731
msgid "_Reverse"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2787
+#: ../src/viktrwlayer_propwin.c:2732
msgid "_Delete Dupl."
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2813
+#: ../src/viktrwlayer_propwin.c:2757
msgid "<b>Comment:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2814
+#: ../src/viktrwlayer_propwin.c:2758
msgid "<b>Description:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2815
+#: ../src/viktrwlayer_propwin.c:2759
+msgid "<b>Color:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2760
+msgid "<b>Draw Name:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2761
+msgid "<b>Distance Labels:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2764
msgid "<b>Track Length:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2816
+#: ../src/viktrwlayer_propwin.c:2765
msgid "<b>Trackpoints:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2817
+#: ../src/viktrwlayer_propwin.c:2766
msgid "<b>Segments:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2818
+#: ../src/viktrwlayer_propwin.c:2767
msgid "<b>Duplicate Points:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2819
+#: ../src/viktrwlayer_propwin.c:2768
msgid "<b>Max Speed:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2820
+#: ../src/viktrwlayer_propwin.c:2769
msgid "<b>Avg. Speed:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2821
+#: ../src/viktrwlayer_propwin.c:2770
msgid "<b>Moving Avg. Speed:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2822
+#: ../src/viktrwlayer_propwin.c:2771
msgid "<b>Avg. Dist. Between TPs:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2823
+#: ../src/viktrwlayer_propwin.c:2772
msgid "<b>Elevation Range:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2824
+#: ../src/viktrwlayer_propwin.c:2773
msgid "<b>Total Elevation Gain/Loss:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2825
+#: ../src/viktrwlayer_propwin.c:2774
msgid "<b>Start:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2826
+#: ../src/viktrwlayer_propwin.c:2775
msgid "<b>End:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2827
+#: ../src/viktrwlayer_propwin.c:2776
msgid "<b>Duration:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2828
-msgid "<b>Color:</b>"
+#: ../src/viktrwlayer_propwin.c:2797
+msgid "No"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2798
+msgid "Centre"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2799
+msgid "Start only"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2800
+msgid "End only"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2801
+msgid "Start and End"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2802
+msgid "Centre, Start and End"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2814
+msgid "Maximum number of distance labels to be shown"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2818
+msgid "Properties"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2877 ../src/viktrwlayer_propwin.c:2901
-#: ../src/viktrwlayer_propwin.c:2929 ../src/viktrwlayer_propwin.c:2966
-#: ../src/viktrwlayer_propwin.c:2984 ../src/viktrwlayer_propwin.c:3034
-#: ../src/viktrwlayer_propwin.c:3035 ../src/viktrwlayer_propwin.c:3036
-#: ../src/viktrwlayer_propwin.c:3062 ../src/viktrwlayer_propwin.c:3063
+#: ../src/viktrwlayer_propwin.c:2856 ../src/viktrwlayer_propwin.c:2880
+#: ../src/viktrwlayer_propwin.c:2908 ../src/viktrwlayer_propwin.c:2945
+#: ../src/viktrwlayer_propwin.c:2963 ../src/viktrwlayer_propwin.c:3009
+#: ../src/viktrwlayer_propwin.c:3010 ../src/viktrwlayer_propwin.c:3011
+#: ../src/viktrwlayer_propwin.c:3020 ../src/viktrwlayer_propwin.c:3021
+#: ../src/viktrwlayer_propwin.c:3036 ../src/viktrwlayer_propwin.c:3037
+#: ../src/viktrwlayer_propwin.c:3050 ../src/viktrwlayer_propwin.c:3051
+#: ../src/viktrwlayer_propwin.c:3064 ../src/viktrwlayer_propwin.c:3065
#: ../src/viktrwlayer_propwin.c:3078 ../src/viktrwlayer_propwin.c:3079
#: ../src/viktrwlayer_propwin.c:3092 ../src/viktrwlayer_propwin.c:3093
-#: ../src/viktrwlayer_propwin.c:3106 ../src/viktrwlayer_propwin.c:3107
-#: ../src/viktrwlayer_propwin.c:3120 ../src/viktrwlayer_propwin.c:3121
-#: ../src/viktrwlayer_propwin.c:3134 ../src/viktrwlayer_propwin.c:3135
+#: ../src/viktrwlayer_analysis.c:257
#, c-format
msgid "No Data"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3031
+#: ../src/viktrwlayer_propwin.c:3006
#, c-format
msgid "%d minutes"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3058
+#: ../src/viktrwlayer_propwin.c:3016 ../src/viktrwlayer_analysis.c:515
msgid "Statistics"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3064
+#: ../src/viktrwlayer_propwin.c:3022
msgid "Show D_EM"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3065 ../src/viktrwlayer_propwin.c:3080
-#: ../src/viktrwlayer_propwin.c:3094 ../src/viktrwlayer_propwin.c:3136
+#: ../src/viktrwlayer_propwin.c:3023 ../src/viktrwlayer_propwin.c:3038
+#: ../src/viktrwlayer_propwin.c:3052 ../src/viktrwlayer_propwin.c:3094
msgid "Show _GPS Speed"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3067 ../src/viktrwlayer_propwin.c:3082
-#: ../src/viktrwlayer_propwin.c:3110 ../src/viktrwlayer_propwin.c:3138
+#: ../src/viktrwlayer_propwin.c:3025 ../src/viktrwlayer_propwin.c:3040
+#: ../src/viktrwlayer_propwin.c:3068 ../src/viktrwlayer_propwin.c:3096
msgid "<b>Track Distance:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3068 ../src/viktrwlayer_propwin.c:3125
+#: ../src/viktrwlayer_propwin.c:3026 ../src/viktrwlayer_propwin.c:3083
msgid "<b>Track Height:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3073
+#: ../src/viktrwlayer_propwin.c:3031
msgid "Elevation-distance"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3083
+#: ../src/viktrwlayer_propwin.c:3041
msgid "<b>Track Gradient:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3087
+#: ../src/viktrwlayer_propwin.c:3045
msgid "Gradient-distance"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3096 ../src/viktrwlayer_propwin.c:3111
-#: ../src/viktrwlayer_propwin.c:3124
+#: ../src/viktrwlayer_propwin.c:3054 ../src/viktrwlayer_propwin.c:3069
+#: ../src/viktrwlayer_propwin.c:3082
msgid "<b>Track Time:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3097 ../src/viktrwlayer_propwin.c:3139
+#: ../src/viktrwlayer_propwin.c:3055 ../src/viktrwlayer_propwin.c:3097
msgid "<b>Track Speed:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3101
+#: ../src/viktrwlayer_propwin.c:3059
msgid "Speed-time"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3108 ../src/viktrwlayer_propwin.c:3122
+#: ../src/viktrwlayer_propwin.c:3066 ../src/viktrwlayer_propwin.c:3080
msgid "Show S_peed"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3115
+#: ../src/viktrwlayer_propwin.c:3073
msgid "Distance-time"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3129
+#: ../src/viktrwlayer_propwin.c:3087
msgid "Elevation-time"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3143
+#: ../src/viktrwlayer_propwin.c:3101
msgid "Speed-distance"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:118
+#: ../src/viktrwlayer_tpwin.c:119
msgid "<b>Part of Track:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:119
+#: ../src/viktrwlayer_tpwin.c:120
msgid "<b>Latitude:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:120
+#: ../src/viktrwlayer_tpwin.c:121
msgid "<b>Longitude:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:121
+#: ../src/viktrwlayer_tpwin.c:122
msgid "<b>Altitude:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:122
+#: ../src/viktrwlayer_tpwin.c:123
+msgid "<b>Course:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_tpwin.c:124
msgid "<b>Timestamp:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:123
+#: ../src/viktrwlayer_tpwin.c:125
msgid "<b>Time:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:124
+#: ../src/viktrwlayer_tpwin.c:126
msgid "<b>Distance Difference:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:125
+#: ../src/viktrwlayer_tpwin.c:127
msgid "<b>Time Difference:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:126
+#: ../src/viktrwlayer_tpwin.c:128
msgid "<b>\"Speed\" Between:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:127
+#: ../src/viktrwlayer_tpwin.c:129
+msgid "<b>Speed:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_tpwin.c:130
msgid "<b>VDOP:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:128
+#: ../src/viktrwlayer_tpwin.c:131
msgid "<b>HDOP:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:129
+#: ../src/viktrwlayer_tpwin.c:132
msgid "<b>PDOP:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:130
+#: ../src/viktrwlayer_tpwin.c:133
msgid "<b>SAT/FIX:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:139
+#: ../src/viktrwlayer_tpwin.c:141
msgid "Trackpoint"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:142
+#: ../src/viktrwlayer_tpwin.c:144
msgid "_Insert After"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:144
+#: ../src/viktrwlayer_tpwin.c:146
msgid "Split Here"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:446
+#.
+#. item = gtk_image_menu_item_new_with_mnemonic ( _("_Select") );
+#. gtk_image_menu_item_set_image ( (GtkImageMenuItem*)item, gtk_image_new_from_stock (GTK_STOCK_FIND, GTK_ICON_SIZE_MENU) );
+#. g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(trw_layer_track_select), values );
+#. gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
+#. gtk_widget_show ( item );
+#.
+#. ATM view auto selects, so don't bother with separate select menu entry
+#: ../src/viktrwlayer_tracklist.c:231 ../src/vikwindow.c:3695
+msgid "_View"
+msgstr ""
+
+#. Insert column for the layer name when viewing multi layers
+#: ../src/viktrwlayer_tracklist.c:514
+msgid "Layer"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:526
+msgid "Date"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:529
+msgid "Visible"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:536
+msgid ""
+"Distance\n"
+"(miles)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:539
+msgid ""
+"Distance\n"
+"(km)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:545
+msgid ""
+"Length\n"
+"(minutes)"
+msgstr ""
+
+#. VIK_UNITS_SPEED_KILOMETRES_PER_HOUR:
+#: ../src/viktrwlayer_tracklist.c:549 ../src/vikutils.c:72
+msgid "km/h"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:550 ../src/vikutils.c:62
+msgid "mph"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:551 ../src/vikutils.c:68
+msgid "knots"
+msgstr ""
+
+#. VIK_UNITS_SPEED_METRES_PER_SECOND:
+#: ../src/viktrwlayer_tracklist.c:553 ../src/vikutils.c:65
+msgid "m/s"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:556
+#, c-format
+msgid ""
+"Av. Speed\n"
+"(%s)"
+msgstr ""
+
+#. Apply own formatting of the data
+#: ../src/viktrwlayer_tracklist.c:561
+#, c-format
+msgid ""
+"Max Speed\n"
+"(%s)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:569
+msgid ""
+"Max Height\n"
+"(Feet)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:571
+msgid ""
+"Max Height\n"
+"(Metres)"
+msgstr ""
+
+#: ../src/viktrwlayer_geotag.c:481
#, c-format
msgid "Geotagging %d Images..."
msgstr ""
-#: ../src/viktrwlayer_geotag.c:510
+#: ../src/viktrwlayer_geotag.c:545
msgid "Geotag Images"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:516
+#: ../src/viktrwlayer_geotag.c:551
msgid "Images"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:520
+#: ../src/viktrwlayer_geotag.c:555
msgid "Overwrite Existing Waypoints:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:523
+#: ../src/viktrwlayer_geotag.c:558
msgid "Overwrite Existing GPS Information:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:525
+#: ../src/viktrwlayer_geotag.c:560
msgid "Keep File Modification Timestamp:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:555
+#: ../src/viktrwlayer_geotag.c:592
msgid "Create Waypoints:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:563
+#: ../src/viktrwlayer_geotag.c:600
msgid "Write EXIF:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:575
+#: ../src/viktrwlayer_geotag.c:612
msgid "Interpolate Between Track Segments:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:579
+#: ../src/viktrwlayer_geotag.c:616
msgid "Image Time Offset (Seconds):"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:581
+#: ../src/viktrwlayer_geotag.c:618
msgid ""
"The number of seconds to ADD to the photos time to make it match the GPS "
"data. Calculate this with (GPS - Photo). Can be negative or positive. Useful "
"to adjust times when a camera's timestamp was incorrect."
msgstr ""
-#: ../src/viktrwlayer_geotag.c:584
+#: ../src/viktrwlayer_geotag.c:621
msgid "Image Timezone:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:586
+#: ../src/viktrwlayer_geotag.c:623
msgid ""
"The timezone that was used when the images were created. For example, if a "
"camera is set to AWST or +8:00 hours. Enter +8:00 here so that the correct "
"adjustment to the images' time can be made. GPS data is always in UTC."
msgstr ""
-#: ../src/viktrwlayer_geotag.c:590
+#: ../src/viktrwlayer_geotag.c:627
#, c-format
msgid "Using track: %s"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:592
+#: ../src/viktrwlayer_geotag.c:629
#, c-format
msgid "Using all tracks in: %s"
msgstr ""
-#: ../src/vikstatus.c:105
+#: ../src/viktrwlayer_analysis.c:193
+msgid "Number of Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:194
+msgid "Date Range"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:195
+msgid "Total Length"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:196
+msgid "Average Length"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:197
+msgid "Max Speed"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:198
+msgid "Avg. Speed"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:199
+msgid "Minimum Altitude"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:200
+msgid "Maximum Altitude"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:201
+msgid "Total Elevation Gain/Loss"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:202
+msgid "Avg. Elevation Gain/Loss"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:203
+msgid "Total Duration"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:204
+msgid "Avg. Duration"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:278
+#, c-format
+msgid "%.2f miles"
+msgstr ""
+
+#. VIK_UNITS_DISTANCE_KILOMETRES
+#: ../src/viktrwlayer_analysis.c:282
+#, c-format
+msgid "%.2f km"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:297
+#, c-format
+msgid "%.2f m/s"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:306
+#, c-format
+msgid "%.2f knots\n"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:309
+#, c-format
+msgid "%.2f knots"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:316 ../src/viktrwlayer_analysis.c:319
+#, c-format
+msgid "%.2f km/h"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:330 ../src/viktrwlayer_analysis.c:336
+#, c-format
+msgid "%d feet"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:341 ../src/viktrwlayer_analysis.c:343
+#, c-format
+msgid "%d feet / %d feet"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:348 ../src/viktrwlayer_analysis.c:354
+#, c-format
+msgid "%d m"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:359 ../src/viktrwlayer_analysis.c:361
+#, c-format
+msgid "%d m / %d m"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:373
+#, c-format
+msgid "%d:%02d:%02d days:hrs:mins"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:380
+#, c-format
+msgid "%d:%02d hrs:mins"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:550
+msgid "Include Invisible Items"
+msgstr ""
+
+#: ../src/vikstatus.c:107
+msgid "Current number of background tasks. Click to see the background jobs."
+msgstr ""
+
+#: ../src/vikstatus.c:113
msgid "Current zoom level. Click to select a new one."
msgstr ""
-#: ../src/vikwaypoint.c:34
+#: ../src/vikutils.c:80
+msgid "GPSD"
+msgstr ""
+
+#. GPS Preamble
+#: ../src/vikutils.c:81
+msgid "Trkpt"
+msgstr ""
+
+#: ../src/vikutils.c:121
+#, c-format
+msgid "%sSpeed%s %.1f%s"
+msgstr ""
+
+#: ../src/vikutils.c:130
+#, c-format
+msgid "%sAlt %dfeet"
+msgstr ""
+
+#. VIK_UNITS_HEIGHT_METRES:
+#: ../src/vikutils.c:134
+#, c-format
+msgid "%sAlt %dm"
+msgstr ""
+
+#: ../src/vikutils.c:142
+#, c-format
+msgid "%sCourse %03d°"
+msgstr ""
+
+#: ../src/vikutils.c:155
+msgid "yards"
+msgstr ""
+
+#. VIK_UNITS_DISTANCE_KILOMETRES:
+#: ../src/vikutils.c:159
+msgid "m"
+msgstr ""
+
+#: ../src/vikutils.c:163
+#, c-format
+msgid "%sDistance diff %d%s"
+msgstr ""
+
+#: ../src/vikutils.c:179
+#, c-format
+msgid "%sTime %s"
+msgstr ""
+
+#: ../src/vikutils.c:187
+#, c-format
+msgid "%sTime diff %lds"
+msgstr ""
+
+#: ../src/vikutils.c:193
+#, c-format
+msgid "%sNo. of Sats %d"
+msgstr ""
+
+#: ../src/vikutils.c:213
+#, c-format
+msgid "%sDistance along %.2f%s"
+msgstr ""
+
+#. Name of track
+#: ../src/vikutils.c:232
+#, c-format
+msgid "%sTrack: %s"
+msgstr ""
+
+#: ../src/vikwaypoint.c:36
msgid "Waypoint"
msgstr ""
#. TODO get rid of this as this is unnecessary duplication...
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Pan"
msgstr ""
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Zoom"
msgstr ""
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Ruler"
msgstr ""
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Select"
msgstr ""
+#: ../src/vikwindow.c:381
+msgid "Location lookup aborted"
+msgstr ""
+
+#: ../src/vikwindow.c:401
+#, c-format
+msgid "Location found: %s"
+msgstr ""
+
+#: ../src/vikwindow.c:410
+msgid "Unable to determine location"
+msgstr ""
+
+#: ../src/vikwindow.c:434
+msgid "Default Map"
+msgstr ""
+
+#: ../src/vikwindow.c:444
+msgid "Trying to determine location..."
+msgstr ""
+
+#: ../src/vikwindow.c:447
+msgid "Determining location"
+msgstr ""
+
#. Create tooltip
-#: ../src/vikwindow.c:440
+#: ../src/vikwindow.c:605
msgid "Select zoom level"
msgstr ""
-#: ../src/vikwindow.c:645
+#: ../src/vikwindow.c:923
#, c-format
msgid ""
"Do you want to save the changes you made to the document \"%s\"?\n"
@@ -3178,624 +4020,708 @@ msgid ""
"Your changes will be lost if you don't save them."
msgstr ""
-#: ../src/vikwindow.c:649
+#: ../src/vikwindow.c:927
msgid "Don't Save"
msgstr ""
-#: ../src/vikwindow.c:696
+#: ../src/vikwindow.c:1005
msgid "mpp"
msgstr ""
-#: ../src/vikwindow.c:696
+#: ../src/vikwindow.c:1005
msgid "pixelfact"
msgstr ""
-#: ../src/vikwindow.c:861
+#: ../src/vikwindow.c:1169
#, c-format
msgid "%s %s %dm"
msgstr ""
-#: ../src/vikwindow.c:863
+#: ../src/vikwindow.c:1171
#, c-format
msgid "%s %s %dft"
msgstr ""
-#: ../src/vikwindow.c:866
+#: ../src/vikwindow.c:1174
#, c-format
msgid "%s %s"
msgstr ""
#. NB Ctrl+Shift+R is used for Refresh (deemed more important), so use 'U' instead
-#: ../src/vikwindow.c:1254
+#: ../src/vikwindow.c:1562
msgid "_Ruler"
msgstr ""
-#: ../src/vikwindow.c:1254
+#: ../src/vikwindow.c:1562
msgid "Ruler Tool"
msgstr ""
-#: ../src/vikwindow.c:1502 ../src/vikwindow.c:3138
+#: ../src/vikwindow.c:1810 ../src/vikwindow.c:3697
msgid "_Zoom"
msgstr ""
-#: ../src/vikwindow.c:1502
+#: ../src/vikwindow.c:1810
msgid "Zoom Tool"
msgstr ""
-#: ../src/vikwindow.c:1547 ../src/vikwindow.c:3139
+#: ../src/vikwindow.c:1855 ../src/vikwindow.c:3698
msgid "_Pan"
msgstr ""
-#: ../src/vikwindow.c:1547
+#: ../src/vikwindow.c:1855
msgid "Pan Tool"
msgstr ""
-#: ../src/vikwindow.c:1664
+#: ../src/vikwindow.c:1972
msgid "_Select"
msgstr ""
-#: ../src/vikwindow.c:1664
+#: ../src/vikwindow.c:1972
msgid "Select Tool"
msgstr ""
-#: ../src/vikwindow.c:1809
+#: ../src/vikwindow.c:2123
msgid "You must select a layer to show its properties."
msgstr ""
#. No error to show, so unlikely this will get called
-#: ../src/vikwindow.c:1824
+#: ../src/vikwindow.c:2137
msgid "The help system is not available."
msgstr ""
#. Main error path
-#: ../src/vikwindow.c:1827
+#: ../src/vikwindow.c:2140
#, c-format
msgid ""
"Help is not available because: %s.\n"
"Ensure a Mime Type ghelp handler program is installed (e.g. yelp)."
msgstr ""
-#: ../src/vikwindow.c:1850
+#: ../src/vikwindow.c:2160
msgid "You must select a layer to delete."
msgstr ""
-#: ../src/vikwindow.c:2087
+#: ../src/vikwindow.c:2396
msgid "Untitled"
msgstr ""
-#: ../src/vikwindow.c:2194
+#: ../src/vikwindow.c:2503
#, c-format
msgid "Unable to add '%s' to the list of recently used documents"
msgstr ""
-#: ../src/vikwindow.c:2208
+#: ../src/vikwindow.c:2540
msgid "The file you requested could not be opened."
msgstr ""
-#: ../src/vikwindow.c:2211
+#: ../src/vikwindow.c:2543
msgid ""
"GPSBabel is required to load files of this type or GPSBabel encountered "
"problems."
msgstr ""
-#: ../src/vikwindow.c:2214
+#: ../src/vikwindow.c:2546
#, c-format
msgid "Unable to load malformed GPX file %s"
msgstr ""
-#: ../src/vikwindow.c:2217
+#: ../src/vikwindow.c:2549
#, c-format
msgid "Unsupported file type for %s"
msgstr ""
#. Since we can process .vik files with issues just show a warning in the status bar
#. Not that a user can do much about it... or tells them what this issue is yet...
-#: ../src/vikwindow.c:2223
+#: ../src/vikwindow.c:2555
#, c-format
msgid "WARNING: issues encountered loading %s"
msgstr ""
-#: ../src/vikwindow.c:2278
+#: ../src/vikwindow.c:2613
msgid "Please select a GPS data file to open. "
msgstr ""
-#: ../src/vikwindow.c:2288
+#: ../src/vikwindow.c:2629
msgid "Geocaching"
msgstr ""
-#: ../src/vikwindow.c:2294
+#: ../src/vikwindow.c:2635
msgid "Google Earth"
msgstr ""
-#: ../src/vikwindow.c:2299
+#: ../src/vikwindow.c:2640
msgid "GPX"
msgstr ""
-#: ../src/vikwindow.c:2304 ../src/vikwindow.c:2387
+#: ../src/vikwindow.c:2645 ../src/vikwindow.c:2734
#: ../src/viking.desktop.in.h:1
msgid "Viking"
msgstr ""
-#: ../src/vikwindow.c:2374
+#: ../src/vikwindow.c:2715
msgid "Save as Viking File."
msgstr ""
+#: ../src/vikwindow.c:2841
+msgid "Exporting to file: "
+msgstr ""
+
+#. Confirm what happened.
+#: ../src/vikwindow.c:2858
+#, c-format
+msgid "Exported files: %d"
+msgstr ""
+
+#: ../src/vikwindow.c:2870
+msgid "Nothing to Export!"
+msgstr ""
+
+#: ../src/vikwindow.c:2874
+msgid "Export to directory"
+msgstr ""
+
+#: ../src/vikwindow.c:2896
+msgid "Could not convert all files"
+msgstr ""
+
+#: ../src/vikwindow.c:2932
+#, c-format
+msgid "%d bytes"
+msgstr ""
+
+#: ../src/vikwindow.c:2934
+#, c-format
+msgid "%3.1f kB"
+msgstr ""
+
+#: ../src/vikwindow.c:2936
+#, c-format
+msgid "%3.1f MB"
+msgstr ""
+
+#: ../src/vikwindow.c:2937
+#, c-format
+msgid ""
+"%s\n"
+"\n"
+"%s\n"
+"\n"
+"%s"
+msgstr ""
+
+#: ../src/vikwindow.c:2942
+msgid "File not accessible"
+msgstr ""
+
+#: ../src/vikwindow.c:2945
+msgid "No Viking File"
+msgstr ""
+
+#: ../src/vikwindow.c:3035
+msgid "This layer has no configurable properties."
+msgstr ""
+
#. Try harder...
-#: ../src/vikwindow.c:2619 ../src/vikwindow.c:2625
+#: ../src/vikwindow.c:3169 ../src/vikwindow.c:3175
msgid "Generating image file..."
msgstr ""
-#: ../src/vikwindow.c:2647
+#: ../src/vikwindow.c:3197
msgid ""
"Failed to generate internal image.\n"
"\n"
"Try creating a smaller image."
msgstr ""
-#: ../src/vikwindow.c:2655
+#: ../src/vikwindow.c:3205
msgid "Failed to generate image file."
msgstr ""
#. Success
-#: ../src/vikwindow.c:2660
+#: ../src/vikwindow.c:3210
msgid "Image file generated."
msgstr ""
-#: ../src/vikwindow.c:2764
+#: ../src/vikwindow.c:3314
msgid ""
"Viewable region outside allowable pixel size bounds for image. Clipping "
"width/height values."
msgstr ""
-#: ../src/vikwindow.c:2789
+#: ../src/vikwindow.c:3339
#, c-format
msgid "Total area: %ldm x %ldm (%.3f sq. km)"
msgstr ""
-#: ../src/vikwindow.c:2792
+#: ../src/vikwindow.c:3342
#, c-format
msgid "Total area: %ldm x %ldm (%.3f sq. miles)"
msgstr ""
-#: ../src/vikwindow.c:2813
+#: ../src/vikwindow.c:3363
msgid "Save Image"
msgstr ""
-#: ../src/vikwindow.c:2834
+#: ../src/vikwindow.c:3393
msgid "PNG"
msgstr ""
-#: ../src/vikwindow.c:2857
+#: ../src/vikwindow.c:3416
msgid "You must be in UTM mode to use this feature"
msgstr ""
-#: ../src/vikwindow.c:2862
+#: ../src/vikwindow.c:3421
msgid "Choose a directory to hold images"
msgstr ""
#. todo: default for answers inside VikWindow or static (thruout instance)
-#: ../src/vikwindow.c:2883
+#: ../src/vikwindow.c:3442
msgid "Save to Image File"
msgstr ""
-#: ../src/vikwindow.c:2900
+#: ../src/vikwindow.c:3459
msgid "Width (pixels):"
msgstr ""
-#: ../src/vikwindow.c:2902
+#: ../src/vikwindow.c:3461
msgid "Height (pixels):"
msgstr ""
-#: ../src/vikwindow.c:2905
+#: ../src/vikwindow.c:3464
msgid ""
"WARNING: USING LARGE IMAGES OVER 10000x10000\n"
"MAY CRASH THE PROGRAM!"
msgstr ""
-#: ../src/vikwindow.c:2907
+#: ../src/vikwindow.c:3466
msgid "Zoom (meters per pixel):"
msgstr ""
-#: ../src/vikwindow.c:2921
+#: ../src/vikwindow.c:3482
msgid "Area in current viewable window"
msgstr ""
-#: ../src/vikwindow.c:2931
+#: ../src/vikwindow.c:3492
msgid "Save as PNG"
msgstr ""
-#: ../src/vikwindow.c:2932
+#: ../src/vikwindow.c:3493
msgid "Save as JPEG"
msgstr ""
-#: ../src/vikwindow.c:2954
+#: ../src/vikwindow.c:3515
msgid "East-west image tiles:"
msgstr ""
-#: ../src/vikwindow.c:2956
+#: ../src/vikwindow.c:3517
msgid "North-south image tiles:"
msgstr ""
-#: ../src/vikwindow.c:3097
+#: ../src/vikwindow.c:3656
msgid "Choose a background color"
msgstr ""
-#: ../src/vikwindow.c:3113
+#: ../src/vikwindow.c:3672
msgid "Choose a track highlight color"
msgstr ""
-#: ../src/vikwindow.c:3134
+#: ../src/vikwindow.c:3693
msgid "_File"
msgstr ""
-#: ../src/vikwindow.c:3135
+#: ../src/vikwindow.c:3694
msgid "_Edit"
msgstr ""
-#: ../src/vikwindow.c:3136
-msgid "_View"
-msgstr ""
-
-#: ../src/vikwindow.c:3137
+#: ../src/vikwindow.c:3696
msgid "_Show"
msgstr ""
-#: ../src/vikwindow.c:3140
+#: ../src/vikwindow.c:3699
msgid "_Layers"
msgstr ""
-#: ../src/vikwindow.c:3141
+#: ../src/vikwindow.c:3700
msgid "_Tools"
msgstr ""
-#: ../src/vikwindow.c:3142
+#: ../src/vikwindow.c:3701
msgid "_Webtools"
msgstr ""
-#: ../src/vikwindow.c:3143 ../src/vikwindow.c:3206
+#: ../src/vikwindow.c:3702 ../src/vikwindow.c:3763
msgid "_Help"
msgstr ""
-#: ../src/vikwindow.c:3145
+#: ../src/vikwindow.c:3704
msgid "New file"
msgstr ""
-#: ../src/vikwindow.c:3146
+#: ../src/vikwindow.c:3705
msgid "_Open..."
msgstr ""
-#: ../src/vikwindow.c:3146
+#: ../src/vikwindow.c:3705
msgid "Open a file"
msgstr ""
-#: ../src/vikwindow.c:3147
+#: ../src/vikwindow.c:3706
msgid "Open _Recent File"
msgstr ""
-#: ../src/vikwindow.c:3148
+#: ../src/vikwindow.c:3707
msgid "Append _File..."
msgstr ""
-#: ../src/vikwindow.c:3148
+#: ../src/vikwindow.c:3707
msgid "Append data from a different file"
msgstr ""
-#: ../src/vikwindow.c:3149
+#: ../src/vikwindow.c:3708
+msgid "_Export All"
+msgstr ""
+
+#: ../src/vikwindow.c:3708
+msgid "Export All TrackWaypoint Layers"
+msgstr ""
+
+#: ../src/vikwindow.c:3709
+msgid "_GPX..."
+msgstr ""
+
+#: ../src/vikwindow.c:3709
+msgid "Export as GPX"
+msgstr ""
+
+#: ../src/vikwindow.c:3710
msgid "A_cquire"
msgstr ""
-#: ../src/vikwindow.c:3150
+#: ../src/vikwindow.c:3711
msgid "Transfer data from a GPS device"
msgstr ""
-#: ../src/vikwindow.c:3151
+#: ../src/vikwindow.c:3712
msgid "Import File With GPS_Babel..."
msgstr ""
-#: ../src/vikwindow.c:3151
+#: ../src/vikwindow.c:3712
msgid "Import file via GPSBabel converter"
msgstr ""
-#: ../src/vikwindow.c:3153
-msgid "Google _Directions..."
+#: ../src/vikwindow.c:3713
+msgid "_Directions..."
msgstr ""
-#: ../src/vikwindow.c:3153
-msgid "Get driving directions from Google"
+#: ../src/vikwindow.c:3713
+msgid "Get driving directions"
msgstr ""
-#: ../src/vikwindow.c:3156
+#: ../src/vikwindow.c:3715
msgid "_OSM Traces..."
msgstr ""
-#: ../src/vikwindow.c:3156
+#: ../src/vikwindow.c:3715
msgid "Get traces from OpenStreetMap"
msgstr ""
-#: ../src/vikwindow.c:3157
+#: ../src/vikwindow.c:3716
msgid "_My OSM Traces..."
msgstr ""
-#: ../src/vikwindow.c:3157
+#: ../src/vikwindow.c:3716
msgid "Get Your Own Traces from OpenStreetMap"
msgstr ""
-#: ../src/vikwindow.c:3160
+#: ../src/vikwindow.c:3719
msgid "Geo_caches..."
msgstr ""
-#: ../src/vikwindow.c:3160
+#: ../src/vikwindow.c:3719
msgid "Get Geocaches from geocaching.com"
msgstr ""
-#: ../src/vikwindow.c:3163
+#: ../src/vikwindow.c:3722
msgid "Create waypoints from geotagged images"
msgstr ""
-#: ../src/vikwindow.c:3166
+#: ../src/vikwindow.c:3725
msgid "Create waypoints from Wikipedia items in the current view"
msgstr ""
-#: ../src/vikwindow.c:3168
+#: ../src/vikwindow.c:3727
msgid "_Save"
msgstr ""
-#: ../src/vikwindow.c:3168
+#: ../src/vikwindow.c:3727
msgid "Save the file"
msgstr ""
-#: ../src/vikwindow.c:3169
+#: ../src/vikwindow.c:3728
msgid "Save _As..."
msgstr ""
-#: ../src/vikwindow.c:3169
+#: ../src/vikwindow.c:3728
msgid "Save the file under different name"
msgstr ""
-#: ../src/vikwindow.c:3170
+#: ../src/vikwindow.c:3729
+msgid "Properties..."
+msgstr ""
+
+#: ../src/vikwindow.c:3729
+msgid "File Properties"
+msgstr ""
+
+#: ../src/vikwindow.c:3730
msgid "_Generate Image File..."
msgstr ""
-#: ../src/vikwindow.c:3170
+#: ../src/vikwindow.c:3730
msgid "Save a snapshot of the workspace into a file"
msgstr ""
-#: ../src/vikwindow.c:3171
+#: ../src/vikwindow.c:3731
msgid "Generate _Directory of Images..."
msgstr ""
-#: ../src/vikwindow.c:3171
+#: ../src/vikwindow.c:3731
msgid "FIXME:IMGDIR"
msgstr ""
-#: ../src/vikwindow.c:3174
+#: ../src/vikwindow.c:3732
msgid "_Print..."
msgstr ""
-#: ../src/vikwindow.c:3174
+#: ../src/vikwindow.c:3732
msgid "Print maps"
msgstr ""
-#: ../src/vikwindow.c:3177
+#: ../src/vikwindow.c:3733
msgid "E_xit"
msgstr ""
-#: ../src/vikwindow.c:3177
+#: ../src/vikwindow.c:3733
msgid "Exit the program"
msgstr ""
-#: ../src/vikwindow.c:3178
+#: ../src/vikwindow.c:3734
msgid "Save and Exit"
msgstr ""
-#: ../src/vikwindow.c:3178
+#: ../src/vikwindow.c:3734
msgid "Save and Exit the program"
msgstr ""
-#: ../src/vikwindow.c:3180
+#: ../src/vikwindow.c:3736
msgid "Go to the _Default Location"
msgstr ""
-#: ../src/vikwindow.c:3180
+#: ../src/vikwindow.c:3736
msgid "Go to the default location"
msgstr ""
-#: ../src/vikwindow.c:3181
+#: ../src/vikwindow.c:3737
msgid "Go to _Location..."
msgstr ""
-#: ../src/vikwindow.c:3181
+#: ../src/vikwindow.c:3737
msgid "Go to address/place using text search"
msgstr ""
-#: ../src/vikwindow.c:3182
+#: ../src/vikwindow.c:3738
msgid "_Go to Lat/Lon..."
msgstr ""
-#: ../src/vikwindow.c:3182
+#: ../src/vikwindow.c:3738
msgid "Go to arbitrary lat/lon coordinate"
msgstr ""
-#: ../src/vikwindow.c:3183
+#: ../src/vikwindow.c:3739
msgid "Go to UTM..."
msgstr ""
-#: ../src/vikwindow.c:3183
+#: ../src/vikwindow.c:3739
msgid "Go to arbitrary UTM coordinate"
msgstr ""
-#: ../src/vikwindow.c:3184
+#: ../src/vikwindow.c:3740
msgid "_Refresh"
msgstr ""
-#: ../src/vikwindow.c:3184
+#: ../src/vikwindow.c:3740
msgid "Refresh any maps displayed"
msgstr ""
-#: ../src/vikwindow.c:3185
+#: ../src/vikwindow.c:3741
msgid "Set _Highlight Color..."
msgstr ""
-#: ../src/vikwindow.c:3186
+#: ../src/vikwindow.c:3742
msgid "Set Bac_kground Color..."
msgstr ""
-#: ../src/vikwindow.c:3187
+#: ../src/vikwindow.c:3743
msgid "Zoom _In"
msgstr ""
-#: ../src/vikwindow.c:3188
+#: ../src/vikwindow.c:3744
msgid "Zoom _Out"
msgstr ""
-#: ../src/vikwindow.c:3189
+#: ../src/vikwindow.c:3745
msgid "Zoom _To..."
msgstr ""
-#: ../src/vikwindow.c:3190
+#: ../src/vikwindow.c:3746
msgid "Pan _North"
msgstr ""
-#: ../src/vikwindow.c:3191
+#: ../src/vikwindow.c:3747
msgid "Pan _East"
msgstr ""
-#: ../src/vikwindow.c:3192
+#: ../src/vikwindow.c:3748
msgid "Pan _South"
msgstr ""
-#: ../src/vikwindow.c:3193
+#: ../src/vikwindow.c:3749
msgid "Pan _West"
msgstr ""
-#: ../src/vikwindow.c:3194
+#: ../src/vikwindow.c:3750
msgid "Background _Jobs"
msgstr ""
-#: ../src/vikwindow.c:3196
+#: ../src/vikwindow.c:3752
msgid "Cu_t"
msgstr ""
-#: ../src/vikwindow.c:3197
-msgid "_Copy"
-msgstr ""
-
-#: ../src/vikwindow.c:3198
-msgid "_Paste"
-msgstr ""
-
-#: ../src/vikwindow.c:3199
-msgid "_Delete"
-msgstr ""
-
-#: ../src/vikwindow.c:3200
+#: ../src/vikwindow.c:3756
msgid "Delete All"
msgstr ""
-#: ../src/vikwindow.c:3201
+#: ../src/vikwindow.c:3757
msgid "_Flush Map Cache"
msgstr ""
-#: ../src/vikwindow.c:3202
+#: ../src/vikwindow.c:3758
msgid "_Set the Default Location"
msgstr ""
-#: ../src/vikwindow.c:3202
+#: ../src/vikwindow.c:3758
msgid "Set the Default Location to the current position"
msgstr ""
-#: ../src/vikwindow.c:3203
+#: ../src/vikwindow.c:3759
msgid "_Preferences"
msgstr ""
-#: ../src/vikwindow.c:3204
+#: ../src/vikwindow.c:3760
+msgid "_Layer Defaults"
+msgstr ""
+
+#: ../src/vikwindow.c:3761
msgid "_Properties"
msgstr ""
-#: ../src/vikwindow.c:3207
+#: ../src/vikwindow.c:3764
msgid "_About"
msgstr ""
-#: ../src/vikwindow.c:3213
+#: ../src/vikwindow.c:3768
+msgid "_KML..."
+msgstr ""
+
+#: ../src/vikwindow.c:3768
+msgid "Export as KML"
+msgstr ""
+
+#: ../src/vikwindow.c:3774
msgid "_UTM Mode"
msgstr ""
-#: ../src/vikwindow.c:3214
+#: ../src/vikwindow.c:3775
msgid "_Expedia Mode"
msgstr ""
-#: ../src/vikwindow.c:3215
+#: ../src/vikwindow.c:3776
msgid "_Mercator Mode"
msgstr ""
-#: ../src/vikwindow.c:3216
+#: ../src/vikwindow.c:3777
msgid "Lat_/Lon Mode"
msgstr ""
-#: ../src/vikwindow.c:3220
+#: ../src/vikwindow.c:3781
msgid "Show _Scale"
msgstr ""
-#: ../src/vikwindow.c:3220
+#: ../src/vikwindow.c:3781
msgid "Show Scale"
msgstr ""
-#: ../src/vikwindow.c:3221
+#: ../src/vikwindow.c:3782
msgid "Show _Center Mark"
msgstr ""
-#: ../src/vikwindow.c:3221
+#: ../src/vikwindow.c:3782
msgid "Show Center Mark"
msgstr ""
-#: ../src/vikwindow.c:3222
+#: ../src/vikwindow.c:3783
msgid "Show _Highlight"
msgstr ""
-#: ../src/vikwindow.c:3222
+#: ../src/vikwindow.c:3783
msgid "Show Highlight"
msgstr ""
-#: ../src/vikwindow.c:3223
+#: ../src/vikwindow.c:3784
msgid "_Full Screen"
msgstr ""
-#: ../src/vikwindow.c:3223
+#: ../src/vikwindow.c:3784
msgid "Activate full screen mode"
msgstr ""
-#: ../src/vikwindow.c:3224
+#: ../src/vikwindow.c:3785
msgid "Show Side _Panel"
msgstr ""
-#: ../src/vikwindow.c:3224
+#: ../src/vikwindow.c:3785
msgid "Show Side Panel"
msgstr ""
-#: ../src/vikwindow.c:3225
+#: ../src/vikwindow.c:3786
msgid "Show Status_bar"
msgstr ""
-#: ../src/vikwindow.c:3225
+#: ../src/vikwindow.c:3786
msgid "Show Statusbar"
msgstr ""
-#: ../src/vikwindow.c:3226
+#: ../src/vikwindow.c:3787
msgid "Show _Toolbar"
msgstr ""
-#: ../src/vikwindow.c:3226
+#: ../src/vikwindow.c:3787
msgid "Show Toolbar"
msgstr ""
-#: ../src/vikwindow.c:3227
+#: ../src/vikwindow.c:3788
msgid "Show _Menu"
msgstr ""
-#: ../src/vikwindow.c:3227
+#: ../src/vikwindow.c:3788
msgid "Show Menu"
msgstr ""
+#: ../src/vikwindow.c:3862
+#, c-format
+msgid "New _%s Layer"
+msgstr ""
+
#: ../src/viking.desktop.in.h:2
msgid "GPS Data Manager"
msgstr ""
diff --git a/po/pl.po b/po/pl.po
index f76c2ca..a371cf0 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: viking\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-02-04 23:29+0100\n"
+"POT-Creation-Date: 2013-09-03 21:58+0200\n"
"PO-Revision-Date: 2010-09-07 09:15+0000\n"
"Last-Translator: Guilhem Bonnefille <guilhem.bonnefille@gmail.com>\n"
"Language-Team: Polish <pl@li.org>\n"
@@ -16,59 +16,59 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
"|| n%100>=20) ? 1 : 2;\n"
-"X-Launchpad-Export-Date: 2013-03-23 17:12+0000\n"
-"X-Generator: Launchpad (build 16540)\n"
+"X-Launchpad-Export-Date: 2013-10-12 09:04+0000\n"
+"X-Generator: Launchpad (build 16799)\n"
-#: ../src/acquire.c:103 ../src/vikgpslayer.c:1185
+#: ../src/acquire.c:103 ../src/vikgpslayer.c:1235
msgid "Done."
msgstr "Wykonano."
-#: ../src/acquire.c:114
+#: ../src/acquire.c:112
msgid "No data."
msgstr "Brak danych"
-#: ../src/acquire.c:154 ../src/acquire.c:404
+#: ../src/acquire.c:154 ../src/acquire.c:424
msgid "Error: acquisition failed."
msgstr ""
-#: ../src/acquire.c:341
+#: ../src/acquire.c:352
msgid "Working..."
msgstr "Pracuję..."
#. This shouldn't happen...
-#: ../src/acquire.c:394
+#: ../src/acquire.c:415
msgid ""
"Unable to create command\n"
"Acquire method failed."
msgstr ""
-#: ../src/acquire.c:486
+#: ../src/acquire.c:517
msgid "_Filter"
msgstr ""
-#: ../src/acquire.c:501
+#: ../src/acquire.c:532
#, c-format
msgid "Filter with %s"
msgstr ""
-#: ../src/acquire.c:518
+#: ../src/acquire.c:549
msgid "Filter"
msgstr ""
-#: ../src/background.c:52
+#: ../src/background.c:53
#, c-format
msgid "%d items"
msgstr "%d elementów"
-#: ../src/background.c:248
+#: ../src/background.c:254
msgid "Job"
msgstr "Zadanie"
-#: ../src/background.c:252
+#: ../src/background.c:258
msgid "Progress"
msgstr "Postęp"
-#: ../src/background.c:268
+#: ../src/background.c:274
msgid "Viking Background Jobs"
msgstr ""
@@ -77,7 +77,7 @@ msgid "Bing"
msgstr ""
#. VIK_GTK_WINDOW_FROM_WIDGET(vp)
-#: ../src/bingmapsource.c:445
+#: ../src/bingmapsource.c:499
msgid "Bing attribution Loading"
msgstr ""
@@ -102,35 +102,35 @@ msgid ""
"into."
msgstr ""
-#: ../src/dialog.c:52
+#: ../src/dialog.c:53
msgid "Go to Lat/Lon"
msgstr "Idź do szer/dług"
-#: ../src/dialog.c:64 ../src/dialog.c:251
+#: ../src/dialog.c:65 ../src/dialog.c:244
msgid "Latitude:"
msgstr "Szerokość:"
-#: ../src/dialog.c:70 ../src/dialog.c:256
+#: ../src/dialog.c:71 ../src/dialog.c:249
msgid "Longitude:"
msgstr "Długość:"
-#: ../src/dialog.c:102
+#: ../src/dialog.c:103
msgid "Go to UTM"
msgstr ""
-#: ../src/dialog.c:115
+#: ../src/dialog.c:116
msgid "Northing:"
msgstr ""
-#: ../src/dialog.c:121
+#: ../src/dialog.c:122
msgid "Easting:"
msgstr ""
-#: ../src/dialog.c:128
+#: ../src/dialog.c:129
msgid "Zone:"
msgstr "Strefa:"
-#: ../src/dialog.c:131
+#: ../src/dialog.c:132
msgid "Letter:"
msgstr "Litera:"
@@ -138,105 +138,109 @@ msgstr "Litera:"
msgid "Waypoint Properties"
msgstr "Właściwości punktu orientacyjnego"
-#: ../src/dialog.c:233
+#: ../src/dialog.c:235
msgid "Name:"
msgstr "Nazwa:"
-#: ../src/dialog.c:261
+#: ../src/dialog.c:254
msgid "Altitude:"
msgstr "Wysokość:"
-#: ../src/dialog.c:266
+#: ../src/dialog.c:259
msgid "Comment:"
msgstr "Komentarz:"
-#: ../src/dialog.c:274 ../src/osm-traces.c:437
+#: ../src/dialog.c:267 ../src/osm-traces.c:445
msgid "Description:"
msgstr "Opis:"
-#: ../src/dialog.c:277
+#: ../src/dialog.c:270
msgid "Image:"
msgstr "Obraz:"
-#: ../src/dialog.c:282
+#: ../src/dialog.c:275
msgid "Symbol:"
msgstr "Symbol:"
-#: ../src/dialog.c:291
+#: ../src/dialog.c:284
msgid "(none)"
msgstr "(brak)"
+#: ../src/dialog.c:326
+msgid "Time:"
+msgstr ""
+
#. TODO: other checks (isalpha or whatever )
-#: ../src/dialog.c:356
+#: ../src/dialog.c:363
msgid "Please enter a name for the waypoint."
msgstr "Proszę wprowadzić nazwę punktu orientacyjnego."
-#: ../src/dialog.c:529 ../src/geonamessearch.c:243
+#: ../src/dialog.c:502 ../src/geonamessearch.c:244
#: ../src/datasource_osm_my_traces.c:507
msgid "Nothing was selected"
msgstr "Nic nie zaznaczono"
-#: ../src/dialog.c:537
+#: ../src/dialog.c:510
msgid "Add Route"
msgstr ""
-#: ../src/dialog.c:537
+#: ../src/dialog.c:510
msgid "Add Track"
msgstr "Dodaj ścieżkę"
-#: ../src/dialog.c:545
+#: ../src/dialog.c:518
msgid "Route Name:"
msgstr ""
-#: ../src/dialog.c:545
+#: ../src/dialog.c:518
msgid "Track Name:"
msgstr "Nazwa ścieżki:"
-#: ../src/dialog.c:565
+#: ../src/dialog.c:538
msgid "Please enter a name for the track."
msgstr "Poszę podać nazwę dla ścieżki."
-#: ../src/dialog.c:623
+#: ../src/dialog.c:596
msgid "Zoom Factors..."
msgstr "Współczynniki zbliżenia..."
-#: ../src/dialog.c:637
+#: ../src/dialog.c:610
msgid "Zoom factor (in meters per pixel):"
msgstr ""
-#: ../src/dialog.c:638
+#: ../src/dialog.c:611
msgid "X (easting): "
msgstr ""
-#: ../src/dialog.c:639
+#: ../src/dialog.c:612
msgid "Y (northing): "
msgstr ""
-#: ../src/dialog.c:644
+#: ../src/dialog.c:617
msgid "X and Y zoom factors must be equal"
msgstr ""
-#: ../src/dialog.c:699
+#: ../src/dialog.c:672
msgid "1 min"
msgstr "1 min"
-#: ../src/dialog.c:700
+#: ../src/dialog.c:673
msgid "1 hour"
msgstr "1 godzina"
-#: ../src/dialog.c:701
+#: ../src/dialog.c:674
msgid "1 day"
msgstr "1 dzień"
-#: ../src/dialog.c:702
+#: ../src/dialog.c:675
msgid "Custom (in minutes):"
msgstr ""
-#: ../src/dialog.c:808
+#: ../src/dialog.c:786
msgid "GPS Data and Topo Analyzer, Explorer, and Manager."
msgstr ""
-#: ../src/dialog.c:809
+#: ../src/dialog.c:787
msgid ""
"This program is free software; you can redistribute it and/or modify it "
"under the terms of the GNU General Public License as published by the Free "
@@ -253,28 +257,28 @@ msgid ""
"Place, Suite 330, Boston, MA 02111-1307, USA"
msgstr ""
-#: ../src/dialog.c:837
+#: ../src/dialog.c:852
msgid "Translation is coordinated on http://launchpad.net/viking"
msgstr ""
-#: ../src/dialog.c:845
+#: ../src/dialog.c:861
msgid "Download along track"
msgstr ""
-#: ../src/dialog.c:851
+#: ../src/dialog.c:868
msgid "Map type:"
msgstr "Typ mapy:"
-#: ../src/dialog.c:856
+#: ../src/dialog.c:874
msgid "Zoom level:"
msgstr "Poziom zbliżenia:"
-#: ../src/dialog.c:896
+#: ../src/dialog.c:914
#, c-format
msgid "The map data is licensed: %s."
msgstr ""
-#: ../src/dialog.c:899
+#: ../src/dialog.c:917
#, c-format
msgid ""
"The data provided by '<b>%s</b>' are licensed under the following license: "
@@ -282,7 +286,7 @@ msgid ""
"Please, read the license before continuing."
msgstr ""
-#: ../src/dialog.c:904
+#: ../src/dialog.c:922
msgid "Open license"
msgstr ""
@@ -327,7 +331,8 @@ msgstr "Nie znaleziono wpisów!"
#. NB could allow columns to be shifted around by doing this after each new
#. gtk_tree_view_column_set_reorderable ( column, TRUE );
#. However I don't think is that useful, so I haven't put it in
-#: ../src/geonamessearch.c:177 ../src/datasource_osm_my_traces.c:425
+#: ../src/geonamessearch.c:177 ../src/datasource_osm_my_traces.c:424
+#: ../src/viktrwlayer_tracklist.c:521
msgid "Name"
msgstr ""
@@ -335,82 +340,192 @@ msgstr ""
msgid "Feature"
msgstr ""
-#: ../src/geonamessearch.c:187 ../src/datasource_osm_my_traces.c:440
+#: ../src/geonamessearch.c:187 ../src/datasource_osm_my_traces.c:439
msgid "Lat/Lon"
msgstr ""
-#: ../src/geonamessearch.c:269 ../src/googlesearch.c:100
+#: ../src/geonamessearch.c:270 ../src/googlesearch.c:100 ../src/vikgoto.c:306
msgid "couldn't map temp file"
msgstr ""
-#: ../src/globals.c:44
+#: ../src/globals.c:73
+msgid "Absolute"
+msgstr ""
+
+#: ../src/globals.c:73
+msgid "Relative"
+msgstr ""
+
+#: ../src/globals.c:76
msgid "Degree format:"
msgstr "Format stopni:"
-#: ../src/globals.c:48
+#: ../src/globals.c:77
msgid "Distance units:"
msgstr "Jednostki odległości:"
-#: ../src/globals.c:52
+#: ../src/globals.c:78
msgid "Speed units:"
msgstr "Jednostki prędkości:"
-#: ../src/globals.c:56
+#: ../src/globals.c:79
msgid "Height units:"
msgstr "Jednostki wysokości:"
-#: ../src/globals.c:60
+#: ../src/globals.c:80
msgid "Use large waypoint icons:"
msgstr ""
-#: ../src/globals.c:64
+#: ../src/globals.c:81
msgid "Default latitude:"
msgstr "Domyślna szerokość geograficzna:"
-#: ../src/globals.c:67
+#: ../src/globals.c:82
msgid "Default longitude:"
msgstr "Domyślna długość geograficzna:"
-#: ../src/globals.c:73
+#: ../src/globals.c:88
msgid "Alphabetical"
msgstr ""
-#: ../src/globals.c:73 ../src/datasource_osm_my_traces.c:435
+#: ../src/globals.c:88 ../src/datasource_osm_my_traces.c:434
msgid "Time"
msgstr ""
-#: ../src/globals.c:76
+#: ../src/globals.c:88
+msgid "Creation"
+msgstr ""
+
+#: ../src/globals.c:89
+msgid "Title Case"
+msgstr ""
+
+#: ../src/globals.c:89
+msgid "Lowercase"
+msgstr ""
+
+#: ../src/globals.c:92
msgid "KML File Export Units:"
msgstr ""
-#: ../src/globals.c:77
+#: ../src/globals.c:93
msgid "GPX Track Order:"
msgstr ""
-#: ../src/globals.c:82
+#: ../src/globals.c:94
+msgid "GPX Waypoint Symbols:"
+msgstr ""
+
+#: ../src/globals.c:95
+msgid ""
+"Save GPX Waypoint Symbol names in the specified case. May be useful for "
+"compatibility with various devices"
+msgstr ""
+
+#: ../src/globals.c:100
msgid "Image Viewer:"
msgstr ""
-#: ../src/globals.c:87
+#: ../src/globals.c:105
msgid "External GPX Program 1:"
msgstr ""
-#: ../src/globals.c:88
+#: ../src/globals.c:106
msgid "External GPX Program 2:"
msgstr ""
+#: ../src/globals.c:110
+msgid "Save File Reference Mode:"
+msgstr ""
+
+#: ../src/globals.c:111
+msgid ""
+"When saving a Viking .vik file, this determines how the directory paths of "
+"filenames are written."
+msgstr ""
+
+#: ../src/globals.c:112
+msgid "Show Tooltip during Track Creation:"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Home Location"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Last Location"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Specified File"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Auto Location"
+msgstr ""
+
+#: ../src/globals.c:118
+msgid "Restore Window Setup:"
+msgstr ""
+
+#: ../src/globals.c:119
+msgid "Restore window size and layout"
+msgstr ""
+
+#: ../src/globals.c:120
+msgid "Add a Default Map Layer:"
+msgstr ""
+
+#: ../src/globals.c:121
+msgid ""
+"The default map layer added is defined by the Layer Defaults. Use the menu "
+"Edit->Layer Defaults->Map... to change the map type and other values."
+msgstr ""
+
+#: ../src/globals.c:122
+msgid "Startup Method:"
+msgstr ""
+
+#: ../src/globals.c:123
+msgid "Startup File:"
+msgstr ""
+
+#: ../src/globals.c:124
+msgid ""
+"The default file to load on startup. Only applies when the startup method is "
+"set to 'Specified File'"
+msgstr ""
+
+#: ../src/globals.c:125
+msgid "Check For New Version:"
+msgstr ""
+
+#: ../src/globals.c:126
+msgid "Periodically check to see if a new version of Viking is available"
+msgstr ""
+
#. Defaults for the options are setup here
-#: ../src/globals.c:96
+#: ../src/globals.c:163
msgid "General"
msgstr ""
#. New Tab
-#: ../src/globals.c:121
+#: ../src/globals.c:188
+msgid "Startup"
+msgstr ""
+
+#. New Tab
+#: ../src/globals.c:206
msgid "Export/External"
msgstr ""
+#. 'Advanced' Properties
+#: ../src/globals.c:230
+msgid "Advanced"
+msgstr ""
+
#. Webtools
-#: ../src/google.c:36
+#: ../src/google.c:38
msgid "Google"
msgstr "Google"
@@ -423,24 +538,24 @@ msgid "Imported file"
msgstr ""
#. The file selector
-#: ../src/datasource_file.c:133
+#: ../src/datasource_file.c:127
msgid "File:"
msgstr ""
-#: ../src/datasource_file.c:134
+#: ../src/datasource_file.c:128
msgid "File to import"
msgstr ""
-#: ../src/datasource_file.c:141
+#: ../src/datasource_file.c:135
msgid "All files"
msgstr ""
#. The file format selector
-#: ../src/datasource_file.c:148
+#: ../src/datasource_file.c:142
msgid "File type:"
msgstr ""
-#: ../src/datasource_file.c:193
+#: ../src/datasource_file.c:184
#, c-format
msgid "using babel args '%s' and file '%s'"
msgstr ""
@@ -453,29 +568,29 @@ msgstr ""
msgid "Geocaching.com Caches"
msgstr ""
-#: ../src/datasource_gc.c:84
+#: ../src/datasource_gc.c:85
msgid "geocaching.com username:"
msgstr "Użytkownik geocaching.com:"
-#: ../src/datasource_gc.c:85
+#: ../src/datasource_gc.c:86
msgid "geocaching.com password:"
msgstr "Hasło geocaching.com:"
-#: ../src/datasource_gc.c:126
+#: ../src/datasource_gc.c:127
#, c-format
msgid ""
"Can't find %s or %s in path! Check that you have installed it correctly."
msgstr ""
-#: ../src/datasource_gc.c:188
+#: ../src/datasource_gc.c:189
msgid "Number geocaches:"
msgstr ""
-#: ../src/datasource_gc.c:190
+#: ../src/datasource_gc.c:191
msgid "Centered around:"
msgstr ""
-#: ../src/datasource_gc.c:226
+#: ../src/datasource_gc.c:230
msgid "Broken input - using some defaults"
msgstr ""
@@ -487,46 +602,34 @@ msgstr ""
msgid "Geotagged Images"
msgstr ""
-#: ../src/datasource_geotag.c:102 ../src/vikwindow.c:2314
-#: ../src/vikwindow.c:2382 ../src/vikwindow.c:2824
+#: ../src/datasource_geotag.c:102 ../src/vikwindow.c:2655
+#: ../src/vikwindow.c:2729 ../src/vikwindow.c:3380
msgid "All"
msgstr ""
-#: ../src/datasource_geotag.c:107 ../src/vikwindow.c:2829
+#: ../src/datasource_geotag.c:107 ../src/vikwindow.c:3385
msgid "JPG"
msgstr ""
-#: ../src/datasource_geotag.c:165
+#: ../src/datasource_geotag.c:168
#, c-format
msgid "Unable to create waypoint from %s"
msgstr ""
-#: ../src/datasource_google.c:49 ../src/datasource_google.c:50
-msgid "Google Directions"
-msgstr ""
-
-#: ../src/datasource_google.c:77
-msgid "From:"
-msgstr "Z:"
-
-#: ../src/datasource_google.c:79
-msgid "To:"
-msgstr "Do:"
-
-#: ../src/datasource_gps.c:57
+#: ../src/datasource_gps.c:54
msgid "Acquire from GPS"
msgstr "Pobierz z GPS"
-#: ../src/datasource_gps.c:58
+#: ../src/datasource_gps.c:55
msgid "Acquired from GPS"
msgstr "Pobrano z GPS"
-#: ../src/datasource_gps.c:221
+#: ../src/datasource_gps.c:245
#, c-format
msgid "using cmdline '%s' and file '%s'\n"
msgstr ""
-#: ../src/datasource_gps.c:297 ../src/vikgpslayer.c:884
+#: ../src/datasource_gps.c:327 ../src/vikgpslayer.c:934
#, c-format
msgid "Downloading %d waypoint..."
msgid_plural "Downloading %d waypoints..."
@@ -534,70 +637,73 @@ msgstr[0] "Pobieranie %d punktu pośredniego..."
msgstr[1] "Pobieranie %d punktów pośrednich..."
msgstr[2] "Pobieranie %d punktów pośrednich..."
-#: ../src/datasource_gps.c:298 ../src/vikgpslayer.c:885
+#: ../src/datasource_gps.c:328 ../src/vikgpslayer.c:935
#, c-format
msgid "Downloading %d trackpoint..."
msgid_plural "Downloading %d trackpoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/datasource_gps.c:303 ../src/vikgpslayer.c:890
+#: ../src/datasource_gps.c:333 ../src/vikgpslayer.c:940
#, c-format
msgid "Downloading %d routepoint..."
msgid_plural "Downloading %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/datasource_gps.c:325 ../src/datasource_gps.c:326
-#: ../src/datasource_gps.c:327
+#: ../src/datasource_gps.c:355 ../src/datasource_gps.c:356
+#: ../src/datasource_gps.c:357
#, c-format
msgid "Downloaded %d out of %d %s..."
msgstr "Pobrano %d z %d %s..."
-#: ../src/datasource_gps.c:331 ../src/datasource_gps.c:332
-#: ../src/datasource_gps.c:333
+#: ../src/datasource_gps.c:361 ../src/datasource_gps.c:362
+#: ../src/datasource_gps.c:363
#, c-format
msgid "Downloaded %d %s."
msgstr "Pobrano %d %s."
-#: ../src/datasource_gps.c:347 ../src/vikgpslayer.c:968
+#: ../src/datasource_gps.c:377 ../src/vikgpslayer.c:1018
#, c-format
msgid "GPS Device: %s"
msgstr "Urządzenie GPS: %s"
-#: ../src/datasource_gps.c:370 ../src/vikgpslayer.c:1042
-#: ../src/vikgpslayer.c:1110
+#: ../src/datasource_gps.c:400 ../src/vikgpslayer.c:1092
+#: ../src/vikgpslayer.c:1160
msgid "Status: Working..."
msgstr ""
-#: ../src/datasource_gps.c:469 ../src/vikgpslayer.c:150
+#. NB gps_layer_inst_init() is performed after parameter registeration
+#. thus to give the protocols some potential values use the old static list
+#. TODO: find another way to use gps_layer_inst_init()?
+#: ../src/datasource_gps.c:500 ../src/vikgpslayer.c:207
msgid "GPS Protocol:"
msgstr "Protokół GPS:"
-#. List now assigned at runtime
-#: ../src/datasource_gps.c:488 ../src/vikgpslayer.c:151
+#. List reassigned at runtime
+#: ../src/datasource_gps.c:526 ../src/vikgpslayer.c:208
msgid "Serial Port:"
msgstr "Port szeregowy:"
-#: ../src/datasource_gps.c:509
+#: ../src/datasource_gps.c:576
msgid ""
"Turn Off After Transfer\n"
"(Garmin/NAViLink Only)"
msgstr ""
-#: ../src/datasource_gps.c:512
+#: ../src/datasource_gps.c:583
msgid "Tracks:"
msgstr ""
-#: ../src/datasource_gps.c:516
+#: ../src/datasource_gps.c:590
msgid "Routes:"
msgstr ""
-#: ../src/datasource_gps.c:520
+#: ../src/datasource_gps.c:597
msgid "Waypoints:"
msgstr ""
-#: ../src/datasource_gps.c:594 ../src/vikgpslayer.c:1305
+#: ../src/datasource_gps.c:675 ../src/vikgpslayer.c:1355
msgid "GPS device: N/A"
msgstr "Urządzenie GPS: N/A"
@@ -605,39 +711,39 @@ msgstr "Urządzenie GPS: N/A"
msgid "OSM traces"
msgstr ""
-#: ../src/datasource_osm.c:80
+#: ../src/datasource_osm.c:82
msgid "Page number:"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:63 ../src/datasource_osm_my_traces.c:64
+#: ../src/datasource_osm_my_traces.c:59 ../src/datasource_osm_my_traces.c:60
msgid "OSM My Traces"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:108
+#: ../src/datasource_osm_my_traces.c:104
msgid "Username:"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:113
+#: ../src/datasource_osm_my_traces.c:109
msgid "The email or username used to login to OSM"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:115 ../src/osm-traces.c:413
+#: ../src/datasource_osm_my_traces.c:111 ../src/osm-traces.c:421
msgid "Password:"
msgstr "Hasło:"
-#: ../src/datasource_osm_my_traces.c:120
+#: ../src/datasource_osm_my_traces.c:114
msgid "The password used to login to OSM"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:430
+#: ../src/datasource_osm_my_traces.c:429
msgid "Description"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:445
+#: ../src/datasource_osm_my_traces.c:444
msgid "Privacy"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:452
+#: ../src/datasource_osm_my_traces.c:451
msgid "Within Current View"
msgstr ""
@@ -649,15 +755,33 @@ msgstr ""
msgid "None found!"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:629
+#: ../src/datasource_osm_my_traces.c:634
msgid "My OSM Traces"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:645
+#: ../src/datasource_osm_my_traces.c:649
#, c-format
msgid "Unable to get trace: %s"
msgstr ""
+#: ../src/datasource_routing.c:53 ../src/datasource_routing.c:54
+msgid "Directions"
+msgstr ""
+
+#. Engine selector
+#: ../src/datasource_routing.c:83
+msgid "Engine:"
+msgstr ""
+
+#. From and To entries
+#: ../src/datasource_routing.c:88
+msgid "From:"
+msgstr "Z:"
+
+#: ../src/datasource_routing.c:90
+msgid "To:"
+msgstr "Do:"
+
#: ../src/datasource_wikipedia.c:32
msgid "Create Waypoints from Wikipedia Articles"
msgstr ""
@@ -678,174 +802,185 @@ msgstr "Nieprawidłowy nagłówek DEM"
msgid "Incorrect DEM Class B record: expected 1"
msgstr ""
-#: ../src/dem.c:360
+#: ../src/dem.c:288 ../src/download.c:170
#, c-format
msgid "Couldn't map file %s: %s"
msgstr ""
-#: ../src/download.c:112
-msgid "Tile age (s):"
+#: ../src/download.c:130
+msgid "Tile age (days):"
msgstr ""
-#: ../src/download.c:233
+#: ../src/download.c:321
#, c-format
msgid "Download error: %s"
msgstr "Błąd pobierania: %s"
-#: ../src/download.c:313
+#: ../src/download.c:404
msgid "couldn't open temp file"
msgstr "nie można otworzyć pliku tymczasowego"
-#: ../src/file.c:456 ../src/file.c:461
+#: ../src/file.c:451 ../src/file.c:456
#, c-format
msgid "Draw mode '%s' no more supported"
msgstr ""
-#: ../src/geotag_exif.c:433
+#: ../src/geotag_exif.c:421
msgid "Not enough memory."
msgstr ""
-#: ../src/geotag_exif.c:451
+#: ../src/geotag_exif.c:439
msgid "Setting a value for this tag is unsupported!"
msgstr ""
-#: ../src/geotag_exif.c:470
+#: ../src/geotag_exif.c:458
#, c-format
msgid "Too few components specified (need %d, found %d)\n"
msgstr ""
-#: ../src/geotag_exif.c:474
+#: ../src/geotag_exif.c:462
msgid "Numeric value expected\n"
msgstr ""
-#: ../src/geotag_exif.c:482
+#: ../src/geotag_exif.c:470
msgid "This shouldn't happen!"
msgstr ""
-#: ../src/geotag_exif.c:552
+#: ../src/geotag_exif.c:540
msgid "Not yet implemented!"
msgstr ""
-#: ../src/geotag_exif.c:565
+#: ../src/geotag_exif.c:553
msgid "Warning; Too many components specified!"
msgstr ""
-#: ../src/osm-traces.c:73
+#: ../src/osm-traces.c:76
msgid "Identifiable (public w/ timestamps)"
msgstr ""
-#: ../src/osm-traces.c:74
+#: ../src/osm-traces.c:77
msgid "Trackable (private w/ timestamps)"
msgstr ""
-#: ../src/osm-traces.c:75
+#: ../src/osm-traces.c:78
msgid "Public"
msgstr ""
-#: ../src/osm-traces.c:76
+#: ../src/osm-traces.c:79
msgid "Private"
msgstr ""
-#: ../src/osm-traces.c:93
+#: ../src/osm-traces.c:97
msgid "OSM username:"
msgstr "Nazwa użytkownika OSM:"
-#: ../src/osm-traces.c:94
+#: ../src/osm-traces.c:98
msgid "OSM password:"
msgstr "Hasło OSM:"
#. Preferences
-#: ../src/osm-traces.c:151
+#: ../src/osm-traces.c:155
msgid "OpenStreetMap Traces"
msgstr ""
-#: ../src/osm-traces.c:234
+#: ../src/osm-traces.c:238
#, c-format
msgid "failed to upload data: HTTP response is %ld"
msgstr ""
-#: ../src/osm-traces.c:239
+#: ../src/osm-traces.c:243
#, c-format
msgid "curl_easy_getinfo failed: %d"
msgstr ""
-#: ../src/osm-traces.c:244
+#: ../src/osm-traces.c:248
#, c-format
msgid "curl request failed: %s"
msgstr ""
-#: ../src/osm-traces.c:275
+#: ../src/osm-traces.c:279
#, c-format
msgid "failed to open temporary file: %s"
msgstr "błąd otwarcia pliku tymczasowego: %s"
#. Success
-#: ../src/osm-traces.c:328
+#: ../src/osm-traces.c:340
msgid "Uploaded to OSM"
msgstr ""
-#: ../src/osm-traces.c:332
+#: ../src/osm-traces.c:344
msgid "FAILED TO UPLOAD DATA TO OSM - CURL PROBLEM"
msgstr ""
-#: ../src/osm-traces.c:335
+#: ../src/osm-traces.c:347
msgid "FAILED TO UPLOAD DATA TO OSM"
msgstr ""
-#: ../src/osm-traces.c:335
+#: ../src/osm-traces.c:347
msgid "HTTP response code"
msgstr ""
-#: ../src/osm-traces.c:348
+#: ../src/osm-traces.c:355
#, c-format
msgid "failed to unlink temporary file: %s"
msgstr ""
-#: ../src/osm-traces.c:387
+#: ../src/osm-traces.c:394
msgid "OSM upload"
msgstr ""
-#: ../src/osm-traces.c:405
+#: ../src/osm-traces.c:413
msgid "Email:"
msgstr "Email:"
-#: ../src/osm-traces.c:410
+#: ../src/osm-traces.c:418
msgid ""
"The email used as login\n"
"<small>Enter the email you use to login into www.openstreetmap.org.</small>"
msgstr ""
-#: ../src/osm-traces.c:418
+#: ../src/osm-traces.c:426
msgid ""
"The password used to login\n"
"<small>Enter the password you use to login into "
"www.openstreetmap.org.</small>"
msgstr ""
-#: ../src/osm-traces.c:423
+#: ../src/osm-traces.c:431
msgid "File's name:"
msgstr "Nazwa pliku:"
-#: ../src/osm-traces.c:433
+#: ../src/osm-traces.c:441
msgid ""
"The name of the file on OSM\n"
"<small>This is the name of the file created on the server.This is not the "
"name of the local file.</small>"
msgstr ""
-#: ../src/osm-traces.c:442
+#: ../src/osm-traces.c:450
msgid "The description of the trace"
msgstr "Opis śladu"
-#: ../src/osm-traces.c:444
+#: ../src/osm-traces.c:453
+msgid "Anonymize Times:"
+msgstr ""
+
+#: ../src/osm-traces.c:458
+msgid ""
+"Anonymize times of the trace.\n"
+"<small>You may choose to make the trace identifiable, yet mask the actual "
+"real time values</small>"
+msgstr ""
+
+#: ../src/osm-traces.c:462
msgid "Tags:"
msgstr "Etykiety:"
-#: ../src/osm-traces.c:449
+#: ../src/osm-traces.c:467
msgid "The tags associated to the trace"
msgstr "Etykiety związane ze śladem"
-#: ../src/osm-traces.c:482
+#: ../src/osm-traces.c:529
#, c-format
msgid "Uploading %s to OSM"
msgstr ""
@@ -854,69 +989,88 @@ msgstr ""
msgid "Map cache memory size (MB):"
msgstr ""
-#: ../src/print.c:53
+#: ../src/print.c:51 ../src/viktrwlayer.c:509
msgid "None"
msgstr "Żaden"
-#: ../src/print.c:54
+#: ../src/print.c:52
msgid "Horizontally"
msgstr "Poziomo"
-#: ../src/print.c:55
+#: ../src/print.c:53
msgid "Vertically"
msgstr "Pionowo"
-#: ../src/print.c:56
+#: ../src/print.c:54
msgid "Both"
msgstr "Obydwa"
-#: ../src/print.c:120
+#: ../src/print.c:118
msgid "Image Settings"
msgstr "Ustawienia obrazu"
-#: ../src/print.c:546
+#: ../src/print.c:548
msgid "done"
msgstr "wykonano"
#. Page Size
-#: ../src/print.c:575
+#: ../src/print.c:577
msgid "_Adjust Page Size and Orientation"
msgstr "_Dopasuj rozmiar i orientację strony"
-#: ../src/print.c:591
+#: ../src/print.c:593
msgid "C_enter:"
msgstr ""
#. ignore page margins
-#: ../src/print.c:609
+#: ../src/print.c:611
msgid "Ignore Page _Margins"
msgstr "Ignoruj _marginesy strony"
-#: ../src/print.c:628
+#: ../src/print.c:630
msgid "Image S_ize:"
msgstr "_Rozmiar obrazu:"
-#: ../src/util.c:81
-msgid "Could not launch web browser."
-msgstr "Nie można otworzyć przeglądarki internetowej."
+#: ../src/util.c:65
+#, c-format
+msgid "Could not launch web browser. %s"
+msgstr ""
-#: ../src/util.c:92
-msgid "Could not create new email."
-msgstr "Nie można utworzyć nowej wiadomości."
+#: ../src/util.c:76
+#, c-format
+msgid "Could not create new email. %s"
+msgstr ""
-#: ../src/vikcoordlayer.c:46
+#: ../src/util.c:177
+#, c-format
+msgid ""
+"There is a newer version of Viking available: %s\n"
+"\n"
+"Do you wish to go to Viking's website now?"
+msgstr ""
+
+#: ../src/util.c:304
+msgid ""
+"This appears to be Viking's very first run.\n"
+"\n"
+"Do you wish to enable automatic internet features?\n"
+"\n"
+"Individual settings can be controlled in the Preferences."
+msgstr ""
+
+#: ../src/vikcoordlayer.c:57
msgid "Color:"
msgstr "Kolor:"
-#: ../src/vikcoordlayer.c:47
+#: ../src/vikcoordlayer.c:58
msgid "Minutes Width:"
msgstr ""
-#: ../src/vikcoordlayer.c:48
+#: ../src/vikcoordlayer.c:59
msgid "Line Thickness:"
msgstr "Grubość linii:"
-#: ../src/vikcoordlayer.c:56
+#: ../src/vikcoordlayer.c:66
msgid "Coordinate"
msgstr ""
@@ -952,64 +1106,132 @@ msgstr ""
msgid "Polygonzied Layer"
msgstr ""
-#: ../src/main.c:89
+#: ../src/main.c:92
#, c-format
msgid "Ignoring Xlib error: error code %d request code %d\n"
msgstr ""
-#: ../src/main.c:102
+#: ../src/main.c:105
msgid "Enable debug output"
msgstr ""
-#: ../src/main.c:103
+#: ../src/main.c:106
msgid "Enable verbose output"
msgstr ""
-#: ../src/main.c:104
+#: ../src/main.c:107
msgid "Show version"
msgstr "Pokaż wersję"
-#: ../src/osm.c:106
+#: ../src/osm.c:99
msgid "On Disk OSM Tile Format"
msgstr ""
-#: ../src/osm.c:121
+#: ../src/osm.c:113
msgid "OSM (view)"
msgstr "OSM (podgląd)"
-#: ../src/osm.c:125
+#: ../src/osm.c:117
msgid "OSM (edit)"
msgstr "OSM (edycja)"
-#: ../src/osm.c:129
+#: ../src/osm.c:121
msgid "OSM (render)"
msgstr ""
#. Example: http://127.0.0.1:8111/load_and_zoom?left=8.19&right=8.20&top=48.605&bottom=48.590&select=node413602999
#. JOSM or merkaartor must already be running with remote interface enabled
-#: ../src/osm.c:136
+#: ../src/osm.c:128
msgid "Local port 8111 (eg JOSM)"
msgstr ""
-#: ../src/preferences.c:285
+#: ../src/osm.c:134
+msgid "OpenStreetMap Notes"
+msgstr ""
+
+#: ../src/osm.c:138
+msgid "OpenStreetBugs"
+msgstr ""
+
+#. Not really OSM but can't be bothered to create somewhere else to put it...
+#: ../src/osm.c:164
+msgid "Wikimedia Toolserver GeoHack"
+msgstr ""
+
+#: ../src/preferences.c:191
msgid "Preferences"
msgstr ""
-#: ../src/uibuilder.c:147
+#: ../src/viklayer_defaults.c:232
+#, c-format
+msgid "Could not open file: %s"
+msgstr ""
+
+#: ../src/viklayer_defaults.c:303
+msgid "Layer Defaults"
+msgstr ""
+
+#: ../src/uibuilder.c:185
msgid "Take care that this password will be stored clearly in a plain file."
msgstr ""
"Musisz mieć na uwadze, że to hasło będzie przechowywane w czystej formie w "
"zwykłym pliku"
-#: ../src/vikaggregatelayer.c:37
+#: ../src/vikaggregatelayer.c:42
msgid "Aggregate"
msgstr ""
-#: ../src/vikdemlayer.c:101
+#. VikLayersPanel *vlp = VIK_LAYERS_PANEL(lav[1]);
+#: ../src/vikaggregatelayer.c:484 ../src/viktrwlayer.c:10238
+#, c-format
+msgid "%s: Track and Route List"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:529 ../src/viktrwlayer.c:7354
+#: ../src/viktrwlayer.c:7420 ../src/viktrwlayer.c:7498
+msgid "_Visibility"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:534
+msgid "_Show All"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:540
+msgid "_Hide All"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:546 ../src/viktrwlayer.c:7371
+#: ../src/viktrwlayer.c:7437 ../src/viktrwlayer.c:7515
+msgid "_Toggle"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:553 ../src/viktrwlayer.c:7536
+msgid "_Sort"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:559 ../src/viktrwlayer.c:7542
+msgid "Name _Ascending"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:565 ../src/viktrwlayer.c:7548
+msgid "Name _Descending"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:571 ../src/viktrwlayer.c:7449
+#: ../src/viktrwlayer.c:7527 ../src/viktrwlayer.c:7587
+#: ../src/viktrwlayer_tracklist.c:237
+msgid "_Statistics"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:576 ../src/viktrwlayer.c:3971
+msgid "Track _List..."
+msgstr ""
+
+#: ../src/vikdemlayer.c:92
msgid "Absolute height"
msgstr "Wysokość absolutna"
-#: ../src/vikdemlayer.c:102
+#: ../src/vikdemlayer.c:93
msgid "Height gradient"
msgstr ""
@@ -1049,25 +1271,52 @@ msgstr ""
msgid "DEM"
msgstr ""
-#: ../src/vikdemlayer.c:284
+#: ../src/vikdemlayer.c:287
#, c-format
msgid "Number of files: %d"
msgstr ""
-#: ../src/vikdemlayer.c:385
+#: ../src/vikdemlayer.c:427
msgid "DEM Loading"
msgstr ""
-#: ../src/vikdemlayer.c:889
+#: ../src/vikdemlayer.c:937
#, c-format
msgid "No SRTM data available for %f, %f"
msgstr "Brak danych SRTM dla %f, %f"
-#: ../src/vikdemlayer.c:1149
+#. Probably not over any land...
+#: ../src/vikdemlayer.c:1193
+msgid "No DEM File Available"
+msgstr ""
+
+#: ../src/vikdemlayer.c:1212
+#, c-format
+msgid ""
+"\n"
+"Source: %s\n"
+"\n"
+"DEM File: %s\n"
+"DEM File Timestamp: %s"
+msgstr ""
+
+#: ../src/vikdemlayer.c:1216
+#, c-format
+msgid ""
+"Source: %s\n"
+"\n"
+"No DEM File!"
+msgstr ""
+
+#: ../src/vikdemlayer.c:1256
#, c-format
msgid "Downloading DEM %s"
msgstr "Pobieranie DEM %s"
+#: ../src/vikdemlayer.c:1280
+msgid "_Show DEM File Information"
+msgstr ""
+
#: ../src/vikfileentry.c:68
msgid "Browse..."
msgstr "Przeglądaj..."
@@ -1088,248 +1337,266 @@ msgstr "Dodaj..."
msgid "Delete"
msgstr "Skasuj"
-#: ../src/vikgeoreflayer.c:70
+#: ../src/vikgeoreflayer.c:78
msgid "_Georef Move Map"
msgstr ""
-#: ../src/vikgeoreflayer.c:70
+#: ../src/vikgeoreflayer.c:78
msgid "Georef Move Map"
msgstr ""
-#: ../src/vikgeoreflayer.c:77
+#: ../src/vikgeoreflayer.c:85
msgid "Georef Z_oom Tool"
msgstr ""
-#: ../src/vikgeoreflayer.c:77
+#: ../src/vikgeoreflayer.c:85
msgid "Georef Zoom Tool"
msgstr ""
-#: ../src/vikgeoreflayer.c:87
+#: ../src/vikgeoreflayer.c:95
msgid "GeoRef Map"
msgstr ""
-#: ../src/vikgeoreflayer.c:335 ../src/vikmapslayer.c:685
+#: ../src/vikgeoreflayer.c:377 ../src/vikmapslayer.c:720
#, c-format
msgid "Couldn't open image file: %s"
msgstr "Nie można otworzyć pliku obrazu: %s"
-#: ../src/vikgeoreflayer.c:365
+#: ../src/vikgeoreflayer.c:391
+msgid ""
+"GeoRef map cannot be displayed in the current drawmode.\n"
+"Select \"UTM Mode\" from View menu to view it."
+msgstr ""
+
+#: ../src/vikgeoreflayer.c:415
msgid "Unexpected end of file reading World file."
msgstr "Nieoczekiwany koniec pliku World"
-#: ../src/vikgeoreflayer.c:381 ../src/vikgeoreflayer.c:426
+#: ../src/vikgeoreflayer.c:431 ../src/vikgeoreflayer.c:476
msgid "Choose World file"
msgstr "Wskaż plik World"
-#: ../src/vikgeoreflayer.c:394
+#: ../src/vikgeoreflayer.c:444
msgid "The World file you requested could not be opened for reading."
msgstr "Plik World, który wskazałeś nie może być otwarty do odczytu."
-#: ../src/vikgeoreflayer.c:439
+#: ../src/vikgeoreflayer.c:489
msgid "The file you requested could not be opened for writing."
msgstr "Plik, który wskazałeś nie może być otwarty do zapisu."
-#: ../src/vikgeoreflayer.c:456 ../src/viklayer.c:480
+#: ../src/vikgeoreflayer.c:506 ../src/viklayer.c:518
msgid "Layer Properties"
msgstr "Właściwości warstwy"
-#: ../src/vikgeoreflayer.c:478
+#: ../src/vikgeoreflayer.c:528
msgid "World File Parameters:"
msgstr "Parametry pliku World:"
-#: ../src/vikgeoreflayer.c:479
+#: ../src/vikgeoreflayer.c:529
msgid "Load From File..."
msgstr "Ładuj z pliku..."
-#: ../src/vikgeoreflayer.c:484
+#: ../src/vikgeoreflayer.c:534
msgid "Corner pixel easting:"
msgstr ""
-#: ../src/vikgeoreflayer.c:486
-msgid "the UTM \"easting\" value of the upper-right corner pixel of the map"
+#: ../src/vikgeoreflayer.c:536
+msgid "the UTM \"easting\" value of the upper-left corner pixel of the map"
msgstr ""
-#: ../src/vikgeoreflayer.c:488
+#: ../src/vikgeoreflayer.c:538
msgid "Corner pixel northing:"
msgstr ""
-#: ../src/vikgeoreflayer.c:490
-msgid "the UTM \"northing\" value of the upper-right corner pixel of the map"
+#: ../src/vikgeoreflayer.c:540
+msgid "the UTM \"northing\" value of the upper-left corner pixel of the map"
msgstr ""
-#: ../src/vikgeoreflayer.c:492
+#: ../src/vikgeoreflayer.c:542
msgid "X (easting) scale (mpp): "
msgstr ""
-#: ../src/vikgeoreflayer.c:493
+#: ../src/vikgeoreflayer.c:543
msgid "Y (northing) scale (mpp): "
msgstr ""
-#: ../src/vikgeoreflayer.c:496
+#: ../src/vikgeoreflayer.c:546
msgid "the scale of the map in the X direction (meters per pixel)"
msgstr ""
-#: ../src/vikgeoreflayer.c:498
+#: ../src/vikgeoreflayer.c:548
msgid "the scale of the map in the Y direction (meters per pixel)"
msgstr ""
-#: ../src/vikgeoreflayer.c:500
+#: ../src/vikgeoreflayer.c:550
msgid "Map Image:"
msgstr ""
#. Now with icons
-#: ../src/vikgeoreflayer.c:608
+#: ../src/vikgeoreflayer.c:658
msgid "_Zoom to Fit Map"
msgstr ""
-#: ../src/vikgeoreflayer.c:614
+#: ../src/vikgeoreflayer.c:664
msgid "_Goto Map Center"
msgstr ""
-#: ../src/vikgeoreflayer.c:620
+#: ../src/vikgeoreflayer.c:670
msgid "_Export to World File"
msgstr ""
-#: ../src/vikgoto.c:75
+#: ../src/vikgoto.c:81
msgid "No goto tool available."
msgstr ""
-#: ../src/vikgoto.c:88 ../src/vikgoto.c:107
+#: ../src/vikgoto.c:94 ../src/vikgoto.c:148
msgid "goto"
msgstr ""
-#: ../src/vikgoto.c:90
+#: ../src/vikgoto.c:96
msgid "I don't know that place. Do you want another goto?"
msgstr ""
-#: ../src/vikgoto.c:109
+#: ../src/vikgoto.c:150
msgid "goto provider:"
msgstr ""
-#: ../src/vikgoto.c:124
+#: ../src/vikgoto.c:165
msgid "Enter address or place name:"
msgstr "Wprowadź adres lub nazwę miejsca:"
-#: ../src/vikgpslayer.c:127
+#: ../src/vikgoto.c:363
+msgid "Locality"
+msgstr ""
+
+#: ../src/vikgpslayer.c:128
msgid "Data Mode"
msgstr ""
-#: ../src/vikgpslayer.c:129
+#: ../src/vikgpslayer.c:130
msgid "Realtime Tracking Mode"
msgstr ""
-#: ../src/vikgpslayer.c:137
+#: ../src/vikgpslayer.c:167
msgid "Keep vehicle at center"
msgstr ""
-#: ../src/vikgpslayer.c:138
+#: ../src/vikgpslayer.c:168
msgid "Keep vehicle on screen"
msgstr ""
-#: ../src/vikgpslayer.c:139
+#: ../src/vikgpslayer.c:169
msgid "Disable"
msgstr ""
-#: ../src/vikgpslayer.c:152
+#: ../src/vikgpslayer.c:209
msgid "Download Tracks:"
msgstr ""
-#: ../src/vikgpslayer.c:153
+#: ../src/vikgpslayer.c:210
msgid "Upload Tracks:"
msgstr ""
-#: ../src/vikgpslayer.c:154
+#: ../src/vikgpslayer.c:211
msgid "Download Routes:"
msgstr ""
-#: ../src/vikgpslayer.c:155
+#: ../src/vikgpslayer.c:212
msgid "Upload Routes:"
msgstr ""
-#: ../src/vikgpslayer.c:156
+#: ../src/vikgpslayer.c:213
msgid "Download Waypoints:"
msgstr ""
-#: ../src/vikgpslayer.c:157
+#: ../src/vikgpslayer.c:214
msgid "Upload Waypoints:"
msgstr ""
-#: ../src/vikgpslayer.c:159
+#: ../src/vikgpslayer.c:216
msgid "Recording tracks"
msgstr "Nagrywanie ścieżek"
-#: ../src/vikgpslayer.c:160
+#: ../src/vikgpslayer.c:217
msgid "Jump to current position on start"
msgstr "Skocz do aktualnej pozycji przy starcie"
-#: ../src/vikgpslayer.c:161
+#: ../src/vikgpslayer.c:218
msgid "Moving Map Method:"
msgstr "Metoda przesuwania mapy:"
-#: ../src/vikgpslayer.c:162
+#: ../src/vikgpslayer.c:219
+msgid "Update Statusbar:"
+msgstr ""
+
+#: ../src/vikgpslayer.c:219
+msgid "Display information in the statusbar on GPS updates"
+msgstr ""
+
+#: ../src/vikgpslayer.c:220
msgid "Gpsd Host:"
msgstr ""
-#: ../src/vikgpslayer.c:163
+#: ../src/vikgpslayer.c:221
msgid "Gpsd Port:"
msgstr ""
-#: ../src/vikgpslayer.c:164
+#: ../src/vikgpslayer.c:222
msgid "Gpsd Retry Interval (seconds):"
msgstr ""
-#: ../src/vikgpslayer.c:179
+#: ../src/vikgpslayer.c:243
msgid "GPS"
msgstr ""
-#: ../src/vikgpslayer.c:242 ../src/vikgpslayer.c:1258
+#: ../src/vikgpslayer.c:306 ../src/vikgpslayer.c:1308
msgid "GPS Download"
msgstr ""
-#: ../src/vikgpslayer.c:242 ../src/vikgpslayer.c:1258
-#: ../src/viktrwlayer.c:3094
+#: ../src/vikgpslayer.c:306 ../src/vikgpslayer.c:1308
+#: ../src/viktrwlayer.c:3480
msgid "GPS Upload"
msgstr ""
-#: ../src/vikgpslayer.c:244
+#: ../src/vikgpslayer.c:308
msgid "GPS Realtime Tracking"
msgstr ""
-#: ../src/vikgpslayer.c:451
+#: ../src/vikgpslayer.c:517
msgid "Unknown GPS Protocol"
msgstr "Nieznany protokół GPS"
-#: ../src/vikgpslayer.c:469
+#: ../src/vikgpslayer.c:535
msgid "Unknown serial port device"
msgstr "Nieznany port szeregowy urządzenia"
-#: ../src/vikgpslayer.c:572
+#: ../src/vikgpslayer.c:648
#, c-format
msgid "%s: unknown parameter"
msgstr "%s: nieznany parametr"
#. Now with icons
-#: ../src/vikgpslayer.c:693
+#: ../src/vikgpslayer.c:743
msgid "_Upload to GPS"
msgstr ""
-#: ../src/vikgpslayer.c:699
+#: ../src/vikgpslayer.c:749
msgid "Download from _GPS"
msgstr ""
-#: ../src/vikgpslayer.c:720
+#: ../src/vikgpslayer.c:770
msgid "Empty _Realtime"
msgstr ""
-#: ../src/vikgpslayer.c:727
+#: ../src/vikgpslayer.c:777
msgid "E_mpty Upload"
msgstr ""
-#: ../src/vikgpslayer.c:733
+#: ../src/vikgpslayer.c:783
msgid "_Empty Download"
msgstr ""
-#: ../src/vikgpslayer.c:739
+#: ../src/vikgpslayer.c:789
msgid "Empty _All"
msgstr ""
@@ -1338,33 +1605,33 @@ msgstr ""
#. This happens when copied GPS layer is deleted (not sure why the number_handlers would be 2)
#. I don't think there's any side effects and certainly better than the program just aborting
#.
-#: ../src/vikgpslayer.c:756
+#: ../src/vikgpslayer.c:806
#, c-format
msgid "Unexpected number of disconnected handlers: %d"
msgstr ""
-#: ../src/vikgpslayer.c:898
+#: ../src/vikgpslayer.c:948
#, c-format
msgid "Uploading %d waypoint..."
msgid_plural "Uploading %d waypoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:899
+#: ../src/vikgpslayer.c:949
#, c-format
msgid "Uploading %d trackpoint..."
msgid_plural "Uploading %d trackpoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:900
+#: ../src/vikgpslayer.c:950
#, c-format
msgid "Uploading %d routepoint..."
msgid_plural "Uploading %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:925
+#: ../src/vikgpslayer.c:975
#, c-format
msgid "Downloaded %d out of %d waypoint..."
msgid_plural "Downloaded %d out of %d waypoints..."
@@ -1372,42 +1639,42 @@ msgstr[0] "Pobrano %d z %d punktu orientacyjnego..."
msgstr[1] "Pobrano %d z %d punktów orientacyjnych..."
msgstr[2] "Pobrano %d z %d punktów orientacyjnych..."
-#: ../src/vikgpslayer.c:926
+#: ../src/vikgpslayer.c:976
#, c-format
msgid "Downloaded %d out of %d trackpoint..."
msgid_plural "Downloaded %d out of %d trackpoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:927
+#: ../src/vikgpslayer.c:977
#, c-format
msgid "Downloaded %d out of %d routepoint..."
msgid_plural "Downloaded %d out of %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:932
+#: ../src/vikgpslayer.c:982
#, c-format
msgid "Uploaded %d out of %d waypoint..."
msgid_plural "Uploaded %d out of %d waypoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:933
+#: ../src/vikgpslayer.c:983
#, c-format
msgid "Uploaded %d out of %d trackpoint..."
msgid_plural "Uploaded %d out of %d trackpoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:934
+#: ../src/vikgpslayer.c:984
#, c-format
msgid "Uploaded %d out of %d routepoint..."
msgid_plural "Uploaded %d out of %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:942
+#: ../src/vikgpslayer.c:992
#, c-format
msgid "Downloaded %d waypoint"
msgid_plural "Downloaded %d waypoints"
@@ -1415,159 +1682,157 @@ msgstr[0] "Pobrano %d punkt orientacyjny"
msgstr[1] "Pobrano %d punktów orientacyjnych"
msgstr[2] "Pobrano %d punktów orientacyjnych"
-#: ../src/vikgpslayer.c:943
+#: ../src/vikgpslayer.c:993
#, c-format
msgid "Downloaded %d trackpoint"
msgid_plural "Downloaded %d trackpoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:944
+#: ../src/vikgpslayer.c:994
#, c-format
msgid "Downloaded %d routepoint"
msgid_plural "Downloaded %d routepoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:949
+#: ../src/vikgpslayer.c:999
#, c-format
msgid "Uploaded %d waypoint"
msgid_plural "Uploaded %d waypoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:950
+#: ../src/vikgpslayer.c:1000
#, c-format
msgid "Uploaded %d trackpoint"
msgid_plural "Uploaded %d trackpoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:951
+#: ../src/vikgpslayer.c:1001
#, c-format
msgid "Uploaded %d routepoint"
msgid_plural "Uploaded %d routepoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:1180
+#: ../src/vikgpslayer.c:1230
msgid "Error: couldn't find gpsbabel."
msgstr ""
-#: ../src/vikgpslayer.c:1269
+#: ../src/vikgpslayer.c:1319
msgid "Warning - GPS Upload items may overwrite each other"
msgstr ""
-#: ../src/vikgpslayer.c:1301
+#: ../src/vikgpslayer.c:1351
msgid "Status: detecting gpsbabel"
msgstr ""
-#: ../src/vikgpslayer.c:1332
+#: ../src/vikgpslayer.c:1386
msgid "No GPS items selected for transfer."
msgstr ""
-#: ../src/vikgpslayer.c:1347
+#: ../src/vikgpslayer.c:1401
msgid "Could not turn off device."
msgstr ""
-#: ../src/vikgpslayer.c:1385
+#: ../src/vikgpslayer.c:1439
msgid "Are you sure you want to delete GPS Upload data?"
msgstr ""
-#: ../src/vikgpslayer.c:1398
+#: ../src/vikgpslayer.c:1452
msgid "Are you sure you want to delete GPS Download data?"
msgstr ""
-#: ../src/vikgpslayer.c:1412
+#: ../src/vikgpslayer.c:1466
msgid "Are you sure you want to delete GPS Realtime data?"
msgstr ""
-#: ../src/vikgpslayer.c:1425
+#: ../src/vikgpslayer.c:1479
msgid "Are you sure you want to delete All GPS data?"
msgstr ""
-#: ../src/viklayerspanel.c:55
-msgid "/C_ut"
-msgstr "/Wytnij"
+#: ../src/viklayerspanel.c:53
+msgid "C_ut"
+msgstr ""
-#: ../src/viklayerspanel.c:56
-msgid "/_Copy"
-msgstr "/_Kopiuj"
+#: ../src/viklayerspanel.c:54 ../src/vikwindow.c:3753
+msgid "_Copy"
+msgstr "_Kopiuj"
-#: ../src/viklayerspanel.c:57
-msgid "/_Paste"
-msgstr "/_Wklej"
+#: ../src/viklayerspanel.c:55 ../src/vikwindow.c:3754
+msgid "_Paste"
+msgstr "_Wstaw"
-#: ../src/viklayerspanel.c:58
-msgid "/_Delete"
-msgstr "/_Skasuj"
+#: ../src/viklayerspanel.c:56 ../src/vikwindow.c:3755
+msgid "_Delete"
+msgstr "_Skasuj"
-#: ../src/viklayerspanel.c:59
-msgid "/New Layer"
-msgstr "/Nowa warstwa"
+#: ../src/viklayerspanel.c:133
+msgid "New Layer"
+msgstr ""
-#: ../src/viklayerspanel.c:127
+#: ../src/viklayerspanel.c:178
msgid "Top Layer"
msgstr ""
-#: ../src/viklayerspanel.c:143
+#: ../src/viklayerspanel.c:194
msgid "Add new layer"
msgstr "Dodaj nową wartwę"
-#: ../src/viklayerspanel.c:150
+#: ../src/viklayerspanel.c:201
msgid "Remove selected layer"
msgstr "Usuń wybraną warstwę"
-#: ../src/viklayerspanel.c:157
+#: ../src/viklayerspanel.c:208
msgid "Move selected layer up"
msgstr ""
-#: ../src/viklayerspanel.c:164
+#: ../src/viklayerspanel.c:215
msgid "Move selected layer down"
msgstr ""
-#: ../src/viklayerspanel.c:171
+#: ../src/viklayerspanel.c:222
msgid "Cut selected layer"
msgstr "Wytnij zaznaczoną warstwę"
-#: ../src/viklayerspanel.c:178
+#: ../src/viklayerspanel.c:229
msgid "Copy selected layer"
msgstr "Kopiuj zaznaczoną warstwę"
-#: ../src/viklayerspanel.c:185
-msgid "Paste layer below selected layer"
-msgstr "Wstaw warstwę poniżej zaznaczonej warstwy"
+#: ../src/viklayerspanel.c:236
+msgid ""
+"Paste layer into selected container layer or otherwise above selected layer"
+msgstr ""
-#. TODO: FIXME: if name has a '/' in it it will get all messed up. why not have an itemfactory field with
-#. name, icon, shortcut, etc.?
-#: ../src/viklayerspanel.c:204 ../src/vikwindow.c:3292
-#, c-format
-msgid "New _%s Layer"
+#: ../src/viklayerspanel.c:300
+msgid "New name can not be blank."
msgstr ""
-#: ../src/viklayerspanel.c:511
+#: ../src/viklayerspanel.c:544
msgid "Aggregate Layers have no settable properties."
msgstr ""
-#: ../src/viklayerspanel.c:555
+#: ../src/viklayerspanel.c:588
msgid "You cannot cut the Top Layer."
msgstr "Nie można wyciąć najwyższej warstwy"
-#: ../src/viklayerspanel.c:600
+#: ../src/viklayerspanel.c:633
#, c-format
msgid "Are you sure you want to delete %s?"
msgstr ""
-#: ../src/viklayerspanel.c:617
+#: ../src/viklayerspanel.c:650
msgid "You cannot delete the Top Layer."
msgstr "Nie można usunąćnajwyższej warstwy"
-#: ../src/viklayerspanel.c:701
+#: ../src/viklayerspanel.c:734
msgid "Are you sure you wish to delete all layers?"
msgstr "Czy na pewno skasować wszystkie warstwy?"
#. ******* MAPZOOMS ********
-#: ../src/vikmapslayer.c:91
+#: ../src/vikmapslayer.c:80
msgid "Use Viking Zoom Level"
msgstr ""
@@ -1614,63 +1879,63 @@ msgid ""
"actual zoom level."
msgstr ""
-#: ../src/vikmapslayer.c:146
+#: ../src/vikmapslayer.c:156
msgid "_Maps Download"
msgstr ""
-#: ../src/vikmapslayer.c:146
+#: ../src/vikmapslayer.c:156
msgid "Maps Download"
msgstr ""
-#: ../src/vikmapslayer.c:161
+#: ../src/vikmapslayer.c:171
msgid "Map"
msgstr "Mapa"
-#: ../src/vikmapslayer.c:249
-msgid "Default maplayer directory:"
+#: ../src/vikmapslayer.c:259
+msgid "Default map layer directory:"
msgstr ""
-#: ../src/vikmapslayer.c:249
+#: ../src/vikmapslayer.c:259
msgid "Choose a directory to store cached Map tiles for this layer"
msgstr ""
-#: ../src/vikmapslayer.c:505
+#: ../src/vikmapslayer.c:523
msgid "Unknown map type"
msgstr "Nieznany typ mapy"
-#: ../src/vikmapslayer.c:516
+#: ../src/vikmapslayer.c:534
msgid "Unknown Map Zoom"
msgstr ""
-#: ../src/vikmapslayer.c:589
+#: ../src/vikmapslayer.c:624
#, c-format
msgid ""
"New map cannot be displayed in the current drawmode.\n"
"Select \"%s\" from View menu to view it."
msgstr ""
-#: ../src/vikmapslayer.c:753
+#: ../src/vikmapslayer.c:798
#, c-format
msgid ""
"Cowardly refusing to draw tiles or existence of tiles beyond %d zoom out "
"factor"
msgstr ""
-#: ../src/vikmapslayer.c:1157
+#: ../src/vikmapslayer.c:1210
#, c-format
msgid "Redownloading up to %d %s map..."
msgid_plural "Redownloading up to %d %s maps..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikmapslayer.c:1159
+#: ../src/vikmapslayer.c:1212
#, c-format
msgid "Redownloading %d %s map..."
msgid_plural "Redownloading %d %s maps..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikmapslayer.c:1163 ../src/vikmapslayer.c:1238
+#: ../src/vikmapslayer.c:1216 ../src/vikmapslayer.c:1290
#, c-format
msgid "Downloading %d %s map..."
msgid_plural "Downloading %d %s maps..."
@@ -1678,7 +1943,7 @@ msgstr[0] "Pobieranie %d %s mapy..."
msgstr[1] "Pobieranie %d %s map..."
msgstr[2] "Pobieranie %d %s map..."
-#: ../src/vikmapslayer.c:1311
+#: ../src/vikmapslayer.c:1376
#, c-format
msgid ""
"\n"
@@ -1688,7 +1953,7 @@ msgid ""
"Tile File Timestamp: %s"
msgstr ""
-#: ../src/vikmapslayer.c:1318
+#: ../src/vikmapslayer.c:1380
#, c-format
msgid ""
"Source: %s\n"
@@ -1696,1458 +1961,2035 @@ msgid ""
"No Tile File!"
msgstr ""
-#: ../src/vikmapslayer.c:1356
+#: ../src/vikmapslayer.c:1418
msgid "Redownload _Bad Map(s)"
msgstr ""
-#: ../src/vikmapslayer.c:1360
+#: ../src/vikmapslayer.c:1422
msgid "Redownload _New Map(s)"
msgstr ""
-#: ../src/vikmapslayer.c:1364
+#: ../src/vikmapslayer.c:1426
msgid "Redownload _All Map(s)"
msgstr ""
-#: ../src/vikmapslayer.c:1368
+#: ../src/vikmapslayer.c:1430
msgid "_Show Tile Information"
msgstr ""
-#: ../src/vikmapslayer.c:1449
+#: ../src/vikmapslayer.c:1511
#, c-format
msgid ""
"Wrong drawmode for this map.\n"
"Select \"%s\" from View menu and try again."
msgstr ""
-#: ../src/vikmapslayer.c:1454
+#: ../src/vikmapslayer.c:1516
msgid "Wrong zoom level for this map."
msgstr ""
+#: ../src/vikmapslayer.c:1647
+msgid "Zoom Start:"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1654
+msgid "Zoom End:"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1660
+msgid "Download Maps Method:"
+msgstr ""
+
+#. redownload method - needs to align with REDOWNLOAD* macro values
+#: ../src/vikmapslayer.c:1732
+msgid "Missing"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1732
+msgid "Bad"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1732
+msgid "New"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1732
+msgid "Reload All"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1734
+msgid "Download for Zoom Levels"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1774
+#, c-format
+msgid ""
+"You are not allowed to download more than %d tiles in one go (requested %d)"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1782
+#, c-format
+msgid "Do you really want to download %d tiles?"
+msgstr ""
+
#. Now with icons
-#: ../src/vikmapslayer.c:1485
+#: ../src/vikmapslayer.c:1807
msgid "Download _Missing Onscreen Maps"
msgstr ""
-#: ../src/vikmapslayer.c:1492
+#: ../src/vikmapslayer.c:1814
msgid "Download _New Onscreen Maps"
msgstr ""
-#: ../src/vikmapslayer.c:1499
+#: ../src/vikmapslayer.c:1821
msgid "Reload _All Onscreen Maps"
msgstr ""
-#: ../src/viktreeview.c:263
+#: ../src/vikmapslayer.c:1827
+msgid "Download Maps in _Zoom Levels..."
+msgstr ""
+
+#: ../src/vikrouting.c:54
+msgid "Default engine:"
+msgstr ""
+
+#: ../src/viktreeview.c:316
msgid "Layer Name"
msgstr "Nazwa warstwy"
-#: ../src/viktreeview.c:742
+#: ../src/viktreeview.c:851
#, c-format
msgid "delete data from %s\n"
msgstr "usuń dane z %s\n"
-#: ../src/viktrwlayer.c:377
+#: ../src/viktrwlayer.c:398
msgid "Create _Waypoint"
msgstr ""
-#: ../src/viktrwlayer.c:377
+#: ../src/viktrwlayer.c:398
msgid "Create Waypoint"
msgstr "Utwórz punkt orientacyjny"
-#: ../src/viktrwlayer.c:383
+#: ../src/viktrwlayer.c:404
msgid "Create _Track"
msgstr ""
-#: ../src/viktrwlayer.c:383
+#: ../src/viktrwlayer.c:404
msgid "Create Track"
msgstr "Utwórz ścieżkę"
-#: ../src/viktrwlayer.c:392
+#: ../src/viktrwlayer.c:413
msgid "Create _Route"
msgstr ""
-#: ../src/viktrwlayer.c:392
+#: ../src/viktrwlayer.c:413
msgid "Create Route"
msgstr ""
-#: ../src/viktrwlayer.c:401
+#: ../src/viktrwlayer.c:422
msgid "_Edit Waypoint"
msgstr ""
-#: ../src/viktrwlayer.c:401
+#: ../src/viktrwlayer.c:422
msgid "Edit Waypoint"
msgstr "Edytuj punkt orientacyjny"
-#: ../src/viktrwlayer.c:409
+#: ../src/viktrwlayer.c:432
msgid "Edit Trac_kpoint"
msgstr ""
-#: ../src/viktrwlayer.c:409
+#: ../src/viktrwlayer.c:432
msgid "Edit Trackpoint"
msgstr ""
-#: ../src/viktrwlayer.c:417
+#: ../src/viktrwlayer.c:442
msgid "Show P_icture"
msgstr ""
-#: ../src/viktrwlayer.c:417
+#: ../src/viktrwlayer.c:442
msgid "Show Picture"
msgstr "Pokaż zdjęcie"
-#: ../src/viktrwlayer.c:424
+#: ../src/viktrwlayer.c:448
msgid "Route _Finder"
msgstr ""
-#: ../src/viktrwlayer.c:424
+#: ../src/viktrwlayer.c:448
msgid "Route Finder"
msgstr ""
#. ***** PARAMETERS *****
-#: ../src/viktrwlayer.c:447 ../src/viktrwlayer.c:1942
-#: ../src/viktrwlayer.c:1944
+#: ../src/viktrwlayer.c:468 ../src/viktrwlayer.c:2324
msgid "Waypoints"
msgstr "Punkty orientacyjne"
-#: ../src/viktrwlayer.c:447 ../src/viktrwlayer.c:1933
-#: ../src/viktrwlayer.c:1935
+#: ../src/viktrwlayer.c:468 ../src/viktrwlayer.c:2319
msgid "Tracks"
msgstr "Ścieżki"
-#: ../src/viktrwlayer.c:447
+#: ../src/viktrwlayer.c:468
msgid "Waypoint Images"
msgstr ""
-#: ../src/viktrwlayer.c:450
+#: ../src/viktrwlayer.c:468
+msgid "Tracks Advanced"
+msgstr ""
+
+#: ../src/viktrwlayer.c:471
msgid "Draw by Track"
msgstr "Rysuj wg ścieżki"
-#: ../src/viktrwlayer.c:450
+#: ../src/viktrwlayer.c:471
msgid "Draw by Speed"
msgstr ""
-#: ../src/viktrwlayer.c:450
+#: ../src/viktrwlayer.c:471
msgid "All Tracks Same Color"
msgstr ""
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "Filled Square"
msgstr "Kwadrat wypełniony"
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "Square"
msgstr "Kwadrat"
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "Circle"
msgstr "Okrąg"
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "X"
msgstr "X"
-#: ../src/viktrwlayer.c:477
+#: ../src/viktrwlayer.c:498
msgid "Extra Extra Small"
msgstr ""
-#: ../src/viktrwlayer.c:478
+#: ../src/viktrwlayer.c:499
msgid "Extra Small"
msgstr ""
-#: ../src/viktrwlayer.c:479
+#: ../src/viktrwlayer.c:500
msgid "Small"
msgstr ""
-#: ../src/viktrwlayer.c:480
+#: ../src/viktrwlayer.c:501
msgid "Medium"
msgstr ""
-#: ../src/viktrwlayer.c:481
+#: ../src/viktrwlayer.c:502
msgid "Large"
msgstr ""
-#: ../src/viktrwlayer.c:482
+#: ../src/viktrwlayer.c:503
msgid "Extra Large"
msgstr ""
-#: ../src/viktrwlayer.c:483
+#: ../src/viktrwlayer.c:504
msgid "Extra Extra Large"
msgstr ""
-#: ../src/viktrwlayer.c:491
+#: ../src/viktrwlayer.c:510
+msgid "Name Ascending"
+msgstr ""
+
+#: ../src/viktrwlayer.c:511
+msgid "Name Descending"
+msgstr ""
+
+#: ../src/viktrwlayer.c:552 ../src/viktrwlayer.c:576
+msgid "Draw Labels"
+msgstr "Rysuj etykiety"
+
+#: ../src/viktrwlayer.c:553
+msgid "Note: the individual track controls what labels may be displayed"
+msgstr ""
+
+#: ../src/viktrwlayer.c:554
+msgid "Track Labels Font Size:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:555
msgid "Track Drawing Mode:"
msgstr "Tryb rysowania ścieżki:"
-#: ../src/viktrwlayer.c:492
+#: ../src/viktrwlayer.c:556
msgid "All Tracks Color:"
msgstr ""
-#: ../src/viktrwlayer.c:493
+#: ../src/viktrwlayer.c:557
msgid "The color used when 'All Tracks Same Color' drawing mode is selected"
msgstr ""
-#: ../src/viktrwlayer.c:494
+#: ../src/viktrwlayer.c:558
msgid "Draw Track Lines"
msgstr "Trysuj linie ścieżki"
-#: ../src/viktrwlayer.c:495
+#: ../src/viktrwlayer.c:559
msgid "Track Thickness:"
msgstr "Grubość ścieżki:"
-#: ../src/viktrwlayer.c:496
+#: ../src/viktrwlayer.c:560
msgid "Draw Track Direction"
msgstr ""
-#: ../src/viktrwlayer.c:497
+#: ../src/viktrwlayer.c:561
msgid "Direction Size:"
msgstr ""
-#: ../src/viktrwlayer.c:498
+#: ../src/viktrwlayer.c:562
msgid "Draw Trackpoints"
msgstr ""
-#: ../src/viktrwlayer.c:499
+#: ../src/viktrwlayer.c:563
msgid "Trackpoint Size:"
msgstr ""
-#: ../src/viktrwlayer.c:500
+#: ../src/viktrwlayer.c:564
msgid "Draw Elevation"
msgstr "Rysuj wysokość"
-#: ../src/viktrwlayer.c:501
+#: ../src/viktrwlayer.c:565
msgid "Draw Elevation Height %:"
msgstr ""
-#: ../src/viktrwlayer.c:503
+#: ../src/viktrwlayer.c:566
msgid "Draw Stops"
msgstr "Rysuj postoje"
-#: ../src/viktrwlayer.c:504
+#: ../src/viktrwlayer.c:567
msgid ""
"Whether to draw a marker when trackpoints are at the same position but over "
"the minimum stop length apart in time"
msgstr ""
-#: ../src/viktrwlayer.c:505
+#: ../src/viktrwlayer.c:568
msgid "Min Stop Length (seconds):"
msgstr "Min długość postoju (sekundy):"
-#: ../src/viktrwlayer.c:507
+#: ../src/viktrwlayer.c:570
msgid "Track BG Thickness:"
msgstr ""
-#: ../src/viktrwlayer.c:508
+#: ../src/viktrwlayer.c:571
msgid "Track Background Color"
msgstr ""
-#: ../src/viktrwlayer.c:509
+#: ../src/viktrwlayer.c:572
msgid "Draw by Speed Factor (%):"
msgstr ""
-#: ../src/viktrwlayer.c:510
+#: ../src/viktrwlayer.c:573
msgid ""
"The percentage factor away from the average speed determining the color used"
msgstr ""
-#: ../src/viktrwlayer.c:512
-msgid "Draw Labels"
-msgstr "Rysuj etykiety"
+#: ../src/viktrwlayer.c:574
+msgid "Track Sort Order:"
+msgstr ""
-#: ../src/viktrwlayer.c:513
+#: ../src/viktrwlayer.c:577
msgid "Waypoint Font Size:"
msgstr ""
-#: ../src/viktrwlayer.c:514
+#: ../src/viktrwlayer.c:578
msgid "Waypoint Color:"
msgstr "Kolor punktu orientacyjnego:"
-#: ../src/viktrwlayer.c:515
+#: ../src/viktrwlayer.c:579
msgid "Waypoint Text:"
msgstr "Opis punktu orientacyjnego:"
-#: ../src/viktrwlayer.c:516
+#: ../src/viktrwlayer.c:580
msgid "Background:"
msgstr "Tło:"
-#: ../src/viktrwlayer.c:517
+#: ../src/viktrwlayer.c:581
msgid "Fake BG Color Translucency:"
msgstr ""
-#: ../src/viktrwlayer.c:518
+#: ../src/viktrwlayer.c:582
msgid "Waypoint marker:"
msgstr "Znacznik puktu orientacyjnego:"
-#: ../src/viktrwlayer.c:519
+#: ../src/viktrwlayer.c:583
msgid "Waypoint size:"
msgstr "Rozmiar punktu orientacyjnego:"
-#: ../src/viktrwlayer.c:520
+#: ../src/viktrwlayer.c:584
msgid "Draw Waypoint Symbols:"
msgstr "Rysuj symbole puktów orientacyjnych:"
-#: ../src/viktrwlayer.c:522
+#: ../src/viktrwlayer.c:585
+msgid "Waypoint Sort Order:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:587
msgid "Draw Waypoint Images"
msgstr ""
-#: ../src/viktrwlayer.c:523
+#: ../src/viktrwlayer.c:588
msgid "Image Size (pixels):"
msgstr "Rozmiar obrazu (piksele):"
-#: ../src/viktrwlayer.c:524
+#: ../src/viktrwlayer.c:589
msgid "Image Alpha:"
msgstr ""
-#: ../src/viktrwlayer.c:525
+#: ../src/viktrwlayer.c:590
msgid "Image Memory Cache Size:"
msgstr "Rozmiar pamięci podręcznej obrazu:"
-#: ../src/viktrwlayer.c:610
+#: ../src/viktrwlayer.c:678
msgid "TrackWaypoint"
msgstr ""
-#: ../src/viktrwlayer.c:1951 ../src/viktrwlayer.c:1953
+#: ../src/viktrwlayer.c:1534 ../src/vikutils.c:204
+msgid "miles"
+msgstr ""
+
+#. VIK_UNITS_DISTANCE_KILOMETRES:
+#: ../src/viktrwlayer.c:1538 ../src/vikutils.c:209
+msgid "km"
+msgstr ""
+
+#: ../src/viktrwlayer.c:1648
+msgid "start/end"
+msgstr ""
+
+#: ../src/viktrwlayer.c:1660
+msgid "start"
+msgstr ""
+
+#: ../src/viktrwlayer.c:1669
+msgid "end"
+msgstr ""
+
+#: ../src/viktrwlayer.c:2329
msgid "Routes"
msgstr ""
-#: ../src/viktrwlayer.c:2144
+#: ../src/viktrwlayer.c:2519
#, c-format
msgid " in %d:%02d hrs:mins"
msgstr ""
-#: ../src/viktrwlayer.c:2148
+#: ../src/viktrwlayer.c:2523
#, c-format
msgid ""
"\n"
"%sTotal Length %.1f %s%s"
msgstr ""
-#: ../src/viktrwlayer.c:2154
+#: ../src/viktrwlayer.c:2529
#, c-format
msgid "Tracks: %d - Waypoints: %d - Routes: %d%s"
msgstr ""
-#: ../src/viktrwlayer.c:2174
+#: ../src/viktrwlayer.c:2549
#, c-format
msgid "Tracks: %d"
msgstr ""
-#: ../src/viktrwlayer.c:2184
+#: ../src/viktrwlayer.c:2559
#, c-format
msgid "Routes: %d"
msgstr ""
-#: ../src/viktrwlayer.c:2215
+#: ../src/viktrwlayer.c:2590
#, c-format
msgid "- %d:%02d hrs:mins"
msgstr ""
-#: ../src/viktrwlayer.c:2223
+#: ../src/viktrwlayer.c:2598
#, c-format
msgid "%s%.1f km %s"
msgstr ""
-#: ../src/viktrwlayer.c:2226
+#: ../src/viktrwlayer.c:2601
#, c-format
msgid "%s%.1f miles %s"
msgstr ""
-#: ../src/viktrwlayer.c:2240
+#: ../src/viktrwlayer.c:2615
#, c-format
msgid "Waypoints: %d"
msgstr ""
-#: ../src/viktrwlayer.c:2266
-#, c-format
-msgid "Trkpt: Alt %dft"
-msgstr ""
-
-#. VIK_UNITS_HEIGHT_METRES:
-#: ../src/viktrwlayer.c:2270
-#, c-format
-msgid "Trkpt: Alt %dm"
-msgstr ""
-
-#. Compact date time format
-#: ../src/viktrwlayer.c:2277
-#, c-format
-msgid " | Time %x %X"
-msgstr ""
-
-#: ../src/viktrwlayer.c:2295
-#, c-format
-msgid " | Track: %s"
-msgstr ""
-
-#. Combine parts to make overall message
-#: ../src/viktrwlayer.c:2299
-#, c-format
-msgid "%s%s | %s %s %s"
-msgstr ""
-
-#: ../src/viktrwlayer.c:2314
+#: ../src/viktrwlayer.c:2671
#, c-format
msgid "Wpt: Alt %dft"
msgstr ""
#. VIK_UNITS_HEIGHT_METRES:
-#: ../src/viktrwlayer.c:2318
+#: ../src/viktrwlayer.c:2675
#, c-format
msgid "Wpt: Alt %dm"
msgstr ""
#. Add comment if available
-#: ../src/viktrwlayer.c:2333
+#: ../src/viktrwlayer.c:2690
#, c-format
msgid "%s | %s %s | Comment: %s"
msgstr ""
-#: ../src/viktrwlayer.c:2335
+#: ../src/viktrwlayer.c:2692
#, c-format
msgid "%s | %s %s"
msgstr ""
-#: ../src/viktrwlayer.c:2563 ../src/viktrwlayer.c:2634
+#: ../src/viktrwlayer.c:2939 ../src/viktrwlayer.c:3010
msgid "This layer has no waypoints or trackpoints."
msgstr ""
-#: ../src/viktrwlayer.c:2661 ../src/vikwindow.c:2407 ../src/vikwindow.c:2848
+#: ../src/viktrwlayer.c:3045 ../src/vikwindow.c:2754 ../src/vikwindow.c:3407
#, c-format
msgid "The file \"%s\" exists, do you wish to overwrite it?"
msgstr "Plik %s istnieje, czy nadpisać go?"
-#: ../src/viktrwlayer.c:2671 ../src/vikwindow.c:2429
+#: ../src/viktrwlayer.c:3057 ../src/vikwindow.c:2778
msgid "The filename you requested could not be opened for writing."
msgstr "Nazwa pliku, którą wskazałeś, nie może być otwarta do zapisu."
-#: ../src/viktrwlayer.c:2676 ../src/viktrwlayer.c:2681
-#: ../src/viktrwlayer.c:2691 ../src/viktrwlayer.c:2703
+#: ../src/viktrwlayer.c:3062 ../src/viktrwlayer.c:3067
+#: ../src/viktrwlayer.c:3077 ../src/viktrwlayer.c:3089
msgid "Export Layer"
msgstr "Eksportuj warstwę"
-#: ../src/viktrwlayer.c:2720
+#: ../src/viktrwlayer.c:3108
msgid "Could not create temporary file for export."
msgstr ""
-#: ../src/viktrwlayer.c:2729
+#: ../src/viktrwlayer.c:3117
#, c-format
msgid "Could not launch %s."
msgstr ""
-#: ../src/viktrwlayer.c:2773
+#: ../src/viktrwlayer.c:3161
msgid "Export Track as GPX"
msgstr ""
-#: ../src/viktrwlayer.c:2795
+#: ../src/viktrwlayer.c:3183
msgid "Find"
msgstr ""
-#: ../src/viktrwlayer.c:2805
+#: ../src/viktrwlayer.c:3193
msgid "Waypoint Name:"
msgstr "Nazwa punktu orientacyjnego:"
-#: ../src/viktrwlayer.c:2822
+#: ../src/viktrwlayer.c:3210
msgid "Waypoint not found in this layer."
msgstr "Punkt orientacyjny nie znaleziony w tej warstwie."
-#: ../src/viktrwlayer.c:3090
+#: ../src/viktrwlayer.c:3476
msgid "Can not upload invisible track."
msgstr ""
-#: ../src/viktrwlayer.c:3192 ../src/viktrwlayer.c:7785
+#: ../src/viktrwlayer.c:3581 ../src/viktrwlayer.c:9283
msgid "Track"
msgstr ""
-#: ../src/viktrwlayer.c:3215 ../src/viktrwlayer.c:7817
+#: ../src/viktrwlayer.c:3606 ../src/viktrwlayer.c:9316
msgid "Route"
msgstr ""
-#: ../src/viktrwlayer.c:3296 ../src/viktrwlayer.c:6265
-#: ../src/viktrwlayer.c:6314
+#: ../src/viktrwlayer.c:3691 ../src/viktrwlayer.c:7460
+#: ../src/viktrwlayer.c:7566
msgid "_Finish Route"
msgstr ""
-#: ../src/viktrwlayer.c:3298 ../src/viktrwlayer.c:6223
-#: ../src/viktrwlayer.c:6312
+#: ../src/viktrwlayer.c:3693 ../src/viktrwlayer.c:7383
+#: ../src/viktrwlayer.c:7564
msgid "_Finish Track"
msgstr ""
#. Now with icons
-#: ../src/viktrwlayer.c:3310
+#: ../src/viktrwlayer.c:3705
msgid "_View Layer"
msgstr ""
-#: ../src/viktrwlayer.c:3317
+#: ../src/viktrwlayer.c:3712
msgid "V_iew"
msgstr ""
-#: ../src/viktrwlayer.c:3323
+#: ../src/viktrwlayer.c:3718
msgid "View All _Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:3328
+#: ../src/viktrwlayer.c:3723
msgid "View All _Routes"
msgstr ""
-#: ../src/viktrwlayer.c:3333
+#: ../src/viktrwlayer.c:3728
msgid "View All _Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:3338
+#: ../src/viktrwlayer.c:3733
msgid "_Goto Center of Layer"
msgstr ""
-#: ../src/viktrwlayer.c:3344 ../src/viktrwlayer.c:6199
+#: ../src/viktrwlayer.c:3739 ../src/viktrwlayer.c:7335
msgid "Goto _Waypoint..."
msgstr ""
-#: ../src/viktrwlayer.c:3350
+#: ../src/viktrwlayer.c:3745
msgid "_Export Layer"
msgstr ""
-#: ../src/viktrwlayer.c:3356
+#: ../src/viktrwlayer.c:3751
msgid "Export as GPS_Point..."
msgstr ""
-#: ../src/viktrwlayer.c:3361
+#: ../src/viktrwlayer.c:3756
msgid "Export as GPS_Mapper..."
msgstr ""
-#: ../src/viktrwlayer.c:3366
+#: ../src/viktrwlayer.c:3761
msgid "Export as _GPX..."
msgstr ""
-#: ../src/viktrwlayer.c:3371
+#: ../src/viktrwlayer.c:3766
msgid "Export as _KML..."
msgstr ""
-#: ../src/viktrwlayer.c:3376
+#: ../src/viktrwlayer.c:3771
msgid "Open with External Program_1: "
msgstr ""
-#: ../src/viktrwlayer.c:3383
+#: ../src/viktrwlayer.c:3778
msgid "Open with External Program_2: "
msgstr ""
-#: ../src/viktrwlayer.c:3391 ../src/vikwindow.c:3145
+#: ../src/viktrwlayer.c:3786 ../src/vikwindow.c:3704
msgid "_New"
msgstr "_Nowy"
-#: ../src/viktrwlayer.c:3397
+#: ../src/viktrwlayer.c:3792
msgid "New _Waypoint..."
msgstr ""
-#: ../src/viktrwlayer.c:3403
+#: ../src/viktrwlayer.c:3798
msgid "New _Track"
msgstr ""
-#: ../src/viktrwlayer.c:3411
+#: ../src/viktrwlayer.c:3806
msgid "New _Route"
msgstr ""
-#: ../src/viktrwlayer.c:3420 ../src/viktrwlayer.c:6597
+#: ../src/viktrwlayer.c:3815 ../src/viktrwlayer.c:7938
msgid "Geotag _Images..."
msgstr ""
-#: ../src/viktrwlayer.c:3427
+#: ../src/viktrwlayer.c:3822
msgid "_Acquire"
msgstr ""
-#: ../src/viktrwlayer.c:3433 ../src/vikwindow.c:3150
+#: ../src/viktrwlayer.c:3828 ../src/vikwindow.c:3711
msgid "From _GPS..."
msgstr "Z _GPS..."
-#: ../src/viktrwlayer.c:3439
-msgid "From Google _Directions..."
+#. FIXME: only add menu when at least a routing engine has support for Directions
+#: ../src/viktrwlayer.c:3834
+msgid "From _Directions..."
msgstr ""
-#: ../src/viktrwlayer.c:3446
+#: ../src/viktrwlayer.c:3840
msgid "From _OSM Traces..."
msgstr ""
-#: ../src/viktrwlayer.c:3451
+#: ../src/viktrwlayer.c:3845
msgid "From _My OSM Traces..."
msgstr ""
-#: ../src/viktrwlayer.c:3459 ../src/vikwindow.c:3166
+#: ../src/viktrwlayer.c:3853 ../src/vikwindow.c:3725
msgid "From _Wikipedia Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:3465
+#: ../src/viktrwlayer.c:3859
msgid "Within _Layer Bounds"
msgstr ""
-#: ../src/viktrwlayer.c:3471
+#: ../src/viktrwlayer.c:3865
msgid "Within _Current View"
msgstr ""
-#: ../src/viktrwlayer.c:3479
+#: ../src/viktrwlayer.c:3873
msgid "From Geo_caching..."
msgstr ""
-#: ../src/viktrwlayer.c:3486 ../src/vikwindow.c:3163
+#: ../src/viktrwlayer.c:3880 ../src/vikwindow.c:3722
msgid "From Geotagged _Images..."
msgstr ""
-#: ../src/viktrwlayer.c:3492
+#: ../src/viktrwlayer.c:3886
msgid "From _File..."
msgstr ""
-#: ../src/viktrwlayer.c:3498 ../src/viktrwlayer.c:6542
+#: ../src/viktrwlayer.c:3894 ../src/viktrwlayer.c:7883
msgid "_Upload"
msgstr ""
-#: ../src/viktrwlayer.c:3504
+#: ../src/viktrwlayer.c:3900
msgid "Upload to _GPS..."
msgstr ""
-#: ../src/viktrwlayer.c:3511 ../src/viktrwlayer.c:6570
+#: ../src/viktrwlayer.c:3907 ../src/viktrwlayer.c:7911
msgid "Upload to _OSM..."
msgstr ""
-#: ../src/viktrwlayer.c:3519
+#: ../src/viktrwlayer.c:3915
msgid "De_lete"
msgstr ""
-#: ../src/viktrwlayer.c:3525
+#: ../src/viktrwlayer.c:3921
msgid "Delete All _Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:3531
+#: ../src/viktrwlayer.c:3927
msgid "Delete Tracks _From Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:3537 ../src/viktrwlayer.c:6290
+#: ../src/viktrwlayer.c:3933 ../src/viktrwlayer.c:7485
msgid "Delete _All Routes"
msgstr ""
-#: ../src/viktrwlayer.c:3543 ../src/viktrwlayer.c:6296
+#: ../src/viktrwlayer.c:3939 ../src/viktrwlayer.c:7491
msgid "_Delete Routes From Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:3549
+#: ../src/viktrwlayer.c:3945
msgid "Delete All _Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:3555
+#: ../src/viktrwlayer.c:3951
msgid "Delete Waypoints From _Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:4128
+#: ../src/viktrwlayer.c:4574
#, c-format
msgid "Are you sure you want to delete all tracks in %s?"
msgstr ""
-#: ../src/viktrwlayer.c:4138
+#: ../src/viktrwlayer.c:4584
#, c-format
msgid "Are you sure you want to delete all routes in %s?"
msgstr ""
-#: ../src/viktrwlayer.c:4148
+#: ../src/viktrwlayer.c:4594
#, c-format
msgid "Are you sure you want to delete all waypoints in %s?"
msgstr ""
-#: ../src/viktrwlayer.c:4165
+#: ../src/viktrwlayer.c:4611
#, c-format
-msgid "Are you sure you want to delete the waypoint \"%s\""
+msgid "Are you sure you want to delete the waypoint \"%s\"?"
msgstr ""
-#: ../src/viktrwlayer.c:4178
+#: ../src/viktrwlayer.c:4624
#, c-format
-msgid "Are you sure you want to delete the track \"%s\""
+msgid "Are you sure you want to delete the track \"%s\"?"
msgstr ""
-#: ../src/viktrwlayer.c:4191
+#: ../src/viktrwlayer.c:4637
#, c-format
-msgid "Are you sure you want to delete the route \"%s\""
+msgid "Are you sure you want to delete the route \"%s\"?"
msgstr ""
-#: ../src/viktrwlayer.c:4351 ../src/viktrwlayer.c:4922
+#: ../src/viktrwlayer.c:4849 ../src/viktrwlayer.c:5677
msgid ""
"Converting a track to a route removes extra track data such as segments, "
"timestamps, etc...\n"
"Do you want to continue?"
msgstr ""
-#: ../src/viktrwlayer.c:4711
+#: ../src/viktrwlayer.c:4944
+msgid "No DEM layers available, thus no DEM values can be applied."
+msgstr ""
+
+#: ../src/viktrwlayer.c:4964 ../src/viktrwlayer.c:5005
+#, c-format
+msgid "%ld point adjusted"
+msgid_plural "%ld points adjusted"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/viktrwlayer.c:5049
+#, c-format
+msgid "%ld waypoint changed"
+msgid_plural "%ld waypoints changed"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/viktrwlayer.c:5233
+#, c-format
+msgid ""
+"Refining a track with many points (%d) is unlikely to yield sensible "
+"results. Do you want to Continue?"
+msgstr ""
+
+#. Select engine from dialog
+#: ../src/viktrwlayer.c:5241
+msgid "Refine Route with Routing Engine..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:5249
+msgid "Select routing engine"
+msgstr ""
+
+#: ../src/viktrwlayer.c:5467
msgid "Failed. No other tracks with timestamps in this layer found"
msgstr ""
-#: ../src/viktrwlayer.c:4713
+#: ../src/viktrwlayer.c:5469
msgid "Failed. No other tracks without timestamps in this layer found"
msgstr ""
-#: ../src/viktrwlayer.c:4732
+#: ../src/viktrwlayer.c:5488
msgid "Merge with..."
msgstr "Łącz z..."
-#: ../src/viktrwlayer.c:4733
+#: ../src/viktrwlayer.c:5489
msgid "Select route to merge with"
msgstr ""
-#: ../src/viktrwlayer.c:4733
+#: ../src/viktrwlayer.c:5489
msgid "Select track to merge with"
msgstr "Wybież sieżkę, z którą połączyć"
-#: ../src/viktrwlayer.c:4818 ../src/viktrwlayer.c:4895
+#: ../src/viktrwlayer.c:5573 ../src/viktrwlayer.c:5650
msgid "Append Route"
msgstr ""
-#: ../src/viktrwlayer.c:4818 ../src/viktrwlayer.c:4895
+#: ../src/viktrwlayer.c:5573 ../src/viktrwlayer.c:5650
msgid "Append Track"
msgstr ""
-#: ../src/viktrwlayer.c:4819
+#: ../src/viktrwlayer.c:5574
msgid "Select the route to append after the current route"
msgstr ""
-#: ../src/viktrwlayer.c:4820
+#: ../src/viktrwlayer.c:5575
msgid "Select the track to append after the current track"
msgstr ""
-#: ../src/viktrwlayer.c:4896
+#: ../src/viktrwlayer.c:5651
msgid "Select the track to append after the current route"
msgstr ""
-#: ../src/viktrwlayer.c:4897
+#: ../src/viktrwlayer.c:5652
msgid "Select the route to append after the current track"
msgstr ""
-#: ../src/viktrwlayer.c:4957
+#: ../src/viktrwlayer.c:5711
#, c-format
msgid "%d segment merged"
msgid_plural "%d segments merged"
msgstr[0] ""
msgstr[1] ""
-#: ../src/viktrwlayer.c:4973
+#: ../src/viktrwlayer.c:5727
msgid "Failed. This track does not have timestamp"
msgstr "Błąd. Ta ścieżka nie ma znacznika czasowego."
-#: ../src/viktrwlayer.c:4985
+#: ../src/viktrwlayer.c:5739
msgid "Failed. No other track in this layer has timestamp"
msgstr ""
-#: ../src/viktrwlayer.c:4992
+#: ../src/viktrwlayer.c:5746
msgid "Merge Threshold..."
msgstr ""
-#: ../src/viktrwlayer.c:4993
+#: ../src/viktrwlayer.c:5747
msgid "Merge when time between tracks less than:"
msgstr ""
-#: ../src/viktrwlayer.c:5128
+#: ../src/viktrwlayer.c:5889
msgid "Split Threshold..."
msgstr ""
-#: ../src/viktrwlayer.c:5129
+#: ../src/viktrwlayer.c:5890
msgid "Split when time between trackpoints exceeds:"
msgstr ""
-#: ../src/viktrwlayer.c:5205
+#: ../src/viktrwlayer.c:5907
+#, c-format
+msgid ""
+"Can not split track due to trackpoints not ordered in time - such as at %s.\n"
+"\n"
+"Goto this trackpoint?"
+msgstr ""
+
+#: ../src/viktrwlayer.c:5976
msgid "Split Every Nth Point"
msgstr ""
-#: ../src/viktrwlayer.c:5206
+#: ../src/viktrwlayer.c:5977
msgid "Split on every Nth point:"
msgstr ""
-#: ../src/viktrwlayer.c:5312
+#: ../src/viktrwlayer.c:6087
msgid "Can not split track as it has no segments"
msgstr ""
-#: ../src/viktrwlayer.c:5340 ../src/viktrwlayer.c:5370
+#: ../src/viktrwlayer.c:6169 ../src/viktrwlayer.c:6199
#, c-format
msgid "Deleted %ld point"
msgid_plural "Deleted %ld points"
msgstr[0] ""
msgstr[1] ""
-#: ../src/viktrwlayer.c:5531
+#: ../src/viktrwlayer.c:6392
msgid "Internal Error in vik_trw_layer_uniquify_tracks"
msgstr ""
-#: ../src/viktrwlayer.c:5588 ../src/viktrwlayer.c:5635
-#: ../src/viktrwlayer.c:5814
+#: ../src/viktrwlayer.c:6496 ../src/viktrwlayer.c:6543
+#: ../src/viktrwlayer.c:6704
msgid ""
"Multiple entries with the same name exist. This method only works with "
"unique names. Force unique names now?"
msgstr ""
-#: ../src/viktrwlayer.c:5599
+#: ../src/viktrwlayer.c:6507
msgid "No tracks found"
msgstr ""
-#: ../src/viktrwlayer.c:5607 ../src/viktrwlayer.c:5654
-#: ../src/viktrwlayer.c:5834
+#: ../src/viktrwlayer.c:6515 ../src/viktrwlayer.c:6562
+#: ../src/viktrwlayer.c:6724
msgid "Delete Selection"
msgstr ""
-#: ../src/viktrwlayer.c:5608
+#: ../src/viktrwlayer.c:6516
msgid "Select tracks to delete"
msgstr ""
-#: ../src/viktrwlayer.c:5646
+#: ../src/viktrwlayer.c:6554
msgid "No routes found"
msgstr ""
-#: ../src/viktrwlayer.c:5655
+#: ../src/viktrwlayer.c:6563
msgid "Select routes to delete"
msgstr ""
-#: ../src/viktrwlayer.c:5761
+#: ../src/viktrwlayer.c:6669
msgid "Internal Error in vik_trw_layer_uniquify_waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:5824
+#: ../src/viktrwlayer.c:6714
msgid "No waypoints found"
msgstr ""
-#: ../src/viktrwlayer.c:5835
+#: ../src/viktrwlayer.c:6725
msgid "Select waypoints to delete"
msgstr ""
-#: ../src/viktrwlayer.c:5896
+#: ../src/viktrwlayer.c:7033
#, c-format
msgid ""
"A waypoint with the name \"%s\" already exists. Really rename to the same "
"name?"
msgstr ""
-#: ../src/viktrwlayer.c:5926
+#: ../src/viktrwlayer.c:7063
#, c-format
msgid ""
"A track with the name \"%s\" already exists. Really rename to the same name?"
msgstr ""
-#: ../src/viktrwlayer.c:5963
+#: ../src/viktrwlayer.c:7100
#, c-format
msgid ""
"A route with the name \"%s\" already exists. Really rename to the same name?"
msgstr ""
-#: ../src/viktrwlayer.c:6085 ../src/viktrwlayer.c:6337
+#: ../src/viktrwlayer.c:7221 ../src/viktrwlayer.c:7594
msgid "_Goto"
msgstr ""
-#: ../src/viktrwlayer.c:6104
+#: ../src/viktrwlayer.c:7240
msgid "_Visit Geocache Webpage"
msgstr ""
-#: ../src/viktrwlayer.c:6123
+#: ../src/viktrwlayer.c:7259
msgid "_Show Picture..."
msgstr ""
-#: ../src/viktrwlayer.c:6131
+#: ../src/viktrwlayer.c:7267
msgid "Update Geotag on _Image"
msgstr ""
-#: ../src/viktrwlayer.c:6137
+#: ../src/viktrwlayer.c:7273
msgid "_Update"
msgstr ""
-#: ../src/viktrwlayer.c:6142
+#: ../src/viktrwlayer.c:7278
msgid "Update and _Keep File Timestamp"
msgstr ""
-#: ../src/viktrwlayer.c:6153
+#: ../src/viktrwlayer.c:7289
msgid "Visit _Webpage"
msgstr ""
-#: ../src/viktrwlayer.c:6184
+#: ../src/viktrwlayer.c:7320
msgid "_New Waypoint..."
msgstr ""
-#: ../src/viktrwlayer.c:6193
+#: ../src/viktrwlayer.c:7329
msgid "_View All Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:6205
+#: ../src/viktrwlayer.c:7341
msgid "Delete _All Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:6211
+#: ../src/viktrwlayer.c:7347
msgid "_Delete Waypoints From Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:6233
+#: ../src/viktrwlayer.c:7359
+msgid "_Show All Waypoints"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7365
+msgid "_Hide All Waypoints"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7393
msgid "_View All Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:6239
+#: ../src/viktrwlayer.c:7399
msgid "_New Track"
msgstr ""
-#: ../src/viktrwlayer.c:6247
+#: ../src/viktrwlayer.c:7407
msgid "Delete _All Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:6253
+#: ../src/viktrwlayer.c:7413
msgid "_Delete Tracks From Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:6276
+#: ../src/viktrwlayer.c:7425
+msgid "_Show All Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7431
+msgid "_Hide All Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7442
+msgid "_List Tracks..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7471
msgid "_View All Routes"
msgstr ""
-#: ../src/viktrwlayer.c:6282
+#: ../src/viktrwlayer.c:7477
msgid "_New Route"
msgstr ""
-#: ../src/viktrwlayer.c:6327
+#: ../src/viktrwlayer.c:7503
+msgid "_Show All Routes"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7509
+msgid "_Hide All Routes"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7520
+msgid "_List Routes..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7579
msgid "_View Track"
msgstr ""
-#: ../src/viktrwlayer.c:6329
+#: ../src/viktrwlayer.c:7581
msgid "_View Route"
msgstr ""
-#: ../src/viktrwlayer.c:6343
+#: ../src/viktrwlayer.c:7600
msgid "_Startpoint"
msgstr ""
-#: ../src/viktrwlayer.c:6349
+#: ../src/viktrwlayer.c:7606
msgid "\"_Center\""
msgstr ""
-#: ../src/viktrwlayer.c:6355
+#: ../src/viktrwlayer.c:7612
msgid "_Endpoint"
msgstr ""
-#: ../src/viktrwlayer.c:6361
+#: ../src/viktrwlayer.c:7618
msgid "_Highest Altitude"
msgstr ""
-#: ../src/viktrwlayer.c:6367
+#: ../src/viktrwlayer.c:7624
msgid "_Lowest Altitude"
msgstr ""
-#: ../src/viktrwlayer.c:6375
+#: ../src/viktrwlayer.c:7632
msgid "_Maximum Speed"
msgstr ""
-#: ../src/viktrwlayer.c:6384
+#: ../src/viktrwlayer.c:7641
msgid "Co_mbine"
msgstr ""
-#: ../src/viktrwlayer.c:6392
+#: ../src/viktrwlayer.c:7649
msgid "_Merge By Time..."
msgstr ""
-#: ../src/viktrwlayer.c:6397
+#: ../src/viktrwlayer.c:7654
msgid "Merge _Segments"
msgstr ""
-#: ../src/viktrwlayer.c:6403
+#: ../src/viktrwlayer.c:7660
msgid "Merge _With Other Tracks..."
msgstr ""
-#: ../src/viktrwlayer.c:6409
+#: ../src/viktrwlayer.c:7666
msgid "_Append Track..."
msgstr ""
-#: ../src/viktrwlayer.c:6411
+#: ../src/viktrwlayer.c:7668
msgid "_Append Route..."
msgstr ""
-#: ../src/viktrwlayer.c:6417
+#: ../src/viktrwlayer.c:7674
msgid "Append _Route..."
msgstr ""
-#: ../src/viktrwlayer.c:6419
+#: ../src/viktrwlayer.c:7676
msgid "Append _Track..."
msgstr ""
-#: ../src/viktrwlayer.c:6426
+#: ../src/viktrwlayer.c:7683
msgid "_Split"
msgstr ""
-#: ../src/viktrwlayer.c:6434
+#: ../src/viktrwlayer.c:7691
msgid "_Split By Time..."
msgstr ""
#. ATM always enable this entry - don't want to have to analyse the track before displaying the menu - to keep the menu speedy
-#: ../src/viktrwlayer.c:6440
+#: ../src/viktrwlayer.c:7697
msgid "Split Se_gments"
msgstr ""
-#: ../src/viktrwlayer.c:6446
+#: ../src/viktrwlayer.c:7703
msgid "Split By _Number of Points..."
msgstr ""
-#: ../src/viktrwlayer.c:6451
+#: ../src/viktrwlayer.c:7708
msgid "Split at _Trackpoint"
msgstr ""
-#: ../src/viktrwlayer.c:6460
+#: ../src/viktrwlayer.c:7716
+msgid "_Insert Points"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7722
+msgid "Insert Point _Before Selected Point"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7729
+msgid "Insert Point _After Selected Point"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7738
msgid "Delete Poi_nts"
msgstr ""
-#: ../src/viktrwlayer.c:6466
+#: ../src/viktrwlayer.c:7744
+msgid "Delete _Selected Point"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7752
msgid "Delete Points With The Same _Position"
msgstr ""
-#: ../src/viktrwlayer.c:6471
+#: ../src/viktrwlayer.c:7757
msgid "Delete Points With The Same _Time"
msgstr ""
-#: ../src/viktrwlayer.c:6477
-msgid "_Reverse Track"
+#: ../src/viktrwlayer.c:7764 ../src/viktrwlayer.c:7964
+msgid "_Transform"
msgstr ""
-#: ../src/viktrwlayer.c:6479
-msgid "_Reverse Route"
+#: ../src/viktrwlayer.c:7772 ../src/viktrwlayer.c:7972
+msgid "_Apply DEM Data"
msgstr ""
-#: ../src/viktrwlayer.c:6488
-msgid "Down_load Maps Along Track..."
+#: ../src/viktrwlayer.c:7777 ../src/viktrwlayer.c:7977
+msgid "_Overwrite"
msgstr ""
-#: ../src/viktrwlayer.c:6490
-msgid "Down_load Maps Along Route..."
+#: ../src/viktrwlayer.c:7780 ../src/viktrwlayer.c:7980
+msgid "Overwrite any existing elevation values with DEM values"
msgstr ""
-#: ../src/viktrwlayer.c:6497
-msgid "_Apply DEM Data"
+#: ../src/viktrwlayer.c:7783 ../src/viktrwlayer.c:7983
+msgid "_Keep Existing"
msgstr ""
-#: ../src/viktrwlayer.c:6504
-msgid "_Export Track as GPX..."
+#: ../src/viktrwlayer.c:7786 ../src/viktrwlayer.c:7986
+msgid "Keep existing elevation values, only attempt for missing values"
msgstr ""
-#: ../src/viktrwlayer.c:6506
-msgid "_Export Route as GPX..."
+#: ../src/viktrwlayer.c:7791
+msgid "_Smooth Missing Elevation Data"
msgstr ""
-#: ../src/viktrwlayer.c:6513
-msgid "E_xtend Track End"
+#: ../src/viktrwlayer.c:7796
+msgid "_Interpolated"
msgstr ""
-#: ../src/viktrwlayer.c:6515
-msgid "E_xtend Route End"
+#: ../src/viktrwlayer.c:7799
+msgid ""
+"Interpolate between known elevation values to derive values for the missing "
+"elevations"
msgstr ""
-#: ../src/viktrwlayer.c:6522
+#: ../src/viktrwlayer.c:7802
+msgid "_Flat"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7805
+msgid "Set unknown elevation values to the last known value"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7809
msgid "C_onvert to a Route"
msgstr ""
-#: ../src/viktrwlayer.c:6524
+#: ../src/viktrwlayer.c:7811
msgid "C_onvert to a Track"
msgstr ""
-#: ../src/viktrwlayer.c:6532
+#: ../src/viktrwlayer.c:7819
+msgid "_Anonymize Times"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7822
+msgid "Shift timestamps to a relative offset from 1901-01-01"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7827
+msgid "_Reverse Track"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7829
+msgid "_Reverse Route"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7836
+msgid "Refine Route..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7846
+msgid "Down_load Maps Along Track..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7848
+msgid "Down_load Maps Along Route..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7856
+msgid "_Export Track as GPX..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7858
+msgid "_Export Route as GPX..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7865
+msgid "E_xtend Track End"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7867
+msgid "E_xtend Route End"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7874
msgid "Extend _Using Route Finder"
msgstr ""
-#: ../src/viktrwlayer.c:6548
+#: ../src/viktrwlayer.c:7889
msgid "_Upload to GPS..."
msgstr ""
-#: ../src/viktrwlayer.c:6559
+#: ../src/viktrwlayer.c:7900
msgid "_View Google Directions"
msgstr ""
-#: ../src/viktrwlayer.c:6579
+#: ../src/viktrwlayer.c:7920
msgid "Use with _Filter"
msgstr ""
-#: ../src/viktrwlayer.c:6612
+#: ../src/viktrwlayer.c:7953
msgid "_Edit Trackpoint"
msgstr ""
-#: ../src/viktrwlayer.c:7524
+#: ../src/viktrwlayer.c:9017
#, c-format
msgid " - Gain %dm:Loss %dm"
msgstr ""
-#: ../src/viktrwlayer.c:7526
+#: ../src/viktrwlayer.c:9019
#, c-format
msgid " - Gain %dft:Loss %dft"
msgstr ""
-#: ../src/viktrwlayer.c:7531
+#: ../src/viktrwlayer.c:9024
#, c-format
msgid " - Bearing %3.1f° - Step %s"
msgstr ""
-#: ../src/viktrwlayer.c:8124
+#: ../src/viktrwlayer.c:9628
#, c-format
msgid "Could not launch %s to open file."
msgstr ""
-#: ../src/viktrwlayer.c:8205
+#: ../src/viktrwlayer.c:9709
#, c-format
msgid "Creating %d Image Thumbnails..."
msgstr ""
-#: ../src/viktrwlayer.c:8524
+#: ../src/viktrwlayer.c:10106
msgid "No map layer in use. Create one first"
msgstr "Brak warstw w użyciu. Utwórz najpierw jedną"
-#: ../src/viktrwlayer_propwin.c:898 ../src/viktrwlayer_propwin.c:1155
+#: ../src/viktrwlayer.c:10225
+#, c-format
+msgid "%s: Track List"
+msgstr ""
+
+#: ../src/viktrwlayer.c:10227
+#, c-format
+msgid "%s: Route List"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:828 ../src/viktrwlayer_propwin.c:1085
#, c-format
msgid "%.1f kph"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:901 ../src/viktrwlayer_propwin.c:1158
+#: ../src/viktrwlayer_propwin.c:831 ../src/viktrwlayer_propwin.c:1088
+#: ../src/viktrwlayer_analysis.c:290
#, c-format
msgid "%.1f mph"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:904 ../src/viktrwlayer_propwin.c:1161
+#: ../src/viktrwlayer_propwin.c:834 ../src/viktrwlayer_propwin.c:1091
#, c-format
msgid "%.1f knots"
msgstr ""
#. VIK_UNITS_SPEED_METRES_PER_SECOND:
-#: ../src/viktrwlayer_propwin.c:908 ../src/viktrwlayer_propwin.c:1165
+#: ../src/viktrwlayer_propwin.c:838 ../src/viktrwlayer_propwin.c:1095
#, c-format
msgid "%.1f m/s"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:1745
+#: ../src/viktrwlayer_propwin.c:1662 ../src/viktrwlayer_analysis.c:267
#, c-format
msgid "%.1f miles"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:1747
+#. VIK_UNITS_DISTANCE_KILOMETRES
+#: ../src/viktrwlayer_propwin.c:1664 ../src/viktrwlayer_analysis.c:271
#, c-format
msgid "%.1f km"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2681
+#: ../src/viktrwlayer_propwin.c:2582
msgid "Failed spliting track. Track unchanged"
msgstr "Błąd podziału ścieżki. Ścieżka nie zmieniona"
-#: ../src/viktrwlayer_propwin.c:2779 ../src/viktrwlayer_propwin.c:3178
+#: ../src/viktrwlayer_propwin.c:2724 ../src/viktrwlayer_propwin.c:3140
#, c-format
msgid "%s - Track Properties"
msgstr "%s - Właściwości ścieżki"
-#: ../src/viktrwlayer_propwin.c:2784
+#: ../src/viktrwlayer_propwin.c:2729
msgid "Split at _Marker"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2785
+#: ../src/viktrwlayer_propwin.c:2730
msgid "Split _Segments"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2786
+#: ../src/viktrwlayer_propwin.c:2731
msgid "_Reverse"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2787
+#: ../src/viktrwlayer_propwin.c:2732
msgid "_Delete Dupl."
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2813
+#: ../src/viktrwlayer_propwin.c:2757
msgid "<b>Comment:</b>"
msgstr "<b>Komentarz:</b>"
-#: ../src/viktrwlayer_propwin.c:2814
+#: ../src/viktrwlayer_propwin.c:2758
msgid "<b>Description:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2815
+#: ../src/viktrwlayer_propwin.c:2759
+msgid "<b>Color:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2760
+msgid "<b>Draw Name:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2761
+msgid "<b>Distance Labels:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2764
msgid "<b>Track Length:</b>"
msgstr "<b>Długość ścieżki:</b>"
-#: ../src/viktrwlayer_propwin.c:2816
+#: ../src/viktrwlayer_propwin.c:2765
msgid "<b>Trackpoints:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2817
+#: ../src/viktrwlayer_propwin.c:2766
msgid "<b>Segments:</b>"
msgstr "<b>Segmenty:</b>"
-#: ../src/viktrwlayer_propwin.c:2818
+#: ../src/viktrwlayer_propwin.c:2767
msgid "<b>Duplicate Points:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2819
+#: ../src/viktrwlayer_propwin.c:2768
msgid "<b>Max Speed:</b>"
msgstr "<b>Maksymalna prędkość:</b>"
-#: ../src/viktrwlayer_propwin.c:2820
+#: ../src/viktrwlayer_propwin.c:2769
msgid "<b>Avg. Speed:</b>"
msgstr "<b>Średnia prędkość:</b>"
-#: ../src/viktrwlayer_propwin.c:2821
+#: ../src/viktrwlayer_propwin.c:2770
msgid "<b>Moving Avg. Speed:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2822
+#: ../src/viktrwlayer_propwin.c:2771
msgid "<b>Avg. Dist. Between TPs:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2823
+#: ../src/viktrwlayer_propwin.c:2772
msgid "<b>Elevation Range:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2824
+#: ../src/viktrwlayer_propwin.c:2773
msgid "<b>Total Elevation Gain/Loss:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2825
+#: ../src/viktrwlayer_propwin.c:2774
msgid "<b>Start:</b>"
msgstr "<b>Start:</b>"
-#: ../src/viktrwlayer_propwin.c:2826
+#: ../src/viktrwlayer_propwin.c:2775
msgid "<b>End:</b>"
msgstr "<b>Koniec:</b>"
-#: ../src/viktrwlayer_propwin.c:2827
+#: ../src/viktrwlayer_propwin.c:2776
msgid "<b>Duration:</b>"
msgstr "<b>Czas trwania:</b>"
-#: ../src/viktrwlayer_propwin.c:2828
-msgid "<b>Color:</b>"
+#: ../src/viktrwlayer_propwin.c:2797
+msgid "No"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2798
+msgid "Centre"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2799
+msgid "Start only"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2800
+msgid "End only"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2801
+msgid "Start and End"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2802
+msgid "Centre, Start and End"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2814
+msgid "Maximum number of distance labels to be shown"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2818
+msgid "Properties"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2877 ../src/viktrwlayer_propwin.c:2901
-#: ../src/viktrwlayer_propwin.c:2929 ../src/viktrwlayer_propwin.c:2966
-#: ../src/viktrwlayer_propwin.c:2984 ../src/viktrwlayer_propwin.c:3034
-#: ../src/viktrwlayer_propwin.c:3035 ../src/viktrwlayer_propwin.c:3036
-#: ../src/viktrwlayer_propwin.c:3062 ../src/viktrwlayer_propwin.c:3063
+#: ../src/viktrwlayer_propwin.c:2856 ../src/viktrwlayer_propwin.c:2880
+#: ../src/viktrwlayer_propwin.c:2908 ../src/viktrwlayer_propwin.c:2945
+#: ../src/viktrwlayer_propwin.c:2963 ../src/viktrwlayer_propwin.c:3009
+#: ../src/viktrwlayer_propwin.c:3010 ../src/viktrwlayer_propwin.c:3011
+#: ../src/viktrwlayer_propwin.c:3020 ../src/viktrwlayer_propwin.c:3021
+#: ../src/viktrwlayer_propwin.c:3036 ../src/viktrwlayer_propwin.c:3037
+#: ../src/viktrwlayer_propwin.c:3050 ../src/viktrwlayer_propwin.c:3051
+#: ../src/viktrwlayer_propwin.c:3064 ../src/viktrwlayer_propwin.c:3065
#: ../src/viktrwlayer_propwin.c:3078 ../src/viktrwlayer_propwin.c:3079
#: ../src/viktrwlayer_propwin.c:3092 ../src/viktrwlayer_propwin.c:3093
-#: ../src/viktrwlayer_propwin.c:3106 ../src/viktrwlayer_propwin.c:3107
-#: ../src/viktrwlayer_propwin.c:3120 ../src/viktrwlayer_propwin.c:3121
-#: ../src/viktrwlayer_propwin.c:3134 ../src/viktrwlayer_propwin.c:3135
+#: ../src/viktrwlayer_analysis.c:257
#, c-format
msgid "No Data"
msgstr "Brak danych"
-#: ../src/viktrwlayer_propwin.c:3031
+#: ../src/viktrwlayer_propwin.c:3006
#, c-format
msgid "%d minutes"
msgstr "%d minute"
-#: ../src/viktrwlayer_propwin.c:3058
+#: ../src/viktrwlayer_propwin.c:3016 ../src/viktrwlayer_analysis.c:515
msgid "Statistics"
msgstr "Statystyki"
-#: ../src/viktrwlayer_propwin.c:3064
+#: ../src/viktrwlayer_propwin.c:3022
msgid "Show D_EM"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3065 ../src/viktrwlayer_propwin.c:3080
-#: ../src/viktrwlayer_propwin.c:3094 ../src/viktrwlayer_propwin.c:3136
+#: ../src/viktrwlayer_propwin.c:3023 ../src/viktrwlayer_propwin.c:3038
+#: ../src/viktrwlayer_propwin.c:3052 ../src/viktrwlayer_propwin.c:3094
msgid "Show _GPS Speed"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3067 ../src/viktrwlayer_propwin.c:3082
-#: ../src/viktrwlayer_propwin.c:3110 ../src/viktrwlayer_propwin.c:3138
+#: ../src/viktrwlayer_propwin.c:3025 ../src/viktrwlayer_propwin.c:3040
+#: ../src/viktrwlayer_propwin.c:3068 ../src/viktrwlayer_propwin.c:3096
msgid "<b>Track Distance:</b>"
msgstr "<b>Długość ścieżki:</b>"
-#: ../src/viktrwlayer_propwin.c:3068 ../src/viktrwlayer_propwin.c:3125
+#: ../src/viktrwlayer_propwin.c:3026 ../src/viktrwlayer_propwin.c:3083
msgid "<b>Track Height:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3073
+#: ../src/viktrwlayer_propwin.c:3031
msgid "Elevation-distance"
msgstr "Wysokość-odległość"
-#: ../src/viktrwlayer_propwin.c:3083
+#: ../src/viktrwlayer_propwin.c:3041
msgid "<b>Track Gradient:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3087
+#: ../src/viktrwlayer_propwin.c:3045
msgid "Gradient-distance"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3096 ../src/viktrwlayer_propwin.c:3111
-#: ../src/viktrwlayer_propwin.c:3124
+#: ../src/viktrwlayer_propwin.c:3054 ../src/viktrwlayer_propwin.c:3069
+#: ../src/viktrwlayer_propwin.c:3082
msgid "<b>Track Time:</b>"
msgstr "<b>Czas ścieżki:</b>"
-#: ../src/viktrwlayer_propwin.c:3097 ../src/viktrwlayer_propwin.c:3139
+#: ../src/viktrwlayer_propwin.c:3055 ../src/viktrwlayer_propwin.c:3097
msgid "<b>Track Speed:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3101
+#: ../src/viktrwlayer_propwin.c:3059
msgid "Speed-time"
msgstr "Prędkość-czas"
-#: ../src/viktrwlayer_propwin.c:3108 ../src/viktrwlayer_propwin.c:3122
+#: ../src/viktrwlayer_propwin.c:3066 ../src/viktrwlayer_propwin.c:3080
msgid "Show S_peed"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3115
+#: ../src/viktrwlayer_propwin.c:3073
msgid "Distance-time"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3129
+#: ../src/viktrwlayer_propwin.c:3087
msgid "Elevation-time"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3143
+#: ../src/viktrwlayer_propwin.c:3101
msgid "Speed-distance"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:118
+#: ../src/viktrwlayer_tpwin.c:119
msgid "<b>Part of Track:</b>"
msgstr "<b>Część ścieżki:</b>"
-#: ../src/viktrwlayer_tpwin.c:119
+#: ../src/viktrwlayer_tpwin.c:120
msgid "<b>Latitude:</b>"
msgstr "<b>Szerokość geograficzna:</b>"
-#: ../src/viktrwlayer_tpwin.c:120
+#: ../src/viktrwlayer_tpwin.c:121
msgid "<b>Longitude:</b>"
msgstr "<b>Długość geograficzna:</b>"
-#: ../src/viktrwlayer_tpwin.c:121
+#: ../src/viktrwlayer_tpwin.c:122
msgid "<b>Altitude:</b>"
msgstr "<b>Wysokość:</b>"
-#: ../src/viktrwlayer_tpwin.c:122
+#: ../src/viktrwlayer_tpwin.c:123
+msgid "<b>Course:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_tpwin.c:124
msgid "<b>Timestamp:</b>"
msgstr "<b>TZnacznik czasowy:</b>"
-#: ../src/viktrwlayer_tpwin.c:123
+#: ../src/viktrwlayer_tpwin.c:125
msgid "<b>Time:</b>"
msgstr "<b>Czas:</b>"
-#: ../src/viktrwlayer_tpwin.c:124
+#: ../src/viktrwlayer_tpwin.c:126
msgid "<b>Distance Difference:</b>"
msgstr "<b>Różnica odległości:</b>"
-#: ../src/viktrwlayer_tpwin.c:125
+#: ../src/viktrwlayer_tpwin.c:127
msgid "<b>Time Difference:</b>"
msgstr "<b>Różnica czasu:</b>"
-#: ../src/viktrwlayer_tpwin.c:126
+#: ../src/viktrwlayer_tpwin.c:128
msgid "<b>\"Speed\" Between:</b>"
msgstr "<b>\"Prędkość\" pomiędzy:</b>"
-#: ../src/viktrwlayer_tpwin.c:127
+#: ../src/viktrwlayer_tpwin.c:129
+msgid "<b>Speed:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_tpwin.c:130
msgid "<b>VDOP:</b>"
msgstr "<b>VDOP:</b>"
-#: ../src/viktrwlayer_tpwin.c:128
+#: ../src/viktrwlayer_tpwin.c:131
msgid "<b>HDOP:</b>"
msgstr "<b>HDOP:</b>"
-#: ../src/viktrwlayer_tpwin.c:129
+#: ../src/viktrwlayer_tpwin.c:132
msgid "<b>PDOP:</b>"
msgstr "<b>PDOP:</b>"
-#: ../src/viktrwlayer_tpwin.c:130
+#: ../src/viktrwlayer_tpwin.c:133
msgid "<b>SAT/FIX:</b>"
msgstr "<b>SAT/FIX:</b>"
-#: ../src/viktrwlayer_tpwin.c:139
+#: ../src/viktrwlayer_tpwin.c:141
msgid "Trackpoint"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:142
+#: ../src/viktrwlayer_tpwin.c:144
msgid "_Insert After"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:144
+#: ../src/viktrwlayer_tpwin.c:146
msgid "Split Here"
msgstr "Podziel tutaj"
-#: ../src/viktrwlayer_geotag.c:446
+#.
+#. item = gtk_image_menu_item_new_with_mnemonic ( _("_Select") );
+#. gtk_image_menu_item_set_image ( (GtkImageMenuItem*)item, gtk_image_new_from_stock (GTK_STOCK_FIND, GTK_ICON_SIZE_MENU) );
+#. g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(trw_layer_track_select), values );
+#. gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
+#. gtk_widget_show ( item );
+#.
+#. ATM view auto selects, so don't bother with separate select menu entry
+#: ../src/viktrwlayer_tracklist.c:231 ../src/vikwindow.c:3695
+msgid "_View"
+msgstr "_Podgląd"
+
+#. Insert column for the layer name when viewing multi layers
+#: ../src/viktrwlayer_tracklist.c:514
+msgid "Layer"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:526
+msgid "Date"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:529
+msgid "Visible"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:536
+msgid ""
+"Distance\n"
+"(miles)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:539
+msgid ""
+"Distance\n"
+"(km)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:545
+msgid ""
+"Length\n"
+"(minutes)"
+msgstr ""
+
+#. VIK_UNITS_SPEED_KILOMETRES_PER_HOUR:
+#: ../src/viktrwlayer_tracklist.c:549 ../src/vikutils.c:72
+msgid "km/h"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:550 ../src/vikutils.c:62
+msgid "mph"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:551 ../src/vikutils.c:68
+msgid "knots"
+msgstr ""
+
+#. VIK_UNITS_SPEED_METRES_PER_SECOND:
+#: ../src/viktrwlayer_tracklist.c:553 ../src/vikutils.c:65
+msgid "m/s"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:556
+#, c-format
+msgid ""
+"Av. Speed\n"
+"(%s)"
+msgstr ""
+
+#. Apply own formatting of the data
+#: ../src/viktrwlayer_tracklist.c:561
+#, c-format
+msgid ""
+"Max Speed\n"
+"(%s)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:569
+msgid ""
+"Max Height\n"
+"(Feet)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:571
+msgid ""
+"Max Height\n"
+"(Metres)"
+msgstr ""
+
+#: ../src/viktrwlayer_geotag.c:481
#, c-format
msgid "Geotagging %d Images..."
msgstr ""
-#: ../src/viktrwlayer_geotag.c:510
+#: ../src/viktrwlayer_geotag.c:545
msgid "Geotag Images"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:516
+#: ../src/viktrwlayer_geotag.c:551
msgid "Images"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:520
+#: ../src/viktrwlayer_geotag.c:555
msgid "Overwrite Existing Waypoints:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:523
+#: ../src/viktrwlayer_geotag.c:558
msgid "Overwrite Existing GPS Information:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:525
+#: ../src/viktrwlayer_geotag.c:560
msgid "Keep File Modification Timestamp:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:555
+#: ../src/viktrwlayer_geotag.c:592
msgid "Create Waypoints:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:563
+#: ../src/viktrwlayer_geotag.c:600
msgid "Write EXIF:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:575
+#: ../src/viktrwlayer_geotag.c:612
msgid "Interpolate Between Track Segments:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:579
+#: ../src/viktrwlayer_geotag.c:616
msgid "Image Time Offset (Seconds):"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:581
+#: ../src/viktrwlayer_geotag.c:618
msgid ""
"The number of seconds to ADD to the photos time to make it match the GPS "
"data. Calculate this with (GPS - Photo). Can be negative or positive. Useful "
"to adjust times when a camera's timestamp was incorrect."
msgstr ""
-#: ../src/viktrwlayer_geotag.c:584
+#: ../src/viktrwlayer_geotag.c:621
msgid "Image Timezone:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:586
+#: ../src/viktrwlayer_geotag.c:623
msgid ""
"The timezone that was used when the images were created. For example, if a "
"camera is set to AWST or +8:00 hours. Enter +8:00 here so that the correct "
"adjustment to the images' time can be made. GPS data is always in UTC."
msgstr ""
-#: ../src/viktrwlayer_geotag.c:590
+#: ../src/viktrwlayer_geotag.c:627
#, c-format
msgid "Using track: %s"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:592
+#: ../src/viktrwlayer_geotag.c:629
#, c-format
msgid "Using all tracks in: %s"
msgstr ""
-#: ../src/vikstatus.c:105
+#: ../src/viktrwlayer_analysis.c:193
+msgid "Number of Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:194
+msgid "Date Range"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:195
+msgid "Total Length"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:196
+msgid "Average Length"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:197
+msgid "Max Speed"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:198
+msgid "Avg. Speed"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:199
+msgid "Minimum Altitude"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:200
+msgid "Maximum Altitude"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:201
+msgid "Total Elevation Gain/Loss"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:202
+msgid "Avg. Elevation Gain/Loss"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:203
+msgid "Total Duration"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:204
+msgid "Avg. Duration"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:278
+#, c-format
+msgid "%.2f miles"
+msgstr ""
+
+#. VIK_UNITS_DISTANCE_KILOMETRES
+#: ../src/viktrwlayer_analysis.c:282
+#, c-format
+msgid "%.2f km"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:297
+#, c-format
+msgid "%.2f m/s"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:306
+#, c-format
+msgid "%.2f knots\n"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:309
+#, c-format
+msgid "%.2f knots"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:316 ../src/viktrwlayer_analysis.c:319
+#, c-format
+msgid "%.2f km/h"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:330 ../src/viktrwlayer_analysis.c:336
+#, c-format
+msgid "%d feet"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:341 ../src/viktrwlayer_analysis.c:343
+#, c-format
+msgid "%d feet / %d feet"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:348 ../src/viktrwlayer_analysis.c:354
+#, c-format
+msgid "%d m"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:359 ../src/viktrwlayer_analysis.c:361
+#, c-format
+msgid "%d m / %d m"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:373
+#, c-format
+msgid "%d:%02d:%02d days:hrs:mins"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:380
+#, c-format
+msgid "%d:%02d hrs:mins"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:550
+msgid "Include Invisible Items"
+msgstr ""
+
+#: ../src/vikstatus.c:107
+msgid "Current number of background tasks. Click to see the background jobs."
+msgstr ""
+
+#: ../src/vikstatus.c:113
msgid "Current zoom level. Click to select a new one."
msgstr ""
-#: ../src/vikwaypoint.c:34
+#: ../src/vikutils.c:80
+msgid "GPSD"
+msgstr ""
+
+#. GPS Preamble
+#: ../src/vikutils.c:81
+msgid "Trkpt"
+msgstr ""
+
+#: ../src/vikutils.c:121
+#, c-format
+msgid "%sSpeed%s %.1f%s"
+msgstr ""
+
+#: ../src/vikutils.c:130
+#, c-format
+msgid "%sAlt %dfeet"
+msgstr ""
+
+#. VIK_UNITS_HEIGHT_METRES:
+#: ../src/vikutils.c:134
+#, c-format
+msgid "%sAlt %dm"
+msgstr ""
+
+#: ../src/vikutils.c:142
+#, c-format
+msgid "%sCourse %03d°"
+msgstr ""
+
+#: ../src/vikutils.c:155
+msgid "yards"
+msgstr ""
+
+#. VIK_UNITS_DISTANCE_KILOMETRES:
+#: ../src/vikutils.c:159
+msgid "m"
+msgstr ""
+
+#: ../src/vikutils.c:163
+#, c-format
+msgid "%sDistance diff %d%s"
+msgstr ""
+
+#: ../src/vikutils.c:179
+#, c-format
+msgid "%sTime %s"
+msgstr ""
+
+#: ../src/vikutils.c:187
+#, c-format
+msgid "%sTime diff %lds"
+msgstr ""
+
+#: ../src/vikutils.c:193
+#, c-format
+msgid "%sNo. of Sats %d"
+msgstr ""
+
+#: ../src/vikutils.c:213
+#, c-format
+msgid "%sDistance along %.2f%s"
+msgstr ""
+
+#. Name of track
+#: ../src/vikutils.c:232
+#, c-format
+msgid "%sTrack: %s"
+msgstr ""
+
+#: ../src/vikwaypoint.c:36
msgid "Waypoint"
msgstr ""
#. TODO get rid of this as this is unnecessary duplication...
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Pan"
msgstr ""
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Zoom"
msgstr "Zbliżenie"
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Ruler"
msgstr "Linijka"
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Select"
msgstr ""
+#: ../src/vikwindow.c:381
+msgid "Location lookup aborted"
+msgstr ""
+
+#: ../src/vikwindow.c:401
+#, c-format
+msgid "Location found: %s"
+msgstr ""
+
+#: ../src/vikwindow.c:410
+msgid "Unable to determine location"
+msgstr ""
+
+#: ../src/vikwindow.c:434
+msgid "Default Map"
+msgstr ""
+
+#: ../src/vikwindow.c:444
+msgid "Trying to determine location..."
+msgstr ""
+
+#: ../src/vikwindow.c:447
+msgid "Determining location"
+msgstr ""
+
#. Create tooltip
-#: ../src/vikwindow.c:440
+#: ../src/vikwindow.c:605
msgid "Select zoom level"
msgstr ""
-#: ../src/vikwindow.c:645
+#: ../src/vikwindow.c:923
#, c-format
msgid ""
"Do you want to save the changes you made to the document \"%s\"?\n"
@@ -3158,624 +4000,708 @@ msgstr ""
"\n"
"Jeśi nie zapiszesz zmian, zostaną utracone."
-#: ../src/vikwindow.c:649
+#: ../src/vikwindow.c:927
msgid "Don't Save"
msgstr "Nie zapisuj"
-#: ../src/vikwindow.c:696
+#: ../src/vikwindow.c:1005
msgid "mpp"
msgstr ""
-#: ../src/vikwindow.c:696
+#: ../src/vikwindow.c:1005
msgid "pixelfact"
msgstr ""
-#: ../src/vikwindow.c:861
+#: ../src/vikwindow.c:1169
#, c-format
msgid "%s %s %dm"
msgstr "%s %s %dm"
-#: ../src/vikwindow.c:863
+#: ../src/vikwindow.c:1171
#, c-format
msgid "%s %s %dft"
msgstr ""
-#: ../src/vikwindow.c:866
+#: ../src/vikwindow.c:1174
#, c-format
msgid "%s %s"
msgstr "%s %s"
#. NB Ctrl+Shift+R is used for Refresh (deemed more important), so use 'U' instead
-#: ../src/vikwindow.c:1254
+#: ../src/vikwindow.c:1562
msgid "_Ruler"
msgstr "_Linijka"
-#: ../src/vikwindow.c:1254
+#: ../src/vikwindow.c:1562
msgid "Ruler Tool"
msgstr "Narzędzie linijki"
-#: ../src/vikwindow.c:1502 ../src/vikwindow.c:3138
+#: ../src/vikwindow.c:1810 ../src/vikwindow.c:3697
msgid "_Zoom"
msgstr "_Zbliżenie"
-#: ../src/vikwindow.c:1502
+#: ../src/vikwindow.c:1810
msgid "Zoom Tool"
msgstr "Narzędzie zbliżania"
-#: ../src/vikwindow.c:1547 ../src/vikwindow.c:3139
+#: ../src/vikwindow.c:1855 ../src/vikwindow.c:3698
msgid "_Pan"
msgstr ""
-#: ../src/vikwindow.c:1547
+#: ../src/vikwindow.c:1855
msgid "Pan Tool"
msgstr ""
-#: ../src/vikwindow.c:1664
+#: ../src/vikwindow.c:1972
msgid "_Select"
msgstr ""
-#: ../src/vikwindow.c:1664
+#: ../src/vikwindow.c:1972
msgid "Select Tool"
msgstr ""
-#: ../src/vikwindow.c:1809
+#: ../src/vikwindow.c:2123
msgid "You must select a layer to show its properties."
msgstr "Musisz zaznaczyć warstwę, aby pokazać jej właściwości."
#. No error to show, so unlikely this will get called
-#: ../src/vikwindow.c:1824
+#: ../src/vikwindow.c:2137
msgid "The help system is not available."
msgstr ""
#. Main error path
-#: ../src/vikwindow.c:1827
+#: ../src/vikwindow.c:2140
#, c-format
msgid ""
"Help is not available because: %s.\n"
"Ensure a Mime Type ghelp handler program is installed (e.g. yelp)."
msgstr ""
-#: ../src/vikwindow.c:1850
+#: ../src/vikwindow.c:2160
msgid "You must select a layer to delete."
msgstr "Musisz zaznaczyć warstwę do skasowania."
-#: ../src/vikwindow.c:2087
+#: ../src/vikwindow.c:2396
msgid "Untitled"
msgstr "Bez nazwy"
-#: ../src/vikwindow.c:2194
+#: ../src/vikwindow.c:2503
#, c-format
msgid "Unable to add '%s' to the list of recently used documents"
msgstr ""
-#: ../src/vikwindow.c:2208
+#: ../src/vikwindow.c:2540
msgid "The file you requested could not be opened."
msgstr "Nie można otworzyć żądanego pliku."
-#: ../src/vikwindow.c:2211
+#: ../src/vikwindow.c:2543
msgid ""
"GPSBabel is required to load files of this type or GPSBabel encountered "
"problems."
msgstr ""
-#: ../src/vikwindow.c:2214
+#: ../src/vikwindow.c:2546
#, c-format
msgid "Unable to load malformed GPX file %s"
msgstr ""
-#: ../src/vikwindow.c:2217
+#: ../src/vikwindow.c:2549
#, c-format
msgid "Unsupported file type for %s"
msgstr ""
#. Since we can process .vik files with issues just show a warning in the status bar
#. Not that a user can do much about it... or tells them what this issue is yet...
-#: ../src/vikwindow.c:2223
+#: ../src/vikwindow.c:2555
#, c-format
msgid "WARNING: issues encountered loading %s"
msgstr ""
-#: ../src/vikwindow.c:2278
+#: ../src/vikwindow.c:2613
msgid "Please select a GPS data file to open. "
msgstr "Proszę wybrać plik danych GPS do otwarcia. "
-#: ../src/vikwindow.c:2288
+#: ../src/vikwindow.c:2629
msgid "Geocaching"
msgstr ""
-#: ../src/vikwindow.c:2294
+#: ../src/vikwindow.c:2635
msgid "Google Earth"
msgstr ""
-#: ../src/vikwindow.c:2299
+#: ../src/vikwindow.c:2640
msgid "GPX"
msgstr ""
-#: ../src/vikwindow.c:2304 ../src/vikwindow.c:2387
+#: ../src/vikwindow.c:2645 ../src/vikwindow.c:2734
#: ../src/viking.desktop.in.h:1
msgid "Viking"
msgstr "Viking"
-#: ../src/vikwindow.c:2374
+#: ../src/vikwindow.c:2715
msgid "Save as Viking File."
msgstr "Zapisz jako plik Viking."
+#: ../src/vikwindow.c:2841
+msgid "Exporting to file: "
+msgstr ""
+
+#. Confirm what happened.
+#: ../src/vikwindow.c:2858
+#, c-format
+msgid "Exported files: %d"
+msgstr ""
+
+#: ../src/vikwindow.c:2870
+msgid "Nothing to Export!"
+msgstr ""
+
+#: ../src/vikwindow.c:2874
+msgid "Export to directory"
+msgstr ""
+
+#: ../src/vikwindow.c:2896
+msgid "Could not convert all files"
+msgstr ""
+
+#: ../src/vikwindow.c:2932
+#, c-format
+msgid "%d bytes"
+msgstr ""
+
+#: ../src/vikwindow.c:2934
+#, c-format
+msgid "%3.1f kB"
+msgstr ""
+
+#: ../src/vikwindow.c:2936
+#, c-format
+msgid "%3.1f MB"
+msgstr ""
+
+#: ../src/vikwindow.c:2937
+#, c-format
+msgid ""
+"%s\n"
+"\n"
+"%s\n"
+"\n"
+"%s"
+msgstr ""
+
+#: ../src/vikwindow.c:2942
+msgid "File not accessible"
+msgstr ""
+
+#: ../src/vikwindow.c:2945
+msgid "No Viking File"
+msgstr ""
+
+#: ../src/vikwindow.c:3035
+msgid "This layer has no configurable properties."
+msgstr ""
+
#. Try harder...
-#: ../src/vikwindow.c:2619 ../src/vikwindow.c:2625
+#: ../src/vikwindow.c:3169 ../src/vikwindow.c:3175
msgid "Generating image file..."
msgstr ""
-#: ../src/vikwindow.c:2647
+#: ../src/vikwindow.c:3197
msgid ""
"Failed to generate internal image.\n"
"\n"
"Try creating a smaller image."
msgstr ""
-#: ../src/vikwindow.c:2655
+#: ../src/vikwindow.c:3205
msgid "Failed to generate image file."
msgstr ""
#. Success
-#: ../src/vikwindow.c:2660
+#: ../src/vikwindow.c:3210
msgid "Image file generated."
msgstr ""
-#: ../src/vikwindow.c:2764
+#: ../src/vikwindow.c:3314
msgid ""
"Viewable region outside allowable pixel size bounds for image. Clipping "
"width/height values."
msgstr ""
-#: ../src/vikwindow.c:2789
+#: ../src/vikwindow.c:3339
#, c-format
msgid "Total area: %ldm x %ldm (%.3f sq. km)"
msgstr "Obszar całkowity: %ldm x %ldm (%.3f km kw.)"
-#: ../src/vikwindow.c:2792
+#: ../src/vikwindow.c:3342
#, c-format
msgid "Total area: %ldm x %ldm (%.3f sq. miles)"
msgstr ""
-#: ../src/vikwindow.c:2813
+#: ../src/vikwindow.c:3363
msgid "Save Image"
msgstr "Zapisz obraz"
-#: ../src/vikwindow.c:2834
+#: ../src/vikwindow.c:3393
msgid "PNG"
msgstr ""
-#: ../src/vikwindow.c:2857
+#: ../src/vikwindow.c:3416
msgid "You must be in UTM mode to use this feature"
msgstr ""
-#: ../src/vikwindow.c:2862
+#: ../src/vikwindow.c:3421
msgid "Choose a directory to hold images"
msgstr "Wskaż katalog dla przechowywania obrazów"
#. todo: default for answers inside VikWindow or static (thruout instance)
-#: ../src/vikwindow.c:2883
+#: ../src/vikwindow.c:3442
msgid "Save to Image File"
msgstr ""
-#: ../src/vikwindow.c:2900
+#: ../src/vikwindow.c:3459
msgid "Width (pixels):"
msgstr "Szerokość (piksele):"
-#: ../src/vikwindow.c:2902
+#: ../src/vikwindow.c:3461
msgid "Height (pixels):"
msgstr "Wysokość (piksele):"
-#: ../src/vikwindow.c:2905
+#: ../src/vikwindow.c:3464
msgid ""
"WARNING: USING LARGE IMAGES OVER 10000x10000\n"
"MAY CRASH THE PROGRAM!"
msgstr ""
-#: ../src/vikwindow.c:2907
+#: ../src/vikwindow.c:3466
msgid "Zoom (meters per pixel):"
msgstr ""
-#: ../src/vikwindow.c:2921
+#: ../src/vikwindow.c:3482
msgid "Area in current viewable window"
msgstr ""
-#: ../src/vikwindow.c:2931
+#: ../src/vikwindow.c:3492
msgid "Save as PNG"
msgstr "Zapisz jako PNG"
-#: ../src/vikwindow.c:2932
+#: ../src/vikwindow.c:3493
msgid "Save as JPEG"
msgstr "Zapisz jako JPEG"
-#: ../src/vikwindow.c:2954
+#: ../src/vikwindow.c:3515
msgid "East-west image tiles:"
msgstr ""
-#: ../src/vikwindow.c:2956
+#: ../src/vikwindow.c:3517
msgid "North-south image tiles:"
msgstr ""
-#: ../src/vikwindow.c:3097
+#: ../src/vikwindow.c:3656
msgid "Choose a background color"
msgstr "Wskaż kolor tła"
-#: ../src/vikwindow.c:3113
+#: ../src/vikwindow.c:3672
msgid "Choose a track highlight color"
msgstr ""
-#: ../src/vikwindow.c:3134
+#: ../src/vikwindow.c:3693
msgid "_File"
msgstr "_Plik"
-#: ../src/vikwindow.c:3135
+#: ../src/vikwindow.c:3694
msgid "_Edit"
msgstr "_Edycja"
-#: ../src/vikwindow.c:3136
-msgid "_View"
-msgstr "_Podgląd"
-
-#: ../src/vikwindow.c:3137
+#: ../src/vikwindow.c:3696
msgid "_Show"
msgstr ""
-#: ../src/vikwindow.c:3140
+#: ../src/vikwindow.c:3699
msgid "_Layers"
msgstr "_Warstwy"
-#: ../src/vikwindow.c:3141
+#: ../src/vikwindow.c:3700
msgid "_Tools"
msgstr "_Narzędzia"
-#: ../src/vikwindow.c:3142
+#: ../src/vikwindow.c:3701
msgid "_Webtools"
msgstr ""
-#: ../src/vikwindow.c:3143 ../src/vikwindow.c:3206
+#: ../src/vikwindow.c:3702 ../src/vikwindow.c:3763
msgid "_Help"
msgstr "_Pomoc"
-#: ../src/vikwindow.c:3145
+#: ../src/vikwindow.c:3704
msgid "New file"
msgstr "Nowy plik"
-#: ../src/vikwindow.c:3146
+#: ../src/vikwindow.c:3705
msgid "_Open..."
msgstr "_Otwórz..."
-#: ../src/vikwindow.c:3146
+#: ../src/vikwindow.c:3705
msgid "Open a file"
msgstr "Otwórz plik"
-#: ../src/vikwindow.c:3147
+#: ../src/vikwindow.c:3706
msgid "Open _Recent File"
msgstr "Otwórz ostatnio _używany plik"
-#: ../src/vikwindow.c:3148
+#: ../src/vikwindow.c:3707
msgid "Append _File..."
msgstr "Dołącz _plik..."
-#: ../src/vikwindow.c:3148
+#: ../src/vikwindow.c:3707
msgid "Append data from a different file"
msgstr "Dołącz dane z innego pliku"
-#: ../src/vikwindow.c:3149
+#: ../src/vikwindow.c:3708
+msgid "_Export All"
+msgstr ""
+
+#: ../src/vikwindow.c:3708
+msgid "Export All TrackWaypoint Layers"
+msgstr ""
+
+#: ../src/vikwindow.c:3709
+msgid "_GPX..."
+msgstr ""
+
+#: ../src/vikwindow.c:3709
+msgid "Export as GPX"
+msgstr ""
+
+#: ../src/vikwindow.c:3710
msgid "A_cquire"
msgstr ""
-#: ../src/vikwindow.c:3150
+#: ../src/vikwindow.c:3711
msgid "Transfer data from a GPS device"
msgstr "Transferuj dane z urządzenia GPS"
-#: ../src/vikwindow.c:3151
+#: ../src/vikwindow.c:3712
msgid "Import File With GPS_Babel..."
msgstr ""
-#: ../src/vikwindow.c:3151
+#: ../src/vikwindow.c:3712
msgid "Import file via GPSBabel converter"
msgstr ""
-#: ../src/vikwindow.c:3153
-msgid "Google _Directions..."
+#: ../src/vikwindow.c:3713
+msgid "_Directions..."
msgstr ""
-#: ../src/vikwindow.c:3153
-msgid "Get driving directions from Google"
+#: ../src/vikwindow.c:3713
+msgid "Get driving directions"
msgstr ""
-#: ../src/vikwindow.c:3156
+#: ../src/vikwindow.c:3715
msgid "_OSM Traces..."
msgstr ""
-#: ../src/vikwindow.c:3156
+#: ../src/vikwindow.c:3715
msgid "Get traces from OpenStreetMap"
msgstr ""
-#: ../src/vikwindow.c:3157
+#: ../src/vikwindow.c:3716
msgid "_My OSM Traces..."
msgstr ""
-#: ../src/vikwindow.c:3157
+#: ../src/vikwindow.c:3716
msgid "Get Your Own Traces from OpenStreetMap"
msgstr ""
-#: ../src/vikwindow.c:3160
+#: ../src/vikwindow.c:3719
msgid "Geo_caches..."
msgstr ""
-#: ../src/vikwindow.c:3160
+#: ../src/vikwindow.c:3719
msgid "Get Geocaches from geocaching.com"
msgstr ""
-#: ../src/vikwindow.c:3163
+#: ../src/vikwindow.c:3722
msgid "Create waypoints from geotagged images"
msgstr ""
-#: ../src/vikwindow.c:3166
+#: ../src/vikwindow.c:3725
msgid "Create waypoints from Wikipedia items in the current view"
msgstr ""
-#: ../src/vikwindow.c:3168
+#: ../src/vikwindow.c:3727
msgid "_Save"
msgstr "_Zapisz"
-#: ../src/vikwindow.c:3168
+#: ../src/vikwindow.c:3727
msgid "Save the file"
msgstr "Zapisz plik"
-#: ../src/vikwindow.c:3169
+#: ../src/vikwindow.c:3728
msgid "Save _As..."
msgstr "Zapisz _jako..."
-#: ../src/vikwindow.c:3169
+#: ../src/vikwindow.c:3728
msgid "Save the file under different name"
msgstr "Zapisz plik pod inną nazwą"
-#: ../src/vikwindow.c:3170
+#: ../src/vikwindow.c:3729
+msgid "Properties..."
+msgstr ""
+
+#: ../src/vikwindow.c:3729
+msgid "File Properties"
+msgstr ""
+
+#: ../src/vikwindow.c:3730
msgid "_Generate Image File..."
msgstr ""
-#: ../src/vikwindow.c:3170
+#: ../src/vikwindow.c:3730
msgid "Save a snapshot of the workspace into a file"
msgstr ""
-#: ../src/vikwindow.c:3171
+#: ../src/vikwindow.c:3731
msgid "Generate _Directory of Images..."
msgstr "Generuj _katalog ze zdjęciami..."
-#: ../src/vikwindow.c:3171
+#: ../src/vikwindow.c:3731
msgid "FIXME:IMGDIR"
msgstr "FIXME:IMGDIR"
-#: ../src/vikwindow.c:3174
+#: ../src/vikwindow.c:3732
msgid "_Print..."
msgstr "_Drukuj..."
-#: ../src/vikwindow.c:3174
+#: ../src/vikwindow.c:3732
msgid "Print maps"
msgstr "Drukuj mapy"
-#: ../src/vikwindow.c:3177
+#: ../src/vikwindow.c:3733
msgid "E_xit"
msgstr "_Wyjdź"
-#: ../src/vikwindow.c:3177
+#: ../src/vikwindow.c:3733
msgid "Exit the program"
msgstr "Wyjdź z programu"
-#: ../src/vikwindow.c:3178
+#: ../src/vikwindow.c:3734
msgid "Save and Exit"
msgstr "Zapisz i wyjdź"
-#: ../src/vikwindow.c:3178
+#: ../src/vikwindow.c:3734
msgid "Save and Exit the program"
msgstr "Zapisz i wyjdź z programu"
-#: ../src/vikwindow.c:3180
+#: ../src/vikwindow.c:3736
msgid "Go to the _Default Location"
msgstr ""
-#: ../src/vikwindow.c:3180
+#: ../src/vikwindow.c:3736
msgid "Go to the default location"
msgstr "Idź do domyślnego położenia"
-#: ../src/vikwindow.c:3181
+#: ../src/vikwindow.c:3737
msgid "Go to _Location..."
msgstr ""
-#: ../src/vikwindow.c:3181
+#: ../src/vikwindow.c:3737
msgid "Go to address/place using text search"
msgstr "Idź do adresu/miejsca używając wyszukiwarki"
-#: ../src/vikwindow.c:3182
+#: ../src/vikwindow.c:3738
msgid "_Go to Lat/Lon..."
msgstr "_Idź do szer/dług..."
-#: ../src/vikwindow.c:3182
+#: ../src/vikwindow.c:3738
msgid "Go to arbitrary lat/lon coordinate"
msgstr ""
-#: ../src/vikwindow.c:3183
+#: ../src/vikwindow.c:3739
msgid "Go to UTM..."
msgstr "Idź do UTM..."
-#: ../src/vikwindow.c:3183
+#: ../src/vikwindow.c:3739
msgid "Go to arbitrary UTM coordinate"
msgstr ""
-#: ../src/vikwindow.c:3184
+#: ../src/vikwindow.c:3740
msgid "_Refresh"
msgstr ""
-#: ../src/vikwindow.c:3184
+#: ../src/vikwindow.c:3740
msgid "Refresh any maps displayed"
msgstr ""
-#: ../src/vikwindow.c:3185
+#: ../src/vikwindow.c:3741
msgid "Set _Highlight Color..."
msgstr ""
-#: ../src/vikwindow.c:3186
+#: ../src/vikwindow.c:3742
msgid "Set Bac_kground Color..."
msgstr ""
-#: ../src/vikwindow.c:3187
+#: ../src/vikwindow.c:3743
msgid "Zoom _In"
msgstr "Zbl_iż"
-#: ../src/vikwindow.c:3188
+#: ../src/vikwindow.c:3744
msgid "Zoom _Out"
msgstr "_Oddal"
-#: ../src/vikwindow.c:3189
+#: ../src/vikwindow.c:3745
msgid "Zoom _To..."
msgstr ""
-#: ../src/vikwindow.c:3190
+#: ../src/vikwindow.c:3746
msgid "Pan _North"
msgstr ""
-#: ../src/vikwindow.c:3191
+#: ../src/vikwindow.c:3747
msgid "Pan _East"
msgstr ""
-#: ../src/vikwindow.c:3192
+#: ../src/vikwindow.c:3748
msgid "Pan _South"
msgstr ""
-#: ../src/vikwindow.c:3193
+#: ../src/vikwindow.c:3749
msgid "Pan _West"
msgstr ""
-#: ../src/vikwindow.c:3194
+#: ../src/vikwindow.c:3750
msgid "Background _Jobs"
msgstr ""
-#: ../src/vikwindow.c:3196
+#: ../src/vikwindow.c:3752
msgid "Cu_t"
msgstr "W_ytnij"
-#: ../src/vikwindow.c:3197
-msgid "_Copy"
-msgstr "_Kopiuj"
-
-#: ../src/vikwindow.c:3198
-msgid "_Paste"
-msgstr "_Wstaw"
-
-#: ../src/vikwindow.c:3199
-msgid "_Delete"
-msgstr "_Skasuj"
-
-#: ../src/vikwindow.c:3200
+#: ../src/vikwindow.c:3756
msgid "Delete All"
msgstr "Skasuj wszystko"
-#: ../src/vikwindow.c:3201
+#: ../src/vikwindow.c:3757
msgid "_Flush Map Cache"
msgstr ""
-#: ../src/vikwindow.c:3202
+#: ../src/vikwindow.c:3758
msgid "_Set the Default Location"
msgstr ""
-#: ../src/vikwindow.c:3202
+#: ../src/vikwindow.c:3758
msgid "Set the Default Location to the current position"
msgstr ""
-#: ../src/vikwindow.c:3203
+#: ../src/vikwindow.c:3759
msgid "_Preferences"
msgstr "_Preferencje"
-#: ../src/vikwindow.c:3204
+#: ../src/vikwindow.c:3760
+msgid "_Layer Defaults"
+msgstr ""
+
+#: ../src/vikwindow.c:3761
msgid "_Properties"
msgstr "_Właściwości"
-#: ../src/vikwindow.c:3207
+#: ../src/vikwindow.c:3764
msgid "_About"
msgstr "_O programie"
-#: ../src/vikwindow.c:3213
+#: ../src/vikwindow.c:3768
+msgid "_KML..."
+msgstr ""
+
+#: ../src/vikwindow.c:3768
+msgid "Export as KML"
+msgstr ""
+
+#: ../src/vikwindow.c:3774
msgid "_UTM Mode"
msgstr "Tryb _UTM"
-#: ../src/vikwindow.c:3214
+#: ../src/vikwindow.c:3775
msgid "_Expedia Mode"
msgstr ""
-#: ../src/vikwindow.c:3215
+#: ../src/vikwindow.c:3776
msgid "_Mercator Mode"
msgstr ""
-#: ../src/vikwindow.c:3216
+#: ../src/vikwindow.c:3777
msgid "Lat_/Lon Mode"
msgstr ""
-#: ../src/vikwindow.c:3220
+#: ../src/vikwindow.c:3781
msgid "Show _Scale"
msgstr ""
-#: ../src/vikwindow.c:3220
+#: ../src/vikwindow.c:3781
msgid "Show Scale"
msgstr "Pokaż skalę"
-#: ../src/vikwindow.c:3221
+#: ../src/vikwindow.c:3782
msgid "Show _Center Mark"
msgstr ""
-#: ../src/vikwindow.c:3221
+#: ../src/vikwindow.c:3782
msgid "Show Center Mark"
msgstr ""
-#: ../src/vikwindow.c:3222
+#: ../src/vikwindow.c:3783
msgid "Show _Highlight"
msgstr ""
-#: ../src/vikwindow.c:3222
+#: ../src/vikwindow.c:3783
msgid "Show Highlight"
msgstr ""
-#: ../src/vikwindow.c:3223
+#: ../src/vikwindow.c:3784
msgid "_Full Screen"
msgstr "_Pełny ekran"
-#: ../src/vikwindow.c:3223
+#: ../src/vikwindow.c:3784
msgid "Activate full screen mode"
msgstr "Aktywuj tryb pełnego ekranu"
-#: ../src/vikwindow.c:3224
+#: ../src/vikwindow.c:3785
msgid "Show Side _Panel"
msgstr ""
-#: ../src/vikwindow.c:3224
+#: ../src/vikwindow.c:3785
msgid "Show Side Panel"
msgstr "Pokaż panel boczny"
-#: ../src/vikwindow.c:3225
+#: ../src/vikwindow.c:3786
msgid "Show Status_bar"
msgstr ""
-#: ../src/vikwindow.c:3225
+#: ../src/vikwindow.c:3786
msgid "Show Statusbar"
msgstr ""
-#: ../src/vikwindow.c:3226
+#: ../src/vikwindow.c:3787
msgid "Show _Toolbar"
msgstr ""
-#: ../src/vikwindow.c:3226
+#: ../src/vikwindow.c:3787
msgid "Show Toolbar"
msgstr ""
-#: ../src/vikwindow.c:3227
+#: ../src/vikwindow.c:3788
msgid "Show _Menu"
msgstr ""
-#: ../src/vikwindow.c:3227
+#: ../src/vikwindow.c:3788
msgid "Show Menu"
msgstr ""
+#: ../src/vikwindow.c:3862
+#, c-format
+msgid "New _%s Layer"
+msgstr ""
+
#: ../src/viking.desktop.in.h:2
msgid "GPS Data Manager"
msgstr "Menedżer danych GPS"
diff --git a/po/pt_BR.po b/po/pt_BR.po
index 989e0b9..329c284 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: viking\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-02-04 23:29+0100\n"
+"POT-Creation-Date: 2013-09-03 21:58+0200\n"
"PO-Revision-Date: 2011-06-09 02:24+0000\n"
"Last-Translator: Sam Samuels <gemini_sam_samuels@hotmail.co.uk>\n"
"Language-Team: Brazilian Portuguese <pt_BR@li.org>\n"
@@ -15,60 +15,60 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
-"X-Launchpad-Export-Date: 2013-03-23 17:12+0000\n"
-"X-Generator: Launchpad (build 16540)\n"
+"X-Launchpad-Export-Date: 2013-10-12 09:04+0000\n"
+"X-Generator: Launchpad (build 16799)\n"
"Language: pt_BR\n"
-#: ../src/acquire.c:103 ../src/vikgpslayer.c:1185
+#: ../src/acquire.c:103 ../src/vikgpslayer.c:1235
msgid "Done."
msgstr "Concluído."
-#: ../src/acquire.c:114
+#: ../src/acquire.c:112
msgid "No data."
msgstr "Sem dados."
-#: ../src/acquire.c:154 ../src/acquire.c:404
+#: ../src/acquire.c:154 ../src/acquire.c:424
msgid "Error: acquisition failed."
msgstr "Erro: aquisição falhou."
-#: ../src/acquire.c:341
+#: ../src/acquire.c:352
msgid "Working..."
msgstr "Trabalhando..."
#. This shouldn't happen...
-#: ../src/acquire.c:394
+#: ../src/acquire.c:415
msgid ""
"Unable to create command\n"
"Acquire method failed."
msgstr ""
-#: ../src/acquire.c:486
+#: ../src/acquire.c:517
msgid "_Filter"
msgstr ""
-#: ../src/acquire.c:501
+#: ../src/acquire.c:532
#, c-format
msgid "Filter with %s"
msgstr ""
-#: ../src/acquire.c:518
+#: ../src/acquire.c:549
msgid "Filter"
msgstr ""
-#: ../src/background.c:52
+#: ../src/background.c:53
#, c-format
msgid "%d items"
msgstr "%d itens"
-#: ../src/background.c:248
+#: ../src/background.c:254
msgid "Job"
msgstr "Trabalho"
-#: ../src/background.c:252
+#: ../src/background.c:258
msgid "Progress"
msgstr "Progresso"
-#: ../src/background.c:268
+#: ../src/background.c:274
msgid "Viking Background Jobs"
msgstr "Trabalhos em Segundo Plano do Viking"
@@ -77,7 +77,7 @@ msgid "Bing"
msgstr ""
#. VIK_GTK_WINDOW_FROM_WIDGET(vp)
-#: ../src/bingmapsource.c:445
+#: ../src/bingmapsource.c:499
msgid "Bing attribution Loading"
msgstr ""
@@ -105,35 +105,35 @@ msgid ""
msgstr ""
"Por favor selecione uma camada apropriada para colar o Caminho (Waypoint)."
-#: ../src/dialog.c:52
+#: ../src/dialog.c:53
msgid "Go to Lat/Lon"
msgstr "Ir para Lat/Long"
-#: ../src/dialog.c:64 ../src/dialog.c:251
+#: ../src/dialog.c:65 ../src/dialog.c:244
msgid "Latitude:"
msgstr "Latitude:"
-#: ../src/dialog.c:70 ../src/dialog.c:256
+#: ../src/dialog.c:71 ../src/dialog.c:249
msgid "Longitude:"
msgstr "Longitude:"
-#: ../src/dialog.c:102
+#: ../src/dialog.c:103
msgid "Go to UTM"
msgstr "Ir para UTM"
-#: ../src/dialog.c:115
+#: ../src/dialog.c:116
msgid "Northing:"
msgstr "Para o Norte:"
-#: ../src/dialog.c:121
+#: ../src/dialog.c:122
msgid "Easting:"
msgstr "Para o Oeste:"
-#: ../src/dialog.c:128
+#: ../src/dialog.c:129
msgid "Zone:"
msgstr "Zona:"
-#: ../src/dialog.c:131
+#: ../src/dialog.c:132
msgid "Letter:"
msgstr "Carta:"
@@ -141,105 +141,109 @@ msgstr "Carta:"
msgid "Waypoint Properties"
msgstr "Propriedades de Waypoint"
-#: ../src/dialog.c:233
+#: ../src/dialog.c:235
msgid "Name:"
msgstr "Nome:"
-#: ../src/dialog.c:261
+#: ../src/dialog.c:254
msgid "Altitude:"
msgstr "Altitude:"
-#: ../src/dialog.c:266
+#: ../src/dialog.c:259
msgid "Comment:"
msgstr "Comentário:"
-#: ../src/dialog.c:274 ../src/osm-traces.c:437
+#: ../src/dialog.c:267 ../src/osm-traces.c:445
msgid "Description:"
msgstr "Descrição:"
-#: ../src/dialog.c:277
+#: ../src/dialog.c:270
msgid "Image:"
msgstr "Imagem:"
-#: ../src/dialog.c:282
+#: ../src/dialog.c:275
msgid "Symbol:"
msgstr "Símbolo:"
-#: ../src/dialog.c:291
+#: ../src/dialog.c:284
msgid "(none)"
msgstr "(vazio)"
+#: ../src/dialog.c:326
+msgid "Time:"
+msgstr ""
+
#. TODO: other checks (isalpha or whatever )
-#: ../src/dialog.c:356
+#: ../src/dialog.c:363
msgid "Please enter a name for the waypoint."
msgstr "Por favor insira um nome para o waypoint."
-#: ../src/dialog.c:529 ../src/geonamessearch.c:243
+#: ../src/dialog.c:502 ../src/geonamessearch.c:244
#: ../src/datasource_osm_my_traces.c:507
msgid "Nothing was selected"
msgstr "Nada foi selecionado"
-#: ../src/dialog.c:537
+#: ../src/dialog.c:510
msgid "Add Route"
msgstr ""
-#: ../src/dialog.c:537
+#: ../src/dialog.c:510
msgid "Add Track"
msgstr "Adicionar Trilha"
-#: ../src/dialog.c:545
+#: ../src/dialog.c:518
msgid "Route Name:"
msgstr ""
-#: ../src/dialog.c:545
+#: ../src/dialog.c:518
msgid "Track Name:"
msgstr "Nome da Trilha:"
-#: ../src/dialog.c:565
+#: ../src/dialog.c:538
msgid "Please enter a name for the track."
msgstr "Por favor insira um nome para a trilha."
-#: ../src/dialog.c:623
+#: ../src/dialog.c:596
msgid "Zoom Factors..."
msgstr "Fatores de Zoom ..."
-#: ../src/dialog.c:637
+#: ../src/dialog.c:610
msgid "Zoom factor (in meters per pixel):"
msgstr "Fator de zoom (em metros por pixel):"
-#: ../src/dialog.c:638
+#: ../src/dialog.c:611
msgid "X (easting): "
msgstr "X (Para o Oeste): "
-#: ../src/dialog.c:639
+#: ../src/dialog.c:612
msgid "Y (northing): "
msgstr "Y (para o norte): "
-#: ../src/dialog.c:644
+#: ../src/dialog.c:617
msgid "X and Y zoom factors must be equal"
msgstr "Fatore X e Y zoom devem ser iguais"
-#: ../src/dialog.c:699
+#: ../src/dialog.c:672
msgid "1 min"
msgstr "1 min"
-#: ../src/dialog.c:700
+#: ../src/dialog.c:673
msgid "1 hour"
msgstr "1 hora"
-#: ../src/dialog.c:701
+#: ../src/dialog.c:674
msgid "1 day"
msgstr "1 dia"
-#: ../src/dialog.c:702
+#: ../src/dialog.c:675
msgid "Custom (in minutes):"
msgstr "Personalizar (em minutos):"
-#: ../src/dialog.c:808
+#: ../src/dialog.c:786
msgid "GPS Data and Topo Analyzer, Explorer, and Manager."
msgstr "Dados de GPS e Analisador de Topo, Explorador, e Gerenciador."
-#: ../src/dialog.c:809
+#: ../src/dialog.c:787
msgid ""
"This program is free software; you can redistribute it and/or modify it "
"under the terms of the GNU General Public License as published by the Free "
@@ -269,28 +273,28 @@ msgstr ""
"programa, se não, escreva para a Free Software Foundation, Inc., 59 Temple "
"Place, Suite 330, Boston, MA 02111-1307, EUA"
-#: ../src/dialog.c:837
+#: ../src/dialog.c:852
msgid "Translation is coordinated on http://launchpad.net/viking"
msgstr "A tradução é coordenada na http://launchpad.net/viking"
-#: ../src/dialog.c:845
+#: ../src/dialog.c:861
msgid "Download along track"
msgstr "Download da via"
-#: ../src/dialog.c:851
+#: ../src/dialog.c:868
msgid "Map type:"
msgstr "Tipo de mapa:"
-#: ../src/dialog.c:856
+#: ../src/dialog.c:874
msgid "Zoom level:"
msgstr "Nível de zoom:"
-#: ../src/dialog.c:896
+#: ../src/dialog.c:914
#, c-format
msgid "The map data is licensed: %s."
msgstr "Os dados do mapa são licenciados: %s"
-#: ../src/dialog.c:899
+#: ../src/dialog.c:917
#, c-format
msgid ""
"The data provided by '<b>%s</b>' are licensed under the following license: "
@@ -301,7 +305,7 @@ msgstr ""
"licença: <b>%s</b>.\n"
"Por favor, leia a licença antes de continuar."
-#: ../src/dialog.c:904
+#: ../src/dialog.c:922
msgid "Open license"
msgstr "Licença aberta"
@@ -350,7 +354,8 @@ msgstr "Entradas não encontradas!"
#. NB could allow columns to be shifted around by doing this after each new
#. gtk_tree_view_column_set_reorderable ( column, TRUE );
#. However I don't think is that useful, so I haven't put it in
-#: ../src/geonamessearch.c:177 ../src/datasource_osm_my_traces.c:425
+#: ../src/geonamessearch.c:177 ../src/datasource_osm_my_traces.c:424
+#: ../src/viktrwlayer_tracklist.c:521
msgid "Name"
msgstr ""
@@ -358,82 +363,192 @@ msgstr ""
msgid "Feature"
msgstr ""
-#: ../src/geonamessearch.c:187 ../src/datasource_osm_my_traces.c:440
+#: ../src/geonamessearch.c:187 ../src/datasource_osm_my_traces.c:439
msgid "Lat/Lon"
msgstr ""
-#: ../src/geonamessearch.c:269 ../src/googlesearch.c:100
+#: ../src/geonamessearch.c:270 ../src/googlesearch.c:100 ../src/vikgoto.c:306
msgid "couldn't map temp file"
msgstr "não foi possível mapear arquivo temporário"
-#: ../src/globals.c:44
+#: ../src/globals.c:73
+msgid "Absolute"
+msgstr ""
+
+#: ../src/globals.c:73
+msgid "Relative"
+msgstr ""
+
+#: ../src/globals.c:76
msgid "Degree format:"
msgstr "Formato de grau"
-#: ../src/globals.c:48
+#: ../src/globals.c:77
msgid "Distance units:"
msgstr "Unidade de distância:"
-#: ../src/globals.c:52
+#: ../src/globals.c:78
msgid "Speed units:"
msgstr "Unidade de velocidade:"
-#: ../src/globals.c:56
+#: ../src/globals.c:79
msgid "Height units:"
msgstr "Unidade de altura:"
-#: ../src/globals.c:60
+#: ../src/globals.c:80
msgid "Use large waypoint icons:"
msgstr "Usar ícones grandes do waypoint:"
-#: ../src/globals.c:64
+#: ../src/globals.c:81
msgid "Default latitude:"
msgstr "Latitude padrão"
-#: ../src/globals.c:67
+#: ../src/globals.c:82
msgid "Default longitude:"
msgstr "Longitude padrão"
-#: ../src/globals.c:73
+#: ../src/globals.c:88
msgid "Alphabetical"
msgstr ""
-#: ../src/globals.c:73 ../src/datasource_osm_my_traces.c:435
+#: ../src/globals.c:88 ../src/datasource_osm_my_traces.c:434
msgid "Time"
msgstr ""
-#: ../src/globals.c:76
+#: ../src/globals.c:88
+msgid "Creation"
+msgstr ""
+
+#: ../src/globals.c:89
+msgid "Title Case"
+msgstr ""
+
+#: ../src/globals.c:89
+msgid "Lowercase"
+msgstr ""
+
+#: ../src/globals.c:92
msgid "KML File Export Units:"
msgstr ""
-#: ../src/globals.c:77
+#: ../src/globals.c:93
msgid "GPX Track Order:"
msgstr ""
-#: ../src/globals.c:82
+#: ../src/globals.c:94
+msgid "GPX Waypoint Symbols:"
+msgstr ""
+
+#: ../src/globals.c:95
+msgid ""
+"Save GPX Waypoint Symbol names in the specified case. May be useful for "
+"compatibility with various devices"
+msgstr ""
+
+#: ../src/globals.c:100
msgid "Image Viewer:"
msgstr ""
-#: ../src/globals.c:87
+#: ../src/globals.c:105
msgid "External GPX Program 1:"
msgstr ""
-#: ../src/globals.c:88
+#: ../src/globals.c:106
msgid "External GPX Program 2:"
msgstr ""
+#: ../src/globals.c:110
+msgid "Save File Reference Mode:"
+msgstr ""
+
+#: ../src/globals.c:111
+msgid ""
+"When saving a Viking .vik file, this determines how the directory paths of "
+"filenames are written."
+msgstr ""
+
+#: ../src/globals.c:112
+msgid "Show Tooltip during Track Creation:"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Home Location"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Last Location"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Specified File"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Auto Location"
+msgstr ""
+
+#: ../src/globals.c:118
+msgid "Restore Window Setup:"
+msgstr ""
+
+#: ../src/globals.c:119
+msgid "Restore window size and layout"
+msgstr ""
+
+#: ../src/globals.c:120
+msgid "Add a Default Map Layer:"
+msgstr ""
+
+#: ../src/globals.c:121
+msgid ""
+"The default map layer added is defined by the Layer Defaults. Use the menu "
+"Edit->Layer Defaults->Map... to change the map type and other values."
+msgstr ""
+
+#: ../src/globals.c:122
+msgid "Startup Method:"
+msgstr ""
+
+#: ../src/globals.c:123
+msgid "Startup File:"
+msgstr ""
+
+#: ../src/globals.c:124
+msgid ""
+"The default file to load on startup. Only applies when the startup method is "
+"set to 'Specified File'"
+msgstr ""
+
+#: ../src/globals.c:125
+msgid "Check For New Version:"
+msgstr ""
+
+#: ../src/globals.c:126
+msgid "Periodically check to see if a new version of Viking is available"
+msgstr ""
+
#. Defaults for the options are setup here
-#: ../src/globals.c:96
+#: ../src/globals.c:163
msgid "General"
msgstr ""
#. New Tab
-#: ../src/globals.c:121
+#: ../src/globals.c:188
+msgid "Startup"
+msgstr ""
+
+#. New Tab
+#: ../src/globals.c:206
msgid "Export/External"
msgstr ""
+#. 'Advanced' Properties
+#: ../src/globals.c:230
+msgid "Advanced"
+msgstr ""
+
#. Webtools
-#: ../src/google.c:36
+#: ../src/google.c:38
msgid "Google"
msgstr "Google"
@@ -446,24 +561,24 @@ msgid "Imported file"
msgstr ""
#. The file selector
-#: ../src/datasource_file.c:133
+#: ../src/datasource_file.c:127
msgid "File:"
msgstr ""
-#: ../src/datasource_file.c:134
+#: ../src/datasource_file.c:128
msgid "File to import"
msgstr ""
-#: ../src/datasource_file.c:141
+#: ../src/datasource_file.c:135
msgid "All files"
msgstr ""
#. The file format selector
-#: ../src/datasource_file.c:148
+#: ../src/datasource_file.c:142
msgid "File type:"
msgstr ""
-#: ../src/datasource_file.c:193
+#: ../src/datasource_file.c:184
#, c-format
msgid "using babel args '%s' and file '%s'"
msgstr ""
@@ -476,29 +591,29 @@ msgstr "Baixar Geocaches"
msgid "Geocaching.com Caches"
msgstr "Caches Geocaching.com"
-#: ../src/datasource_gc.c:84
+#: ../src/datasource_gc.c:85
msgid "geocaching.com username:"
msgstr "nome de usuário geocaching.com:"
-#: ../src/datasource_gc.c:85
+#: ../src/datasource_gc.c:86
msgid "geocaching.com password:"
msgstr "senha geocaching.com:"
-#: ../src/datasource_gc.c:126
+#: ../src/datasource_gc.c:127
#, c-format
msgid ""
"Can't find %s or %s in path! Check that you have installed it correctly."
msgstr ""
-#: ../src/datasource_gc.c:188
+#: ../src/datasource_gc.c:189
msgid "Number geocaches:"
msgstr "Número dos Geocaches:"
-#: ../src/datasource_gc.c:190
+#: ../src/datasource_gc.c:191
msgid "Centered around:"
msgstr "Centralizado em torno de:"
-#: ../src/datasource_gc.c:226
+#: ../src/datasource_gc.c:230
msgid "Broken input - using some defaults"
msgstr ""
@@ -510,98 +625,89 @@ msgstr ""
msgid "Geotagged Images"
msgstr ""
-#: ../src/datasource_geotag.c:102 ../src/vikwindow.c:2314
-#: ../src/vikwindow.c:2382 ../src/vikwindow.c:2824
+#: ../src/datasource_geotag.c:102 ../src/vikwindow.c:2655
+#: ../src/vikwindow.c:2729 ../src/vikwindow.c:3380
msgid "All"
msgstr ""
-#: ../src/datasource_geotag.c:107 ../src/vikwindow.c:2829
+#: ../src/datasource_geotag.c:107 ../src/vikwindow.c:3385
msgid "JPG"
msgstr ""
-#: ../src/datasource_geotag.c:165
+#: ../src/datasource_geotag.c:168
#, c-format
msgid "Unable to create waypoint from %s"
msgstr ""
-#: ../src/datasource_google.c:49 ../src/datasource_google.c:50
-msgid "Google Directions"
-msgstr "Direções Google"
-
-#: ../src/datasource_google.c:77
-msgid "From:"
-msgstr "De:"
-
-#: ../src/datasource_google.c:79
-msgid "To:"
-msgstr "Para:"
-
-#: ../src/datasource_gps.c:57
+#: ../src/datasource_gps.c:54
msgid "Acquire from GPS"
msgstr "Aquisição do GPS"
-#: ../src/datasource_gps.c:58
+#: ../src/datasource_gps.c:55
msgid "Acquired from GPS"
msgstr "Adquiridos do GPS"
-#: ../src/datasource_gps.c:221
+#: ../src/datasource_gps.c:245
#, c-format
msgid "using cmdline '%s' and file '%s'\n"
msgstr "usandOp cmdline '%s' e arquivo '%s'\n"
-#: ../src/datasource_gps.c:297 ../src/vikgpslayer.c:884
+#: ../src/datasource_gps.c:327 ../src/vikgpslayer.c:934
#, c-format
msgid "Downloading %d waypoint..."
msgid_plural "Downloading %d waypoints..."
msgstr[0] "Baixando %d waypoint..."
msgstr[1] "baixando %d waypoints..."
-#: ../src/datasource_gps.c:298 ../src/vikgpslayer.c:885
+#: ../src/datasource_gps.c:328 ../src/vikgpslayer.c:935
#, c-format
msgid "Downloading %d trackpoint..."
msgid_plural "Downloading %d trackpoints..."
msgstr[0] "Baixando %d trackpoint..."
msgstr[1] "Baixando %d trackpoints..."
-#: ../src/datasource_gps.c:303 ../src/vikgpslayer.c:890
+#: ../src/datasource_gps.c:333 ../src/vikgpslayer.c:940
#, c-format
msgid "Downloading %d routepoint..."
msgid_plural "Downloading %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/datasource_gps.c:325 ../src/datasource_gps.c:326
-#: ../src/datasource_gps.c:327
+#: ../src/datasource_gps.c:355 ../src/datasource_gps.c:356
+#: ../src/datasource_gps.c:357
#, c-format
msgid "Downloaded %d out of %d %s..."
msgstr "Transferido %d de %d%s..."
-#: ../src/datasource_gps.c:331 ../src/datasource_gps.c:332
-#: ../src/datasource_gps.c:333
+#: ../src/datasource_gps.c:361 ../src/datasource_gps.c:362
+#: ../src/datasource_gps.c:363
#, c-format
msgid "Downloaded %d %s."
msgstr "Baixado %d %s"
-#: ../src/datasource_gps.c:347 ../src/vikgpslayer.c:968
+#: ../src/datasource_gps.c:377 ../src/vikgpslayer.c:1018
#, c-format
msgid "GPS Device: %s"
msgstr "Dispositivo GPS: %s"
-#: ../src/datasource_gps.c:370 ../src/vikgpslayer.c:1042
-#: ../src/vikgpslayer.c:1110
+#: ../src/datasource_gps.c:400 ../src/vikgpslayer.c:1092
+#: ../src/vikgpslayer.c:1160
msgid "Status: Working..."
msgstr ""
-#: ../src/datasource_gps.c:469 ../src/vikgpslayer.c:150
+#. NB gps_layer_inst_init() is performed after parameter registeration
+#. thus to give the protocols some potential values use the old static list
+#. TODO: find another way to use gps_layer_inst_init()?
+#: ../src/datasource_gps.c:500 ../src/vikgpslayer.c:207
msgid "GPS Protocol:"
msgstr "Protocolo GPS:"
-#. List now assigned at runtime
-#: ../src/datasource_gps.c:488 ../src/vikgpslayer.c:151
+#. List reassigned at runtime
+#: ../src/datasource_gps.c:526 ../src/vikgpslayer.c:208
msgid "Serial Port:"
msgstr "Porta Serial:"
-#: ../src/datasource_gps.c:509
+#: ../src/datasource_gps.c:576
msgid ""
"Turn Off After Transfer\n"
"(Garmin/NAViLink Only)"
@@ -609,19 +715,19 @@ msgstr ""
"Desligar Após Transferência\n"
"(Apenas Garmin/NAViLink)"
-#: ../src/datasource_gps.c:512
+#: ../src/datasource_gps.c:583
msgid "Tracks:"
msgstr ""
-#: ../src/datasource_gps.c:516
+#: ../src/datasource_gps.c:590
msgid "Routes:"
msgstr ""
-#: ../src/datasource_gps.c:520
+#: ../src/datasource_gps.c:597
msgid "Waypoints:"
msgstr ""
-#: ../src/datasource_gps.c:594 ../src/vikgpslayer.c:1305
+#: ../src/datasource_gps.c:675 ../src/vikgpslayer.c:1355
msgid "GPS device: N/A"
msgstr "Dispositivo GPS: N/D"
@@ -629,39 +735,39 @@ msgstr "Dispositivo GPS: N/D"
msgid "OSM traces"
msgstr ""
-#: ../src/datasource_osm.c:80
+#: ../src/datasource_osm.c:82
msgid "Page number:"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:63 ../src/datasource_osm_my_traces.c:64
+#: ../src/datasource_osm_my_traces.c:59 ../src/datasource_osm_my_traces.c:60
msgid "OSM My Traces"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:108
+#: ../src/datasource_osm_my_traces.c:104
msgid "Username:"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:113
+#: ../src/datasource_osm_my_traces.c:109
msgid "The email or username used to login to OSM"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:115 ../src/osm-traces.c:413
+#: ../src/datasource_osm_my_traces.c:111 ../src/osm-traces.c:421
msgid "Password:"
msgstr "Senha:"
-#: ../src/datasource_osm_my_traces.c:120
+#: ../src/datasource_osm_my_traces.c:114
msgid "The password used to login to OSM"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:430
+#: ../src/datasource_osm_my_traces.c:429
msgid "Description"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:445
+#: ../src/datasource_osm_my_traces.c:444
msgid "Privacy"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:452
+#: ../src/datasource_osm_my_traces.c:451
msgid "Within Current View"
msgstr ""
@@ -673,15 +779,33 @@ msgstr ""
msgid "None found!"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:629
+#: ../src/datasource_osm_my_traces.c:634
msgid "My OSM Traces"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:645
+#: ../src/datasource_osm_my_traces.c:649
#, c-format
msgid "Unable to get trace: %s"
msgstr ""
+#: ../src/datasource_routing.c:53 ../src/datasource_routing.c:54
+msgid "Directions"
+msgstr ""
+
+#. Engine selector
+#: ../src/datasource_routing.c:83
+msgid "Engine:"
+msgstr ""
+
+#. From and To entries
+#: ../src/datasource_routing.c:88
+msgid "From:"
+msgstr "De:"
+
+#: ../src/datasource_routing.c:90
+msgid "To:"
+msgstr "Para:"
+
#: ../src/datasource_wikipedia.c:32
msgid "Create Waypoints from Wikipedia Articles"
msgstr ""
@@ -702,138 +826,138 @@ msgstr "Cabeçalho DEM inválido"
msgid "Incorrect DEM Class B record: expected 1"
msgstr "Registro Classe B Incorreta: 1 esperado"
-#: ../src/dem.c:360
+#: ../src/dem.c:288 ../src/download.c:170
#, c-format
msgid "Couldn't map file %s: %s"
msgstr "Não foi possível mapear o arquivo %s: %s"
-#: ../src/download.c:112
-msgid "Tile age (s):"
-msgstr "Idade da Telha (s):"
+#: ../src/download.c:130
+msgid "Tile age (days):"
+msgstr ""
-#: ../src/download.c:233
+#: ../src/download.c:321
#, c-format
msgid "Download error: %s"
msgstr "Erro no Download: %s"
-#: ../src/download.c:313
+#: ../src/download.c:404
msgid "couldn't open temp file"
msgstr "não foi possível abrir o arquivo temporário"
-#: ../src/file.c:456 ../src/file.c:461
+#: ../src/file.c:451 ../src/file.c:456
#, c-format
msgid "Draw mode '%s' no more supported"
msgstr "Modo de Empate '%s'' não é mais suportada"
-#: ../src/geotag_exif.c:433
+#: ../src/geotag_exif.c:421
msgid "Not enough memory."
msgstr ""
-#: ../src/geotag_exif.c:451
+#: ../src/geotag_exif.c:439
msgid "Setting a value for this tag is unsupported!"
msgstr ""
-#: ../src/geotag_exif.c:470
+#: ../src/geotag_exif.c:458
#, c-format
msgid "Too few components specified (need %d, found %d)\n"
msgstr ""
-#: ../src/geotag_exif.c:474
+#: ../src/geotag_exif.c:462
msgid "Numeric value expected\n"
msgstr ""
-#: ../src/geotag_exif.c:482
+#: ../src/geotag_exif.c:470
msgid "This shouldn't happen!"
msgstr ""
-#: ../src/geotag_exif.c:552
+#: ../src/geotag_exif.c:540
msgid "Not yet implemented!"
msgstr ""
-#: ../src/geotag_exif.c:565
+#: ../src/geotag_exif.c:553
msgid "Warning; Too many components specified!"
msgstr ""
-#: ../src/osm-traces.c:73
+#: ../src/osm-traces.c:76
msgid "Identifiable (public w/ timestamps)"
msgstr "Identificável (w público / data e hora)"
-#: ../src/osm-traces.c:74
+#: ../src/osm-traces.c:77
msgid "Trackable (private w/ timestamps)"
msgstr "Rastreável (w/ data e hora privados)"
-#: ../src/osm-traces.c:75
+#: ../src/osm-traces.c:78
msgid "Public"
msgstr "Público"
-#: ../src/osm-traces.c:76
+#: ../src/osm-traces.c:79
msgid "Private"
msgstr "Privado"
-#: ../src/osm-traces.c:93
+#: ../src/osm-traces.c:97
msgid "OSM username:"
msgstr "Nome de usuário OSM:"
-#: ../src/osm-traces.c:94
+#: ../src/osm-traces.c:98
msgid "OSM password:"
msgstr "Senha do OSM:"
#. Preferences
-#: ../src/osm-traces.c:151
+#: ../src/osm-traces.c:155
msgid "OpenStreetMap Traces"
msgstr ""
-#: ../src/osm-traces.c:234
+#: ../src/osm-traces.c:238
#, c-format
msgid "failed to upload data: HTTP response is %ld"
msgstr "falha no envio de dados: Resposta HTTP é %ld"
-#: ../src/osm-traces.c:239
+#: ../src/osm-traces.c:243
#, c-format
msgid "curl_easy_getinfo failed: %d"
msgstr "curl_easy_getinfo falhou: %d"
-#: ../src/osm-traces.c:244
+#: ../src/osm-traces.c:248
#, c-format
msgid "curl request failed: %s"
msgstr "pedido curl falhou: %s"
-#: ../src/osm-traces.c:275
+#: ../src/osm-traces.c:279
#, c-format
msgid "failed to open temporary file: %s"
msgstr "Falha ao abrir o arquivo temporário: %s"
#. Success
-#: ../src/osm-traces.c:328
+#: ../src/osm-traces.c:340
msgid "Uploaded to OSM"
msgstr ""
-#: ../src/osm-traces.c:332
+#: ../src/osm-traces.c:344
msgid "FAILED TO UPLOAD DATA TO OSM - CURL PROBLEM"
msgstr ""
-#: ../src/osm-traces.c:335
+#: ../src/osm-traces.c:347
msgid "FAILED TO UPLOAD DATA TO OSM"
msgstr ""
-#: ../src/osm-traces.c:335
+#: ../src/osm-traces.c:347
msgid "HTTP response code"
msgstr ""
-#: ../src/osm-traces.c:348
+#: ../src/osm-traces.c:355
#, c-format
msgid "failed to unlink temporary file: %s"
msgstr "Falha ao desvincular o arquivo temporário: %s"
-#: ../src/osm-traces.c:387
+#: ../src/osm-traces.c:394
msgid "OSM upload"
msgstr "OSM upload"
-#: ../src/osm-traces.c:405
+#: ../src/osm-traces.c:413
msgid "Email:"
msgstr "Email:"
-#: ../src/osm-traces.c:410
+#: ../src/osm-traces.c:418
msgid ""
"The email used as login\n"
"<small>Enter the email you use to login into www.openstreetmap.org.</small>"
@@ -842,7 +966,7 @@ msgstr ""
"<small>Digite o e-mail que você usa para fazer login em "
"www.openstreetmap.org.</small>"
-#: ../src/osm-traces.c:418
+#: ../src/osm-traces.c:426
msgid ""
"The password used to login\n"
"<small>Enter the password you use to login into "
@@ -852,11 +976,11 @@ msgstr ""
"<small>Digite a senha que você usa para entrar em www.openstreetmap.org.</ "
"small>"
-#: ../src/osm-traces.c:423
+#: ../src/osm-traces.c:431
msgid "File's name:"
msgstr "Nome do arquivo:"
-#: ../src/osm-traces.c:433
+#: ../src/osm-traces.c:441
msgid ""
"The name of the file on OSM\n"
"<small>This is the name of the file created on the server.This is not the "
@@ -866,19 +990,30 @@ msgstr ""
"<small>Este é o nome do arquivo criado no servidor. Este não é o nome do "
"arquivo local.</ small>"
-#: ../src/osm-traces.c:442
+#: ../src/osm-traces.c:450
msgid "The description of the trace"
msgstr "A descrição do rastreamento"
-#: ../src/osm-traces.c:444
+#: ../src/osm-traces.c:453
+msgid "Anonymize Times:"
+msgstr ""
+
+#: ../src/osm-traces.c:458
+msgid ""
+"Anonymize times of the trace.\n"
+"<small>You may choose to make the trace identifiable, yet mask the actual "
+"real time values</small>"
+msgstr ""
+
+#: ../src/osm-traces.c:462
msgid "Tags:"
msgstr "Etiquetas:"
-#: ../src/osm-traces.c:449
+#: ../src/osm-traces.c:467
msgid "The tags associated to the trace"
msgstr "As marcas associadas ao rastreamento"
-#: ../src/osm-traces.c:482
+#: ../src/osm-traces.c:529
#, c-format
msgid "Uploading %s to OSM"
msgstr "Uploading %s para OSM"
@@ -887,69 +1022,88 @@ msgstr "Uploading %s para OSM"
msgid "Map cache memory size (MB):"
msgstr ""
-#: ../src/print.c:53
+#: ../src/print.c:51 ../src/viktrwlayer.c:509
msgid "None"
msgstr "Nenhum"
-#: ../src/print.c:54
+#: ../src/print.c:52
msgid "Horizontally"
msgstr "Horizontalmente"
-#: ../src/print.c:55
+#: ../src/print.c:53
msgid "Vertically"
msgstr "Verticalmente"
-#: ../src/print.c:56
+#: ../src/print.c:54
msgid "Both"
msgstr "Ambos"
-#: ../src/print.c:120
+#: ../src/print.c:118
msgid "Image Settings"
msgstr "Configurações de Imagem"
-#: ../src/print.c:546
+#: ../src/print.c:548
msgid "done"
msgstr "concluído"
#. Page Size
-#: ../src/print.c:575
+#: ../src/print.c:577
msgid "_Adjust Page Size and Orientation"
msgstr "_Ajustar Tamanho e a Orientação da Página"
-#: ../src/print.c:591
+#: ../src/print.c:593
msgid "C_enter:"
msgstr "C_entro:"
#. ignore page margins
-#: ../src/print.c:609
+#: ../src/print.c:611
msgid "Ignore Page _Margins"
msgstr "Ignorar _Margens da Página"
-#: ../src/print.c:628
+#: ../src/print.c:630
msgid "Image S_ize:"
msgstr "Tamanho da Imagem"
-#: ../src/util.c:81
-msgid "Could not launch web browser."
-msgstr "Não foi possível iniciar o navegador de Internet."
+#: ../src/util.c:65
+#, c-format
+msgid "Could not launch web browser. %s"
+msgstr ""
-#: ../src/util.c:92
-msgid "Could not create new email."
-msgstr "Não foi possível criar e-mail."
+#: ../src/util.c:76
+#, c-format
+msgid "Could not create new email. %s"
+msgstr ""
-#: ../src/vikcoordlayer.c:46
+#: ../src/util.c:177
+#, c-format
+msgid ""
+"There is a newer version of Viking available: %s\n"
+"\n"
+"Do you wish to go to Viking's website now?"
+msgstr ""
+
+#: ../src/util.c:304
+msgid ""
+"This appears to be Viking's very first run.\n"
+"\n"
+"Do you wish to enable automatic internet features?\n"
+"\n"
+"Individual settings can be controlled in the Preferences."
+msgstr ""
+
+#: ../src/vikcoordlayer.c:57
msgid "Color:"
msgstr "Cor:"
-#: ../src/vikcoordlayer.c:47
+#: ../src/vikcoordlayer.c:58
msgid "Minutes Width:"
msgstr "Largura da Ata:"
-#: ../src/vikcoordlayer.c:48
+#: ../src/vikcoordlayer.c:59
msgid "Line Thickness:"
msgstr "Espessura da linha:"
-#: ../src/vikcoordlayer.c:56
+#: ../src/vikcoordlayer.c:66
msgid "Coordinate"
msgstr ""
@@ -985,64 +1139,132 @@ msgstr "Os Waypoints fora deste"
msgid "Polygonzied Layer"
msgstr "Camada Poligonizada"
-#: ../src/main.c:89
+#: ../src/main.c:92
#, c-format
msgid "Ignoring Xlib error: error code %d request code %d\n"
msgstr ""
-#: ../src/main.c:102
+#: ../src/main.c:105
msgid "Enable debug output"
msgstr "Habilitar a saída de depuração"
-#: ../src/main.c:103
+#: ../src/main.c:106
msgid "Enable verbose output"
msgstr "Habilitar saída com mensagens detalhadas"
-#: ../src/main.c:104
+#: ../src/main.c:107
msgid "Show version"
msgstr "Mostrar versão"
-#: ../src/osm.c:106
+#: ../src/osm.c:99
msgid "On Disk OSM Tile Format"
msgstr ""
-#: ../src/osm.c:121
+#: ../src/osm.c:113
msgid "OSM (view)"
msgstr "OSM (vista)"
-#: ../src/osm.c:125
+#: ../src/osm.c:117
msgid "OSM (edit)"
msgstr "OSM (editar)"
-#: ../src/osm.c:129
+#: ../src/osm.c:121
msgid "OSM (render)"
msgstr "OSM (processar)"
#. Example: http://127.0.0.1:8111/load_and_zoom?left=8.19&right=8.20&top=48.605&bottom=48.590&select=node413602999
#. JOSM or merkaartor must already be running with remote interface enabled
-#: ../src/osm.c:136
+#: ../src/osm.c:128
msgid "Local port 8111 (eg JOSM)"
msgstr ""
-#: ../src/preferences.c:285
+#: ../src/osm.c:134
+msgid "OpenStreetMap Notes"
+msgstr ""
+
+#: ../src/osm.c:138
+msgid "OpenStreetBugs"
+msgstr ""
+
+#. Not really OSM but can't be bothered to create somewhere else to put it...
+#: ../src/osm.c:164
+msgid "Wikimedia Toolserver GeoHack"
+msgstr ""
+
+#: ../src/preferences.c:191
msgid "Preferences"
msgstr "Preferências"
-#: ../src/uibuilder.c:147
+#: ../src/viklayer_defaults.c:232
+#, c-format
+msgid "Could not open file: %s"
+msgstr ""
+
+#: ../src/viklayer_defaults.c:303
+msgid "Layer Defaults"
+msgstr ""
+
+#: ../src/uibuilder.c:185
msgid "Take care that this password will be stored clearly in a plain file."
msgstr ""
"Tome cuidado para que essa senha seja armazenada em meio a um simples "
"arquivo."
-#: ../src/vikaggregatelayer.c:37
+#: ../src/vikaggregatelayer.c:42
msgid "Aggregate"
msgstr ""
-#: ../src/vikdemlayer.c:101
+#. VikLayersPanel *vlp = VIK_LAYERS_PANEL(lav[1]);
+#: ../src/vikaggregatelayer.c:484 ../src/viktrwlayer.c:10238
+#, c-format
+msgid "%s: Track and Route List"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:529 ../src/viktrwlayer.c:7354
+#: ../src/viktrwlayer.c:7420 ../src/viktrwlayer.c:7498
+msgid "_Visibility"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:534
+msgid "_Show All"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:540
+msgid "_Hide All"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:546 ../src/viktrwlayer.c:7371
+#: ../src/viktrwlayer.c:7437 ../src/viktrwlayer.c:7515
+msgid "_Toggle"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:553 ../src/viktrwlayer.c:7536
+msgid "_Sort"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:559 ../src/viktrwlayer.c:7542
+msgid "Name _Ascending"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:565 ../src/viktrwlayer.c:7548
+msgid "Name _Descending"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:571 ../src/viktrwlayer.c:7449
+#: ../src/viktrwlayer.c:7527 ../src/viktrwlayer.c:7587
+#: ../src/viktrwlayer_tracklist.c:237
+msgid "_Statistics"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:576 ../src/viktrwlayer.c:3971
+msgid "Track _List..."
+msgstr ""
+
+#: ../src/vikdemlayer.c:92
msgid "Absolute height"
msgstr "Altura absoluta"
-#: ../src/vikdemlayer.c:102
+#: ../src/vikdemlayer.c:93
msgid "Height gradient"
msgstr "Gradiente de Altura"
@@ -1082,25 +1304,52 @@ msgstr ""
msgid "DEM"
msgstr ""
-#: ../src/vikdemlayer.c:284
+#: ../src/vikdemlayer.c:287
#, c-format
msgid "Number of files: %d"
msgstr "Número de arquivos: %d"
-#: ../src/vikdemlayer.c:385
+#: ../src/vikdemlayer.c:427
msgid "DEM Loading"
msgstr "DEM Carregando"
-#: ../src/vikdemlayer.c:889
+#: ../src/vikdemlayer.c:937
#, c-format
msgid "No SRTM data available for %f, %f"
msgstr "Não há dados SRTM disponíveis para %f, %f"
-#: ../src/vikdemlayer.c:1149
+#. Probably not over any land...
+#: ../src/vikdemlayer.c:1193
+msgid "No DEM File Available"
+msgstr ""
+
+#: ../src/vikdemlayer.c:1212
+#, c-format
+msgid ""
+"\n"
+"Source: %s\n"
+"\n"
+"DEM File: %s\n"
+"DEM File Timestamp: %s"
+msgstr ""
+
+#: ../src/vikdemlayer.c:1216
+#, c-format
+msgid ""
+"Source: %s\n"
+"\n"
+"No DEM File!"
+msgstr ""
+
+#: ../src/vikdemlayer.c:1256
#, c-format
msgid "Downloading DEM %s"
msgstr "Baixando DEM %s"
+#: ../src/vikdemlayer.c:1280
+msgid "_Show DEM File Information"
+msgstr ""
+
#: ../src/vikfileentry.c:68
msgid "Browse..."
msgstr "Navegar..."
@@ -1121,248 +1370,266 @@ msgstr "Adicionar..."
msgid "Delete"
msgstr "Excluir"
-#: ../src/vikgeoreflayer.c:70
+#: ../src/vikgeoreflayer.c:78
msgid "_Georef Move Map"
msgstr ""
-#: ../src/vikgeoreflayer.c:70
+#: ../src/vikgeoreflayer.c:78
msgid "Georef Move Map"
msgstr "GEOREF Mover Mapa"
-#: ../src/vikgeoreflayer.c:77
+#: ../src/vikgeoreflayer.c:85
msgid "Georef Z_oom Tool"
msgstr ""
-#: ../src/vikgeoreflayer.c:77
+#: ../src/vikgeoreflayer.c:85
msgid "Georef Zoom Tool"
msgstr "GEOREF Ferramenta de Zoom"
-#: ../src/vikgeoreflayer.c:87
+#: ../src/vikgeoreflayer.c:95
msgid "GeoRef Map"
msgstr ""
-#: ../src/vikgeoreflayer.c:335 ../src/vikmapslayer.c:685
+#: ../src/vikgeoreflayer.c:377 ../src/vikmapslayer.c:720
#, c-format
msgid "Couldn't open image file: %s"
msgstr "Não foi possível abrir arquivo de imagem: %s"
-#: ../src/vikgeoreflayer.c:365
+#: ../src/vikgeoreflayer.c:391
+msgid ""
+"GeoRef map cannot be displayed in the current drawmode.\n"
+"Select \"UTM Mode\" from View menu to view it."
+msgstr ""
+
+#: ../src/vikgeoreflayer.c:415
msgid "Unexpected end of file reading World file."
msgstr "Fim de arquivo inesperado ao ler o arquivo Mundial."
-#: ../src/vikgeoreflayer.c:381 ../src/vikgeoreflayer.c:426
+#: ../src/vikgeoreflayer.c:431 ../src/vikgeoreflayer.c:476
msgid "Choose World file"
msgstr "Escolher arquivo Mundial"
-#: ../src/vikgeoreflayer.c:394
+#: ../src/vikgeoreflayer.c:444
msgid "The World file you requested could not be opened for reading."
msgstr "O arquivo Mundial solicitado não pôde ser aberto para leitura."
-#: ../src/vikgeoreflayer.c:439
+#: ../src/vikgeoreflayer.c:489
msgid "The file you requested could not be opened for writing."
msgstr "O arquivo solicitado não pôde ser aberto para escrita."
-#: ../src/vikgeoreflayer.c:456 ../src/viklayer.c:480
+#: ../src/vikgeoreflayer.c:506 ../src/viklayer.c:518
msgid "Layer Properties"
msgstr "Propriedades da Camada"
-#: ../src/vikgeoreflayer.c:478
+#: ../src/vikgeoreflayer.c:528
msgid "World File Parameters:"
msgstr "Parâmetros do Arquivo Mundial:"
-#: ../src/vikgeoreflayer.c:479
+#: ../src/vikgeoreflayer.c:529
msgid "Load From File..."
msgstr "Carregar Do Arquivo..."
-#: ../src/vikgeoreflayer.c:484
+#: ../src/vikgeoreflayer.c:534
msgid "Corner pixel easting:"
msgstr "Pixel De canto Para o Oeste:"
-#: ../src/vikgeoreflayer.c:486
-msgid "the UTM \"easting\" value of the upper-right corner pixel of the map"
-msgstr "UTM valor \"Para o Oeste\" do Pixel canto superior direito do mapa"
+#: ../src/vikgeoreflayer.c:536
+msgid "the UTM \"easting\" value of the upper-left corner pixel of the map"
+msgstr ""
-#: ../src/vikgeoreflayer.c:488
+#: ../src/vikgeoreflayer.c:538
msgid "Corner pixel northing:"
msgstr "Pixel De canto Para o Norte:"
-#: ../src/vikgeoreflayer.c:490
-msgid "the UTM \"northing\" value of the upper-right corner pixel of the map"
-msgstr "UTM valor \"Para o Norte\" do Pixel canto superior direito do mapa"
+#: ../src/vikgeoreflayer.c:540
+msgid "the UTM \"northing\" value of the upper-left corner pixel of the map"
+msgstr ""
-#: ../src/vikgeoreflayer.c:492
+#: ../src/vikgeoreflayer.c:542
msgid "X (easting) scale (mpp): "
msgstr "X (easting) escala (mpp): "
-#: ../src/vikgeoreflayer.c:493
+#: ../src/vikgeoreflayer.c:543
msgid "Y (northing) scale (mpp): "
msgstr "Y (northing) escala (mpp): "
-#: ../src/vikgeoreflayer.c:496
+#: ../src/vikgeoreflayer.c:546
msgid "the scale of the map in the X direction (meters per pixel)"
msgstr "a escala do mapa na direção X (metros por Pixel)"
-#: ../src/vikgeoreflayer.c:498
+#: ../src/vikgeoreflayer.c:548
msgid "the scale of the map in the Y direction (meters per pixel)"
msgstr "a escala do mapa na direção Y (metros por pixel)"
-#: ../src/vikgeoreflayer.c:500
+#: ../src/vikgeoreflayer.c:550
msgid "Map Image:"
msgstr "Mapa de Imagem:"
#. Now with icons
-#: ../src/vikgeoreflayer.c:608
+#: ../src/vikgeoreflayer.c:658
msgid "_Zoom to Fit Map"
msgstr "_Zoom para se adaptar ao Mapa"
-#: ../src/vikgeoreflayer.c:614
+#: ../src/vikgeoreflayer.c:664
msgid "_Goto Map Center"
msgstr "Centro Mapa _Goto"
-#: ../src/vikgeoreflayer.c:620
+#: ../src/vikgeoreflayer.c:670
msgid "_Export to World File"
msgstr "_Exportar para Arquivo Mundial"
-#: ../src/vikgoto.c:75
+#: ../src/vikgoto.c:81
msgid "No goto tool available."
msgstr "Nenhuma ferramenta goto disponível."
-#: ../src/vikgoto.c:88 ../src/vikgoto.c:107
+#: ../src/vikgoto.c:94 ../src/vikgoto.c:148
msgid "goto"
msgstr "goto"
-#: ../src/vikgoto.c:90
+#: ../src/vikgoto.c:96
msgid "I don't know that place. Do you want another goto?"
msgstr "Eu não sei esse lugar. Quer mais goto?"
-#: ../src/vikgoto.c:109
+#: ../src/vikgoto.c:150
msgid "goto provider:"
msgstr "provedor goto:"
-#: ../src/vikgoto.c:124
+#: ../src/vikgoto.c:165
msgid "Enter address or place name:"
msgstr "Informe o endereço ou o nome do local:"
-#: ../src/vikgpslayer.c:127
+#: ../src/vikgoto.c:363
+msgid "Locality"
+msgstr ""
+
+#: ../src/vikgpslayer.c:128
msgid "Data Mode"
msgstr ""
-#: ../src/vikgpslayer.c:129
+#: ../src/vikgpslayer.c:130
msgid "Realtime Tracking Mode"
msgstr ""
-#: ../src/vikgpslayer.c:137
+#: ../src/vikgpslayer.c:167
msgid "Keep vehicle at center"
msgstr ""
-#: ../src/vikgpslayer.c:138
+#: ../src/vikgpslayer.c:168
msgid "Keep vehicle on screen"
msgstr ""
-#: ../src/vikgpslayer.c:139
+#: ../src/vikgpslayer.c:169
msgid "Disable"
msgstr ""
-#: ../src/vikgpslayer.c:152
+#: ../src/vikgpslayer.c:209
msgid "Download Tracks:"
msgstr ""
-#: ../src/vikgpslayer.c:153
+#: ../src/vikgpslayer.c:210
msgid "Upload Tracks:"
msgstr ""
-#: ../src/vikgpslayer.c:154
+#: ../src/vikgpslayer.c:211
msgid "Download Routes:"
msgstr ""
-#: ../src/vikgpslayer.c:155
+#: ../src/vikgpslayer.c:212
msgid "Upload Routes:"
msgstr ""
-#: ../src/vikgpslayer.c:156
+#: ../src/vikgpslayer.c:213
msgid "Download Waypoints:"
msgstr ""
-#: ../src/vikgpslayer.c:157
+#: ../src/vikgpslayer.c:214
msgid "Upload Waypoints:"
msgstr ""
-#: ../src/vikgpslayer.c:159
+#: ../src/vikgpslayer.c:216
msgid "Recording tracks"
msgstr "Gravação de faixas"
-#: ../src/vikgpslayer.c:160
+#: ../src/vikgpslayer.c:217
msgid "Jump to current position on start"
msgstr "Ir para a posição atual no início"
-#: ../src/vikgpslayer.c:161
+#: ../src/vikgpslayer.c:218
msgid "Moving Map Method:"
msgstr "Método Moving Map:"
-#: ../src/vikgpslayer.c:162
+#: ../src/vikgpslayer.c:219
+msgid "Update Statusbar:"
+msgstr ""
+
+#: ../src/vikgpslayer.c:219
+msgid "Display information in the statusbar on GPS updates"
+msgstr ""
+
+#: ../src/vikgpslayer.c:220
msgid "Gpsd Host:"
msgstr "Anfitrião DSGP:"
-#: ../src/vikgpslayer.c:163
+#: ../src/vikgpslayer.c:221
msgid "Gpsd Port:"
msgstr "Porto DSGP:"
-#: ../src/vikgpslayer.c:164
+#: ../src/vikgpslayer.c:222
msgid "Gpsd Retry Interval (seconds):"
msgstr "Gpsd Repetir Intervalo (segundos):"
-#: ../src/vikgpslayer.c:179
+#: ../src/vikgpslayer.c:243
msgid "GPS"
msgstr ""
-#: ../src/vikgpslayer.c:242 ../src/vikgpslayer.c:1258
+#: ../src/vikgpslayer.c:306 ../src/vikgpslayer.c:1308
msgid "GPS Download"
msgstr "GPS Download"
-#: ../src/vikgpslayer.c:242 ../src/vikgpslayer.c:1258
-#: ../src/viktrwlayer.c:3094
+#: ../src/vikgpslayer.c:306 ../src/vikgpslayer.c:1308
+#: ../src/viktrwlayer.c:3480
msgid "GPS Upload"
msgstr "GPS Upload"
-#: ../src/vikgpslayer.c:244
+#: ../src/vikgpslayer.c:308
msgid "GPS Realtime Tracking"
msgstr "GPS rastreamento em tempo real"
-#: ../src/vikgpslayer.c:451
+#: ../src/vikgpslayer.c:517
msgid "Unknown GPS Protocol"
msgstr "Protocolo GPS Desconhecido"
-#: ../src/vikgpslayer.c:469
+#: ../src/vikgpslayer.c:535
msgid "Unknown serial port device"
msgstr "Dispositivo de porta serial desconhecido."
-#: ../src/vikgpslayer.c:572
+#: ../src/vikgpslayer.c:648
#, c-format
msgid "%s: unknown parameter"
msgstr "%s: parâmetro desconhecido"
#. Now with icons
-#: ../src/vikgpslayer.c:693
+#: ../src/vikgpslayer.c:743
msgid "_Upload to GPS"
msgstr "_Upload para GPS"
-#: ../src/vikgpslayer.c:699
+#: ../src/vikgpslayer.c:749
msgid "Download from _GPS"
msgstr "Download para _GPS"
-#: ../src/vikgpslayer.c:720
+#: ../src/vikgpslayer.c:770
msgid "Empty _Realtime"
msgstr "Realtime_ Vazio"
-#: ../src/vikgpslayer.c:727
+#: ../src/vikgpslayer.c:777
msgid "E_mpty Upload"
msgstr "V_azio Upload"
-#: ../src/vikgpslayer.c:733
+#: ../src/vikgpslayer.c:783
msgid "_Empty Download"
msgstr "_Download Vazio"
-#: ../src/vikgpslayer.c:739
+#: ../src/vikgpslayer.c:789
msgid "Empty _All"
msgstr "Tudo_Vazio"
@@ -1371,234 +1638,232 @@ msgstr "Tudo_Vazio"
#. This happens when copied GPS layer is deleted (not sure why the number_handlers would be 2)
#. I don't think there's any side effects and certainly better than the program just aborting
#.
-#: ../src/vikgpslayer.c:756
+#: ../src/vikgpslayer.c:806
#, c-format
msgid "Unexpected number of disconnected handlers: %d"
msgstr "Número inesperado de manipuladores desconectados: %d"
-#: ../src/vikgpslayer.c:898
+#: ../src/vikgpslayer.c:948
#, c-format
msgid "Uploading %d waypoint..."
msgid_plural "Uploading %d waypoints..."
msgstr[0] "Uploading %d waypoint..."
msgstr[1] "Uploading %d waypoints..."
-#: ../src/vikgpslayer.c:899
+#: ../src/vikgpslayer.c:949
#, c-format
msgid "Uploading %d trackpoint..."
msgid_plural "Uploading %d trackpoints..."
msgstr[0] "Uploading %d trackpoint..."
msgstr[1] "Uploading %d trackpoints..."
-#: ../src/vikgpslayer.c:900
+#: ../src/vikgpslayer.c:950
#, c-format
msgid "Uploading %d routepoint..."
msgid_plural "Uploading %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:925
+#: ../src/vikgpslayer.c:975
#, c-format
msgid "Downloaded %d out of %d waypoint..."
msgid_plural "Downloaded %d out of %d waypoints..."
msgstr[0] "Transe rido %d de %d waypoint..."
msgstr[1] "Tranferidos %d de %d waypoints..."
-#: ../src/vikgpslayer.c:926
+#: ../src/vikgpslayer.c:976
#, c-format
msgid "Downloaded %d out of %d trackpoint..."
msgid_plural "Downloaded %d out of %d trackpoints..."
msgstr[0] "Transferido %d de %d trackpoint..."
msgstr[1] "Trans feridos %d de %d trackpoints..."
-#: ../src/vikgpslayer.c:927
+#: ../src/vikgpslayer.c:977
#, c-format
msgid "Downloaded %d out of %d routepoint..."
msgid_plural "Downloaded %d out of %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:932
+#: ../src/vikgpslayer.c:982
#, c-format
msgid "Uploaded %d out of %d waypoint..."
msgid_plural "Uploaded %d out of %d waypoints..."
msgstr[0] "Uploaded %d de %d waypoint..."
msgstr[1] "Uploaded %d de %d waypoints..."
-#: ../src/vikgpslayer.c:933
+#: ../src/vikgpslayer.c:983
#, c-format
msgid "Uploaded %d out of %d trackpoint..."
msgid_plural "Uploaded %d out of %d trackpoints..."
msgstr[0] "Uploaded %d de %d trackpoint..."
msgstr[1] "Uploaded %d de %d trackpoints..."
-#: ../src/vikgpslayer.c:934
+#: ../src/vikgpslayer.c:984
#, c-format
msgid "Uploaded %d out of %d routepoint..."
msgid_plural "Uploaded %d out of %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:942
+#: ../src/vikgpslayer.c:992
#, c-format
msgid "Downloaded %d waypoint"
msgid_plural "Downloaded %d waypoints"
msgstr[0] "Transferido %d waypoint"
msgstr[1] "Transferidos %d waypoints"
-#: ../src/vikgpslayer.c:943
+#: ../src/vikgpslayer.c:993
#, c-format
msgid "Downloaded %d trackpoint"
msgid_plural "Downloaded %d trackpoints"
msgstr[0] "Transferido %d trackpoint"
msgstr[1] "Transferidos %d trackpoints"
-#: ../src/vikgpslayer.c:944
+#: ../src/vikgpslayer.c:994
#, c-format
msgid "Downloaded %d routepoint"
msgid_plural "Downloaded %d routepoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:949
+#: ../src/vikgpslayer.c:999
#, c-format
msgid "Uploaded %d waypoint"
msgid_plural "Uploaded %d waypoints"
msgstr[0] "Uploaded %d waypoint"
msgstr[1] "Uploaded %d waypoints"
-#: ../src/vikgpslayer.c:950
+#: ../src/vikgpslayer.c:1000
#, c-format
msgid "Uploaded %d trackpoint"
msgid_plural "Uploaded %d trackpoints"
msgstr[0] "Uploaded %d trackpoint"
msgstr[1] "Uploaded %d trackpoints"
-#: ../src/vikgpslayer.c:951
+#: ../src/vikgpslayer.c:1001
#, c-format
msgid "Uploaded %d routepoint"
msgid_plural "Uploaded %d routepoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:1180
+#: ../src/vikgpslayer.c:1230
msgid "Error: couldn't find gpsbabel."
msgstr "Erro: Não foi possível encontrar o gpsbabel."
-#: ../src/vikgpslayer.c:1269
+#: ../src/vikgpslayer.c:1319
msgid "Warning - GPS Upload items may overwrite each other"
msgstr ""
-#: ../src/vikgpslayer.c:1301
+#: ../src/vikgpslayer.c:1351
msgid "Status: detecting gpsbabel"
msgstr "Estado: detectando gpsbabel"
-#: ../src/vikgpslayer.c:1332
+#: ../src/vikgpslayer.c:1386
msgid "No GPS items selected for transfer."
msgstr ""
-#: ../src/vikgpslayer.c:1347
+#: ../src/vikgpslayer.c:1401
msgid "Could not turn off device."
msgstr ""
-#: ../src/vikgpslayer.c:1385
+#: ../src/vikgpslayer.c:1439
msgid "Are you sure you want to delete GPS Upload data?"
msgstr ""
-#: ../src/vikgpslayer.c:1398
+#: ../src/vikgpslayer.c:1452
msgid "Are you sure you want to delete GPS Download data?"
msgstr ""
-#: ../src/vikgpslayer.c:1412
+#: ../src/vikgpslayer.c:1466
msgid "Are you sure you want to delete GPS Realtime data?"
msgstr ""
-#: ../src/vikgpslayer.c:1425
+#: ../src/vikgpslayer.c:1479
msgid "Are you sure you want to delete All GPS data?"
msgstr ""
-#: ../src/viklayerspanel.c:55
-msgid "/C_ut"
-msgstr "/C_ut"
+#: ../src/viklayerspanel.c:53
+msgid "C_ut"
+msgstr ""
-#: ../src/viklayerspanel.c:56
-msgid "/_Copy"
-msgstr "/_Copiar"
+#: ../src/viklayerspanel.c:54 ../src/vikwindow.c:3753
+msgid "_Copy"
+msgstr ""
-#: ../src/viklayerspanel.c:57
-msgid "/_Paste"
-msgstr "/_Colar"
+#: ../src/viklayerspanel.c:55 ../src/vikwindow.c:3754
+msgid "_Paste"
+msgstr ""
-#: ../src/viklayerspanel.c:58
-msgid "/_Delete"
-msgstr "/_Excluir"
+#: ../src/viklayerspanel.c:56 ../src/vikwindow.c:3755
+msgid "_Delete"
+msgstr ""
-#: ../src/viklayerspanel.c:59
-msgid "/New Layer"
-msgstr "/Nova Camada"
+#: ../src/viklayerspanel.c:133
+msgid "New Layer"
+msgstr ""
-#: ../src/viklayerspanel.c:127
+#: ../src/viklayerspanel.c:178
msgid "Top Layer"
msgstr "Camada Top"
-#: ../src/viklayerspanel.c:143
+#: ../src/viklayerspanel.c:194
msgid "Add new layer"
msgstr "Adicionar nova camada"
-#: ../src/viklayerspanel.c:150
+#: ../src/viklayerspanel.c:201
msgid "Remove selected layer"
msgstr "Remover camada selecionada"
-#: ../src/viklayerspanel.c:157
+#: ../src/viklayerspanel.c:208
msgid "Move selected layer up"
msgstr "Mover camada selecionada para cima"
-#: ../src/viklayerspanel.c:164
+#: ../src/viklayerspanel.c:215
msgid "Move selected layer down"
msgstr "Mover camada selecionada para baixo"
-#: ../src/viklayerspanel.c:171
+#: ../src/viklayerspanel.c:222
msgid "Cut selected layer"
msgstr "Cortar camada selecionada"
-#: ../src/viklayerspanel.c:178
+#: ../src/viklayerspanel.c:229
msgid "Copy selected layer"
msgstr "Copiar camada selecionada"
-#: ../src/viklayerspanel.c:185
-msgid "Paste layer below selected layer"
-msgstr "Colar camada abaixo da camada selecionada"
+#: ../src/viklayerspanel.c:236
+msgid ""
+"Paste layer into selected container layer or otherwise above selected layer"
+msgstr ""
-#. TODO: FIXME: if name has a '/' in it it will get all messed up. why not have an itemfactory field with
-#. name, icon, shortcut, etc.?
-#: ../src/viklayerspanel.c:204 ../src/vikwindow.c:3292
-#, c-format
-msgid "New _%s Layer"
+#: ../src/viklayerspanel.c:300
+msgid "New name can not be blank."
msgstr ""
-#: ../src/viklayerspanel.c:511
+#: ../src/viklayerspanel.c:544
msgid "Aggregate Layers have no settable properties."
msgstr "Camadas De agregação possuem propriedades configuráveis​​."
-#: ../src/viklayerspanel.c:555
+#: ../src/viklayerspanel.c:588
msgid "You cannot cut the Top Layer."
msgstr "Você não pode cortar a camada superior."
-#: ../src/viklayerspanel.c:600
+#: ../src/viklayerspanel.c:633
#, c-format
msgid "Are you sure you want to delete %s?"
msgstr ""
-#: ../src/viklayerspanel.c:617
+#: ../src/viklayerspanel.c:650
msgid "You cannot delete the Top Layer."
msgstr "Você não pode excluir a camada superior."
-#: ../src/viklayerspanel.c:701
+#: ../src/viklayerspanel.c:734
msgid "Are you sure you wish to delete all layers?"
msgstr "Tem certeza que deseja apagar todas as camadas?"
#. ******* MAPZOOMS ********
-#: ../src/vikmapslayer.c:91
+#: ../src/vikmapslayer.c:80
msgid "Use Viking Zoom Level"
msgstr "Usar Nível de Zoom de Viking"
@@ -1645,35 +1910,35 @@ msgid ""
"actual zoom level."
msgstr ""
-#: ../src/vikmapslayer.c:146
+#: ../src/vikmapslayer.c:156
msgid "_Maps Download"
msgstr ""
-#: ../src/vikmapslayer.c:146
+#: ../src/vikmapslayer.c:156
msgid "Maps Download"
msgstr "Baixar Mapas"
-#: ../src/vikmapslayer.c:161
+#: ../src/vikmapslayer.c:171
msgid "Map"
msgstr "Mapa"
-#: ../src/vikmapslayer.c:249
-msgid "Default maplayer directory:"
-msgstr "Diretório padrão maplayer:"
+#: ../src/vikmapslayer.c:259
+msgid "Default map layer directory:"
+msgstr ""
-#: ../src/vikmapslayer.c:249
+#: ../src/vikmapslayer.c:259
msgid "Choose a directory to store cached Map tiles for this layer"
msgstr ""
-#: ../src/vikmapslayer.c:505
+#: ../src/vikmapslayer.c:523
msgid "Unknown map type"
msgstr "Tipo de mapa desconhecido"
-#: ../src/vikmapslayer.c:516
+#: ../src/vikmapslayer.c:534
msgid "Unknown Map Zoom"
msgstr "Mapa Zoom Desconhecido"
-#: ../src/vikmapslayer.c:589
+#: ../src/vikmapslayer.c:624
#, c-format
msgid ""
"New map cannot be displayed in the current drawmode.\n"
@@ -1682,7 +1947,7 @@ msgstr ""
"Novo mapa não pode ser exibido no DrawMode atual.\n"
"Selecione \"%s\" no menu Exibir para visualizá-lo."
-#: ../src/vikmapslayer.c:753
+#: ../src/vikmapslayer.c:798
#, c-format
msgid ""
"Cowardly refusing to draw tiles or existence of tiles beyond %d zoom out "
@@ -1690,28 +1955,28 @@ msgid ""
msgstr ""
"Recusando a tirar as telhas ou a existência de telhas além zoom factor %d"
-#: ../src/vikmapslayer.c:1157
+#: ../src/vikmapslayer.c:1210
#, c-format
msgid "Redownloading up to %d %s map..."
msgid_plural "Redownloading up to %d %s maps..."
msgstr[0] "Baixar novamente até %d%s mapa..."
msgstr[1] "Baixar novamente até %d%s mapas..."
-#: ../src/vikmapslayer.c:1159
+#: ../src/vikmapslayer.c:1212
#, c-format
msgid "Redownloading %d %s map..."
msgid_plural "Redownloading %d %s maps..."
msgstr[0] "Baixar novamente %d%s mapa..."
msgstr[1] "Baixar novamente %d%s mapas..."
-#: ../src/vikmapslayer.c:1163 ../src/vikmapslayer.c:1238
+#: ../src/vikmapslayer.c:1216 ../src/vikmapslayer.c:1290
#, c-format
msgid "Downloading %d %s map..."
msgid_plural "Downloading %d %s maps..."
msgstr[0] "Baixando %d%s mapa..."
msgstr[1] "Baixando %d%s mapas..."
-#: ../src/vikmapslayer.c:1311
+#: ../src/vikmapslayer.c:1376
#, c-format
msgid ""
"\n"
@@ -1721,7 +1986,7 @@ msgid ""
"Tile File Timestamp: %s"
msgstr ""
-#: ../src/vikmapslayer.c:1318
+#: ../src/vikmapslayer.c:1380
#, c-format
msgid ""
"Source: %s\n"
@@ -1729,23 +1994,23 @@ msgid ""
"No Tile File!"
msgstr ""
-#: ../src/vikmapslayer.c:1356
+#: ../src/vikmapslayer.c:1418
msgid "Redownload _Bad Map(s)"
msgstr "Fazer novo download de Mapa _Bad(s)"
-#: ../src/vikmapslayer.c:1360
+#: ../src/vikmapslayer.c:1422
msgid "Redownload _New Map(s)"
msgstr "Fazer novo download de Novo (s) _Mapa(s)"
-#: ../src/vikmapslayer.c:1364
+#: ../src/vikmapslayer.c:1426
msgid "Redownload _All Map(s)"
msgstr "Fazer novo download de _Todos os _Mapa(s)"
-#: ../src/vikmapslayer.c:1368
+#: ../src/vikmapslayer.c:1430
msgid "_Show Tile Information"
msgstr ""
-#: ../src/vikmapslayer.c:1449
+#: ../src/vikmapslayer.c:1511
#, c-format
msgid ""
"Wrong drawmode for this map.\n"
@@ -1754,300 +2019,399 @@ msgstr ""
"DrawMode errado para este mapa.\n"
"Selecione \"%s\", no menu Exibir e tente novamente."
-#: ../src/vikmapslayer.c:1454
+#: ../src/vikmapslayer.c:1516
msgid "Wrong zoom level for this map."
msgstr "Nível de zoom errado para este mapa."
+#: ../src/vikmapslayer.c:1647
+msgid "Zoom Start:"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1654
+msgid "Zoom End:"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1660
+msgid "Download Maps Method:"
+msgstr ""
+
+#. redownload method - needs to align with REDOWNLOAD* macro values
+#: ../src/vikmapslayer.c:1732
+msgid "Missing"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1732
+msgid "Bad"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1732
+msgid "New"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1732
+msgid "Reload All"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1734
+msgid "Download for Zoom Levels"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1774
+#, c-format
+msgid ""
+"You are not allowed to download more than %d tiles in one go (requested %d)"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1782
+#, c-format
+msgid "Do you really want to download %d tiles?"
+msgstr ""
+
#. Now with icons
-#: ../src/vikmapslayer.c:1485
+#: ../src/vikmapslayer.c:1807
msgid "Download _Missing Onscreen Maps"
msgstr "Baixar _Mapas Que Faltam na Tela"
-#: ../src/vikmapslayer.c:1492
+#: ../src/vikmapslayer.c:1814
msgid "Download _New Onscreen Maps"
msgstr "Baixar Novo(s) _Mapas na Tela"
-#: ../src/vikmapslayer.c:1499
+#: ../src/vikmapslayer.c:1821
msgid "Reload _All Onscreen Maps"
msgstr "Atualizar _Todos os Mapas na Tela"
-#: ../src/viktreeview.c:263
+#: ../src/vikmapslayer.c:1827
+msgid "Download Maps in _Zoom Levels..."
+msgstr ""
+
+#: ../src/vikrouting.c:54
+msgid "Default engine:"
+msgstr ""
+
+#: ../src/viktreeview.c:316
msgid "Layer Name"
msgstr "Nome da Camada"
-#: ../src/viktreeview.c:742
+#: ../src/viktreeview.c:851
#, c-format
msgid "delete data from %s\n"
msgstr "excluir dados de %s\n"
-#: ../src/viktrwlayer.c:377
+#: ../src/viktrwlayer.c:398
msgid "Create _Waypoint"
msgstr ""
-#: ../src/viktrwlayer.c:377
+#: ../src/viktrwlayer.c:398
msgid "Create Waypoint"
msgstr "Criar Waypoint"
-#: ../src/viktrwlayer.c:383
+#: ../src/viktrwlayer.c:404
msgid "Create _Track"
msgstr ""
-#: ../src/viktrwlayer.c:383
+#: ../src/viktrwlayer.c:404
msgid "Create Track"
msgstr "Criar Track"
-#: ../src/viktrwlayer.c:392
+#: ../src/viktrwlayer.c:413
msgid "Create _Route"
msgstr ""
-#: ../src/viktrwlayer.c:392
+#: ../src/viktrwlayer.c:413
msgid "Create Route"
msgstr ""
-#: ../src/viktrwlayer.c:401
+#: ../src/viktrwlayer.c:422
msgid "_Edit Waypoint"
msgstr ""
-#: ../src/viktrwlayer.c:401
+#: ../src/viktrwlayer.c:422
msgid "Edit Waypoint"
msgstr "Editar Waypoint"
-#: ../src/viktrwlayer.c:409
+#: ../src/viktrwlayer.c:432
msgid "Edit Trac_kpoint"
msgstr ""
-#: ../src/viktrwlayer.c:409
+#: ../src/viktrwlayer.c:432
msgid "Edit Trackpoint"
msgstr "Editar Trackpoint"
-#: ../src/viktrwlayer.c:417
+#: ../src/viktrwlayer.c:442
msgid "Show P_icture"
msgstr ""
-#: ../src/viktrwlayer.c:417
+#: ../src/viktrwlayer.c:442
msgid "Show Picture"
msgstr "Mostrar Imagem"
-#: ../src/viktrwlayer.c:424
+#: ../src/viktrwlayer.c:448
msgid "Route _Finder"
msgstr ""
-#: ../src/viktrwlayer.c:424
+#: ../src/viktrwlayer.c:448
msgid "Route Finder"
msgstr ""
#. ***** PARAMETERS *****
-#: ../src/viktrwlayer.c:447 ../src/viktrwlayer.c:1942
-#: ../src/viktrwlayer.c:1944
+#: ../src/viktrwlayer.c:468 ../src/viktrwlayer.c:2324
msgid "Waypoints"
msgstr "Waypoints"
-#: ../src/viktrwlayer.c:447 ../src/viktrwlayer.c:1933
-#: ../src/viktrwlayer.c:1935
+#: ../src/viktrwlayer.c:468 ../src/viktrwlayer.c:2319
msgid "Tracks"
msgstr "Faixas"
-#: ../src/viktrwlayer.c:447
+#: ../src/viktrwlayer.c:468
msgid "Waypoint Images"
msgstr "Imagens Waypoint"
-#: ../src/viktrwlayer.c:450
+#: ../src/viktrwlayer.c:468
+msgid "Tracks Advanced"
+msgstr ""
+
+#: ../src/viktrwlayer.c:471
msgid "Draw by Track"
msgstr "Empate por Faixa"
-#: ../src/viktrwlayer.c:450
+#: ../src/viktrwlayer.c:471
msgid "Draw by Speed"
msgstr ""
-#: ../src/viktrwlayer.c:450
+#: ../src/viktrwlayer.c:471
msgid "All Tracks Same Color"
msgstr ""
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "Filled Square"
msgstr "Quadrado Preenchido"
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "Square"
msgstr "Quadrado"
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "Circle"
msgstr "Círculo"
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "X"
msgstr "X"
-#: ../src/viktrwlayer.c:477
+#: ../src/viktrwlayer.c:498
msgid "Extra Extra Small"
msgstr ""
-#: ../src/viktrwlayer.c:478
+#: ../src/viktrwlayer.c:499
msgid "Extra Small"
msgstr ""
-#: ../src/viktrwlayer.c:479
+#: ../src/viktrwlayer.c:500
msgid "Small"
msgstr ""
-#: ../src/viktrwlayer.c:480
+#: ../src/viktrwlayer.c:501
msgid "Medium"
msgstr ""
-#: ../src/viktrwlayer.c:481
+#: ../src/viktrwlayer.c:502
msgid "Large"
msgstr ""
-#: ../src/viktrwlayer.c:482
+#: ../src/viktrwlayer.c:503
msgid "Extra Large"
msgstr ""
-#: ../src/viktrwlayer.c:483
+#: ../src/viktrwlayer.c:504
msgid "Extra Extra Large"
msgstr ""
-#: ../src/viktrwlayer.c:491
+#: ../src/viktrwlayer.c:510
+msgid "Name Ascending"
+msgstr ""
+
+#: ../src/viktrwlayer.c:511
+msgid "Name Descending"
+msgstr ""
+
+#: ../src/viktrwlayer.c:552 ../src/viktrwlayer.c:576
+msgid "Draw Labels"
+msgstr "Desenhar Marcadores"
+
+#: ../src/viktrwlayer.c:553
+msgid "Note: the individual track controls what labels may be displayed"
+msgstr ""
+
+#: ../src/viktrwlayer.c:554
+msgid "Track Labels Font Size:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:555
msgid "Track Drawing Mode:"
msgstr "Modo Faixa de Desenho:"
-#: ../src/viktrwlayer.c:492
+#: ../src/viktrwlayer.c:556
msgid "All Tracks Color:"
msgstr ""
-#: ../src/viktrwlayer.c:493
+#: ../src/viktrwlayer.c:557
msgid "The color used when 'All Tracks Same Color' drawing mode is selected"
msgstr ""
-#: ../src/viktrwlayer.c:494
+#: ../src/viktrwlayer.c:558
msgid "Draw Track Lines"
msgstr "Desenhar Trajetórias de Busca"
-#: ../src/viktrwlayer.c:495
+#: ../src/viktrwlayer.c:559
msgid "Track Thickness:"
msgstr "Espessura da Faixa:"
-#: ../src/viktrwlayer.c:496
+#: ../src/viktrwlayer.c:560
msgid "Draw Track Direction"
msgstr ""
-#: ../src/viktrwlayer.c:497
+#: ../src/viktrwlayer.c:561
msgid "Direction Size:"
msgstr ""
-#: ../src/viktrwlayer.c:498
+#: ../src/viktrwlayer.c:562
msgid "Draw Trackpoints"
msgstr "Desenhar Trilhas"
-#: ../src/viktrwlayer.c:499
+#: ../src/viktrwlayer.c:563
msgid "Trackpoint Size:"
msgstr ""
-#: ../src/viktrwlayer.c:500
+#: ../src/viktrwlayer.c:564
msgid "Draw Elevation"
msgstr "Desenhar Elevação"
-#: ../src/viktrwlayer.c:501
+#: ../src/viktrwlayer.c:565
msgid "Draw Elevation Height %:"
msgstr "Desenhar Altura de Elevação"
-#: ../src/viktrwlayer.c:503
+#: ../src/viktrwlayer.c:566
msgid "Draw Stops"
msgstr "Desenhar Paradas"
-#: ../src/viktrwlayer.c:504
+#: ../src/viktrwlayer.c:567
msgid ""
"Whether to draw a marker when trackpoints are at the same position but over "
"the minimum stop length apart in time"
msgstr ""
-#: ../src/viktrwlayer.c:505
+#: ../src/viktrwlayer.c:568
msgid "Min Stop Length (seconds):"
msgstr "Parar Duração de Minutos (segundos):"
-#: ../src/viktrwlayer.c:507
+#: ../src/viktrwlayer.c:570
msgid "Track BG Thickness:"
msgstr "Faixa Espessura BG:"
-#: ../src/viktrwlayer.c:508
+#: ../src/viktrwlayer.c:571
msgid "Track Background Color"
msgstr "Cor de Fundo da Faixa"
-#: ../src/viktrwlayer.c:509
+#: ../src/viktrwlayer.c:572
msgid "Draw by Speed Factor (%):"
msgstr ""
-#: ../src/viktrwlayer.c:510
+#: ../src/viktrwlayer.c:573
msgid ""
"The percentage factor away from the average speed determining the color used"
msgstr ""
-#: ../src/viktrwlayer.c:512
-msgid "Draw Labels"
-msgstr "Desenhar Marcadores"
+#: ../src/viktrwlayer.c:574
+msgid "Track Sort Order:"
+msgstr ""
-#: ../src/viktrwlayer.c:513
+#: ../src/viktrwlayer.c:577
msgid "Waypoint Font Size:"
msgstr ""
-#: ../src/viktrwlayer.c:514
+#: ../src/viktrwlayer.c:578
msgid "Waypoint Color:"
msgstr "Cor do Waypoint:"
-#: ../src/viktrwlayer.c:515
+#: ../src/viktrwlayer.c:579
msgid "Waypoint Text:"
msgstr "Texto dos Waypoints:"
-#: ../src/viktrwlayer.c:516
+#: ../src/viktrwlayer.c:580
msgid "Background:"
msgstr "Segundo plano:"
-#: ../src/viktrwlayer.c:517
+#: ../src/viktrwlayer.c:581
msgid "Fake BG Color Translucency:"
msgstr "Falsos translucidez da cor de BG:"
-#: ../src/viktrwlayer.c:518
+#: ../src/viktrwlayer.c:582
msgid "Waypoint marker:"
msgstr "Marcador do Waypoint:"
-#: ../src/viktrwlayer.c:519
+#: ../src/viktrwlayer.c:583
msgid "Waypoint size:"
msgstr "Tamanho do Waypoint:"
-#: ../src/viktrwlayer.c:520
+#: ../src/viktrwlayer.c:584
msgid "Draw Waypoint Symbols:"
msgstr "Desenhar Símbolos do Waypoint:"
-#: ../src/viktrwlayer.c:522
+#: ../src/viktrwlayer.c:585
+msgid "Waypoint Sort Order:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:587
msgid "Draw Waypoint Images"
msgstr "Desenhar Imagens do Waypoint:"
-#: ../src/viktrwlayer.c:523
+#: ../src/viktrwlayer.c:588
msgid "Image Size (pixels):"
msgstr "Tamanho da Imagem (pixels):"
-#: ../src/viktrwlayer.c:524
+#: ../src/viktrwlayer.c:589
msgid "Image Alpha:"
msgstr "Imagem Alpha:"
-#: ../src/viktrwlayer.c:525
+#: ../src/viktrwlayer.c:590
msgid "Image Memory Cache Size:"
msgstr "Imagem de Tamanho do Cache de Memória:"
-#: ../src/viktrwlayer.c:610
+#: ../src/viktrwlayer.c:678
msgid "TrackWaypoint"
msgstr ""
-#: ../src/viktrwlayer.c:1951 ../src/viktrwlayer.c:1953
+#: ../src/viktrwlayer.c:1534 ../src/vikutils.c:204
+msgid "miles"
+msgstr ""
+
+#. VIK_UNITS_DISTANCE_KILOMETRES:
+#: ../src/viktrwlayer.c:1538 ../src/vikutils.c:209
+msgid "km"
+msgstr ""
+
+#: ../src/viktrwlayer.c:1648
+msgid "start/end"
+msgstr ""
+
+#: ../src/viktrwlayer.c:1660
+msgid "start"
+msgstr ""
+
+#: ../src/viktrwlayer.c:1669
+msgid "end"
+msgstr ""
+
+#: ../src/viktrwlayer.c:2329
msgid "Routes"
msgstr ""
-#: ../src/viktrwlayer.c:2144
+#: ../src/viktrwlayer.c:2519
#, c-format
msgid " in %d:%02d hrs:mins"
msgstr " em %d:%02d hrs:mins"
-#: ../src/viktrwlayer.c:2148
+#: ../src/viktrwlayer.c:2523
#, c-format
msgid ""
"\n"
@@ -2056,1135 +2420,1613 @@ msgstr ""
"\n"
"%sComprimento Total %.1f %s%s"
-#: ../src/viktrwlayer.c:2154
+#: ../src/viktrwlayer.c:2529
#, c-format
msgid "Tracks: %d - Waypoints: %d - Routes: %d%s"
msgstr ""
-#: ../src/viktrwlayer.c:2174
+#: ../src/viktrwlayer.c:2549
#, c-format
msgid "Tracks: %d"
msgstr ""
-#: ../src/viktrwlayer.c:2184
+#: ../src/viktrwlayer.c:2559
#, c-format
msgid "Routes: %d"
msgstr ""
-#: ../src/viktrwlayer.c:2215
+#: ../src/viktrwlayer.c:2590
#, c-format
msgid "- %d:%02d hrs:mins"
msgstr "- %d:%02d hrs:mins"
-#: ../src/viktrwlayer.c:2223
+#: ../src/viktrwlayer.c:2598
#, c-format
msgid "%s%.1f km %s"
msgstr "%s%.1f km %s"
-#: ../src/viktrwlayer.c:2226
+#: ../src/viktrwlayer.c:2601
#, c-format
msgid "%s%.1f miles %s"
msgstr "%s%.1f milhas %s"
-#: ../src/viktrwlayer.c:2240
+#: ../src/viktrwlayer.c:2615
#, c-format
msgid "Waypoints: %d"
msgstr ""
-#: ../src/viktrwlayer.c:2266
-#, c-format
-msgid "Trkpt: Alt %dft"
-msgstr ""
-
-#. VIK_UNITS_HEIGHT_METRES:
-#: ../src/viktrwlayer.c:2270
-#, c-format
-msgid "Trkpt: Alt %dm"
-msgstr ""
-
-#. Compact date time format
-#: ../src/viktrwlayer.c:2277
-#, c-format
-msgid " | Time %x %X"
-msgstr ""
-
-#: ../src/viktrwlayer.c:2295
-#, c-format
-msgid " | Track: %s"
-msgstr ""
-
-#. Combine parts to make overall message
-#: ../src/viktrwlayer.c:2299
-#, c-format
-msgid "%s%s | %s %s %s"
-msgstr ""
-
-#: ../src/viktrwlayer.c:2314
+#: ../src/viktrwlayer.c:2671
#, c-format
msgid "Wpt: Alt %dft"
msgstr ""
#. VIK_UNITS_HEIGHT_METRES:
-#: ../src/viktrwlayer.c:2318
+#: ../src/viktrwlayer.c:2675
#, c-format
msgid "Wpt: Alt %dm"
msgstr ""
#. Add comment if available
-#: ../src/viktrwlayer.c:2333
+#: ../src/viktrwlayer.c:2690
#, c-format
msgid "%s | %s %s | Comment: %s"
msgstr ""
-#: ../src/viktrwlayer.c:2335
+#: ../src/viktrwlayer.c:2692
#, c-format
msgid "%s | %s %s"
msgstr ""
-#: ../src/viktrwlayer.c:2563 ../src/viktrwlayer.c:2634
+#: ../src/viktrwlayer.c:2939 ../src/viktrwlayer.c:3010
msgid "This layer has no waypoints or trackpoints."
msgstr "Essa camada não tem waypoints ou trackpoints."
-#: ../src/viktrwlayer.c:2661 ../src/vikwindow.c:2407 ../src/vikwindow.c:2848
+#: ../src/viktrwlayer.c:3045 ../src/vikwindow.c:2754 ../src/vikwindow.c:3407
#, c-format
msgid "The file \"%s\" exists, do you wish to overwrite it?"
msgstr "O arquivo \"%s\" já existe, deseja substituí-lo?"
-#: ../src/viktrwlayer.c:2671 ../src/vikwindow.c:2429
+#: ../src/viktrwlayer.c:3057 ../src/vikwindow.c:2778
msgid "The filename you requested could not be opened for writing."
msgstr "O nome do arquivo solicitado não pôde ser aberto para escrita."
-#: ../src/viktrwlayer.c:2676 ../src/viktrwlayer.c:2681
-#: ../src/viktrwlayer.c:2691 ../src/viktrwlayer.c:2703
+#: ../src/viktrwlayer.c:3062 ../src/viktrwlayer.c:3067
+#: ../src/viktrwlayer.c:3077 ../src/viktrwlayer.c:3089
msgid "Export Layer"
msgstr "Exportar Camada"
-#: ../src/viktrwlayer.c:2720
+#: ../src/viktrwlayer.c:3108
msgid "Could not create temporary file for export."
msgstr ""
-#: ../src/viktrwlayer.c:2729
+#: ../src/viktrwlayer.c:3117
#, c-format
msgid "Could not launch %s."
msgstr ""
-#: ../src/viktrwlayer.c:2773
+#: ../src/viktrwlayer.c:3161
msgid "Export Track as GPX"
msgstr "Exportar Faixa como GPX"
-#: ../src/viktrwlayer.c:2795
+#: ../src/viktrwlayer.c:3183
msgid "Find"
msgstr "Buscar"
-#: ../src/viktrwlayer.c:2805
+#: ../src/viktrwlayer.c:3193
msgid "Waypoint Name:"
msgstr "Nome de Waypoint:"
-#: ../src/viktrwlayer.c:2822
+#: ../src/viktrwlayer.c:3210
msgid "Waypoint not found in this layer."
msgstr "Waypoint não encontrado nesta camada."
-#: ../src/viktrwlayer.c:3090
+#: ../src/viktrwlayer.c:3476
msgid "Can not upload invisible track."
msgstr ""
-#: ../src/viktrwlayer.c:3192 ../src/viktrwlayer.c:7785
+#: ../src/viktrwlayer.c:3581 ../src/viktrwlayer.c:9283
msgid "Track"
msgstr "Faixa"
-#: ../src/viktrwlayer.c:3215 ../src/viktrwlayer.c:7817
+#: ../src/viktrwlayer.c:3606 ../src/viktrwlayer.c:9316
msgid "Route"
msgstr ""
-#: ../src/viktrwlayer.c:3296 ../src/viktrwlayer.c:6265
-#: ../src/viktrwlayer.c:6314
+#: ../src/viktrwlayer.c:3691 ../src/viktrwlayer.c:7460
+#: ../src/viktrwlayer.c:7566
msgid "_Finish Route"
msgstr ""
-#: ../src/viktrwlayer.c:3298 ../src/viktrwlayer.c:6223
-#: ../src/viktrwlayer.c:6312
+#: ../src/viktrwlayer.c:3693 ../src/viktrwlayer.c:7383
+#: ../src/viktrwlayer.c:7564
msgid "_Finish Track"
msgstr ""
#. Now with icons
-#: ../src/viktrwlayer.c:3310
+#: ../src/viktrwlayer.c:3705
msgid "_View Layer"
msgstr "_Ver Camada"
-#: ../src/viktrwlayer.c:3317
+#: ../src/viktrwlayer.c:3712
msgid "V_iew"
msgstr ""
-#: ../src/viktrwlayer.c:3323
+#: ../src/viktrwlayer.c:3718
msgid "View All _Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:3328
+#: ../src/viktrwlayer.c:3723
msgid "View All _Routes"
msgstr ""
-#: ../src/viktrwlayer.c:3333
+#: ../src/viktrwlayer.c:3728
msgid "View All _Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:3338
+#: ../src/viktrwlayer.c:3733
msgid "_Goto Center of Layer"
msgstr "Centro de Camada Goto"
-#: ../src/viktrwlayer.c:3344 ../src/viktrwlayer.c:6199
+#: ../src/viktrwlayer.c:3739 ../src/viktrwlayer.c:7335
msgid "Goto _Waypoint..."
msgstr ""
-#: ../src/viktrwlayer.c:3350
+#: ../src/viktrwlayer.c:3745
msgid "_Export Layer"
msgstr "_Exportar Camada"
-#: ../src/viktrwlayer.c:3356
+#: ../src/viktrwlayer.c:3751
msgid "Export as GPS_Point..."
msgstr ""
-#: ../src/viktrwlayer.c:3361
+#: ../src/viktrwlayer.c:3756
msgid "Export as GPS_Mapper..."
msgstr ""
-#: ../src/viktrwlayer.c:3366
+#: ../src/viktrwlayer.c:3761
msgid "Export as _GPX..."
msgstr ""
-#: ../src/viktrwlayer.c:3371
+#: ../src/viktrwlayer.c:3766
msgid "Export as _KML..."
msgstr ""
-#: ../src/viktrwlayer.c:3376
+#: ../src/viktrwlayer.c:3771
msgid "Open with External Program_1: "
msgstr ""
-#: ../src/viktrwlayer.c:3383
+#: ../src/viktrwlayer.c:3778
msgid "Open with External Program_2: "
msgstr ""
-#: ../src/viktrwlayer.c:3391 ../src/vikwindow.c:3145
+#: ../src/viktrwlayer.c:3786 ../src/vikwindow.c:3704
msgid "_New"
msgstr "_Novo"
-#: ../src/viktrwlayer.c:3397
+#: ../src/viktrwlayer.c:3792
msgid "New _Waypoint..."
msgstr ""
-#: ../src/viktrwlayer.c:3403
+#: ../src/viktrwlayer.c:3798
msgid "New _Track"
msgstr ""
-#: ../src/viktrwlayer.c:3411
+#: ../src/viktrwlayer.c:3806
msgid "New _Route"
msgstr ""
-#: ../src/viktrwlayer.c:3420 ../src/viktrwlayer.c:6597
+#: ../src/viktrwlayer.c:3815 ../src/viktrwlayer.c:7938
msgid "Geotag _Images..."
msgstr ""
-#: ../src/viktrwlayer.c:3427
+#: ../src/viktrwlayer.c:3822
msgid "_Acquire"
msgstr ""
-#: ../src/viktrwlayer.c:3433 ../src/vikwindow.c:3150
+#: ../src/viktrwlayer.c:3828 ../src/vikwindow.c:3711
msgid "From _GPS..."
msgstr "De_GPS..."
-#: ../src/viktrwlayer.c:3439
-msgid "From Google _Directions..."
+#. FIXME: only add menu when at least a routing engine has support for Directions
+#: ../src/viktrwlayer.c:3834
+msgid "From _Directions..."
msgstr ""
-#: ../src/viktrwlayer.c:3446
+#: ../src/viktrwlayer.c:3840
msgid "From _OSM Traces..."
msgstr ""
-#: ../src/viktrwlayer.c:3451
+#: ../src/viktrwlayer.c:3845
msgid "From _My OSM Traces..."
msgstr ""
-#: ../src/viktrwlayer.c:3459 ../src/vikwindow.c:3166
+#: ../src/viktrwlayer.c:3853 ../src/vikwindow.c:3725
msgid "From _Wikipedia Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:3465
+#: ../src/viktrwlayer.c:3859
msgid "Within _Layer Bounds"
msgstr "Dentro dos Limites da _Camada"
-#: ../src/viktrwlayer.c:3471
+#: ../src/viktrwlayer.c:3865
msgid "Within _Current View"
msgstr "Dentro do_Modo de Exibição Atual"
-#: ../src/viktrwlayer.c:3479
+#: ../src/viktrwlayer.c:3873
msgid "From Geo_caching..."
msgstr ""
-#: ../src/viktrwlayer.c:3486 ../src/vikwindow.c:3163
+#: ../src/viktrwlayer.c:3880 ../src/vikwindow.c:3722
msgid "From Geotagged _Images..."
msgstr ""
-#: ../src/viktrwlayer.c:3492
+#: ../src/viktrwlayer.c:3886
msgid "From _File..."
msgstr ""
-#: ../src/viktrwlayer.c:3498 ../src/viktrwlayer.c:6542
+#: ../src/viktrwlayer.c:3894 ../src/viktrwlayer.c:7883
msgid "_Upload"
msgstr ""
-#: ../src/viktrwlayer.c:3504
+#: ../src/viktrwlayer.c:3900
msgid "Upload to _GPS..."
msgstr ""
-#: ../src/viktrwlayer.c:3511 ../src/viktrwlayer.c:6570
+#: ../src/viktrwlayer.c:3907 ../src/viktrwlayer.c:7911
msgid "Upload to _OSM..."
msgstr ""
-#: ../src/viktrwlayer.c:3519
+#: ../src/viktrwlayer.c:3915
msgid "De_lete"
msgstr ""
-#: ../src/viktrwlayer.c:3525
+#: ../src/viktrwlayer.c:3921
msgid "Delete All _Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:3531
+#: ../src/viktrwlayer.c:3927
msgid "Delete Tracks _From Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:3537 ../src/viktrwlayer.c:6290
+#: ../src/viktrwlayer.c:3933 ../src/viktrwlayer.c:7485
msgid "Delete _All Routes"
msgstr ""
-#: ../src/viktrwlayer.c:3543 ../src/viktrwlayer.c:6296
+#: ../src/viktrwlayer.c:3939 ../src/viktrwlayer.c:7491
msgid "_Delete Routes From Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:3549
+#: ../src/viktrwlayer.c:3945
msgid "Delete All _Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:3555
+#: ../src/viktrwlayer.c:3951
msgid "Delete Waypoints From _Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:4128
+#: ../src/viktrwlayer.c:4574
#, c-format
msgid "Are you sure you want to delete all tracks in %s?"
msgstr ""
-#: ../src/viktrwlayer.c:4138
+#: ../src/viktrwlayer.c:4584
#, c-format
msgid "Are you sure you want to delete all routes in %s?"
msgstr ""
-#: ../src/viktrwlayer.c:4148
+#: ../src/viktrwlayer.c:4594
#, c-format
msgid "Are you sure you want to delete all waypoints in %s?"
msgstr ""
-#: ../src/viktrwlayer.c:4165
+#: ../src/viktrwlayer.c:4611
#, c-format
-msgid "Are you sure you want to delete the waypoint \"%s\""
+msgid "Are you sure you want to delete the waypoint \"%s\"?"
msgstr ""
-#: ../src/viktrwlayer.c:4178
+#: ../src/viktrwlayer.c:4624
#, c-format
-msgid "Are you sure you want to delete the track \"%s\""
+msgid "Are you sure you want to delete the track \"%s\"?"
msgstr ""
-#: ../src/viktrwlayer.c:4191
+#: ../src/viktrwlayer.c:4637
#, c-format
-msgid "Are you sure you want to delete the route \"%s\""
+msgid "Are you sure you want to delete the route \"%s\"?"
msgstr ""
-#: ../src/viktrwlayer.c:4351 ../src/viktrwlayer.c:4922
+#: ../src/viktrwlayer.c:4849 ../src/viktrwlayer.c:5677
msgid ""
"Converting a track to a route removes extra track data such as segments, "
"timestamps, etc...\n"
"Do you want to continue?"
msgstr ""
-#: ../src/viktrwlayer.c:4711
+#: ../src/viktrwlayer.c:4944
+msgid "No DEM layers available, thus no DEM values can be applied."
+msgstr ""
+
+#: ../src/viktrwlayer.c:4964 ../src/viktrwlayer.c:5005
+#, c-format
+msgid "%ld point adjusted"
+msgid_plural "%ld points adjusted"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/viktrwlayer.c:5049
+#, c-format
+msgid "%ld waypoint changed"
+msgid_plural "%ld waypoints changed"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/viktrwlayer.c:5233
+#, c-format
+msgid ""
+"Refining a track with many points (%d) is unlikely to yield sensible "
+"results. Do you want to Continue?"
+msgstr ""
+
+#. Select engine from dialog
+#: ../src/viktrwlayer.c:5241
+msgid "Refine Route with Routing Engine..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:5249
+msgid "Select routing engine"
+msgstr ""
+
+#: ../src/viktrwlayer.c:5467
msgid "Failed. No other tracks with timestamps in this layer found"
msgstr ""
-#: ../src/viktrwlayer.c:4713
+#: ../src/viktrwlayer.c:5469
msgid "Failed. No other tracks without timestamps in this layer found"
msgstr ""
-#: ../src/viktrwlayer.c:4732
+#: ../src/viktrwlayer.c:5488
msgid "Merge with..."
msgstr "Mesclar com..."
-#: ../src/viktrwlayer.c:4733
+#: ../src/viktrwlayer.c:5489
msgid "Select route to merge with"
msgstr ""
-#: ../src/viktrwlayer.c:4733
+#: ../src/viktrwlayer.c:5489
msgid "Select track to merge with"
msgstr "Selecionar a faixa de fusão com a"
-#: ../src/viktrwlayer.c:4818 ../src/viktrwlayer.c:4895
+#: ../src/viktrwlayer.c:5573 ../src/viktrwlayer.c:5650
msgid "Append Route"
msgstr ""
-#: ../src/viktrwlayer.c:4818 ../src/viktrwlayer.c:4895
+#: ../src/viktrwlayer.c:5573 ../src/viktrwlayer.c:5650
msgid "Append Track"
msgstr ""
-#: ../src/viktrwlayer.c:4819
+#: ../src/viktrwlayer.c:5574
msgid "Select the route to append after the current route"
msgstr ""
-#: ../src/viktrwlayer.c:4820
+#: ../src/viktrwlayer.c:5575
msgid "Select the track to append after the current track"
msgstr ""
-#: ../src/viktrwlayer.c:4896
+#: ../src/viktrwlayer.c:5651
msgid "Select the track to append after the current route"
msgstr ""
-#: ../src/viktrwlayer.c:4897
+#: ../src/viktrwlayer.c:5652
msgid "Select the route to append after the current track"
msgstr ""
-#: ../src/viktrwlayer.c:4957
+#: ../src/viktrwlayer.c:5711
#, c-format
msgid "%d segment merged"
msgid_plural "%d segments merged"
msgstr[0] ""
msgstr[1] ""
-#: ../src/viktrwlayer.c:4973
+#: ../src/viktrwlayer.c:5727
msgid "Failed. This track does not have timestamp"
msgstr "Falhou. Esta faixa não tem hora"
-#: ../src/viktrwlayer.c:4985
+#: ../src/viktrwlayer.c:5739
msgid "Failed. No other track in this layer has timestamp"
msgstr "Falhou. Nenhuma uma outra faixa nesta camada tem hora"
-#: ../src/viktrwlayer.c:4992
+#: ../src/viktrwlayer.c:5746
msgid "Merge Threshold..."
msgstr "Limite de Mesclagem ..."
-#: ../src/viktrwlayer.c:4993
+#: ../src/viktrwlayer.c:5747
msgid "Merge when time between tracks less than:"
msgstr "Mesclar quando o tempo entre as faixas for inferior a:"
-#: ../src/viktrwlayer.c:5128
+#: ../src/viktrwlayer.c:5889
msgid "Split Threshold..."
msgstr "Dividir Limite ..."
-#: ../src/viktrwlayer.c:5129
+#: ../src/viktrwlayer.c:5890
msgid "Split when time between trackpoints exceeds:"
msgstr "Dividir, quando o tempo entre os trackpoints exceder:"
-#: ../src/viktrwlayer.c:5205
+#: ../src/viktrwlayer.c:5907
+#, c-format
+msgid ""
+"Can not split track due to trackpoints not ordered in time - such as at %s.\n"
+"\n"
+"Goto this trackpoint?"
+msgstr ""
+
+#: ../src/viktrwlayer.c:5976
msgid "Split Every Nth Point"
msgstr "Cada ponto de divisão Nth"
-#: ../src/viktrwlayer.c:5206
+#: ../src/viktrwlayer.c:5977
msgid "Split on every Nth point:"
msgstr "Dividir em todos os pontos Nth:"
-#: ../src/viktrwlayer.c:5312
+#: ../src/viktrwlayer.c:6087
msgid "Can not split track as it has no segments"
msgstr ""
-#: ../src/viktrwlayer.c:5340 ../src/viktrwlayer.c:5370
+#: ../src/viktrwlayer.c:6169 ../src/viktrwlayer.c:6199
#, c-format
msgid "Deleted %ld point"
msgid_plural "Deleted %ld points"
msgstr[0] ""
msgstr[1] ""
-#: ../src/viktrwlayer.c:5531
+#: ../src/viktrwlayer.c:6392
msgid "Internal Error in vik_trw_layer_uniquify_tracks"
msgstr ""
-#: ../src/viktrwlayer.c:5588 ../src/viktrwlayer.c:5635
-#: ../src/viktrwlayer.c:5814
+#: ../src/viktrwlayer.c:6496 ../src/viktrwlayer.c:6543
+#: ../src/viktrwlayer.c:6704
msgid ""
"Multiple entries with the same name exist. This method only works with "
"unique names. Force unique names now?"
msgstr ""
-#: ../src/viktrwlayer.c:5599
+#: ../src/viktrwlayer.c:6507
msgid "No tracks found"
msgstr ""
-#: ../src/viktrwlayer.c:5607 ../src/viktrwlayer.c:5654
-#: ../src/viktrwlayer.c:5834
+#: ../src/viktrwlayer.c:6515 ../src/viktrwlayer.c:6562
+#: ../src/viktrwlayer.c:6724
msgid "Delete Selection"
msgstr ""
-#: ../src/viktrwlayer.c:5608
+#: ../src/viktrwlayer.c:6516
msgid "Select tracks to delete"
msgstr ""
-#: ../src/viktrwlayer.c:5646
+#: ../src/viktrwlayer.c:6554
msgid "No routes found"
msgstr ""
-#: ../src/viktrwlayer.c:5655
+#: ../src/viktrwlayer.c:6563
msgid "Select routes to delete"
msgstr ""
-#: ../src/viktrwlayer.c:5761
+#: ../src/viktrwlayer.c:6669
msgid "Internal Error in vik_trw_layer_uniquify_waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:5824
+#: ../src/viktrwlayer.c:6714
msgid "No waypoints found"
msgstr ""
-#: ../src/viktrwlayer.c:5835
+#: ../src/viktrwlayer.c:6725
msgid "Select waypoints to delete"
msgstr ""
-#: ../src/viktrwlayer.c:5896
+#: ../src/viktrwlayer.c:7033
#, c-format
msgid ""
"A waypoint with the name \"%s\" already exists. Really rename to the same "
"name?"
msgstr ""
-#: ../src/viktrwlayer.c:5926
+#: ../src/viktrwlayer.c:7063
#, c-format
msgid ""
"A track with the name \"%s\" already exists. Really rename to the same name?"
msgstr ""
-#: ../src/viktrwlayer.c:5963
+#: ../src/viktrwlayer.c:7100
#, c-format
msgid ""
"A route with the name \"%s\" already exists. Really rename to the same name?"
msgstr ""
-#: ../src/viktrwlayer.c:6085 ../src/viktrwlayer.c:6337
+#: ../src/viktrwlayer.c:7221 ../src/viktrwlayer.c:7594
msgid "_Goto"
msgstr "_Goto"
-#: ../src/viktrwlayer.c:6104
+#: ../src/viktrwlayer.c:7240
msgid "_Visit Geocache Webpage"
msgstr "_Visite Geocache Webpage"
-#: ../src/viktrwlayer.c:6123
+#: ../src/viktrwlayer.c:7259
msgid "_Show Picture..."
msgstr ""
-#: ../src/viktrwlayer.c:6131
+#: ../src/viktrwlayer.c:7267
msgid "Update Geotag on _Image"
msgstr ""
-#: ../src/viktrwlayer.c:6137
+#: ../src/viktrwlayer.c:7273
msgid "_Update"
msgstr ""
-#: ../src/viktrwlayer.c:6142
+#: ../src/viktrwlayer.c:7278
msgid "Update and _Keep File Timestamp"
msgstr ""
-#: ../src/viktrwlayer.c:6153
+#: ../src/viktrwlayer.c:7289
msgid "Visit _Webpage"
msgstr ""
-#: ../src/viktrwlayer.c:6184
+#: ../src/viktrwlayer.c:7320
msgid "_New Waypoint..."
msgstr ""
-#: ../src/viktrwlayer.c:6193
+#: ../src/viktrwlayer.c:7329
msgid "_View All Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:6205
+#: ../src/viktrwlayer.c:7341
msgid "Delete _All Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:6211
+#: ../src/viktrwlayer.c:7347
msgid "_Delete Waypoints From Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:6233
+#: ../src/viktrwlayer.c:7359
+msgid "_Show All Waypoints"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7365
+msgid "_Hide All Waypoints"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7393
msgid "_View All Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:6239
+#: ../src/viktrwlayer.c:7399
msgid "_New Track"
msgstr ""
-#: ../src/viktrwlayer.c:6247
+#: ../src/viktrwlayer.c:7407
msgid "Delete _All Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:6253
+#: ../src/viktrwlayer.c:7413
msgid "_Delete Tracks From Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:6276
+#: ../src/viktrwlayer.c:7425
+msgid "_Show All Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7431
+msgid "_Hide All Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7442
+msgid "_List Tracks..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7471
msgid "_View All Routes"
msgstr ""
-#: ../src/viktrwlayer.c:6282
+#: ../src/viktrwlayer.c:7477
msgid "_New Route"
msgstr ""
-#: ../src/viktrwlayer.c:6327
+#: ../src/viktrwlayer.c:7503
+msgid "_Show All Routes"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7509
+msgid "_Hide All Routes"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7520
+msgid "_List Routes..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7579
msgid "_View Track"
msgstr "_Visualização de faixa"
-#: ../src/viktrwlayer.c:6329
+#: ../src/viktrwlayer.c:7581
msgid "_View Route"
msgstr ""
-#: ../src/viktrwlayer.c:6343
+#: ../src/viktrwlayer.c:7600
msgid "_Startpoint"
msgstr "_Ponto inicial"
-#: ../src/viktrwlayer.c:6349
+#: ../src/viktrwlayer.c:7606
msgid "\"_Center\""
msgstr "\"_Centro\""
-#: ../src/viktrwlayer.c:6355
+#: ../src/viktrwlayer.c:7612
msgid "_Endpoint"
msgstr "_Ponto final"
-#: ../src/viktrwlayer.c:6361
+#: ../src/viktrwlayer.c:7618
msgid "_Highest Altitude"
msgstr "_Maior altitude"
-#: ../src/viktrwlayer.c:6367
+#: ../src/viktrwlayer.c:7624
msgid "_Lowest Altitude"
msgstr "_Menor altitude"
-#: ../src/viktrwlayer.c:6375
+#: ../src/viktrwlayer.c:7632
msgid "_Maximum Speed"
msgstr "_Velocidade máxima"
-#: ../src/viktrwlayer.c:6384
+#: ../src/viktrwlayer.c:7641
msgid "Co_mbine"
msgstr ""
-#: ../src/viktrwlayer.c:6392
+#: ../src/viktrwlayer.c:7649
msgid "_Merge By Time..."
msgstr ""
-#: ../src/viktrwlayer.c:6397
+#: ../src/viktrwlayer.c:7654
msgid "Merge _Segments"
msgstr ""
-#: ../src/viktrwlayer.c:6403
+#: ../src/viktrwlayer.c:7660
msgid "Merge _With Other Tracks..."
msgstr "Mesclar _Com Outras Faixas ..."
-#: ../src/viktrwlayer.c:6409
+#: ../src/viktrwlayer.c:7666
msgid "_Append Track..."
msgstr ""
-#: ../src/viktrwlayer.c:6411
+#: ../src/viktrwlayer.c:7668
msgid "_Append Route..."
msgstr ""
-#: ../src/viktrwlayer.c:6417
+#: ../src/viktrwlayer.c:7674
msgid "Append _Route..."
msgstr ""
-#: ../src/viktrwlayer.c:6419
+#: ../src/viktrwlayer.c:7676
msgid "Append _Track..."
msgstr ""
-#: ../src/viktrwlayer.c:6426
+#: ../src/viktrwlayer.c:7683
msgid "_Split"
msgstr ""
-#: ../src/viktrwlayer.c:6434
+#: ../src/viktrwlayer.c:7691
msgid "_Split By Time..."
msgstr ""
#. ATM always enable this entry - don't want to have to analyse the track before displaying the menu - to keep the menu speedy
-#: ../src/viktrwlayer.c:6440
+#: ../src/viktrwlayer.c:7697
msgid "Split Se_gments"
msgstr ""
-#: ../src/viktrwlayer.c:6446
+#: ../src/viktrwlayer.c:7703
msgid "Split By _Number of Points..."
msgstr ""
-#: ../src/viktrwlayer.c:6451
+#: ../src/viktrwlayer.c:7708
msgid "Split at _Trackpoint"
msgstr ""
-#: ../src/viktrwlayer.c:6460
+#: ../src/viktrwlayer.c:7716
+msgid "_Insert Points"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7722
+msgid "Insert Point _Before Selected Point"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7729
+msgid "Insert Point _After Selected Point"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7738
msgid "Delete Poi_nts"
msgstr ""
-#: ../src/viktrwlayer.c:6466
+#: ../src/viktrwlayer.c:7744
+msgid "Delete _Selected Point"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7752
msgid "Delete Points With The Same _Position"
msgstr ""
-#: ../src/viktrwlayer.c:6471
+#: ../src/viktrwlayer.c:7757
msgid "Delete Points With The Same _Time"
msgstr ""
-#: ../src/viktrwlayer.c:6477
+#: ../src/viktrwlayer.c:7764 ../src/viktrwlayer.c:7964
+msgid "_Transform"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7772 ../src/viktrwlayer.c:7972
+msgid "_Apply DEM Data"
+msgstr "Aplicar dados DEM"
+
+#: ../src/viktrwlayer.c:7777 ../src/viktrwlayer.c:7977
+msgid "_Overwrite"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7780 ../src/viktrwlayer.c:7980
+msgid "Overwrite any existing elevation values with DEM values"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7783 ../src/viktrwlayer.c:7983
+msgid "_Keep Existing"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7786 ../src/viktrwlayer.c:7986
+msgid "Keep existing elevation values, only attempt for missing values"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7791
+msgid "_Smooth Missing Elevation Data"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7796
+msgid "_Interpolated"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7799
+msgid ""
+"Interpolate between known elevation values to derive values for the missing "
+"elevations"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7802
+msgid "_Flat"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7805
+msgid "Set unknown elevation values to the last known value"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7809
+msgid "C_onvert to a Route"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7811
+msgid "C_onvert to a Track"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7819
+msgid "_Anonymize Times"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7822
+msgid "Shift timestamps to a relative offset from 1901-01-01"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7827
msgid "_Reverse Track"
msgstr ""
-#: ../src/viktrwlayer.c:6479
+#: ../src/viktrwlayer.c:7829
msgid "_Reverse Route"
msgstr ""
-#: ../src/viktrwlayer.c:6488
+#: ../src/viktrwlayer.c:7836
+msgid "Refine Route..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7846
msgid "Down_load Maps Along Track..."
msgstr "Mapas Trajetórias Down_load ..."
-#: ../src/viktrwlayer.c:6490
+#: ../src/viktrwlayer.c:7848
msgid "Down_load Maps Along Route..."
msgstr ""
-#: ../src/viktrwlayer.c:6497
-msgid "_Apply DEM Data"
-msgstr "Aplicar dados DEM"
-
-#: ../src/viktrwlayer.c:6504
+#: ../src/viktrwlayer.c:7856
msgid "_Export Track as GPX..."
msgstr ""
-#: ../src/viktrwlayer.c:6506
+#: ../src/viktrwlayer.c:7858
msgid "_Export Route as GPX..."
msgstr ""
-#: ../src/viktrwlayer.c:6513
+#: ../src/viktrwlayer.c:7865
msgid "E_xtend Track End"
msgstr "Final E_xtendido de Faixa"
-#: ../src/viktrwlayer.c:6515
+#: ../src/viktrwlayer.c:7867
msgid "E_xtend Route End"
msgstr ""
-#: ../src/viktrwlayer.c:6522
-msgid "C_onvert to a Route"
-msgstr ""
-
-#: ../src/viktrwlayer.c:6524
-msgid "C_onvert to a Track"
-msgstr ""
-
-#: ../src/viktrwlayer.c:6532
+#: ../src/viktrwlayer.c:7874
msgid "Extend _Using Route Finder"
msgstr ""
-#: ../src/viktrwlayer.c:6548
+#: ../src/viktrwlayer.c:7889
msgid "_Upload to GPS..."
msgstr ""
-#: ../src/viktrwlayer.c:6559
+#: ../src/viktrwlayer.c:7900
msgid "_View Google Directions"
msgstr "_Exibir direções Google"
-#: ../src/viktrwlayer.c:6579
+#: ../src/viktrwlayer.c:7920
msgid "Use with _Filter"
msgstr "Utilizar com _Filtro"
-#: ../src/viktrwlayer.c:6612
+#: ../src/viktrwlayer.c:7953
msgid "_Edit Trackpoint"
msgstr ""
-#: ../src/viktrwlayer.c:7524
+#: ../src/viktrwlayer.c:9017
#, c-format
msgid " - Gain %dm:Loss %dm"
msgstr ""
-#: ../src/viktrwlayer.c:7526
+#: ../src/viktrwlayer.c:9019
#, c-format
msgid " - Gain %dft:Loss %dft"
msgstr ""
-#: ../src/viktrwlayer.c:7531
+#: ../src/viktrwlayer.c:9024
#, c-format
msgid " - Bearing %3.1f° - Step %s"
msgstr ""
-#: ../src/viktrwlayer.c:8124
+#: ../src/viktrwlayer.c:9628
#, c-format
msgid "Could not launch %s to open file."
msgstr ""
-#: ../src/viktrwlayer.c:8205
+#: ../src/viktrwlayer.c:9709
#, c-format
msgid "Creating %d Image Thumbnails..."
msgstr "Criação de Miniaturas de Imagem %d..."
-#: ../src/viktrwlayer.c:8524
+#: ../src/viktrwlayer.c:10106
msgid "No map layer in use. Create one first"
msgstr "Mapa em uso sem camada. Criar uma primeiro"
-#: ../src/viktrwlayer_propwin.c:898 ../src/viktrwlayer_propwin.c:1155
+#: ../src/viktrwlayer.c:10225
+#, c-format
+msgid "%s: Track List"
+msgstr ""
+
+#: ../src/viktrwlayer.c:10227
+#, c-format
+msgid "%s: Route List"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:828 ../src/viktrwlayer_propwin.c:1085
#, c-format
msgid "%.1f kph"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:901 ../src/viktrwlayer_propwin.c:1158
+#: ../src/viktrwlayer_propwin.c:831 ../src/viktrwlayer_propwin.c:1088
+#: ../src/viktrwlayer_analysis.c:290
#, c-format
msgid "%.1f mph"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:904 ../src/viktrwlayer_propwin.c:1161
+#: ../src/viktrwlayer_propwin.c:834 ../src/viktrwlayer_propwin.c:1091
#, c-format
msgid "%.1f knots"
msgstr ""
#. VIK_UNITS_SPEED_METRES_PER_SECOND:
-#: ../src/viktrwlayer_propwin.c:908 ../src/viktrwlayer_propwin.c:1165
+#: ../src/viktrwlayer_propwin.c:838 ../src/viktrwlayer_propwin.c:1095
#, c-format
msgid "%.1f m/s"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:1745
+#: ../src/viktrwlayer_propwin.c:1662 ../src/viktrwlayer_analysis.c:267
#, c-format
msgid "%.1f miles"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:1747
+#. VIK_UNITS_DISTANCE_KILOMETRES
+#: ../src/viktrwlayer_propwin.c:1664 ../src/viktrwlayer_analysis.c:271
#, c-format
msgid "%.1f km"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2681
+#: ../src/viktrwlayer_propwin.c:2582
msgid "Failed spliting track. Track unchanged"
msgstr "Desmembramento da Faixa falhou. Faixa inalterada"
-#: ../src/viktrwlayer_propwin.c:2779 ../src/viktrwlayer_propwin.c:3178
+#: ../src/viktrwlayer_propwin.c:2724 ../src/viktrwlayer_propwin.c:3140
#, c-format
msgid "%s - Track Properties"
msgstr "Propriedades da Faixa - %s"
-#: ../src/viktrwlayer_propwin.c:2784
+#: ../src/viktrwlayer_propwin.c:2729
msgid "Split at _Marker"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2785
+#: ../src/viktrwlayer_propwin.c:2730
msgid "Split _Segments"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2786
+#: ../src/viktrwlayer_propwin.c:2731
msgid "_Reverse"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2787
+#: ../src/viktrwlayer_propwin.c:2732
msgid "_Delete Dupl."
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2813
+#: ../src/viktrwlayer_propwin.c:2757
msgid "<b>Comment:</b>"
msgstr "<b>Comentário:</b>"
-#: ../src/viktrwlayer_propwin.c:2814
+#: ../src/viktrwlayer_propwin.c:2758
msgid "<b>Description:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2815
+#: ../src/viktrwlayer_propwin.c:2759
+msgid "<b>Color:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2760
+msgid "<b>Draw Name:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2761
+msgid "<b>Distance Labels:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2764
msgid "<b>Track Length:</b>"
msgstr "<b> Duração da Trilha </b>"
-#: ../src/viktrwlayer_propwin.c:2816
+#: ../src/viktrwlayer_propwin.c:2765
msgid "<b>Trackpoints:</b>"
msgstr "<b>Trackpoints:</b>"
-#: ../src/viktrwlayer_propwin.c:2817
+#: ../src/viktrwlayer_propwin.c:2766
msgid "<b>Segments:</b>"
msgstr "<b>Segmentos:</b>"
-#: ../src/viktrwlayer_propwin.c:2818
+#: ../src/viktrwlayer_propwin.c:2767
msgid "<b>Duplicate Points:</b>"
msgstr "<b>Pontos Duplicados:</b>"
-#: ../src/viktrwlayer_propwin.c:2819
+#: ../src/viktrwlayer_propwin.c:2768
msgid "<b>Max Speed:</b>"
msgstr "<b>Velocidade Máxima:</b>"
-#: ../src/viktrwlayer_propwin.c:2820
+#: ../src/viktrwlayer_propwin.c:2769
msgid "<b>Avg. Speed:</b>"
msgstr "<b>Velocidade Média:</b>"
-#: ../src/viktrwlayer_propwin.c:2821
+#: ../src/viktrwlayer_propwin.c:2770
msgid "<b>Moving Avg. Speed:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2822
+#: ../src/viktrwlayer_propwin.c:2771
msgid "<b>Avg. Dist. Between TPs:</b>"
msgstr "<b>Avg. Dist. Entre TPs:</b>"
-#: ../src/viktrwlayer_propwin.c:2823
+#: ../src/viktrwlayer_propwin.c:2772
msgid "<b>Elevation Range:</b>"
msgstr "<b>Faixa de Elevação::</b>"
-#: ../src/viktrwlayer_propwin.c:2824
+#: ../src/viktrwlayer_propwin.c:2773
msgid "<b>Total Elevation Gain/Loss:</b>"
msgstr "<b>Elevação Total Ganho/Prejuízo</b>"
-#: ../src/viktrwlayer_propwin.c:2825
+#: ../src/viktrwlayer_propwin.c:2774
msgid "<b>Start:</b>"
msgstr "<b>Início:</b>"
-#: ../src/viktrwlayer_propwin.c:2826
+#: ../src/viktrwlayer_propwin.c:2775
msgid "<b>End:</b>"
msgstr "<b>Fim:</b>"
-#: ../src/viktrwlayer_propwin.c:2827
+#: ../src/viktrwlayer_propwin.c:2776
msgid "<b>Duration:</b>"
msgstr "<b>Duração:</b>"
-#: ../src/viktrwlayer_propwin.c:2828
-msgid "<b>Color:</b>"
+#: ../src/viktrwlayer_propwin.c:2797
+msgid "No"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2798
+msgid "Centre"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2799
+msgid "Start only"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2877 ../src/viktrwlayer_propwin.c:2901
-#: ../src/viktrwlayer_propwin.c:2929 ../src/viktrwlayer_propwin.c:2966
-#: ../src/viktrwlayer_propwin.c:2984 ../src/viktrwlayer_propwin.c:3034
-#: ../src/viktrwlayer_propwin.c:3035 ../src/viktrwlayer_propwin.c:3036
-#: ../src/viktrwlayer_propwin.c:3062 ../src/viktrwlayer_propwin.c:3063
+#: ../src/viktrwlayer_propwin.c:2800
+msgid "End only"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2801
+msgid "Start and End"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2802
+msgid "Centre, Start and End"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2814
+msgid "Maximum number of distance labels to be shown"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2818
+msgid "Properties"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2856 ../src/viktrwlayer_propwin.c:2880
+#: ../src/viktrwlayer_propwin.c:2908 ../src/viktrwlayer_propwin.c:2945
+#: ../src/viktrwlayer_propwin.c:2963 ../src/viktrwlayer_propwin.c:3009
+#: ../src/viktrwlayer_propwin.c:3010 ../src/viktrwlayer_propwin.c:3011
+#: ../src/viktrwlayer_propwin.c:3020 ../src/viktrwlayer_propwin.c:3021
+#: ../src/viktrwlayer_propwin.c:3036 ../src/viktrwlayer_propwin.c:3037
+#: ../src/viktrwlayer_propwin.c:3050 ../src/viktrwlayer_propwin.c:3051
+#: ../src/viktrwlayer_propwin.c:3064 ../src/viktrwlayer_propwin.c:3065
#: ../src/viktrwlayer_propwin.c:3078 ../src/viktrwlayer_propwin.c:3079
#: ../src/viktrwlayer_propwin.c:3092 ../src/viktrwlayer_propwin.c:3093
-#: ../src/viktrwlayer_propwin.c:3106 ../src/viktrwlayer_propwin.c:3107
-#: ../src/viktrwlayer_propwin.c:3120 ../src/viktrwlayer_propwin.c:3121
-#: ../src/viktrwlayer_propwin.c:3134 ../src/viktrwlayer_propwin.c:3135
+#: ../src/viktrwlayer_analysis.c:257
#, c-format
msgid "No Data"
msgstr "Sem Dados"
-#: ../src/viktrwlayer_propwin.c:3031
+#: ../src/viktrwlayer_propwin.c:3006
#, c-format
msgid "%d minutes"
msgstr "%d minutos"
-#: ../src/viktrwlayer_propwin.c:3058
+#: ../src/viktrwlayer_propwin.c:3016 ../src/viktrwlayer_analysis.c:515
msgid "Statistics"
msgstr "Estatísticas"
-#: ../src/viktrwlayer_propwin.c:3064
+#: ../src/viktrwlayer_propwin.c:3022
msgid "Show D_EM"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3065 ../src/viktrwlayer_propwin.c:3080
-#: ../src/viktrwlayer_propwin.c:3094 ../src/viktrwlayer_propwin.c:3136
+#: ../src/viktrwlayer_propwin.c:3023 ../src/viktrwlayer_propwin.c:3038
+#: ../src/viktrwlayer_propwin.c:3052 ../src/viktrwlayer_propwin.c:3094
msgid "Show _GPS Speed"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3067 ../src/viktrwlayer_propwin.c:3082
-#: ../src/viktrwlayer_propwin.c:3110 ../src/viktrwlayer_propwin.c:3138
+#: ../src/viktrwlayer_propwin.c:3025 ../src/viktrwlayer_propwin.c:3040
+#: ../src/viktrwlayer_propwin.c:3068 ../src/viktrwlayer_propwin.c:3096
msgid "<b>Track Distance:</b>"
msgstr "<b>Distância da Trilha:</b>"
-#: ../src/viktrwlayer_propwin.c:3068 ../src/viktrwlayer_propwin.c:3125
+#: ../src/viktrwlayer_propwin.c:3026 ../src/viktrwlayer_propwin.c:3083
msgid "<b>Track Height:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3073
+#: ../src/viktrwlayer_propwin.c:3031
msgid "Elevation-distance"
msgstr "Elevação da distância"
-#: ../src/viktrwlayer_propwin.c:3083
+#: ../src/viktrwlayer_propwin.c:3041
msgid "<b>Track Gradient:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3087
+#: ../src/viktrwlayer_propwin.c:3045
msgid "Gradient-distance"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3096 ../src/viktrwlayer_propwin.c:3111
-#: ../src/viktrwlayer_propwin.c:3124
+#: ../src/viktrwlayer_propwin.c:3054 ../src/viktrwlayer_propwin.c:3069
+#: ../src/viktrwlayer_propwin.c:3082
msgid "<b>Track Time:</b>"
msgstr "<b>Tempo da Trilha::</b>"
-#: ../src/viktrwlayer_propwin.c:3097 ../src/viktrwlayer_propwin.c:3139
+#: ../src/viktrwlayer_propwin.c:3055 ../src/viktrwlayer_propwin.c:3097
msgid "<b>Track Speed:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3101
+#: ../src/viktrwlayer_propwin.c:3059
msgid "Speed-time"
msgstr "Velocidade em tempo"
-#: ../src/viktrwlayer_propwin.c:3108 ../src/viktrwlayer_propwin.c:3122
+#: ../src/viktrwlayer_propwin.c:3066 ../src/viktrwlayer_propwin.c:3080
msgid "Show S_peed"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3115
+#: ../src/viktrwlayer_propwin.c:3073
msgid "Distance-time"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3129
+#: ../src/viktrwlayer_propwin.c:3087
msgid "Elevation-time"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3143
+#: ../src/viktrwlayer_propwin.c:3101
msgid "Speed-distance"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:118
+#: ../src/viktrwlayer_tpwin.c:119
msgid "<b>Part of Track:</b>"
msgstr "<b>Parte da Trilha</b>"
-#: ../src/viktrwlayer_tpwin.c:119
+#: ../src/viktrwlayer_tpwin.c:120
msgid "<b>Latitude:</b>"
msgstr "<b>Latitude:</b>"
-#: ../src/viktrwlayer_tpwin.c:120
+#: ../src/viktrwlayer_tpwin.c:121
msgid "<b>Longitude:</b>"
msgstr "<b>Longitude:</b>"
-#: ../src/viktrwlayer_tpwin.c:121
+#: ../src/viktrwlayer_tpwin.c:122
msgid "<b>Altitude:</b>"
msgstr "<b>Altitude:</b>"
-#: ../src/viktrwlayer_tpwin.c:122
+#: ../src/viktrwlayer_tpwin.c:123
+msgid "<b>Course:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_tpwin.c:124
msgid "<b>Timestamp:</b>"
msgstr "<b>Carimbo de hora:</b>"
-#: ../src/viktrwlayer_tpwin.c:123
+#: ../src/viktrwlayer_tpwin.c:125
msgid "<b>Time:</b>"
msgstr "<b>Tempo:</b>"
-#: ../src/viktrwlayer_tpwin.c:124
+#: ../src/viktrwlayer_tpwin.c:126
msgid "<b>Distance Difference:</b>"
msgstr "<b>Diferença da Distância:</b>"
-#: ../src/viktrwlayer_tpwin.c:125
+#: ../src/viktrwlayer_tpwin.c:127
msgid "<b>Time Difference:</b>"
msgstr "<b>Diferença de Tempo:</b>"
-#: ../src/viktrwlayer_tpwin.c:126
+#: ../src/viktrwlayer_tpwin.c:128
msgid "<b>\"Speed\" Between:</b>"
msgstr "<b>\"Speed\" Entre:</b>"
-#: ../src/viktrwlayer_tpwin.c:127
+#: ../src/viktrwlayer_tpwin.c:129
+msgid "<b>Speed:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_tpwin.c:130
msgid "<b>VDOP:</b>"
msgstr "<b>VDOP:</b>"
-#: ../src/viktrwlayer_tpwin.c:128
+#: ../src/viktrwlayer_tpwin.c:131
msgid "<b>HDOP:</b>"
msgstr "<b>HDOP:</b>"
-#: ../src/viktrwlayer_tpwin.c:129
+#: ../src/viktrwlayer_tpwin.c:132
msgid "<b>PDOP:</b>"
msgstr "<b>PDOP:</b>"
-#: ../src/viktrwlayer_tpwin.c:130
+#: ../src/viktrwlayer_tpwin.c:133
msgid "<b>SAT/FIX:</b>"
msgstr "<b>SAT/FIX:</b>"
-#: ../src/viktrwlayer_tpwin.c:139
+#: ../src/viktrwlayer_tpwin.c:141
msgid "Trackpoint"
msgstr "Trackpoint"
-#: ../src/viktrwlayer_tpwin.c:142
+#: ../src/viktrwlayer_tpwin.c:144
msgid "_Insert After"
msgstr "_Inserir Depois"
-#: ../src/viktrwlayer_tpwin.c:144
+#: ../src/viktrwlayer_tpwin.c:146
msgid "Split Here"
msgstr "Dividir Aqui"
-#: ../src/viktrwlayer_geotag.c:446
+#.
+#. item = gtk_image_menu_item_new_with_mnemonic ( _("_Select") );
+#. gtk_image_menu_item_set_image ( (GtkImageMenuItem*)item, gtk_image_new_from_stock (GTK_STOCK_FIND, GTK_ICON_SIZE_MENU) );
+#. g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(trw_layer_track_select), values );
+#. gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
+#. gtk_widget_show ( item );
+#.
+#. ATM view auto selects, so don't bother with separate select menu entry
+#: ../src/viktrwlayer_tracklist.c:231 ../src/vikwindow.c:3695
+msgid "_View"
+msgstr "_Exibir"
+
+#. Insert column for the layer name when viewing multi layers
+#: ../src/viktrwlayer_tracklist.c:514
+msgid "Layer"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:526
+msgid "Date"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:529
+msgid "Visible"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:536
+msgid ""
+"Distance\n"
+"(miles)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:539
+msgid ""
+"Distance\n"
+"(km)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:545
+msgid ""
+"Length\n"
+"(minutes)"
+msgstr ""
+
+#. VIK_UNITS_SPEED_KILOMETRES_PER_HOUR:
+#: ../src/viktrwlayer_tracklist.c:549 ../src/vikutils.c:72
+msgid "km/h"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:550 ../src/vikutils.c:62
+msgid "mph"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:551 ../src/vikutils.c:68
+msgid "knots"
+msgstr ""
+
+#. VIK_UNITS_SPEED_METRES_PER_SECOND:
+#: ../src/viktrwlayer_tracklist.c:553 ../src/vikutils.c:65
+msgid "m/s"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:556
+#, c-format
+msgid ""
+"Av. Speed\n"
+"(%s)"
+msgstr ""
+
+#. Apply own formatting of the data
+#: ../src/viktrwlayer_tracklist.c:561
+#, c-format
+msgid ""
+"Max Speed\n"
+"(%s)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:569
+msgid ""
+"Max Height\n"
+"(Feet)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:571
+msgid ""
+"Max Height\n"
+"(Metres)"
+msgstr ""
+
+#: ../src/viktrwlayer_geotag.c:481
#, c-format
msgid "Geotagging %d Images..."
msgstr ""
-#: ../src/viktrwlayer_geotag.c:510
+#: ../src/viktrwlayer_geotag.c:545
msgid "Geotag Images"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:516
+#: ../src/viktrwlayer_geotag.c:551
msgid "Images"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:520
+#: ../src/viktrwlayer_geotag.c:555
msgid "Overwrite Existing Waypoints:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:523
+#: ../src/viktrwlayer_geotag.c:558
msgid "Overwrite Existing GPS Information:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:525
+#: ../src/viktrwlayer_geotag.c:560
msgid "Keep File Modification Timestamp:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:555
+#: ../src/viktrwlayer_geotag.c:592
msgid "Create Waypoints:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:563
+#: ../src/viktrwlayer_geotag.c:600
msgid "Write EXIF:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:575
+#: ../src/viktrwlayer_geotag.c:612
msgid "Interpolate Between Track Segments:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:579
+#: ../src/viktrwlayer_geotag.c:616
msgid "Image Time Offset (Seconds):"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:581
+#: ../src/viktrwlayer_geotag.c:618
msgid ""
"The number of seconds to ADD to the photos time to make it match the GPS "
"data. Calculate this with (GPS - Photo). Can be negative or positive. Useful "
"to adjust times when a camera's timestamp was incorrect."
msgstr ""
-#: ../src/viktrwlayer_geotag.c:584
+#: ../src/viktrwlayer_geotag.c:621
msgid "Image Timezone:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:586
+#: ../src/viktrwlayer_geotag.c:623
msgid ""
"The timezone that was used when the images were created. For example, if a "
"camera is set to AWST or +8:00 hours. Enter +8:00 here so that the correct "
"adjustment to the images' time can be made. GPS data is always in UTC."
msgstr ""
-#: ../src/viktrwlayer_geotag.c:590
+#: ../src/viktrwlayer_geotag.c:627
#, c-format
msgid "Using track: %s"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:592
+#: ../src/viktrwlayer_geotag.c:629
#, c-format
msgid "Using all tracks in: %s"
msgstr ""
-#: ../src/vikstatus.c:105
+#: ../src/viktrwlayer_analysis.c:193
+msgid "Number of Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:194
+msgid "Date Range"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:195
+msgid "Total Length"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:196
+msgid "Average Length"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:197
+msgid "Max Speed"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:198
+msgid "Avg. Speed"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:199
+msgid "Minimum Altitude"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:200
+msgid "Maximum Altitude"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:201
+msgid "Total Elevation Gain/Loss"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:202
+msgid "Avg. Elevation Gain/Loss"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:203
+msgid "Total Duration"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:204
+msgid "Avg. Duration"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:278
+#, c-format
+msgid "%.2f miles"
+msgstr ""
+
+#. VIK_UNITS_DISTANCE_KILOMETRES
+#: ../src/viktrwlayer_analysis.c:282
+#, c-format
+msgid "%.2f km"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:297
+#, c-format
+msgid "%.2f m/s"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:306
+#, c-format
+msgid "%.2f knots\n"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:309
+#, c-format
+msgid "%.2f knots"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:316 ../src/viktrwlayer_analysis.c:319
+#, c-format
+msgid "%.2f km/h"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:330 ../src/viktrwlayer_analysis.c:336
+#, c-format
+msgid "%d feet"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:341 ../src/viktrwlayer_analysis.c:343
+#, c-format
+msgid "%d feet / %d feet"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:348 ../src/viktrwlayer_analysis.c:354
+#, c-format
+msgid "%d m"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:359 ../src/viktrwlayer_analysis.c:361
+#, c-format
+msgid "%d m / %d m"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:373
+#, c-format
+msgid "%d:%02d:%02d days:hrs:mins"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:380
+#, c-format
+msgid "%d:%02d hrs:mins"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:550
+msgid "Include Invisible Items"
+msgstr ""
+
+#: ../src/vikstatus.c:107
+msgid "Current number of background tasks. Click to see the background jobs."
+msgstr ""
+
+#: ../src/vikstatus.c:113
msgid "Current zoom level. Click to select a new one."
msgstr ""
-#: ../src/vikwaypoint.c:34
+#: ../src/vikutils.c:80
+msgid "GPSD"
+msgstr ""
+
+#. GPS Preamble
+#: ../src/vikutils.c:81
+msgid "Trkpt"
+msgstr ""
+
+#: ../src/vikutils.c:121
+#, c-format
+msgid "%sSpeed%s %.1f%s"
+msgstr ""
+
+#: ../src/vikutils.c:130
+#, c-format
+msgid "%sAlt %dfeet"
+msgstr ""
+
+#. VIK_UNITS_HEIGHT_METRES:
+#: ../src/vikutils.c:134
+#, c-format
+msgid "%sAlt %dm"
+msgstr ""
+
+#: ../src/vikutils.c:142
+#, c-format
+msgid "%sCourse %03d°"
+msgstr ""
+
+#: ../src/vikutils.c:155
+msgid "yards"
+msgstr ""
+
+#. VIK_UNITS_DISTANCE_KILOMETRES:
+#: ../src/vikutils.c:159
+msgid "m"
+msgstr ""
+
+#: ../src/vikutils.c:163
+#, c-format
+msgid "%sDistance diff %d%s"
+msgstr ""
+
+#: ../src/vikutils.c:179
+#, c-format
+msgid "%sTime %s"
+msgstr ""
+
+#: ../src/vikutils.c:187
+#, c-format
+msgid "%sTime diff %lds"
+msgstr ""
+
+#: ../src/vikutils.c:193
+#, c-format
+msgid "%sNo. of Sats %d"
+msgstr ""
+
+#: ../src/vikutils.c:213
+#, c-format
+msgid "%sDistance along %.2f%s"
+msgstr ""
+
+#. Name of track
+#: ../src/vikutils.c:232
+#, c-format
+msgid "%sTrack: %s"
+msgstr ""
+
+#: ../src/vikwaypoint.c:36
msgid "Waypoint"
msgstr ""
#. TODO get rid of this as this is unnecessary duplication...
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Pan"
msgstr "Pan"
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Zoom"
msgstr "Ampliar"
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Ruler"
msgstr "Régua"
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Select"
msgstr ""
+#: ../src/vikwindow.c:381
+msgid "Location lookup aborted"
+msgstr ""
+
+#: ../src/vikwindow.c:401
+#, c-format
+msgid "Location found: %s"
+msgstr ""
+
+#: ../src/vikwindow.c:410
+msgid "Unable to determine location"
+msgstr ""
+
+#: ../src/vikwindow.c:434
+msgid "Default Map"
+msgstr ""
+
+#: ../src/vikwindow.c:444
+msgid "Trying to determine location..."
+msgstr ""
+
+#: ../src/vikwindow.c:447
+msgid "Determining location"
+msgstr ""
+
#. Create tooltip
-#: ../src/vikwindow.c:440
+#: ../src/vikwindow.c:605
msgid "Select zoom level"
msgstr ""
-#: ../src/vikwindow.c:645
+#: ../src/vikwindow.c:923
#, c-format
msgid ""
"Do you want to save the changes you made to the document \"%s\"?\n"
@@ -3195,172 +4037,231 @@ msgstr ""
"\n"
"Suas alterações serão perdidas se você não salvá-las."
-#: ../src/vikwindow.c:649
+#: ../src/vikwindow.c:927
msgid "Don't Save"
msgstr "Não Salvar"
-#: ../src/vikwindow.c:696
+#: ../src/vikwindow.c:1005
msgid "mpp"
msgstr "mpp"
-#: ../src/vikwindow.c:696
+#: ../src/vikwindow.c:1005
msgid "pixelfact"
msgstr "pixelfact"
-#: ../src/vikwindow.c:861
+#: ../src/vikwindow.c:1169
#, c-format
msgid "%s %s %dm"
msgstr "%s %s %dm"
-#: ../src/vikwindow.c:863
+#: ../src/vikwindow.c:1171
#, c-format
msgid "%s %s %dft"
msgstr "%s %s %dft"
-#: ../src/vikwindow.c:866
+#: ../src/vikwindow.c:1174
#, c-format
msgid "%s %s"
msgstr "%s %s"
#. NB Ctrl+Shift+R is used for Refresh (deemed more important), so use 'U' instead
-#: ../src/vikwindow.c:1254
+#: ../src/vikwindow.c:1562
msgid "_Ruler"
msgstr ""
-#: ../src/vikwindow.c:1254
+#: ../src/vikwindow.c:1562
msgid "Ruler Tool"
msgstr "Ferramenta Régua"
-#: ../src/vikwindow.c:1502 ../src/vikwindow.c:3138
+#: ../src/vikwindow.c:1810 ../src/vikwindow.c:3697
msgid "_Zoom"
msgstr "_Zoom"
-#: ../src/vikwindow.c:1502
+#: ../src/vikwindow.c:1810
msgid "Zoom Tool"
msgstr ""
-#: ../src/vikwindow.c:1547 ../src/vikwindow.c:3139
+#: ../src/vikwindow.c:1855 ../src/vikwindow.c:3698
msgid "_Pan"
msgstr "_Panela"
-#: ../src/vikwindow.c:1547
+#: ../src/vikwindow.c:1855
msgid "Pan Tool"
msgstr ""
-#: ../src/vikwindow.c:1664
+#: ../src/vikwindow.c:1972
msgid "_Select"
msgstr ""
-#: ../src/vikwindow.c:1664
+#: ../src/vikwindow.c:1972
msgid "Select Tool"
msgstr ""
-#: ../src/vikwindow.c:1809
+#: ../src/vikwindow.c:2123
msgid "You must select a layer to show its properties."
msgstr "Você deve selecionar uma camada para mostrar suas propriedades."
#. No error to show, so unlikely this will get called
-#: ../src/vikwindow.c:1824
+#: ../src/vikwindow.c:2137
msgid "The help system is not available."
msgstr ""
#. Main error path
-#: ../src/vikwindow.c:1827
+#: ../src/vikwindow.c:2140
#, c-format
msgid ""
"Help is not available because: %s.\n"
"Ensure a Mime Type ghelp handler program is installed (e.g. yelp)."
msgstr ""
-#: ../src/vikwindow.c:1850
+#: ../src/vikwindow.c:2160
msgid "You must select a layer to delete."
msgstr "Você deve selecionar uma camada para excluir."
-#: ../src/vikwindow.c:2087
+#: ../src/vikwindow.c:2396
msgid "Untitled"
msgstr "Sem Título"
-#: ../src/vikwindow.c:2194
+#: ../src/vikwindow.c:2503
#, c-format
msgid "Unable to add '%s' to the list of recently used documents"
msgstr ""
"Não é possível adicionar \"%s\" para a lista de documentos usados "
"​​recentemente"
-#: ../src/vikwindow.c:2208
+#: ../src/vikwindow.c:2540
msgid "The file you requested could not be opened."
msgstr "O arquivo solicitado não pôde ser aberto."
-#: ../src/vikwindow.c:2211
+#: ../src/vikwindow.c:2543
msgid ""
"GPSBabel is required to load files of this type or GPSBabel encountered "
"problems."
msgstr ""
-#: ../src/vikwindow.c:2214
+#: ../src/vikwindow.c:2546
#, c-format
msgid "Unable to load malformed GPX file %s"
msgstr ""
-#: ../src/vikwindow.c:2217
+#: ../src/vikwindow.c:2549
#, c-format
msgid "Unsupported file type for %s"
msgstr ""
#. Since we can process .vik files with issues just show a warning in the status bar
#. Not that a user can do much about it... or tells them what this issue is yet...
-#: ../src/vikwindow.c:2223
+#: ../src/vikwindow.c:2555
#, c-format
msgid "WARNING: issues encountered loading %s"
msgstr ""
-#: ../src/vikwindow.c:2278
+#: ../src/vikwindow.c:2613
msgid "Please select a GPS data file to open. "
msgstr "Por favor selecione um arquivo de dados GPS para abrir. "
-#: ../src/vikwindow.c:2288
+#: ../src/vikwindow.c:2629
msgid "Geocaching"
msgstr ""
-#: ../src/vikwindow.c:2294
+#: ../src/vikwindow.c:2635
msgid "Google Earth"
msgstr ""
-#: ../src/vikwindow.c:2299
+#: ../src/vikwindow.c:2640
msgid "GPX"
msgstr ""
-#: ../src/vikwindow.c:2304 ../src/vikwindow.c:2387
+#: ../src/vikwindow.c:2645 ../src/vikwindow.c:2734
#: ../src/viking.desktop.in.h:1
msgid "Viking"
msgstr "Viking"
-#: ../src/vikwindow.c:2374
+#: ../src/vikwindow.c:2715
msgid "Save as Viking File."
msgstr "Salvar como Arquivo Viking."
+#: ../src/vikwindow.c:2841
+msgid "Exporting to file: "
+msgstr ""
+
+#. Confirm what happened.
+#: ../src/vikwindow.c:2858
+#, c-format
+msgid "Exported files: %d"
+msgstr ""
+
+#: ../src/vikwindow.c:2870
+msgid "Nothing to Export!"
+msgstr ""
+
+#: ../src/vikwindow.c:2874
+msgid "Export to directory"
+msgstr ""
+
+#: ../src/vikwindow.c:2896
+msgid "Could not convert all files"
+msgstr ""
+
+#: ../src/vikwindow.c:2932
+#, c-format
+msgid "%d bytes"
+msgstr ""
+
+#: ../src/vikwindow.c:2934
+#, c-format
+msgid "%3.1f kB"
+msgstr ""
+
+#: ../src/vikwindow.c:2936
+#, c-format
+msgid "%3.1f MB"
+msgstr ""
+
+#: ../src/vikwindow.c:2937
+#, c-format
+msgid ""
+"%s\n"
+"\n"
+"%s\n"
+"\n"
+"%s"
+msgstr ""
+
+#: ../src/vikwindow.c:2942
+msgid "File not accessible"
+msgstr ""
+
+#: ../src/vikwindow.c:2945
+msgid "No Viking File"
+msgstr ""
+
+#: ../src/vikwindow.c:3035
+msgid "This layer has no configurable properties."
+msgstr ""
+
#. Try harder...
-#: ../src/vikwindow.c:2619 ../src/vikwindow.c:2625
+#: ../src/vikwindow.c:3169 ../src/vikwindow.c:3175
msgid "Generating image file..."
msgstr ""
-#: ../src/vikwindow.c:2647
+#: ../src/vikwindow.c:3197
msgid ""
"Failed to generate internal image.\n"
"\n"
"Try creating a smaller image."
msgstr ""
-#: ../src/vikwindow.c:2655
+#: ../src/vikwindow.c:3205
msgid "Failed to generate image file."
msgstr ""
#. Success
-#: ../src/vikwindow.c:2660
+#: ../src/vikwindow.c:3210
msgid "Image file generated."
msgstr ""
-#: ../src/vikwindow.c:2764
+#: ../src/vikwindow.c:3314
msgid ""
"Viewable region outside allowable pixel size bounds for image. Clipping "
"width/height values."
@@ -3368,455 +4269,480 @@ msgstr ""
"Região visível fora dos limites admissíveis do tamanho do pixel de imagem. "
"Largura de recorte valores/altura."
-#: ../src/vikwindow.c:2789
+#: ../src/vikwindow.c:3339
#, c-format
msgid "Total area: %ldm x %ldm (%.3f sq. km)"
msgstr "Área total: %ldm x %ldm (%.3f sq. km)"
-#: ../src/vikwindow.c:2792
+#: ../src/vikwindow.c:3342
#, c-format
msgid "Total area: %ldm x %ldm (%.3f sq. miles)"
msgstr "Área total: %ldm x %ldm (%.3f milhas quadrados)"
-#: ../src/vikwindow.c:2813
+#: ../src/vikwindow.c:3363
msgid "Save Image"
msgstr "Salvar Imagem"
-#: ../src/vikwindow.c:2834
+#: ../src/vikwindow.c:3393
msgid "PNG"
msgstr ""
-#: ../src/vikwindow.c:2857
+#: ../src/vikwindow.c:3416
msgid "You must be in UTM mode to use this feature"
msgstr "Você deve estar no modo UTM para usar este recurso"
-#: ../src/vikwindow.c:2862
+#: ../src/vikwindow.c:3421
msgid "Choose a directory to hold images"
msgstr "Escolha um diretório para armazenar as imagens"
#. todo: default for answers inside VikWindow or static (thruout instance)
-#: ../src/vikwindow.c:2883
+#: ../src/vikwindow.c:3442
msgid "Save to Image File"
msgstr "Salvar como Arquivo de Imagem."
-#: ../src/vikwindow.c:2900
+#: ../src/vikwindow.c:3459
msgid "Width (pixels):"
msgstr "Largura (pixels):"
-#: ../src/vikwindow.c:2902
+#: ../src/vikwindow.c:3461
msgid "Height (pixels):"
msgstr "Altura (pixels):"
-#: ../src/vikwindow.c:2905
+#: ../src/vikwindow.c:3464
msgid ""
"WARNING: USING LARGE IMAGES OVER 10000x10000\n"
"MAY CRASH THE PROGRAM!"
msgstr ""
-#: ../src/vikwindow.c:2907
+#: ../src/vikwindow.c:3466
msgid "Zoom (meters per pixel):"
msgstr "Zoom (metros por pixel):"
-#: ../src/vikwindow.c:2921
+#: ../src/vikwindow.c:3482
msgid "Area in current viewable window"
msgstr "Área visível na janela atual"
-#: ../src/vikwindow.c:2931
+#: ../src/vikwindow.c:3492
msgid "Save as PNG"
msgstr "Salvar como PNG"
-#: ../src/vikwindow.c:2932
+#: ../src/vikwindow.c:3493
msgid "Save as JPEG"
msgstr "Salvar como JPEG"
-#: ../src/vikwindow.c:2954
+#: ../src/vikwindow.c:3515
msgid "East-west image tiles:"
msgstr "Imagem telhas Leste-Oeste:"
-#: ../src/vikwindow.c:2956
+#: ../src/vikwindow.c:3517
msgid "North-south image tiles:"
msgstr "Telhas de imagem Norte-Sul:"
-#: ../src/vikwindow.c:3097
+#: ../src/vikwindow.c:3656
msgid "Choose a background color"
msgstr "Escolha uma cor de fundo"
-#: ../src/vikwindow.c:3113
+#: ../src/vikwindow.c:3672
msgid "Choose a track highlight color"
msgstr ""
-#: ../src/vikwindow.c:3134
+#: ../src/vikwindow.c:3693
msgid "_File"
msgstr "_Arquivo"
-#: ../src/vikwindow.c:3135
+#: ../src/vikwindow.c:3694
msgid "_Edit"
msgstr "_Editar"
-#: ../src/vikwindow.c:3136
-msgid "_View"
-msgstr "_Exibir"
-
-#: ../src/vikwindow.c:3137
+#: ../src/vikwindow.c:3696
msgid "_Show"
msgstr "_Mostrar"
-#: ../src/vikwindow.c:3140
+#: ../src/vikwindow.c:3699
msgid "_Layers"
msgstr "_Camadas"
-#: ../src/vikwindow.c:3141
+#: ../src/vikwindow.c:3700
msgid "_Tools"
msgstr "_Ferramentas"
-#: ../src/vikwindow.c:3142
+#: ../src/vikwindow.c:3701
msgid "_Webtools"
msgstr "_Ferramentas da Web"
-#: ../src/vikwindow.c:3143 ../src/vikwindow.c:3206
+#: ../src/vikwindow.c:3702 ../src/vikwindow.c:3763
msgid "_Help"
msgstr "_Ajuda"
-#: ../src/vikwindow.c:3145
+#: ../src/vikwindow.c:3704
msgid "New file"
msgstr "Novo arquivo"
-#: ../src/vikwindow.c:3146
+#: ../src/vikwindow.c:3705
msgid "_Open..."
msgstr "_Abrir..."
-#: ../src/vikwindow.c:3146
+#: ../src/vikwindow.c:3705
msgid "Open a file"
msgstr "Abrir um arquivo"
-#: ../src/vikwindow.c:3147
+#: ../src/vikwindow.c:3706
msgid "Open _Recent File"
msgstr "Abrir_ Arquivo Recente"
-#: ../src/vikwindow.c:3148
+#: ../src/vikwindow.c:3707
msgid "Append _File..."
msgstr "Anexar _Arquivo ..."
-#: ../src/vikwindow.c:3148
+#: ../src/vikwindow.c:3707
msgid "Append data from a different file"
msgstr "Acrescentar dados de um arquivo diferente"
-#: ../src/vikwindow.c:3149
+#: ../src/vikwindow.c:3708
+msgid "_Export All"
+msgstr ""
+
+#: ../src/vikwindow.c:3708
+msgid "Export All TrackWaypoint Layers"
+msgstr ""
+
+#: ../src/vikwindow.c:3709
+msgid "_GPX..."
+msgstr ""
+
+#: ../src/vikwindow.c:3709
+msgid "Export as GPX"
+msgstr ""
+
+#: ../src/vikwindow.c:3710
msgid "A_cquire"
msgstr "A_dquirir"
-#: ../src/vikwindow.c:3150
+#: ../src/vikwindow.c:3711
msgid "Transfer data from a GPS device"
msgstr "Transferir de dados de um dispositivo GPS."
-#: ../src/vikwindow.c:3151
+#: ../src/vikwindow.c:3712
msgid "Import File With GPS_Babel..."
msgstr ""
-#: ../src/vikwindow.c:3151
+#: ../src/vikwindow.c:3712
msgid "Import file via GPSBabel converter"
msgstr ""
-#: ../src/vikwindow.c:3153
-msgid "Google _Directions..."
-msgstr "Direcões_Google ..."
+#: ../src/vikwindow.c:3713
+msgid "_Directions..."
+msgstr ""
-#: ../src/vikwindow.c:3153
-msgid "Get driving directions from Google"
-msgstr "Obter direcções de Google"
+#: ../src/vikwindow.c:3713
+msgid "Get driving directions"
+msgstr ""
-#: ../src/vikwindow.c:3156
+#: ../src/vikwindow.c:3715
msgid "_OSM Traces..."
msgstr ""
-#: ../src/vikwindow.c:3156
+#: ../src/vikwindow.c:3715
msgid "Get traces from OpenStreetMap"
msgstr ""
-#: ../src/vikwindow.c:3157
+#: ../src/vikwindow.c:3716
msgid "_My OSM Traces..."
msgstr ""
-#: ../src/vikwindow.c:3157
+#: ../src/vikwindow.c:3716
msgid "Get Your Own Traces from OpenStreetMap"
msgstr ""
-#: ../src/vikwindow.c:3160
+#: ../src/vikwindow.c:3719
msgid "Geo_caches..."
msgstr "Geo_caches..."
-#: ../src/vikwindow.c:3160
+#: ../src/vikwindow.c:3719
msgid "Get Geocaches from geocaching.com"
msgstr "Obter Geocaches de geocaching.com"
-#: ../src/vikwindow.c:3163
+#: ../src/vikwindow.c:3722
msgid "Create waypoints from geotagged images"
msgstr ""
-#: ../src/vikwindow.c:3166
+#: ../src/vikwindow.c:3725
msgid "Create waypoints from Wikipedia items in the current view"
msgstr ""
-#: ../src/vikwindow.c:3168
+#: ../src/vikwindow.c:3727
msgid "_Save"
msgstr "_Salvar"
-#: ../src/vikwindow.c:3168
+#: ../src/vikwindow.c:3727
msgid "Save the file"
msgstr "Salve o arquivo"
-#: ../src/vikwindow.c:3169
+#: ../src/vikwindow.c:3728
msgid "Save _As..."
msgstr "Salvar _Como..."
-#: ../src/vikwindow.c:3169
+#: ../src/vikwindow.c:3728
msgid "Save the file under different name"
msgstr "Salve o arquivo com nome diferente"
-#: ../src/vikwindow.c:3170
+#: ../src/vikwindow.c:3729
+msgid "Properties..."
+msgstr ""
+
+#: ../src/vikwindow.c:3729
+msgid "File Properties"
+msgstr ""
+
+#: ../src/vikwindow.c:3730
msgid "_Generate Image File..."
msgstr "_Gerar arquivo de imagem..."
-#: ../src/vikwindow.c:3170
+#: ../src/vikwindow.c:3730
msgid "Save a snapshot of the workspace into a file"
msgstr "Salvar um snapshot da área de trabalho em um arquivo"
-#: ../src/vikwindow.c:3171
+#: ../src/vikwindow.c:3731
msgid "Generate _Directory of Images..."
msgstr "Gerar _Lista de imagens..."
-#: ../src/vikwindow.c:3171
+#: ../src/vikwindow.c:3731
msgid "FIXME:IMGDIR"
msgstr "FIXME:IMGDIR"
-#: ../src/vikwindow.c:3174
+#: ../src/vikwindow.c:3732
msgid "_Print..."
msgstr "_Imprimir..."
-#: ../src/vikwindow.c:3174
+#: ../src/vikwindow.c:3732
msgid "Print maps"
msgstr "Imprimir mapas"
-#: ../src/vikwindow.c:3177
+#: ../src/vikwindow.c:3733
msgid "E_xit"
msgstr "S_air"
-#: ../src/vikwindow.c:3177
+#: ../src/vikwindow.c:3733
msgid "Exit the program"
msgstr "Sair do programa"
-#: ../src/vikwindow.c:3178
+#: ../src/vikwindow.c:3734
msgid "Save and Exit"
msgstr "Salvar e Sair"
-#: ../src/vikwindow.c:3178
+#: ../src/vikwindow.c:3734
msgid "Save and Exit the program"
msgstr "Salvar e Sair do programa"
-#: ../src/vikwindow.c:3180
+#: ../src/vikwindow.c:3736
msgid "Go to the _Default Location"
msgstr "Ir para o Local _Padrão"
-#: ../src/vikwindow.c:3180
+#: ../src/vikwindow.c:3736
msgid "Go to the default location"
msgstr "Ir para o local padrão"
-#: ../src/vikwindow.c:3181
+#: ../src/vikwindow.c:3737
msgid "Go to _Location..."
msgstr "Ir para _Local..."
-#: ../src/vikwindow.c:3181
+#: ../src/vikwindow.c:3737
msgid "Go to address/place using text search"
msgstr "Ir para endereço/local usando a pesquisa de texto"
-#: ../src/vikwindow.c:3182
+#: ../src/vikwindow.c:3738
msgid "_Go to Lat/Lon..."
msgstr "_Ir para Latitude/Longevitude..."
-#: ../src/vikwindow.c:3182
+#: ../src/vikwindow.c:3738
msgid "Go to arbitrary lat/lon coordinate"
msgstr "Ir para latitude arbitrária/longitude coordenadas"
-#: ../src/vikwindow.c:3183
+#: ../src/vikwindow.c:3739
msgid "Go to UTM..."
msgstr "Ir para UTM..."
-#: ../src/vikwindow.c:3183
+#: ../src/vikwindow.c:3739
msgid "Go to arbitrary UTM coordinate"
msgstr "Ir para UTM arbitrário de coordenadas"
-#: ../src/vikwindow.c:3184
+#: ../src/vikwindow.c:3740
msgid "_Refresh"
msgstr ""
-#: ../src/vikwindow.c:3184
+#: ../src/vikwindow.c:3740
msgid "Refresh any maps displayed"
msgstr ""
-#: ../src/vikwindow.c:3185
+#: ../src/vikwindow.c:3741
msgid "Set _Highlight Color..."
msgstr ""
-#: ../src/vikwindow.c:3186
+#: ../src/vikwindow.c:3742
msgid "Set Bac_kground Color..."
msgstr "Definir cor _de fundo..."
-#: ../src/vikwindow.c:3187
+#: ../src/vikwindow.c:3743
msgid "Zoom _In"
msgstr "_Ampliar"
-#: ../src/vikwindow.c:3188
+#: ../src/vikwindow.c:3744
msgid "Zoom _Out"
msgstr "_Reduzir"
-#: ../src/vikwindow.c:3189
+#: ../src/vikwindow.c:3745
msgid "Zoom _To..."
msgstr "_ Zoom para..."
-#: ../src/vikwindow.c:3190
+#: ../src/vikwindow.c:3746
msgid "Pan _North"
msgstr ""
-#: ../src/vikwindow.c:3191
+#: ../src/vikwindow.c:3747
msgid "Pan _East"
msgstr ""
-#: ../src/vikwindow.c:3192
+#: ../src/vikwindow.c:3748
msgid "Pan _South"
msgstr ""
-#: ../src/vikwindow.c:3193
+#: ../src/vikwindow.c:3749
msgid "Pan _West"
msgstr ""
-#: ../src/vikwindow.c:3194
+#: ../src/vikwindow.c:3750
msgid "Background _Jobs"
msgstr ""
-#: ../src/vikwindow.c:3196
+#: ../src/vikwindow.c:3752
msgid "Cu_t"
msgstr ""
-#: ../src/vikwindow.c:3197
-msgid "_Copy"
-msgstr ""
-
-#: ../src/vikwindow.c:3198
-msgid "_Paste"
-msgstr ""
-
-#: ../src/vikwindow.c:3199
-msgid "_Delete"
-msgstr ""
-
-#: ../src/vikwindow.c:3200
+#: ../src/vikwindow.c:3756
msgid "Delete All"
msgstr "Excluir tudo"
-#: ../src/vikwindow.c:3201
+#: ../src/vikwindow.c:3757
msgid "_Flush Map Cache"
msgstr ""
-#: ../src/vikwindow.c:3202
+#: ../src/vikwindow.c:3758
msgid "_Set the Default Location"
msgstr ""
-#: ../src/vikwindow.c:3202
+#: ../src/vikwindow.c:3758
msgid "Set the Default Location to the current position"
msgstr ""
-#: ../src/vikwindow.c:3203
+#: ../src/vikwindow.c:3759
msgid "_Preferences"
msgstr ""
-#: ../src/vikwindow.c:3204
+#: ../src/vikwindow.c:3760
+msgid "_Layer Defaults"
+msgstr ""
+
+#: ../src/vikwindow.c:3761
msgid "_Properties"
msgstr ""
-#: ../src/vikwindow.c:3207
+#: ../src/vikwindow.c:3764
msgid "_About"
msgstr ""
-#: ../src/vikwindow.c:3213
+#: ../src/vikwindow.c:3768
+msgid "_KML..."
+msgstr ""
+
+#: ../src/vikwindow.c:3768
+msgid "Export as KML"
+msgstr ""
+
+#: ../src/vikwindow.c:3774
msgid "_UTM Mode"
msgstr ""
-#: ../src/vikwindow.c:3214
+#: ../src/vikwindow.c:3775
msgid "_Expedia Mode"
msgstr ""
-#: ../src/vikwindow.c:3215
+#: ../src/vikwindow.c:3776
msgid "_Mercator Mode"
msgstr ""
-#: ../src/vikwindow.c:3216
+#: ../src/vikwindow.c:3777
msgid "Lat_/Lon Mode"
msgstr ""
-#: ../src/vikwindow.c:3220
+#: ../src/vikwindow.c:3781
msgid "Show _Scale"
msgstr ""
-#: ../src/vikwindow.c:3220
+#: ../src/vikwindow.c:3781
msgid "Show Scale"
msgstr "Mostrar Escala"
-#: ../src/vikwindow.c:3221
+#: ../src/vikwindow.c:3782
msgid "Show _Center Mark"
msgstr ""
-#: ../src/vikwindow.c:3221
+#: ../src/vikwindow.c:3782
msgid "Show Center Mark"
msgstr ""
-#: ../src/vikwindow.c:3222
+#: ../src/vikwindow.c:3783
msgid "Show _Highlight"
msgstr ""
-#: ../src/vikwindow.c:3222
+#: ../src/vikwindow.c:3783
msgid "Show Highlight"
msgstr ""
-#: ../src/vikwindow.c:3223
+#: ../src/vikwindow.c:3784
msgid "_Full Screen"
msgstr "Во весь экран"
-#: ../src/vikwindow.c:3223
+#: ../src/vikwindow.c:3784
msgid "Activate full screen mode"
msgstr ""
-#: ../src/vikwindow.c:3224
+#: ../src/vikwindow.c:3785
msgid "Show Side _Panel"
msgstr ""
-#: ../src/vikwindow.c:3224
+#: ../src/vikwindow.c:3785
msgid "Show Side Panel"
msgstr "Mostrar Painel Lateral"
-#: ../src/vikwindow.c:3225
+#: ../src/vikwindow.c:3786
msgid "Show Status_bar"
msgstr ""
-#: ../src/vikwindow.c:3225
+#: ../src/vikwindow.c:3786
msgid "Show Statusbar"
msgstr ""
-#: ../src/vikwindow.c:3226
+#: ../src/vikwindow.c:3787
msgid "Show _Toolbar"
msgstr ""
-#: ../src/vikwindow.c:3226
+#: ../src/vikwindow.c:3787
msgid "Show Toolbar"
msgstr ""
-#: ../src/vikwindow.c:3227
+#: ../src/vikwindow.c:3788
msgid "Show _Menu"
msgstr ""
-#: ../src/vikwindow.c:3227
+#: ../src/vikwindow.c:3788
msgid "Show Menu"
msgstr ""
+#: ../src/vikwindow.c:3862
+#, c-format
+msgid "New _%s Layer"
+msgstr ""
+
#: ../src/viking.desktop.in.h:2
msgid "GPS Data Manager"
msgstr "Gerenciador de dados GPS"
diff --git a/po/ru.po b/po/ru.po
index 0f02362..6cc8eb8 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -7,68 +7,68 @@ msgid ""
msgstr ""
"Project-Id-Version: viking\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-02-04 23:29+0100\n"
-"PO-Revision-Date: 2012-10-29 21:19+0000\n"
-"Last-Translator: Dmitri Bogomolov <Unknown>\n"
+"POT-Creation-Date: 2013-09-03 21:58+0200\n"
+"PO-Revision-Date: 2013-09-17 15:00+0000\n"
+"Last-Translator: Alexander <alexandr.savin@gmail.com>\n"
"Language-Team: Russian <ru@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
-"X-Launchpad-Export-Date: 2013-03-23 17:12+0000\n"
-"X-Generator: Launchpad (build 16540)\n"
+"X-Launchpad-Export-Date: 2013-10-12 09:04+0000\n"
+"X-Generator: Launchpad (build 16799)\n"
-#: ../src/acquire.c:103 ../src/vikgpslayer.c:1185
+#: ../src/acquire.c:103 ../src/vikgpslayer.c:1235
msgid "Done."
msgstr "Готово."
-#: ../src/acquire.c:114
+#: ../src/acquire.c:112
msgid "No data."
msgstr "Нет данных."
-#: ../src/acquire.c:154 ../src/acquire.c:404
+#: ../src/acquire.c:154 ../src/acquire.c:424
msgid "Error: acquisition failed."
msgstr "Ошибка: получение не удалось"
-#: ../src/acquire.c:341
+#: ../src/acquire.c:352
msgid "Working..."
msgstr "Выполняется..."
#. This shouldn't happen...
-#: ../src/acquire.c:394
+#: ../src/acquire.c:415
msgid ""
"Unable to create command\n"
"Acquire method failed."
msgstr ""
-#: ../src/acquire.c:486
+#: ../src/acquire.c:517
msgid "_Filter"
-msgstr ""
+msgstr "_Фильтр"
-#: ../src/acquire.c:501
+#: ../src/acquire.c:532
#, c-format
msgid "Filter with %s"
msgstr ""
-#: ../src/acquire.c:518
+#: ../src/acquire.c:549
msgid "Filter"
-msgstr ""
+msgstr "Фильтр"
-#: ../src/background.c:52
+#: ../src/background.c:53
#, c-format
msgid "%d items"
msgstr "%d элементов"
-#: ../src/background.c:248
+#: ../src/background.c:254
msgid "Job"
msgstr "Операция"
-#: ../src/background.c:252
+#: ../src/background.c:258
msgid "Progress"
msgstr "Ход выполнения"
-#: ../src/background.c:268
+#: ../src/background.c:274
msgid "Viking Background Jobs"
msgstr "Фоновые задачи"
@@ -77,7 +77,7 @@ msgid "Bing"
msgstr "Bing"
#. VIK_GTK_WINDOW_FROM_WIDGET(vp)
-#: ../src/bingmapsource.c:445
+#: ../src/bingmapsource.c:499
msgid "Bing attribution Loading"
msgstr ""
@@ -105,35 +105,35 @@ msgid ""
msgstr ""
"Для того, чтобы вставить точку, выберите соответствующий слой для вставки."
-#: ../src/dialog.c:52
+#: ../src/dialog.c:53
msgid "Go to Lat/Lon"
msgstr "Перейти к Широте/Долготе"
-#: ../src/dialog.c:64 ../src/dialog.c:251
+#: ../src/dialog.c:65 ../src/dialog.c:244
msgid "Latitude:"
msgstr "Широта:"
-#: ../src/dialog.c:70 ../src/dialog.c:256
+#: ../src/dialog.c:71 ../src/dialog.c:249
msgid "Longitude:"
msgstr "Долгота:"
-#: ../src/dialog.c:102
+#: ../src/dialog.c:103
msgid "Go to UTM"
msgstr "Перейти к UTM"
-#: ../src/dialog.c:115
+#: ../src/dialog.c:116
msgid "Northing:"
msgstr "Ничего:"
-#: ../src/dialog.c:121
+#: ../src/dialog.c:122
msgid "Easting:"
msgstr "Движение на восток:"
-#: ../src/dialog.c:128
+#: ../src/dialog.c:129
msgid "Zone:"
msgstr "Зона:"
-#: ../src/dialog.c:131
+#: ../src/dialog.c:132
msgid "Letter:"
msgstr "Письмо:"
@@ -142,105 +142,109 @@ msgstr "Письмо:"
msgid "Waypoint Properties"
msgstr "Свойства пункта"
-#: ../src/dialog.c:233
+#: ../src/dialog.c:235
msgid "Name:"
msgstr "Имя:"
-#: ../src/dialog.c:261
+#: ../src/dialog.c:254
msgid "Altitude:"
msgstr "Высота:"
-#: ../src/dialog.c:266
+#: ../src/dialog.c:259
msgid "Comment:"
msgstr "Комментарий:"
-#: ../src/dialog.c:274 ../src/osm-traces.c:437
+#: ../src/dialog.c:267 ../src/osm-traces.c:445
msgid "Description:"
msgstr "Описание:"
-#: ../src/dialog.c:277
+#: ../src/dialog.c:270
msgid "Image:"
msgstr "Изображение:"
-#: ../src/dialog.c:282
+#: ../src/dialog.c:275
msgid "Symbol:"
msgstr "Символ:"
-#: ../src/dialog.c:291
+#: ../src/dialog.c:284
msgid "(none)"
msgstr "(нет)"
+#: ../src/dialog.c:326
+msgid "Time:"
+msgstr "Время:"
+
#. TODO: other checks (isalpha or whatever )
-#: ../src/dialog.c:356
+#: ../src/dialog.c:363
msgid "Please enter a name for the waypoint."
msgstr "Введите имя для нового пункта."
-#: ../src/dialog.c:529 ../src/geonamessearch.c:243
+#: ../src/dialog.c:502 ../src/geonamessearch.c:244
#: ../src/datasource_osm_my_traces.c:507
msgid "Nothing was selected"
msgstr "Ничего не выбрано"
-#: ../src/dialog.c:537
+#: ../src/dialog.c:510
msgid "Add Route"
-msgstr ""
+msgstr "Добавить маршрут"
-#: ../src/dialog.c:537
+#: ../src/dialog.c:510
msgid "Add Track"
msgstr "Добавить маршрут"
-#: ../src/dialog.c:545
+#: ../src/dialog.c:518
msgid "Route Name:"
-msgstr ""
+msgstr "Наименование маршрута:"
-#: ../src/dialog.c:545
+#: ../src/dialog.c:518
msgid "Track Name:"
msgstr "Имя маршрута:"
-#: ../src/dialog.c:565
+#: ../src/dialog.c:538
msgid "Please enter a name for the track."
msgstr "Введите имя маршрута"
-#: ../src/dialog.c:623
+#: ../src/dialog.c:596
msgid "Zoom Factors..."
msgstr "Величины приближения..."
-#: ../src/dialog.c:637
+#: ../src/dialog.c:610
msgid "Zoom factor (in meters per pixel):"
msgstr "Величина приближения (в метрах на пиксел):"
-#: ../src/dialog.c:638
+#: ../src/dialog.c:611
msgid "X (easting): "
msgstr "X (восточнее): "
-#: ../src/dialog.c:639
+#: ../src/dialog.c:612
msgid "Y (northing): "
msgstr "Y (севернее): "
-#: ../src/dialog.c:644
+#: ../src/dialog.c:617
msgid "X and Y zoom factors must be equal"
msgstr "Величины приближения по X и по Y должны совпадать."
-#: ../src/dialog.c:699
+#: ../src/dialog.c:672
msgid "1 min"
msgstr "1 мин"
-#: ../src/dialog.c:700
+#: ../src/dialog.c:673
msgid "1 hour"
msgstr "1 час"
-#: ../src/dialog.c:701
+#: ../src/dialog.c:674
msgid "1 day"
msgstr "1 день"
-#: ../src/dialog.c:702
+#: ../src/dialog.c:675
msgid "Custom (in minutes):"
msgstr "Произвольно (в минутах)"
-#: ../src/dialog.c:808
+#: ../src/dialog.c:786
msgid "GPS Data and Topo Analyzer, Explorer, and Manager."
msgstr "Анализатор, обозреватель и менеджер данных GPS."
-#: ../src/dialog.c:809
+#: ../src/dialog.c:787
msgid ""
"This program is free software; you can redistribute it and/or modify it "
"under the terms of the GNU General Public License as published by the Free "
@@ -270,28 +274,28 @@ msgstr ""
"программой; если нет, напишите в Free Software Foundation, Inc., 59 Temple "
"Place, Suite 330, Boston, MA 02111-1307, USA"
-#: ../src/dialog.c:837
+#: ../src/dialog.c:852
msgid "Translation is coordinated on http://launchpad.net/viking"
msgstr "Перевод координируется http://launchpad.net/viking"
-#: ../src/dialog.c:845
+#: ../src/dialog.c:861
msgid "Download along track"
msgstr "Скачать вдоль пути"
-#: ../src/dialog.c:851
+#: ../src/dialog.c:868
msgid "Map type:"
msgstr "Тип карты:"
-#: ../src/dialog.c:856
+#: ../src/dialog.c:874
msgid "Zoom level:"
msgstr "Увеличение/уменьшение:"
-#: ../src/dialog.c:896
+#: ../src/dialog.c:914
#, c-format
msgid "The map data is licensed: %s."
msgstr "Картографические данные лицензированы: %s."
-#: ../src/dialog.c:899
+#: ../src/dialog.c:917
#, c-format
msgid ""
"The data provided by '<b>%s</b>' are licensed under the following license: "
@@ -301,7 +305,7 @@ msgstr ""
"Данные, предоставленные '<b>%s</b>', по следующей лицензии: <b>%s</b>.\n"
"Пожалуйста, прочтите лицензию перед тем, как продолжить."
-#: ../src/dialog.c:904
+#: ../src/dialog.c:922
msgid "Open license"
msgstr "Открытая лицензия"
@@ -350,7 +354,8 @@ msgstr "Записи не найдены!"
#. NB could allow columns to be shifted around by doing this after each new
#. gtk_tree_view_column_set_reorderable ( column, TRUE );
#. However I don't think is that useful, so I haven't put it in
-#: ../src/geonamessearch.c:177 ../src/datasource_osm_my_traces.c:425
+#: ../src/geonamessearch.c:177 ../src/datasource_osm_my_traces.c:424
+#: ../src/viktrwlayer_tracklist.c:521
msgid "Name"
msgstr ""
@@ -358,82 +363,192 @@ msgstr ""
msgid "Feature"
msgstr ""
-#: ../src/geonamessearch.c:187 ../src/datasource_osm_my_traces.c:440
+#: ../src/geonamessearch.c:187 ../src/datasource_osm_my_traces.c:439
msgid "Lat/Lon"
-msgstr ""
+msgstr "Широта/долгота"
-#: ../src/geonamessearch.c:269 ../src/googlesearch.c:100
+#: ../src/geonamessearch.c:270 ../src/googlesearch.c:100 ../src/vikgoto.c:306
msgid "couldn't map temp file"
msgstr ""
-#: ../src/globals.c:44
+#: ../src/globals.c:73
+msgid "Absolute"
+msgstr ""
+
+#: ../src/globals.c:73
+msgid "Relative"
+msgstr ""
+
+#: ../src/globals.c:76
msgid "Degree format:"
msgstr "Формат градусов:"
-#: ../src/globals.c:48
+#: ../src/globals.c:77
msgid "Distance units:"
msgstr "Единица расстояния:"
-#: ../src/globals.c:52
+#: ../src/globals.c:78
msgid "Speed units:"
msgstr "Единица скорости:"
-#: ../src/globals.c:56
+#: ../src/globals.c:79
msgid "Height units:"
msgstr "Единица высоты:"
-#: ../src/globals.c:60
+#: ../src/globals.c:80
msgid "Use large waypoint icons:"
msgstr "Большие иконки пунктов:"
-#: ../src/globals.c:64
+#: ../src/globals.c:81
msgid "Default latitude:"
msgstr "Широта по умолчанию:"
-#: ../src/globals.c:67
+#: ../src/globals.c:82
msgid "Default longitude:"
msgstr "Долгота по умолчанию:"
-#: ../src/globals.c:73
+#: ../src/globals.c:88
msgid "Alphabetical"
-msgstr ""
+msgstr "По алфавиту"
-#: ../src/globals.c:73 ../src/datasource_osm_my_traces.c:435
+#: ../src/globals.c:88 ../src/datasource_osm_my_traces.c:434
msgid "Time"
+msgstr "Время"
+
+#: ../src/globals.c:88
+msgid "Creation"
msgstr ""
-#: ../src/globals.c:76
+#: ../src/globals.c:89
+msgid "Title Case"
+msgstr ""
+
+#: ../src/globals.c:89
+msgid "Lowercase"
+msgstr ""
+
+#: ../src/globals.c:92
msgid "KML File Export Units:"
msgstr ""
-#: ../src/globals.c:77
+#: ../src/globals.c:93
msgid "GPX Track Order:"
msgstr ""
-#: ../src/globals.c:82
+#: ../src/globals.c:94
+msgid "GPX Waypoint Symbols:"
+msgstr ""
+
+#: ../src/globals.c:95
+msgid ""
+"Save GPX Waypoint Symbol names in the specified case. May be useful for "
+"compatibility with various devices"
+msgstr ""
+
+#: ../src/globals.c:100
msgid "Image Viewer:"
msgstr ""
-#: ../src/globals.c:87
+#: ../src/globals.c:105
msgid "External GPX Program 1:"
msgstr "Внешняя GPX Программа 1:"
-#: ../src/globals.c:88
+#: ../src/globals.c:106
msgid "External GPX Program 2:"
msgstr "Внешняя GPX Программа 2:"
+#: ../src/globals.c:110
+msgid "Save File Reference Mode:"
+msgstr ""
+
+#: ../src/globals.c:111
+msgid ""
+"When saving a Viking .vik file, this determines how the directory paths of "
+"filenames are written."
+msgstr ""
+
+#: ../src/globals.c:112
+msgid "Show Tooltip during Track Creation:"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Home Location"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Last Location"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Specified File"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Auto Location"
+msgstr ""
+
+#: ../src/globals.c:118
+msgid "Restore Window Setup:"
+msgstr ""
+
+#: ../src/globals.c:119
+msgid "Restore window size and layout"
+msgstr ""
+
+#: ../src/globals.c:120
+msgid "Add a Default Map Layer:"
+msgstr ""
+
+#: ../src/globals.c:121
+msgid ""
+"The default map layer added is defined by the Layer Defaults. Use the menu "
+"Edit->Layer Defaults->Map... to change the map type and other values."
+msgstr ""
+
+#: ../src/globals.c:122
+msgid "Startup Method:"
+msgstr ""
+
+#: ../src/globals.c:123
+msgid "Startup File:"
+msgstr ""
+
+#: ../src/globals.c:124
+msgid ""
+"The default file to load on startup. Only applies when the startup method is "
+"set to 'Specified File'"
+msgstr ""
+
+#: ../src/globals.c:125
+msgid "Check For New Version:"
+msgstr ""
+
+#: ../src/globals.c:126
+msgid "Periodically check to see if a new version of Viking is available"
+msgstr ""
+
#. Defaults for the options are setup here
-#: ../src/globals.c:96
+#: ../src/globals.c:163
msgid "General"
msgstr "Общие"
#. New Tab
-#: ../src/globals.c:121
+#: ../src/globals.c:188
+msgid "Startup"
+msgstr ""
+
+#. New Tab
+#: ../src/globals.c:206
msgid "Export/External"
msgstr "Экспорт/Внешний"
+#. 'Advanced' Properties
+#: ../src/globals.c:230
+msgid "Advanced"
+msgstr ""
+
#. Webtools
-#: ../src/google.c:36
+#: ../src/google.c:38
msgid "Google"
msgstr "Google"
@@ -446,24 +561,24 @@ msgid "Imported file"
msgstr "Импортированный файл"
#. The file selector
-#: ../src/datasource_file.c:133
+#: ../src/datasource_file.c:127
msgid "File:"
msgstr "Файл:"
-#: ../src/datasource_file.c:134
+#: ../src/datasource_file.c:128
msgid "File to import"
msgstr "Файл для импорта"
-#: ../src/datasource_file.c:141
+#: ../src/datasource_file.c:135
msgid "All files"
msgstr "Все файлы"
#. The file format selector
-#: ../src/datasource_file.c:148
+#: ../src/datasource_file.c:142
msgid "File type:"
msgstr "Тип файла:"
-#: ../src/datasource_file.c:193
+#: ../src/datasource_file.c:184
#, c-format
msgid "using babel args '%s' and file '%s'"
msgstr ""
@@ -476,29 +591,29 @@ msgstr "Загрузить Геокэши"
msgid "Geocaching.com Caches"
msgstr "Кэши geocaching.com"
-#: ../src/datasource_gc.c:84
+#: ../src/datasource_gc.c:85
msgid "geocaching.com username:"
msgstr "Имя пользователя geocaching.com:"
-#: ../src/datasource_gc.c:85
+#: ../src/datasource_gc.c:86
msgid "geocaching.com password:"
msgstr "Пароль пользователя geocaching.com:"
-#: ../src/datasource_gc.c:126
+#: ../src/datasource_gc.c:127
#, c-format
msgid ""
"Can't find %s or %s in path! Check that you have installed it correctly."
msgstr "Невозможно найти %s или %s! Проверьте правильность установки."
-#: ../src/datasource_gc.c:188
+#: ../src/datasource_gc.c:189
msgid "Number geocaches:"
msgstr "Количество геокешей:"
-#: ../src/datasource_gc.c:190
+#: ../src/datasource_gc.c:191
msgid "Centered around:"
msgstr "Вокруг:"
-#: ../src/datasource_gc.c:226
+#: ../src/datasource_gc.c:230
msgid "Broken input - using some defaults"
msgstr ""
@@ -510,46 +625,34 @@ msgstr ""
msgid "Geotagged Images"
msgstr "Изображения с данными о местоположении"
-#: ../src/datasource_geotag.c:102 ../src/vikwindow.c:2314
-#: ../src/vikwindow.c:2382 ../src/vikwindow.c:2824
+#: ../src/datasource_geotag.c:102 ../src/vikwindow.c:2655
+#: ../src/vikwindow.c:2729 ../src/vikwindow.c:3380
msgid "All"
msgstr "Все"
-#: ../src/datasource_geotag.c:107 ../src/vikwindow.c:2829
+#: ../src/datasource_geotag.c:107 ../src/vikwindow.c:3385
msgid "JPG"
msgstr "JPG"
-#: ../src/datasource_geotag.c:165
+#: ../src/datasource_geotag.c:168
#, c-format
msgid "Unable to create waypoint from %s"
msgstr "Не удаётся создать путевую точку из %s"
-#: ../src/datasource_google.c:49 ../src/datasource_google.c:50
-msgid "Google Directions"
-msgstr "Проводник Google"
-
-#: ../src/datasource_google.c:77
-msgid "From:"
-msgstr "Из:"
-
-#: ../src/datasource_google.c:79
-msgid "To:"
-msgstr "в:"
-
-#: ../src/datasource_gps.c:57
+#: ../src/datasource_gps.c:54
msgid "Acquire from GPS"
msgstr "Получить из GPS"
-#: ../src/datasource_gps.c:58
+#: ../src/datasource_gps.c:55
msgid "Acquired from GPS"
msgstr "Получено из GPS"
-#: ../src/datasource_gps.c:221
+#: ../src/datasource_gps.c:245
#, c-format
msgid "using cmdline '%s' and file '%s'\n"
msgstr "используя команду '%s' и файл '%s'\n"
-#: ../src/datasource_gps.c:297 ../src/vikgpslayer.c:884
+#: ../src/datasource_gps.c:327 ../src/vikgpslayer.c:934
#, c-format
msgid "Downloading %d waypoint..."
msgid_plural "Downloading %d waypoints..."
@@ -557,7 +660,7 @@ msgstr[0] "Скачивается %d пункт..."
msgstr[1] "Скачивается %d пункта..."
msgstr[2] "Скачивается %d пунктов..."
-#: ../src/datasource_gps.c:298 ../src/vikgpslayer.c:885
+#: ../src/datasource_gps.c:328 ../src/vikgpslayer.c:935
#, c-format
msgid "Downloading %d trackpoint..."
msgid_plural "Downloading %d trackpoints..."
@@ -565,45 +668,48 @@ msgstr[0] "Скачивается %d узел..."
msgstr[1] "Скачивается %d узла..."
msgstr[2] "Скачивается %d узлов..."
-#: ../src/datasource_gps.c:303 ../src/vikgpslayer.c:890
+#: ../src/datasource_gps.c:333 ../src/vikgpslayer.c:940
#, c-format
msgid "Downloading %d routepoint..."
msgid_plural "Downloading %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/datasource_gps.c:325 ../src/datasource_gps.c:326
-#: ../src/datasource_gps.c:327
+#: ../src/datasource_gps.c:355 ../src/datasource_gps.c:356
+#: ../src/datasource_gps.c:357
#, c-format
msgid "Downloaded %d out of %d %s..."
msgstr "Скачано %d из %d %s..."
-#: ../src/datasource_gps.c:331 ../src/datasource_gps.c:332
-#: ../src/datasource_gps.c:333
+#: ../src/datasource_gps.c:361 ../src/datasource_gps.c:362
+#: ../src/datasource_gps.c:363
#, c-format
msgid "Downloaded %d %s."
msgstr "Скачано %d %s."
-#: ../src/datasource_gps.c:347 ../src/vikgpslayer.c:968
+#: ../src/datasource_gps.c:377 ../src/vikgpslayer.c:1018
#, c-format
msgid "GPS Device: %s"
msgstr "GPS : %s"
-#: ../src/datasource_gps.c:370 ../src/vikgpslayer.c:1042
-#: ../src/vikgpslayer.c:1110
+#: ../src/datasource_gps.c:400 ../src/vikgpslayer.c:1092
+#: ../src/vikgpslayer.c:1160
msgid "Status: Working..."
msgstr ""
-#: ../src/datasource_gps.c:469 ../src/vikgpslayer.c:150
+#. NB gps_layer_inst_init() is performed after parameter registeration
+#. thus to give the protocols some potential values use the old static list
+#. TODO: find another way to use gps_layer_inst_init()?
+#: ../src/datasource_gps.c:500 ../src/vikgpslayer.c:207
msgid "GPS Protocol:"
msgstr "GPS протокол:"
-#. List now assigned at runtime
-#: ../src/datasource_gps.c:488 ../src/vikgpslayer.c:151
+#. List reassigned at runtime
+#: ../src/datasource_gps.c:526 ../src/vikgpslayer.c:208
msgid "Serial Port:"
msgstr "Последовательный порт:"
-#: ../src/datasource_gps.c:509
+#: ../src/datasource_gps.c:576
msgid ""
"Turn Off After Transfer\n"
"(Garmin/NAViLink Only)"
@@ -611,19 +717,19 @@ msgstr ""
"Выключить после передачи\n"
"(только для Garmin/NAViLink)"
-#: ../src/datasource_gps.c:512
+#: ../src/datasource_gps.c:583
msgid "Tracks:"
msgstr "Маршруты"
-#: ../src/datasource_gps.c:516
+#: ../src/datasource_gps.c:590
msgid "Routes:"
msgstr ""
-#: ../src/datasource_gps.c:520
+#: ../src/datasource_gps.c:597
msgid "Waypoints:"
msgstr "Путевые точки:"
-#: ../src/datasource_gps.c:594 ../src/vikgpslayer.c:1305
+#: ../src/datasource_gps.c:675 ../src/vikgpslayer.c:1355
msgid "GPS device: N/A"
msgstr "GPS устройство: необнаружено"
@@ -631,39 +737,39 @@ msgstr "GPS устройство: необнаружено"
msgid "OSM traces"
msgstr "Контуры OSM"
-#: ../src/datasource_osm.c:80
+#: ../src/datasource_osm.c:82
msgid "Page number:"
msgstr "Номер страницы:"
-#: ../src/datasource_osm_my_traces.c:63 ../src/datasource_osm_my_traces.c:64
+#: ../src/datasource_osm_my_traces.c:59 ../src/datasource_osm_my_traces.c:60
msgid "OSM My Traces"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:108
+#: ../src/datasource_osm_my_traces.c:104
msgid "Username:"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:113
+#: ../src/datasource_osm_my_traces.c:109
msgid "The email or username used to login to OSM"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:115 ../src/osm-traces.c:413
+#: ../src/datasource_osm_my_traces.c:111 ../src/osm-traces.c:421
msgid "Password:"
msgstr "Пароль:"
-#: ../src/datasource_osm_my_traces.c:120
+#: ../src/datasource_osm_my_traces.c:114
msgid "The password used to login to OSM"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:430
+#: ../src/datasource_osm_my_traces.c:429
msgid "Description"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:445
+#: ../src/datasource_osm_my_traces.c:444
msgid "Privacy"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:452
+#: ../src/datasource_osm_my_traces.c:451
msgid "Within Current View"
msgstr ""
@@ -675,15 +781,33 @@ msgstr ""
msgid "None found!"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:629
+#: ../src/datasource_osm_my_traces.c:634
msgid "My OSM Traces"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:645
+#: ../src/datasource_osm_my_traces.c:649
#, c-format
msgid "Unable to get trace: %s"
msgstr ""
+#: ../src/datasource_routing.c:53 ../src/datasource_routing.c:54
+msgid "Directions"
+msgstr ""
+
+#. Engine selector
+#: ../src/datasource_routing.c:83
+msgid "Engine:"
+msgstr ""
+
+#. From and To entries
+#: ../src/datasource_routing.c:88
+msgid "From:"
+msgstr "Из:"
+
+#: ../src/datasource_routing.c:90
+msgid "To:"
+msgstr "в:"
+
#: ../src/datasource_wikipedia.c:32
msgid "Create Waypoints from Wikipedia Articles"
msgstr ""
@@ -704,138 +828,138 @@ msgstr "Неправильный DEM заголовок"
msgid "Incorrect DEM Class B record: expected 1"
msgstr "Неправильная запись DEM Class B: ожидается 1"
-#: ../src/dem.c:360
+#: ../src/dem.c:288 ../src/download.c:170
#, c-format
msgid "Couldn't map file %s: %s"
msgstr ""
-#: ../src/download.c:112
-msgid "Tile age (s):"
+#: ../src/download.c:130
+msgid "Tile age (days):"
msgstr ""
-#: ../src/download.c:233
+#: ../src/download.c:321
#, c-format
msgid "Download error: %s"
msgstr "Ошибка загрузки: %s"
-#: ../src/download.c:313
+#: ../src/download.c:404
msgid "couldn't open temp file"
msgstr "невозможно открыть временный файл"
-#: ../src/file.c:456 ../src/file.c:461
+#: ../src/file.c:451 ../src/file.c:456
#, c-format
msgid "Draw mode '%s' no more supported"
msgstr "Режим отображения '%s' больше не поддерживается"
-#: ../src/geotag_exif.c:433
+#: ../src/geotag_exif.c:421
msgid "Not enough memory."
msgstr "Не хватает памяти."
-#: ../src/geotag_exif.c:451
+#: ../src/geotag_exif.c:439
msgid "Setting a value for this tag is unsupported!"
msgstr "Установка значения для этого тега не поддерживается!"
-#: ../src/geotag_exif.c:470
+#: ../src/geotag_exif.c:458
#, c-format
msgid "Too few components specified (need %d, found %d)\n"
msgstr "Слишком мало указанных компонентов (нужно %d, найдено %d)\n"
-#: ../src/geotag_exif.c:474
+#: ../src/geotag_exif.c:462
msgid "Numeric value expected\n"
msgstr "Ожидаемые числовые значения\n"
-#: ../src/geotag_exif.c:482
+#: ../src/geotag_exif.c:470
msgid "This shouldn't happen!"
msgstr "Это не должно случиться!"
-#: ../src/geotag_exif.c:552
+#: ../src/geotag_exif.c:540
msgid "Not yet implemented!"
msgstr "Пока не реализовано!"
-#: ../src/geotag_exif.c:565
+#: ../src/geotag_exif.c:553
msgid "Warning; Too many components specified!"
msgstr "Предупреждение: указано слишком много компонентов!"
-#: ../src/osm-traces.c:73
+#: ../src/osm-traces.c:76
msgid "Identifiable (public w/ timestamps)"
msgstr ""
-#: ../src/osm-traces.c:74
+#: ../src/osm-traces.c:77
msgid "Trackable (private w/ timestamps)"
msgstr ""
-#: ../src/osm-traces.c:75
+#: ../src/osm-traces.c:78
msgid "Public"
msgstr "Публичное"
-#: ../src/osm-traces.c:76
+#: ../src/osm-traces.c:79
msgid "Private"
msgstr "Частное"
-#: ../src/osm-traces.c:93
+#: ../src/osm-traces.c:97
msgid "OSM username:"
msgstr "OSM имя:"
-#: ../src/osm-traces.c:94
+#: ../src/osm-traces.c:98
msgid "OSM password:"
msgstr "OSM пароль:"
#. Preferences
-#: ../src/osm-traces.c:151
+#: ../src/osm-traces.c:155
msgid "OpenStreetMap Traces"
msgstr "Контуры OpenStreetMap"
-#: ../src/osm-traces.c:234
+#: ../src/osm-traces.c:238
#, c-format
msgid "failed to upload data: HTTP response is %ld"
msgstr "Не удалось загрузить данные: ответ HTTP %ld"
-#: ../src/osm-traces.c:239
+#: ../src/osm-traces.c:243
#, c-format
msgid "curl_easy_getinfo failed: %d"
msgstr "curl_easy_getinfo не удалось: %d"
-#: ../src/osm-traces.c:244
+#: ../src/osm-traces.c:248
#, c-format
msgid "curl request failed: %s"
msgstr "Неудачный запрос curl: %s"
-#: ../src/osm-traces.c:275
+#: ../src/osm-traces.c:279
#, c-format
msgid "failed to open temporary file: %s"
msgstr "не удалось открыть временный файл: %s"
#. Success
-#: ../src/osm-traces.c:328
+#: ../src/osm-traces.c:340
msgid "Uploaded to OSM"
msgstr "Загружено в OSM"
-#: ../src/osm-traces.c:332
+#: ../src/osm-traces.c:344
msgid "FAILED TO UPLOAD DATA TO OSM - CURL PROBLEM"
msgstr "Не удалось загрузить данные на OSM - проблема curl"
-#: ../src/osm-traces.c:335
+#: ../src/osm-traces.c:347
msgid "FAILED TO UPLOAD DATA TO OSM"
msgstr "НЕ УДАЛОСЬ ЗАГРУЗИТЬ ДАННЫЕ В OSM"
-#: ../src/osm-traces.c:335
+#: ../src/osm-traces.c:347
msgid "HTTP response code"
msgstr "код ответа HTTP"
-#: ../src/osm-traces.c:348
+#: ../src/osm-traces.c:355
#, c-format
msgid "failed to unlink temporary file: %s"
msgstr "не удалось удалить временный файл: %s"
-#: ../src/osm-traces.c:387
+#: ../src/osm-traces.c:394
msgid "OSM upload"
msgstr "Загрузить на OSM"
-#: ../src/osm-traces.c:405
+#: ../src/osm-traces.c:413
msgid "Email:"
msgstr "Email:"
-#: ../src/osm-traces.c:410
+#: ../src/osm-traces.c:418
msgid ""
"The email used as login\n"
"<small>Enter the email you use to login into www.openstreetmap.org.</small>"
@@ -844,7 +968,7 @@ msgstr ""
"<small>Введите email, который вы используете для "
"www.openstreetmap.org.</small>"
-#: ../src/osm-traces.c:418
+#: ../src/osm-traces.c:426
msgid ""
"The password used to login\n"
"<small>Enter the password you use to login into "
@@ -854,11 +978,11 @@ msgstr ""
"<small>Введите пароль, который вы используете для "
"www.openstreetmap.org.</small>"
-#: ../src/osm-traces.c:423
+#: ../src/osm-traces.c:431
msgid "File's name:"
msgstr "Имя файла:"
-#: ../src/osm-traces.c:433
+#: ../src/osm-traces.c:441
msgid ""
"The name of the file on OSM\n"
"<small>This is the name of the file created on the server.This is not the "
@@ -868,19 +992,30 @@ msgstr ""
"<small>Это имя для файла, созданного на сервере. Это не имя локального "
"файла.</small>"
-#: ../src/osm-traces.c:442
+#: ../src/osm-traces.c:450
msgid "The description of the trace"
msgstr "Описание контура"
-#: ../src/osm-traces.c:444
+#: ../src/osm-traces.c:453
+msgid "Anonymize Times:"
+msgstr ""
+
+#: ../src/osm-traces.c:458
+msgid ""
+"Anonymize times of the trace.\n"
+"<small>You may choose to make the trace identifiable, yet mask the actual "
+"real time values</small>"
+msgstr ""
+
+#: ../src/osm-traces.c:462
msgid "Tags:"
msgstr "Тэги:"
-#: ../src/osm-traces.c:449
+#: ../src/osm-traces.c:467
msgid "The tags associated to the trace"
msgstr "Метки, связанные с маршрутом"
-#: ../src/osm-traces.c:482
+#: ../src/osm-traces.c:529
#, c-format
msgid "Uploading %s to OSM"
msgstr "%s загружается в OSM"
@@ -889,69 +1024,88 @@ msgstr "%s загружается в OSM"
msgid "Map cache memory size (MB):"
msgstr ""
-#: ../src/print.c:53
+#: ../src/print.c:51 ../src/viktrwlayer.c:509
msgid "None"
msgstr "Нет"
-#: ../src/print.c:54
+#: ../src/print.c:52
msgid "Horizontally"
msgstr "Горизонтально"
-#: ../src/print.c:55
+#: ../src/print.c:53
msgid "Vertically"
msgstr "Вертикально"
-#: ../src/print.c:56
+#: ../src/print.c:54
msgid "Both"
msgstr "Оба"
-#: ../src/print.c:120
+#: ../src/print.c:118
msgid "Image Settings"
msgstr "Настройки изображения"
-#: ../src/print.c:546
+#: ../src/print.c:548
msgid "done"
msgstr "завершено"
#. Page Size
-#: ../src/print.c:575
+#: ../src/print.c:577
msgid "_Adjust Page Size and Orientation"
msgstr "Установить размер и ориентацию страницы"
-#: ../src/print.c:591
+#: ../src/print.c:593
msgid "C_enter:"
msgstr "Центр:"
#. ignore page margins
-#: ../src/print.c:609
+#: ../src/print.c:611
msgid "Ignore Page _Margins"
msgstr "Игнорироват_ь края страницы"
-#: ../src/print.c:628
+#: ../src/print.c:630
msgid "Image S_ize:"
msgstr "Размер картинки:"
-#: ../src/util.c:81
-msgid "Could not launch web browser."
-msgstr "Не удалось запустить веб-браузер."
+#: ../src/util.c:65
+#, c-format
+msgid "Could not launch web browser. %s"
+msgstr ""
-#: ../src/util.c:92
-msgid "Could not create new email."
-msgstr "Не удалось создать новое эл. письмо."
+#: ../src/util.c:76
+#, c-format
+msgid "Could not create new email. %s"
+msgstr ""
+
+#: ../src/util.c:177
+#, c-format
+msgid ""
+"There is a newer version of Viking available: %s\n"
+"\n"
+"Do you wish to go to Viking's website now?"
+msgstr ""
-#: ../src/vikcoordlayer.c:46
+#: ../src/util.c:304
+msgid ""
+"This appears to be Viking's very first run.\n"
+"\n"
+"Do you wish to enable automatic internet features?\n"
+"\n"
+"Individual settings can be controlled in the Preferences."
+msgstr ""
+
+#: ../src/vikcoordlayer.c:57
msgid "Color:"
msgstr "Цвет:"
-#: ../src/vikcoordlayer.c:47
+#: ../src/vikcoordlayer.c:58
msgid "Minutes Width:"
msgstr "Широта, минут:"
-#: ../src/vikcoordlayer.c:48
+#: ../src/vikcoordlayer.c:59
msgid "Line Thickness:"
msgstr "Толщина линий"
-#: ../src/vikcoordlayer.c:56
+#: ../src/vikcoordlayer.c:66
msgid "Coordinate"
msgstr ""
@@ -988,62 +1142,130 @@ msgstr ""
msgid "Polygonzied Layer"
msgstr ""
-#: ../src/main.c:89
+#: ../src/main.c:92
#, c-format
msgid "Ignoring Xlib error: error code %d request code %d\n"
msgstr ""
-#: ../src/main.c:102
+#: ../src/main.c:105
msgid "Enable debug output"
msgstr "Включить отладочную выдачу"
-#: ../src/main.c:103
+#: ../src/main.c:106
msgid "Enable verbose output"
msgstr "Включить подробную выдачу"
-#: ../src/main.c:104
+#: ../src/main.c:107
msgid "Show version"
msgstr "Показать версию"
-#: ../src/osm.c:106
+#: ../src/osm.c:99
msgid "On Disk OSM Tile Format"
msgstr ""
-#: ../src/osm.c:121
+#: ../src/osm.c:113
msgid "OSM (view)"
msgstr "OSM (просмотр)"
-#: ../src/osm.c:125
+#: ../src/osm.c:117
msgid "OSM (edit)"
msgstr "OSM (правка)"
-#: ../src/osm.c:129
+#: ../src/osm.c:121
msgid "OSM (render)"
msgstr "OSM (отрисовка)"
#. Example: http://127.0.0.1:8111/load_and_zoom?left=8.19&right=8.20&top=48.605&bottom=48.590&select=node413602999
#. JOSM or merkaartor must already be running with remote interface enabled
-#: ../src/osm.c:136
+#: ../src/osm.c:128
msgid "Local port 8111 (eg JOSM)"
msgstr ""
-#: ../src/preferences.c:285
+#: ../src/osm.c:134
+msgid "OpenStreetMap Notes"
+msgstr ""
+
+#: ../src/osm.c:138
+msgid "OpenStreetBugs"
+msgstr ""
+
+#. Not really OSM but can't be bothered to create somewhere else to put it...
+#: ../src/osm.c:164
+msgid "Wikimedia Toolserver GeoHack"
+msgstr ""
+
+#: ../src/preferences.c:191
msgid "Preferences"
msgstr "Предпочтения"
-#: ../src/uibuilder.c:147
+#: ../src/viklayer_defaults.c:232
+#, c-format
+msgid "Could not open file: %s"
+msgstr ""
+
+#: ../src/viklayer_defaults.c:303
+msgid "Layer Defaults"
+msgstr ""
+
+#: ../src/uibuilder.c:185
msgid "Take care that this password will be stored clearly in a plain file."
msgstr "Обратите внимание, что пароль сохраняется в файле открытым текстом."
-#: ../src/vikaggregatelayer.c:37
+#: ../src/vikaggregatelayer.c:42
msgid "Aggregate"
msgstr ""
-#: ../src/vikdemlayer.c:101
+#. VikLayersPanel *vlp = VIK_LAYERS_PANEL(lav[1]);
+#: ../src/vikaggregatelayer.c:484 ../src/viktrwlayer.c:10238
+#, c-format
+msgid "%s: Track and Route List"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:529 ../src/viktrwlayer.c:7354
+#: ../src/viktrwlayer.c:7420 ../src/viktrwlayer.c:7498
+msgid "_Visibility"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:534
+msgid "_Show All"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:540
+msgid "_Hide All"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:546 ../src/viktrwlayer.c:7371
+#: ../src/viktrwlayer.c:7437 ../src/viktrwlayer.c:7515
+msgid "_Toggle"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:553 ../src/viktrwlayer.c:7536
+msgid "_Sort"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:559 ../src/viktrwlayer.c:7542
+msgid "Name _Ascending"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:565 ../src/viktrwlayer.c:7548
+msgid "Name _Descending"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:571 ../src/viktrwlayer.c:7449
+#: ../src/viktrwlayer.c:7527 ../src/viktrwlayer.c:7587
+#: ../src/viktrwlayer_tracklist.c:237
+msgid "_Statistics"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:576 ../src/viktrwlayer.c:3971
+msgid "Track _List..."
+msgstr ""
+
+#: ../src/vikdemlayer.c:92
msgid "Absolute height"
msgstr "Абсолютная высота"
-#: ../src/vikdemlayer.c:102
+#: ../src/vikdemlayer.c:93
msgid "Height gradient"
msgstr ""
@@ -1083,25 +1305,52 @@ msgstr ""
msgid "DEM"
msgstr ""
-#: ../src/vikdemlayer.c:284
+#: ../src/vikdemlayer.c:287
#, c-format
msgid "Number of files: %d"
msgstr "Количество файлов: %d"
-#: ../src/vikdemlayer.c:385
+#: ../src/vikdemlayer.c:427
msgid "DEM Loading"
msgstr "Загрузка DEM"
-#: ../src/vikdemlayer.c:889
+#: ../src/vikdemlayer.c:937
#, c-format
msgid "No SRTM data available for %f, %f"
msgstr "Нет данных SRTM для %f, %f"
-#: ../src/vikdemlayer.c:1149
+#. Probably not over any land...
+#: ../src/vikdemlayer.c:1193
+msgid "No DEM File Available"
+msgstr ""
+
+#: ../src/vikdemlayer.c:1212
+#, c-format
+msgid ""
+"\n"
+"Source: %s\n"
+"\n"
+"DEM File: %s\n"
+"DEM File Timestamp: %s"
+msgstr ""
+
+#: ../src/vikdemlayer.c:1216
+#, c-format
+msgid ""
+"Source: %s\n"
+"\n"
+"No DEM File!"
+msgstr ""
+
+#: ../src/vikdemlayer.c:1256
#, c-format
msgid "Downloading DEM %s"
msgstr "Скачивание DEM %s"
+#: ../src/vikdemlayer.c:1280
+msgid "_Show DEM File Information"
+msgstr ""
+
#: ../src/vikfileentry.c:68
msgid "Browse..."
msgstr "Обзор..."
@@ -1122,248 +1371,266 @@ msgstr "Добавить..."
msgid "Delete"
msgstr "Удалить"
-#: ../src/vikgeoreflayer.c:70
+#: ../src/vikgeoreflayer.c:78
msgid "_Georef Move Map"
msgstr ""
-#: ../src/vikgeoreflayer.c:70
+#: ../src/vikgeoreflayer.c:78
msgid "Georef Move Map"
msgstr ""
-#: ../src/vikgeoreflayer.c:77
+#: ../src/vikgeoreflayer.c:85
msgid "Georef Z_oom Tool"
msgstr ""
-#: ../src/vikgeoreflayer.c:77
+#: ../src/vikgeoreflayer.c:85
msgid "Georef Zoom Tool"
msgstr ""
-#: ../src/vikgeoreflayer.c:87
+#: ../src/vikgeoreflayer.c:95
msgid "GeoRef Map"
msgstr ""
-#: ../src/vikgeoreflayer.c:335 ../src/vikmapslayer.c:685
+#: ../src/vikgeoreflayer.c:377 ../src/vikmapslayer.c:720
#, c-format
msgid "Couldn't open image file: %s"
msgstr "Не удалось открыть графический файл: %s"
-#: ../src/vikgeoreflayer.c:365
+#: ../src/vikgeoreflayer.c:391
+msgid ""
+"GeoRef map cannot be displayed in the current drawmode.\n"
+"Select \"UTM Mode\" from View menu to view it."
+msgstr ""
+
+#: ../src/vikgeoreflayer.c:415
msgid "Unexpected end of file reading World file."
msgstr "Неожиданный конец во время чтения файла привязки."
-#: ../src/vikgeoreflayer.c:381 ../src/vikgeoreflayer.c:426
+#: ../src/vikgeoreflayer.c:431 ../src/vikgeoreflayer.c:476
msgid "Choose World file"
msgstr "Выберите файл привязки"
-#: ../src/vikgeoreflayer.c:394
+#: ../src/vikgeoreflayer.c:444
msgid "The World file you requested could not be opened for reading."
msgstr "Не удалось открыть для чтения выбранный файл привязки."
-#: ../src/vikgeoreflayer.c:439
+#: ../src/vikgeoreflayer.c:489
msgid "The file you requested could not be opened for writing."
msgstr "Выбранный вами файл невозможно открыть для записи."
-#: ../src/vikgeoreflayer.c:456 ../src/viklayer.c:480
+#: ../src/vikgeoreflayer.c:506 ../src/viklayer.c:518
msgid "Layer Properties"
msgstr "Свойства слоя"
-#: ../src/vikgeoreflayer.c:478
+#: ../src/vikgeoreflayer.c:528
msgid "World File Parameters:"
msgstr "Параметры файла привязки:"
-#: ../src/vikgeoreflayer.c:479
+#: ../src/vikgeoreflayer.c:529
msgid "Load From File..."
msgstr "Загрузить из файла..."
-#: ../src/vikgeoreflayer.c:484
+#: ../src/vikgeoreflayer.c:534
msgid "Corner pixel easting:"
msgstr ""
-#: ../src/vikgeoreflayer.c:486
-msgid "the UTM \"easting\" value of the upper-right corner pixel of the map"
+#: ../src/vikgeoreflayer.c:536
+msgid "the UTM \"easting\" value of the upper-left corner pixel of the map"
msgstr ""
-#: ../src/vikgeoreflayer.c:488
+#: ../src/vikgeoreflayer.c:538
msgid "Corner pixel northing:"
msgstr ""
-#: ../src/vikgeoreflayer.c:490
-msgid "the UTM \"northing\" value of the upper-right corner pixel of the map"
+#: ../src/vikgeoreflayer.c:540
+msgid "the UTM \"northing\" value of the upper-left corner pixel of the map"
msgstr ""
-#: ../src/vikgeoreflayer.c:492
+#: ../src/vikgeoreflayer.c:542
msgid "X (easting) scale (mpp): "
msgstr ""
-#: ../src/vikgeoreflayer.c:493
+#: ../src/vikgeoreflayer.c:543
msgid "Y (northing) scale (mpp): "
msgstr ""
-#: ../src/vikgeoreflayer.c:496
+#: ../src/vikgeoreflayer.c:546
msgid "the scale of the map in the X direction (meters per pixel)"
msgstr "масштаб карты по оси X (метров на пиксел)"
-#: ../src/vikgeoreflayer.c:498
+#: ../src/vikgeoreflayer.c:548
msgid "the scale of the map in the Y direction (meters per pixel)"
msgstr "масштаб карты по оси Y (метров на пиксел)"
-#: ../src/vikgeoreflayer.c:500
+#: ../src/vikgeoreflayer.c:550
msgid "Map Image:"
msgstr ""
#. Now with icons
-#: ../src/vikgeoreflayer.c:608
+#: ../src/vikgeoreflayer.c:658
msgid "_Zoom to Fit Map"
msgstr "Масштабировать к размеру карты"
-#: ../src/vikgeoreflayer.c:614
+#: ../src/vikgeoreflayer.c:664
msgid "_Goto Map Center"
msgstr "Перейти к центру карты"
-#: ../src/vikgeoreflayer.c:620
+#: ../src/vikgeoreflayer.c:670
msgid "_Export to World File"
msgstr "Экспортировать в файл привязки"
-#: ../src/vikgoto.c:75
+#: ../src/vikgoto.c:81
msgid "No goto tool available."
msgstr "Нет инструмента поиска."
-#: ../src/vikgoto.c:88 ../src/vikgoto.c:107
+#: ../src/vikgoto.c:94 ../src/vikgoto.c:148
msgid "goto"
msgstr "перейти"
-#: ../src/vikgoto.c:90
+#: ../src/vikgoto.c:96
msgid "I don't know that place. Do you want another goto?"
msgstr "Я не знаю такого места. Хотите выполнить новый поиск?"
-#: ../src/vikgoto.c:109
+#: ../src/vikgoto.c:150
msgid "goto provider:"
msgstr "поставщик поиска:"
-#: ../src/vikgoto.c:124
+#: ../src/vikgoto.c:165
msgid "Enter address or place name:"
msgstr "Введите адрес или название места:"
-#: ../src/vikgpslayer.c:127
+#: ../src/vikgoto.c:363
+msgid "Locality"
+msgstr ""
+
+#: ../src/vikgpslayer.c:128
msgid "Data Mode"
msgstr ""
-#: ../src/vikgpslayer.c:129
+#: ../src/vikgpslayer.c:130
msgid "Realtime Tracking Mode"
msgstr ""
-#: ../src/vikgpslayer.c:137
+#: ../src/vikgpslayer.c:167
msgid "Keep vehicle at center"
msgstr ""
-#: ../src/vikgpslayer.c:138
+#: ../src/vikgpslayer.c:168
msgid "Keep vehicle on screen"
msgstr ""
-#: ../src/vikgpslayer.c:139
+#: ../src/vikgpslayer.c:169
msgid "Disable"
msgstr ""
-#: ../src/vikgpslayer.c:152
+#: ../src/vikgpslayer.c:209
msgid "Download Tracks:"
msgstr "Скачать маршруты:"
-#: ../src/vikgpslayer.c:153
+#: ../src/vikgpslayer.c:210
msgid "Upload Tracks:"
msgstr "Загрузить маршруты:"
-#: ../src/vikgpslayer.c:154
+#: ../src/vikgpslayer.c:211
msgid "Download Routes:"
msgstr ""
-#: ../src/vikgpslayer.c:155
+#: ../src/vikgpslayer.c:212
msgid "Upload Routes:"
msgstr ""
-#: ../src/vikgpslayer.c:156
+#: ../src/vikgpslayer.c:213
msgid "Download Waypoints:"
msgstr "Скачать пункты:"
-#: ../src/vikgpslayer.c:157
+#: ../src/vikgpslayer.c:214
msgid "Upload Waypoints:"
msgstr "Загрузить пункты:"
-#: ../src/vikgpslayer.c:159
+#: ../src/vikgpslayer.c:216
msgid "Recording tracks"
msgstr "Запись маршрутов"
-#: ../src/vikgpslayer.c:160
+#: ../src/vikgpslayer.c:217
msgid "Jump to current position on start"
msgstr "Перемещаться в текущее расположение при старте"
-#: ../src/vikgpslayer.c:161
+#: ../src/vikgpslayer.c:218
msgid "Moving Map Method:"
msgstr ""
-#: ../src/vikgpslayer.c:162
+#: ../src/vikgpslayer.c:219
+msgid "Update Statusbar:"
+msgstr ""
+
+#: ../src/vikgpslayer.c:219
+msgid "Display information in the statusbar on GPS updates"
+msgstr ""
+
+#: ../src/vikgpslayer.c:220
msgid "Gpsd Host:"
msgstr "Узел gpsd:"
-#: ../src/vikgpslayer.c:163
+#: ../src/vikgpslayer.c:221
msgid "Gpsd Port:"
msgstr "Порт gpsd:"
-#: ../src/vikgpslayer.c:164
+#: ../src/vikgpslayer.c:222
msgid "Gpsd Retry Interval (seconds):"
msgstr ""
-#: ../src/vikgpslayer.c:179
+#: ../src/vikgpslayer.c:243
msgid "GPS"
msgstr ""
-#: ../src/vikgpslayer.c:242 ../src/vikgpslayer.c:1258
+#: ../src/vikgpslayer.c:306 ../src/vikgpslayer.c:1308
msgid "GPS Download"
msgstr ""
-#: ../src/vikgpslayer.c:242 ../src/vikgpslayer.c:1258
-#: ../src/viktrwlayer.c:3094
+#: ../src/vikgpslayer.c:306 ../src/vikgpslayer.c:1308
+#: ../src/viktrwlayer.c:3480
msgid "GPS Upload"
msgstr ""
-#: ../src/vikgpslayer.c:244
+#: ../src/vikgpslayer.c:308
msgid "GPS Realtime Tracking"
msgstr ""
-#: ../src/vikgpslayer.c:451
+#: ../src/vikgpslayer.c:517
msgid "Unknown GPS Protocol"
msgstr "Неизвестный протокол GPS"
-#: ../src/vikgpslayer.c:469
+#: ../src/vikgpslayer.c:535
msgid "Unknown serial port device"
msgstr "Неизвестное устройство COM"
-#: ../src/vikgpslayer.c:572
+#: ../src/vikgpslayer.c:648
#, c-format
msgid "%s: unknown parameter"
msgstr "%s: неизвестный параметр"
#. Now with icons
-#: ../src/vikgpslayer.c:693
+#: ../src/vikgpslayer.c:743
msgid "_Upload to GPS"
msgstr "Загрузить в GPS"
-#: ../src/vikgpslayer.c:699
+#: ../src/vikgpslayer.c:749
msgid "Download from _GPS"
msgstr "Выгрузить из _GPS"
-#: ../src/vikgpslayer.c:720
+#: ../src/vikgpslayer.c:770
msgid "Empty _Realtime"
msgstr ""
-#: ../src/vikgpslayer.c:727
+#: ../src/vikgpslayer.c:777
msgid "E_mpty Upload"
msgstr ""
-#: ../src/vikgpslayer.c:733
+#: ../src/vikgpslayer.c:783
msgid "_Empty Download"
msgstr ""
-#: ../src/vikgpslayer.c:739
+#: ../src/vikgpslayer.c:789
msgid "Empty _All"
msgstr "Очистить все"
@@ -1372,12 +1639,12 @@ msgstr "Очистить все"
#. This happens when copied GPS layer is deleted (not sure why the number_handlers would be 2)
#. I don't think there's any side effects and certainly better than the program just aborting
#.
-#: ../src/vikgpslayer.c:756
+#: ../src/vikgpslayer.c:806
#, c-format
msgid "Unexpected number of disconnected handlers: %d"
msgstr ""
-#: ../src/vikgpslayer.c:898
+#: ../src/vikgpslayer.c:948
#, c-format
msgid "Uploading %d waypoint..."
msgid_plural "Uploading %d waypoints..."
@@ -1385,7 +1652,7 @@ msgstr[0] "Загружается %d пункт..."
msgstr[1] "Загружается %d пункта..."
msgstr[2] "Загружается %d пунктов..."
-#: ../src/vikgpslayer.c:899
+#: ../src/vikgpslayer.c:949
#, c-format
msgid "Uploading %d trackpoint..."
msgid_plural "Uploading %d trackpoints..."
@@ -1393,14 +1660,14 @@ msgstr[0] "Загружается %d узел..."
msgstr[1] "Загружается %d узла..."
msgstr[2] "Загружается %d узлов..."
-#: ../src/vikgpslayer.c:900
+#: ../src/vikgpslayer.c:950
#, c-format
msgid "Uploading %d routepoint..."
msgid_plural "Uploading %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:925
+#: ../src/vikgpslayer.c:975
#, c-format
msgid "Downloaded %d out of %d waypoint..."
msgid_plural "Downloaded %d out of %d waypoints..."
@@ -1408,7 +1675,7 @@ msgstr[0] "Скачано %d из %d пункта..."
msgstr[1] "Скачано %d из %d пунктов..."
msgstr[2] "Скачано %d из %d пунктов..."
-#: ../src/vikgpslayer.c:926
+#: ../src/vikgpslayer.c:976
#, c-format
msgid "Downloaded %d out of %d trackpoint..."
msgid_plural "Downloaded %d out of %d trackpoints..."
@@ -1416,14 +1683,14 @@ msgstr[0] "Скачано %d из %d узла..."
msgstr[1] "Скачано %d из %d узлов..."
msgstr[2] "Скачано %d из %d узлов..."
-#: ../src/vikgpslayer.c:927
+#: ../src/vikgpslayer.c:977
#, c-format
msgid "Downloaded %d out of %d routepoint..."
msgid_plural "Downloaded %d out of %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:932
+#: ../src/vikgpslayer.c:982
#, c-format
msgid "Uploaded %d out of %d waypoint..."
msgid_plural "Uploaded %d out of %d waypoints..."
@@ -1431,7 +1698,7 @@ msgstr[0] "Загружено %d из %d пункта..."
msgstr[1] "Загружено %d из %d пунктов..."
msgstr[2] "Загружено %d из %d пунктов..."
-#: ../src/vikgpslayer.c:933
+#: ../src/vikgpslayer.c:983
#, c-format
msgid "Uploaded %d out of %d trackpoint..."
msgid_plural "Uploaded %d out of %d trackpoints..."
@@ -1439,14 +1706,14 @@ msgstr[0] "Загружено %d из %d узла..."
msgstr[1] "Загружено %d из %d узлов..."
msgstr[2] "Загружено %d из %d узлов..."
-#: ../src/vikgpslayer.c:934
+#: ../src/vikgpslayer.c:984
#, c-format
msgid "Uploaded %d out of %d routepoint..."
msgid_plural "Uploaded %d out of %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:942
+#: ../src/vikgpslayer.c:992
#, c-format
msgid "Downloaded %d waypoint"
msgid_plural "Downloaded %d waypoints"
@@ -1454,7 +1721,7 @@ msgstr[0] "Скачан %d пункт"
msgstr[1] "Скачано %d пункта"
msgstr[2] "Скачано %d пунктов"
-#: ../src/vikgpslayer.c:943
+#: ../src/vikgpslayer.c:993
#, c-format
msgid "Downloaded %d trackpoint"
msgid_plural "Downloaded %d trackpoints"
@@ -1462,14 +1729,14 @@ msgstr[0] "Скачан %d узел"
msgstr[1] "Скачано %d узла"
msgstr[2] "Скачано %d узлов"
-#: ../src/vikgpslayer.c:944
+#: ../src/vikgpslayer.c:994
#, c-format
msgid "Downloaded %d routepoint"
msgid_plural "Downloaded %d routepoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:949
+#: ../src/vikgpslayer.c:999
#, c-format
msgid "Uploaded %d waypoint"
msgid_plural "Uploaded %d waypoints"
@@ -1477,7 +1744,7 @@ msgstr[0] "Загружен %d узел"
msgstr[1] "Загружено %d узла"
msgstr[2] "Загружено %d узлов"
-#: ../src/vikgpslayer.c:950
+#: ../src/vikgpslayer.c:1000
#, c-format
msgid "Uploaded %d trackpoint"
msgid_plural "Uploaded %d trackpoints"
@@ -1485,131 +1752,129 @@ msgstr[0] "Загружен %d пункт"
msgstr[1] "Загружено %d пункта"
msgstr[2] "Загружено %d пунктов"
-#: ../src/vikgpslayer.c:951
+#: ../src/vikgpslayer.c:1001
#, c-format
msgid "Uploaded %d routepoint"
msgid_plural "Uploaded %d routepoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:1180
+#: ../src/vikgpslayer.c:1230
msgid "Error: couldn't find gpsbabel."
msgstr "Ошибка: gpsbabel не найден."
-#: ../src/vikgpslayer.c:1269
+#: ../src/vikgpslayer.c:1319
msgid "Warning - GPS Upload items may overwrite each other"
msgstr ""
-#: ../src/vikgpslayer.c:1301
+#: ../src/vikgpslayer.c:1351
msgid "Status: detecting gpsbabel"
msgstr "Статус: поиск gpsbabel"
-#: ../src/vikgpslayer.c:1332
+#: ../src/vikgpslayer.c:1386
msgid "No GPS items selected for transfer."
msgstr ""
-#: ../src/vikgpslayer.c:1347
+#: ../src/vikgpslayer.c:1401
msgid "Could not turn off device."
msgstr ""
-#: ../src/vikgpslayer.c:1385
+#: ../src/vikgpslayer.c:1439
msgid "Are you sure you want to delete GPS Upload data?"
msgstr ""
-#: ../src/vikgpslayer.c:1398
+#: ../src/vikgpslayer.c:1452
msgid "Are you sure you want to delete GPS Download data?"
msgstr ""
-#: ../src/vikgpslayer.c:1412
+#: ../src/vikgpslayer.c:1466
msgid "Are you sure you want to delete GPS Realtime data?"
msgstr ""
-#: ../src/vikgpslayer.c:1425
+#: ../src/vikgpslayer.c:1479
msgid "Are you sure you want to delete All GPS data?"
msgstr ""
-#: ../src/viklayerspanel.c:55
-msgid "/C_ut"
-msgstr "/Вырезать"
+#: ../src/viklayerspanel.c:53
+msgid "C_ut"
+msgstr ""
-#: ../src/viklayerspanel.c:56
-msgid "/_Copy"
-msgstr "/_Копировать"
+#: ../src/viklayerspanel.c:54 ../src/vikwindow.c:3753
+msgid "_Copy"
+msgstr "Копировать"
-#: ../src/viklayerspanel.c:57
-msgid "/_Paste"
-msgstr "/Вст_авить"
+#: ../src/viklayerspanel.c:55 ../src/vikwindow.c:3754
+msgid "_Paste"
+msgstr "Вставить"
-#: ../src/viklayerspanel.c:58
-msgid "/_Delete"
-msgstr "/_Удалить"
+#: ../src/viklayerspanel.c:56 ../src/vikwindow.c:3755
+msgid "_Delete"
+msgstr "Удалить"
-#: ../src/viklayerspanel.c:59
-msgid "/New Layer"
-msgstr "/Новый слой"
+#: ../src/viklayerspanel.c:133
+msgid "New Layer"
+msgstr ""
-#: ../src/viklayerspanel.c:127
+#: ../src/viklayerspanel.c:178
msgid "Top Layer"
msgstr "Верхний слой"
-#: ../src/viklayerspanel.c:143
+#: ../src/viklayerspanel.c:194
msgid "Add new layer"
msgstr "Добавить слой"
-#: ../src/viklayerspanel.c:150
+#: ../src/viklayerspanel.c:201
msgid "Remove selected layer"
msgstr "Удалить выбранный слой"
-#: ../src/viklayerspanel.c:157
+#: ../src/viklayerspanel.c:208
msgid "Move selected layer up"
msgstr "Переместить выбранный слой вверх"
-#: ../src/viklayerspanel.c:164
+#: ../src/viklayerspanel.c:215
msgid "Move selected layer down"
msgstr "Переместить выбранный слой вниз"
-#: ../src/viklayerspanel.c:171
+#: ../src/viklayerspanel.c:222
msgid "Cut selected layer"
msgstr "Вырезать выбранный слой"
-#: ../src/viklayerspanel.c:178
+#: ../src/viklayerspanel.c:229
msgid "Copy selected layer"
msgstr "Копировать выбранный слой"
-#: ../src/viklayerspanel.c:185
-msgid "Paste layer below selected layer"
-msgstr "Вставить слой под выбранным"
+#: ../src/viklayerspanel.c:236
+msgid ""
+"Paste layer into selected container layer or otherwise above selected layer"
+msgstr ""
-#. TODO: FIXME: if name has a '/' in it it will get all messed up. why not have an itemfactory field with
-#. name, icon, shortcut, etc.?
-#: ../src/viklayerspanel.c:204 ../src/vikwindow.c:3292
-#, c-format
-msgid "New _%s Layer"
+#: ../src/viklayerspanel.c:300
+msgid "New name can not be blank."
msgstr ""
-#: ../src/viklayerspanel.c:511
+#: ../src/viklayerspanel.c:544
msgid "Aggregate Layers have no settable properties."
msgstr "У объединяющего слоя нет изменяемых свойств."
-#: ../src/viklayerspanel.c:555
+#: ../src/viklayerspanel.c:588
msgid "You cannot cut the Top Layer."
msgstr "Нельзя вырезать верхний слой."
-#: ../src/viklayerspanel.c:600
+#: ../src/viklayerspanel.c:633
#, c-format
msgid "Are you sure you want to delete %s?"
msgstr "Вы уверены что хотите удалить %s?"
-#: ../src/viklayerspanel.c:617
+#: ../src/viklayerspanel.c:650
msgid "You cannot delete the Top Layer."
msgstr "Нельзя удалить верхний слой."
-#: ../src/viklayerspanel.c:701
+#: ../src/viklayerspanel.c:734
msgid "Are you sure you wish to delete all layers?"
msgstr "Вы уверены что хотите удалить все слои?"
#. ******* MAPZOOMS ********
-#: ../src/vikmapslayer.c:91
+#: ../src/vikmapslayer.c:80
msgid "Use Viking Zoom Level"
msgstr ""
@@ -1656,35 +1921,35 @@ msgid ""
"actual zoom level."
msgstr ""
-#: ../src/vikmapslayer.c:146
+#: ../src/vikmapslayer.c:156
msgid "_Maps Download"
msgstr ""
-#: ../src/vikmapslayer.c:146
+#: ../src/vikmapslayer.c:156
msgid "Maps Download"
msgstr "Загрузка карт"
-#: ../src/vikmapslayer.c:161
+#: ../src/vikmapslayer.c:171
msgid "Map"
msgstr "Карта"
-#: ../src/vikmapslayer.c:249
-msgid "Default maplayer directory:"
+#: ../src/vikmapslayer.c:259
+msgid "Default map layer directory:"
msgstr ""
-#: ../src/vikmapslayer.c:249
+#: ../src/vikmapslayer.c:259
msgid "Choose a directory to store cached Map tiles for this layer"
msgstr ""
-#: ../src/vikmapslayer.c:505
+#: ../src/vikmapslayer.c:523
msgid "Unknown map type"
msgstr "Неизвестный тип карты"
-#: ../src/vikmapslayer.c:516
+#: ../src/vikmapslayer.c:534
msgid "Unknown Map Zoom"
msgstr ""
-#: ../src/vikmapslayer.c:589
+#: ../src/vikmapslayer.c:624
#, c-format
msgid ""
"New map cannot be displayed in the current drawmode.\n"
@@ -1693,21 +1958,21 @@ msgstr ""
"Новая карта не может быть показана в текущем режиме отрисовки.\n"
"Выберите \"%s\" из меню Вид для ее просмотра."
-#: ../src/vikmapslayer.c:753
+#: ../src/vikmapslayer.c:798
#, c-format
msgid ""
"Cowardly refusing to draw tiles or existence of tiles beyond %d zoom out "
"factor"
msgstr ""
-#: ../src/vikmapslayer.c:1157
+#: ../src/vikmapslayer.c:1210
#, c-format
msgid "Redownloading up to %d %s map..."
msgid_plural "Redownloading up to %d %s maps..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikmapslayer.c:1159
+#: ../src/vikmapslayer.c:1212
#, c-format
msgid "Redownloading %d %s map..."
msgid_plural "Redownloading %d %s maps..."
@@ -1715,7 +1980,7 @@ msgstr[0] "Повторно скачивается %d %s карта..."
msgstr[1] "Повторно скачивается %d %s карты..."
msgstr[2] "Повторно скачивается %d %s карт..."
-#: ../src/vikmapslayer.c:1163 ../src/vikmapslayer.c:1238
+#: ../src/vikmapslayer.c:1216 ../src/vikmapslayer.c:1290
#, c-format
msgid "Downloading %d %s map..."
msgid_plural "Downloading %d %s maps..."
@@ -1723,7 +1988,7 @@ msgstr[0] "Скачивается %d %s карта..."
msgstr[1] "Скачивается %d %s карты..."
msgstr[2] "Скачивается %d %s карт..."
-#: ../src/vikmapslayer.c:1311
+#: ../src/vikmapslayer.c:1376
#, c-format
msgid ""
"\n"
@@ -1733,7 +1998,7 @@ msgid ""
"Tile File Timestamp: %s"
msgstr ""
-#: ../src/vikmapslayer.c:1318
+#: ../src/vikmapslayer.c:1380
#, c-format
msgid ""
"Source: %s\n"
@@ -1741,23 +2006,23 @@ msgid ""
"No Tile File!"
msgstr ""
-#: ../src/vikmapslayer.c:1356
+#: ../src/vikmapslayer.c:1418
msgid "Redownload _Bad Map(s)"
msgstr "Заново скачать испорченные карты"
-#: ../src/vikmapslayer.c:1360
+#: ../src/vikmapslayer.c:1422
msgid "Redownload _New Map(s)"
msgstr "Заново скачать новые карты"
-#: ../src/vikmapslayer.c:1364
+#: ../src/vikmapslayer.c:1426
msgid "Redownload _All Map(s)"
msgstr "Заново скачать все карты"
-#: ../src/vikmapslayer.c:1368
+#: ../src/vikmapslayer.c:1430
msgid "_Show Tile Information"
msgstr ""
-#: ../src/vikmapslayer.c:1449
+#: ../src/vikmapslayer.c:1511
#, c-format
msgid ""
"Wrong drawmode for this map.\n"
@@ -1766,300 +2031,399 @@ msgstr ""
"Неподходящий режим отрисовки для этой карты.\n"
"Выберите \"%s\" из меню вид и попробуйте снова."
-#: ../src/vikmapslayer.c:1454
+#: ../src/vikmapslayer.c:1516
msgid "Wrong zoom level for this map."
msgstr ""
+#: ../src/vikmapslayer.c:1647
+msgid "Zoom Start:"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1654
+msgid "Zoom End:"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1660
+msgid "Download Maps Method:"
+msgstr ""
+
+#. redownload method - needs to align with REDOWNLOAD* macro values
+#: ../src/vikmapslayer.c:1732
+msgid "Missing"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1732
+msgid "Bad"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1732
+msgid "New"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1732
+msgid "Reload All"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1734
+msgid "Download for Zoom Levels"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1774
+#, c-format
+msgid ""
+"You are not allowed to download more than %d tiles in one go (requested %d)"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1782
+#, c-format
+msgid "Do you really want to download %d tiles?"
+msgstr ""
+
#. Now with icons
-#: ../src/vikmapslayer.c:1485
+#: ../src/vikmapslayer.c:1807
msgid "Download _Missing Onscreen Maps"
msgstr "Скачать отсутствующие экранные карты"
-#: ../src/vikmapslayer.c:1492
+#: ../src/vikmapslayer.c:1814
msgid "Download _New Onscreen Maps"
msgstr "Скачать новые экранные карты"
-#: ../src/vikmapslayer.c:1499
+#: ../src/vikmapslayer.c:1821
msgid "Reload _All Onscreen Maps"
msgstr "Скачать все экранные карты"
-#: ../src/viktreeview.c:263
+#: ../src/vikmapslayer.c:1827
+msgid "Download Maps in _Zoom Levels..."
+msgstr ""
+
+#: ../src/vikrouting.c:54
+msgid "Default engine:"
+msgstr ""
+
+#: ../src/viktreeview.c:316
msgid "Layer Name"
msgstr "Имя слоя"
-#: ../src/viktreeview.c:742
+#: ../src/viktreeview.c:851
#, c-format
msgid "delete data from %s\n"
msgstr "удалить данные %s\n"
-#: ../src/viktrwlayer.c:377
+#: ../src/viktrwlayer.c:398
msgid "Create _Waypoint"
msgstr ""
-#: ../src/viktrwlayer.c:377
+#: ../src/viktrwlayer.c:398
msgid "Create Waypoint"
msgstr "Создать пункт"
-#: ../src/viktrwlayer.c:383
+#: ../src/viktrwlayer.c:404
msgid "Create _Track"
msgstr ""
-#: ../src/viktrwlayer.c:383
+#: ../src/viktrwlayer.c:404
msgid "Create Track"
msgstr "Создать маршрут"
-#: ../src/viktrwlayer.c:392
+#: ../src/viktrwlayer.c:413
msgid "Create _Route"
msgstr ""
-#: ../src/viktrwlayer.c:392
+#: ../src/viktrwlayer.c:413
msgid "Create Route"
msgstr ""
-#: ../src/viktrwlayer.c:401
+#: ../src/viktrwlayer.c:422
msgid "_Edit Waypoint"
msgstr ""
-#: ../src/viktrwlayer.c:401
+#: ../src/viktrwlayer.c:422
msgid "Edit Waypoint"
msgstr "Редактироватаь пункт"
-#: ../src/viktrwlayer.c:409
+#: ../src/viktrwlayer.c:432
msgid "Edit Trac_kpoint"
msgstr ""
-#: ../src/viktrwlayer.c:409
+#: ../src/viktrwlayer.c:432
msgid "Edit Trackpoint"
msgstr "Редактировать узел"
-#: ../src/viktrwlayer.c:417
+#: ../src/viktrwlayer.c:442
msgid "Show P_icture"
msgstr ""
-#: ../src/viktrwlayer.c:417
+#: ../src/viktrwlayer.c:442
msgid "Show Picture"
msgstr "Показать картинку"
-#: ../src/viktrwlayer.c:424
+#: ../src/viktrwlayer.c:448
msgid "Route _Finder"
msgstr ""
-#: ../src/viktrwlayer.c:424
+#: ../src/viktrwlayer.c:448
msgid "Route Finder"
msgstr ""
#. ***** PARAMETERS *****
-#: ../src/viktrwlayer.c:447 ../src/viktrwlayer.c:1942
-#: ../src/viktrwlayer.c:1944
+#: ../src/viktrwlayer.c:468 ../src/viktrwlayer.c:2324
msgid "Waypoints"
msgstr "Пункты"
-#: ../src/viktrwlayer.c:447 ../src/viktrwlayer.c:1933
-#: ../src/viktrwlayer.c:1935
+#: ../src/viktrwlayer.c:468 ../src/viktrwlayer.c:2319
msgid "Tracks"
msgstr "Маршруты"
-#: ../src/viktrwlayer.c:447
+#: ../src/viktrwlayer.c:468
msgid "Waypoint Images"
msgstr "Картинки пунктов"
-#: ../src/viktrwlayer.c:450
+#: ../src/viktrwlayer.c:468
+msgid "Tracks Advanced"
+msgstr ""
+
+#: ../src/viktrwlayer.c:471
msgid "Draw by Track"
msgstr ""
-#: ../src/viktrwlayer.c:450
+#: ../src/viktrwlayer.c:471
msgid "Draw by Speed"
msgstr ""
-#: ../src/viktrwlayer.c:450
+#: ../src/viktrwlayer.c:471
msgid "All Tracks Same Color"
msgstr ""
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "Filled Square"
msgstr "Закрашенный квадрат"
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "Square"
msgstr "Квадрат"
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "Circle"
msgstr "Окружность"
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "X"
msgstr "X"
-#: ../src/viktrwlayer.c:477
+#: ../src/viktrwlayer.c:498
msgid "Extra Extra Small"
msgstr ""
-#: ../src/viktrwlayer.c:478
+#: ../src/viktrwlayer.c:499
msgid "Extra Small"
msgstr ""
-#: ../src/viktrwlayer.c:479
+#: ../src/viktrwlayer.c:500
msgid "Small"
msgstr ""
-#: ../src/viktrwlayer.c:480
+#: ../src/viktrwlayer.c:501
msgid "Medium"
msgstr ""
-#: ../src/viktrwlayer.c:481
+#: ../src/viktrwlayer.c:502
msgid "Large"
msgstr ""
-#: ../src/viktrwlayer.c:482
+#: ../src/viktrwlayer.c:503
msgid "Extra Large"
msgstr ""
-#: ../src/viktrwlayer.c:483
+#: ../src/viktrwlayer.c:504
msgid "Extra Extra Large"
msgstr ""
-#: ../src/viktrwlayer.c:491
+#: ../src/viktrwlayer.c:510
+msgid "Name Ascending"
+msgstr ""
+
+#: ../src/viktrwlayer.c:511
+msgid "Name Descending"
+msgstr ""
+
+#: ../src/viktrwlayer.c:552 ../src/viktrwlayer.c:576
+msgid "Draw Labels"
+msgstr "Нарисовать названия"
+
+#: ../src/viktrwlayer.c:553
+msgid "Note: the individual track controls what labels may be displayed"
+msgstr ""
+
+#: ../src/viktrwlayer.c:554
+msgid "Track Labels Font Size:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:555
msgid "Track Drawing Mode:"
msgstr "Режим рисования маршрутов:"
-#: ../src/viktrwlayer.c:492
+#: ../src/viktrwlayer.c:556
msgid "All Tracks Color:"
msgstr ""
-#: ../src/viktrwlayer.c:493
+#: ../src/viktrwlayer.c:557
msgid "The color used when 'All Tracks Same Color' drawing mode is selected"
msgstr ""
-#: ../src/viktrwlayer.c:494
+#: ../src/viktrwlayer.c:558
msgid "Draw Track Lines"
msgstr "Нарисовать линии маршрута"
-#: ../src/viktrwlayer.c:495
+#: ../src/viktrwlayer.c:559
msgid "Track Thickness:"
msgstr "Толщина маршрута:"
-#: ../src/viktrwlayer.c:496
+#: ../src/viktrwlayer.c:560
msgid "Draw Track Direction"
msgstr ""
-#: ../src/viktrwlayer.c:497
+#: ../src/viktrwlayer.c:561
msgid "Direction Size:"
msgstr ""
-#: ../src/viktrwlayer.c:498
+#: ../src/viktrwlayer.c:562
msgid "Draw Trackpoints"
msgstr "Нарисовать узлы"
-#: ../src/viktrwlayer.c:499
+#: ../src/viktrwlayer.c:563
msgid "Trackpoint Size:"
msgstr ""
-#: ../src/viktrwlayer.c:500
+#: ../src/viktrwlayer.c:564
msgid "Draw Elevation"
msgstr "Нарисовать высоту"
-#: ../src/viktrwlayer.c:501
+#: ../src/viktrwlayer.c:565
msgid "Draw Elevation Height %:"
msgstr "Нарисовать % высоты:"
-#: ../src/viktrwlayer.c:503
+#: ../src/viktrwlayer.c:566
msgid "Draw Stops"
msgstr "Нарисовать остановки"
-#: ../src/viktrwlayer.c:504
+#: ../src/viktrwlayer.c:567
msgid ""
"Whether to draw a marker when trackpoints are at the same position but over "
"the minimum stop length apart in time"
msgstr ""
-#: ../src/viktrwlayer.c:505
+#: ../src/viktrwlayer.c:568
msgid "Min Stop Length (seconds):"
msgstr "Минимальная длина остановки (в секундах)"
-#: ../src/viktrwlayer.c:507
+#: ../src/viktrwlayer.c:570
msgid "Track BG Thickness:"
msgstr "Толщина фона маршрута:"
-#: ../src/viktrwlayer.c:508
+#: ../src/viktrwlayer.c:571
msgid "Track Background Color"
msgstr "Цвет фона маршрута"
-#: ../src/viktrwlayer.c:509
+#: ../src/viktrwlayer.c:572
msgid "Draw by Speed Factor (%):"
msgstr ""
-#: ../src/viktrwlayer.c:510
+#: ../src/viktrwlayer.c:573
msgid ""
"The percentage factor away from the average speed determining the color used"
msgstr ""
-#: ../src/viktrwlayer.c:512
-msgid "Draw Labels"
-msgstr "Нарисовать названия"
+#: ../src/viktrwlayer.c:574
+msgid "Track Sort Order:"
+msgstr ""
-#: ../src/viktrwlayer.c:513
+#: ../src/viktrwlayer.c:577
msgid "Waypoint Font Size:"
msgstr ""
-#: ../src/viktrwlayer.c:514
+#: ../src/viktrwlayer.c:578
msgid "Waypoint Color:"
msgstr "Цвет пунктов:"
-#: ../src/viktrwlayer.c:515
+#: ../src/viktrwlayer.c:579
msgid "Waypoint Text:"
msgstr "Текст пунктов:"
-#: ../src/viktrwlayer.c:516
+#: ../src/viktrwlayer.c:580
msgid "Background:"
msgstr "Фон:"
-#: ../src/viktrwlayer.c:517
+#: ../src/viktrwlayer.c:581
msgid "Fake BG Color Translucency:"
msgstr ""
-#: ../src/viktrwlayer.c:518
+#: ../src/viktrwlayer.c:582
msgid "Waypoint marker:"
msgstr "Маркер пункта:"
-#: ../src/viktrwlayer.c:519
+#: ../src/viktrwlayer.c:583
msgid "Waypoint size:"
msgstr "Размер пунктов:"
-#: ../src/viktrwlayer.c:520
+#: ../src/viktrwlayer.c:584
msgid "Draw Waypoint Symbols:"
msgstr "Рисовать символы пунктов:"
-#: ../src/viktrwlayer.c:522
+#: ../src/viktrwlayer.c:585
+msgid "Waypoint Sort Order:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:587
msgid "Draw Waypoint Images"
msgstr "Рисовать картинки пунктов"
-#: ../src/viktrwlayer.c:523
+#: ../src/viktrwlayer.c:588
msgid "Image Size (pixels):"
msgstr "Размер картинки (пикселы):"
-#: ../src/viktrwlayer.c:524
+#: ../src/viktrwlayer.c:589
msgid "Image Alpha:"
msgstr "Прозрачность картинки:"
-#: ../src/viktrwlayer.c:525
+#: ../src/viktrwlayer.c:590
msgid "Image Memory Cache Size:"
msgstr "Размер кэша для картинок:"
-#: ../src/viktrwlayer.c:610
+#: ../src/viktrwlayer.c:678
msgid "TrackWaypoint"
msgstr ""
-#: ../src/viktrwlayer.c:1951 ../src/viktrwlayer.c:1953
+#: ../src/viktrwlayer.c:1534 ../src/vikutils.c:204
+msgid "miles"
+msgstr ""
+
+#. VIK_UNITS_DISTANCE_KILOMETRES:
+#: ../src/viktrwlayer.c:1538 ../src/vikutils.c:209
+msgid "km"
+msgstr ""
+
+#: ../src/viktrwlayer.c:1648
+msgid "start/end"
+msgstr ""
+
+#: ../src/viktrwlayer.c:1660
+msgid "start"
+msgstr ""
+
+#: ../src/viktrwlayer.c:1669
+msgid "end"
+msgstr ""
+
+#: ../src/viktrwlayer.c:2329
msgid "Routes"
msgstr ""
-#: ../src/viktrwlayer.c:2144
+#: ../src/viktrwlayer.c:2519
#, c-format
msgid " in %d:%02d hrs:mins"
msgstr " в %d:%02d ч:мин"
-#: ../src/viktrwlayer.c:2148
+#: ../src/viktrwlayer.c:2523
#, c-format
msgid ""
"\n"
@@ -2068,1135 +2432,1613 @@ msgstr ""
"\n"
"%sОбщая длина %.1f %s%s"
-#: ../src/viktrwlayer.c:2154
+#: ../src/viktrwlayer.c:2529
#, c-format
msgid "Tracks: %d - Waypoints: %d - Routes: %d%s"
msgstr ""
-#: ../src/viktrwlayer.c:2174
+#: ../src/viktrwlayer.c:2549
#, c-format
msgid "Tracks: %d"
msgstr ""
-#: ../src/viktrwlayer.c:2184
+#: ../src/viktrwlayer.c:2559
#, c-format
msgid "Routes: %d"
msgstr ""
-#: ../src/viktrwlayer.c:2215
+#: ../src/viktrwlayer.c:2590
#, c-format
msgid "- %d:%02d hrs:mins"
msgstr "- %d:%02d ч:мин"
-#: ../src/viktrwlayer.c:2223
+#: ../src/viktrwlayer.c:2598
#, c-format
msgid "%s%.1f km %s"
msgstr "%s%.1f км %s"
-#: ../src/viktrwlayer.c:2226
+#: ../src/viktrwlayer.c:2601
#, c-format
msgid "%s%.1f miles %s"
msgstr "%s%.1f миль %s"
-#: ../src/viktrwlayer.c:2240
+#: ../src/viktrwlayer.c:2615
#, c-format
msgid "Waypoints: %d"
msgstr ""
-#: ../src/viktrwlayer.c:2266
-#, c-format
-msgid "Trkpt: Alt %dft"
-msgstr ""
-
-#. VIK_UNITS_HEIGHT_METRES:
-#: ../src/viktrwlayer.c:2270
-#, c-format
-msgid "Trkpt: Alt %dm"
-msgstr ""
-
-#. Compact date time format
-#: ../src/viktrwlayer.c:2277
-#, c-format
-msgid " | Time %x %X"
-msgstr ""
-
-#: ../src/viktrwlayer.c:2295
-#, c-format
-msgid " | Track: %s"
-msgstr ""
-
-#. Combine parts to make overall message
-#: ../src/viktrwlayer.c:2299
-#, c-format
-msgid "%s%s | %s %s %s"
-msgstr ""
-
-#: ../src/viktrwlayer.c:2314
+#: ../src/viktrwlayer.c:2671
#, c-format
msgid "Wpt: Alt %dft"
msgstr ""
#. VIK_UNITS_HEIGHT_METRES:
-#: ../src/viktrwlayer.c:2318
+#: ../src/viktrwlayer.c:2675
#, c-format
msgid "Wpt: Alt %dm"
msgstr ""
#. Add comment if available
-#: ../src/viktrwlayer.c:2333
+#: ../src/viktrwlayer.c:2690
#, c-format
msgid "%s | %s %s | Comment: %s"
msgstr ""
-#: ../src/viktrwlayer.c:2335
+#: ../src/viktrwlayer.c:2692
#, c-format
msgid "%s | %s %s"
msgstr ""
-#: ../src/viktrwlayer.c:2563 ../src/viktrwlayer.c:2634
+#: ../src/viktrwlayer.c:2939 ../src/viktrwlayer.c:3010
msgid "This layer has no waypoints or trackpoints."
msgstr "В этом слое нет пунктов или маршрутных узлов."
-#: ../src/viktrwlayer.c:2661 ../src/vikwindow.c:2407 ../src/vikwindow.c:2848
+#: ../src/viktrwlayer.c:3045 ../src/vikwindow.c:2754 ../src/vikwindow.c:3407
#, c-format
msgid "The file \"%s\" exists, do you wish to overwrite it?"
msgstr "Файл \"%s\", хотите перезаписать?"
-#: ../src/viktrwlayer.c:2671 ../src/vikwindow.c:2429
+#: ../src/viktrwlayer.c:3057 ../src/vikwindow.c:2778
msgid "The filename you requested could not be opened for writing."
msgstr "Выбранный вами файл невозможно открыть для записи."
-#: ../src/viktrwlayer.c:2676 ../src/viktrwlayer.c:2681
-#: ../src/viktrwlayer.c:2691 ../src/viktrwlayer.c:2703
+#: ../src/viktrwlayer.c:3062 ../src/viktrwlayer.c:3067
+#: ../src/viktrwlayer.c:3077 ../src/viktrwlayer.c:3089
msgid "Export Layer"
msgstr "Экспортировать слой"
-#: ../src/viktrwlayer.c:2720
+#: ../src/viktrwlayer.c:3108
msgid "Could not create temporary file for export."
msgstr ""
-#: ../src/viktrwlayer.c:2729
+#: ../src/viktrwlayer.c:3117
#, c-format
msgid "Could not launch %s."
msgstr ""
-#: ../src/viktrwlayer.c:2773
+#: ../src/viktrwlayer.c:3161
msgid "Export Track as GPX"
msgstr "Экспортировать маршруты в GPX"
-#: ../src/viktrwlayer.c:2795
+#: ../src/viktrwlayer.c:3183
msgid "Find"
msgstr "Найти"
-#: ../src/viktrwlayer.c:2805
+#: ../src/viktrwlayer.c:3193
msgid "Waypoint Name:"
msgstr "Имя пункта:"
-#: ../src/viktrwlayer.c:2822
+#: ../src/viktrwlayer.c:3210
msgid "Waypoint not found in this layer."
msgstr "Пункт не найден в этом слое."
-#: ../src/viktrwlayer.c:3090
+#: ../src/viktrwlayer.c:3476
msgid "Can not upload invisible track."
msgstr ""
-#: ../src/viktrwlayer.c:3192 ../src/viktrwlayer.c:7785
+#: ../src/viktrwlayer.c:3581 ../src/viktrwlayer.c:9283
msgid "Track"
msgstr "Маршрут"
-#: ../src/viktrwlayer.c:3215 ../src/viktrwlayer.c:7817
+#: ../src/viktrwlayer.c:3606 ../src/viktrwlayer.c:9316
msgid "Route"
msgstr ""
-#: ../src/viktrwlayer.c:3296 ../src/viktrwlayer.c:6265
-#: ../src/viktrwlayer.c:6314
+#: ../src/viktrwlayer.c:3691 ../src/viktrwlayer.c:7460
+#: ../src/viktrwlayer.c:7566
msgid "_Finish Route"
msgstr ""
-#: ../src/viktrwlayer.c:3298 ../src/viktrwlayer.c:6223
-#: ../src/viktrwlayer.c:6312
+#: ../src/viktrwlayer.c:3693 ../src/viktrwlayer.c:7383
+#: ../src/viktrwlayer.c:7564
msgid "_Finish Track"
msgstr ""
#. Now with icons
-#: ../src/viktrwlayer.c:3310
+#: ../src/viktrwlayer.c:3705
msgid "_View Layer"
msgstr ""
-#: ../src/viktrwlayer.c:3317
+#: ../src/viktrwlayer.c:3712
msgid "V_iew"
msgstr ""
-#: ../src/viktrwlayer.c:3323
+#: ../src/viktrwlayer.c:3718
msgid "View All _Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:3328
+#: ../src/viktrwlayer.c:3723
msgid "View All _Routes"
msgstr ""
-#: ../src/viktrwlayer.c:3333
+#: ../src/viktrwlayer.c:3728
msgid "View All _Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:3338
+#: ../src/viktrwlayer.c:3733
msgid "_Goto Center of Layer"
msgstr "Перейти к центру слоя"
-#: ../src/viktrwlayer.c:3344 ../src/viktrwlayer.c:6199
+#: ../src/viktrwlayer.c:3739 ../src/viktrwlayer.c:7335
msgid "Goto _Waypoint..."
msgstr ""
-#: ../src/viktrwlayer.c:3350
+#: ../src/viktrwlayer.c:3745
msgid "_Export Layer"
msgstr "Экспортировать слой"
-#: ../src/viktrwlayer.c:3356
+#: ../src/viktrwlayer.c:3751
msgid "Export as GPS_Point..."
msgstr ""
-#: ../src/viktrwlayer.c:3361
+#: ../src/viktrwlayer.c:3756
msgid "Export as GPS_Mapper..."
msgstr ""
-#: ../src/viktrwlayer.c:3366
+#: ../src/viktrwlayer.c:3761
msgid "Export as _GPX..."
msgstr ""
-#: ../src/viktrwlayer.c:3371
+#: ../src/viktrwlayer.c:3766
msgid "Export as _KML..."
msgstr ""
-#: ../src/viktrwlayer.c:3376
+#: ../src/viktrwlayer.c:3771
msgid "Open with External Program_1: "
msgstr ""
-#: ../src/viktrwlayer.c:3383
+#: ../src/viktrwlayer.c:3778
msgid "Open with External Program_2: "
msgstr ""
-#: ../src/viktrwlayer.c:3391 ../src/vikwindow.c:3145
+#: ../src/viktrwlayer.c:3786 ../src/vikwindow.c:3704
msgid "_New"
msgstr "Новый"
-#: ../src/viktrwlayer.c:3397
+#: ../src/viktrwlayer.c:3792
msgid "New _Waypoint..."
msgstr ""
-#: ../src/viktrwlayer.c:3403
+#: ../src/viktrwlayer.c:3798
msgid "New _Track"
msgstr ""
-#: ../src/viktrwlayer.c:3411
+#: ../src/viktrwlayer.c:3806
msgid "New _Route"
msgstr ""
-#: ../src/viktrwlayer.c:3420 ../src/viktrwlayer.c:6597
+#: ../src/viktrwlayer.c:3815 ../src/viktrwlayer.c:7938
msgid "Geotag _Images..."
msgstr ""
-#: ../src/viktrwlayer.c:3427
+#: ../src/viktrwlayer.c:3822
msgid "_Acquire"
msgstr ""
-#: ../src/viktrwlayer.c:3433 ../src/vikwindow.c:3150
+#: ../src/viktrwlayer.c:3828 ../src/vikwindow.c:3711
msgid "From _GPS..."
msgstr "Из _GPS..."
-#: ../src/viktrwlayer.c:3439
-msgid "From Google _Directions..."
+#. FIXME: only add menu when at least a routing engine has support for Directions
+#: ../src/viktrwlayer.c:3834
+msgid "From _Directions..."
msgstr ""
-#: ../src/viktrwlayer.c:3446
+#: ../src/viktrwlayer.c:3840
msgid "From _OSM Traces..."
msgstr ""
-#: ../src/viktrwlayer.c:3451
+#: ../src/viktrwlayer.c:3845
msgid "From _My OSM Traces..."
msgstr ""
-#: ../src/viktrwlayer.c:3459 ../src/vikwindow.c:3166
+#: ../src/viktrwlayer.c:3853 ../src/vikwindow.c:3725
msgid "From _Wikipedia Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:3465
+#: ../src/viktrwlayer.c:3859
msgid "Within _Layer Bounds"
msgstr "В рамках слоя"
-#: ../src/viktrwlayer.c:3471
+#: ../src/viktrwlayer.c:3865
msgid "Within _Current View"
msgstr "Внутри текущего вида"
-#: ../src/viktrwlayer.c:3479
+#: ../src/viktrwlayer.c:3873
msgid "From Geo_caching..."
msgstr ""
-#: ../src/viktrwlayer.c:3486 ../src/vikwindow.c:3163
+#: ../src/viktrwlayer.c:3880 ../src/vikwindow.c:3722
msgid "From Geotagged _Images..."
msgstr ""
-#: ../src/viktrwlayer.c:3492
+#: ../src/viktrwlayer.c:3886
msgid "From _File..."
msgstr ""
-#: ../src/viktrwlayer.c:3498 ../src/viktrwlayer.c:6542
+#: ../src/viktrwlayer.c:3894 ../src/viktrwlayer.c:7883
msgid "_Upload"
msgstr ""
-#: ../src/viktrwlayer.c:3504
+#: ../src/viktrwlayer.c:3900
msgid "Upload to _GPS..."
msgstr ""
-#: ../src/viktrwlayer.c:3511 ../src/viktrwlayer.c:6570
+#: ../src/viktrwlayer.c:3907 ../src/viktrwlayer.c:7911
msgid "Upload to _OSM..."
msgstr ""
-#: ../src/viktrwlayer.c:3519
+#: ../src/viktrwlayer.c:3915
msgid "De_lete"
msgstr ""
-#: ../src/viktrwlayer.c:3525
+#: ../src/viktrwlayer.c:3921
msgid "Delete All _Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:3531
+#: ../src/viktrwlayer.c:3927
msgid "Delete Tracks _From Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:3537 ../src/viktrwlayer.c:6290
+#: ../src/viktrwlayer.c:3933 ../src/viktrwlayer.c:7485
msgid "Delete _All Routes"
msgstr ""
-#: ../src/viktrwlayer.c:3543 ../src/viktrwlayer.c:6296
+#: ../src/viktrwlayer.c:3939 ../src/viktrwlayer.c:7491
msgid "_Delete Routes From Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:3549
+#: ../src/viktrwlayer.c:3945
msgid "Delete All _Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:3555
+#: ../src/viktrwlayer.c:3951
msgid "Delete Waypoints From _Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:4128
+#: ../src/viktrwlayer.c:4574
#, c-format
msgid "Are you sure you want to delete all tracks in %s?"
msgstr ""
-#: ../src/viktrwlayer.c:4138
+#: ../src/viktrwlayer.c:4584
#, c-format
msgid "Are you sure you want to delete all routes in %s?"
msgstr ""
-#: ../src/viktrwlayer.c:4148
+#: ../src/viktrwlayer.c:4594
#, c-format
msgid "Are you sure you want to delete all waypoints in %s?"
msgstr ""
-#: ../src/viktrwlayer.c:4165
+#: ../src/viktrwlayer.c:4611
#, c-format
-msgid "Are you sure you want to delete the waypoint \"%s\""
+msgid "Are you sure you want to delete the waypoint \"%s\"?"
msgstr ""
-#: ../src/viktrwlayer.c:4178
+#: ../src/viktrwlayer.c:4624
#, c-format
-msgid "Are you sure you want to delete the track \"%s\""
+msgid "Are you sure you want to delete the track \"%s\"?"
msgstr ""
-#: ../src/viktrwlayer.c:4191
+#: ../src/viktrwlayer.c:4637
#, c-format
-msgid "Are you sure you want to delete the route \"%s\""
+msgid "Are you sure you want to delete the route \"%s\"?"
msgstr ""
-#: ../src/viktrwlayer.c:4351 ../src/viktrwlayer.c:4922
+#: ../src/viktrwlayer.c:4849 ../src/viktrwlayer.c:5677
msgid ""
"Converting a track to a route removes extra track data such as segments, "
"timestamps, etc...\n"
"Do you want to continue?"
msgstr ""
-#: ../src/viktrwlayer.c:4711
+#: ../src/viktrwlayer.c:4944
+msgid "No DEM layers available, thus no DEM values can be applied."
+msgstr ""
+
+#: ../src/viktrwlayer.c:4964 ../src/viktrwlayer.c:5005
+#, c-format
+msgid "%ld point adjusted"
+msgid_plural "%ld points adjusted"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/viktrwlayer.c:5049
+#, c-format
+msgid "%ld waypoint changed"
+msgid_plural "%ld waypoints changed"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/viktrwlayer.c:5233
+#, c-format
+msgid ""
+"Refining a track with many points (%d) is unlikely to yield sensible "
+"results. Do you want to Continue?"
+msgstr ""
+
+#. Select engine from dialog
+#: ../src/viktrwlayer.c:5241
+msgid "Refine Route with Routing Engine..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:5249
+msgid "Select routing engine"
+msgstr ""
+
+#: ../src/viktrwlayer.c:5467
msgid "Failed. No other tracks with timestamps in this layer found"
msgstr ""
-#: ../src/viktrwlayer.c:4713
+#: ../src/viktrwlayer.c:5469
msgid "Failed. No other tracks without timestamps in this layer found"
msgstr ""
-#: ../src/viktrwlayer.c:4732
+#: ../src/viktrwlayer.c:5488
msgid "Merge with..."
msgstr "Объединить с..."
-#: ../src/viktrwlayer.c:4733
+#: ../src/viktrwlayer.c:5489
msgid "Select route to merge with"
msgstr ""
-#: ../src/viktrwlayer.c:4733
+#: ../src/viktrwlayer.c:5489
msgid "Select track to merge with"
msgstr "Выберите маршрут для объединения"
-#: ../src/viktrwlayer.c:4818 ../src/viktrwlayer.c:4895
+#: ../src/viktrwlayer.c:5573 ../src/viktrwlayer.c:5650
msgid "Append Route"
msgstr ""
-#: ../src/viktrwlayer.c:4818 ../src/viktrwlayer.c:4895
+#: ../src/viktrwlayer.c:5573 ../src/viktrwlayer.c:5650
msgid "Append Track"
msgstr ""
-#: ../src/viktrwlayer.c:4819
+#: ../src/viktrwlayer.c:5574
msgid "Select the route to append after the current route"
msgstr ""
-#: ../src/viktrwlayer.c:4820
+#: ../src/viktrwlayer.c:5575
msgid "Select the track to append after the current track"
msgstr ""
-#: ../src/viktrwlayer.c:4896
+#: ../src/viktrwlayer.c:5651
msgid "Select the track to append after the current route"
msgstr ""
-#: ../src/viktrwlayer.c:4897
+#: ../src/viktrwlayer.c:5652
msgid "Select the route to append after the current track"
msgstr ""
-#: ../src/viktrwlayer.c:4957
+#: ../src/viktrwlayer.c:5711
#, c-format
msgid "%d segment merged"
msgid_plural "%d segments merged"
msgstr[0] ""
msgstr[1] ""
-#: ../src/viktrwlayer.c:4973
+#: ../src/viktrwlayer.c:5727
msgid "Failed. This track does not have timestamp"
msgstr "Неудача. У этого маршрута нет отметки времени"
-#: ../src/viktrwlayer.c:4985
+#: ../src/viktrwlayer.c:5739
msgid "Failed. No other track in this layer has timestamp"
msgstr "Неудача. В этом слое больше нет маршрутов с отметками времени"
-#: ../src/viktrwlayer.c:4992
+#: ../src/viktrwlayer.c:5746
msgid "Merge Threshold..."
msgstr "Порог объединения..."
-#: ../src/viktrwlayer.c:4993
+#: ../src/viktrwlayer.c:5747
msgid "Merge when time between tracks less than:"
msgstr "Объединить если время между маршрутами меньше:"
-#: ../src/viktrwlayer.c:5128
+#: ../src/viktrwlayer.c:5889
msgid "Split Threshold..."
msgstr "Порог разделения..."
-#: ../src/viktrwlayer.c:5129
+#: ../src/viktrwlayer.c:5890
msgid "Split when time between trackpoints exceeds:"
msgstr "Разделить, если время между узлами превышает:"
-#: ../src/viktrwlayer.c:5205
+#: ../src/viktrwlayer.c:5907
+#, c-format
+msgid ""
+"Can not split track due to trackpoints not ordered in time - such as at %s.\n"
+"\n"
+"Goto this trackpoint?"
+msgstr ""
+
+#: ../src/viktrwlayer.c:5976
msgid "Split Every Nth Point"
msgstr ""
-#: ../src/viktrwlayer.c:5206
+#: ../src/viktrwlayer.c:5977
msgid "Split on every Nth point:"
msgstr "Разделить в каждой N-ой точке:"
-#: ../src/viktrwlayer.c:5312
+#: ../src/viktrwlayer.c:6087
msgid "Can not split track as it has no segments"
msgstr ""
-#: ../src/viktrwlayer.c:5340 ../src/viktrwlayer.c:5370
+#: ../src/viktrwlayer.c:6169 ../src/viktrwlayer.c:6199
#, c-format
msgid "Deleted %ld point"
msgid_plural "Deleted %ld points"
msgstr[0] ""
msgstr[1] ""
-#: ../src/viktrwlayer.c:5531
+#: ../src/viktrwlayer.c:6392
msgid "Internal Error in vik_trw_layer_uniquify_tracks"
msgstr ""
-#: ../src/viktrwlayer.c:5588 ../src/viktrwlayer.c:5635
-#: ../src/viktrwlayer.c:5814
+#: ../src/viktrwlayer.c:6496 ../src/viktrwlayer.c:6543
+#: ../src/viktrwlayer.c:6704
msgid ""
"Multiple entries with the same name exist. This method only works with "
"unique names. Force unique names now?"
msgstr ""
-#: ../src/viktrwlayer.c:5599
+#: ../src/viktrwlayer.c:6507
msgid "No tracks found"
msgstr ""
-#: ../src/viktrwlayer.c:5607 ../src/viktrwlayer.c:5654
-#: ../src/viktrwlayer.c:5834
+#: ../src/viktrwlayer.c:6515 ../src/viktrwlayer.c:6562
+#: ../src/viktrwlayer.c:6724
msgid "Delete Selection"
msgstr ""
-#: ../src/viktrwlayer.c:5608
+#: ../src/viktrwlayer.c:6516
msgid "Select tracks to delete"
msgstr ""
-#: ../src/viktrwlayer.c:5646
+#: ../src/viktrwlayer.c:6554
msgid "No routes found"
msgstr ""
-#: ../src/viktrwlayer.c:5655
+#: ../src/viktrwlayer.c:6563
msgid "Select routes to delete"
msgstr ""
-#: ../src/viktrwlayer.c:5761
+#: ../src/viktrwlayer.c:6669
msgid "Internal Error in vik_trw_layer_uniquify_waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:5824
+#: ../src/viktrwlayer.c:6714
msgid "No waypoints found"
msgstr ""
-#: ../src/viktrwlayer.c:5835
+#: ../src/viktrwlayer.c:6725
msgid "Select waypoints to delete"
msgstr ""
-#: ../src/viktrwlayer.c:5896
+#: ../src/viktrwlayer.c:7033
#, c-format
msgid ""
"A waypoint with the name \"%s\" already exists. Really rename to the same "
"name?"
msgstr ""
-#: ../src/viktrwlayer.c:5926
+#: ../src/viktrwlayer.c:7063
#, c-format
msgid ""
"A track with the name \"%s\" already exists. Really rename to the same name?"
msgstr ""
-#: ../src/viktrwlayer.c:5963
+#: ../src/viktrwlayer.c:7100
#, c-format
msgid ""
"A route with the name \"%s\" already exists. Really rename to the same name?"
msgstr ""
-#: ../src/viktrwlayer.c:6085 ../src/viktrwlayer.c:6337
+#: ../src/viktrwlayer.c:7221 ../src/viktrwlayer.c:7594
msgid "_Goto"
msgstr "Перейти"
-#: ../src/viktrwlayer.c:6104
+#: ../src/viktrwlayer.c:7240
msgid "_Visit Geocache Webpage"
msgstr "Посетить web-страницу геотайника"
-#: ../src/viktrwlayer.c:6123
+#: ../src/viktrwlayer.c:7259
msgid "_Show Picture..."
msgstr ""
-#: ../src/viktrwlayer.c:6131
+#: ../src/viktrwlayer.c:7267
msgid "Update Geotag on _Image"
msgstr ""
-#: ../src/viktrwlayer.c:6137
+#: ../src/viktrwlayer.c:7273
msgid "_Update"
msgstr ""
-#: ../src/viktrwlayer.c:6142
+#: ../src/viktrwlayer.c:7278
msgid "Update and _Keep File Timestamp"
msgstr ""
-#: ../src/viktrwlayer.c:6153
+#: ../src/viktrwlayer.c:7289
msgid "Visit _Webpage"
msgstr ""
-#: ../src/viktrwlayer.c:6184
+#: ../src/viktrwlayer.c:7320
msgid "_New Waypoint..."
msgstr ""
-#: ../src/viktrwlayer.c:6193
+#: ../src/viktrwlayer.c:7329
msgid "_View All Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:6205
+#: ../src/viktrwlayer.c:7341
msgid "Delete _All Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:6211
+#: ../src/viktrwlayer.c:7347
msgid "_Delete Waypoints From Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:6233
+#: ../src/viktrwlayer.c:7359
+msgid "_Show All Waypoints"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7365
+msgid "_Hide All Waypoints"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7393
msgid "_View All Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:6239
+#: ../src/viktrwlayer.c:7399
msgid "_New Track"
msgstr ""
-#: ../src/viktrwlayer.c:6247
+#: ../src/viktrwlayer.c:7407
msgid "Delete _All Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:6253
+#: ../src/viktrwlayer.c:7413
msgid "_Delete Tracks From Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:6276
+#: ../src/viktrwlayer.c:7425
+msgid "_Show All Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7431
+msgid "_Hide All Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7442
+msgid "_List Tracks..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7471
msgid "_View All Routes"
msgstr ""
-#: ../src/viktrwlayer.c:6282
+#: ../src/viktrwlayer.c:7477
msgid "_New Route"
msgstr ""
-#: ../src/viktrwlayer.c:6327
+#: ../src/viktrwlayer.c:7503
+msgid "_Show All Routes"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7509
+msgid "_Hide All Routes"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7520
+msgid "_List Routes..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7579
msgid "_View Track"
msgstr ""
-#: ../src/viktrwlayer.c:6329
+#: ../src/viktrwlayer.c:7581
msgid "_View Route"
msgstr ""
-#: ../src/viktrwlayer.c:6343
+#: ../src/viktrwlayer.c:7600
msgid "_Startpoint"
msgstr "Начало"
-#: ../src/viktrwlayer.c:6349
+#: ../src/viktrwlayer.c:7606
msgid "\"_Center\""
msgstr "\"Центр\""
-#: ../src/viktrwlayer.c:6355
+#: ../src/viktrwlayer.c:7612
msgid "_Endpoint"
msgstr "Конец"
-#: ../src/viktrwlayer.c:6361
+#: ../src/viktrwlayer.c:7618
msgid "_Highest Altitude"
msgstr "Наибольшая высота"
-#: ../src/viktrwlayer.c:6367
+#: ../src/viktrwlayer.c:7624
msgid "_Lowest Altitude"
msgstr "Наименьшая высота"
-#: ../src/viktrwlayer.c:6375
+#: ../src/viktrwlayer.c:7632
msgid "_Maximum Speed"
msgstr "Максимальная скорость"
-#: ../src/viktrwlayer.c:6384
+#: ../src/viktrwlayer.c:7641
msgid "Co_mbine"
msgstr ""
-#: ../src/viktrwlayer.c:6392
+#: ../src/viktrwlayer.c:7649
msgid "_Merge By Time..."
msgstr ""
-#: ../src/viktrwlayer.c:6397
+#: ../src/viktrwlayer.c:7654
msgid "Merge _Segments"
msgstr ""
-#: ../src/viktrwlayer.c:6403
+#: ../src/viktrwlayer.c:7660
msgid "Merge _With Other Tracks..."
msgstr "Объединить с другими маршрутами..."
-#: ../src/viktrwlayer.c:6409
+#: ../src/viktrwlayer.c:7666
msgid "_Append Track..."
msgstr ""
-#: ../src/viktrwlayer.c:6411
+#: ../src/viktrwlayer.c:7668
msgid "_Append Route..."
msgstr ""
-#: ../src/viktrwlayer.c:6417
+#: ../src/viktrwlayer.c:7674
msgid "Append _Route..."
msgstr ""
-#: ../src/viktrwlayer.c:6419
+#: ../src/viktrwlayer.c:7676
msgid "Append _Track..."
msgstr ""
-#: ../src/viktrwlayer.c:6426
+#: ../src/viktrwlayer.c:7683
msgid "_Split"
msgstr ""
-#: ../src/viktrwlayer.c:6434
+#: ../src/viktrwlayer.c:7691
msgid "_Split By Time..."
msgstr ""
#. ATM always enable this entry - don't want to have to analyse the track before displaying the menu - to keep the menu speedy
-#: ../src/viktrwlayer.c:6440
+#: ../src/viktrwlayer.c:7697
msgid "Split Se_gments"
msgstr ""
-#: ../src/viktrwlayer.c:6446
+#: ../src/viktrwlayer.c:7703
msgid "Split By _Number of Points..."
msgstr ""
-#: ../src/viktrwlayer.c:6451
+#: ../src/viktrwlayer.c:7708
msgid "Split at _Trackpoint"
msgstr ""
-#: ../src/viktrwlayer.c:6460
+#: ../src/viktrwlayer.c:7716
+msgid "_Insert Points"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7722
+msgid "Insert Point _Before Selected Point"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7729
+msgid "Insert Point _After Selected Point"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7738
msgid "Delete Poi_nts"
msgstr ""
-#: ../src/viktrwlayer.c:6466
+#: ../src/viktrwlayer.c:7744
+msgid "Delete _Selected Point"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7752
msgid "Delete Points With The Same _Position"
msgstr ""
-#: ../src/viktrwlayer.c:6471
+#: ../src/viktrwlayer.c:7757
msgid "Delete Points With The Same _Time"
msgstr ""
-#: ../src/viktrwlayer.c:6477
+#: ../src/viktrwlayer.c:7764 ../src/viktrwlayer.c:7964
+msgid "_Transform"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7772 ../src/viktrwlayer.c:7972
+msgid "_Apply DEM Data"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7777 ../src/viktrwlayer.c:7977
+msgid "_Overwrite"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7780 ../src/viktrwlayer.c:7980
+msgid "Overwrite any existing elevation values with DEM values"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7783 ../src/viktrwlayer.c:7983
+msgid "_Keep Existing"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7786 ../src/viktrwlayer.c:7986
+msgid "Keep existing elevation values, only attempt for missing values"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7791
+msgid "_Smooth Missing Elevation Data"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7796
+msgid "_Interpolated"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7799
+msgid ""
+"Interpolate between known elevation values to derive values for the missing "
+"elevations"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7802
+msgid "_Flat"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7805
+msgid "Set unknown elevation values to the last known value"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7809
+msgid "C_onvert to a Route"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7811
+msgid "C_onvert to a Track"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7819
+msgid "_Anonymize Times"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7822
+msgid "Shift timestamps to a relative offset from 1901-01-01"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7827
msgid "_Reverse Track"
msgstr ""
-#: ../src/viktrwlayer.c:6479
+#: ../src/viktrwlayer.c:7829
msgid "_Reverse Route"
msgstr ""
-#: ../src/viktrwlayer.c:6488
+#: ../src/viktrwlayer.c:7836
+msgid "Refine Route..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7846
msgid "Down_load Maps Along Track..."
msgstr "Скачать карты вдоль маршрута..."
-#: ../src/viktrwlayer.c:6490
+#: ../src/viktrwlayer.c:7848
msgid "Down_load Maps Along Route..."
msgstr ""
-#: ../src/viktrwlayer.c:6497
-msgid "_Apply DEM Data"
-msgstr ""
-
-#: ../src/viktrwlayer.c:6504
+#: ../src/viktrwlayer.c:7856
msgid "_Export Track as GPX..."
msgstr ""
-#: ../src/viktrwlayer.c:6506
+#: ../src/viktrwlayer.c:7858
msgid "_Export Route as GPX..."
msgstr ""
-#: ../src/viktrwlayer.c:6513
+#: ../src/viktrwlayer.c:7865
msgid "E_xtend Track End"
msgstr "Продолжить конец маршрута"
-#: ../src/viktrwlayer.c:6515
+#: ../src/viktrwlayer.c:7867
msgid "E_xtend Route End"
msgstr ""
-#: ../src/viktrwlayer.c:6522
-msgid "C_onvert to a Route"
-msgstr ""
-
-#: ../src/viktrwlayer.c:6524
-msgid "C_onvert to a Track"
-msgstr ""
-
-#: ../src/viktrwlayer.c:6532
+#: ../src/viktrwlayer.c:7874
msgid "Extend _Using Route Finder"
msgstr ""
-#: ../src/viktrwlayer.c:6548
+#: ../src/viktrwlayer.c:7889
msgid "_Upload to GPS..."
msgstr ""
-#: ../src/viktrwlayer.c:6559
+#: ../src/viktrwlayer.c:7900
msgid "_View Google Directions"
msgstr ""
-#: ../src/viktrwlayer.c:6579
+#: ../src/viktrwlayer.c:7920
msgid "Use with _Filter"
msgstr ""
-#: ../src/viktrwlayer.c:6612
+#: ../src/viktrwlayer.c:7953
msgid "_Edit Trackpoint"
msgstr ""
-#: ../src/viktrwlayer.c:7524
+#: ../src/viktrwlayer.c:9017
#, c-format
msgid " - Gain %dm:Loss %dm"
msgstr ""
-#: ../src/viktrwlayer.c:7526
+#: ../src/viktrwlayer.c:9019
#, c-format
msgid " - Gain %dft:Loss %dft"
msgstr ""
-#: ../src/viktrwlayer.c:7531
+#: ../src/viktrwlayer.c:9024
#, c-format
msgid " - Bearing %3.1f° - Step %s"
msgstr ""
-#: ../src/viktrwlayer.c:8124
+#: ../src/viktrwlayer.c:9628
#, c-format
msgid "Could not launch %s to open file."
msgstr ""
-#: ../src/viktrwlayer.c:8205
+#: ../src/viktrwlayer.c:9709
#, c-format
msgid "Creating %d Image Thumbnails..."
msgstr "Создание %d картинок миниатюр..."
-#: ../src/viktrwlayer.c:8524
+#: ../src/viktrwlayer.c:10106
msgid "No map layer in use. Create one first"
msgstr "Нет слоя карты. Создайте его сначала"
-#: ../src/viktrwlayer_propwin.c:898 ../src/viktrwlayer_propwin.c:1155
+#: ../src/viktrwlayer.c:10225
+#, c-format
+msgid "%s: Track List"
+msgstr ""
+
+#: ../src/viktrwlayer.c:10227
+#, c-format
+msgid "%s: Route List"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:828 ../src/viktrwlayer_propwin.c:1085
#, c-format
msgid "%.1f kph"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:901 ../src/viktrwlayer_propwin.c:1158
+#: ../src/viktrwlayer_propwin.c:831 ../src/viktrwlayer_propwin.c:1088
+#: ../src/viktrwlayer_analysis.c:290
#, c-format
msgid "%.1f mph"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:904 ../src/viktrwlayer_propwin.c:1161
+#: ../src/viktrwlayer_propwin.c:834 ../src/viktrwlayer_propwin.c:1091
#, c-format
msgid "%.1f knots"
msgstr ""
#. VIK_UNITS_SPEED_METRES_PER_SECOND:
-#: ../src/viktrwlayer_propwin.c:908 ../src/viktrwlayer_propwin.c:1165
+#: ../src/viktrwlayer_propwin.c:838 ../src/viktrwlayer_propwin.c:1095
#, c-format
msgid "%.1f m/s"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:1745
+#: ../src/viktrwlayer_propwin.c:1662 ../src/viktrwlayer_analysis.c:267
#, c-format
msgid "%.1f miles"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:1747
+#. VIK_UNITS_DISTANCE_KILOMETRES
+#: ../src/viktrwlayer_propwin.c:1664 ../src/viktrwlayer_analysis.c:271
#, c-format
msgid "%.1f km"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2681
+#: ../src/viktrwlayer_propwin.c:2582
msgid "Failed spliting track. Track unchanged"
msgstr "Не удалось разделить маршрут. Маршрут не изменен."
-#: ../src/viktrwlayer_propwin.c:2779 ../src/viktrwlayer_propwin.c:3178
+#: ../src/viktrwlayer_propwin.c:2724 ../src/viktrwlayer_propwin.c:3140
#, c-format
msgid "%s - Track Properties"
msgstr "%s - свойства маршрута"
-#: ../src/viktrwlayer_propwin.c:2784
+#: ../src/viktrwlayer_propwin.c:2729
msgid "Split at _Marker"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2785
+#: ../src/viktrwlayer_propwin.c:2730
msgid "Split _Segments"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2786
+#: ../src/viktrwlayer_propwin.c:2731
msgid "_Reverse"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2787
+#: ../src/viktrwlayer_propwin.c:2732
msgid "_Delete Dupl."
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2813
+#: ../src/viktrwlayer_propwin.c:2757
msgid "<b>Comment:</b>"
msgstr "<b>Комментарий:</b>"
-#: ../src/viktrwlayer_propwin.c:2814
+#: ../src/viktrwlayer_propwin.c:2758
msgid "<b>Description:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2815
+#: ../src/viktrwlayer_propwin.c:2759
+msgid "<b>Color:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2760
+msgid "<b>Draw Name:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2761
+msgid "<b>Distance Labels:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2764
msgid "<b>Track Length:</b>"
msgstr "<b>Длина маршрута:</b>"
-#: ../src/viktrwlayer_propwin.c:2816
+#: ../src/viktrwlayer_propwin.c:2765
msgid "<b>Trackpoints:</b>"
msgstr "<b>Узлов:</b>"
-#: ../src/viktrwlayer_propwin.c:2817
+#: ../src/viktrwlayer_propwin.c:2766
msgid "<b>Segments:</b>"
msgstr "<b>Сегментов:</b>"
-#: ../src/viktrwlayer_propwin.c:2818
+#: ../src/viktrwlayer_propwin.c:2767
msgid "<b>Duplicate Points:</b>"
msgstr "<b>Повторяющихся точек:</b>"
-#: ../src/viktrwlayer_propwin.c:2819
+#: ../src/viktrwlayer_propwin.c:2768
msgid "<b>Max Speed:</b>"
msgstr "<b>Максимальная скорость:</b>"
-#: ../src/viktrwlayer_propwin.c:2820
+#: ../src/viktrwlayer_propwin.c:2769
msgid "<b>Avg. Speed:</b>"
msgstr "<b>Средняя скорость:</b>"
-#: ../src/viktrwlayer_propwin.c:2821
+#: ../src/viktrwlayer_propwin.c:2770
msgid "<b>Moving Avg. Speed:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2822
+#: ../src/viktrwlayer_propwin.c:2771
msgid "<b>Avg. Dist. Between TPs:</b>"
msgstr "<b>Ср. расст. между узлами:</b>"
-#: ../src/viktrwlayer_propwin.c:2823
+#: ../src/viktrwlayer_propwin.c:2772
msgid "<b>Elevation Range:</b>"
msgstr "<b>Вертикальный диапазон:</b>"
-#: ../src/viktrwlayer_propwin.c:2824
+#: ../src/viktrwlayer_propwin.c:2773
msgid "<b>Total Elevation Gain/Loss:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2825
+#: ../src/viktrwlayer_propwin.c:2774
msgid "<b>Start:</b>"
msgstr "<b>Начало:</b>"
-#: ../src/viktrwlayer_propwin.c:2826
+#: ../src/viktrwlayer_propwin.c:2775
msgid "<b>End:</b>"
msgstr "<b>Конец:</b>"
-#: ../src/viktrwlayer_propwin.c:2827
+#: ../src/viktrwlayer_propwin.c:2776
msgid "<b>Duration:</b>"
msgstr "<b>Продолжительность:</b>"
-#: ../src/viktrwlayer_propwin.c:2828
-msgid "<b>Color:</b>"
+#: ../src/viktrwlayer_propwin.c:2797
+msgid "No"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2877 ../src/viktrwlayer_propwin.c:2901
-#: ../src/viktrwlayer_propwin.c:2929 ../src/viktrwlayer_propwin.c:2966
-#: ../src/viktrwlayer_propwin.c:2984 ../src/viktrwlayer_propwin.c:3034
-#: ../src/viktrwlayer_propwin.c:3035 ../src/viktrwlayer_propwin.c:3036
-#: ../src/viktrwlayer_propwin.c:3062 ../src/viktrwlayer_propwin.c:3063
+#: ../src/viktrwlayer_propwin.c:2798
+msgid "Centre"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2799
+msgid "Start only"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2800
+msgid "End only"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2801
+msgid "Start and End"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2802
+msgid "Centre, Start and End"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2814
+msgid "Maximum number of distance labels to be shown"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2818
+msgid "Properties"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2856 ../src/viktrwlayer_propwin.c:2880
+#: ../src/viktrwlayer_propwin.c:2908 ../src/viktrwlayer_propwin.c:2945
+#: ../src/viktrwlayer_propwin.c:2963 ../src/viktrwlayer_propwin.c:3009
+#: ../src/viktrwlayer_propwin.c:3010 ../src/viktrwlayer_propwin.c:3011
+#: ../src/viktrwlayer_propwin.c:3020 ../src/viktrwlayer_propwin.c:3021
+#: ../src/viktrwlayer_propwin.c:3036 ../src/viktrwlayer_propwin.c:3037
+#: ../src/viktrwlayer_propwin.c:3050 ../src/viktrwlayer_propwin.c:3051
+#: ../src/viktrwlayer_propwin.c:3064 ../src/viktrwlayer_propwin.c:3065
#: ../src/viktrwlayer_propwin.c:3078 ../src/viktrwlayer_propwin.c:3079
#: ../src/viktrwlayer_propwin.c:3092 ../src/viktrwlayer_propwin.c:3093
-#: ../src/viktrwlayer_propwin.c:3106 ../src/viktrwlayer_propwin.c:3107
-#: ../src/viktrwlayer_propwin.c:3120 ../src/viktrwlayer_propwin.c:3121
-#: ../src/viktrwlayer_propwin.c:3134 ../src/viktrwlayer_propwin.c:3135
+#: ../src/viktrwlayer_analysis.c:257
#, c-format
msgid "No Data"
msgstr "Нет данных"
-#: ../src/viktrwlayer_propwin.c:3031
+#: ../src/viktrwlayer_propwin.c:3006
#, c-format
msgid "%d minutes"
msgstr "%d минут"
-#: ../src/viktrwlayer_propwin.c:3058
+#: ../src/viktrwlayer_propwin.c:3016 ../src/viktrwlayer_analysis.c:515
msgid "Statistics"
msgstr "Статистика"
-#: ../src/viktrwlayer_propwin.c:3064
+#: ../src/viktrwlayer_propwin.c:3022
msgid "Show D_EM"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3065 ../src/viktrwlayer_propwin.c:3080
-#: ../src/viktrwlayer_propwin.c:3094 ../src/viktrwlayer_propwin.c:3136
+#: ../src/viktrwlayer_propwin.c:3023 ../src/viktrwlayer_propwin.c:3038
+#: ../src/viktrwlayer_propwin.c:3052 ../src/viktrwlayer_propwin.c:3094
msgid "Show _GPS Speed"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3067 ../src/viktrwlayer_propwin.c:3082
-#: ../src/viktrwlayer_propwin.c:3110 ../src/viktrwlayer_propwin.c:3138
+#: ../src/viktrwlayer_propwin.c:3025 ../src/viktrwlayer_propwin.c:3040
+#: ../src/viktrwlayer_propwin.c:3068 ../src/viktrwlayer_propwin.c:3096
msgid "<b>Track Distance:</b>"
msgstr "<b>Длина маршрута:</b>"
-#: ../src/viktrwlayer_propwin.c:3068 ../src/viktrwlayer_propwin.c:3125
+#: ../src/viktrwlayer_propwin.c:3026 ../src/viktrwlayer_propwin.c:3083
msgid "<b>Track Height:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3073
+#: ../src/viktrwlayer_propwin.c:3031
msgid "Elevation-distance"
msgstr "Высота-расстояние"
-#: ../src/viktrwlayer_propwin.c:3083
+#: ../src/viktrwlayer_propwin.c:3041
msgid "<b>Track Gradient:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3087
+#: ../src/viktrwlayer_propwin.c:3045
msgid "Gradient-distance"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3096 ../src/viktrwlayer_propwin.c:3111
-#: ../src/viktrwlayer_propwin.c:3124
+#: ../src/viktrwlayer_propwin.c:3054 ../src/viktrwlayer_propwin.c:3069
+#: ../src/viktrwlayer_propwin.c:3082
msgid "<b>Track Time:</b>"
msgstr "<b>Время маршрута:</b>"
-#: ../src/viktrwlayer_propwin.c:3097 ../src/viktrwlayer_propwin.c:3139
+#: ../src/viktrwlayer_propwin.c:3055 ../src/viktrwlayer_propwin.c:3097
msgid "<b>Track Speed:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3101
+#: ../src/viktrwlayer_propwin.c:3059
msgid "Speed-time"
msgstr "Скорость-время"
-#: ../src/viktrwlayer_propwin.c:3108 ../src/viktrwlayer_propwin.c:3122
+#: ../src/viktrwlayer_propwin.c:3066 ../src/viktrwlayer_propwin.c:3080
msgid "Show S_peed"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3115
+#: ../src/viktrwlayer_propwin.c:3073
msgid "Distance-time"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3129
+#: ../src/viktrwlayer_propwin.c:3087
msgid "Elevation-time"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3143
+#: ../src/viktrwlayer_propwin.c:3101
msgid "Speed-distance"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:118
+#: ../src/viktrwlayer_tpwin.c:119
msgid "<b>Part of Track:</b>"
msgstr "<b>Часть маршрута:</b>"
-#: ../src/viktrwlayer_tpwin.c:119
+#: ../src/viktrwlayer_tpwin.c:120
msgid "<b>Latitude:</b>"
msgstr "<b>Широта:</b>"
-#: ../src/viktrwlayer_tpwin.c:120
+#: ../src/viktrwlayer_tpwin.c:121
msgid "<b>Longitude:</b>"
msgstr "<b>Долгота:</b>"
-#: ../src/viktrwlayer_tpwin.c:121
+#: ../src/viktrwlayer_tpwin.c:122
msgid "<b>Altitude:</b>"
msgstr "<b>Высота:</b>"
-#: ../src/viktrwlayer_tpwin.c:122
+#: ../src/viktrwlayer_tpwin.c:123
+msgid "<b>Course:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_tpwin.c:124
msgid "<b>Timestamp:</b>"
msgstr "<b>Отметка времени:</b>"
-#: ../src/viktrwlayer_tpwin.c:123
+#: ../src/viktrwlayer_tpwin.c:125
msgid "<b>Time:</b>"
msgstr "<b>Время:</b>"
-#: ../src/viktrwlayer_tpwin.c:124
+#: ../src/viktrwlayer_tpwin.c:126
msgid "<b>Distance Difference:</b>"
msgstr "<b>Разница расстояния:</b>"
-#: ../src/viktrwlayer_tpwin.c:125
+#: ../src/viktrwlayer_tpwin.c:127
msgid "<b>Time Difference:</b>"
msgstr "<b>Разность времени:</b>"
-#: ../src/viktrwlayer_tpwin.c:126
+#: ../src/viktrwlayer_tpwin.c:128
msgid "<b>\"Speed\" Between:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:127
+#: ../src/viktrwlayer_tpwin.c:129
+msgid "<b>Speed:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_tpwin.c:130
msgid "<b>VDOP:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:128
+#: ../src/viktrwlayer_tpwin.c:131
msgid "<b>HDOP:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:129
+#: ../src/viktrwlayer_tpwin.c:132
msgid "<b>PDOP:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:130
+#: ../src/viktrwlayer_tpwin.c:133
msgid "<b>SAT/FIX:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:139
+#: ../src/viktrwlayer_tpwin.c:141
msgid "Trackpoint"
msgstr "Узел"
-#: ../src/viktrwlayer_tpwin.c:142
+#: ../src/viktrwlayer_tpwin.c:144
msgid "_Insert After"
msgstr "Вставить после"
-#: ../src/viktrwlayer_tpwin.c:144
+#: ../src/viktrwlayer_tpwin.c:146
msgid "Split Here"
msgstr "Разделить здесь"
-#: ../src/viktrwlayer_geotag.c:446
+#.
+#. item = gtk_image_menu_item_new_with_mnemonic ( _("_Select") );
+#. gtk_image_menu_item_set_image ( (GtkImageMenuItem*)item, gtk_image_new_from_stock (GTK_STOCK_FIND, GTK_ICON_SIZE_MENU) );
+#. g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(trw_layer_track_select), values );
+#. gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
+#. gtk_widget_show ( item );
+#.
+#. ATM view auto selects, so don't bother with separate select menu entry
+#: ../src/viktrwlayer_tracklist.c:231 ../src/vikwindow.c:3695
+msgid "_View"
+msgstr "Просмотр"
+
+#. Insert column for the layer name when viewing multi layers
+#: ../src/viktrwlayer_tracklist.c:514
+msgid "Layer"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:526
+msgid "Date"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:529
+msgid "Visible"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:536
+msgid ""
+"Distance\n"
+"(miles)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:539
+msgid ""
+"Distance\n"
+"(km)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:545
+msgid ""
+"Length\n"
+"(minutes)"
+msgstr ""
+
+#. VIK_UNITS_SPEED_KILOMETRES_PER_HOUR:
+#: ../src/viktrwlayer_tracklist.c:549 ../src/vikutils.c:72
+msgid "km/h"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:550 ../src/vikutils.c:62
+msgid "mph"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:551 ../src/vikutils.c:68
+msgid "knots"
+msgstr ""
+
+#. VIK_UNITS_SPEED_METRES_PER_SECOND:
+#: ../src/viktrwlayer_tracklist.c:553 ../src/vikutils.c:65
+msgid "m/s"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:556
+#, c-format
+msgid ""
+"Av. Speed\n"
+"(%s)"
+msgstr ""
+
+#. Apply own formatting of the data
+#: ../src/viktrwlayer_tracklist.c:561
+#, c-format
+msgid ""
+"Max Speed\n"
+"(%s)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:569
+msgid ""
+"Max Height\n"
+"(Feet)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:571
+msgid ""
+"Max Height\n"
+"(Metres)"
+msgstr ""
+
+#: ../src/viktrwlayer_geotag.c:481
#, c-format
msgid "Geotagging %d Images..."
msgstr ""
-#: ../src/viktrwlayer_geotag.c:510
+#: ../src/viktrwlayer_geotag.c:545
msgid "Geotag Images"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:516
+#: ../src/viktrwlayer_geotag.c:551
msgid "Images"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:520
+#: ../src/viktrwlayer_geotag.c:555
msgid "Overwrite Existing Waypoints:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:523
+#: ../src/viktrwlayer_geotag.c:558
msgid "Overwrite Existing GPS Information:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:525
+#: ../src/viktrwlayer_geotag.c:560
msgid "Keep File Modification Timestamp:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:555
+#: ../src/viktrwlayer_geotag.c:592
msgid "Create Waypoints:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:563
+#: ../src/viktrwlayer_geotag.c:600
msgid "Write EXIF:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:575
+#: ../src/viktrwlayer_geotag.c:612
msgid "Interpolate Between Track Segments:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:579
+#: ../src/viktrwlayer_geotag.c:616
msgid "Image Time Offset (Seconds):"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:581
+#: ../src/viktrwlayer_geotag.c:618
msgid ""
"The number of seconds to ADD to the photos time to make it match the GPS "
"data. Calculate this with (GPS - Photo). Can be negative or positive. Useful "
"to adjust times when a camera's timestamp was incorrect."
msgstr ""
-#: ../src/viktrwlayer_geotag.c:584
+#: ../src/viktrwlayer_geotag.c:621
msgid "Image Timezone:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:586
+#: ../src/viktrwlayer_geotag.c:623
msgid ""
"The timezone that was used when the images were created. For example, if a "
"camera is set to AWST or +8:00 hours. Enter +8:00 here so that the correct "
"adjustment to the images' time can be made. GPS data is always in UTC."
msgstr ""
-#: ../src/viktrwlayer_geotag.c:590
+#: ../src/viktrwlayer_geotag.c:627
#, c-format
msgid "Using track: %s"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:592
+#: ../src/viktrwlayer_geotag.c:629
#, c-format
msgid "Using all tracks in: %s"
msgstr ""
-#: ../src/vikstatus.c:105
+#: ../src/viktrwlayer_analysis.c:193
+msgid "Number of Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:194
+msgid "Date Range"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:195
+msgid "Total Length"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:196
+msgid "Average Length"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:197
+msgid "Max Speed"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:198
+msgid "Avg. Speed"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:199
+msgid "Minimum Altitude"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:200
+msgid "Maximum Altitude"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:201
+msgid "Total Elevation Gain/Loss"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:202
+msgid "Avg. Elevation Gain/Loss"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:203
+msgid "Total Duration"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:204
+msgid "Avg. Duration"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:278
+#, c-format
+msgid "%.2f miles"
+msgstr ""
+
+#. VIK_UNITS_DISTANCE_KILOMETRES
+#: ../src/viktrwlayer_analysis.c:282
+#, c-format
+msgid "%.2f km"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:297
+#, c-format
+msgid "%.2f m/s"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:306
+#, c-format
+msgid "%.2f knots\n"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:309
+#, c-format
+msgid "%.2f knots"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:316 ../src/viktrwlayer_analysis.c:319
+#, c-format
+msgid "%.2f km/h"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:330 ../src/viktrwlayer_analysis.c:336
+#, c-format
+msgid "%d feet"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:341 ../src/viktrwlayer_analysis.c:343
+#, c-format
+msgid "%d feet / %d feet"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:348 ../src/viktrwlayer_analysis.c:354
+#, c-format
+msgid "%d m"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:359 ../src/viktrwlayer_analysis.c:361
+#, c-format
+msgid "%d m / %d m"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:373
+#, c-format
+msgid "%d:%02d:%02d days:hrs:mins"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:380
+#, c-format
+msgid "%d:%02d hrs:mins"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:550
+msgid "Include Invisible Items"
+msgstr ""
+
+#: ../src/vikstatus.c:107
+msgid "Current number of background tasks. Click to see the background jobs."
+msgstr ""
+
+#: ../src/vikstatus.c:113
msgid "Current zoom level. Click to select a new one."
msgstr ""
-#: ../src/vikwaypoint.c:34
+#: ../src/vikutils.c:80
+msgid "GPSD"
+msgstr ""
+
+#. GPS Preamble
+#: ../src/vikutils.c:81
+msgid "Trkpt"
+msgstr ""
+
+#: ../src/vikutils.c:121
+#, c-format
+msgid "%sSpeed%s %.1f%s"
+msgstr ""
+
+#: ../src/vikutils.c:130
+#, c-format
+msgid "%sAlt %dfeet"
+msgstr ""
+
+#. VIK_UNITS_HEIGHT_METRES:
+#: ../src/vikutils.c:134
+#, c-format
+msgid "%sAlt %dm"
+msgstr ""
+
+#: ../src/vikutils.c:142
+#, c-format
+msgid "%sCourse %03d°"
+msgstr ""
+
+#: ../src/vikutils.c:155
+msgid "yards"
+msgstr ""
+
+#. VIK_UNITS_DISTANCE_KILOMETRES:
+#: ../src/vikutils.c:159
+msgid "m"
+msgstr ""
+
+#: ../src/vikutils.c:163
+#, c-format
+msgid "%sDistance diff %d%s"
+msgstr ""
+
+#: ../src/vikutils.c:179
+#, c-format
+msgid "%sTime %s"
+msgstr ""
+
+#: ../src/vikutils.c:187
+#, c-format
+msgid "%sTime diff %lds"
+msgstr ""
+
+#: ../src/vikutils.c:193
+#, c-format
+msgid "%sNo. of Sats %d"
+msgstr ""
+
+#: ../src/vikutils.c:213
+#, c-format
+msgid "%sDistance along %.2f%s"
+msgstr ""
+
+#. Name of track
+#: ../src/vikutils.c:232
+#, c-format
+msgid "%sTrack: %s"
+msgstr ""
+
+#: ../src/vikwaypoint.c:36
msgid "Waypoint"
msgstr ""
#. TODO get rid of this as this is unnecessary duplication...
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Pan"
msgstr "Рука"
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Zoom"
msgstr "Масштаб"
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Ruler"
msgstr "Линейка"
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Select"
msgstr ""
+#: ../src/vikwindow.c:381
+msgid "Location lookup aborted"
+msgstr ""
+
+#: ../src/vikwindow.c:401
+#, c-format
+msgid "Location found: %s"
+msgstr ""
+
+#: ../src/vikwindow.c:410
+msgid "Unable to determine location"
+msgstr ""
+
+#: ../src/vikwindow.c:434
+msgid "Default Map"
+msgstr ""
+
+#: ../src/vikwindow.c:444
+msgid "Trying to determine location..."
+msgstr ""
+
+#: ../src/vikwindow.c:447
+msgid "Determining location"
+msgstr ""
+
#. Create tooltip
-#: ../src/vikwindow.c:440
+#: ../src/vikwindow.c:605
msgid "Select zoom level"
msgstr ""
-#: ../src/vikwindow.c:645
+#: ../src/vikwindow.c:923
#, c-format
msgid ""
"Do you want to save the changes you made to the document \"%s\"?\n"
@@ -3207,624 +4049,708 @@ msgstr ""
"\n"
"Если вы не сохраните изменения, они будут потеряны."
-#: ../src/vikwindow.c:649
+#: ../src/vikwindow.c:927
msgid "Don't Save"
msgstr "Не сохранять"
-#: ../src/vikwindow.c:696
+#: ../src/vikwindow.c:1005
msgid "mpp"
msgstr ""
-#: ../src/vikwindow.c:696
+#: ../src/vikwindow.c:1005
msgid "pixelfact"
msgstr ""
-#: ../src/vikwindow.c:861
+#: ../src/vikwindow.c:1169
#, c-format
msgid "%s %s %dm"
msgstr ""
-#: ../src/vikwindow.c:863
+#: ../src/vikwindow.c:1171
#, c-format
msgid "%s %s %dft"
msgstr ""
-#: ../src/vikwindow.c:866
+#: ../src/vikwindow.c:1174
#, c-format
msgid "%s %s"
msgstr "%s %s"
#. NB Ctrl+Shift+R is used for Refresh (deemed more important), so use 'U' instead
-#: ../src/vikwindow.c:1254
+#: ../src/vikwindow.c:1562
msgid "_Ruler"
msgstr "Линейка"
-#: ../src/vikwindow.c:1254
+#: ../src/vikwindow.c:1562
msgid "Ruler Tool"
msgstr "Инструмент линейка"
-#: ../src/vikwindow.c:1502 ../src/vikwindow.c:3138
+#: ../src/vikwindow.c:1810 ../src/vikwindow.c:3697
msgid "_Zoom"
msgstr "Масштаб"
-#: ../src/vikwindow.c:1502
+#: ../src/vikwindow.c:1810
msgid "Zoom Tool"
msgstr "Инструмент масштабирования"
-#: ../src/vikwindow.c:1547 ../src/vikwindow.c:3139
+#: ../src/vikwindow.c:1855 ../src/vikwindow.c:3698
msgid "_Pan"
msgstr "Рука"
-#: ../src/vikwindow.c:1547
+#: ../src/vikwindow.c:1855
msgid "Pan Tool"
msgstr "Инструмент рука"
-#: ../src/vikwindow.c:1664
+#: ../src/vikwindow.c:1972
msgid "_Select"
msgstr ""
-#: ../src/vikwindow.c:1664
+#: ../src/vikwindow.c:1972
msgid "Select Tool"
msgstr ""
-#: ../src/vikwindow.c:1809
+#: ../src/vikwindow.c:2123
msgid "You must select a layer to show its properties."
msgstr "Для просмотра свойств нужно выбрать слой."
#. No error to show, so unlikely this will get called
-#: ../src/vikwindow.c:1824
+#: ../src/vikwindow.c:2137
msgid "The help system is not available."
msgstr ""
#. Main error path
-#: ../src/vikwindow.c:1827
+#: ../src/vikwindow.c:2140
#, c-format
msgid ""
"Help is not available because: %s.\n"
"Ensure a Mime Type ghelp handler program is installed (e.g. yelp)."
msgstr ""
-#: ../src/vikwindow.c:1850
+#: ../src/vikwindow.c:2160
msgid "You must select a layer to delete."
msgstr "Для удаления нужно выбрать слой."
-#: ../src/vikwindow.c:2087
+#: ../src/vikwindow.c:2396
msgid "Untitled"
msgstr "Безымянный"
-#: ../src/vikwindow.c:2194
+#: ../src/vikwindow.c:2503
#, c-format
msgid "Unable to add '%s' to the list of recently used documents"
msgstr "Не удалось добавить '%s' к списку недавно использованных документов"
-#: ../src/vikwindow.c:2208
+#: ../src/vikwindow.c:2540
msgid "The file you requested could not be opened."
msgstr "Выбранный файл невозможно открыть."
-#: ../src/vikwindow.c:2211
+#: ../src/vikwindow.c:2543
msgid ""
"GPSBabel is required to load files of this type or GPSBabel encountered "
"problems."
msgstr ""
-#: ../src/vikwindow.c:2214
+#: ../src/vikwindow.c:2546
#, c-format
msgid "Unable to load malformed GPX file %s"
msgstr ""
-#: ../src/vikwindow.c:2217
+#: ../src/vikwindow.c:2549
#, c-format
msgid "Unsupported file type for %s"
msgstr ""
#. Since we can process .vik files with issues just show a warning in the status bar
#. Not that a user can do much about it... or tells them what this issue is yet...
-#: ../src/vikwindow.c:2223
+#: ../src/vikwindow.c:2555
#, c-format
msgid "WARNING: issues encountered loading %s"
msgstr ""
-#: ../src/vikwindow.c:2278
+#: ../src/vikwindow.c:2613
msgid "Please select a GPS data file to open. "
msgstr "Пожалуйста, выберите файл с данными GPS. "
-#: ../src/vikwindow.c:2288
+#: ../src/vikwindow.c:2629
msgid "Geocaching"
msgstr ""
-#: ../src/vikwindow.c:2294
+#: ../src/vikwindow.c:2635
msgid "Google Earth"
msgstr ""
-#: ../src/vikwindow.c:2299
+#: ../src/vikwindow.c:2640
msgid "GPX"
msgstr ""
-#: ../src/vikwindow.c:2304 ../src/vikwindow.c:2387
+#: ../src/vikwindow.c:2645 ../src/vikwindow.c:2734
#: ../src/viking.desktop.in.h:1
msgid "Viking"
msgstr "Викинг"
-#: ../src/vikwindow.c:2374
+#: ../src/vikwindow.c:2715
msgid "Save as Viking File."
msgstr "Сохранить файл Viking."
+#: ../src/vikwindow.c:2841
+msgid "Exporting to file: "
+msgstr ""
+
+#. Confirm what happened.
+#: ../src/vikwindow.c:2858
+#, c-format
+msgid "Exported files: %d"
+msgstr ""
+
+#: ../src/vikwindow.c:2870
+msgid "Nothing to Export!"
+msgstr ""
+
+#: ../src/vikwindow.c:2874
+msgid "Export to directory"
+msgstr ""
+
+#: ../src/vikwindow.c:2896
+msgid "Could not convert all files"
+msgstr ""
+
+#: ../src/vikwindow.c:2932
+#, c-format
+msgid "%d bytes"
+msgstr ""
+
+#: ../src/vikwindow.c:2934
+#, c-format
+msgid "%3.1f kB"
+msgstr ""
+
+#: ../src/vikwindow.c:2936
+#, c-format
+msgid "%3.1f MB"
+msgstr ""
+
+#: ../src/vikwindow.c:2937
+#, c-format
+msgid ""
+"%s\n"
+"\n"
+"%s\n"
+"\n"
+"%s"
+msgstr ""
+
+#: ../src/vikwindow.c:2942
+msgid "File not accessible"
+msgstr ""
+
+#: ../src/vikwindow.c:2945
+msgid "No Viking File"
+msgstr ""
+
+#: ../src/vikwindow.c:3035
+msgid "This layer has no configurable properties."
+msgstr ""
+
#. Try harder...
-#: ../src/vikwindow.c:2619 ../src/vikwindow.c:2625
+#: ../src/vikwindow.c:3169 ../src/vikwindow.c:3175
msgid "Generating image file..."
msgstr ""
-#: ../src/vikwindow.c:2647
+#: ../src/vikwindow.c:3197
msgid ""
"Failed to generate internal image.\n"
"\n"
"Try creating a smaller image."
msgstr ""
-#: ../src/vikwindow.c:2655
+#: ../src/vikwindow.c:3205
msgid "Failed to generate image file."
msgstr ""
#. Success
-#: ../src/vikwindow.c:2660
+#: ../src/vikwindow.c:3210
msgid "Image file generated."
msgstr ""
-#: ../src/vikwindow.c:2764
+#: ../src/vikwindow.c:3314
msgid ""
"Viewable region outside allowable pixel size bounds for image. Clipping "
"width/height values."
msgstr ""
-#: ../src/vikwindow.c:2789
+#: ../src/vikwindow.c:3339
#, c-format
msgid "Total area: %ldm x %ldm (%.3f sq. km)"
msgstr "Общая площадь: %ldм x %ldм (%.3f кв. км)"
-#: ../src/vikwindow.c:2792
+#: ../src/vikwindow.c:3342
#, c-format
msgid "Total area: %ldm x %ldm (%.3f sq. miles)"
msgstr "Общая площадь: %ldм x %ldм (%.3f кв. миль)"
-#: ../src/vikwindow.c:2813
+#: ../src/vikwindow.c:3363
msgid "Save Image"
msgstr "Сохранить изображение"
-#: ../src/vikwindow.c:2834
+#: ../src/vikwindow.c:3393
msgid "PNG"
msgstr ""
-#: ../src/vikwindow.c:2857
+#: ../src/vikwindow.c:3416
msgid "You must be in UTM mode to use this feature"
msgstr "Нужно перейти в режим UTM для использования этой возможности"
-#: ../src/vikwindow.c:2862
+#: ../src/vikwindow.c:3421
msgid "Choose a directory to hold images"
msgstr "Выберите каталог для изображений"
#. todo: default for answers inside VikWindow or static (thruout instance)
-#: ../src/vikwindow.c:2883
+#: ../src/vikwindow.c:3442
msgid "Save to Image File"
msgstr "Сохранить как изображение"
-#: ../src/vikwindow.c:2900
+#: ../src/vikwindow.c:3459
msgid "Width (pixels):"
msgstr "Ширина (в пикселах)"
-#: ../src/vikwindow.c:2902
+#: ../src/vikwindow.c:3461
msgid "Height (pixels):"
msgstr "Высота (в пикселах)"
-#: ../src/vikwindow.c:2905
+#: ../src/vikwindow.c:3464
msgid ""
"WARNING: USING LARGE IMAGES OVER 10000x10000\n"
"MAY CRASH THE PROGRAM!"
msgstr ""
-#: ../src/vikwindow.c:2907
+#: ../src/vikwindow.c:3466
msgid "Zoom (meters per pixel):"
msgstr "Масштаб (метров на пиксел):"
-#: ../src/vikwindow.c:2921
+#: ../src/vikwindow.c:3482
msgid "Area in current viewable window"
msgstr "Область в текущем видимом окне"
-#: ../src/vikwindow.c:2931
+#: ../src/vikwindow.c:3492
msgid "Save as PNG"
msgstr "Сохранить в PNG"
-#: ../src/vikwindow.c:2932
+#: ../src/vikwindow.c:3493
msgid "Save as JPEG"
msgstr "Сохранить в JPEG"
-#: ../src/vikwindow.c:2954
+#: ../src/vikwindow.c:3515
msgid "East-west image tiles:"
msgstr ""
-#: ../src/vikwindow.c:2956
+#: ../src/vikwindow.c:3517
msgid "North-south image tiles:"
msgstr ""
-#: ../src/vikwindow.c:3097
+#: ../src/vikwindow.c:3656
msgid "Choose a background color"
msgstr "Выберите цвет фона"
-#: ../src/vikwindow.c:3113
+#: ../src/vikwindow.c:3672
msgid "Choose a track highlight color"
msgstr ""
-#: ../src/vikwindow.c:3134
+#: ../src/vikwindow.c:3693
msgid "_File"
msgstr "Файл"
-#: ../src/vikwindow.c:3135
+#: ../src/vikwindow.c:3694
msgid "_Edit"
msgstr "Правка"
-#: ../src/vikwindow.c:3136
-msgid "_View"
-msgstr "Просмотр"
-
-#: ../src/vikwindow.c:3137
+#: ../src/vikwindow.c:3696
msgid "_Show"
msgstr "Показать"
-#: ../src/vikwindow.c:3140
+#: ../src/vikwindow.c:3699
msgid "_Layers"
msgstr "Слои"
-#: ../src/vikwindow.c:3141
+#: ../src/vikwindow.c:3700
msgid "_Tools"
msgstr "Инструменты"
-#: ../src/vikwindow.c:3142
+#: ../src/vikwindow.c:3701
msgid "_Webtools"
msgstr ""
-#: ../src/vikwindow.c:3143 ../src/vikwindow.c:3206
+#: ../src/vikwindow.c:3702 ../src/vikwindow.c:3763
msgid "_Help"
msgstr "Помощь"
-#: ../src/vikwindow.c:3145
+#: ../src/vikwindow.c:3704
msgid "New file"
msgstr "Новый файл"
-#: ../src/vikwindow.c:3146
+#: ../src/vikwindow.c:3705
msgid "_Open..."
msgstr "Открыть..."
-#: ../src/vikwindow.c:3146
+#: ../src/vikwindow.c:3705
msgid "Open a file"
msgstr "Открыть файл"
-#: ../src/vikwindow.c:3147
+#: ../src/vikwindow.c:3706
msgid "Open _Recent File"
msgstr "Открыть недавний файл"
-#: ../src/vikwindow.c:3148
+#: ../src/vikwindow.c:3707
msgid "Append _File..."
msgstr "Добавить файл"
-#: ../src/vikwindow.c:3148
+#: ../src/vikwindow.c:3707
msgid "Append data from a different file"
msgstr "Добавить данные из другого файла"
-#: ../src/vikwindow.c:3149
+#: ../src/vikwindow.c:3708
+msgid "_Export All"
+msgstr ""
+
+#: ../src/vikwindow.c:3708
+msgid "Export All TrackWaypoint Layers"
+msgstr ""
+
+#: ../src/vikwindow.c:3709
+msgid "_GPX..."
+msgstr ""
+
+#: ../src/vikwindow.c:3709
+msgid "Export as GPX"
+msgstr ""
+
+#: ../src/vikwindow.c:3710
msgid "A_cquire"
msgstr "Получить"
-#: ../src/vikwindow.c:3150
+#: ../src/vikwindow.c:3711
msgid "Transfer data from a GPS device"
msgstr "Передать данные из устройства GPS"
-#: ../src/vikwindow.c:3151
+#: ../src/vikwindow.c:3712
msgid "Import File With GPS_Babel..."
msgstr ""
-#: ../src/vikwindow.c:3151
+#: ../src/vikwindow.c:3712
msgid "Import file via GPSBabel converter"
msgstr ""
-#: ../src/vikwindow.c:3153
-msgid "Google _Directions..."
-msgstr "Проводник Google..."
+#: ../src/vikwindow.c:3713
+msgid "_Directions..."
+msgstr ""
-#: ../src/vikwindow.c:3153
-msgid "Get driving directions from Google"
-msgstr "Получить карту проезда от Google"
+#: ../src/vikwindow.c:3713
+msgid "Get driving directions"
+msgstr ""
-#: ../src/vikwindow.c:3156
+#: ../src/vikwindow.c:3715
msgid "_OSM Traces..."
msgstr ""
-#: ../src/vikwindow.c:3156
+#: ../src/vikwindow.c:3715
msgid "Get traces from OpenStreetMap"
msgstr ""
-#: ../src/vikwindow.c:3157
+#: ../src/vikwindow.c:3716
msgid "_My OSM Traces..."
msgstr ""
-#: ../src/vikwindow.c:3157
+#: ../src/vikwindow.c:3716
msgid "Get Your Own Traces from OpenStreetMap"
msgstr ""
-#: ../src/vikwindow.c:3160
+#: ../src/vikwindow.c:3719
msgid "Geo_caches..."
msgstr "Геотайники..."
-#: ../src/vikwindow.c:3160
+#: ../src/vikwindow.c:3719
msgid "Get Geocaches from geocaching.com"
msgstr "Получить тайники с geocaching.com"
-#: ../src/vikwindow.c:3163
+#: ../src/vikwindow.c:3722
msgid "Create waypoints from geotagged images"
msgstr ""
-#: ../src/vikwindow.c:3166
+#: ../src/vikwindow.c:3725
msgid "Create waypoints from Wikipedia items in the current view"
msgstr ""
-#: ../src/vikwindow.c:3168
+#: ../src/vikwindow.c:3727
msgid "_Save"
msgstr "Сохранить"
-#: ../src/vikwindow.c:3168
+#: ../src/vikwindow.c:3727
msgid "Save the file"
msgstr "Сохранить файл"
-#: ../src/vikwindow.c:3169
+#: ../src/vikwindow.c:3728
msgid "Save _As..."
msgstr "Сохранить как..."
-#: ../src/vikwindow.c:3169
+#: ../src/vikwindow.c:3728
msgid "Save the file under different name"
msgstr "Сохранить файл под другим именем"
-#: ../src/vikwindow.c:3170
+#: ../src/vikwindow.c:3729
+msgid "Properties..."
+msgstr ""
+
+#: ../src/vikwindow.c:3729
+msgid "File Properties"
+msgstr ""
+
+#: ../src/vikwindow.c:3730
msgid "_Generate Image File..."
msgstr "Создать файл изображения..."
-#: ../src/vikwindow.c:3170
+#: ../src/vikwindow.c:3730
msgid "Save a snapshot of the workspace into a file"
msgstr "Сохранить снимок рабочей области в файл"
-#: ../src/vikwindow.c:3171
+#: ../src/vikwindow.c:3731
msgid "Generate _Directory of Images..."
msgstr "Создать каталог с картинками..."
-#: ../src/vikwindow.c:3171
+#: ../src/vikwindow.c:3731
msgid "FIXME:IMGDIR"
msgstr ""
-#: ../src/vikwindow.c:3174
+#: ../src/vikwindow.c:3732
msgid "_Print..."
msgstr "Печать"
-#: ../src/vikwindow.c:3174
+#: ../src/vikwindow.c:3732
msgid "Print maps"
msgstr "Печать карт"
-#: ../src/vikwindow.c:3177
+#: ../src/vikwindow.c:3733
msgid "E_xit"
msgstr "Выйти"
-#: ../src/vikwindow.c:3177
+#: ../src/vikwindow.c:3733
msgid "Exit the program"
msgstr "Выйти из программы"
-#: ../src/vikwindow.c:3178
+#: ../src/vikwindow.c:3734
msgid "Save and Exit"
msgstr "Сохранить и выйти"
-#: ../src/vikwindow.c:3178
+#: ../src/vikwindow.c:3734
msgid "Save and Exit the program"
msgstr "Сохранить и выйти из программы"
-#: ../src/vikwindow.c:3180
+#: ../src/vikwindow.c:3736
msgid "Go to the _Default Location"
msgstr "Перейти к исходному пункту"
-#: ../src/vikwindow.c:3180
+#: ../src/vikwindow.c:3736
msgid "Go to the default location"
msgstr "Перейти к исходному пункту"
-#: ../src/vikwindow.c:3181
+#: ../src/vikwindow.c:3737
msgid "Go to _Location..."
msgstr "Перейти к Расположению..."
-#: ../src/vikwindow.c:3181
+#: ../src/vikwindow.c:3737
msgid "Go to address/place using text search"
msgstr "Перейти к адресу/месту, используя поиск"
-#: ../src/vikwindow.c:3182
+#: ../src/vikwindow.c:3738
msgid "_Go to Lat/Lon..."
msgstr "_Перейти к широте/долготе..."
-#: ../src/vikwindow.c:3182
+#: ../src/vikwindow.c:3738
msgid "Go to arbitrary lat/lon coordinate"
msgstr "Перейти к заданной координате ш.,д."
-#: ../src/vikwindow.c:3183
+#: ../src/vikwindow.c:3739
msgid "Go to UTM..."
msgstr "Перейти к UTM..."
-#: ../src/vikwindow.c:3183
+#: ../src/vikwindow.c:3739
msgid "Go to arbitrary UTM coordinate"
msgstr "Перейти к заданной координате UTM"
-#: ../src/vikwindow.c:3184
+#: ../src/vikwindow.c:3740
msgid "_Refresh"
msgstr ""
-#: ../src/vikwindow.c:3184
+#: ../src/vikwindow.c:3740
msgid "Refresh any maps displayed"
msgstr ""
-#: ../src/vikwindow.c:3185
+#: ../src/vikwindow.c:3741
msgid "Set _Highlight Color..."
msgstr ""
-#: ../src/vikwindow.c:3186
+#: ../src/vikwindow.c:3742
msgid "Set Bac_kground Color..."
msgstr "Выбрать цвет фона..."
-#: ../src/vikwindow.c:3187
+#: ../src/vikwindow.c:3743
msgid "Zoom _In"
msgstr "Приблизить"
-#: ../src/vikwindow.c:3188
+#: ../src/vikwindow.c:3744
msgid "Zoom _Out"
msgstr "Отдалить"
-#: ../src/vikwindow.c:3189
+#: ../src/vikwindow.c:3745
msgid "Zoom _To..."
msgstr "Масштабировать _к..."
-#: ../src/vikwindow.c:3190
+#: ../src/vikwindow.c:3746
msgid "Pan _North"
msgstr "Сдвинуть к северу"
-#: ../src/vikwindow.c:3191
+#: ../src/vikwindow.c:3747
msgid "Pan _East"
msgstr "Сдвинуть к востоку"
-#: ../src/vikwindow.c:3192
+#: ../src/vikwindow.c:3748
msgid "Pan _South"
msgstr "Сдвинуть к югу"
-#: ../src/vikwindow.c:3193
+#: ../src/vikwindow.c:3749
msgid "Pan _West"
msgstr "Сдвинуть к западу"
-#: ../src/vikwindow.c:3194
+#: ../src/vikwindow.c:3750
msgid "Background _Jobs"
msgstr "Фоновые задачи"
-#: ../src/vikwindow.c:3196
+#: ../src/vikwindow.c:3752
msgid "Cu_t"
msgstr "Вырезать"
-#: ../src/vikwindow.c:3197
-msgid "_Copy"
-msgstr "Копировать"
-
-#: ../src/vikwindow.c:3198
-msgid "_Paste"
-msgstr "Вставить"
-
-#: ../src/vikwindow.c:3199
-msgid "_Delete"
-msgstr "Удалить"
-
-#: ../src/vikwindow.c:3200
+#: ../src/vikwindow.c:3756
msgid "Delete All"
msgstr "Удалить все"
-#: ../src/vikwindow.c:3201
+#: ../src/vikwindow.c:3757
msgid "_Flush Map Cache"
msgstr "Опустошить кэш карт"
-#: ../src/vikwindow.c:3202
+#: ../src/vikwindow.c:3758
msgid "_Set the Default Location"
msgstr "Задать расположение по умолчанию"
-#: ../src/vikwindow.c:3202
+#: ../src/vikwindow.c:3758
msgid "Set the Default Location to the current position"
msgstr "Сохранить текущее расположение, как расположение по умолчанию"
-#: ../src/vikwindow.c:3203
+#: ../src/vikwindow.c:3759
msgid "_Preferences"
msgstr "Предпочтения"
-#: ../src/vikwindow.c:3204
+#: ../src/vikwindow.c:3760
+msgid "_Layer Defaults"
+msgstr ""
+
+#: ../src/vikwindow.c:3761
msgid "_Properties"
msgstr "Свойства"
-#: ../src/vikwindow.c:3207
+#: ../src/vikwindow.c:3764
msgid "_About"
msgstr "О программе"
-#: ../src/vikwindow.c:3213
+#: ../src/vikwindow.c:3768
+msgid "_KML..."
+msgstr ""
+
+#: ../src/vikwindow.c:3768
+msgid "Export as KML"
+msgstr ""
+
+#: ../src/vikwindow.c:3774
msgid "_UTM Mode"
msgstr "Режим _UTM"
-#: ../src/vikwindow.c:3214
+#: ../src/vikwindow.c:3775
msgid "_Expedia Mode"
msgstr "Режим _Expedia"
-#: ../src/vikwindow.c:3215
+#: ../src/vikwindow.c:3776
msgid "_Mercator Mode"
msgstr "Режим _Mercator"
-#: ../src/vikwindow.c:3216
+#: ../src/vikwindow.c:3777
msgid "Lat_/Lon Mode"
msgstr "Режим широта/долгота"
-#: ../src/vikwindow.c:3220
+#: ../src/vikwindow.c:3781
msgid "Show _Scale"
msgstr "Показать масштаб"
-#: ../src/vikwindow.c:3220
+#: ../src/vikwindow.c:3781
msgid "Show Scale"
msgstr "Паказать масштаб"
-#: ../src/vikwindow.c:3221
+#: ../src/vikwindow.c:3782
msgid "Show _Center Mark"
msgstr "Показать отметку центра"
-#: ../src/vikwindow.c:3221
+#: ../src/vikwindow.c:3782
msgid "Show Center Mark"
msgstr "Показать отметку центра"
-#: ../src/vikwindow.c:3222
+#: ../src/vikwindow.c:3783
msgid "Show _Highlight"
msgstr ""
-#: ../src/vikwindow.c:3222
+#: ../src/vikwindow.c:3783
msgid "Show Highlight"
msgstr ""
-#: ../src/vikwindow.c:3223
+#: ../src/vikwindow.c:3784
msgid "_Full Screen"
msgstr "На весь экран"
-#: ../src/vikwindow.c:3223
+#: ../src/vikwindow.c:3784
msgid "Activate full screen mode"
msgstr "Включить полноэкранный режим"
-#: ../src/vikwindow.c:3224
+#: ../src/vikwindow.c:3785
msgid "Show Side _Panel"
msgstr "Показать боковую панель"
-#: ../src/vikwindow.c:3224
+#: ../src/vikwindow.c:3785
msgid "Show Side Panel"
msgstr "Показать боковую панель"
-#: ../src/vikwindow.c:3225
+#: ../src/vikwindow.c:3786
msgid "Show Status_bar"
msgstr "Показать строку состояния"
-#: ../src/vikwindow.c:3225
+#: ../src/vikwindow.c:3786
msgid "Show Statusbar"
msgstr "Показать строку состояния"
-#: ../src/vikwindow.c:3226
+#: ../src/vikwindow.c:3787
msgid "Show _Toolbar"
msgstr "Показать панель инструментов"
-#: ../src/vikwindow.c:3226
+#: ../src/vikwindow.c:3787
msgid "Show Toolbar"
msgstr "Показать панель инструментов"
-#: ../src/vikwindow.c:3227
+#: ../src/vikwindow.c:3788
msgid "Show _Menu"
msgstr "Показать меню"
-#: ../src/vikwindow.c:3227
+#: ../src/vikwindow.c:3788
msgid "Show Menu"
msgstr "Показать меню"
+#: ../src/vikwindow.c:3862
+#, c-format
+msgid "New _%s Layer"
+msgstr ""
+
#: ../src/viking.desktop.in.h:2
msgid "GPS Data Manager"
msgstr "Менеджер данных GPS"
diff --git a/po/sk.po b/po/sk.po
new file mode 100644
index 0000000..e5e284f
--- /dev/null
+++ b/po/sk.po
@@ -0,0 +1,4715 @@
+# Slovak translation for viking
+# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
+# This file is distributed under the same license as the viking package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: viking\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2013-09-03 21:58+0200\n"
+"PO-Revision-Date: 2013-05-22 21:27+0000\n"
+"Last-Translator: Ján Neščivera <jan.nescivera@gmail.com>\n"
+"Language-Team: Slovak <sk@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n==1) ? 1 : (n>=2 && n<=4) ? 2 : 0;\n"
+"X-Launchpad-Export-Date: 2013-10-12 09:04+0000\n"
+"X-Generator: Launchpad (build 16799)\n"
+
+#: ../src/acquire.c:103 ../src/vikgpslayer.c:1235
+msgid "Done."
+msgstr "Hotovo."
+
+#: ../src/acquire.c:112
+msgid "No data."
+msgstr "Žiadne dáta"
+
+#: ../src/acquire.c:154 ../src/acquire.c:424
+msgid "Error: acquisition failed."
+msgstr "Chyba: získavavanie zlyhalo"
+
+#: ../src/acquire.c:352
+msgid "Working..."
+msgstr ""
+
+#. This shouldn't happen...
+#: ../src/acquire.c:415
+msgid ""
+"Unable to create command\n"
+"Acquire method failed."
+msgstr ""
+
+#: ../src/acquire.c:517
+msgid "_Filter"
+msgstr ""
+
+#: ../src/acquire.c:532
+#, c-format
+msgid "Filter with %s"
+msgstr ""
+
+#: ../src/acquire.c:549
+msgid "Filter"
+msgstr "Filter"
+
+#: ../src/background.c:53
+#, c-format
+msgid "%d items"
+msgstr "%d položiek"
+
+#: ../src/background.c:254
+msgid "Job"
+msgstr "Úloha"
+
+#: ../src/background.c:258
+msgid "Progress"
+msgstr "Priebeh"
+
+#: ../src/background.c:274
+msgid "Viking Background Jobs"
+msgstr ""
+
+#: ../src/bing.c:47
+msgid "Bing"
+msgstr ""
+
+#. VIK_GTK_WINDOW_FROM_WIDGET(vp)
+#: ../src/bingmapsource.c:499
+msgid "Bing attribution Loading"
+msgstr ""
+
+#: ../src/clipboard.c:95
+msgid "paste failed"
+msgstr "vloženie zlyhalo"
+
+#: ../src/clipboard.c:105
+msgid "wrong clipboard data size"
+msgstr ""
+
+#: ../src/clipboard.c:124
+#, c-format
+msgid ""
+"The clipboard contains sublayer data for %s layers. You must select a layer "
+"of this type to paste the clipboard data."
+msgstr ""
+
+#: ../src/clipboard.c:236
+msgid ""
+"In order to paste a waypoint, please select an appropriate layer to paste "
+"into."
+msgstr ""
+
+#: ../src/dialog.c:53
+msgid "Go to Lat/Lon"
+msgstr "Choď na Zemepisnú šírku/dĺžku"
+
+#: ../src/dialog.c:65 ../src/dialog.c:244
+msgid "Latitude:"
+msgstr "Zemepisná šírka:"
+
+#: ../src/dialog.c:71 ../src/dialog.c:249
+msgid "Longitude:"
+msgstr "Zemepisná dĺžka:"
+
+#: ../src/dialog.c:103
+msgid "Go to UTM"
+msgstr ""
+
+#: ../src/dialog.c:116
+msgid "Northing:"
+msgstr ""
+
+#: ../src/dialog.c:122
+msgid "Easting:"
+msgstr ""
+
+#: ../src/dialog.c:129
+msgid "Zone:"
+msgstr "Pásmo:"
+
+#: ../src/dialog.c:132
+msgid "Letter:"
+msgstr ""
+
+#: ../src/dialog.c:199
+msgid "Waypoint Properties"
+msgstr "Vlastnosti bodu trasy"
+
+#: ../src/dialog.c:235
+msgid "Name:"
+msgstr "Názov:"
+
+#: ../src/dialog.c:254
+msgid "Altitude:"
+msgstr "Nadmorská výška:"
+
+#: ../src/dialog.c:259
+msgid "Comment:"
+msgstr "Komentár:"
+
+#: ../src/dialog.c:267 ../src/osm-traces.c:445
+msgid "Description:"
+msgstr "Popis"
+
+#: ../src/dialog.c:270
+msgid "Image:"
+msgstr "Obrázok:"
+
+#: ../src/dialog.c:275
+msgid "Symbol:"
+msgstr "Symbol:"
+
+#: ../src/dialog.c:284
+msgid "(none)"
+msgstr ""
+
+#: ../src/dialog.c:326
+msgid "Time:"
+msgstr ""
+
+#. TODO: other checks (isalpha or whatever )
+#: ../src/dialog.c:363
+msgid "Please enter a name for the waypoint."
+msgstr "Vložte prosím meno bodu trasy"
+
+#: ../src/dialog.c:502 ../src/geonamessearch.c:244
+#: ../src/datasource_osm_my_traces.c:507
+msgid "Nothing was selected"
+msgstr "Nič nebolo vybraté"
+
+#: ../src/dialog.c:510
+msgid "Add Route"
+msgstr "Pridať trasu"
+
+#: ../src/dialog.c:510
+msgid "Add Track"
+msgstr "Pridať stopu"
+
+#: ../src/dialog.c:518
+msgid "Route Name:"
+msgstr "Meno Trasy"
+
+#: ../src/dialog.c:518
+msgid "Track Name:"
+msgstr "Meno Stopy"
+
+#: ../src/dialog.c:538
+msgid "Please enter a name for the track."
+msgstr ""
+
+#: ../src/dialog.c:596
+msgid "Zoom Factors..."
+msgstr ""
+
+#: ../src/dialog.c:610
+msgid "Zoom factor (in meters per pixel):"
+msgstr ""
+
+#: ../src/dialog.c:611
+msgid "X (easting): "
+msgstr ""
+
+#: ../src/dialog.c:612
+msgid "Y (northing): "
+msgstr ""
+
+#: ../src/dialog.c:617
+msgid "X and Y zoom factors must be equal"
+msgstr ""
+
+#: ../src/dialog.c:672
+msgid "1 min"
+msgstr "1 min"
+
+#: ../src/dialog.c:673
+msgid "1 hour"
+msgstr "1 hodina"
+
+#: ../src/dialog.c:674
+msgid "1 day"
+msgstr "1 deň"
+
+#: ../src/dialog.c:675
+msgid "Custom (in minutes):"
+msgstr ""
+
+#: ../src/dialog.c:786
+msgid "GPS Data and Topo Analyzer, Explorer, and Manager."
+msgstr ""
+
+#: ../src/dialog.c:787
+msgid ""
+"This program is free software; you can redistribute it and/or modify it "
+"under the terms of the GNU General Public License as published by the Free "
+"Software Foundation; either version 2 of the License, or (at your option) "
+"any later version.\n"
+"\n"
+"This program is distributed in the hope that it will be useful, but WITHOUT "
+"ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or "
+"FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for "
+"more details.\n"
+"\n"
+"You should have received a copy of the GNU General Public License along with "
+"this program; if not, write to the Free Software Foundation, Inc., 59 Temple "
+"Place, Suite 330, Boston, MA 02111-1307, USA"
+msgstr ""
+
+#: ../src/dialog.c:852
+msgid "Translation is coordinated on http://launchpad.net/viking"
+msgstr ""
+
+#: ../src/dialog.c:861
+msgid "Download along track"
+msgstr ""
+
+#: ../src/dialog.c:868
+msgid "Map type:"
+msgstr "Typ mapy:"
+
+#: ../src/dialog.c:874
+msgid "Zoom level:"
+msgstr "Úroveň prblíženia:"
+
+#: ../src/dialog.c:914
+#, c-format
+msgid "The map data is licensed: %s."
+msgstr ""
+
+#: ../src/dialog.c:917
+#, c-format
+msgid ""
+"The data provided by '<b>%s</b>' are licensed under the following license: "
+"<b>%s</b>.\n"
+"Please, read the license before continuing."
+msgstr ""
+
+#: ../src/dialog.c:922
+msgid "Open license"
+msgstr ""
+
+#: ../src/expedia.c:53
+msgid "Expedia Street Maps"
+msgstr ""
+
+#: ../src/expedia.c:81
+msgid "Invalid expedia altitude"
+msgstr ""
+
+#: ../src/expedia.c:112
+#, c-format
+msgid ""
+"Couldn't open EXPEDIA image file (right after successful download! Please "
+"report and delete image file!): %s"
+msgstr ""
+
+#: ../src/expedia.c:125
+#, c-format
+msgid ""
+"Couldn't save EXPEDIA image file (right after successful download! Please "
+"report and delete image file!): %s"
+msgstr ""
+
+#. *
+#. * See http://www.geonames.org/export/wikipedia-webservice.html#wikipediaBoundingBox
+#.
+#. Translators may wish to change this setting as appropriate to get Wikipedia articles in that language
+#: ../src/geonamessearch.c:46
+msgid "en"
+msgstr ""
+
+#: ../src/geonamessearch.c:121
+msgid "Search"
+msgstr "Hľadať"
+
+#: ../src/geonamessearch.c:123
+msgid "No entries found!"
+msgstr ""
+
+#. NB could allow columns to be shifted around by doing this after each new
+#. gtk_tree_view_column_set_reorderable ( column, TRUE );
+#. However I don't think is that useful, so I haven't put it in
+#: ../src/geonamessearch.c:177 ../src/datasource_osm_my_traces.c:424
+#: ../src/viktrwlayer_tracklist.c:521
+msgid "Name"
+msgstr ""
+
+#: ../src/geonamessearch.c:182
+msgid "Feature"
+msgstr ""
+
+#: ../src/geonamessearch.c:187 ../src/datasource_osm_my_traces.c:439
+msgid "Lat/Lon"
+msgstr "Šírka/Dĺžka"
+
+#: ../src/geonamessearch.c:270 ../src/googlesearch.c:100 ../src/vikgoto.c:306
+msgid "couldn't map temp file"
+msgstr ""
+
+#: ../src/globals.c:73
+msgid "Absolute"
+msgstr ""
+
+#: ../src/globals.c:73
+msgid "Relative"
+msgstr ""
+
+#: ../src/globals.c:76
+msgid "Degree format:"
+msgstr ""
+
+#: ../src/globals.c:77
+msgid "Distance units:"
+msgstr ""
+
+#: ../src/globals.c:78
+msgid "Speed units:"
+msgstr ""
+
+#: ../src/globals.c:79
+msgid "Height units:"
+msgstr ""
+
+#: ../src/globals.c:80
+msgid "Use large waypoint icons:"
+msgstr ""
+
+#: ../src/globals.c:81
+msgid "Default latitude:"
+msgstr ""
+
+#: ../src/globals.c:82
+msgid "Default longitude:"
+msgstr ""
+
+#: ../src/globals.c:88
+msgid "Alphabetical"
+msgstr ""
+
+#: ../src/globals.c:88 ../src/datasource_osm_my_traces.c:434
+msgid "Time"
+msgstr ""
+
+#: ../src/globals.c:88
+msgid "Creation"
+msgstr ""
+
+#: ../src/globals.c:89
+msgid "Title Case"
+msgstr ""
+
+#: ../src/globals.c:89
+msgid "Lowercase"
+msgstr ""
+
+#: ../src/globals.c:92
+msgid "KML File Export Units:"
+msgstr ""
+
+#: ../src/globals.c:93
+msgid "GPX Track Order:"
+msgstr ""
+
+#: ../src/globals.c:94
+msgid "GPX Waypoint Symbols:"
+msgstr ""
+
+#: ../src/globals.c:95
+msgid ""
+"Save GPX Waypoint Symbol names in the specified case. May be useful for "
+"compatibility with various devices"
+msgstr ""
+
+#: ../src/globals.c:100
+msgid "Image Viewer:"
+msgstr ""
+
+#: ../src/globals.c:105
+msgid "External GPX Program 1:"
+msgstr ""
+
+#: ../src/globals.c:106
+msgid "External GPX Program 2:"
+msgstr ""
+
+#: ../src/globals.c:110
+msgid "Save File Reference Mode:"
+msgstr ""
+
+#: ../src/globals.c:111
+msgid ""
+"When saving a Viking .vik file, this determines how the directory paths of "
+"filenames are written."
+msgstr ""
+
+#: ../src/globals.c:112
+msgid "Show Tooltip during Track Creation:"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Home Location"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Last Location"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Specified File"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Auto Location"
+msgstr ""
+
+#: ../src/globals.c:118
+msgid "Restore Window Setup:"
+msgstr ""
+
+#: ../src/globals.c:119
+msgid "Restore window size and layout"
+msgstr ""
+
+#: ../src/globals.c:120
+msgid "Add a Default Map Layer:"
+msgstr ""
+
+#: ../src/globals.c:121
+msgid ""
+"The default map layer added is defined by the Layer Defaults. Use the menu "
+"Edit->Layer Defaults->Map... to change the map type and other values."
+msgstr ""
+
+#: ../src/globals.c:122
+msgid "Startup Method:"
+msgstr ""
+
+#: ../src/globals.c:123
+msgid "Startup File:"
+msgstr ""
+
+#: ../src/globals.c:124
+msgid ""
+"The default file to load on startup. Only applies when the startup method is "
+"set to 'Specified File'"
+msgstr ""
+
+#: ../src/globals.c:125
+msgid "Check For New Version:"
+msgstr ""
+
+#: ../src/globals.c:126
+msgid "Periodically check to see if a new version of Viking is available"
+msgstr ""
+
+#. Defaults for the options are setup here
+#: ../src/globals.c:163
+msgid "General"
+msgstr ""
+
+#. New Tab
+#: ../src/globals.c:188
+msgid "Startup"
+msgstr ""
+
+#. New Tab
+#: ../src/globals.c:206
+msgid "Export/External"
+msgstr ""
+
+#. 'Advanced' Properties
+#: ../src/globals.c:230
+msgid "Advanced"
+msgstr ""
+
+#. Webtools
+#: ../src/google.c:38
+msgid "Google"
+msgstr ""
+
+#: ../src/datasource_file.c:59
+msgid "Import file with GPSBabel"
+msgstr ""
+
+#: ../src/datasource_file.c:60
+msgid "Imported file"
+msgstr ""
+
+#. The file selector
+#: ../src/datasource_file.c:127
+msgid "File:"
+msgstr ""
+
+#: ../src/datasource_file.c:128
+msgid "File to import"
+msgstr ""
+
+#: ../src/datasource_file.c:135
+msgid "All files"
+msgstr ""
+
+#. The file format selector
+#: ../src/datasource_file.c:142
+msgid "File type:"
+msgstr ""
+
+#: ../src/datasource_file.c:184
+#, c-format
+msgid "using babel args '%s' and file '%s'"
+msgstr ""
+
+#: ../src/datasource_gc.c:66
+msgid "Download Geocaches"
+msgstr ""
+
+#: ../src/datasource_gc.c:67
+msgid "Geocaching.com Caches"
+msgstr ""
+
+#: ../src/datasource_gc.c:85
+msgid "geocaching.com username:"
+msgstr ""
+
+#: ../src/datasource_gc.c:86
+msgid "geocaching.com password:"
+msgstr ""
+
+#: ../src/datasource_gc.c:127
+#, c-format
+msgid ""
+"Can't find %s or %s in path! Check that you have installed it correctly."
+msgstr ""
+
+#: ../src/datasource_gc.c:189
+msgid "Number geocaches:"
+msgstr ""
+
+#: ../src/datasource_gc.c:191
+msgid "Centered around:"
+msgstr ""
+
+#: ../src/datasource_gc.c:230
+msgid "Broken input - using some defaults"
+msgstr ""
+
+#: ../src/datasource_geotag.c:51
+msgid "Create Waypoints from Geotagged Images"
+msgstr ""
+
+#: ../src/datasource_geotag.c:52
+msgid "Geotagged Images"
+msgstr ""
+
+#: ../src/datasource_geotag.c:102 ../src/vikwindow.c:2655
+#: ../src/vikwindow.c:2729 ../src/vikwindow.c:3380
+msgid "All"
+msgstr ""
+
+#: ../src/datasource_geotag.c:107 ../src/vikwindow.c:3385
+msgid "JPG"
+msgstr ""
+
+#: ../src/datasource_geotag.c:168
+#, c-format
+msgid "Unable to create waypoint from %s"
+msgstr ""
+
+#: ../src/datasource_gps.c:54
+msgid "Acquire from GPS"
+msgstr ""
+
+#: ../src/datasource_gps.c:55
+msgid "Acquired from GPS"
+msgstr ""
+
+#: ../src/datasource_gps.c:245
+#, c-format
+msgid "using cmdline '%s' and file '%s'\n"
+msgstr ""
+
+#: ../src/datasource_gps.c:327 ../src/vikgpslayer.c:934
+#, c-format
+msgid "Downloading %d waypoint..."
+msgid_plural "Downloading %d waypoints..."
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/datasource_gps.c:328 ../src/vikgpslayer.c:935
+#, c-format
+msgid "Downloading %d trackpoint..."
+msgid_plural "Downloading %d trackpoints..."
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/datasource_gps.c:333 ../src/vikgpslayer.c:940
+#, c-format
+msgid "Downloading %d routepoint..."
+msgid_plural "Downloading %d routepoints..."
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/datasource_gps.c:355 ../src/datasource_gps.c:356
+#: ../src/datasource_gps.c:357
+#, c-format
+msgid "Downloaded %d out of %d %s..."
+msgstr ""
+
+#: ../src/datasource_gps.c:361 ../src/datasource_gps.c:362
+#: ../src/datasource_gps.c:363
+#, c-format
+msgid "Downloaded %d %s."
+msgstr ""
+
+#: ../src/datasource_gps.c:377 ../src/vikgpslayer.c:1018
+#, c-format
+msgid "GPS Device: %s"
+msgstr ""
+
+#: ../src/datasource_gps.c:400 ../src/vikgpslayer.c:1092
+#: ../src/vikgpslayer.c:1160
+msgid "Status: Working..."
+msgstr ""
+
+#. NB gps_layer_inst_init() is performed after parameter registeration
+#. thus to give the protocols some potential values use the old static list
+#. TODO: find another way to use gps_layer_inst_init()?
+#: ../src/datasource_gps.c:500 ../src/vikgpslayer.c:207
+msgid "GPS Protocol:"
+msgstr ""
+
+#. List reassigned at runtime
+#: ../src/datasource_gps.c:526 ../src/vikgpslayer.c:208
+msgid "Serial Port:"
+msgstr ""
+
+#: ../src/datasource_gps.c:576
+msgid ""
+"Turn Off After Transfer\n"
+"(Garmin/NAViLink Only)"
+msgstr ""
+
+#: ../src/datasource_gps.c:583
+msgid "Tracks:"
+msgstr ""
+
+#: ../src/datasource_gps.c:590
+msgid "Routes:"
+msgstr ""
+
+#: ../src/datasource_gps.c:597
+msgid "Waypoints:"
+msgstr ""
+
+#: ../src/datasource_gps.c:675 ../src/vikgpslayer.c:1355
+msgid "GPS device: N/A"
+msgstr ""
+
+#: ../src/datasource_osm.c:52 ../src/datasource_osm.c:53
+msgid "OSM traces"
+msgstr ""
+
+#: ../src/datasource_osm.c:82
+msgid "Page number:"
+msgstr ""
+
+#: ../src/datasource_osm_my_traces.c:59 ../src/datasource_osm_my_traces.c:60
+msgid "OSM My Traces"
+msgstr ""
+
+#: ../src/datasource_osm_my_traces.c:104
+msgid "Username:"
+msgstr ""
+
+#: ../src/datasource_osm_my_traces.c:109
+msgid "The email or username used to login to OSM"
+msgstr ""
+
+#: ../src/datasource_osm_my_traces.c:111 ../src/osm-traces.c:421
+msgid "Password:"
+msgstr ""
+
+#: ../src/datasource_osm_my_traces.c:114
+msgid "The password used to login to OSM"
+msgstr ""
+
+#: ../src/datasource_osm_my_traces.c:429
+msgid "Description"
+msgstr ""
+
+#: ../src/datasource_osm_my_traces.c:444
+msgid "Privacy"
+msgstr ""
+
+#: ../src/datasource_osm_my_traces.c:451
+msgid "Within Current View"
+msgstr ""
+
+#: ../src/datasource_osm_my_traces.c:518
+msgid "GPS Traces"
+msgstr ""
+
+#: ../src/datasource_osm_my_traces.c:520
+msgid "None found!"
+msgstr ""
+
+#: ../src/datasource_osm_my_traces.c:634
+msgid "My OSM Traces"
+msgstr ""
+
+#: ../src/datasource_osm_my_traces.c:649
+#, c-format
+msgid "Unable to get trace: %s"
+msgstr ""
+
+#: ../src/datasource_routing.c:53 ../src/datasource_routing.c:54
+msgid "Directions"
+msgstr ""
+
+#. Engine selector
+#: ../src/datasource_routing.c:83
+msgid "Engine:"
+msgstr ""
+
+#. From and To entries
+#: ../src/datasource_routing.c:88
+msgid "From:"
+msgstr ""
+
+#: ../src/datasource_routing.c:90
+msgid "To:"
+msgstr ""
+
+#: ../src/datasource_wikipedia.c:32
+msgid "Create Waypoints from Wikipedia Articles"
+msgstr ""
+
+#: ../src/datasource_wikipedia.c:33
+msgid "Wikipedia Waypoints"
+msgstr ""
+
+#: ../src/dem.c:65 ../src/dem.c:79
+msgid "Invalid DEM"
+msgstr ""
+
+#: ../src/dem.c:121
+msgid "Invalid DEM header"
+msgstr ""
+
+#: ../src/dem.c:190 ../src/dem.c:203
+msgid "Incorrect DEM Class B record: expected 1"
+msgstr ""
+
+#: ../src/dem.c:288 ../src/download.c:170
+#, c-format
+msgid "Couldn't map file %s: %s"
+msgstr ""
+
+#: ../src/download.c:130
+msgid "Tile age (days):"
+msgstr ""
+
+#: ../src/download.c:321
+#, c-format
+msgid "Download error: %s"
+msgstr ""
+
+#: ../src/download.c:404
+msgid "couldn't open temp file"
+msgstr ""
+
+#: ../src/file.c:451 ../src/file.c:456
+#, c-format
+msgid "Draw mode '%s' no more supported"
+msgstr ""
+
+#: ../src/geotag_exif.c:421
+msgid "Not enough memory."
+msgstr ""
+
+#: ../src/geotag_exif.c:439
+msgid "Setting a value for this tag is unsupported!"
+msgstr ""
+
+#: ../src/geotag_exif.c:458
+#, c-format
+msgid "Too few components specified (need %d, found %d)\n"
+msgstr ""
+
+#: ../src/geotag_exif.c:462
+msgid "Numeric value expected\n"
+msgstr ""
+
+#: ../src/geotag_exif.c:470
+msgid "This shouldn't happen!"
+msgstr ""
+
+#: ../src/geotag_exif.c:540
+msgid "Not yet implemented!"
+msgstr ""
+
+#: ../src/geotag_exif.c:553
+msgid "Warning; Too many components specified!"
+msgstr ""
+
+#: ../src/osm-traces.c:76
+msgid "Identifiable (public w/ timestamps)"
+msgstr ""
+
+#: ../src/osm-traces.c:77
+msgid "Trackable (private w/ timestamps)"
+msgstr ""
+
+#: ../src/osm-traces.c:78
+msgid "Public"
+msgstr ""
+
+#: ../src/osm-traces.c:79
+msgid "Private"
+msgstr ""
+
+#: ../src/osm-traces.c:97
+msgid "OSM username:"
+msgstr ""
+
+#: ../src/osm-traces.c:98
+msgid "OSM password:"
+msgstr ""
+
+#. Preferences
+#: ../src/osm-traces.c:155
+msgid "OpenStreetMap Traces"
+msgstr ""
+
+#: ../src/osm-traces.c:238
+#, c-format
+msgid "failed to upload data: HTTP response is %ld"
+msgstr ""
+
+#: ../src/osm-traces.c:243
+#, c-format
+msgid "curl_easy_getinfo failed: %d"
+msgstr ""
+
+#: ../src/osm-traces.c:248
+#, c-format
+msgid "curl request failed: %s"
+msgstr ""
+
+#: ../src/osm-traces.c:279
+#, c-format
+msgid "failed to open temporary file: %s"
+msgstr ""
+
+#. Success
+#: ../src/osm-traces.c:340
+msgid "Uploaded to OSM"
+msgstr ""
+
+#: ../src/osm-traces.c:344
+msgid "FAILED TO UPLOAD DATA TO OSM - CURL PROBLEM"
+msgstr ""
+
+#: ../src/osm-traces.c:347
+msgid "FAILED TO UPLOAD DATA TO OSM"
+msgstr ""
+
+#: ../src/osm-traces.c:347
+msgid "HTTP response code"
+msgstr ""
+
+#: ../src/osm-traces.c:355
+#, c-format
+msgid "failed to unlink temporary file: %s"
+msgstr ""
+
+#: ../src/osm-traces.c:394
+msgid "OSM upload"
+msgstr ""
+
+#: ../src/osm-traces.c:413
+msgid "Email:"
+msgstr ""
+
+#: ../src/osm-traces.c:418
+msgid ""
+"The email used as login\n"
+"<small>Enter the email you use to login into www.openstreetmap.org.</small>"
+msgstr ""
+
+#: ../src/osm-traces.c:426
+msgid ""
+"The password used to login\n"
+"<small>Enter the password you use to login into "
+"www.openstreetmap.org.</small>"
+msgstr ""
+
+#: ../src/osm-traces.c:431
+msgid "File's name:"
+msgstr ""
+
+#: ../src/osm-traces.c:441
+msgid ""
+"The name of the file on OSM\n"
+"<small>This is the name of the file created on the server.This is not the "
+"name of the local file.</small>"
+msgstr ""
+
+#: ../src/osm-traces.c:450
+msgid "The description of the trace"
+msgstr ""
+
+#: ../src/osm-traces.c:453
+msgid "Anonymize Times:"
+msgstr ""
+
+#: ../src/osm-traces.c:458
+msgid ""
+"Anonymize times of the trace.\n"
+"<small>You may choose to make the trace identifiable, yet mask the actual "
+"real time values</small>"
+msgstr ""
+
+#: ../src/osm-traces.c:462
+msgid "Tags:"
+msgstr ""
+
+#: ../src/osm-traces.c:467
+msgid "The tags associated to the trace"
+msgstr ""
+
+#: ../src/osm-traces.c:529
+#, c-format
+msgid "Uploading %s to OSM"
+msgstr ""
+
+#: ../src/mapcache.c:61
+msgid "Map cache memory size (MB):"
+msgstr ""
+
+#: ../src/print.c:51 ../src/viktrwlayer.c:509
+msgid "None"
+msgstr ""
+
+#: ../src/print.c:52
+msgid "Horizontally"
+msgstr ""
+
+#: ../src/print.c:53
+msgid "Vertically"
+msgstr ""
+
+#: ../src/print.c:54
+msgid "Both"
+msgstr ""
+
+#: ../src/print.c:118
+msgid "Image Settings"
+msgstr ""
+
+#: ../src/print.c:548
+msgid "done"
+msgstr ""
+
+#. Page Size
+#: ../src/print.c:577
+msgid "_Adjust Page Size and Orientation"
+msgstr ""
+
+#: ../src/print.c:593
+msgid "C_enter:"
+msgstr ""
+
+#. ignore page margins
+#: ../src/print.c:611
+msgid "Ignore Page _Margins"
+msgstr ""
+
+#: ../src/print.c:630
+msgid "Image S_ize:"
+msgstr ""
+
+#: ../src/util.c:65
+#, c-format
+msgid "Could not launch web browser. %s"
+msgstr ""
+
+#: ../src/util.c:76
+#, c-format
+msgid "Could not create new email. %s"
+msgstr ""
+
+#: ../src/util.c:177
+#, c-format
+msgid ""
+"There is a newer version of Viking available: %s\n"
+"\n"
+"Do you wish to go to Viking's website now?"
+msgstr ""
+
+#: ../src/util.c:304
+msgid ""
+"This appears to be Viking's very first run.\n"
+"\n"
+"Do you wish to enable automatic internet features?\n"
+"\n"
+"Individual settings can be controlled in the Preferences."
+msgstr ""
+
+#: ../src/vikcoordlayer.c:57
+msgid "Color:"
+msgstr ""
+
+#: ../src/vikcoordlayer.c:58
+msgid "Minutes Width:"
+msgstr ""
+
+#: ../src/vikcoordlayer.c:59
+msgid "Line Thickness:"
+msgstr ""
+
+#: ../src/vikcoordlayer.c:66
+msgid "Coordinate"
+msgstr ""
+
+#: ../src/datasource_bfilter.c:46
+msgid "Max number of points:"
+msgstr ""
+
+#: ../src/datasource_bfilter.c:60
+msgid "Simplify All Tracks..."
+msgstr ""
+
+#: ../src/datasource_bfilter.c:61
+msgid "Simplified Tracks"
+msgstr ""
+
+#: ../src/datasource_bfilter.c:96 ../src/datasource_bfilter.c:97
+msgid "Remove Duplicate Waypoints"
+msgstr ""
+
+#: ../src/datasource_bfilter.c:129
+msgid "Waypoints Inside This"
+msgstr ""
+
+#: ../src/datasource_bfilter.c:130
+msgid "Polygonized Layer"
+msgstr ""
+
+#: ../src/datasource_bfilter.c:165
+msgid "Waypoints Outside This"
+msgstr ""
+
+#: ../src/datasource_bfilter.c:166
+msgid "Polygonzied Layer"
+msgstr ""
+
+#: ../src/main.c:92
+#, c-format
+msgid "Ignoring Xlib error: error code %d request code %d\n"
+msgstr ""
+
+#: ../src/main.c:105
+msgid "Enable debug output"
+msgstr ""
+
+#: ../src/main.c:106
+msgid "Enable verbose output"
+msgstr ""
+
+#: ../src/main.c:107
+msgid "Show version"
+msgstr ""
+
+#: ../src/osm.c:99
+msgid "On Disk OSM Tile Format"
+msgstr ""
+
+#: ../src/osm.c:113
+msgid "OSM (view)"
+msgstr ""
+
+#: ../src/osm.c:117
+msgid "OSM (edit)"
+msgstr ""
+
+#: ../src/osm.c:121
+msgid "OSM (render)"
+msgstr ""
+
+#. Example: http://127.0.0.1:8111/load_and_zoom?left=8.19&right=8.20&top=48.605&bottom=48.590&select=node413602999
+#. JOSM or merkaartor must already be running with remote interface enabled
+#: ../src/osm.c:128
+msgid "Local port 8111 (eg JOSM)"
+msgstr ""
+
+#: ../src/osm.c:134
+msgid "OpenStreetMap Notes"
+msgstr ""
+
+#: ../src/osm.c:138
+msgid "OpenStreetBugs"
+msgstr ""
+
+#. Not really OSM but can't be bothered to create somewhere else to put it...
+#: ../src/osm.c:164
+msgid "Wikimedia Toolserver GeoHack"
+msgstr ""
+
+#: ../src/preferences.c:191
+msgid "Preferences"
+msgstr ""
+
+#: ../src/viklayer_defaults.c:232
+#, c-format
+msgid "Could not open file: %s"
+msgstr ""
+
+#: ../src/viklayer_defaults.c:303
+msgid "Layer Defaults"
+msgstr ""
+
+#: ../src/uibuilder.c:185
+msgid "Take care that this password will be stored clearly in a plain file."
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:42
+msgid "Aggregate"
+msgstr ""
+
+#. VikLayersPanel *vlp = VIK_LAYERS_PANEL(lav[1]);
+#: ../src/vikaggregatelayer.c:484 ../src/viktrwlayer.c:10238
+#, c-format
+msgid "%s: Track and Route List"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:529 ../src/viktrwlayer.c:7354
+#: ../src/viktrwlayer.c:7420 ../src/viktrwlayer.c:7498
+msgid "_Visibility"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:534
+msgid "_Show All"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:540
+msgid "_Hide All"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:546 ../src/viktrwlayer.c:7371
+#: ../src/viktrwlayer.c:7437 ../src/viktrwlayer.c:7515
+msgid "_Toggle"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:553 ../src/viktrwlayer.c:7536
+msgid "_Sort"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:559 ../src/viktrwlayer.c:7542
+msgid "Name _Ascending"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:565 ../src/viktrwlayer.c:7548
+msgid "Name _Descending"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:571 ../src/viktrwlayer.c:7449
+#: ../src/viktrwlayer.c:7527 ../src/viktrwlayer.c:7587
+#: ../src/viktrwlayer_tracklist.c:237
+msgid "_Statistics"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:576 ../src/viktrwlayer.c:3971
+msgid "Track _List..."
+msgstr ""
+
+#: ../src/vikdemlayer.c:92
+msgid "Absolute height"
+msgstr ""
+
+#: ../src/vikdemlayer.c:93
+msgid "Height gradient"
+msgstr ""
+
+#: ../src/vikdemlayer.c:118
+msgid "DEM Files:"
+msgstr ""
+
+#: ../src/vikdemlayer.c:119
+msgid "Download Source:"
+msgstr ""
+
+#: ../src/vikdemlayer.c:120
+msgid "Min Elev Color:"
+msgstr ""
+
+#: ../src/vikdemlayer.c:121
+msgid "Type:"
+msgstr ""
+
+#: ../src/vikdemlayer.c:122
+msgid "Min Elev:"
+msgstr ""
+
+#: ../src/vikdemlayer.c:123
+msgid "Max Elev:"
+msgstr ""
+
+#: ../src/vikdemlayer.c:134
+msgid "_DEM Download"
+msgstr ""
+
+#: ../src/vikdemlayer.c:134
+msgid "DEM Download"
+msgstr ""
+
+#: ../src/vikdemlayer.c:188
+msgid "DEM"
+msgstr ""
+
+#: ../src/vikdemlayer.c:287
+#, c-format
+msgid "Number of files: %d"
+msgstr ""
+
+#: ../src/vikdemlayer.c:427
+msgid "DEM Loading"
+msgstr ""
+
+#: ../src/vikdemlayer.c:937
+#, c-format
+msgid "No SRTM data available for %f, %f"
+msgstr ""
+
+#. Probably not over any land...
+#: ../src/vikdemlayer.c:1193
+msgid "No DEM File Available"
+msgstr ""
+
+#: ../src/vikdemlayer.c:1212
+#, c-format
+msgid ""
+"\n"
+"Source: %s\n"
+"\n"
+"DEM File: %s\n"
+"DEM File Timestamp: %s"
+msgstr ""
+
+#: ../src/vikdemlayer.c:1216
+#, c-format
+msgid ""
+"Source: %s\n"
+"\n"
+"No DEM File!"
+msgstr ""
+
+#: ../src/vikdemlayer.c:1256
+#, c-format
+msgid "Downloading DEM %s"
+msgstr ""
+
+#: ../src/vikdemlayer.c:1280
+msgid "_Show DEM File Information"
+msgstr ""
+
+#: ../src/vikfileentry.c:68
+msgid "Browse..."
+msgstr ""
+
+#: ../src/vikfileentry.c:96
+msgid "Choose file"
+msgstr ""
+
+#: ../src/vikfilelist.c:48
+msgid "Choose file(s)"
+msgstr ""
+
+#: ../src/vikfilelist.c:172
+msgid "Add..."
+msgstr ""
+
+#: ../src/vikfilelist.c:173
+msgid "Delete"
+msgstr ""
+
+#: ../src/vikgeoreflayer.c:78
+msgid "_Georef Move Map"
+msgstr ""
+
+#: ../src/vikgeoreflayer.c:78
+msgid "Georef Move Map"
+msgstr ""
+
+#: ../src/vikgeoreflayer.c:85
+msgid "Georef Z_oom Tool"
+msgstr ""
+
+#: ../src/vikgeoreflayer.c:85
+msgid "Georef Zoom Tool"
+msgstr ""
+
+#: ../src/vikgeoreflayer.c:95
+msgid "GeoRef Map"
+msgstr ""
+
+#: ../src/vikgeoreflayer.c:377 ../src/vikmapslayer.c:720
+#, c-format
+msgid "Couldn't open image file: %s"
+msgstr ""
+
+#: ../src/vikgeoreflayer.c:391
+msgid ""
+"GeoRef map cannot be displayed in the current drawmode.\n"
+"Select \"UTM Mode\" from View menu to view it."
+msgstr ""
+
+#: ../src/vikgeoreflayer.c:415
+msgid "Unexpected end of file reading World file."
+msgstr ""
+
+#: ../src/vikgeoreflayer.c:431 ../src/vikgeoreflayer.c:476
+msgid "Choose World file"
+msgstr ""
+
+#: ../src/vikgeoreflayer.c:444
+msgid "The World file you requested could not be opened for reading."
+msgstr ""
+
+#: ../src/vikgeoreflayer.c:489
+msgid "The file you requested could not be opened for writing."
+msgstr ""
+
+#: ../src/vikgeoreflayer.c:506 ../src/viklayer.c:518
+msgid "Layer Properties"
+msgstr ""
+
+#: ../src/vikgeoreflayer.c:528
+msgid "World File Parameters:"
+msgstr ""
+
+#: ../src/vikgeoreflayer.c:529
+msgid "Load From File..."
+msgstr ""
+
+#: ../src/vikgeoreflayer.c:534
+msgid "Corner pixel easting:"
+msgstr ""
+
+#: ../src/vikgeoreflayer.c:536
+msgid "the UTM \"easting\" value of the upper-left corner pixel of the map"
+msgstr ""
+
+#: ../src/vikgeoreflayer.c:538
+msgid "Corner pixel northing:"
+msgstr ""
+
+#: ../src/vikgeoreflayer.c:540
+msgid "the UTM \"northing\" value of the upper-left corner pixel of the map"
+msgstr ""
+
+#: ../src/vikgeoreflayer.c:542
+msgid "X (easting) scale (mpp): "
+msgstr ""
+
+#: ../src/vikgeoreflayer.c:543
+msgid "Y (northing) scale (mpp): "
+msgstr ""
+
+#: ../src/vikgeoreflayer.c:546
+msgid "the scale of the map in the X direction (meters per pixel)"
+msgstr ""
+
+#: ../src/vikgeoreflayer.c:548
+msgid "the scale of the map in the Y direction (meters per pixel)"
+msgstr ""
+
+#: ../src/vikgeoreflayer.c:550
+msgid "Map Image:"
+msgstr ""
+
+#. Now with icons
+#: ../src/vikgeoreflayer.c:658
+msgid "_Zoom to Fit Map"
+msgstr ""
+
+#: ../src/vikgeoreflayer.c:664
+msgid "_Goto Map Center"
+msgstr ""
+
+#: ../src/vikgeoreflayer.c:670
+msgid "_Export to World File"
+msgstr ""
+
+#: ../src/vikgoto.c:81
+msgid "No goto tool available."
+msgstr ""
+
+#: ../src/vikgoto.c:94 ../src/vikgoto.c:148
+msgid "goto"
+msgstr ""
+
+#: ../src/vikgoto.c:96
+msgid "I don't know that place. Do you want another goto?"
+msgstr ""
+
+#: ../src/vikgoto.c:150
+msgid "goto provider:"
+msgstr ""
+
+#: ../src/vikgoto.c:165
+msgid "Enter address or place name:"
+msgstr ""
+
+#: ../src/vikgoto.c:363
+msgid "Locality"
+msgstr ""
+
+#: ../src/vikgpslayer.c:128
+msgid "Data Mode"
+msgstr ""
+
+#: ../src/vikgpslayer.c:130
+msgid "Realtime Tracking Mode"
+msgstr ""
+
+#: ../src/vikgpslayer.c:167
+msgid "Keep vehicle at center"
+msgstr ""
+
+#: ../src/vikgpslayer.c:168
+msgid "Keep vehicle on screen"
+msgstr ""
+
+#: ../src/vikgpslayer.c:169
+msgid "Disable"
+msgstr ""
+
+#: ../src/vikgpslayer.c:209
+msgid "Download Tracks:"
+msgstr ""
+
+#: ../src/vikgpslayer.c:210
+msgid "Upload Tracks:"
+msgstr ""
+
+#: ../src/vikgpslayer.c:211
+msgid "Download Routes:"
+msgstr ""
+
+#: ../src/vikgpslayer.c:212
+msgid "Upload Routes:"
+msgstr ""
+
+#: ../src/vikgpslayer.c:213
+msgid "Download Waypoints:"
+msgstr ""
+
+#: ../src/vikgpslayer.c:214
+msgid "Upload Waypoints:"
+msgstr ""
+
+#: ../src/vikgpslayer.c:216
+msgid "Recording tracks"
+msgstr ""
+
+#: ../src/vikgpslayer.c:217
+msgid "Jump to current position on start"
+msgstr ""
+
+#: ../src/vikgpslayer.c:218
+msgid "Moving Map Method:"
+msgstr ""
+
+#: ../src/vikgpslayer.c:219
+msgid "Update Statusbar:"
+msgstr ""
+
+#: ../src/vikgpslayer.c:219
+msgid "Display information in the statusbar on GPS updates"
+msgstr ""
+
+#: ../src/vikgpslayer.c:220
+msgid "Gpsd Host:"
+msgstr ""
+
+#: ../src/vikgpslayer.c:221
+msgid "Gpsd Port:"
+msgstr ""
+
+#: ../src/vikgpslayer.c:222
+msgid "Gpsd Retry Interval (seconds):"
+msgstr ""
+
+#: ../src/vikgpslayer.c:243
+msgid "GPS"
+msgstr ""
+
+#: ../src/vikgpslayer.c:306 ../src/vikgpslayer.c:1308
+msgid "GPS Download"
+msgstr ""
+
+#: ../src/vikgpslayer.c:306 ../src/vikgpslayer.c:1308
+#: ../src/viktrwlayer.c:3480
+msgid "GPS Upload"
+msgstr ""
+
+#: ../src/vikgpslayer.c:308
+msgid "GPS Realtime Tracking"
+msgstr ""
+
+#: ../src/vikgpslayer.c:517
+msgid "Unknown GPS Protocol"
+msgstr ""
+
+#: ../src/vikgpslayer.c:535
+msgid "Unknown serial port device"
+msgstr ""
+
+#: ../src/vikgpslayer.c:648
+#, c-format
+msgid "%s: unknown parameter"
+msgstr ""
+
+#. Now with icons
+#: ../src/vikgpslayer.c:743
+msgid "_Upload to GPS"
+msgstr ""
+
+#: ../src/vikgpslayer.c:749
+msgid "Download from _GPS"
+msgstr ""
+
+#: ../src/vikgpslayer.c:770
+msgid "Empty _Realtime"
+msgstr ""
+
+#: ../src/vikgpslayer.c:777
+msgid "E_mpty Upload"
+msgstr ""
+
+#: ../src/vikgpslayer.c:783
+msgid "_Empty Download"
+msgstr ""
+
+#: ../src/vikgpslayer.c:789
+msgid "Empty _All"
+msgstr ""
+
+#.
+#. NB It's not fatal if this gives 2 for example! Hence removal of the g_assert
+#. This happens when copied GPS layer is deleted (not sure why the number_handlers would be 2)
+#. I don't think there's any side effects and certainly better than the program just aborting
+#.
+#: ../src/vikgpslayer.c:806
+#, c-format
+msgid "Unexpected number of disconnected handlers: %d"
+msgstr ""
+
+#: ../src/vikgpslayer.c:948
+#, c-format
+msgid "Uploading %d waypoint..."
+msgid_plural "Uploading %d waypoints..."
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/vikgpslayer.c:949
+#, c-format
+msgid "Uploading %d trackpoint..."
+msgid_plural "Uploading %d trackpoints..."
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/vikgpslayer.c:950
+#, c-format
+msgid "Uploading %d routepoint..."
+msgid_plural "Uploading %d routepoints..."
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/vikgpslayer.c:975
+#, c-format
+msgid "Downloaded %d out of %d waypoint..."
+msgid_plural "Downloaded %d out of %d waypoints..."
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/vikgpslayer.c:976
+#, c-format
+msgid "Downloaded %d out of %d trackpoint..."
+msgid_plural "Downloaded %d out of %d trackpoints..."
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/vikgpslayer.c:977
+#, c-format
+msgid "Downloaded %d out of %d routepoint..."
+msgid_plural "Downloaded %d out of %d routepoints..."
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/vikgpslayer.c:982
+#, c-format
+msgid "Uploaded %d out of %d waypoint..."
+msgid_plural "Uploaded %d out of %d waypoints..."
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/vikgpslayer.c:983
+#, c-format
+msgid "Uploaded %d out of %d trackpoint..."
+msgid_plural "Uploaded %d out of %d trackpoints..."
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/vikgpslayer.c:984
+#, c-format
+msgid "Uploaded %d out of %d routepoint..."
+msgid_plural "Uploaded %d out of %d routepoints..."
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/vikgpslayer.c:992
+#, c-format
+msgid "Downloaded %d waypoint"
+msgid_plural "Downloaded %d waypoints"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/vikgpslayer.c:993
+#, c-format
+msgid "Downloaded %d trackpoint"
+msgid_plural "Downloaded %d trackpoints"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/vikgpslayer.c:994
+#, c-format
+msgid "Downloaded %d routepoint"
+msgid_plural "Downloaded %d routepoints"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/vikgpslayer.c:999
+#, c-format
+msgid "Uploaded %d waypoint"
+msgid_plural "Uploaded %d waypoints"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/vikgpslayer.c:1000
+#, c-format
+msgid "Uploaded %d trackpoint"
+msgid_plural "Uploaded %d trackpoints"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/vikgpslayer.c:1001
+#, c-format
+msgid "Uploaded %d routepoint"
+msgid_plural "Uploaded %d routepoints"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/vikgpslayer.c:1230
+msgid "Error: couldn't find gpsbabel."
+msgstr ""
+
+#: ../src/vikgpslayer.c:1319
+msgid "Warning - GPS Upload items may overwrite each other"
+msgstr ""
+
+#: ../src/vikgpslayer.c:1351
+msgid "Status: detecting gpsbabel"
+msgstr ""
+
+#: ../src/vikgpslayer.c:1386
+msgid "No GPS items selected for transfer."
+msgstr ""
+
+#: ../src/vikgpslayer.c:1401
+msgid "Could not turn off device."
+msgstr ""
+
+#: ../src/vikgpslayer.c:1439
+msgid "Are you sure you want to delete GPS Upload data?"
+msgstr ""
+
+#: ../src/vikgpslayer.c:1452
+msgid "Are you sure you want to delete GPS Download data?"
+msgstr ""
+
+#: ../src/vikgpslayer.c:1466
+msgid "Are you sure you want to delete GPS Realtime data?"
+msgstr ""
+
+#: ../src/vikgpslayer.c:1479
+msgid "Are you sure you want to delete All GPS data?"
+msgstr ""
+
+#: ../src/viklayerspanel.c:53
+msgid "C_ut"
+msgstr ""
+
+#: ../src/viklayerspanel.c:54 ../src/vikwindow.c:3753
+msgid "_Copy"
+msgstr ""
+
+#: ../src/viklayerspanel.c:55 ../src/vikwindow.c:3754
+msgid "_Paste"
+msgstr ""
+
+#: ../src/viklayerspanel.c:56 ../src/vikwindow.c:3755
+msgid "_Delete"
+msgstr ""
+
+#: ../src/viklayerspanel.c:133
+msgid "New Layer"
+msgstr ""
+
+#: ../src/viklayerspanel.c:178
+msgid "Top Layer"
+msgstr ""
+
+#: ../src/viklayerspanel.c:194
+msgid "Add new layer"
+msgstr ""
+
+#: ../src/viklayerspanel.c:201
+msgid "Remove selected layer"
+msgstr ""
+
+#: ../src/viklayerspanel.c:208
+msgid "Move selected layer up"
+msgstr ""
+
+#: ../src/viklayerspanel.c:215
+msgid "Move selected layer down"
+msgstr ""
+
+#: ../src/viklayerspanel.c:222
+msgid "Cut selected layer"
+msgstr ""
+
+#: ../src/viklayerspanel.c:229
+msgid "Copy selected layer"
+msgstr ""
+
+#: ../src/viklayerspanel.c:236
+msgid ""
+"Paste layer into selected container layer or otherwise above selected layer"
+msgstr ""
+
+#: ../src/viklayerspanel.c:300
+msgid "New name can not be blank."
+msgstr ""
+
+#: ../src/viklayerspanel.c:544
+msgid "Aggregate Layers have no settable properties."
+msgstr ""
+
+#: ../src/viklayerspanel.c:588
+msgid "You cannot cut the Top Layer."
+msgstr ""
+
+#: ../src/viklayerspanel.c:633
+#, c-format
+msgid "Are you sure you want to delete %s?"
+msgstr ""
+
+#: ../src/viklayerspanel.c:650
+msgid "You cannot delete the Top Layer."
+msgstr ""
+
+#: ../src/viklayerspanel.c:734
+msgid "Are you sure you wish to delete all layers?"
+msgstr ""
+
+#. ******* MAPZOOMS ********
+#: ../src/vikmapslayer.c:80
+msgid "Use Viking Zoom Level"
+msgstr ""
+
+#: ../src/vikmapslayer.c:124
+msgid "Map Type:"
+msgstr ""
+
+#: ../src/vikmapslayer.c:125
+msgid "Maps Directory:"
+msgstr ""
+
+#: ../src/vikmapslayer.c:126
+msgid "Alpha:"
+msgstr ""
+
+#: ../src/vikmapslayer.c:127
+msgid "Control the Alpha value for transparency effects"
+msgstr ""
+
+#: ../src/vikmapslayer.c:128
+msgid "Autodownload maps:"
+msgstr ""
+
+#: ../src/vikmapslayer.c:129
+msgid "Autodownload Only Gets Missing Maps:"
+msgstr ""
+
+#: ../src/vikmapslayer.c:130
+msgid ""
+"Using this option avoids attempting to update already acquired tiles. This "
+"can be useful if you want to restrict the network usage, without having to "
+"resort to manual control. Only applies when 'Autodownload Maps' is on."
+msgstr ""
+
+#: ../src/vikmapslayer.c:131
+msgid "Zoom Level:"
+msgstr ""
+
+#: ../src/vikmapslayer.c:132
+msgid ""
+"Determines the method of displaying map tiles for the current zoom level. "
+"'Viking Zoom Level' uses the best matching level, otherwise setting a fixed "
+"value will always use map tiles of the specified value regardless of the "
+"actual zoom level."
+msgstr ""
+
+#: ../src/vikmapslayer.c:156
+msgid "_Maps Download"
+msgstr ""
+
+#: ../src/vikmapslayer.c:156
+msgid "Maps Download"
+msgstr ""
+
+#: ../src/vikmapslayer.c:171
+msgid "Map"
+msgstr ""
+
+#: ../src/vikmapslayer.c:259
+msgid "Default map layer directory:"
+msgstr ""
+
+#: ../src/vikmapslayer.c:259
+msgid "Choose a directory to store cached Map tiles for this layer"
+msgstr ""
+
+#: ../src/vikmapslayer.c:523
+msgid "Unknown map type"
+msgstr ""
+
+#: ../src/vikmapslayer.c:534
+msgid "Unknown Map Zoom"
+msgstr ""
+
+#: ../src/vikmapslayer.c:624
+#, c-format
+msgid ""
+"New map cannot be displayed in the current drawmode.\n"
+"Select \"%s\" from View menu to view it."
+msgstr ""
+
+#: ../src/vikmapslayer.c:798
+#, c-format
+msgid ""
+"Cowardly refusing to draw tiles or existence of tiles beyond %d zoom out "
+"factor"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1210
+#, c-format
+msgid "Redownloading up to %d %s map..."
+msgid_plural "Redownloading up to %d %s maps..."
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/vikmapslayer.c:1212
+#, c-format
+msgid "Redownloading %d %s map..."
+msgid_plural "Redownloading %d %s maps..."
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/vikmapslayer.c:1216 ../src/vikmapslayer.c:1290
+#, c-format
+msgid "Downloading %d %s map..."
+msgid_plural "Downloading %d %s maps..."
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/vikmapslayer.c:1376
+#, c-format
+msgid ""
+"\n"
+"Source: %s\n"
+"\n"
+"Tile File: %s\n"
+"Tile File Timestamp: %s"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1380
+#, c-format
+msgid ""
+"Source: %s\n"
+"\n"
+"No Tile File!"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1418
+msgid "Redownload _Bad Map(s)"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1422
+msgid "Redownload _New Map(s)"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1426
+msgid "Redownload _All Map(s)"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1430
+msgid "_Show Tile Information"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1511
+#, c-format
+msgid ""
+"Wrong drawmode for this map.\n"
+"Select \"%s\" from View menu and try again."
+msgstr ""
+
+#: ../src/vikmapslayer.c:1516
+msgid "Wrong zoom level for this map."
+msgstr ""
+
+#: ../src/vikmapslayer.c:1647
+msgid "Zoom Start:"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1654
+msgid "Zoom End:"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1660
+msgid "Download Maps Method:"
+msgstr ""
+
+#. redownload method - needs to align with REDOWNLOAD* macro values
+#: ../src/vikmapslayer.c:1732
+msgid "Missing"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1732
+msgid "Bad"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1732
+msgid "New"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1732
+msgid "Reload All"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1734
+msgid "Download for Zoom Levels"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1774
+#, c-format
+msgid ""
+"You are not allowed to download more than %d tiles in one go (requested %d)"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1782
+#, c-format
+msgid "Do you really want to download %d tiles?"
+msgstr ""
+
+#. Now with icons
+#: ../src/vikmapslayer.c:1807
+msgid "Download _Missing Onscreen Maps"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1814
+msgid "Download _New Onscreen Maps"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1821
+msgid "Reload _All Onscreen Maps"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1827
+msgid "Download Maps in _Zoom Levels..."
+msgstr ""
+
+#: ../src/vikrouting.c:54
+msgid "Default engine:"
+msgstr ""
+
+#: ../src/viktreeview.c:316
+msgid "Layer Name"
+msgstr ""
+
+#: ../src/viktreeview.c:851
+#, c-format
+msgid "delete data from %s\n"
+msgstr ""
+
+#: ../src/viktrwlayer.c:398
+msgid "Create _Waypoint"
+msgstr ""
+
+#: ../src/viktrwlayer.c:398
+msgid "Create Waypoint"
+msgstr ""
+
+#: ../src/viktrwlayer.c:404
+msgid "Create _Track"
+msgstr ""
+
+#: ../src/viktrwlayer.c:404
+msgid "Create Track"
+msgstr ""
+
+#: ../src/viktrwlayer.c:413
+msgid "Create _Route"
+msgstr ""
+
+#: ../src/viktrwlayer.c:413
+msgid "Create Route"
+msgstr ""
+
+#: ../src/viktrwlayer.c:422
+msgid "_Edit Waypoint"
+msgstr ""
+
+#: ../src/viktrwlayer.c:422
+msgid "Edit Waypoint"
+msgstr ""
+
+#: ../src/viktrwlayer.c:432
+msgid "Edit Trac_kpoint"
+msgstr ""
+
+#: ../src/viktrwlayer.c:432
+msgid "Edit Trackpoint"
+msgstr ""
+
+#: ../src/viktrwlayer.c:442
+msgid "Show P_icture"
+msgstr ""
+
+#: ../src/viktrwlayer.c:442
+msgid "Show Picture"
+msgstr ""
+
+#: ../src/viktrwlayer.c:448
+msgid "Route _Finder"
+msgstr ""
+
+#: ../src/viktrwlayer.c:448
+msgid "Route Finder"
+msgstr ""
+
+#. ***** PARAMETERS *****
+#: ../src/viktrwlayer.c:468 ../src/viktrwlayer.c:2324
+msgid "Waypoints"
+msgstr ""
+
+#: ../src/viktrwlayer.c:468 ../src/viktrwlayer.c:2319
+msgid "Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer.c:468
+msgid "Waypoint Images"
+msgstr ""
+
+#: ../src/viktrwlayer.c:468
+msgid "Tracks Advanced"
+msgstr ""
+
+#: ../src/viktrwlayer.c:471
+msgid "Draw by Track"
+msgstr ""
+
+#: ../src/viktrwlayer.c:471
+msgid "Draw by Speed"
+msgstr ""
+
+#: ../src/viktrwlayer.c:471
+msgid "All Tracks Same Color"
+msgstr ""
+
+#: ../src/viktrwlayer.c:472
+msgid "Filled Square"
+msgstr ""
+
+#: ../src/viktrwlayer.c:472
+msgid "Square"
+msgstr ""
+
+#: ../src/viktrwlayer.c:472
+msgid "Circle"
+msgstr ""
+
+#: ../src/viktrwlayer.c:472
+msgid "X"
+msgstr ""
+
+#: ../src/viktrwlayer.c:498
+msgid "Extra Extra Small"
+msgstr ""
+
+#: ../src/viktrwlayer.c:499
+msgid "Extra Small"
+msgstr ""
+
+#: ../src/viktrwlayer.c:500
+msgid "Small"
+msgstr ""
+
+#: ../src/viktrwlayer.c:501
+msgid "Medium"
+msgstr ""
+
+#: ../src/viktrwlayer.c:502
+msgid "Large"
+msgstr ""
+
+#: ../src/viktrwlayer.c:503
+msgid "Extra Large"
+msgstr ""
+
+#: ../src/viktrwlayer.c:504
+msgid "Extra Extra Large"
+msgstr ""
+
+#: ../src/viktrwlayer.c:510
+msgid "Name Ascending"
+msgstr ""
+
+#: ../src/viktrwlayer.c:511
+msgid "Name Descending"
+msgstr ""
+
+#: ../src/viktrwlayer.c:552 ../src/viktrwlayer.c:576
+msgid "Draw Labels"
+msgstr ""
+
+#: ../src/viktrwlayer.c:553
+msgid "Note: the individual track controls what labels may be displayed"
+msgstr ""
+
+#: ../src/viktrwlayer.c:554
+msgid "Track Labels Font Size:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:555
+msgid "Track Drawing Mode:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:556
+msgid "All Tracks Color:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:557
+msgid "The color used when 'All Tracks Same Color' drawing mode is selected"
+msgstr ""
+
+#: ../src/viktrwlayer.c:558
+msgid "Draw Track Lines"
+msgstr ""
+
+#: ../src/viktrwlayer.c:559
+msgid "Track Thickness:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:560
+msgid "Draw Track Direction"
+msgstr ""
+
+#: ../src/viktrwlayer.c:561
+msgid "Direction Size:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:562
+msgid "Draw Trackpoints"
+msgstr ""
+
+#: ../src/viktrwlayer.c:563
+msgid "Trackpoint Size:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:564
+msgid "Draw Elevation"
+msgstr ""
+
+#: ../src/viktrwlayer.c:565
+msgid "Draw Elevation Height %:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:566
+msgid "Draw Stops"
+msgstr ""
+
+#: ../src/viktrwlayer.c:567
+msgid ""
+"Whether to draw a marker when trackpoints are at the same position but over "
+"the minimum stop length apart in time"
+msgstr ""
+
+#: ../src/viktrwlayer.c:568
+msgid "Min Stop Length (seconds):"
+msgstr ""
+
+#: ../src/viktrwlayer.c:570
+msgid "Track BG Thickness:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:571
+msgid "Track Background Color"
+msgstr ""
+
+#: ../src/viktrwlayer.c:572
+msgid "Draw by Speed Factor (%):"
+msgstr ""
+
+#: ../src/viktrwlayer.c:573
+msgid ""
+"The percentage factor away from the average speed determining the color used"
+msgstr ""
+
+#: ../src/viktrwlayer.c:574
+msgid "Track Sort Order:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:577
+msgid "Waypoint Font Size:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:578
+msgid "Waypoint Color:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:579
+msgid "Waypoint Text:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:580
+msgid "Background:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:581
+msgid "Fake BG Color Translucency:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:582
+msgid "Waypoint marker:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:583
+msgid "Waypoint size:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:584
+msgid "Draw Waypoint Symbols:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:585
+msgid "Waypoint Sort Order:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:587
+msgid "Draw Waypoint Images"
+msgstr ""
+
+#: ../src/viktrwlayer.c:588
+msgid "Image Size (pixels):"
+msgstr ""
+
+#: ../src/viktrwlayer.c:589
+msgid "Image Alpha:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:590
+msgid "Image Memory Cache Size:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:678
+msgid "TrackWaypoint"
+msgstr ""
+
+#: ../src/viktrwlayer.c:1534 ../src/vikutils.c:204
+msgid "miles"
+msgstr ""
+
+#. VIK_UNITS_DISTANCE_KILOMETRES:
+#: ../src/viktrwlayer.c:1538 ../src/vikutils.c:209
+msgid "km"
+msgstr ""
+
+#: ../src/viktrwlayer.c:1648
+msgid "start/end"
+msgstr ""
+
+#: ../src/viktrwlayer.c:1660
+msgid "start"
+msgstr ""
+
+#: ../src/viktrwlayer.c:1669
+msgid "end"
+msgstr ""
+
+#: ../src/viktrwlayer.c:2329
+msgid "Routes"
+msgstr ""
+
+#: ../src/viktrwlayer.c:2519
+#, c-format
+msgid " in %d:%02d hrs:mins"
+msgstr ""
+
+#: ../src/viktrwlayer.c:2523
+#, c-format
+msgid ""
+"\n"
+"%sTotal Length %.1f %s%s"
+msgstr ""
+
+#: ../src/viktrwlayer.c:2529
+#, c-format
+msgid "Tracks: %d - Waypoints: %d - Routes: %d%s"
+msgstr ""
+
+#: ../src/viktrwlayer.c:2549
+#, c-format
+msgid "Tracks: %d"
+msgstr ""
+
+#: ../src/viktrwlayer.c:2559
+#, c-format
+msgid "Routes: %d"
+msgstr ""
+
+#: ../src/viktrwlayer.c:2590
+#, c-format
+msgid "- %d:%02d hrs:mins"
+msgstr ""
+
+#: ../src/viktrwlayer.c:2598
+#, c-format
+msgid "%s%.1f km %s"
+msgstr ""
+
+#: ../src/viktrwlayer.c:2601
+#, c-format
+msgid "%s%.1f miles %s"
+msgstr ""
+
+#: ../src/viktrwlayer.c:2615
+#, c-format
+msgid "Waypoints: %d"
+msgstr ""
+
+#: ../src/viktrwlayer.c:2671
+#, c-format
+msgid "Wpt: Alt %dft"
+msgstr ""
+
+#. VIK_UNITS_HEIGHT_METRES:
+#: ../src/viktrwlayer.c:2675
+#, c-format
+msgid "Wpt: Alt %dm"
+msgstr ""
+
+#. Add comment if available
+#: ../src/viktrwlayer.c:2690
+#, c-format
+msgid "%s | %s %s | Comment: %s"
+msgstr ""
+
+#: ../src/viktrwlayer.c:2692
+#, c-format
+msgid "%s | %s %s"
+msgstr ""
+
+#: ../src/viktrwlayer.c:2939 ../src/viktrwlayer.c:3010
+msgid "This layer has no waypoints or trackpoints."
+msgstr ""
+
+#: ../src/viktrwlayer.c:3045 ../src/vikwindow.c:2754 ../src/vikwindow.c:3407
+#, c-format
+msgid "The file \"%s\" exists, do you wish to overwrite it?"
+msgstr ""
+
+#: ../src/viktrwlayer.c:3057 ../src/vikwindow.c:2778
+msgid "The filename you requested could not be opened for writing."
+msgstr ""
+
+#: ../src/viktrwlayer.c:3062 ../src/viktrwlayer.c:3067
+#: ../src/viktrwlayer.c:3077 ../src/viktrwlayer.c:3089
+msgid "Export Layer"
+msgstr ""
+
+#: ../src/viktrwlayer.c:3108
+msgid "Could not create temporary file for export."
+msgstr ""
+
+#: ../src/viktrwlayer.c:3117
+#, c-format
+msgid "Could not launch %s."
+msgstr ""
+
+#: ../src/viktrwlayer.c:3161
+msgid "Export Track as GPX"
+msgstr ""
+
+#: ../src/viktrwlayer.c:3183
+msgid "Find"
+msgstr ""
+
+#: ../src/viktrwlayer.c:3193
+msgid "Waypoint Name:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:3210
+msgid "Waypoint not found in this layer."
+msgstr ""
+
+#: ../src/viktrwlayer.c:3476
+msgid "Can not upload invisible track."
+msgstr ""
+
+#: ../src/viktrwlayer.c:3581 ../src/viktrwlayer.c:9283
+msgid "Track"
+msgstr ""
+
+#: ../src/viktrwlayer.c:3606 ../src/viktrwlayer.c:9316
+msgid "Route"
+msgstr ""
+
+#: ../src/viktrwlayer.c:3691 ../src/viktrwlayer.c:7460
+#: ../src/viktrwlayer.c:7566
+msgid "_Finish Route"
+msgstr ""
+
+#: ../src/viktrwlayer.c:3693 ../src/viktrwlayer.c:7383
+#: ../src/viktrwlayer.c:7564
+msgid "_Finish Track"
+msgstr ""
+
+#. Now with icons
+#: ../src/viktrwlayer.c:3705
+msgid "_View Layer"
+msgstr ""
+
+#: ../src/viktrwlayer.c:3712
+msgid "V_iew"
+msgstr ""
+
+#: ../src/viktrwlayer.c:3718
+msgid "View All _Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer.c:3723
+msgid "View All _Routes"
+msgstr ""
+
+#: ../src/viktrwlayer.c:3728
+msgid "View All _Waypoints"
+msgstr ""
+
+#: ../src/viktrwlayer.c:3733
+msgid "_Goto Center of Layer"
+msgstr ""
+
+#: ../src/viktrwlayer.c:3739 ../src/viktrwlayer.c:7335
+msgid "Goto _Waypoint..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:3745
+msgid "_Export Layer"
+msgstr ""
+
+#: ../src/viktrwlayer.c:3751
+msgid "Export as GPS_Point..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:3756
+msgid "Export as GPS_Mapper..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:3761
+msgid "Export as _GPX..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:3766
+msgid "Export as _KML..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:3771
+msgid "Open with External Program_1: "
+msgstr ""
+
+#: ../src/viktrwlayer.c:3778
+msgid "Open with External Program_2: "
+msgstr ""
+
+#: ../src/viktrwlayer.c:3786 ../src/vikwindow.c:3704
+msgid "_New"
+msgstr ""
+
+#: ../src/viktrwlayer.c:3792
+msgid "New _Waypoint..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:3798
+msgid "New _Track"
+msgstr ""
+
+#: ../src/viktrwlayer.c:3806
+msgid "New _Route"
+msgstr ""
+
+#: ../src/viktrwlayer.c:3815 ../src/viktrwlayer.c:7938
+msgid "Geotag _Images..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:3822
+msgid "_Acquire"
+msgstr ""
+
+#: ../src/viktrwlayer.c:3828 ../src/vikwindow.c:3711
+msgid "From _GPS..."
+msgstr ""
+
+#. FIXME: only add menu when at least a routing engine has support for Directions
+#: ../src/viktrwlayer.c:3834
+msgid "From _Directions..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:3840
+msgid "From _OSM Traces..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:3845
+msgid "From _My OSM Traces..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:3853 ../src/vikwindow.c:3725
+msgid "From _Wikipedia Waypoints"
+msgstr ""
+
+#: ../src/viktrwlayer.c:3859
+msgid "Within _Layer Bounds"
+msgstr ""
+
+#: ../src/viktrwlayer.c:3865
+msgid "Within _Current View"
+msgstr ""
+
+#: ../src/viktrwlayer.c:3873
+msgid "From Geo_caching..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:3880 ../src/vikwindow.c:3722
+msgid "From Geotagged _Images..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:3886
+msgid "From _File..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:3894 ../src/viktrwlayer.c:7883
+msgid "_Upload"
+msgstr ""
+
+#: ../src/viktrwlayer.c:3900
+msgid "Upload to _GPS..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:3907 ../src/viktrwlayer.c:7911
+msgid "Upload to _OSM..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:3915
+msgid "De_lete"
+msgstr ""
+
+#: ../src/viktrwlayer.c:3921
+msgid "Delete All _Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer.c:3927
+msgid "Delete Tracks _From Selection..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:3933 ../src/viktrwlayer.c:7485
+msgid "Delete _All Routes"
+msgstr ""
+
+#: ../src/viktrwlayer.c:3939 ../src/viktrwlayer.c:7491
+msgid "_Delete Routes From Selection..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:3945
+msgid "Delete All _Waypoints"
+msgstr ""
+
+#: ../src/viktrwlayer.c:3951
+msgid "Delete Waypoints From _Selection..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:4574
+#, c-format
+msgid "Are you sure you want to delete all tracks in %s?"
+msgstr ""
+
+#: ../src/viktrwlayer.c:4584
+#, c-format
+msgid "Are you sure you want to delete all routes in %s?"
+msgstr ""
+
+#: ../src/viktrwlayer.c:4594
+#, c-format
+msgid "Are you sure you want to delete all waypoints in %s?"
+msgstr ""
+
+#: ../src/viktrwlayer.c:4611
+#, c-format
+msgid "Are you sure you want to delete the waypoint \"%s\"?"
+msgstr ""
+
+#: ../src/viktrwlayer.c:4624
+#, c-format
+msgid "Are you sure you want to delete the track \"%s\"?"
+msgstr ""
+
+#: ../src/viktrwlayer.c:4637
+#, c-format
+msgid "Are you sure you want to delete the route \"%s\"?"
+msgstr ""
+
+#: ../src/viktrwlayer.c:4849 ../src/viktrwlayer.c:5677
+msgid ""
+"Converting a track to a route removes extra track data such as segments, "
+"timestamps, etc...\n"
+"Do you want to continue?"
+msgstr ""
+
+#: ../src/viktrwlayer.c:4944
+msgid "No DEM layers available, thus no DEM values can be applied."
+msgstr ""
+
+#: ../src/viktrwlayer.c:4964 ../src/viktrwlayer.c:5005
+#, c-format
+msgid "%ld point adjusted"
+msgid_plural "%ld points adjusted"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/viktrwlayer.c:5049
+#, c-format
+msgid "%ld waypoint changed"
+msgid_plural "%ld waypoints changed"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/viktrwlayer.c:5233
+#, c-format
+msgid ""
+"Refining a track with many points (%d) is unlikely to yield sensible "
+"results. Do you want to Continue?"
+msgstr ""
+
+#. Select engine from dialog
+#: ../src/viktrwlayer.c:5241
+msgid "Refine Route with Routing Engine..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:5249
+msgid "Select routing engine"
+msgstr ""
+
+#: ../src/viktrwlayer.c:5467
+msgid "Failed. No other tracks with timestamps in this layer found"
+msgstr ""
+
+#: ../src/viktrwlayer.c:5469
+msgid "Failed. No other tracks without timestamps in this layer found"
+msgstr ""
+
+#: ../src/viktrwlayer.c:5488
+msgid "Merge with..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:5489
+msgid "Select route to merge with"
+msgstr ""
+
+#: ../src/viktrwlayer.c:5489
+msgid "Select track to merge with"
+msgstr ""
+
+#: ../src/viktrwlayer.c:5573 ../src/viktrwlayer.c:5650
+msgid "Append Route"
+msgstr ""
+
+#: ../src/viktrwlayer.c:5573 ../src/viktrwlayer.c:5650
+msgid "Append Track"
+msgstr ""
+
+#: ../src/viktrwlayer.c:5574
+msgid "Select the route to append after the current route"
+msgstr ""
+
+#: ../src/viktrwlayer.c:5575
+msgid "Select the track to append after the current track"
+msgstr ""
+
+#: ../src/viktrwlayer.c:5651
+msgid "Select the track to append after the current route"
+msgstr ""
+
+#: ../src/viktrwlayer.c:5652
+msgid "Select the route to append after the current track"
+msgstr ""
+
+#: ../src/viktrwlayer.c:5711
+#, c-format
+msgid "%d segment merged"
+msgid_plural "%d segments merged"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/viktrwlayer.c:5727
+msgid "Failed. This track does not have timestamp"
+msgstr ""
+
+#: ../src/viktrwlayer.c:5739
+msgid "Failed. No other track in this layer has timestamp"
+msgstr ""
+
+#: ../src/viktrwlayer.c:5746
+msgid "Merge Threshold..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:5747
+msgid "Merge when time between tracks less than:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:5889
+msgid "Split Threshold..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:5890
+msgid "Split when time between trackpoints exceeds:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:5907
+#, c-format
+msgid ""
+"Can not split track due to trackpoints not ordered in time - such as at %s.\n"
+"\n"
+"Goto this trackpoint?"
+msgstr ""
+
+#: ../src/viktrwlayer.c:5976
+msgid "Split Every Nth Point"
+msgstr ""
+
+#: ../src/viktrwlayer.c:5977
+msgid "Split on every Nth point:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:6087
+msgid "Can not split track as it has no segments"
+msgstr ""
+
+#: ../src/viktrwlayer.c:6169 ../src/viktrwlayer.c:6199
+#, c-format
+msgid "Deleted %ld point"
+msgid_plural "Deleted %ld points"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/viktrwlayer.c:6392
+msgid "Internal Error in vik_trw_layer_uniquify_tracks"
+msgstr ""
+
+#: ../src/viktrwlayer.c:6496 ../src/viktrwlayer.c:6543
+#: ../src/viktrwlayer.c:6704
+msgid ""
+"Multiple entries with the same name exist. This method only works with "
+"unique names. Force unique names now?"
+msgstr ""
+
+#: ../src/viktrwlayer.c:6507
+msgid "No tracks found"
+msgstr ""
+
+#: ../src/viktrwlayer.c:6515 ../src/viktrwlayer.c:6562
+#: ../src/viktrwlayer.c:6724
+msgid "Delete Selection"
+msgstr ""
+
+#: ../src/viktrwlayer.c:6516
+msgid "Select tracks to delete"
+msgstr ""
+
+#: ../src/viktrwlayer.c:6554
+msgid "No routes found"
+msgstr ""
+
+#: ../src/viktrwlayer.c:6563
+msgid "Select routes to delete"
+msgstr ""
+
+#: ../src/viktrwlayer.c:6669
+msgid "Internal Error in vik_trw_layer_uniquify_waypoints"
+msgstr ""
+
+#: ../src/viktrwlayer.c:6714
+msgid "No waypoints found"
+msgstr ""
+
+#: ../src/viktrwlayer.c:6725
+msgid "Select waypoints to delete"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7033
+#, c-format
+msgid ""
+"A waypoint with the name \"%s\" already exists. Really rename to the same "
+"name?"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7063
+#, c-format
+msgid ""
+"A track with the name \"%s\" already exists. Really rename to the same name?"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7100
+#, c-format
+msgid ""
+"A route with the name \"%s\" already exists. Really rename to the same name?"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7221 ../src/viktrwlayer.c:7594
+msgid "_Goto"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7240
+msgid "_Visit Geocache Webpage"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7259
+msgid "_Show Picture..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7267
+msgid "Update Geotag on _Image"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7273
+msgid "_Update"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7278
+msgid "Update and _Keep File Timestamp"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7289
+msgid "Visit _Webpage"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7320
+msgid "_New Waypoint..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7329
+msgid "_View All Waypoints"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7341
+msgid "Delete _All Waypoints"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7347
+msgid "_Delete Waypoints From Selection..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7359
+msgid "_Show All Waypoints"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7365
+msgid "_Hide All Waypoints"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7393
+msgid "_View All Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7399
+msgid "_New Track"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7407
+msgid "Delete _All Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7413
+msgid "_Delete Tracks From Selection..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7425
+msgid "_Show All Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7431
+msgid "_Hide All Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7442
+msgid "_List Tracks..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7471
+msgid "_View All Routes"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7477
+msgid "_New Route"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7503
+msgid "_Show All Routes"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7509
+msgid "_Hide All Routes"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7520
+msgid "_List Routes..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7579
+msgid "_View Track"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7581
+msgid "_View Route"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7600
+msgid "_Startpoint"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7606
+msgid "\"_Center\""
+msgstr ""
+
+#: ../src/viktrwlayer.c:7612
+msgid "_Endpoint"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7618
+msgid "_Highest Altitude"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7624
+msgid "_Lowest Altitude"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7632
+msgid "_Maximum Speed"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7641
+msgid "Co_mbine"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7649
+msgid "_Merge By Time..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7654
+msgid "Merge _Segments"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7660
+msgid "Merge _With Other Tracks..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7666
+msgid "_Append Track..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7668
+msgid "_Append Route..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7674
+msgid "Append _Route..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7676
+msgid "Append _Track..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7683
+msgid "_Split"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7691
+msgid "_Split By Time..."
+msgstr ""
+
+#. ATM always enable this entry - don't want to have to analyse the track before displaying the menu - to keep the menu speedy
+#: ../src/viktrwlayer.c:7697
+msgid "Split Se_gments"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7703
+msgid "Split By _Number of Points..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7708
+msgid "Split at _Trackpoint"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7716
+msgid "_Insert Points"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7722
+msgid "Insert Point _Before Selected Point"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7729
+msgid "Insert Point _After Selected Point"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7738
+msgid "Delete Poi_nts"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7744
+msgid "Delete _Selected Point"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7752
+msgid "Delete Points With The Same _Position"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7757
+msgid "Delete Points With The Same _Time"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7764 ../src/viktrwlayer.c:7964
+msgid "_Transform"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7772 ../src/viktrwlayer.c:7972
+msgid "_Apply DEM Data"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7777 ../src/viktrwlayer.c:7977
+msgid "_Overwrite"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7780 ../src/viktrwlayer.c:7980
+msgid "Overwrite any existing elevation values with DEM values"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7783 ../src/viktrwlayer.c:7983
+msgid "_Keep Existing"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7786 ../src/viktrwlayer.c:7986
+msgid "Keep existing elevation values, only attempt for missing values"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7791
+msgid "_Smooth Missing Elevation Data"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7796
+msgid "_Interpolated"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7799
+msgid ""
+"Interpolate between known elevation values to derive values for the missing "
+"elevations"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7802
+msgid "_Flat"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7805
+msgid "Set unknown elevation values to the last known value"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7809
+msgid "C_onvert to a Route"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7811
+msgid "C_onvert to a Track"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7819
+msgid "_Anonymize Times"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7822
+msgid "Shift timestamps to a relative offset from 1901-01-01"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7827
+msgid "_Reverse Track"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7829
+msgid "_Reverse Route"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7836
+msgid "Refine Route..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7846
+msgid "Down_load Maps Along Track..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7848
+msgid "Down_load Maps Along Route..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7856
+msgid "_Export Track as GPX..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7858
+msgid "_Export Route as GPX..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7865
+msgid "E_xtend Track End"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7867
+msgid "E_xtend Route End"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7874
+msgid "Extend _Using Route Finder"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7889
+msgid "_Upload to GPS..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7900
+msgid "_View Google Directions"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7920
+msgid "Use with _Filter"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7953
+msgid "_Edit Trackpoint"
+msgstr ""
+
+#: ../src/viktrwlayer.c:9017
+#, c-format
+msgid " - Gain %dm:Loss %dm"
+msgstr ""
+
+#: ../src/viktrwlayer.c:9019
+#, c-format
+msgid " - Gain %dft:Loss %dft"
+msgstr ""
+
+#: ../src/viktrwlayer.c:9024
+#, c-format
+msgid " - Bearing %3.1f° - Step %s"
+msgstr ""
+
+#: ../src/viktrwlayer.c:9628
+#, c-format
+msgid "Could not launch %s to open file."
+msgstr ""
+
+#: ../src/viktrwlayer.c:9709
+#, c-format
+msgid "Creating %d Image Thumbnails..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:10106
+msgid "No map layer in use. Create one first"
+msgstr ""
+
+#: ../src/viktrwlayer.c:10225
+#, c-format
+msgid "%s: Track List"
+msgstr ""
+
+#: ../src/viktrwlayer.c:10227
+#, c-format
+msgid "%s: Route List"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:828 ../src/viktrwlayer_propwin.c:1085
+#, c-format
+msgid "%.1f kph"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:831 ../src/viktrwlayer_propwin.c:1088
+#: ../src/viktrwlayer_analysis.c:290
+#, c-format
+msgid "%.1f mph"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:834 ../src/viktrwlayer_propwin.c:1091
+#, c-format
+msgid "%.1f knots"
+msgstr ""
+
+#. VIK_UNITS_SPEED_METRES_PER_SECOND:
+#: ../src/viktrwlayer_propwin.c:838 ../src/viktrwlayer_propwin.c:1095
+#, c-format
+msgid "%.1f m/s"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:1662 ../src/viktrwlayer_analysis.c:267
+#, c-format
+msgid "%.1f miles"
+msgstr ""
+
+#. VIK_UNITS_DISTANCE_KILOMETRES
+#: ../src/viktrwlayer_propwin.c:1664 ../src/viktrwlayer_analysis.c:271
+#, c-format
+msgid "%.1f km"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2582
+msgid "Failed spliting track. Track unchanged"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2724 ../src/viktrwlayer_propwin.c:3140
+#, c-format
+msgid "%s - Track Properties"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2729
+msgid "Split at _Marker"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2730
+msgid "Split _Segments"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2731
+msgid "_Reverse"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2732
+msgid "_Delete Dupl."
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2757
+msgid "<b>Comment:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2758
+msgid "<b>Description:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2759
+msgid "<b>Color:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2760
+msgid "<b>Draw Name:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2761
+msgid "<b>Distance Labels:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2764
+msgid "<b>Track Length:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2765
+msgid "<b>Trackpoints:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2766
+msgid "<b>Segments:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2767
+msgid "<b>Duplicate Points:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2768
+msgid "<b>Max Speed:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2769
+msgid "<b>Avg. Speed:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2770
+msgid "<b>Moving Avg. Speed:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2771
+msgid "<b>Avg. Dist. Between TPs:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2772
+msgid "<b>Elevation Range:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2773
+msgid "<b>Total Elevation Gain/Loss:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2774
+msgid "<b>Start:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2775
+msgid "<b>End:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2776
+msgid "<b>Duration:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2797
+msgid "No"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2798
+msgid "Centre"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2799
+msgid "Start only"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2800
+msgid "End only"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2801
+msgid "Start and End"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2802
+msgid "Centre, Start and End"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2814
+msgid "Maximum number of distance labels to be shown"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2818
+msgid "Properties"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2856 ../src/viktrwlayer_propwin.c:2880
+#: ../src/viktrwlayer_propwin.c:2908 ../src/viktrwlayer_propwin.c:2945
+#: ../src/viktrwlayer_propwin.c:2963 ../src/viktrwlayer_propwin.c:3009
+#: ../src/viktrwlayer_propwin.c:3010 ../src/viktrwlayer_propwin.c:3011
+#: ../src/viktrwlayer_propwin.c:3020 ../src/viktrwlayer_propwin.c:3021
+#: ../src/viktrwlayer_propwin.c:3036 ../src/viktrwlayer_propwin.c:3037
+#: ../src/viktrwlayer_propwin.c:3050 ../src/viktrwlayer_propwin.c:3051
+#: ../src/viktrwlayer_propwin.c:3064 ../src/viktrwlayer_propwin.c:3065
+#: ../src/viktrwlayer_propwin.c:3078 ../src/viktrwlayer_propwin.c:3079
+#: ../src/viktrwlayer_propwin.c:3092 ../src/viktrwlayer_propwin.c:3093
+#: ../src/viktrwlayer_analysis.c:257
+#, c-format
+msgid "No Data"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:3006
+#, c-format
+msgid "%d minutes"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:3016 ../src/viktrwlayer_analysis.c:515
+msgid "Statistics"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:3022
+msgid "Show D_EM"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:3023 ../src/viktrwlayer_propwin.c:3038
+#: ../src/viktrwlayer_propwin.c:3052 ../src/viktrwlayer_propwin.c:3094
+msgid "Show _GPS Speed"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:3025 ../src/viktrwlayer_propwin.c:3040
+#: ../src/viktrwlayer_propwin.c:3068 ../src/viktrwlayer_propwin.c:3096
+msgid "<b>Track Distance:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:3026 ../src/viktrwlayer_propwin.c:3083
+msgid "<b>Track Height:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:3031
+msgid "Elevation-distance"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:3041
+msgid "<b>Track Gradient:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:3045
+msgid "Gradient-distance"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:3054 ../src/viktrwlayer_propwin.c:3069
+#: ../src/viktrwlayer_propwin.c:3082
+msgid "<b>Track Time:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:3055 ../src/viktrwlayer_propwin.c:3097
+msgid "<b>Track Speed:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:3059
+msgid "Speed-time"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:3066 ../src/viktrwlayer_propwin.c:3080
+msgid "Show S_peed"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:3073
+msgid "Distance-time"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:3087
+msgid "Elevation-time"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:3101
+msgid "Speed-distance"
+msgstr ""
+
+#: ../src/viktrwlayer_tpwin.c:119
+msgid "<b>Part of Track:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_tpwin.c:120
+msgid "<b>Latitude:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_tpwin.c:121
+msgid "<b>Longitude:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_tpwin.c:122
+msgid "<b>Altitude:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_tpwin.c:123
+msgid "<b>Course:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_tpwin.c:124
+msgid "<b>Timestamp:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_tpwin.c:125
+msgid "<b>Time:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_tpwin.c:126
+msgid "<b>Distance Difference:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_tpwin.c:127
+msgid "<b>Time Difference:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_tpwin.c:128
+msgid "<b>\"Speed\" Between:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_tpwin.c:129
+msgid "<b>Speed:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_tpwin.c:130
+msgid "<b>VDOP:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_tpwin.c:131
+msgid "<b>HDOP:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_tpwin.c:132
+msgid "<b>PDOP:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_tpwin.c:133
+msgid "<b>SAT/FIX:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_tpwin.c:141
+msgid "Trackpoint"
+msgstr ""
+
+#: ../src/viktrwlayer_tpwin.c:144
+msgid "_Insert After"
+msgstr ""
+
+#: ../src/viktrwlayer_tpwin.c:146
+msgid "Split Here"
+msgstr ""
+
+#.
+#. item = gtk_image_menu_item_new_with_mnemonic ( _("_Select") );
+#. gtk_image_menu_item_set_image ( (GtkImageMenuItem*)item, gtk_image_new_from_stock (GTK_STOCK_FIND, GTK_ICON_SIZE_MENU) );
+#. g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(trw_layer_track_select), values );
+#. gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
+#. gtk_widget_show ( item );
+#.
+#. ATM view auto selects, so don't bother with separate select menu entry
+#: ../src/viktrwlayer_tracklist.c:231 ../src/vikwindow.c:3695
+msgid "_View"
+msgstr ""
+
+#. Insert column for the layer name when viewing multi layers
+#: ../src/viktrwlayer_tracklist.c:514
+msgid "Layer"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:526
+msgid "Date"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:529
+msgid "Visible"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:536
+msgid ""
+"Distance\n"
+"(miles)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:539
+msgid ""
+"Distance\n"
+"(km)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:545
+msgid ""
+"Length\n"
+"(minutes)"
+msgstr ""
+
+#. VIK_UNITS_SPEED_KILOMETRES_PER_HOUR:
+#: ../src/viktrwlayer_tracklist.c:549 ../src/vikutils.c:72
+msgid "km/h"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:550 ../src/vikutils.c:62
+msgid "mph"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:551 ../src/vikutils.c:68
+msgid "knots"
+msgstr ""
+
+#. VIK_UNITS_SPEED_METRES_PER_SECOND:
+#: ../src/viktrwlayer_tracklist.c:553 ../src/vikutils.c:65
+msgid "m/s"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:556
+#, c-format
+msgid ""
+"Av. Speed\n"
+"(%s)"
+msgstr ""
+
+#. Apply own formatting of the data
+#: ../src/viktrwlayer_tracklist.c:561
+#, c-format
+msgid ""
+"Max Speed\n"
+"(%s)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:569
+msgid ""
+"Max Height\n"
+"(Feet)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:571
+msgid ""
+"Max Height\n"
+"(Metres)"
+msgstr ""
+
+#: ../src/viktrwlayer_geotag.c:481
+#, c-format
+msgid "Geotagging %d Images..."
+msgstr ""
+
+#: ../src/viktrwlayer_geotag.c:545
+msgid "Geotag Images"
+msgstr ""
+
+#: ../src/viktrwlayer_geotag.c:551
+msgid "Images"
+msgstr ""
+
+#: ../src/viktrwlayer_geotag.c:555
+msgid "Overwrite Existing Waypoints:"
+msgstr ""
+
+#: ../src/viktrwlayer_geotag.c:558
+msgid "Overwrite Existing GPS Information:"
+msgstr ""
+
+#: ../src/viktrwlayer_geotag.c:560
+msgid "Keep File Modification Timestamp:"
+msgstr ""
+
+#: ../src/viktrwlayer_geotag.c:592
+msgid "Create Waypoints:"
+msgstr ""
+
+#: ../src/viktrwlayer_geotag.c:600
+msgid "Write EXIF:"
+msgstr ""
+
+#: ../src/viktrwlayer_geotag.c:612
+msgid "Interpolate Between Track Segments:"
+msgstr ""
+
+#: ../src/viktrwlayer_geotag.c:616
+msgid "Image Time Offset (Seconds):"
+msgstr ""
+
+#: ../src/viktrwlayer_geotag.c:618
+msgid ""
+"The number of seconds to ADD to the photos time to make it match the GPS "
+"data. Calculate this with (GPS - Photo). Can be negative or positive. Useful "
+"to adjust times when a camera's timestamp was incorrect."
+msgstr ""
+
+#: ../src/viktrwlayer_geotag.c:621
+msgid "Image Timezone:"
+msgstr ""
+
+#: ../src/viktrwlayer_geotag.c:623
+msgid ""
+"The timezone that was used when the images were created. For example, if a "
+"camera is set to AWST or +8:00 hours. Enter +8:00 here so that the correct "
+"adjustment to the images' time can be made. GPS data is always in UTC."
+msgstr ""
+
+#: ../src/viktrwlayer_geotag.c:627
+#, c-format
+msgid "Using track: %s"
+msgstr ""
+
+#: ../src/viktrwlayer_geotag.c:629
+#, c-format
+msgid "Using all tracks in: %s"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:193
+msgid "Number of Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:194
+msgid "Date Range"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:195
+msgid "Total Length"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:196
+msgid "Average Length"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:197
+msgid "Max Speed"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:198
+msgid "Avg. Speed"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:199
+msgid "Minimum Altitude"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:200
+msgid "Maximum Altitude"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:201
+msgid "Total Elevation Gain/Loss"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:202
+msgid "Avg. Elevation Gain/Loss"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:203
+msgid "Total Duration"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:204
+msgid "Avg. Duration"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:278
+#, c-format
+msgid "%.2f miles"
+msgstr ""
+
+#. VIK_UNITS_DISTANCE_KILOMETRES
+#: ../src/viktrwlayer_analysis.c:282
+#, c-format
+msgid "%.2f km"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:297
+#, c-format
+msgid "%.2f m/s"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:306
+#, c-format
+msgid "%.2f knots\n"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:309
+#, c-format
+msgid "%.2f knots"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:316 ../src/viktrwlayer_analysis.c:319
+#, c-format
+msgid "%.2f km/h"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:330 ../src/viktrwlayer_analysis.c:336
+#, c-format
+msgid "%d feet"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:341 ../src/viktrwlayer_analysis.c:343
+#, c-format
+msgid "%d feet / %d feet"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:348 ../src/viktrwlayer_analysis.c:354
+#, c-format
+msgid "%d m"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:359 ../src/viktrwlayer_analysis.c:361
+#, c-format
+msgid "%d m / %d m"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:373
+#, c-format
+msgid "%d:%02d:%02d days:hrs:mins"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:380
+#, c-format
+msgid "%d:%02d hrs:mins"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:550
+msgid "Include Invisible Items"
+msgstr ""
+
+#: ../src/vikstatus.c:107
+msgid "Current number of background tasks. Click to see the background jobs."
+msgstr ""
+
+#: ../src/vikstatus.c:113
+msgid "Current zoom level. Click to select a new one."
+msgstr ""
+
+#: ../src/vikutils.c:80
+msgid "GPSD"
+msgstr ""
+
+#. GPS Preamble
+#: ../src/vikutils.c:81
+msgid "Trkpt"
+msgstr ""
+
+#: ../src/vikutils.c:121
+#, c-format
+msgid "%sSpeed%s %.1f%s"
+msgstr ""
+
+#: ../src/vikutils.c:130
+#, c-format
+msgid "%sAlt %dfeet"
+msgstr ""
+
+#. VIK_UNITS_HEIGHT_METRES:
+#: ../src/vikutils.c:134
+#, c-format
+msgid "%sAlt %dm"
+msgstr ""
+
+#: ../src/vikutils.c:142
+#, c-format
+msgid "%sCourse %03d°"
+msgstr ""
+
+#: ../src/vikutils.c:155
+msgid "yards"
+msgstr ""
+
+#. VIK_UNITS_DISTANCE_KILOMETRES:
+#: ../src/vikutils.c:159
+msgid "m"
+msgstr ""
+
+#: ../src/vikutils.c:163
+#, c-format
+msgid "%sDistance diff %d%s"
+msgstr ""
+
+#: ../src/vikutils.c:179
+#, c-format
+msgid "%sTime %s"
+msgstr ""
+
+#: ../src/vikutils.c:187
+#, c-format
+msgid "%sTime diff %lds"
+msgstr ""
+
+#: ../src/vikutils.c:193
+#, c-format
+msgid "%sNo. of Sats %d"
+msgstr ""
+
+#: ../src/vikutils.c:213
+#, c-format
+msgid "%sDistance along %.2f%s"
+msgstr ""
+
+#. Name of track
+#: ../src/vikutils.c:232
+#, c-format
+msgid "%sTrack: %s"
+msgstr ""
+
+#: ../src/vikwaypoint.c:36
+msgid "Waypoint"
+msgstr ""
+
+#. TODO get rid of this as this is unnecessary duplication...
+#: ../src/vikwindow.c:224
+msgid "Pan"
+msgstr ""
+
+#: ../src/vikwindow.c:224
+msgid "Zoom"
+msgstr ""
+
+#: ../src/vikwindow.c:224
+msgid "Ruler"
+msgstr ""
+
+#: ../src/vikwindow.c:224
+msgid "Select"
+msgstr ""
+
+#: ../src/vikwindow.c:381
+msgid "Location lookup aborted"
+msgstr ""
+
+#: ../src/vikwindow.c:401
+#, c-format
+msgid "Location found: %s"
+msgstr ""
+
+#: ../src/vikwindow.c:410
+msgid "Unable to determine location"
+msgstr ""
+
+#: ../src/vikwindow.c:434
+msgid "Default Map"
+msgstr ""
+
+#: ../src/vikwindow.c:444
+msgid "Trying to determine location..."
+msgstr ""
+
+#: ../src/vikwindow.c:447
+msgid "Determining location"
+msgstr ""
+
+#. Create tooltip
+#: ../src/vikwindow.c:605
+msgid "Select zoom level"
+msgstr ""
+
+#: ../src/vikwindow.c:923
+#, c-format
+msgid ""
+"Do you want to save the changes you made to the document \"%s\"?\n"
+"\n"
+"Your changes will be lost if you don't save them."
+msgstr ""
+
+#: ../src/vikwindow.c:927
+msgid "Don't Save"
+msgstr ""
+
+#: ../src/vikwindow.c:1005
+msgid "mpp"
+msgstr ""
+
+#: ../src/vikwindow.c:1005
+msgid "pixelfact"
+msgstr ""
+
+#: ../src/vikwindow.c:1169
+#, c-format
+msgid "%s %s %dm"
+msgstr ""
+
+#: ../src/vikwindow.c:1171
+#, c-format
+msgid "%s %s %dft"
+msgstr ""
+
+#: ../src/vikwindow.c:1174
+#, c-format
+msgid "%s %s"
+msgstr ""
+
+#. NB Ctrl+Shift+R is used for Refresh (deemed more important), so use 'U' instead
+#: ../src/vikwindow.c:1562
+msgid "_Ruler"
+msgstr ""
+
+#: ../src/vikwindow.c:1562
+msgid "Ruler Tool"
+msgstr ""
+
+#: ../src/vikwindow.c:1810 ../src/vikwindow.c:3697
+msgid "_Zoom"
+msgstr ""
+
+#: ../src/vikwindow.c:1810
+msgid "Zoom Tool"
+msgstr ""
+
+#: ../src/vikwindow.c:1855 ../src/vikwindow.c:3698
+msgid "_Pan"
+msgstr ""
+
+#: ../src/vikwindow.c:1855
+msgid "Pan Tool"
+msgstr ""
+
+#: ../src/vikwindow.c:1972
+msgid "_Select"
+msgstr ""
+
+#: ../src/vikwindow.c:1972
+msgid "Select Tool"
+msgstr ""
+
+#: ../src/vikwindow.c:2123
+msgid "You must select a layer to show its properties."
+msgstr ""
+
+#. No error to show, so unlikely this will get called
+#: ../src/vikwindow.c:2137
+msgid "The help system is not available."
+msgstr ""
+
+#. Main error path
+#: ../src/vikwindow.c:2140
+#, c-format
+msgid ""
+"Help is not available because: %s.\n"
+"Ensure a Mime Type ghelp handler program is installed (e.g. yelp)."
+msgstr ""
+
+#: ../src/vikwindow.c:2160
+msgid "You must select a layer to delete."
+msgstr ""
+
+#: ../src/vikwindow.c:2396
+msgid "Untitled"
+msgstr ""
+
+#: ../src/vikwindow.c:2503
+#, c-format
+msgid "Unable to add '%s' to the list of recently used documents"
+msgstr ""
+
+#: ../src/vikwindow.c:2540
+msgid "The file you requested could not be opened."
+msgstr ""
+
+#: ../src/vikwindow.c:2543
+msgid ""
+"GPSBabel is required to load files of this type or GPSBabel encountered "
+"problems."
+msgstr ""
+
+#: ../src/vikwindow.c:2546
+#, c-format
+msgid "Unable to load malformed GPX file %s"
+msgstr ""
+
+#: ../src/vikwindow.c:2549
+#, c-format
+msgid "Unsupported file type for %s"
+msgstr ""
+
+#. Since we can process .vik files with issues just show a warning in the status bar
+#. Not that a user can do much about it... or tells them what this issue is yet...
+#: ../src/vikwindow.c:2555
+#, c-format
+msgid "WARNING: issues encountered loading %s"
+msgstr ""
+
+#: ../src/vikwindow.c:2613
+msgid "Please select a GPS data file to open. "
+msgstr ""
+
+#: ../src/vikwindow.c:2629
+msgid "Geocaching"
+msgstr ""
+
+#: ../src/vikwindow.c:2635
+msgid "Google Earth"
+msgstr ""
+
+#: ../src/vikwindow.c:2640
+msgid "GPX"
+msgstr ""
+
+#: ../src/vikwindow.c:2645 ../src/vikwindow.c:2734
+#: ../src/viking.desktop.in.h:1
+msgid "Viking"
+msgstr ""
+
+#: ../src/vikwindow.c:2715
+msgid "Save as Viking File."
+msgstr ""
+
+#: ../src/vikwindow.c:2841
+msgid "Exporting to file: "
+msgstr ""
+
+#. Confirm what happened.
+#: ../src/vikwindow.c:2858
+#, c-format
+msgid "Exported files: %d"
+msgstr ""
+
+#: ../src/vikwindow.c:2870
+msgid "Nothing to Export!"
+msgstr ""
+
+#: ../src/vikwindow.c:2874
+msgid "Export to directory"
+msgstr ""
+
+#: ../src/vikwindow.c:2896
+msgid "Could not convert all files"
+msgstr ""
+
+#: ../src/vikwindow.c:2932
+#, c-format
+msgid "%d bytes"
+msgstr ""
+
+#: ../src/vikwindow.c:2934
+#, c-format
+msgid "%3.1f kB"
+msgstr ""
+
+#: ../src/vikwindow.c:2936
+#, c-format
+msgid "%3.1f MB"
+msgstr ""
+
+#: ../src/vikwindow.c:2937
+#, c-format
+msgid ""
+"%s\n"
+"\n"
+"%s\n"
+"\n"
+"%s"
+msgstr ""
+
+#: ../src/vikwindow.c:2942
+msgid "File not accessible"
+msgstr ""
+
+#: ../src/vikwindow.c:2945
+msgid "No Viking File"
+msgstr ""
+
+#: ../src/vikwindow.c:3035
+msgid "This layer has no configurable properties."
+msgstr ""
+
+#. Try harder...
+#: ../src/vikwindow.c:3169 ../src/vikwindow.c:3175
+msgid "Generating image file..."
+msgstr ""
+
+#: ../src/vikwindow.c:3197
+msgid ""
+"Failed to generate internal image.\n"
+"\n"
+"Try creating a smaller image."
+msgstr ""
+
+#: ../src/vikwindow.c:3205
+msgid "Failed to generate image file."
+msgstr ""
+
+#. Success
+#: ../src/vikwindow.c:3210
+msgid "Image file generated."
+msgstr ""
+
+#: ../src/vikwindow.c:3314
+msgid ""
+"Viewable region outside allowable pixel size bounds for image. Clipping "
+"width/height values."
+msgstr ""
+
+#: ../src/vikwindow.c:3339
+#, c-format
+msgid "Total area: %ldm x %ldm (%.3f sq. km)"
+msgstr ""
+
+#: ../src/vikwindow.c:3342
+#, c-format
+msgid "Total area: %ldm x %ldm (%.3f sq. miles)"
+msgstr ""
+
+#: ../src/vikwindow.c:3363
+msgid "Save Image"
+msgstr ""
+
+#: ../src/vikwindow.c:3393
+msgid "PNG"
+msgstr ""
+
+#: ../src/vikwindow.c:3416
+msgid "You must be in UTM mode to use this feature"
+msgstr ""
+
+#: ../src/vikwindow.c:3421
+msgid "Choose a directory to hold images"
+msgstr ""
+
+#. todo: default for answers inside VikWindow or static (thruout instance)
+#: ../src/vikwindow.c:3442
+msgid "Save to Image File"
+msgstr ""
+
+#: ../src/vikwindow.c:3459
+msgid "Width (pixels):"
+msgstr ""
+
+#: ../src/vikwindow.c:3461
+msgid "Height (pixels):"
+msgstr ""
+
+#: ../src/vikwindow.c:3464
+msgid ""
+"WARNING: USING LARGE IMAGES OVER 10000x10000\n"
+"MAY CRASH THE PROGRAM!"
+msgstr ""
+
+#: ../src/vikwindow.c:3466
+msgid "Zoom (meters per pixel):"
+msgstr ""
+
+#: ../src/vikwindow.c:3482
+msgid "Area in current viewable window"
+msgstr ""
+
+#: ../src/vikwindow.c:3492
+msgid "Save as PNG"
+msgstr ""
+
+#: ../src/vikwindow.c:3493
+msgid "Save as JPEG"
+msgstr ""
+
+#: ../src/vikwindow.c:3515
+msgid "East-west image tiles:"
+msgstr ""
+
+#: ../src/vikwindow.c:3517
+msgid "North-south image tiles:"
+msgstr ""
+
+#: ../src/vikwindow.c:3656
+msgid "Choose a background color"
+msgstr ""
+
+#: ../src/vikwindow.c:3672
+msgid "Choose a track highlight color"
+msgstr ""
+
+#: ../src/vikwindow.c:3693
+msgid "_File"
+msgstr ""
+
+#: ../src/vikwindow.c:3694
+msgid "_Edit"
+msgstr ""
+
+#: ../src/vikwindow.c:3696
+msgid "_Show"
+msgstr ""
+
+#: ../src/vikwindow.c:3699
+msgid "_Layers"
+msgstr ""
+
+#: ../src/vikwindow.c:3700
+msgid "_Tools"
+msgstr ""
+
+#: ../src/vikwindow.c:3701
+msgid "_Webtools"
+msgstr ""
+
+#: ../src/vikwindow.c:3702 ../src/vikwindow.c:3763
+msgid "_Help"
+msgstr ""
+
+#: ../src/vikwindow.c:3704
+msgid "New file"
+msgstr ""
+
+#: ../src/vikwindow.c:3705
+msgid "_Open..."
+msgstr ""
+
+#: ../src/vikwindow.c:3705
+msgid "Open a file"
+msgstr ""
+
+#: ../src/vikwindow.c:3706
+msgid "Open _Recent File"
+msgstr ""
+
+#: ../src/vikwindow.c:3707
+msgid "Append _File..."
+msgstr ""
+
+#: ../src/vikwindow.c:3707
+msgid "Append data from a different file"
+msgstr ""
+
+#: ../src/vikwindow.c:3708
+msgid "_Export All"
+msgstr ""
+
+#: ../src/vikwindow.c:3708
+msgid "Export All TrackWaypoint Layers"
+msgstr ""
+
+#: ../src/vikwindow.c:3709
+msgid "_GPX..."
+msgstr ""
+
+#: ../src/vikwindow.c:3709
+msgid "Export as GPX"
+msgstr ""
+
+#: ../src/vikwindow.c:3710
+msgid "A_cquire"
+msgstr ""
+
+#: ../src/vikwindow.c:3711
+msgid "Transfer data from a GPS device"
+msgstr ""
+
+#: ../src/vikwindow.c:3712
+msgid "Import File With GPS_Babel..."
+msgstr ""
+
+#: ../src/vikwindow.c:3712
+msgid "Import file via GPSBabel converter"
+msgstr ""
+
+#: ../src/vikwindow.c:3713
+msgid "_Directions..."
+msgstr ""
+
+#: ../src/vikwindow.c:3713
+msgid "Get driving directions"
+msgstr ""
+
+#: ../src/vikwindow.c:3715
+msgid "_OSM Traces..."
+msgstr ""
+
+#: ../src/vikwindow.c:3715
+msgid "Get traces from OpenStreetMap"
+msgstr ""
+
+#: ../src/vikwindow.c:3716
+msgid "_My OSM Traces..."
+msgstr ""
+
+#: ../src/vikwindow.c:3716
+msgid "Get Your Own Traces from OpenStreetMap"
+msgstr ""
+
+#: ../src/vikwindow.c:3719
+msgid "Geo_caches..."
+msgstr ""
+
+#: ../src/vikwindow.c:3719
+msgid "Get Geocaches from geocaching.com"
+msgstr ""
+
+#: ../src/vikwindow.c:3722
+msgid "Create waypoints from geotagged images"
+msgstr ""
+
+#: ../src/vikwindow.c:3725
+msgid "Create waypoints from Wikipedia items in the current view"
+msgstr ""
+
+#: ../src/vikwindow.c:3727
+msgid "_Save"
+msgstr ""
+
+#: ../src/vikwindow.c:3727
+msgid "Save the file"
+msgstr ""
+
+#: ../src/vikwindow.c:3728
+msgid "Save _As..."
+msgstr ""
+
+#: ../src/vikwindow.c:3728
+msgid "Save the file under different name"
+msgstr ""
+
+#: ../src/vikwindow.c:3729
+msgid "Properties..."
+msgstr ""
+
+#: ../src/vikwindow.c:3729
+msgid "File Properties"
+msgstr ""
+
+#: ../src/vikwindow.c:3730
+msgid "_Generate Image File..."
+msgstr ""
+
+#: ../src/vikwindow.c:3730
+msgid "Save a snapshot of the workspace into a file"
+msgstr ""
+
+#: ../src/vikwindow.c:3731
+msgid "Generate _Directory of Images..."
+msgstr ""
+
+#: ../src/vikwindow.c:3731
+msgid "FIXME:IMGDIR"
+msgstr ""
+
+#: ../src/vikwindow.c:3732
+msgid "_Print..."
+msgstr ""
+
+#: ../src/vikwindow.c:3732
+msgid "Print maps"
+msgstr ""
+
+#: ../src/vikwindow.c:3733
+msgid "E_xit"
+msgstr ""
+
+#: ../src/vikwindow.c:3733
+msgid "Exit the program"
+msgstr ""
+
+#: ../src/vikwindow.c:3734
+msgid "Save and Exit"
+msgstr ""
+
+#: ../src/vikwindow.c:3734
+msgid "Save and Exit the program"
+msgstr ""
+
+#: ../src/vikwindow.c:3736
+msgid "Go to the _Default Location"
+msgstr ""
+
+#: ../src/vikwindow.c:3736
+msgid "Go to the default location"
+msgstr ""
+
+#: ../src/vikwindow.c:3737
+msgid "Go to _Location..."
+msgstr ""
+
+#: ../src/vikwindow.c:3737
+msgid "Go to address/place using text search"
+msgstr ""
+
+#: ../src/vikwindow.c:3738
+msgid "_Go to Lat/Lon..."
+msgstr ""
+
+#: ../src/vikwindow.c:3738
+msgid "Go to arbitrary lat/lon coordinate"
+msgstr ""
+
+#: ../src/vikwindow.c:3739
+msgid "Go to UTM..."
+msgstr ""
+
+#: ../src/vikwindow.c:3739
+msgid "Go to arbitrary UTM coordinate"
+msgstr ""
+
+#: ../src/vikwindow.c:3740
+msgid "_Refresh"
+msgstr ""
+
+#: ../src/vikwindow.c:3740
+msgid "Refresh any maps displayed"
+msgstr ""
+
+#: ../src/vikwindow.c:3741
+msgid "Set _Highlight Color..."
+msgstr ""
+
+#: ../src/vikwindow.c:3742
+msgid "Set Bac_kground Color..."
+msgstr ""
+
+#: ../src/vikwindow.c:3743
+msgid "Zoom _In"
+msgstr ""
+
+#: ../src/vikwindow.c:3744
+msgid "Zoom _Out"
+msgstr ""
+
+#: ../src/vikwindow.c:3745
+msgid "Zoom _To..."
+msgstr ""
+
+#: ../src/vikwindow.c:3746
+msgid "Pan _North"
+msgstr ""
+
+#: ../src/vikwindow.c:3747
+msgid "Pan _East"
+msgstr ""
+
+#: ../src/vikwindow.c:3748
+msgid "Pan _South"
+msgstr ""
+
+#: ../src/vikwindow.c:3749
+msgid "Pan _West"
+msgstr ""
+
+#: ../src/vikwindow.c:3750
+msgid "Background _Jobs"
+msgstr ""
+
+#: ../src/vikwindow.c:3752
+msgid "Cu_t"
+msgstr ""
+
+#: ../src/vikwindow.c:3756
+msgid "Delete All"
+msgstr ""
+
+#: ../src/vikwindow.c:3757
+msgid "_Flush Map Cache"
+msgstr ""
+
+#: ../src/vikwindow.c:3758
+msgid "_Set the Default Location"
+msgstr ""
+
+#: ../src/vikwindow.c:3758
+msgid "Set the Default Location to the current position"
+msgstr ""
+
+#: ../src/vikwindow.c:3759
+msgid "_Preferences"
+msgstr ""
+
+#: ../src/vikwindow.c:3760
+msgid "_Layer Defaults"
+msgstr ""
+
+#: ../src/vikwindow.c:3761
+msgid "_Properties"
+msgstr ""
+
+#: ../src/vikwindow.c:3764
+msgid "_About"
+msgstr ""
+
+#: ../src/vikwindow.c:3768
+msgid "_KML..."
+msgstr ""
+
+#: ../src/vikwindow.c:3768
+msgid "Export as KML"
+msgstr ""
+
+#: ../src/vikwindow.c:3774
+msgid "_UTM Mode"
+msgstr ""
+
+#: ../src/vikwindow.c:3775
+msgid "_Expedia Mode"
+msgstr ""
+
+#: ../src/vikwindow.c:3776
+msgid "_Mercator Mode"
+msgstr ""
+
+#: ../src/vikwindow.c:3777
+msgid "Lat_/Lon Mode"
+msgstr ""
+
+#: ../src/vikwindow.c:3781
+msgid "Show _Scale"
+msgstr ""
+
+#: ../src/vikwindow.c:3781
+msgid "Show Scale"
+msgstr ""
+
+#: ../src/vikwindow.c:3782
+msgid "Show _Center Mark"
+msgstr ""
+
+#: ../src/vikwindow.c:3782
+msgid "Show Center Mark"
+msgstr ""
+
+#: ../src/vikwindow.c:3783
+msgid "Show _Highlight"
+msgstr ""
+
+#: ../src/vikwindow.c:3783
+msgid "Show Highlight"
+msgstr ""
+
+#: ../src/vikwindow.c:3784
+msgid "_Full Screen"
+msgstr ""
+
+#: ../src/vikwindow.c:3784
+msgid "Activate full screen mode"
+msgstr ""
+
+#: ../src/vikwindow.c:3785
+msgid "Show Side _Panel"
+msgstr ""
+
+#: ../src/vikwindow.c:3785
+msgid "Show Side Panel"
+msgstr ""
+
+#: ../src/vikwindow.c:3786
+msgid "Show Status_bar"
+msgstr ""
+
+#: ../src/vikwindow.c:3786
+msgid "Show Statusbar"
+msgstr ""
+
+#: ../src/vikwindow.c:3787
+msgid "Show _Toolbar"
+msgstr ""
+
+#: ../src/vikwindow.c:3787
+msgid "Show Toolbar"
+msgstr ""
+
+#: ../src/vikwindow.c:3788
+msgid "Show _Menu"
+msgstr ""
+
+#: ../src/vikwindow.c:3788
+msgid "Show Menu"
+msgstr ""
+
+#: ../src/vikwindow.c:3862
+#, c-format
+msgid "New _%s Layer"
+msgstr ""
+
+#: ../src/viking.desktop.in.h:2
+msgid "GPS Data Manager"
+msgstr ""
+
+#: ../src/viking.desktop.in.h:3
+msgid "Map Based GPS Data Manager (live data capable)."
+msgstr ""
+
+#: ../src/libjpeg/jpeg-data.c:206
+msgid "Data does not follow JPEG specification."
+msgstr ""
+
+#: ../src/libjpeg/jpeg-data.c:291
+#, c-format
+msgid "Path '%s' invalid."
+msgstr ""
+
+#: ../src/libjpeg/jpeg-data.c:309
+#, c-format
+msgid "Could not read '%s'."
+msgstr ""
diff --git a/po/sl.po b/po/sl.po
index b339919..7e49834 100644
--- a/po/sl.po
+++ b/po/sl.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: viking\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-02-04 23:29+0100\n"
+"POT-Creation-Date: 2013-09-03 21:58+0200\n"
"PO-Revision-Date: 2010-09-07 09:07+0000\n"
"Last-Translator: Guilhem Bonnefille <guilhem.bonnefille@gmail.com>\n"
"Language-Team: Slovenian <sl@li.org>\n"
@@ -16,59 +16,59 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || "
"n%100==4 ? 3 : 0);\n"
-"X-Launchpad-Export-Date: 2013-03-23 17:12+0000\n"
-"X-Generator: Launchpad (build 16540)\n"
+"X-Launchpad-Export-Date: 2013-10-12 09:04+0000\n"
+"X-Generator: Launchpad (build 16799)\n"
-#: ../src/acquire.c:103 ../src/vikgpslayer.c:1185
+#: ../src/acquire.c:103 ../src/vikgpslayer.c:1235
msgid "Done."
msgstr "Opravljeno."
-#: ../src/acquire.c:114
+#: ../src/acquire.c:112
msgid "No data."
msgstr ""
-#: ../src/acquire.c:154 ../src/acquire.c:404
+#: ../src/acquire.c:154 ../src/acquire.c:424
msgid "Error: acquisition failed."
msgstr "Napaka: zajem ni uspel."
-#: ../src/acquire.c:341
+#: ../src/acquire.c:352
msgid "Working..."
msgstr "Izvajanje ..."
#. This shouldn't happen...
-#: ../src/acquire.c:394
+#: ../src/acquire.c:415
msgid ""
"Unable to create command\n"
"Acquire method failed."
msgstr ""
-#: ../src/acquire.c:486
+#: ../src/acquire.c:517
msgid "_Filter"
msgstr ""
-#: ../src/acquire.c:501
+#: ../src/acquire.c:532
#, c-format
msgid "Filter with %s"
msgstr ""
-#: ../src/acquire.c:518
+#: ../src/acquire.c:549
msgid "Filter"
msgstr ""
-#: ../src/background.c:52
+#: ../src/background.c:53
#, c-format
msgid "%d items"
msgstr "%d predmetov"
-#: ../src/background.c:248
+#: ../src/background.c:254
msgid "Job"
msgstr "Opravilo"
-#: ../src/background.c:252
+#: ../src/background.c:258
msgid "Progress"
msgstr "Napredek"
-#: ../src/background.c:268
+#: ../src/background.c:274
msgid "Viking Background Jobs"
msgstr "Viking opravila v ozadju"
@@ -77,7 +77,7 @@ msgid "Bing"
msgstr ""
#. VIK_GTK_WINDOW_FROM_WIDGET(vp)
-#: ../src/bingmapsource.c:445
+#: ../src/bingmapsource.c:499
msgid "Bing attribution Loading"
msgstr ""
@@ -102,35 +102,35 @@ msgid ""
"into."
msgstr ""
-#: ../src/dialog.c:52
+#: ../src/dialog.c:53
msgid "Go to Lat/Lon"
msgstr "Pojdi na šir./dolž."
-#: ../src/dialog.c:64 ../src/dialog.c:251
+#: ../src/dialog.c:65 ../src/dialog.c:244
msgid "Latitude:"
msgstr "Geografska širina:"
-#: ../src/dialog.c:70 ../src/dialog.c:256
+#: ../src/dialog.c:71 ../src/dialog.c:249
msgid "Longitude:"
msgstr "Geografska dolžina:"
-#: ../src/dialog.c:102
+#: ../src/dialog.c:103
msgid "Go to UTM"
msgstr ""
-#: ../src/dialog.c:115
+#: ../src/dialog.c:116
msgid "Northing:"
msgstr ""
-#: ../src/dialog.c:121
+#: ../src/dialog.c:122
msgid "Easting:"
msgstr ""
-#: ../src/dialog.c:128
+#: ../src/dialog.c:129
msgid "Zone:"
msgstr ""
-#: ../src/dialog.c:131
+#: ../src/dialog.c:132
msgid "Letter:"
msgstr ""
@@ -138,105 +138,109 @@ msgstr ""
msgid "Waypoint Properties"
msgstr ""
-#: ../src/dialog.c:233
+#: ../src/dialog.c:235
msgid "Name:"
msgstr "Ime:"
-#: ../src/dialog.c:261
+#: ../src/dialog.c:254
msgid "Altitude:"
msgstr "Višina:"
-#: ../src/dialog.c:266
+#: ../src/dialog.c:259
msgid "Comment:"
msgstr "Opomba:"
-#: ../src/dialog.c:274 ../src/osm-traces.c:437
+#: ../src/dialog.c:267 ../src/osm-traces.c:445
msgid "Description:"
msgstr "Opis:"
-#: ../src/dialog.c:277
+#: ../src/dialog.c:270
msgid "Image:"
msgstr "Slika:"
-#: ../src/dialog.c:282
+#: ../src/dialog.c:275
msgid "Symbol:"
msgstr "Simbol:"
-#: ../src/dialog.c:291
+#: ../src/dialog.c:284
msgid "(none)"
msgstr "(brez)"
+#: ../src/dialog.c:326
+msgid "Time:"
+msgstr ""
+
#. TODO: other checks (isalpha or whatever )
-#: ../src/dialog.c:356
+#: ../src/dialog.c:363
msgid "Please enter a name for the waypoint."
msgstr ""
-#: ../src/dialog.c:529 ../src/geonamessearch.c:243
+#: ../src/dialog.c:502 ../src/geonamessearch.c:244
#: ../src/datasource_osm_my_traces.c:507
msgid "Nothing was selected"
msgstr ""
-#: ../src/dialog.c:537
+#: ../src/dialog.c:510
msgid "Add Route"
msgstr ""
-#: ../src/dialog.c:537
+#: ../src/dialog.c:510
msgid "Add Track"
msgstr "Dodaj sled"
-#: ../src/dialog.c:545
+#: ../src/dialog.c:518
msgid "Route Name:"
msgstr ""
-#: ../src/dialog.c:545
+#: ../src/dialog.c:518
msgid "Track Name:"
msgstr "Ime sledi:"
-#: ../src/dialog.c:565
+#: ../src/dialog.c:538
msgid "Please enter a name for the track."
msgstr "Vnesite ime sledi:"
-#: ../src/dialog.c:623
+#: ../src/dialog.c:596
msgid "Zoom Factors..."
msgstr "Faktorji povečave..."
-#: ../src/dialog.c:637
+#: ../src/dialog.c:610
msgid "Zoom factor (in meters per pixel):"
msgstr ""
-#: ../src/dialog.c:638
+#: ../src/dialog.c:611
msgid "X (easting): "
msgstr ""
-#: ../src/dialog.c:639
+#: ../src/dialog.c:612
msgid "Y (northing): "
msgstr ""
-#: ../src/dialog.c:644
+#: ../src/dialog.c:617
msgid "X and Y zoom factors must be equal"
msgstr ""
-#: ../src/dialog.c:699
+#: ../src/dialog.c:672
msgid "1 min"
msgstr "1 min"
-#: ../src/dialog.c:700
+#: ../src/dialog.c:673
msgid "1 hour"
msgstr "1 ura"
-#: ../src/dialog.c:701
+#: ../src/dialog.c:674
msgid "1 day"
msgstr "1 dan"
-#: ../src/dialog.c:702
+#: ../src/dialog.c:675
msgid "Custom (in minutes):"
msgstr "Po meri (v minutah):"
-#: ../src/dialog.c:808
+#: ../src/dialog.c:786
msgid "GPS Data and Topo Analyzer, Explorer, and Manager."
msgstr ""
-#: ../src/dialog.c:809
+#: ../src/dialog.c:787
msgid ""
"This program is free software; you can redistribute it and/or modify it "
"under the terms of the GNU General Public License as published by the Free "
@@ -253,28 +257,28 @@ msgid ""
"Place, Suite 330, Boston, MA 02111-1307, USA"
msgstr ""
-#: ../src/dialog.c:837
+#: ../src/dialog.c:852
msgid "Translation is coordinated on http://launchpad.net/viking"
msgstr ""
-#: ../src/dialog.c:845
+#: ../src/dialog.c:861
msgid "Download along track"
msgstr "Prenos po sledi"
-#: ../src/dialog.c:851
+#: ../src/dialog.c:868
msgid "Map type:"
msgstr "Vrsta zemljevida:"
-#: ../src/dialog.c:856
+#: ../src/dialog.c:874
msgid "Zoom level:"
msgstr "Stopnja povečave:"
-#: ../src/dialog.c:896
+#: ../src/dialog.c:914
#, c-format
msgid "The map data is licensed: %s."
msgstr ""
-#: ../src/dialog.c:899
+#: ../src/dialog.c:917
#, c-format
msgid ""
"The data provided by '<b>%s</b>' are licensed under the following license: "
@@ -282,7 +286,7 @@ msgid ""
"Please, read the license before continuing."
msgstr ""
-#: ../src/dialog.c:904
+#: ../src/dialog.c:922
msgid "Open license"
msgstr ""
@@ -327,7 +331,8 @@ msgstr ""
#. NB could allow columns to be shifted around by doing this after each new
#. gtk_tree_view_column_set_reorderable ( column, TRUE );
#. However I don't think is that useful, so I haven't put it in
-#: ../src/geonamessearch.c:177 ../src/datasource_osm_my_traces.c:425
+#: ../src/geonamessearch.c:177 ../src/datasource_osm_my_traces.c:424
+#: ../src/viktrwlayer_tracklist.c:521
msgid "Name"
msgstr ""
@@ -335,82 +340,192 @@ msgstr ""
msgid "Feature"
msgstr ""
-#: ../src/geonamessearch.c:187 ../src/datasource_osm_my_traces.c:440
+#: ../src/geonamessearch.c:187 ../src/datasource_osm_my_traces.c:439
msgid "Lat/Lon"
msgstr ""
-#: ../src/geonamessearch.c:269 ../src/googlesearch.c:100
+#: ../src/geonamessearch.c:270 ../src/googlesearch.c:100 ../src/vikgoto.c:306
msgid "couldn't map temp file"
msgstr ""
-#: ../src/globals.c:44
+#: ../src/globals.c:73
+msgid "Absolute"
+msgstr ""
+
+#: ../src/globals.c:73
+msgid "Relative"
+msgstr ""
+
+#: ../src/globals.c:76
msgid "Degree format:"
msgstr ""
-#: ../src/globals.c:48
+#: ../src/globals.c:77
msgid "Distance units:"
msgstr ""
-#: ../src/globals.c:52
+#: ../src/globals.c:78
msgid "Speed units:"
msgstr ""
-#: ../src/globals.c:56
+#: ../src/globals.c:79
msgid "Height units:"
msgstr ""
-#: ../src/globals.c:60
+#: ../src/globals.c:80
msgid "Use large waypoint icons:"
msgstr ""
-#: ../src/globals.c:64
+#: ../src/globals.c:81
msgid "Default latitude:"
msgstr ""
-#: ../src/globals.c:67
+#: ../src/globals.c:82
msgid "Default longitude:"
msgstr ""
-#: ../src/globals.c:73
+#: ../src/globals.c:88
msgid "Alphabetical"
msgstr ""
-#: ../src/globals.c:73 ../src/datasource_osm_my_traces.c:435
+#: ../src/globals.c:88 ../src/datasource_osm_my_traces.c:434
msgid "Time"
msgstr ""
-#: ../src/globals.c:76
+#: ../src/globals.c:88
+msgid "Creation"
+msgstr ""
+
+#: ../src/globals.c:89
+msgid "Title Case"
+msgstr ""
+
+#: ../src/globals.c:89
+msgid "Lowercase"
+msgstr ""
+
+#: ../src/globals.c:92
msgid "KML File Export Units:"
msgstr ""
-#: ../src/globals.c:77
+#: ../src/globals.c:93
msgid "GPX Track Order:"
msgstr ""
-#: ../src/globals.c:82
+#: ../src/globals.c:94
+msgid "GPX Waypoint Symbols:"
+msgstr ""
+
+#: ../src/globals.c:95
+msgid ""
+"Save GPX Waypoint Symbol names in the specified case. May be useful for "
+"compatibility with various devices"
+msgstr ""
+
+#: ../src/globals.c:100
msgid "Image Viewer:"
msgstr ""
-#: ../src/globals.c:87
+#: ../src/globals.c:105
msgid "External GPX Program 1:"
msgstr ""
-#: ../src/globals.c:88
+#: ../src/globals.c:106
msgid "External GPX Program 2:"
msgstr ""
+#: ../src/globals.c:110
+msgid "Save File Reference Mode:"
+msgstr ""
+
+#: ../src/globals.c:111
+msgid ""
+"When saving a Viking .vik file, this determines how the directory paths of "
+"filenames are written."
+msgstr ""
+
+#: ../src/globals.c:112
+msgid "Show Tooltip during Track Creation:"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Home Location"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Last Location"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Specified File"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Auto Location"
+msgstr ""
+
+#: ../src/globals.c:118
+msgid "Restore Window Setup:"
+msgstr ""
+
+#: ../src/globals.c:119
+msgid "Restore window size and layout"
+msgstr ""
+
+#: ../src/globals.c:120
+msgid "Add a Default Map Layer:"
+msgstr ""
+
+#: ../src/globals.c:121
+msgid ""
+"The default map layer added is defined by the Layer Defaults. Use the menu "
+"Edit->Layer Defaults->Map... to change the map type and other values."
+msgstr ""
+
+#: ../src/globals.c:122
+msgid "Startup Method:"
+msgstr ""
+
+#: ../src/globals.c:123
+msgid "Startup File:"
+msgstr ""
+
+#: ../src/globals.c:124
+msgid ""
+"The default file to load on startup. Only applies when the startup method is "
+"set to 'Specified File'"
+msgstr ""
+
+#: ../src/globals.c:125
+msgid "Check For New Version:"
+msgstr ""
+
+#: ../src/globals.c:126
+msgid "Periodically check to see if a new version of Viking is available"
+msgstr ""
+
#. Defaults for the options are setup here
-#: ../src/globals.c:96
+#: ../src/globals.c:163
msgid "General"
msgstr ""
#. New Tab
-#: ../src/globals.c:121
+#: ../src/globals.c:188
+msgid "Startup"
+msgstr ""
+
+#. New Tab
+#: ../src/globals.c:206
msgid "Export/External"
msgstr ""
+#. 'Advanced' Properties
+#: ../src/globals.c:230
+msgid "Advanced"
+msgstr ""
+
#. Webtools
-#: ../src/google.c:36
+#: ../src/google.c:38
msgid "Google"
msgstr "Google"
@@ -423,24 +538,24 @@ msgid "Imported file"
msgstr ""
#. The file selector
-#: ../src/datasource_file.c:133
+#: ../src/datasource_file.c:127
msgid "File:"
msgstr ""
-#: ../src/datasource_file.c:134
+#: ../src/datasource_file.c:128
msgid "File to import"
msgstr ""
-#: ../src/datasource_file.c:141
+#: ../src/datasource_file.c:135
msgid "All files"
msgstr ""
#. The file format selector
-#: ../src/datasource_file.c:148
+#: ../src/datasource_file.c:142
msgid "File type:"
msgstr ""
-#: ../src/datasource_file.c:193
+#: ../src/datasource_file.c:184
#, c-format
msgid "using babel args '%s' and file '%s'"
msgstr ""
@@ -453,29 +568,29 @@ msgstr "Prenesi Geozaklade"
msgid "Geocaching.com Caches"
msgstr "Zakladi Geocaching.com"
-#: ../src/datasource_gc.c:84
+#: ../src/datasource_gc.c:85
msgid "geocaching.com username:"
msgstr "uporabniško ime za geocaching.com:"
-#: ../src/datasource_gc.c:85
+#: ../src/datasource_gc.c:86
msgid "geocaching.com password:"
msgstr "geslo za geocaching.com:"
-#: ../src/datasource_gc.c:126
+#: ../src/datasource_gc.c:127
#, c-format
msgid ""
"Can't find %s or %s in path! Check that you have installed it correctly."
msgstr ""
-#: ../src/datasource_gc.c:188
+#: ../src/datasource_gc.c:189
msgid "Number geocaches:"
msgstr ""
-#: ../src/datasource_gc.c:190
+#: ../src/datasource_gc.c:191
msgid "Centered around:"
msgstr ""
-#: ../src/datasource_gc.c:226
+#: ../src/datasource_gc.c:230
msgid "Broken input - using some defaults"
msgstr ""
@@ -487,53 +602,41 @@ msgstr ""
msgid "Geotagged Images"
msgstr ""
-#: ../src/datasource_geotag.c:102 ../src/vikwindow.c:2314
-#: ../src/vikwindow.c:2382 ../src/vikwindow.c:2824
+#: ../src/datasource_geotag.c:102 ../src/vikwindow.c:2655
+#: ../src/vikwindow.c:2729 ../src/vikwindow.c:3380
msgid "All"
msgstr ""
-#: ../src/datasource_geotag.c:107 ../src/vikwindow.c:2829
+#: ../src/datasource_geotag.c:107 ../src/vikwindow.c:3385
msgid "JPG"
msgstr ""
-#: ../src/datasource_geotag.c:165
+#: ../src/datasource_geotag.c:168
#, c-format
msgid "Unable to create waypoint from %s"
msgstr ""
-#: ../src/datasource_google.c:49 ../src/datasource_google.c:50
-msgid "Google Directions"
-msgstr ""
-
-#: ../src/datasource_google.c:77
-msgid "From:"
-msgstr ""
-
-#: ../src/datasource_google.c:79
-msgid "To:"
-msgstr ""
-
-#: ../src/datasource_gps.c:57
+#: ../src/datasource_gps.c:54
msgid "Acquire from GPS"
msgstr "Zajemi iz GPS naprave"
-#: ../src/datasource_gps.c:58
+#: ../src/datasource_gps.c:55
msgid "Acquired from GPS"
msgstr "Zajeto iz GPS naprave"
-#: ../src/datasource_gps.c:221
+#: ../src/datasource_gps.c:245
#, c-format
msgid "using cmdline '%s' and file '%s'\n"
msgstr ""
-#: ../src/datasource_gps.c:297 ../src/vikgpslayer.c:884
+#: ../src/datasource_gps.c:327 ../src/vikgpslayer.c:934
#, c-format
msgid "Downloading %d waypoint..."
msgid_plural "Downloading %d waypoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/datasource_gps.c:298 ../src/vikgpslayer.c:885
+#: ../src/datasource_gps.c:328 ../src/vikgpslayer.c:935
#, c-format
msgid "Downloading %d trackpoint..."
msgid_plural "Downloading %d trackpoints..."
@@ -542,63 +645,66 @@ msgstr[1] "Prenašam %d točko sledi..."
msgstr[2] "Prenašam %d točki sledi..."
msgstr[3] "Prenašam %d točke sledi..."
-#: ../src/datasource_gps.c:303 ../src/vikgpslayer.c:890
+#: ../src/datasource_gps.c:333 ../src/vikgpslayer.c:940
#, c-format
msgid "Downloading %d routepoint..."
msgid_plural "Downloading %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/datasource_gps.c:325 ../src/datasource_gps.c:326
-#: ../src/datasource_gps.c:327
+#: ../src/datasource_gps.c:355 ../src/datasource_gps.c:356
+#: ../src/datasource_gps.c:357
#, c-format
msgid "Downloaded %d out of %d %s..."
msgstr "Prenešeno %d od %d %s..."
-#: ../src/datasource_gps.c:331 ../src/datasource_gps.c:332
-#: ../src/datasource_gps.c:333
+#: ../src/datasource_gps.c:361 ../src/datasource_gps.c:362
+#: ../src/datasource_gps.c:363
#, c-format
msgid "Downloaded %d %s."
msgstr "Prenešeno %d %s."
-#: ../src/datasource_gps.c:347 ../src/vikgpslayer.c:968
+#: ../src/datasource_gps.c:377 ../src/vikgpslayer.c:1018
#, c-format
msgid "GPS Device: %s"
msgstr "Naprava GPS: %s"
-#: ../src/datasource_gps.c:370 ../src/vikgpslayer.c:1042
-#: ../src/vikgpslayer.c:1110
+#: ../src/datasource_gps.c:400 ../src/vikgpslayer.c:1092
+#: ../src/vikgpslayer.c:1160
msgid "Status: Working..."
msgstr ""
-#: ../src/datasource_gps.c:469 ../src/vikgpslayer.c:150
+#. NB gps_layer_inst_init() is performed after parameter registeration
+#. thus to give the protocols some potential values use the old static list
+#. TODO: find another way to use gps_layer_inst_init()?
+#: ../src/datasource_gps.c:500 ../src/vikgpslayer.c:207
msgid "GPS Protocol:"
msgstr "Protokol GPS:"
-#. List now assigned at runtime
-#: ../src/datasource_gps.c:488 ../src/vikgpslayer.c:151
+#. List reassigned at runtime
+#: ../src/datasource_gps.c:526 ../src/vikgpslayer.c:208
msgid "Serial Port:"
msgstr "Zaporedni vmesnik:"
-#: ../src/datasource_gps.c:509
+#: ../src/datasource_gps.c:576
msgid ""
"Turn Off After Transfer\n"
"(Garmin/NAViLink Only)"
msgstr ""
-#: ../src/datasource_gps.c:512
+#: ../src/datasource_gps.c:583
msgid "Tracks:"
msgstr ""
-#: ../src/datasource_gps.c:516
+#: ../src/datasource_gps.c:590
msgid "Routes:"
msgstr ""
-#: ../src/datasource_gps.c:520
+#: ../src/datasource_gps.c:597
msgid "Waypoints:"
msgstr ""
-#: ../src/datasource_gps.c:594 ../src/vikgpslayer.c:1305
+#: ../src/datasource_gps.c:675 ../src/vikgpslayer.c:1355
msgid "GPS device: N/A"
msgstr "Naprava GPS: ni na voljo"
@@ -606,39 +712,39 @@ msgstr "Naprava GPS: ni na voljo"
msgid "OSM traces"
msgstr ""
-#: ../src/datasource_osm.c:80
+#: ../src/datasource_osm.c:82
msgid "Page number:"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:63 ../src/datasource_osm_my_traces.c:64
+#: ../src/datasource_osm_my_traces.c:59 ../src/datasource_osm_my_traces.c:60
msgid "OSM My Traces"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:108
+#: ../src/datasource_osm_my_traces.c:104
msgid "Username:"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:113
+#: ../src/datasource_osm_my_traces.c:109
msgid "The email or username used to login to OSM"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:115 ../src/osm-traces.c:413
+#: ../src/datasource_osm_my_traces.c:111 ../src/osm-traces.c:421
msgid "Password:"
msgstr "Geslo:"
-#: ../src/datasource_osm_my_traces.c:120
+#: ../src/datasource_osm_my_traces.c:114
msgid "The password used to login to OSM"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:430
+#: ../src/datasource_osm_my_traces.c:429
msgid "Description"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:445
+#: ../src/datasource_osm_my_traces.c:444
msgid "Privacy"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:452
+#: ../src/datasource_osm_my_traces.c:451
msgid "Within Current View"
msgstr ""
@@ -650,15 +756,33 @@ msgstr ""
msgid "None found!"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:629
+#: ../src/datasource_osm_my_traces.c:634
msgid "My OSM Traces"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:645
+#: ../src/datasource_osm_my_traces.c:649
#, c-format
msgid "Unable to get trace: %s"
msgstr ""
+#: ../src/datasource_routing.c:53 ../src/datasource_routing.c:54
+msgid "Directions"
+msgstr ""
+
+#. Engine selector
+#: ../src/datasource_routing.c:83
+msgid "Engine:"
+msgstr ""
+
+#. From and To entries
+#: ../src/datasource_routing.c:88
+msgid "From:"
+msgstr ""
+
+#: ../src/datasource_routing.c:90
+msgid "To:"
+msgstr ""
+
#: ../src/datasource_wikipedia.c:32
msgid "Create Waypoints from Wikipedia Articles"
msgstr ""
@@ -679,174 +803,185 @@ msgstr ""
msgid "Incorrect DEM Class B record: expected 1"
msgstr ""
-#: ../src/dem.c:360
+#: ../src/dem.c:288 ../src/download.c:170
#, c-format
msgid "Couldn't map file %s: %s"
msgstr ""
-#: ../src/download.c:112
-msgid "Tile age (s):"
+#: ../src/download.c:130
+msgid "Tile age (days):"
msgstr ""
-#: ../src/download.c:233
+#: ../src/download.c:321
#, c-format
msgid "Download error: %s"
msgstr "Napaka prenosa: %s"
-#: ../src/download.c:313
+#: ../src/download.c:404
msgid "couldn't open temp file"
msgstr "začasne datoteke ni bilo mogoče odpreti"
-#: ../src/file.c:456 ../src/file.c:461
+#: ../src/file.c:451 ../src/file.c:456
#, c-format
msgid "Draw mode '%s' no more supported"
msgstr ""
-#: ../src/geotag_exif.c:433
+#: ../src/geotag_exif.c:421
msgid "Not enough memory."
msgstr ""
-#: ../src/geotag_exif.c:451
+#: ../src/geotag_exif.c:439
msgid "Setting a value for this tag is unsupported!"
msgstr ""
-#: ../src/geotag_exif.c:470
+#: ../src/geotag_exif.c:458
#, c-format
msgid "Too few components specified (need %d, found %d)\n"
msgstr ""
-#: ../src/geotag_exif.c:474
+#: ../src/geotag_exif.c:462
msgid "Numeric value expected\n"
msgstr ""
-#: ../src/geotag_exif.c:482
+#: ../src/geotag_exif.c:470
msgid "This shouldn't happen!"
msgstr ""
-#: ../src/geotag_exif.c:552
+#: ../src/geotag_exif.c:540
msgid "Not yet implemented!"
msgstr ""
-#: ../src/geotag_exif.c:565
+#: ../src/geotag_exif.c:553
msgid "Warning; Too many components specified!"
msgstr ""
-#: ../src/osm-traces.c:73
+#: ../src/osm-traces.c:76
msgid "Identifiable (public w/ timestamps)"
msgstr ""
-#: ../src/osm-traces.c:74
+#: ../src/osm-traces.c:77
msgid "Trackable (private w/ timestamps)"
msgstr ""
-#: ../src/osm-traces.c:75
+#: ../src/osm-traces.c:78
msgid "Public"
msgstr "Javno"
-#: ../src/osm-traces.c:76
+#: ../src/osm-traces.c:79
msgid "Private"
msgstr ""
-#: ../src/osm-traces.c:93
+#: ../src/osm-traces.c:97
msgid "OSM username:"
msgstr ""
-#: ../src/osm-traces.c:94
+#: ../src/osm-traces.c:98
msgid "OSM password:"
msgstr ""
#. Preferences
-#: ../src/osm-traces.c:151
+#: ../src/osm-traces.c:155
msgid "OpenStreetMap Traces"
msgstr ""
-#: ../src/osm-traces.c:234
+#: ../src/osm-traces.c:238
#, c-format
msgid "failed to upload data: HTTP response is %ld"
msgstr "prenos podatkov ni uspel: odziv protokola HTTP je %ld"
-#: ../src/osm-traces.c:239
+#: ../src/osm-traces.c:243
#, c-format
msgid "curl_easy_getinfo failed: %d"
msgstr "curl_easy_getinfo ni uspel: %d"
-#: ../src/osm-traces.c:244
+#: ../src/osm-traces.c:248
#, c-format
msgid "curl request failed: %s"
msgstr "curl zahtevek ni uspel: %s"
-#: ../src/osm-traces.c:275
+#: ../src/osm-traces.c:279
#, c-format
msgid "failed to open temporary file: %s"
msgstr ""
#. Success
-#: ../src/osm-traces.c:328
+#: ../src/osm-traces.c:340
msgid "Uploaded to OSM"
msgstr ""
-#: ../src/osm-traces.c:332
+#: ../src/osm-traces.c:344
msgid "FAILED TO UPLOAD DATA TO OSM - CURL PROBLEM"
msgstr ""
-#: ../src/osm-traces.c:335
+#: ../src/osm-traces.c:347
msgid "FAILED TO UPLOAD DATA TO OSM"
msgstr ""
-#: ../src/osm-traces.c:335
+#: ../src/osm-traces.c:347
msgid "HTTP response code"
msgstr ""
-#: ../src/osm-traces.c:348
+#: ../src/osm-traces.c:355
#, c-format
msgid "failed to unlink temporary file: %s"
msgstr ""
-#: ../src/osm-traces.c:387
+#: ../src/osm-traces.c:394
msgid "OSM upload"
msgstr "Prenos na OSM"
-#: ../src/osm-traces.c:405
+#: ../src/osm-traces.c:413
msgid "Email:"
msgstr "E-pošta:"
-#: ../src/osm-traces.c:410
+#: ../src/osm-traces.c:418
msgid ""
"The email used as login\n"
"<small>Enter the email you use to login into www.openstreetmap.org.</small>"
msgstr ""
-#: ../src/osm-traces.c:418
+#: ../src/osm-traces.c:426
msgid ""
"The password used to login\n"
"<small>Enter the password you use to login into "
"www.openstreetmap.org.</small>"
msgstr ""
-#: ../src/osm-traces.c:423
+#: ../src/osm-traces.c:431
msgid "File's name:"
msgstr "Ime datoteke:"
-#: ../src/osm-traces.c:433
+#: ../src/osm-traces.c:441
msgid ""
"The name of the file on OSM\n"
"<small>This is the name of the file created on the server.This is not the "
"name of the local file.</small>"
msgstr ""
-#: ../src/osm-traces.c:442
+#: ../src/osm-traces.c:450
msgid "The description of the trace"
msgstr "Opis sledi"
-#: ../src/osm-traces.c:444
+#: ../src/osm-traces.c:453
+msgid "Anonymize Times:"
+msgstr ""
+
+#: ../src/osm-traces.c:458
+msgid ""
+"Anonymize times of the trace.\n"
+"<small>You may choose to make the trace identifiable, yet mask the actual "
+"real time values</small>"
+msgstr ""
+
+#: ../src/osm-traces.c:462
msgid "Tags:"
msgstr "Oznake:"
-#: ../src/osm-traces.c:449
+#: ../src/osm-traces.c:467
msgid "The tags associated to the trace"
msgstr "Oznake sledi"
-#: ../src/osm-traces.c:482
+#: ../src/osm-traces.c:529
#, c-format
msgid "Uploading %s to OSM"
msgstr "Prenašanje %s na OSM"
@@ -855,69 +990,88 @@ msgstr "Prenašanje %s na OSM"
msgid "Map cache memory size (MB):"
msgstr ""
-#: ../src/print.c:53
+#: ../src/print.c:51 ../src/viktrwlayer.c:509
msgid "None"
msgstr "Brez"
-#: ../src/print.c:54
+#: ../src/print.c:52
msgid "Horizontally"
msgstr "Vodoravno"
-#: ../src/print.c:55
+#: ../src/print.c:53
msgid "Vertically"
msgstr "Navpično"
-#: ../src/print.c:56
+#: ../src/print.c:54
msgid "Both"
msgstr "Oboje"
-#: ../src/print.c:120
+#: ../src/print.c:118
msgid "Image Settings"
msgstr "Nastavitve slike"
-#: ../src/print.c:546
+#: ../src/print.c:548
msgid "done"
msgstr "opravljeno"
#. Page Size
-#: ../src/print.c:575
+#: ../src/print.c:577
msgid "_Adjust Page Size and Orientation"
msgstr "_Prilagodi velikost in postavitev strani"
-#: ../src/print.c:591
+#: ../src/print.c:593
msgid "C_enter:"
msgstr "_Sredinsko:"
#. ignore page margins
-#: ../src/print.c:609
+#: ../src/print.c:611
msgid "Ignore Page _Margins"
msgstr "Prezri _robove strani"
-#: ../src/print.c:628
+#: ../src/print.c:630
msgid "Image S_ize:"
msgstr "_Velikost slike:"
-#: ../src/util.c:81
-msgid "Could not launch web browser."
-msgstr "Spletnega brskalnika ni bilo mogoče zagnati."
+#: ../src/util.c:65
+#, c-format
+msgid "Could not launch web browser. %s"
+msgstr ""
-#: ../src/util.c:92
-msgid "Could not create new email."
+#: ../src/util.c:76
+#, c-format
+msgid "Could not create new email. %s"
msgstr ""
-#: ../src/vikcoordlayer.c:46
+#: ../src/util.c:177
+#, c-format
+msgid ""
+"There is a newer version of Viking available: %s\n"
+"\n"
+"Do you wish to go to Viking's website now?"
+msgstr ""
+
+#: ../src/util.c:304
+msgid ""
+"This appears to be Viking's very first run.\n"
+"\n"
+"Do you wish to enable automatic internet features?\n"
+"\n"
+"Individual settings can be controlled in the Preferences."
+msgstr ""
+
+#: ../src/vikcoordlayer.c:57
msgid "Color:"
msgstr "Barva:"
-#: ../src/vikcoordlayer.c:47
+#: ../src/vikcoordlayer.c:58
msgid "Minutes Width:"
msgstr "Minut širine:"
-#: ../src/vikcoordlayer.c:48
+#: ../src/vikcoordlayer.c:59
msgid "Line Thickness:"
msgstr "Debelina črt:"
-#: ../src/vikcoordlayer.c:56
+#: ../src/vikcoordlayer.c:66
msgid "Coordinate"
msgstr ""
@@ -953,62 +1107,130 @@ msgstr ""
msgid "Polygonzied Layer"
msgstr ""
-#: ../src/main.c:89
+#: ../src/main.c:92
#, c-format
msgid "Ignoring Xlib error: error code %d request code %d\n"
msgstr ""
-#: ../src/main.c:102
+#: ../src/main.c:105
msgid "Enable debug output"
msgstr ""
-#: ../src/main.c:103
+#: ../src/main.c:106
msgid "Enable verbose output"
msgstr "Vključi podroben izpis"
-#: ../src/main.c:104
+#: ../src/main.c:107
msgid "Show version"
msgstr "Prikaži različico"
-#: ../src/osm.c:106
+#: ../src/osm.c:99
msgid "On Disk OSM Tile Format"
msgstr ""
-#: ../src/osm.c:121
+#: ../src/osm.c:113
msgid "OSM (view)"
msgstr ""
-#: ../src/osm.c:125
+#: ../src/osm.c:117
msgid "OSM (edit)"
msgstr ""
-#: ../src/osm.c:129
+#: ../src/osm.c:121
msgid "OSM (render)"
msgstr ""
#. Example: http://127.0.0.1:8111/load_and_zoom?left=8.19&right=8.20&top=48.605&bottom=48.590&select=node413602999
#. JOSM or merkaartor must already be running with remote interface enabled
-#: ../src/osm.c:136
+#: ../src/osm.c:128
msgid "Local port 8111 (eg JOSM)"
msgstr ""
-#: ../src/preferences.c:285
+#: ../src/osm.c:134
+msgid "OpenStreetMap Notes"
+msgstr ""
+
+#: ../src/osm.c:138
+msgid "OpenStreetBugs"
+msgstr ""
+
+#. Not really OSM but can't be bothered to create somewhere else to put it...
+#: ../src/osm.c:164
+msgid "Wikimedia Toolserver GeoHack"
+msgstr ""
+
+#: ../src/preferences.c:191
msgid "Preferences"
msgstr ""
-#: ../src/uibuilder.c:147
+#: ../src/viklayer_defaults.c:232
+#, c-format
+msgid "Could not open file: %s"
+msgstr ""
+
+#: ../src/viklayer_defaults.c:303
+msgid "Layer Defaults"
+msgstr ""
+
+#: ../src/uibuilder.c:185
msgid "Take care that this password will be stored clearly in a plain file."
msgstr ""
-#: ../src/vikaggregatelayer.c:37
+#: ../src/vikaggregatelayer.c:42
msgid "Aggregate"
msgstr ""
-#: ../src/vikdemlayer.c:101
+#. VikLayersPanel *vlp = VIK_LAYERS_PANEL(lav[1]);
+#: ../src/vikaggregatelayer.c:484 ../src/viktrwlayer.c:10238
+#, c-format
+msgid "%s: Track and Route List"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:529 ../src/viktrwlayer.c:7354
+#: ../src/viktrwlayer.c:7420 ../src/viktrwlayer.c:7498
+msgid "_Visibility"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:534
+msgid "_Show All"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:540
+msgid "_Hide All"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:546 ../src/viktrwlayer.c:7371
+#: ../src/viktrwlayer.c:7437 ../src/viktrwlayer.c:7515
+msgid "_Toggle"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:553 ../src/viktrwlayer.c:7536
+msgid "_Sort"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:559 ../src/viktrwlayer.c:7542
+msgid "Name _Ascending"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:565 ../src/viktrwlayer.c:7548
+msgid "Name _Descending"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:571 ../src/viktrwlayer.c:7449
+#: ../src/viktrwlayer.c:7527 ../src/viktrwlayer.c:7587
+#: ../src/viktrwlayer_tracklist.c:237
+msgid "_Statistics"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:576 ../src/viktrwlayer.c:3971
+msgid "Track _List..."
+msgstr ""
+
+#: ../src/vikdemlayer.c:92
msgid "Absolute height"
msgstr ""
-#: ../src/vikdemlayer.c:102
+#: ../src/vikdemlayer.c:93
msgid "Height gradient"
msgstr ""
@@ -1048,25 +1270,52 @@ msgstr ""
msgid "DEM"
msgstr ""
-#: ../src/vikdemlayer.c:284
+#: ../src/vikdemlayer.c:287
#, c-format
msgid "Number of files: %d"
msgstr ""
-#: ../src/vikdemlayer.c:385
+#: ../src/vikdemlayer.c:427
msgid "DEM Loading"
msgstr ""
-#: ../src/vikdemlayer.c:889
+#: ../src/vikdemlayer.c:937
#, c-format
msgid "No SRTM data available for %f, %f"
msgstr "SRTM podatkov za %f, %f ni na voljo"
-#: ../src/vikdemlayer.c:1149
+#. Probably not over any land...
+#: ../src/vikdemlayer.c:1193
+msgid "No DEM File Available"
+msgstr ""
+
+#: ../src/vikdemlayer.c:1212
+#, c-format
+msgid ""
+"\n"
+"Source: %s\n"
+"\n"
+"DEM File: %s\n"
+"DEM File Timestamp: %s"
+msgstr ""
+
+#: ../src/vikdemlayer.c:1216
+#, c-format
+msgid ""
+"Source: %s\n"
+"\n"
+"No DEM File!"
+msgstr ""
+
+#: ../src/vikdemlayer.c:1256
#, c-format
msgid "Downloading DEM %s"
msgstr "Prenašanje DEM %s"
+#: ../src/vikdemlayer.c:1280
+msgid "_Show DEM File Information"
+msgstr ""
+
#: ../src/vikfileentry.c:68
msgid "Browse..."
msgstr "Prebrskaj ..."
@@ -1087,248 +1336,266 @@ msgstr "Dodaj..."
msgid "Delete"
msgstr "Zbriši"
-#: ../src/vikgeoreflayer.c:70
+#: ../src/vikgeoreflayer.c:78
msgid "_Georef Move Map"
msgstr ""
-#: ../src/vikgeoreflayer.c:70
+#: ../src/vikgeoreflayer.c:78
msgid "Georef Move Map"
msgstr ""
-#: ../src/vikgeoreflayer.c:77
+#: ../src/vikgeoreflayer.c:85
msgid "Georef Z_oom Tool"
msgstr ""
-#: ../src/vikgeoreflayer.c:77
+#: ../src/vikgeoreflayer.c:85
msgid "Georef Zoom Tool"
msgstr ""
-#: ../src/vikgeoreflayer.c:87
+#: ../src/vikgeoreflayer.c:95
msgid "GeoRef Map"
msgstr ""
-#: ../src/vikgeoreflayer.c:335 ../src/vikmapslayer.c:685
+#: ../src/vikgeoreflayer.c:377 ../src/vikmapslayer.c:720
#, c-format
msgid "Couldn't open image file: %s"
msgstr "Ni bilo mogoče odpreti datoteke s sliko: %s"
-#: ../src/vikgeoreflayer.c:365
+#: ../src/vikgeoreflayer.c:391
+msgid ""
+"GeoRef map cannot be displayed in the current drawmode.\n"
+"Select \"UTM Mode\" from View menu to view it."
+msgstr ""
+
+#: ../src/vikgeoreflayer.c:415
msgid "Unexpected end of file reading World file."
msgstr ""
-#: ../src/vikgeoreflayer.c:381 ../src/vikgeoreflayer.c:426
+#: ../src/vikgeoreflayer.c:431 ../src/vikgeoreflayer.c:476
msgid "Choose World file"
msgstr ""
-#: ../src/vikgeoreflayer.c:394
+#: ../src/vikgeoreflayer.c:444
msgid "The World file you requested could not be opened for reading."
msgstr ""
-#: ../src/vikgeoreflayer.c:439
+#: ../src/vikgeoreflayer.c:489
msgid "The file you requested could not be opened for writing."
msgstr "V datoteko, ki ste jo izbrali ni mogoče pisati."
-#: ../src/vikgeoreflayer.c:456 ../src/viklayer.c:480
+#: ../src/vikgeoreflayer.c:506 ../src/viklayer.c:518
msgid "Layer Properties"
msgstr "Lastnosti plasti"
-#: ../src/vikgeoreflayer.c:478
+#: ../src/vikgeoreflayer.c:528
msgid "World File Parameters:"
msgstr ""
-#: ../src/vikgeoreflayer.c:479
+#: ../src/vikgeoreflayer.c:529
msgid "Load From File..."
msgstr "Naloži iz datoteke ..."
-#: ../src/vikgeoreflayer.c:484
+#: ../src/vikgeoreflayer.c:534
msgid "Corner pixel easting:"
msgstr ""
-#: ../src/vikgeoreflayer.c:486
-msgid "the UTM \"easting\" value of the upper-right corner pixel of the map"
+#: ../src/vikgeoreflayer.c:536
+msgid "the UTM \"easting\" value of the upper-left corner pixel of the map"
msgstr ""
-#: ../src/vikgeoreflayer.c:488
+#: ../src/vikgeoreflayer.c:538
msgid "Corner pixel northing:"
msgstr ""
-#: ../src/vikgeoreflayer.c:490
-msgid "the UTM \"northing\" value of the upper-right corner pixel of the map"
+#: ../src/vikgeoreflayer.c:540
+msgid "the UTM \"northing\" value of the upper-left corner pixel of the map"
msgstr ""
-#: ../src/vikgeoreflayer.c:492
+#: ../src/vikgeoreflayer.c:542
msgid "X (easting) scale (mpp): "
msgstr ""
-#: ../src/vikgeoreflayer.c:493
+#: ../src/vikgeoreflayer.c:543
msgid "Y (northing) scale (mpp): "
msgstr ""
-#: ../src/vikgeoreflayer.c:496
+#: ../src/vikgeoreflayer.c:546
msgid "the scale of the map in the X direction (meters per pixel)"
msgstr ""
-#: ../src/vikgeoreflayer.c:498
+#: ../src/vikgeoreflayer.c:548
msgid "the scale of the map in the Y direction (meters per pixel)"
msgstr ""
-#: ../src/vikgeoreflayer.c:500
+#: ../src/vikgeoreflayer.c:550
msgid "Map Image:"
msgstr "Slika zemljevida:"
#. Now with icons
-#: ../src/vikgeoreflayer.c:608
+#: ../src/vikgeoreflayer.c:658
msgid "_Zoom to Fit Map"
msgstr ""
-#: ../src/vikgeoreflayer.c:614
+#: ../src/vikgeoreflayer.c:664
msgid "_Goto Map Center"
msgstr ""
-#: ../src/vikgeoreflayer.c:620
+#: ../src/vikgeoreflayer.c:670
msgid "_Export to World File"
msgstr ""
-#: ../src/vikgoto.c:75
+#: ../src/vikgoto.c:81
msgid "No goto tool available."
msgstr ""
-#: ../src/vikgoto.c:88 ../src/vikgoto.c:107
+#: ../src/vikgoto.c:94 ../src/vikgoto.c:148
msgid "goto"
msgstr ""
-#: ../src/vikgoto.c:90
+#: ../src/vikgoto.c:96
msgid "I don't know that place. Do you want another goto?"
msgstr ""
-#: ../src/vikgoto.c:109
+#: ../src/vikgoto.c:150
msgid "goto provider:"
msgstr ""
-#: ../src/vikgoto.c:124
+#: ../src/vikgoto.c:165
msgid "Enter address or place name:"
msgstr "Vnesite naslov ali ime kraja:"
-#: ../src/vikgpslayer.c:127
+#: ../src/vikgoto.c:363
+msgid "Locality"
+msgstr ""
+
+#: ../src/vikgpslayer.c:128
msgid "Data Mode"
msgstr ""
-#: ../src/vikgpslayer.c:129
+#: ../src/vikgpslayer.c:130
msgid "Realtime Tracking Mode"
msgstr ""
-#: ../src/vikgpslayer.c:137
+#: ../src/vikgpslayer.c:167
msgid "Keep vehicle at center"
msgstr ""
-#: ../src/vikgpslayer.c:138
+#: ../src/vikgpslayer.c:168
msgid "Keep vehicle on screen"
msgstr ""
-#: ../src/vikgpslayer.c:139
+#: ../src/vikgpslayer.c:169
msgid "Disable"
msgstr ""
-#: ../src/vikgpslayer.c:152
+#: ../src/vikgpslayer.c:209
msgid "Download Tracks:"
msgstr ""
-#: ../src/vikgpslayer.c:153
+#: ../src/vikgpslayer.c:210
msgid "Upload Tracks:"
msgstr ""
-#: ../src/vikgpslayer.c:154
+#: ../src/vikgpslayer.c:211
msgid "Download Routes:"
msgstr ""
-#: ../src/vikgpslayer.c:155
+#: ../src/vikgpslayer.c:212
msgid "Upload Routes:"
msgstr ""
-#: ../src/vikgpslayer.c:156
+#: ../src/vikgpslayer.c:213
msgid "Download Waypoints:"
msgstr ""
-#: ../src/vikgpslayer.c:157
+#: ../src/vikgpslayer.c:214
msgid "Upload Waypoints:"
msgstr ""
-#: ../src/vikgpslayer.c:159
+#: ../src/vikgpslayer.c:216
msgid "Recording tracks"
msgstr "Snemanje sledi"
-#: ../src/vikgpslayer.c:160
+#: ../src/vikgpslayer.c:217
msgid "Jump to current position on start"
msgstr "Ob zagonu skoči na trenutni položaj"
-#: ../src/vikgpslayer.c:161
+#: ../src/vikgpslayer.c:218
msgid "Moving Map Method:"
msgstr ""
-#: ../src/vikgpslayer.c:162
+#: ../src/vikgpslayer.c:219
+msgid "Update Statusbar:"
+msgstr ""
+
+#: ../src/vikgpslayer.c:219
+msgid "Display information in the statusbar on GPS updates"
+msgstr ""
+
+#: ../src/vikgpslayer.c:220
msgid "Gpsd Host:"
msgstr "Strežnik gpsd:"
-#: ../src/vikgpslayer.c:163
+#: ../src/vikgpslayer.c:221
msgid "Gpsd Port:"
msgstr "Vrata gpsd"
-#: ../src/vikgpslayer.c:164
+#: ../src/vikgpslayer.c:222
msgid "Gpsd Retry Interval (seconds):"
msgstr ""
-#: ../src/vikgpslayer.c:179
+#: ../src/vikgpslayer.c:243
msgid "GPS"
msgstr ""
-#: ../src/vikgpslayer.c:242 ../src/vikgpslayer.c:1258
+#: ../src/vikgpslayer.c:306 ../src/vikgpslayer.c:1308
msgid "GPS Download"
msgstr "Prenos iz GPS"
-#: ../src/vikgpslayer.c:242 ../src/vikgpslayer.c:1258
-#: ../src/viktrwlayer.c:3094
+#: ../src/vikgpslayer.c:306 ../src/vikgpslayer.c:1308
+#: ../src/viktrwlayer.c:3480
msgid "GPS Upload"
msgstr "Prenos na GPS"
-#: ../src/vikgpslayer.c:244
+#: ../src/vikgpslayer.c:308
msgid "GPS Realtime Tracking"
msgstr "Sledenje v realnem času z GPS"
-#: ../src/vikgpslayer.c:451
+#: ../src/vikgpslayer.c:517
msgid "Unknown GPS Protocol"
msgstr "Neznan protokol GPS"
-#: ../src/vikgpslayer.c:469
+#: ../src/vikgpslayer.c:535
msgid "Unknown serial port device"
msgstr ""
-#: ../src/vikgpslayer.c:572
+#: ../src/vikgpslayer.c:648
#, c-format
msgid "%s: unknown parameter"
msgstr "%s: neznan parameter"
#. Now with icons
-#: ../src/vikgpslayer.c:693
+#: ../src/vikgpslayer.c:743
msgid "_Upload to GPS"
msgstr ""
-#: ../src/vikgpslayer.c:699
+#: ../src/vikgpslayer.c:749
msgid "Download from _GPS"
msgstr ""
-#: ../src/vikgpslayer.c:720
+#: ../src/vikgpslayer.c:770
msgid "Empty _Realtime"
msgstr ""
-#: ../src/vikgpslayer.c:727
+#: ../src/vikgpslayer.c:777
msgid "E_mpty Upload"
msgstr ""
-#: ../src/vikgpslayer.c:733
+#: ../src/vikgpslayer.c:783
msgid "_Empty Download"
msgstr ""
-#: ../src/vikgpslayer.c:739
+#: ../src/vikgpslayer.c:789
msgid "Empty _All"
msgstr ""
@@ -1337,234 +1604,232 @@ msgstr ""
#. This happens when copied GPS layer is deleted (not sure why the number_handlers would be 2)
#. I don't think there's any side effects and certainly better than the program just aborting
#.
-#: ../src/vikgpslayer.c:756
+#: ../src/vikgpslayer.c:806
#, c-format
msgid "Unexpected number of disconnected handlers: %d"
msgstr ""
-#: ../src/vikgpslayer.c:898
+#: ../src/vikgpslayer.c:948
#, c-format
msgid "Uploading %d waypoint..."
msgid_plural "Uploading %d waypoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:899
+#: ../src/vikgpslayer.c:949
#, c-format
msgid "Uploading %d trackpoint..."
msgid_plural "Uploading %d trackpoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:900
+#: ../src/vikgpslayer.c:950
#, c-format
msgid "Uploading %d routepoint..."
msgid_plural "Uploading %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:925
+#: ../src/vikgpslayer.c:975
#, c-format
msgid "Downloaded %d out of %d waypoint..."
msgid_plural "Downloaded %d out of %d waypoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:926
+#: ../src/vikgpslayer.c:976
#, c-format
msgid "Downloaded %d out of %d trackpoint..."
msgid_plural "Downloaded %d out of %d trackpoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:927
+#: ../src/vikgpslayer.c:977
#, c-format
msgid "Downloaded %d out of %d routepoint..."
msgid_plural "Downloaded %d out of %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:932
+#: ../src/vikgpslayer.c:982
#, c-format
msgid "Uploaded %d out of %d waypoint..."
msgid_plural "Uploaded %d out of %d waypoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:933
+#: ../src/vikgpslayer.c:983
#, c-format
msgid "Uploaded %d out of %d trackpoint..."
msgid_plural "Uploaded %d out of %d trackpoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:934
+#: ../src/vikgpslayer.c:984
#, c-format
msgid "Uploaded %d out of %d routepoint..."
msgid_plural "Uploaded %d out of %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:942
+#: ../src/vikgpslayer.c:992
#, c-format
msgid "Downloaded %d waypoint"
msgid_plural "Downloaded %d waypoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:943
+#: ../src/vikgpslayer.c:993
#, c-format
msgid "Downloaded %d trackpoint"
msgid_plural "Downloaded %d trackpoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:944
+#: ../src/vikgpslayer.c:994
#, c-format
msgid "Downloaded %d routepoint"
msgid_plural "Downloaded %d routepoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:949
+#: ../src/vikgpslayer.c:999
#, c-format
msgid "Uploaded %d waypoint"
msgid_plural "Uploaded %d waypoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:950
+#: ../src/vikgpslayer.c:1000
#, c-format
msgid "Uploaded %d trackpoint"
msgid_plural "Uploaded %d trackpoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:951
+#: ../src/vikgpslayer.c:1001
#, c-format
msgid "Uploaded %d routepoint"
msgid_plural "Uploaded %d routepoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:1180
+#: ../src/vikgpslayer.c:1230
msgid "Error: couldn't find gpsbabel."
msgstr "Napaka: programa gpsbabel ni bilo mogoče najti."
-#: ../src/vikgpslayer.c:1269
+#: ../src/vikgpslayer.c:1319
msgid "Warning - GPS Upload items may overwrite each other"
msgstr ""
-#: ../src/vikgpslayer.c:1301
+#: ../src/vikgpslayer.c:1351
msgid "Status: detecting gpsbabel"
msgstr "Stanje: iščem gpsbabel"
-#: ../src/vikgpslayer.c:1332
+#: ../src/vikgpslayer.c:1386
msgid "No GPS items selected for transfer."
msgstr ""
-#: ../src/vikgpslayer.c:1347
+#: ../src/vikgpslayer.c:1401
msgid "Could not turn off device."
msgstr ""
-#: ../src/vikgpslayer.c:1385
+#: ../src/vikgpslayer.c:1439
msgid "Are you sure you want to delete GPS Upload data?"
msgstr ""
-#: ../src/vikgpslayer.c:1398
+#: ../src/vikgpslayer.c:1452
msgid "Are you sure you want to delete GPS Download data?"
msgstr ""
-#: ../src/vikgpslayer.c:1412
+#: ../src/vikgpslayer.c:1466
msgid "Are you sure you want to delete GPS Realtime data?"
msgstr ""
-#: ../src/vikgpslayer.c:1425
+#: ../src/vikgpslayer.c:1479
msgid "Are you sure you want to delete All GPS data?"
msgstr ""
-#: ../src/viklayerspanel.c:55
-msgid "/C_ut"
-msgstr "/Iz_reži"
+#: ../src/viklayerspanel.c:53
+msgid "C_ut"
+msgstr ""
-#: ../src/viklayerspanel.c:56
-msgid "/_Copy"
-msgstr "/_Kopiraj"
+#: ../src/viklayerspanel.c:54 ../src/vikwindow.c:3753
+msgid "_Copy"
+msgstr "_Kopiraj"
-#: ../src/viklayerspanel.c:57
-msgid "/_Paste"
-msgstr "/_Prilepi"
+#: ../src/viklayerspanel.c:55 ../src/vikwindow.c:3754
+msgid "_Paste"
+msgstr "_Prilepi"
-#: ../src/viklayerspanel.c:58
-msgid "/_Delete"
-msgstr "/_Zbriši"
+#: ../src/viklayerspanel.c:56 ../src/vikwindow.c:3755
+msgid "_Delete"
+msgstr "I_zbriši"
-#: ../src/viklayerspanel.c:59
-msgid "/New Layer"
-msgstr "/Nova plast"
+#: ../src/viklayerspanel.c:133
+msgid "New Layer"
+msgstr ""
-#: ../src/viklayerspanel.c:127
+#: ../src/viklayerspanel.c:178
msgid "Top Layer"
msgstr "Vrhnja plast"
-#: ../src/viklayerspanel.c:143
+#: ../src/viklayerspanel.c:194
msgid "Add new layer"
msgstr ""
-#: ../src/viklayerspanel.c:150
+#: ../src/viklayerspanel.c:201
msgid "Remove selected layer"
msgstr ""
-#: ../src/viklayerspanel.c:157
+#: ../src/viklayerspanel.c:208
msgid "Move selected layer up"
msgstr ""
-#: ../src/viklayerspanel.c:164
+#: ../src/viklayerspanel.c:215
msgid "Move selected layer down"
msgstr ""
-#: ../src/viklayerspanel.c:171
+#: ../src/viklayerspanel.c:222
msgid "Cut selected layer"
msgstr ""
-#: ../src/viklayerspanel.c:178
+#: ../src/viklayerspanel.c:229
msgid "Copy selected layer"
msgstr ""
-#: ../src/viklayerspanel.c:185
-msgid "Paste layer below selected layer"
+#: ../src/viklayerspanel.c:236
+msgid ""
+"Paste layer into selected container layer or otherwise above selected layer"
msgstr ""
-#. TODO: FIXME: if name has a '/' in it it will get all messed up. why not have an itemfactory field with
-#. name, icon, shortcut, etc.?
-#: ../src/viklayerspanel.c:204 ../src/vikwindow.c:3292
-#, c-format
-msgid "New _%s Layer"
+#: ../src/viklayerspanel.c:300
+msgid "New name can not be blank."
msgstr ""
-#: ../src/viklayerspanel.c:511
+#: ../src/viklayerspanel.c:544
msgid "Aggregate Layers have no settable properties."
msgstr ""
-#: ../src/viklayerspanel.c:555
+#: ../src/viklayerspanel.c:588
msgid "You cannot cut the Top Layer."
msgstr "Ne morete izrezati vrhnje plasti."
-#: ../src/viklayerspanel.c:600
+#: ../src/viklayerspanel.c:633
#, c-format
msgid "Are you sure you want to delete %s?"
msgstr ""
-#: ../src/viklayerspanel.c:617
+#: ../src/viklayerspanel.c:650
msgid "You cannot delete the Top Layer."
msgstr "Ne morete izbrisati vrhnje plasti."
-#: ../src/viklayerspanel.c:701
+#: ../src/viklayerspanel.c:734
msgid "Are you sure you wish to delete all layers?"
msgstr "Ali res želite izbrisati vse plasti?"
#. ******* MAPZOOMS ********
-#: ../src/vikmapslayer.c:91
+#: ../src/vikmapslayer.c:80
msgid "Use Viking Zoom Level"
msgstr ""
@@ -1611,49 +1876,49 @@ msgid ""
"actual zoom level."
msgstr ""
-#: ../src/vikmapslayer.c:146
+#: ../src/vikmapslayer.c:156
msgid "_Maps Download"
msgstr ""
-#: ../src/vikmapslayer.c:146
+#: ../src/vikmapslayer.c:156
msgid "Maps Download"
msgstr "Prenos zemljevidov"
-#: ../src/vikmapslayer.c:161
+#: ../src/vikmapslayer.c:171
msgid "Map"
msgstr "Zemljevid"
-#: ../src/vikmapslayer.c:249
-msgid "Default maplayer directory:"
+#: ../src/vikmapslayer.c:259
+msgid "Default map layer directory:"
msgstr ""
-#: ../src/vikmapslayer.c:249
+#: ../src/vikmapslayer.c:259
msgid "Choose a directory to store cached Map tiles for this layer"
msgstr ""
-#: ../src/vikmapslayer.c:505
+#: ../src/vikmapslayer.c:523
msgid "Unknown map type"
msgstr "Neznana vrsta zemljevida"
-#: ../src/vikmapslayer.c:516
+#: ../src/vikmapslayer.c:534
msgid "Unknown Map Zoom"
msgstr ""
-#: ../src/vikmapslayer.c:589
+#: ../src/vikmapslayer.c:624
#, c-format
msgid ""
"New map cannot be displayed in the current drawmode.\n"
"Select \"%s\" from View menu to view it."
msgstr ""
-#: ../src/vikmapslayer.c:753
+#: ../src/vikmapslayer.c:798
#, c-format
msgid ""
"Cowardly refusing to draw tiles or existence of tiles beyond %d zoom out "
"factor"
msgstr ""
-#: ../src/vikmapslayer.c:1157
+#: ../src/vikmapslayer.c:1210
#, c-format
msgid "Redownloading up to %d %s map..."
msgid_plural "Redownloading up to %d %s maps..."
@@ -1662,7 +1927,7 @@ msgstr[1] "Ponoven prenos do %d %s zemljevida..."
msgstr[2] "Ponoven prenos do %d %s zemljevidov..."
msgstr[3] "Ponoven prenos do %d %s zemljevidov..."
-#: ../src/vikmapslayer.c:1159
+#: ../src/vikmapslayer.c:1212
#, c-format
msgid "Redownloading %d %s map..."
msgid_plural "Redownloading %d %s maps..."
@@ -1671,7 +1936,7 @@ msgstr[1] "Ponoven prenos %d %s zemljevida..."
msgstr[2] "Ponoven prenos %d %s zemljevidov..."
msgstr[3] "Ponoven prenos %d %s zemljevidov..."
-#: ../src/vikmapslayer.c:1163 ../src/vikmapslayer.c:1238
+#: ../src/vikmapslayer.c:1216 ../src/vikmapslayer.c:1290
#, c-format
msgid "Downloading %d %s map..."
msgid_plural "Downloading %d %s maps..."
@@ -1680,7 +1945,7 @@ msgstr[1] "Prenos %d %s zemljevida..."
msgstr[2] "Prenos %d %s zemljevidov..."
msgstr[3] "Prenos %d %s zemljevidov..."
-#: ../src/vikmapslayer.c:1311
+#: ../src/vikmapslayer.c:1376
#, c-format
msgid ""
"\n"
@@ -1690,7 +1955,7 @@ msgid ""
"Tile File Timestamp: %s"
msgstr ""
-#: ../src/vikmapslayer.c:1318
+#: ../src/vikmapslayer.c:1380
#, c-format
msgid ""
"Source: %s\n"
@@ -1698,1458 +1963,2035 @@ msgid ""
"No Tile File!"
msgstr ""
-#: ../src/vikmapslayer.c:1356
+#: ../src/vikmapslayer.c:1418
msgid "Redownload _Bad Map(s)"
msgstr ""
-#: ../src/vikmapslayer.c:1360
+#: ../src/vikmapslayer.c:1422
msgid "Redownload _New Map(s)"
msgstr ""
-#: ../src/vikmapslayer.c:1364
+#: ../src/vikmapslayer.c:1426
msgid "Redownload _All Map(s)"
msgstr ""
-#: ../src/vikmapslayer.c:1368
+#: ../src/vikmapslayer.c:1430
msgid "_Show Tile Information"
msgstr ""
-#: ../src/vikmapslayer.c:1449
+#: ../src/vikmapslayer.c:1511
#, c-format
msgid ""
"Wrong drawmode for this map.\n"
"Select \"%s\" from View menu and try again."
msgstr ""
-#: ../src/vikmapslayer.c:1454
+#: ../src/vikmapslayer.c:1516
msgid "Wrong zoom level for this map."
msgstr ""
+#: ../src/vikmapslayer.c:1647
+msgid "Zoom Start:"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1654
+msgid "Zoom End:"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1660
+msgid "Download Maps Method:"
+msgstr ""
+
+#. redownload method - needs to align with REDOWNLOAD* macro values
+#: ../src/vikmapslayer.c:1732
+msgid "Missing"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1732
+msgid "Bad"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1732
+msgid "New"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1732
+msgid "Reload All"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1734
+msgid "Download for Zoom Levels"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1774
+#, c-format
+msgid ""
+"You are not allowed to download more than %d tiles in one go (requested %d)"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1782
+#, c-format
+msgid "Do you really want to download %d tiles?"
+msgstr ""
+
#. Now with icons
-#: ../src/vikmapslayer.c:1485
+#: ../src/vikmapslayer.c:1807
msgid "Download _Missing Onscreen Maps"
msgstr ""
-#: ../src/vikmapslayer.c:1492
+#: ../src/vikmapslayer.c:1814
msgid "Download _New Onscreen Maps"
msgstr ""
-#: ../src/vikmapslayer.c:1499
+#: ../src/vikmapslayer.c:1821
msgid "Reload _All Onscreen Maps"
msgstr ""
-#: ../src/viktreeview.c:263
+#: ../src/vikmapslayer.c:1827
+msgid "Download Maps in _Zoom Levels..."
+msgstr ""
+
+#: ../src/vikrouting.c:54
+msgid "Default engine:"
+msgstr ""
+
+#: ../src/viktreeview.c:316
msgid "Layer Name"
msgstr "Naziv plasti"
-#: ../src/viktreeview.c:742
+#: ../src/viktreeview.c:851
#, c-format
msgid "delete data from %s\n"
msgstr "Izbriši podatke iz %s\n"
-#: ../src/viktrwlayer.c:377
+#: ../src/viktrwlayer.c:398
msgid "Create _Waypoint"
msgstr ""
-#: ../src/viktrwlayer.c:377
+#: ../src/viktrwlayer.c:398
msgid "Create Waypoint"
msgstr ""
-#: ../src/viktrwlayer.c:383
+#: ../src/viktrwlayer.c:404
msgid "Create _Track"
msgstr ""
-#: ../src/viktrwlayer.c:383
+#: ../src/viktrwlayer.c:404
msgid "Create Track"
msgstr "Ustvari sled"
-#: ../src/viktrwlayer.c:392
+#: ../src/viktrwlayer.c:413
msgid "Create _Route"
msgstr ""
-#: ../src/viktrwlayer.c:392
+#: ../src/viktrwlayer.c:413
msgid "Create Route"
msgstr ""
-#: ../src/viktrwlayer.c:401
+#: ../src/viktrwlayer.c:422
msgid "_Edit Waypoint"
msgstr ""
-#: ../src/viktrwlayer.c:401
+#: ../src/viktrwlayer.c:422
msgid "Edit Waypoint"
msgstr ""
-#: ../src/viktrwlayer.c:409
+#: ../src/viktrwlayer.c:432
msgid "Edit Trac_kpoint"
msgstr ""
-#: ../src/viktrwlayer.c:409
+#: ../src/viktrwlayer.c:432
msgid "Edit Trackpoint"
msgstr "Uredi točko sledi"
-#: ../src/viktrwlayer.c:417
+#: ../src/viktrwlayer.c:442
msgid "Show P_icture"
msgstr ""
-#: ../src/viktrwlayer.c:417
+#: ../src/viktrwlayer.c:442
msgid "Show Picture"
msgstr "Prikaži sliko"
-#: ../src/viktrwlayer.c:424
+#: ../src/viktrwlayer.c:448
msgid "Route _Finder"
msgstr ""
-#: ../src/viktrwlayer.c:424
+#: ../src/viktrwlayer.c:448
msgid "Route Finder"
msgstr ""
#. ***** PARAMETERS *****
-#: ../src/viktrwlayer.c:447 ../src/viktrwlayer.c:1942
-#: ../src/viktrwlayer.c:1944
+#: ../src/viktrwlayer.c:468 ../src/viktrwlayer.c:2324
msgid "Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:447 ../src/viktrwlayer.c:1933
-#: ../src/viktrwlayer.c:1935
+#: ../src/viktrwlayer.c:468 ../src/viktrwlayer.c:2319
msgid "Tracks"
msgstr "Sledi"
-#: ../src/viktrwlayer.c:447
+#: ../src/viktrwlayer.c:468
msgid "Waypoint Images"
msgstr ""
-#: ../src/viktrwlayer.c:450
+#: ../src/viktrwlayer.c:468
+msgid "Tracks Advanced"
+msgstr ""
+
+#: ../src/viktrwlayer.c:471
msgid "Draw by Track"
msgstr "Riši po sledeh"
-#: ../src/viktrwlayer.c:450
+#: ../src/viktrwlayer.c:471
msgid "Draw by Speed"
msgstr ""
-#: ../src/viktrwlayer.c:450
+#: ../src/viktrwlayer.c:471
msgid "All Tracks Same Color"
msgstr ""
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "Filled Square"
msgstr "Zapolnjen kvadrat"
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "Square"
msgstr "Kvadrat"
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "Circle"
msgstr "Krožec"
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "X"
msgstr "X"
-#: ../src/viktrwlayer.c:477
+#: ../src/viktrwlayer.c:498
msgid "Extra Extra Small"
msgstr ""
-#: ../src/viktrwlayer.c:478
+#: ../src/viktrwlayer.c:499
msgid "Extra Small"
msgstr ""
-#: ../src/viktrwlayer.c:479
+#: ../src/viktrwlayer.c:500
msgid "Small"
msgstr ""
-#: ../src/viktrwlayer.c:480
+#: ../src/viktrwlayer.c:501
msgid "Medium"
msgstr ""
-#: ../src/viktrwlayer.c:481
+#: ../src/viktrwlayer.c:502
msgid "Large"
msgstr ""
-#: ../src/viktrwlayer.c:482
+#: ../src/viktrwlayer.c:503
msgid "Extra Large"
msgstr ""
-#: ../src/viktrwlayer.c:483
+#: ../src/viktrwlayer.c:504
msgid "Extra Extra Large"
msgstr ""
-#: ../src/viktrwlayer.c:491
+#: ../src/viktrwlayer.c:510
+msgid "Name Ascending"
+msgstr ""
+
+#: ../src/viktrwlayer.c:511
+msgid "Name Descending"
+msgstr ""
+
+#: ../src/viktrwlayer.c:552 ../src/viktrwlayer.c:576
+msgid "Draw Labels"
+msgstr "Nariši oznake"
+
+#: ../src/viktrwlayer.c:553
+msgid "Note: the individual track controls what labels may be displayed"
+msgstr ""
+
+#: ../src/viktrwlayer.c:554
+msgid "Track Labels Font Size:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:555
msgid "Track Drawing Mode:"
msgstr "Način risanja sledi:"
-#: ../src/viktrwlayer.c:492
+#: ../src/viktrwlayer.c:556
msgid "All Tracks Color:"
msgstr ""
-#: ../src/viktrwlayer.c:493
+#: ../src/viktrwlayer.c:557
msgid "The color used when 'All Tracks Same Color' drawing mode is selected"
msgstr ""
-#: ../src/viktrwlayer.c:494
+#: ../src/viktrwlayer.c:558
msgid "Draw Track Lines"
msgstr "Riši črte sledi"
-#: ../src/viktrwlayer.c:495
+#: ../src/viktrwlayer.c:559
msgid "Track Thickness:"
msgstr "Debelina sledi:"
-#: ../src/viktrwlayer.c:496
+#: ../src/viktrwlayer.c:560
msgid "Draw Track Direction"
msgstr ""
-#: ../src/viktrwlayer.c:497
+#: ../src/viktrwlayer.c:561
msgid "Direction Size:"
msgstr ""
-#: ../src/viktrwlayer.c:498
+#: ../src/viktrwlayer.c:562
msgid "Draw Trackpoints"
msgstr "Riši točke sledi"
-#: ../src/viktrwlayer.c:499
+#: ../src/viktrwlayer.c:563
msgid "Trackpoint Size:"
msgstr ""
-#: ../src/viktrwlayer.c:500
+#: ../src/viktrwlayer.c:564
msgid "Draw Elevation"
msgstr "Riši višino"
-#: ../src/viktrwlayer.c:501
+#: ../src/viktrwlayer.c:565
msgid "Draw Elevation Height %:"
msgstr ""
-#: ../src/viktrwlayer.c:503
+#: ../src/viktrwlayer.c:566
msgid "Draw Stops"
msgstr "Riši zaustavitve"
-#: ../src/viktrwlayer.c:504
+#: ../src/viktrwlayer.c:567
msgid ""
"Whether to draw a marker when trackpoints are at the same position but over "
"the minimum stop length apart in time"
msgstr ""
-#: ../src/viktrwlayer.c:505
+#: ../src/viktrwlayer.c:568
msgid "Min Stop Length (seconds):"
msgstr "Najkrajša zaustavitev (sekund):"
-#: ../src/viktrwlayer.c:507
+#: ../src/viktrwlayer.c:570
msgid "Track BG Thickness:"
msgstr "Debelina ozadja sledi:"
-#: ../src/viktrwlayer.c:508
+#: ../src/viktrwlayer.c:571
msgid "Track Background Color"
msgstr "Barva ozadja sledi:"
-#: ../src/viktrwlayer.c:509
+#: ../src/viktrwlayer.c:572
msgid "Draw by Speed Factor (%):"
msgstr ""
-#: ../src/viktrwlayer.c:510
+#: ../src/viktrwlayer.c:573
msgid ""
"The percentage factor away from the average speed determining the color used"
msgstr ""
-#: ../src/viktrwlayer.c:512
-msgid "Draw Labels"
-msgstr "Nariši oznake"
+#: ../src/viktrwlayer.c:574
+msgid "Track Sort Order:"
+msgstr ""
-#: ../src/viktrwlayer.c:513
+#: ../src/viktrwlayer.c:577
msgid "Waypoint Font Size:"
msgstr ""
-#: ../src/viktrwlayer.c:514
+#: ../src/viktrwlayer.c:578
msgid "Waypoint Color:"
msgstr ""
-#: ../src/viktrwlayer.c:515
+#: ../src/viktrwlayer.c:579
msgid "Waypoint Text:"
msgstr ""
-#: ../src/viktrwlayer.c:516
+#: ../src/viktrwlayer.c:580
msgid "Background:"
msgstr "Ozadje:"
-#: ../src/viktrwlayer.c:517
+#: ../src/viktrwlayer.c:581
msgid "Fake BG Color Translucency:"
msgstr ""
-#: ../src/viktrwlayer.c:518
+#: ../src/viktrwlayer.c:582
msgid "Waypoint marker:"
msgstr ""
-#: ../src/viktrwlayer.c:519
+#: ../src/viktrwlayer.c:583
msgid "Waypoint size:"
msgstr ""
-#: ../src/viktrwlayer.c:520
+#: ../src/viktrwlayer.c:584
msgid "Draw Waypoint Symbols:"
msgstr ""
-#: ../src/viktrwlayer.c:522
+#: ../src/viktrwlayer.c:585
+msgid "Waypoint Sort Order:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:587
msgid "Draw Waypoint Images"
msgstr ""
-#: ../src/viktrwlayer.c:523
+#: ../src/viktrwlayer.c:588
msgid "Image Size (pixels):"
msgstr "Velikost slike (slikovnih točk):"
-#: ../src/viktrwlayer.c:524
+#: ../src/viktrwlayer.c:589
msgid "Image Alpha:"
msgstr "Prosojnost slike:"
-#: ../src/viktrwlayer.c:525
+#: ../src/viktrwlayer.c:590
msgid "Image Memory Cache Size:"
msgstr ""
-#: ../src/viktrwlayer.c:610
+#: ../src/viktrwlayer.c:678
msgid "TrackWaypoint"
msgstr ""
-#: ../src/viktrwlayer.c:1951 ../src/viktrwlayer.c:1953
+#: ../src/viktrwlayer.c:1534 ../src/vikutils.c:204
+msgid "miles"
+msgstr ""
+
+#. VIK_UNITS_DISTANCE_KILOMETRES:
+#: ../src/viktrwlayer.c:1538 ../src/vikutils.c:209
+msgid "km"
+msgstr ""
+
+#: ../src/viktrwlayer.c:1648
+msgid "start/end"
+msgstr ""
+
+#: ../src/viktrwlayer.c:1660
+msgid "start"
+msgstr ""
+
+#: ../src/viktrwlayer.c:1669
+msgid "end"
+msgstr ""
+
+#: ../src/viktrwlayer.c:2329
msgid "Routes"
msgstr ""
-#: ../src/viktrwlayer.c:2144
+#: ../src/viktrwlayer.c:2519
#, c-format
msgid " in %d:%02d hrs:mins"
msgstr ""
-#: ../src/viktrwlayer.c:2148
+#: ../src/viktrwlayer.c:2523
#, c-format
msgid ""
"\n"
"%sTotal Length %.1f %s%s"
msgstr ""
-#: ../src/viktrwlayer.c:2154
+#: ../src/viktrwlayer.c:2529
#, c-format
msgid "Tracks: %d - Waypoints: %d - Routes: %d%s"
msgstr ""
-#: ../src/viktrwlayer.c:2174
+#: ../src/viktrwlayer.c:2549
#, c-format
msgid "Tracks: %d"
msgstr ""
-#: ../src/viktrwlayer.c:2184
+#: ../src/viktrwlayer.c:2559
#, c-format
msgid "Routes: %d"
msgstr ""
-#: ../src/viktrwlayer.c:2215
+#: ../src/viktrwlayer.c:2590
#, c-format
msgid "- %d:%02d hrs:mins"
msgstr ""
-#: ../src/viktrwlayer.c:2223
+#: ../src/viktrwlayer.c:2598
#, c-format
msgid "%s%.1f km %s"
msgstr ""
-#: ../src/viktrwlayer.c:2226
+#: ../src/viktrwlayer.c:2601
#, c-format
msgid "%s%.1f miles %s"
msgstr ""
-#: ../src/viktrwlayer.c:2240
+#: ../src/viktrwlayer.c:2615
#, c-format
msgid "Waypoints: %d"
msgstr ""
-#: ../src/viktrwlayer.c:2266
-#, c-format
-msgid "Trkpt: Alt %dft"
-msgstr ""
-
-#. VIK_UNITS_HEIGHT_METRES:
-#: ../src/viktrwlayer.c:2270
-#, c-format
-msgid "Trkpt: Alt %dm"
-msgstr ""
-
-#. Compact date time format
-#: ../src/viktrwlayer.c:2277
-#, c-format
-msgid " | Time %x %X"
-msgstr ""
-
-#: ../src/viktrwlayer.c:2295
-#, c-format
-msgid " | Track: %s"
-msgstr ""
-
-#. Combine parts to make overall message
-#: ../src/viktrwlayer.c:2299
-#, c-format
-msgid "%s%s | %s %s %s"
-msgstr ""
-
-#: ../src/viktrwlayer.c:2314
+#: ../src/viktrwlayer.c:2671
#, c-format
msgid "Wpt: Alt %dft"
msgstr ""
#. VIK_UNITS_HEIGHT_METRES:
-#: ../src/viktrwlayer.c:2318
+#: ../src/viktrwlayer.c:2675
#, c-format
msgid "Wpt: Alt %dm"
msgstr ""
#. Add comment if available
-#: ../src/viktrwlayer.c:2333
+#: ../src/viktrwlayer.c:2690
#, c-format
msgid "%s | %s %s | Comment: %s"
msgstr ""
-#: ../src/viktrwlayer.c:2335
+#: ../src/viktrwlayer.c:2692
#, c-format
msgid "%s | %s %s"
msgstr ""
-#: ../src/viktrwlayer.c:2563 ../src/viktrwlayer.c:2634
+#: ../src/viktrwlayer.c:2939 ../src/viktrwlayer.c:3010
msgid "This layer has no waypoints or trackpoints."
msgstr ""
-#: ../src/viktrwlayer.c:2661 ../src/vikwindow.c:2407 ../src/vikwindow.c:2848
+#: ../src/viktrwlayer.c:3045 ../src/vikwindow.c:2754 ../src/vikwindow.c:3407
#, c-format
msgid "The file \"%s\" exists, do you wish to overwrite it?"
msgstr "Datoteka \"%s\" že obstaja. Ali jo želite prepisati?"
-#: ../src/viktrwlayer.c:2671 ../src/vikwindow.c:2429
+#: ../src/viktrwlayer.c:3057 ../src/vikwindow.c:2778
msgid "The filename you requested could not be opened for writing."
msgstr ""
-#: ../src/viktrwlayer.c:2676 ../src/viktrwlayer.c:2681
-#: ../src/viktrwlayer.c:2691 ../src/viktrwlayer.c:2703
+#: ../src/viktrwlayer.c:3062 ../src/viktrwlayer.c:3067
+#: ../src/viktrwlayer.c:3077 ../src/viktrwlayer.c:3089
msgid "Export Layer"
msgstr "Izvozi plast"
-#: ../src/viktrwlayer.c:2720
+#: ../src/viktrwlayer.c:3108
msgid "Could not create temporary file for export."
msgstr ""
-#: ../src/viktrwlayer.c:2729
+#: ../src/viktrwlayer.c:3117
#, c-format
msgid "Could not launch %s."
msgstr ""
-#: ../src/viktrwlayer.c:2773
+#: ../src/viktrwlayer.c:3161
msgid "Export Track as GPX"
msgstr ""
-#: ../src/viktrwlayer.c:2795
+#: ../src/viktrwlayer.c:3183
msgid "Find"
msgstr ""
-#: ../src/viktrwlayer.c:2805
+#: ../src/viktrwlayer.c:3193
msgid "Waypoint Name:"
msgstr ""
-#: ../src/viktrwlayer.c:2822
+#: ../src/viktrwlayer.c:3210
msgid "Waypoint not found in this layer."
msgstr ""
-#: ../src/viktrwlayer.c:3090
+#: ../src/viktrwlayer.c:3476
msgid "Can not upload invisible track."
msgstr ""
-#: ../src/viktrwlayer.c:3192 ../src/viktrwlayer.c:7785
+#: ../src/viktrwlayer.c:3581 ../src/viktrwlayer.c:9283
msgid "Track"
msgstr ""
-#: ../src/viktrwlayer.c:3215 ../src/viktrwlayer.c:7817
+#: ../src/viktrwlayer.c:3606 ../src/viktrwlayer.c:9316
msgid "Route"
msgstr ""
-#: ../src/viktrwlayer.c:3296 ../src/viktrwlayer.c:6265
-#: ../src/viktrwlayer.c:6314
+#: ../src/viktrwlayer.c:3691 ../src/viktrwlayer.c:7460
+#: ../src/viktrwlayer.c:7566
msgid "_Finish Route"
msgstr ""
-#: ../src/viktrwlayer.c:3298 ../src/viktrwlayer.c:6223
-#: ../src/viktrwlayer.c:6312
+#: ../src/viktrwlayer.c:3693 ../src/viktrwlayer.c:7383
+#: ../src/viktrwlayer.c:7564
msgid "_Finish Track"
msgstr ""
#. Now with icons
-#: ../src/viktrwlayer.c:3310
+#: ../src/viktrwlayer.c:3705
msgid "_View Layer"
msgstr ""
-#: ../src/viktrwlayer.c:3317
+#: ../src/viktrwlayer.c:3712
msgid "V_iew"
msgstr ""
-#: ../src/viktrwlayer.c:3323
+#: ../src/viktrwlayer.c:3718
msgid "View All _Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:3328
+#: ../src/viktrwlayer.c:3723
msgid "View All _Routes"
msgstr ""
-#: ../src/viktrwlayer.c:3333
+#: ../src/viktrwlayer.c:3728
msgid "View All _Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:3338
+#: ../src/viktrwlayer.c:3733
msgid "_Goto Center of Layer"
msgstr ""
-#: ../src/viktrwlayer.c:3344 ../src/viktrwlayer.c:6199
+#: ../src/viktrwlayer.c:3739 ../src/viktrwlayer.c:7335
msgid "Goto _Waypoint..."
msgstr ""
-#: ../src/viktrwlayer.c:3350
+#: ../src/viktrwlayer.c:3745
msgid "_Export Layer"
msgstr ""
-#: ../src/viktrwlayer.c:3356
+#: ../src/viktrwlayer.c:3751
msgid "Export as GPS_Point..."
msgstr ""
-#: ../src/viktrwlayer.c:3361
+#: ../src/viktrwlayer.c:3756
msgid "Export as GPS_Mapper..."
msgstr ""
-#: ../src/viktrwlayer.c:3366
+#: ../src/viktrwlayer.c:3761
msgid "Export as _GPX..."
msgstr ""
-#: ../src/viktrwlayer.c:3371
+#: ../src/viktrwlayer.c:3766
msgid "Export as _KML..."
msgstr ""
-#: ../src/viktrwlayer.c:3376
+#: ../src/viktrwlayer.c:3771
msgid "Open with External Program_1: "
msgstr ""
-#: ../src/viktrwlayer.c:3383
+#: ../src/viktrwlayer.c:3778
msgid "Open with External Program_2: "
msgstr ""
-#: ../src/viktrwlayer.c:3391 ../src/vikwindow.c:3145
+#: ../src/viktrwlayer.c:3786 ../src/vikwindow.c:3704
msgid "_New"
msgstr "_Novo"
-#: ../src/viktrwlayer.c:3397
+#: ../src/viktrwlayer.c:3792
msgid "New _Waypoint..."
msgstr ""
-#: ../src/viktrwlayer.c:3403
+#: ../src/viktrwlayer.c:3798
msgid "New _Track"
msgstr ""
-#: ../src/viktrwlayer.c:3411
+#: ../src/viktrwlayer.c:3806
msgid "New _Route"
msgstr ""
-#: ../src/viktrwlayer.c:3420 ../src/viktrwlayer.c:6597
+#: ../src/viktrwlayer.c:3815 ../src/viktrwlayer.c:7938
msgid "Geotag _Images..."
msgstr ""
-#: ../src/viktrwlayer.c:3427
+#: ../src/viktrwlayer.c:3822
msgid "_Acquire"
msgstr ""
-#: ../src/viktrwlayer.c:3433 ../src/vikwindow.c:3150
+#: ../src/viktrwlayer.c:3828 ../src/vikwindow.c:3711
msgid "From _GPS..."
msgstr "Iz _GPS..."
-#: ../src/viktrwlayer.c:3439
-msgid "From Google _Directions..."
+#. FIXME: only add menu when at least a routing engine has support for Directions
+#: ../src/viktrwlayer.c:3834
+msgid "From _Directions..."
msgstr ""
-#: ../src/viktrwlayer.c:3446
+#: ../src/viktrwlayer.c:3840
msgid "From _OSM Traces..."
msgstr ""
-#: ../src/viktrwlayer.c:3451
+#: ../src/viktrwlayer.c:3845
msgid "From _My OSM Traces..."
msgstr ""
-#: ../src/viktrwlayer.c:3459 ../src/vikwindow.c:3166
+#: ../src/viktrwlayer.c:3853 ../src/vikwindow.c:3725
msgid "From _Wikipedia Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:3465
+#: ../src/viktrwlayer.c:3859
msgid "Within _Layer Bounds"
msgstr ""
-#: ../src/viktrwlayer.c:3471
+#: ../src/viktrwlayer.c:3865
msgid "Within _Current View"
msgstr ""
-#: ../src/viktrwlayer.c:3479
+#: ../src/viktrwlayer.c:3873
msgid "From Geo_caching..."
msgstr ""
-#: ../src/viktrwlayer.c:3486 ../src/vikwindow.c:3163
+#: ../src/viktrwlayer.c:3880 ../src/vikwindow.c:3722
msgid "From Geotagged _Images..."
msgstr ""
-#: ../src/viktrwlayer.c:3492
+#: ../src/viktrwlayer.c:3886
msgid "From _File..."
msgstr ""
-#: ../src/viktrwlayer.c:3498 ../src/viktrwlayer.c:6542
+#: ../src/viktrwlayer.c:3894 ../src/viktrwlayer.c:7883
msgid "_Upload"
msgstr ""
-#: ../src/viktrwlayer.c:3504
+#: ../src/viktrwlayer.c:3900
msgid "Upload to _GPS..."
msgstr ""
-#: ../src/viktrwlayer.c:3511 ../src/viktrwlayer.c:6570
+#: ../src/viktrwlayer.c:3907 ../src/viktrwlayer.c:7911
msgid "Upload to _OSM..."
msgstr ""
-#: ../src/viktrwlayer.c:3519
+#: ../src/viktrwlayer.c:3915
msgid "De_lete"
msgstr ""
-#: ../src/viktrwlayer.c:3525
+#: ../src/viktrwlayer.c:3921
msgid "Delete All _Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:3531
+#: ../src/viktrwlayer.c:3927
msgid "Delete Tracks _From Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:3537 ../src/viktrwlayer.c:6290
+#: ../src/viktrwlayer.c:3933 ../src/viktrwlayer.c:7485
msgid "Delete _All Routes"
msgstr ""
-#: ../src/viktrwlayer.c:3543 ../src/viktrwlayer.c:6296
+#: ../src/viktrwlayer.c:3939 ../src/viktrwlayer.c:7491
msgid "_Delete Routes From Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:3549
+#: ../src/viktrwlayer.c:3945
msgid "Delete All _Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:3555
+#: ../src/viktrwlayer.c:3951
msgid "Delete Waypoints From _Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:4128
+#: ../src/viktrwlayer.c:4574
#, c-format
msgid "Are you sure you want to delete all tracks in %s?"
msgstr ""
-#: ../src/viktrwlayer.c:4138
+#: ../src/viktrwlayer.c:4584
#, c-format
msgid "Are you sure you want to delete all routes in %s?"
msgstr ""
-#: ../src/viktrwlayer.c:4148
+#: ../src/viktrwlayer.c:4594
#, c-format
msgid "Are you sure you want to delete all waypoints in %s?"
msgstr ""
-#: ../src/viktrwlayer.c:4165
+#: ../src/viktrwlayer.c:4611
#, c-format
-msgid "Are you sure you want to delete the waypoint \"%s\""
+msgid "Are you sure you want to delete the waypoint \"%s\"?"
msgstr ""
-#: ../src/viktrwlayer.c:4178
+#: ../src/viktrwlayer.c:4624
#, c-format
-msgid "Are you sure you want to delete the track \"%s\""
+msgid "Are you sure you want to delete the track \"%s\"?"
msgstr ""
-#: ../src/viktrwlayer.c:4191
+#: ../src/viktrwlayer.c:4637
#, c-format
-msgid "Are you sure you want to delete the route \"%s\""
+msgid "Are you sure you want to delete the route \"%s\"?"
msgstr ""
-#: ../src/viktrwlayer.c:4351 ../src/viktrwlayer.c:4922
+#: ../src/viktrwlayer.c:4849 ../src/viktrwlayer.c:5677
msgid ""
"Converting a track to a route removes extra track data such as segments, "
"timestamps, etc...\n"
"Do you want to continue?"
msgstr ""
-#: ../src/viktrwlayer.c:4711
+#: ../src/viktrwlayer.c:4944
+msgid "No DEM layers available, thus no DEM values can be applied."
+msgstr ""
+
+#: ../src/viktrwlayer.c:4964 ../src/viktrwlayer.c:5005
+#, c-format
+msgid "%ld point adjusted"
+msgid_plural "%ld points adjusted"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/viktrwlayer.c:5049
+#, c-format
+msgid "%ld waypoint changed"
+msgid_plural "%ld waypoints changed"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/viktrwlayer.c:5233
+#, c-format
+msgid ""
+"Refining a track with many points (%d) is unlikely to yield sensible "
+"results. Do you want to Continue?"
+msgstr ""
+
+#. Select engine from dialog
+#: ../src/viktrwlayer.c:5241
+msgid "Refine Route with Routing Engine..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:5249
+msgid "Select routing engine"
+msgstr ""
+
+#: ../src/viktrwlayer.c:5467
msgid "Failed. No other tracks with timestamps in this layer found"
msgstr ""
-#: ../src/viktrwlayer.c:4713
+#: ../src/viktrwlayer.c:5469
msgid "Failed. No other tracks without timestamps in this layer found"
msgstr ""
-#: ../src/viktrwlayer.c:4732
+#: ../src/viktrwlayer.c:5488
msgid "Merge with..."
msgstr ""
-#: ../src/viktrwlayer.c:4733
+#: ../src/viktrwlayer.c:5489
msgid "Select route to merge with"
msgstr ""
-#: ../src/viktrwlayer.c:4733
+#: ../src/viktrwlayer.c:5489
msgid "Select track to merge with"
msgstr ""
-#: ../src/viktrwlayer.c:4818 ../src/viktrwlayer.c:4895
+#: ../src/viktrwlayer.c:5573 ../src/viktrwlayer.c:5650
msgid "Append Route"
msgstr ""
-#: ../src/viktrwlayer.c:4818 ../src/viktrwlayer.c:4895
+#: ../src/viktrwlayer.c:5573 ../src/viktrwlayer.c:5650
msgid "Append Track"
msgstr ""
-#: ../src/viktrwlayer.c:4819
+#: ../src/viktrwlayer.c:5574
msgid "Select the route to append after the current route"
msgstr ""
-#: ../src/viktrwlayer.c:4820
+#: ../src/viktrwlayer.c:5575
msgid "Select the track to append after the current track"
msgstr ""
-#: ../src/viktrwlayer.c:4896
+#: ../src/viktrwlayer.c:5651
msgid "Select the track to append after the current route"
msgstr ""
-#: ../src/viktrwlayer.c:4897
+#: ../src/viktrwlayer.c:5652
msgid "Select the route to append after the current track"
msgstr ""
-#: ../src/viktrwlayer.c:4957
+#: ../src/viktrwlayer.c:5711
#, c-format
msgid "%d segment merged"
msgid_plural "%d segments merged"
msgstr[0] ""
msgstr[1] ""
-#: ../src/viktrwlayer.c:4973
+#: ../src/viktrwlayer.c:5727
msgid "Failed. This track does not have timestamp"
msgstr ""
-#: ../src/viktrwlayer.c:4985
+#: ../src/viktrwlayer.c:5739
msgid "Failed. No other track in this layer has timestamp"
msgstr ""
-#: ../src/viktrwlayer.c:4992
+#: ../src/viktrwlayer.c:5746
msgid "Merge Threshold..."
msgstr "Meja za združevanje..."
-#: ../src/viktrwlayer.c:4993
+#: ../src/viktrwlayer.c:5747
msgid "Merge when time between tracks less than:"
msgstr "Združi, ko je čas med sledmi krajši kot:"
-#: ../src/viktrwlayer.c:5128
+#: ../src/viktrwlayer.c:5889
msgid "Split Threshold..."
msgstr ""
-#: ../src/viktrwlayer.c:5129
+#: ../src/viktrwlayer.c:5890
msgid "Split when time between trackpoints exceeds:"
msgstr "Razdeli, če je čas med točkama sledi večji kot:"
-#: ../src/viktrwlayer.c:5205
+#: ../src/viktrwlayer.c:5907
+#, c-format
+msgid ""
+"Can not split track due to trackpoints not ordered in time - such as at %s.\n"
+"\n"
+"Goto this trackpoint?"
+msgstr ""
+
+#: ../src/viktrwlayer.c:5976
msgid "Split Every Nth Point"
msgstr ""
-#: ../src/viktrwlayer.c:5206
+#: ../src/viktrwlayer.c:5977
msgid "Split on every Nth point:"
msgstr ""
-#: ../src/viktrwlayer.c:5312
+#: ../src/viktrwlayer.c:6087
msgid "Can not split track as it has no segments"
msgstr ""
-#: ../src/viktrwlayer.c:5340 ../src/viktrwlayer.c:5370
+#: ../src/viktrwlayer.c:6169 ../src/viktrwlayer.c:6199
#, c-format
msgid "Deleted %ld point"
msgid_plural "Deleted %ld points"
msgstr[0] ""
msgstr[1] ""
-#: ../src/viktrwlayer.c:5531
+#: ../src/viktrwlayer.c:6392
msgid "Internal Error in vik_trw_layer_uniquify_tracks"
msgstr ""
-#: ../src/viktrwlayer.c:5588 ../src/viktrwlayer.c:5635
-#: ../src/viktrwlayer.c:5814
+#: ../src/viktrwlayer.c:6496 ../src/viktrwlayer.c:6543
+#: ../src/viktrwlayer.c:6704
msgid ""
"Multiple entries with the same name exist. This method only works with "
"unique names. Force unique names now?"
msgstr ""
-#: ../src/viktrwlayer.c:5599
+#: ../src/viktrwlayer.c:6507
msgid "No tracks found"
msgstr ""
-#: ../src/viktrwlayer.c:5607 ../src/viktrwlayer.c:5654
-#: ../src/viktrwlayer.c:5834
+#: ../src/viktrwlayer.c:6515 ../src/viktrwlayer.c:6562
+#: ../src/viktrwlayer.c:6724
msgid "Delete Selection"
msgstr ""
-#: ../src/viktrwlayer.c:5608
+#: ../src/viktrwlayer.c:6516
msgid "Select tracks to delete"
msgstr ""
-#: ../src/viktrwlayer.c:5646
+#: ../src/viktrwlayer.c:6554
msgid "No routes found"
msgstr ""
-#: ../src/viktrwlayer.c:5655
+#: ../src/viktrwlayer.c:6563
msgid "Select routes to delete"
msgstr ""
-#: ../src/viktrwlayer.c:5761
+#: ../src/viktrwlayer.c:6669
msgid "Internal Error in vik_trw_layer_uniquify_waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:5824
+#: ../src/viktrwlayer.c:6714
msgid "No waypoints found"
msgstr ""
-#: ../src/viktrwlayer.c:5835
+#: ../src/viktrwlayer.c:6725
msgid "Select waypoints to delete"
msgstr ""
-#: ../src/viktrwlayer.c:5896
+#: ../src/viktrwlayer.c:7033
#, c-format
msgid ""
"A waypoint with the name \"%s\" already exists. Really rename to the same "
"name?"
msgstr ""
-#: ../src/viktrwlayer.c:5926
+#: ../src/viktrwlayer.c:7063
#, c-format
msgid ""
"A track with the name \"%s\" already exists. Really rename to the same name?"
msgstr ""
-#: ../src/viktrwlayer.c:5963
+#: ../src/viktrwlayer.c:7100
#, c-format
msgid ""
"A route with the name \"%s\" already exists. Really rename to the same name?"
msgstr ""
-#: ../src/viktrwlayer.c:6085 ../src/viktrwlayer.c:6337
+#: ../src/viktrwlayer.c:7221 ../src/viktrwlayer.c:7594
msgid "_Goto"
msgstr ""
-#: ../src/viktrwlayer.c:6104
+#: ../src/viktrwlayer.c:7240
msgid "_Visit Geocache Webpage"
msgstr ""
-#: ../src/viktrwlayer.c:6123
+#: ../src/viktrwlayer.c:7259
msgid "_Show Picture..."
msgstr ""
-#: ../src/viktrwlayer.c:6131
+#: ../src/viktrwlayer.c:7267
msgid "Update Geotag on _Image"
msgstr ""
-#: ../src/viktrwlayer.c:6137
+#: ../src/viktrwlayer.c:7273
msgid "_Update"
msgstr ""
-#: ../src/viktrwlayer.c:6142
+#: ../src/viktrwlayer.c:7278
msgid "Update and _Keep File Timestamp"
msgstr ""
-#: ../src/viktrwlayer.c:6153
+#: ../src/viktrwlayer.c:7289
msgid "Visit _Webpage"
msgstr ""
-#: ../src/viktrwlayer.c:6184
+#: ../src/viktrwlayer.c:7320
msgid "_New Waypoint..."
msgstr ""
-#: ../src/viktrwlayer.c:6193
+#: ../src/viktrwlayer.c:7329
msgid "_View All Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:6205
+#: ../src/viktrwlayer.c:7341
msgid "Delete _All Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:6211
+#: ../src/viktrwlayer.c:7347
msgid "_Delete Waypoints From Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:6233
+#: ../src/viktrwlayer.c:7359
+msgid "_Show All Waypoints"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7365
+msgid "_Hide All Waypoints"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7393
msgid "_View All Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:6239
+#: ../src/viktrwlayer.c:7399
msgid "_New Track"
msgstr ""
-#: ../src/viktrwlayer.c:6247
+#: ../src/viktrwlayer.c:7407
msgid "Delete _All Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:6253
+#: ../src/viktrwlayer.c:7413
msgid "_Delete Tracks From Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:6276
+#: ../src/viktrwlayer.c:7425
+msgid "_Show All Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7431
+msgid "_Hide All Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7442
+msgid "_List Tracks..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7471
msgid "_View All Routes"
msgstr ""
-#: ../src/viktrwlayer.c:6282
+#: ../src/viktrwlayer.c:7477
msgid "_New Route"
msgstr ""
-#: ../src/viktrwlayer.c:6327
+#: ../src/viktrwlayer.c:7503
+msgid "_Show All Routes"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7509
+msgid "_Hide All Routes"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7520
+msgid "_List Routes..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7579
msgid "_View Track"
msgstr ""
-#: ../src/viktrwlayer.c:6329
+#: ../src/viktrwlayer.c:7581
msgid "_View Route"
msgstr ""
-#: ../src/viktrwlayer.c:6343
+#: ../src/viktrwlayer.c:7600
msgid "_Startpoint"
msgstr ""
-#: ../src/viktrwlayer.c:6349
+#: ../src/viktrwlayer.c:7606
msgid "\"_Center\""
msgstr ""
-#: ../src/viktrwlayer.c:6355
+#: ../src/viktrwlayer.c:7612
msgid "_Endpoint"
msgstr ""
-#: ../src/viktrwlayer.c:6361
+#: ../src/viktrwlayer.c:7618
msgid "_Highest Altitude"
msgstr ""
-#: ../src/viktrwlayer.c:6367
+#: ../src/viktrwlayer.c:7624
msgid "_Lowest Altitude"
msgstr ""
-#: ../src/viktrwlayer.c:6375
+#: ../src/viktrwlayer.c:7632
msgid "_Maximum Speed"
msgstr ""
-#: ../src/viktrwlayer.c:6384
+#: ../src/viktrwlayer.c:7641
msgid "Co_mbine"
msgstr ""
-#: ../src/viktrwlayer.c:6392
+#: ../src/viktrwlayer.c:7649
msgid "_Merge By Time..."
msgstr ""
-#: ../src/viktrwlayer.c:6397
+#: ../src/viktrwlayer.c:7654
msgid "Merge _Segments"
msgstr ""
-#: ../src/viktrwlayer.c:6403
+#: ../src/viktrwlayer.c:7660
msgid "Merge _With Other Tracks..."
msgstr ""
-#: ../src/viktrwlayer.c:6409
+#: ../src/viktrwlayer.c:7666
msgid "_Append Track..."
msgstr ""
-#: ../src/viktrwlayer.c:6411
+#: ../src/viktrwlayer.c:7668
msgid "_Append Route..."
msgstr ""
-#: ../src/viktrwlayer.c:6417
+#: ../src/viktrwlayer.c:7674
msgid "Append _Route..."
msgstr ""
-#: ../src/viktrwlayer.c:6419
+#: ../src/viktrwlayer.c:7676
msgid "Append _Track..."
msgstr ""
-#: ../src/viktrwlayer.c:6426
+#: ../src/viktrwlayer.c:7683
msgid "_Split"
msgstr ""
-#: ../src/viktrwlayer.c:6434
+#: ../src/viktrwlayer.c:7691
msgid "_Split By Time..."
msgstr ""
#. ATM always enable this entry - don't want to have to analyse the track before displaying the menu - to keep the menu speedy
-#: ../src/viktrwlayer.c:6440
+#: ../src/viktrwlayer.c:7697
msgid "Split Se_gments"
msgstr ""
-#: ../src/viktrwlayer.c:6446
+#: ../src/viktrwlayer.c:7703
msgid "Split By _Number of Points..."
msgstr ""
-#: ../src/viktrwlayer.c:6451
+#: ../src/viktrwlayer.c:7708
msgid "Split at _Trackpoint"
msgstr ""
-#: ../src/viktrwlayer.c:6460
+#: ../src/viktrwlayer.c:7716
+msgid "_Insert Points"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7722
+msgid "Insert Point _Before Selected Point"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7729
+msgid "Insert Point _After Selected Point"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7738
msgid "Delete Poi_nts"
msgstr ""
-#: ../src/viktrwlayer.c:6466
+#: ../src/viktrwlayer.c:7744
+msgid "Delete _Selected Point"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7752
msgid "Delete Points With The Same _Position"
msgstr ""
-#: ../src/viktrwlayer.c:6471
+#: ../src/viktrwlayer.c:7757
msgid "Delete Points With The Same _Time"
msgstr ""
-#: ../src/viktrwlayer.c:6477
-msgid "_Reverse Track"
+#: ../src/viktrwlayer.c:7764 ../src/viktrwlayer.c:7964
+msgid "_Transform"
msgstr ""
-#: ../src/viktrwlayer.c:6479
-msgid "_Reverse Route"
+#: ../src/viktrwlayer.c:7772 ../src/viktrwlayer.c:7972
+msgid "_Apply DEM Data"
msgstr ""
-#: ../src/viktrwlayer.c:6488
-msgid "Down_load Maps Along Track..."
+#: ../src/viktrwlayer.c:7777 ../src/viktrwlayer.c:7977
+msgid "_Overwrite"
msgstr ""
-#: ../src/viktrwlayer.c:6490
-msgid "Down_load Maps Along Route..."
+#: ../src/viktrwlayer.c:7780 ../src/viktrwlayer.c:7980
+msgid "Overwrite any existing elevation values with DEM values"
msgstr ""
-#: ../src/viktrwlayer.c:6497
-msgid "_Apply DEM Data"
+#: ../src/viktrwlayer.c:7783 ../src/viktrwlayer.c:7983
+msgid "_Keep Existing"
msgstr ""
-#: ../src/viktrwlayer.c:6504
-msgid "_Export Track as GPX..."
+#: ../src/viktrwlayer.c:7786 ../src/viktrwlayer.c:7986
+msgid "Keep existing elevation values, only attempt for missing values"
msgstr ""
-#: ../src/viktrwlayer.c:6506
-msgid "_Export Route as GPX..."
+#: ../src/viktrwlayer.c:7791
+msgid "_Smooth Missing Elevation Data"
msgstr ""
-#: ../src/viktrwlayer.c:6513
-msgid "E_xtend Track End"
+#: ../src/viktrwlayer.c:7796
+msgid "_Interpolated"
msgstr ""
-#: ../src/viktrwlayer.c:6515
-msgid "E_xtend Route End"
+#: ../src/viktrwlayer.c:7799
+msgid ""
+"Interpolate between known elevation values to derive values for the missing "
+"elevations"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7802
+msgid "_Flat"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7805
+msgid "Set unknown elevation values to the last known value"
msgstr ""
-#: ../src/viktrwlayer.c:6522
+#: ../src/viktrwlayer.c:7809
msgid "C_onvert to a Route"
msgstr ""
-#: ../src/viktrwlayer.c:6524
+#: ../src/viktrwlayer.c:7811
msgid "C_onvert to a Track"
msgstr ""
-#: ../src/viktrwlayer.c:6532
+#: ../src/viktrwlayer.c:7819
+msgid "_Anonymize Times"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7822
+msgid "Shift timestamps to a relative offset from 1901-01-01"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7827
+msgid "_Reverse Track"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7829
+msgid "_Reverse Route"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7836
+msgid "Refine Route..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7846
+msgid "Down_load Maps Along Track..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7848
+msgid "Down_load Maps Along Route..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7856
+msgid "_Export Track as GPX..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7858
+msgid "_Export Route as GPX..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7865
+msgid "E_xtend Track End"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7867
+msgid "E_xtend Route End"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7874
msgid "Extend _Using Route Finder"
msgstr ""
-#: ../src/viktrwlayer.c:6548
+#: ../src/viktrwlayer.c:7889
msgid "_Upload to GPS..."
msgstr ""
-#: ../src/viktrwlayer.c:6559
+#: ../src/viktrwlayer.c:7900
msgid "_View Google Directions"
msgstr ""
-#: ../src/viktrwlayer.c:6579
+#: ../src/viktrwlayer.c:7920
msgid "Use with _Filter"
msgstr ""
-#: ../src/viktrwlayer.c:6612
+#: ../src/viktrwlayer.c:7953
msgid "_Edit Trackpoint"
msgstr ""
-#: ../src/viktrwlayer.c:7524
+#: ../src/viktrwlayer.c:9017
#, c-format
msgid " - Gain %dm:Loss %dm"
msgstr ""
-#: ../src/viktrwlayer.c:7526
+#: ../src/viktrwlayer.c:9019
#, c-format
msgid " - Gain %dft:Loss %dft"
msgstr ""
-#: ../src/viktrwlayer.c:7531
+#: ../src/viktrwlayer.c:9024
#, c-format
msgid " - Bearing %3.1f° - Step %s"
msgstr ""
-#: ../src/viktrwlayer.c:8124
+#: ../src/viktrwlayer.c:9628
#, c-format
msgid "Could not launch %s to open file."
msgstr ""
-#: ../src/viktrwlayer.c:8205
+#: ../src/viktrwlayer.c:9709
#, c-format
msgid "Creating %d Image Thumbnails..."
msgstr ""
-#: ../src/viktrwlayer.c:8524
+#: ../src/viktrwlayer.c:10106
msgid "No map layer in use. Create one first"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:898 ../src/viktrwlayer_propwin.c:1155
+#: ../src/viktrwlayer.c:10225
+#, c-format
+msgid "%s: Track List"
+msgstr ""
+
+#: ../src/viktrwlayer.c:10227
+#, c-format
+msgid "%s: Route List"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:828 ../src/viktrwlayer_propwin.c:1085
#, c-format
msgid "%.1f kph"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:901 ../src/viktrwlayer_propwin.c:1158
+#: ../src/viktrwlayer_propwin.c:831 ../src/viktrwlayer_propwin.c:1088
+#: ../src/viktrwlayer_analysis.c:290
#, c-format
msgid "%.1f mph"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:904 ../src/viktrwlayer_propwin.c:1161
+#: ../src/viktrwlayer_propwin.c:834 ../src/viktrwlayer_propwin.c:1091
#, c-format
msgid "%.1f knots"
msgstr ""
#. VIK_UNITS_SPEED_METRES_PER_SECOND:
-#: ../src/viktrwlayer_propwin.c:908 ../src/viktrwlayer_propwin.c:1165
+#: ../src/viktrwlayer_propwin.c:838 ../src/viktrwlayer_propwin.c:1095
#, c-format
msgid "%.1f m/s"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:1745
+#: ../src/viktrwlayer_propwin.c:1662 ../src/viktrwlayer_analysis.c:267
#, c-format
msgid "%.1f miles"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:1747
+#. VIK_UNITS_DISTANCE_KILOMETRES
+#: ../src/viktrwlayer_propwin.c:1664 ../src/viktrwlayer_analysis.c:271
#, c-format
msgid "%.1f km"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2681
+#: ../src/viktrwlayer_propwin.c:2582
msgid "Failed spliting track. Track unchanged"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2779 ../src/viktrwlayer_propwin.c:3178
+#: ../src/viktrwlayer_propwin.c:2724 ../src/viktrwlayer_propwin.c:3140
#, c-format
msgid "%s - Track Properties"
msgstr "%s - Lastnosti sledi"
-#: ../src/viktrwlayer_propwin.c:2784
+#: ../src/viktrwlayer_propwin.c:2729
msgid "Split at _Marker"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2785
+#: ../src/viktrwlayer_propwin.c:2730
msgid "Split _Segments"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2786
+#: ../src/viktrwlayer_propwin.c:2731
msgid "_Reverse"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2787
+#: ../src/viktrwlayer_propwin.c:2732
msgid "_Delete Dupl."
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2813
+#: ../src/viktrwlayer_propwin.c:2757
msgid "<b>Comment:</b>"
msgstr "<b>Opomba:</b>"
-#: ../src/viktrwlayer_propwin.c:2814
+#: ../src/viktrwlayer_propwin.c:2758
msgid "<b>Description:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2815
+#: ../src/viktrwlayer_propwin.c:2759
+msgid "<b>Color:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2760
+msgid "<b>Draw Name:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2761
+msgid "<b>Distance Labels:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2764
msgid "<b>Track Length:</b>"
msgstr "<b>Dolžina sledi:</b>"
-#: ../src/viktrwlayer_propwin.c:2816
+#: ../src/viktrwlayer_propwin.c:2765
msgid "<b>Trackpoints:</b>"
msgstr "<b>Točk sledi:</b>"
-#: ../src/viktrwlayer_propwin.c:2817
+#: ../src/viktrwlayer_propwin.c:2766
msgid "<b>Segments:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2818
+#: ../src/viktrwlayer_propwin.c:2767
msgid "<b>Duplicate Points:</b>"
msgstr "<b>Podvojene točke:</b>"
-#: ../src/viktrwlayer_propwin.c:2819
+#: ../src/viktrwlayer_propwin.c:2768
msgid "<b>Max Speed:</b>"
msgstr "<b>Najvišja hitrost:</b>"
-#: ../src/viktrwlayer_propwin.c:2820
+#: ../src/viktrwlayer_propwin.c:2769
msgid "<b>Avg. Speed:</b>"
msgstr "<b>Povp. hitrost:</b>"
-#: ../src/viktrwlayer_propwin.c:2821
+#: ../src/viktrwlayer_propwin.c:2770
msgid "<b>Moving Avg. Speed:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2822
+#: ../src/viktrwlayer_propwin.c:2771
msgid "<b>Avg. Dist. Between TPs:</b>"
msgstr "<b>Povprečna razdalja med točkama:</b>"
-#: ../src/viktrwlayer_propwin.c:2823
+#: ../src/viktrwlayer_propwin.c:2772
msgid "<b>Elevation Range:</b>"
msgstr "<b>Razpon višin:</b>"
-#: ../src/viktrwlayer_propwin.c:2824
+#: ../src/viktrwlayer_propwin.c:2773
msgid "<b>Total Elevation Gain/Loss:</b>"
msgstr "<b>Skupen dvig/spust:</b>"
-#: ../src/viktrwlayer_propwin.c:2825
+#: ../src/viktrwlayer_propwin.c:2774
msgid "<b>Start:</b>"
msgstr "<b>Začetek:</b>"
-#: ../src/viktrwlayer_propwin.c:2826
+#: ../src/viktrwlayer_propwin.c:2775
msgid "<b>End:</b>"
msgstr "<b>Konec:</b>"
-#: ../src/viktrwlayer_propwin.c:2827
+#: ../src/viktrwlayer_propwin.c:2776
msgid "<b>Duration:</b>"
msgstr "<b>Trajanje:</b>"
-#: ../src/viktrwlayer_propwin.c:2828
-msgid "<b>Color:</b>"
+#: ../src/viktrwlayer_propwin.c:2797
+msgid "No"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2798
+msgid "Centre"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2799
+msgid "Start only"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2800
+msgid "End only"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2801
+msgid "Start and End"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2802
+msgid "Centre, Start and End"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2814
+msgid "Maximum number of distance labels to be shown"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2818
+msgid "Properties"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2877 ../src/viktrwlayer_propwin.c:2901
-#: ../src/viktrwlayer_propwin.c:2929 ../src/viktrwlayer_propwin.c:2966
-#: ../src/viktrwlayer_propwin.c:2984 ../src/viktrwlayer_propwin.c:3034
-#: ../src/viktrwlayer_propwin.c:3035 ../src/viktrwlayer_propwin.c:3036
-#: ../src/viktrwlayer_propwin.c:3062 ../src/viktrwlayer_propwin.c:3063
+#: ../src/viktrwlayer_propwin.c:2856 ../src/viktrwlayer_propwin.c:2880
+#: ../src/viktrwlayer_propwin.c:2908 ../src/viktrwlayer_propwin.c:2945
+#: ../src/viktrwlayer_propwin.c:2963 ../src/viktrwlayer_propwin.c:3009
+#: ../src/viktrwlayer_propwin.c:3010 ../src/viktrwlayer_propwin.c:3011
+#: ../src/viktrwlayer_propwin.c:3020 ../src/viktrwlayer_propwin.c:3021
+#: ../src/viktrwlayer_propwin.c:3036 ../src/viktrwlayer_propwin.c:3037
+#: ../src/viktrwlayer_propwin.c:3050 ../src/viktrwlayer_propwin.c:3051
+#: ../src/viktrwlayer_propwin.c:3064 ../src/viktrwlayer_propwin.c:3065
#: ../src/viktrwlayer_propwin.c:3078 ../src/viktrwlayer_propwin.c:3079
#: ../src/viktrwlayer_propwin.c:3092 ../src/viktrwlayer_propwin.c:3093
-#: ../src/viktrwlayer_propwin.c:3106 ../src/viktrwlayer_propwin.c:3107
-#: ../src/viktrwlayer_propwin.c:3120 ../src/viktrwlayer_propwin.c:3121
-#: ../src/viktrwlayer_propwin.c:3134 ../src/viktrwlayer_propwin.c:3135
+#: ../src/viktrwlayer_analysis.c:257
#, c-format
msgid "No Data"
msgstr "Ni podatkov"
-#: ../src/viktrwlayer_propwin.c:3031
+#: ../src/viktrwlayer_propwin.c:3006
#, c-format
msgid "%d minutes"
msgstr "%d minut"
-#: ../src/viktrwlayer_propwin.c:3058
+#: ../src/viktrwlayer_propwin.c:3016 ../src/viktrwlayer_analysis.c:515
msgid "Statistics"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3064
+#: ../src/viktrwlayer_propwin.c:3022
msgid "Show D_EM"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3065 ../src/viktrwlayer_propwin.c:3080
-#: ../src/viktrwlayer_propwin.c:3094 ../src/viktrwlayer_propwin.c:3136
+#: ../src/viktrwlayer_propwin.c:3023 ../src/viktrwlayer_propwin.c:3038
+#: ../src/viktrwlayer_propwin.c:3052 ../src/viktrwlayer_propwin.c:3094
msgid "Show _GPS Speed"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3067 ../src/viktrwlayer_propwin.c:3082
-#: ../src/viktrwlayer_propwin.c:3110 ../src/viktrwlayer_propwin.c:3138
+#: ../src/viktrwlayer_propwin.c:3025 ../src/viktrwlayer_propwin.c:3040
+#: ../src/viktrwlayer_propwin.c:3068 ../src/viktrwlayer_propwin.c:3096
msgid "<b>Track Distance:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3068 ../src/viktrwlayer_propwin.c:3125
+#: ../src/viktrwlayer_propwin.c:3026 ../src/viktrwlayer_propwin.c:3083
msgid "<b>Track Height:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3073
+#: ../src/viktrwlayer_propwin.c:3031
msgid "Elevation-distance"
msgstr "Višina-razdalja"
-#: ../src/viktrwlayer_propwin.c:3083
+#: ../src/viktrwlayer_propwin.c:3041
msgid "<b>Track Gradient:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3087
+#: ../src/viktrwlayer_propwin.c:3045
msgid "Gradient-distance"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3096 ../src/viktrwlayer_propwin.c:3111
-#: ../src/viktrwlayer_propwin.c:3124
+#: ../src/viktrwlayer_propwin.c:3054 ../src/viktrwlayer_propwin.c:3069
+#: ../src/viktrwlayer_propwin.c:3082
msgid "<b>Track Time:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3097 ../src/viktrwlayer_propwin.c:3139
+#: ../src/viktrwlayer_propwin.c:3055 ../src/viktrwlayer_propwin.c:3097
msgid "<b>Track Speed:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3101
+#: ../src/viktrwlayer_propwin.c:3059
msgid "Speed-time"
msgstr "Hitrost-čas"
-#: ../src/viktrwlayer_propwin.c:3108 ../src/viktrwlayer_propwin.c:3122
+#: ../src/viktrwlayer_propwin.c:3066 ../src/viktrwlayer_propwin.c:3080
msgid "Show S_peed"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3115
+#: ../src/viktrwlayer_propwin.c:3073
msgid "Distance-time"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3129
+#: ../src/viktrwlayer_propwin.c:3087
msgid "Elevation-time"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3143
+#: ../src/viktrwlayer_propwin.c:3101
msgid "Speed-distance"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:118
+#: ../src/viktrwlayer_tpwin.c:119
msgid "<b>Part of Track:</b>"
msgstr "<b>Del sledi:</b>"
-#: ../src/viktrwlayer_tpwin.c:119
+#: ../src/viktrwlayer_tpwin.c:120
msgid "<b>Latitude:</b>"
msgstr "<b>Geografska širina:</b>"
-#: ../src/viktrwlayer_tpwin.c:120
+#: ../src/viktrwlayer_tpwin.c:121
msgid "<b>Longitude:</b>"
msgstr "<b>Geografska dolžina:</b>"
-#: ../src/viktrwlayer_tpwin.c:121
+#: ../src/viktrwlayer_tpwin.c:122
msgid "<b>Altitude:</b>"
msgstr "<b>Višina:</b>"
-#: ../src/viktrwlayer_tpwin.c:122
+#: ../src/viktrwlayer_tpwin.c:123
+msgid "<b>Course:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_tpwin.c:124
msgid "<b>Timestamp:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:123
+#: ../src/viktrwlayer_tpwin.c:125
msgid "<b>Time:</b>"
msgstr "<b>Čas:</b>"
-#: ../src/viktrwlayer_tpwin.c:124
+#: ../src/viktrwlayer_tpwin.c:126
msgid "<b>Distance Difference:</b>"
msgstr "<b>Razlika razdalj:</b>"
-#: ../src/viktrwlayer_tpwin.c:125
+#: ../src/viktrwlayer_tpwin.c:127
msgid "<b>Time Difference:</b>"
msgstr "<b>Razlika v času:</b>"
-#: ../src/viktrwlayer_tpwin.c:126
+#: ../src/viktrwlayer_tpwin.c:128
msgid "<b>\"Speed\" Between:</b>"
msgstr "<b>\"Hitrost\" med:</b>"
-#: ../src/viktrwlayer_tpwin.c:127
+#: ../src/viktrwlayer_tpwin.c:129
+msgid "<b>Speed:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_tpwin.c:130
msgid "<b>VDOP:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:128
+#: ../src/viktrwlayer_tpwin.c:131
msgid "<b>HDOP:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:129
+#: ../src/viktrwlayer_tpwin.c:132
msgid "<b>PDOP:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:130
+#: ../src/viktrwlayer_tpwin.c:133
msgid "<b>SAT/FIX:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:139
+#: ../src/viktrwlayer_tpwin.c:141
msgid "Trackpoint"
msgstr "Točka sledi"
-#: ../src/viktrwlayer_tpwin.c:142
+#: ../src/viktrwlayer_tpwin.c:144
msgid "_Insert After"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:144
+#: ../src/viktrwlayer_tpwin.c:146
msgid "Split Here"
msgstr "Razdeli tu"
-#: ../src/viktrwlayer_geotag.c:446
+#.
+#. item = gtk_image_menu_item_new_with_mnemonic ( _("_Select") );
+#. gtk_image_menu_item_set_image ( (GtkImageMenuItem*)item, gtk_image_new_from_stock (GTK_STOCK_FIND, GTK_ICON_SIZE_MENU) );
+#. g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(trw_layer_track_select), values );
+#. gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
+#. gtk_widget_show ( item );
+#.
+#. ATM view auto selects, so don't bother with separate select menu entry
+#: ../src/viktrwlayer_tracklist.c:231 ../src/vikwindow.c:3695
+msgid "_View"
+msgstr "_Pogled"
+
+#. Insert column for the layer name when viewing multi layers
+#: ../src/viktrwlayer_tracklist.c:514
+msgid "Layer"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:526
+msgid "Date"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:529
+msgid "Visible"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:536
+msgid ""
+"Distance\n"
+"(miles)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:539
+msgid ""
+"Distance\n"
+"(km)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:545
+msgid ""
+"Length\n"
+"(minutes)"
+msgstr ""
+
+#. VIK_UNITS_SPEED_KILOMETRES_PER_HOUR:
+#: ../src/viktrwlayer_tracklist.c:549 ../src/vikutils.c:72
+msgid "km/h"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:550 ../src/vikutils.c:62
+msgid "mph"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:551 ../src/vikutils.c:68
+msgid "knots"
+msgstr ""
+
+#. VIK_UNITS_SPEED_METRES_PER_SECOND:
+#: ../src/viktrwlayer_tracklist.c:553 ../src/vikutils.c:65
+msgid "m/s"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:556
+#, c-format
+msgid ""
+"Av. Speed\n"
+"(%s)"
+msgstr ""
+
+#. Apply own formatting of the data
+#: ../src/viktrwlayer_tracklist.c:561
+#, c-format
+msgid ""
+"Max Speed\n"
+"(%s)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:569
+msgid ""
+"Max Height\n"
+"(Feet)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:571
+msgid ""
+"Max Height\n"
+"(Metres)"
+msgstr ""
+
+#: ../src/viktrwlayer_geotag.c:481
#, c-format
msgid "Geotagging %d Images..."
msgstr ""
-#: ../src/viktrwlayer_geotag.c:510
+#: ../src/viktrwlayer_geotag.c:545
msgid "Geotag Images"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:516
+#: ../src/viktrwlayer_geotag.c:551
msgid "Images"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:520
+#: ../src/viktrwlayer_geotag.c:555
msgid "Overwrite Existing Waypoints:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:523
+#: ../src/viktrwlayer_geotag.c:558
msgid "Overwrite Existing GPS Information:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:525
+#: ../src/viktrwlayer_geotag.c:560
msgid "Keep File Modification Timestamp:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:555
+#: ../src/viktrwlayer_geotag.c:592
msgid "Create Waypoints:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:563
+#: ../src/viktrwlayer_geotag.c:600
msgid "Write EXIF:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:575
+#: ../src/viktrwlayer_geotag.c:612
msgid "Interpolate Between Track Segments:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:579
+#: ../src/viktrwlayer_geotag.c:616
msgid "Image Time Offset (Seconds):"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:581
+#: ../src/viktrwlayer_geotag.c:618
msgid ""
"The number of seconds to ADD to the photos time to make it match the GPS "
"data. Calculate this with (GPS - Photo). Can be negative or positive. Useful "
"to adjust times when a camera's timestamp was incorrect."
msgstr ""
-#: ../src/viktrwlayer_geotag.c:584
+#: ../src/viktrwlayer_geotag.c:621
msgid "Image Timezone:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:586
+#: ../src/viktrwlayer_geotag.c:623
msgid ""
"The timezone that was used when the images were created. For example, if a "
"camera is set to AWST or +8:00 hours. Enter +8:00 here so that the correct "
"adjustment to the images' time can be made. GPS data is always in UTC."
msgstr ""
-#: ../src/viktrwlayer_geotag.c:590
+#: ../src/viktrwlayer_geotag.c:627
#, c-format
msgid "Using track: %s"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:592
+#: ../src/viktrwlayer_geotag.c:629
#, c-format
msgid "Using all tracks in: %s"
msgstr ""
-#: ../src/vikstatus.c:105
+#: ../src/viktrwlayer_analysis.c:193
+msgid "Number of Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:194
+msgid "Date Range"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:195
+msgid "Total Length"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:196
+msgid "Average Length"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:197
+msgid "Max Speed"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:198
+msgid "Avg. Speed"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:199
+msgid "Minimum Altitude"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:200
+msgid "Maximum Altitude"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:201
+msgid "Total Elevation Gain/Loss"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:202
+msgid "Avg. Elevation Gain/Loss"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:203
+msgid "Total Duration"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:204
+msgid "Avg. Duration"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:278
+#, c-format
+msgid "%.2f miles"
+msgstr ""
+
+#. VIK_UNITS_DISTANCE_KILOMETRES
+#: ../src/viktrwlayer_analysis.c:282
+#, c-format
+msgid "%.2f km"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:297
+#, c-format
+msgid "%.2f m/s"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:306
+#, c-format
+msgid "%.2f knots\n"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:309
+#, c-format
+msgid "%.2f knots"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:316 ../src/viktrwlayer_analysis.c:319
+#, c-format
+msgid "%.2f km/h"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:330 ../src/viktrwlayer_analysis.c:336
+#, c-format
+msgid "%d feet"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:341 ../src/viktrwlayer_analysis.c:343
+#, c-format
+msgid "%d feet / %d feet"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:348 ../src/viktrwlayer_analysis.c:354
+#, c-format
+msgid "%d m"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:359 ../src/viktrwlayer_analysis.c:361
+#, c-format
+msgid "%d m / %d m"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:373
+#, c-format
+msgid "%d:%02d:%02d days:hrs:mins"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:380
+#, c-format
+msgid "%d:%02d hrs:mins"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:550
+msgid "Include Invisible Items"
+msgstr ""
+
+#: ../src/vikstatus.c:107
+msgid "Current number of background tasks. Click to see the background jobs."
+msgstr ""
+
+#: ../src/vikstatus.c:113
msgid "Current zoom level. Click to select a new one."
msgstr ""
-#: ../src/vikwaypoint.c:34
+#: ../src/vikutils.c:80
+msgid "GPSD"
+msgstr ""
+
+#. GPS Preamble
+#: ../src/vikutils.c:81
+msgid "Trkpt"
+msgstr ""
+
+#: ../src/vikutils.c:121
+#, c-format
+msgid "%sSpeed%s %.1f%s"
+msgstr ""
+
+#: ../src/vikutils.c:130
+#, c-format
+msgid "%sAlt %dfeet"
+msgstr ""
+
+#. VIK_UNITS_HEIGHT_METRES:
+#: ../src/vikutils.c:134
+#, c-format
+msgid "%sAlt %dm"
+msgstr ""
+
+#: ../src/vikutils.c:142
+#, c-format
+msgid "%sCourse %03d°"
+msgstr ""
+
+#: ../src/vikutils.c:155
+msgid "yards"
+msgstr ""
+
+#. VIK_UNITS_DISTANCE_KILOMETRES:
+#: ../src/vikutils.c:159
+msgid "m"
+msgstr ""
+
+#: ../src/vikutils.c:163
+#, c-format
+msgid "%sDistance diff %d%s"
+msgstr ""
+
+#: ../src/vikutils.c:179
+#, c-format
+msgid "%sTime %s"
+msgstr ""
+
+#: ../src/vikutils.c:187
+#, c-format
+msgid "%sTime diff %lds"
+msgstr ""
+
+#: ../src/vikutils.c:193
+#, c-format
+msgid "%sNo. of Sats %d"
+msgstr ""
+
+#: ../src/vikutils.c:213
+#, c-format
+msgid "%sDistance along %.2f%s"
+msgstr ""
+
+#. Name of track
+#: ../src/vikutils.c:232
+#, c-format
+msgid "%sTrack: %s"
+msgstr ""
+
+#: ../src/vikwaypoint.c:36
msgid "Waypoint"
msgstr ""
#. TODO get rid of this as this is unnecessary duplication...
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Pan"
msgstr ""
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Zoom"
msgstr "Povečava"
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Ruler"
msgstr "Merilo"
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Select"
msgstr ""
+#: ../src/vikwindow.c:381
+msgid "Location lookup aborted"
+msgstr ""
+
+#: ../src/vikwindow.c:401
+#, c-format
+msgid "Location found: %s"
+msgstr ""
+
+#: ../src/vikwindow.c:410
+msgid "Unable to determine location"
+msgstr ""
+
+#: ../src/vikwindow.c:434
+msgid "Default Map"
+msgstr ""
+
+#: ../src/vikwindow.c:444
+msgid "Trying to determine location..."
+msgstr ""
+
+#: ../src/vikwindow.c:447
+msgid "Determining location"
+msgstr ""
+
#. Create tooltip
-#: ../src/vikwindow.c:440
+#: ../src/vikwindow.c:605
msgid "Select zoom level"
msgstr ""
-#: ../src/vikwindow.c:645
+#: ../src/vikwindow.c:923
#, c-format
msgid ""
"Do you want to save the changes you made to the document \"%s\"?\n"
@@ -3157,624 +3999,708 @@ msgid ""
"Your changes will be lost if you don't save them."
msgstr ""
-#: ../src/vikwindow.c:649
+#: ../src/vikwindow.c:927
msgid "Don't Save"
msgstr "Ne shrani"
-#: ../src/vikwindow.c:696
+#: ../src/vikwindow.c:1005
msgid "mpp"
msgstr ""
-#: ../src/vikwindow.c:696
+#: ../src/vikwindow.c:1005
msgid "pixelfact"
msgstr ""
-#: ../src/vikwindow.c:861
+#: ../src/vikwindow.c:1169
#, c-format
msgid "%s %s %dm"
msgstr ""
-#: ../src/vikwindow.c:863
+#: ../src/vikwindow.c:1171
#, c-format
msgid "%s %s %dft"
msgstr ""
-#: ../src/vikwindow.c:866
+#: ../src/vikwindow.c:1174
#, c-format
msgid "%s %s"
msgstr ""
#. NB Ctrl+Shift+R is used for Refresh (deemed more important), so use 'U' instead
-#: ../src/vikwindow.c:1254
+#: ../src/vikwindow.c:1562
msgid "_Ruler"
msgstr "_Ravnilo"
-#: ../src/vikwindow.c:1254
+#: ../src/vikwindow.c:1562
msgid "Ruler Tool"
msgstr ""
-#: ../src/vikwindow.c:1502 ../src/vikwindow.c:3138
+#: ../src/vikwindow.c:1810 ../src/vikwindow.c:3697
msgid "_Zoom"
msgstr "_Povečava"
-#: ../src/vikwindow.c:1502
+#: ../src/vikwindow.c:1810
msgid "Zoom Tool"
msgstr "Orodje za povečavo"
-#: ../src/vikwindow.c:1547 ../src/vikwindow.c:3139
+#: ../src/vikwindow.c:1855 ../src/vikwindow.c:3698
msgid "_Pan"
msgstr ""
-#: ../src/vikwindow.c:1547
+#: ../src/vikwindow.c:1855
msgid "Pan Tool"
msgstr "Orodje za premikanje"
-#: ../src/vikwindow.c:1664
+#: ../src/vikwindow.c:1972
msgid "_Select"
msgstr ""
-#: ../src/vikwindow.c:1664
+#: ../src/vikwindow.c:1972
msgid "Select Tool"
msgstr ""
-#: ../src/vikwindow.c:1809
+#: ../src/vikwindow.c:2123
msgid "You must select a layer to show its properties."
msgstr "Izbrati morate plast, katere lastnosti želite prikazati."
#. No error to show, so unlikely this will get called
-#: ../src/vikwindow.c:1824
+#: ../src/vikwindow.c:2137
msgid "The help system is not available."
msgstr ""
#. Main error path
-#: ../src/vikwindow.c:1827
+#: ../src/vikwindow.c:2140
#, c-format
msgid ""
"Help is not available because: %s.\n"
"Ensure a Mime Type ghelp handler program is installed (e.g. yelp)."
msgstr ""
-#: ../src/vikwindow.c:1850
+#: ../src/vikwindow.c:2160
msgid "You must select a layer to delete."
msgstr "Izbrati morate plast, ki jo želite izbrisati."
-#: ../src/vikwindow.c:2087
+#: ../src/vikwindow.c:2396
msgid "Untitled"
msgstr "Neimenovano"
-#: ../src/vikwindow.c:2194
+#: ../src/vikwindow.c:2503
#, c-format
msgid "Unable to add '%s' to the list of recently used documents"
msgstr ""
-#: ../src/vikwindow.c:2208
+#: ../src/vikwindow.c:2540
msgid "The file you requested could not be opened."
msgstr "Datoteke, ki ste jo želeli, ni mogoče odpreti"
-#: ../src/vikwindow.c:2211
+#: ../src/vikwindow.c:2543
msgid ""
"GPSBabel is required to load files of this type or GPSBabel encountered "
"problems."
msgstr ""
-#: ../src/vikwindow.c:2214
+#: ../src/vikwindow.c:2546
#, c-format
msgid "Unable to load malformed GPX file %s"
msgstr ""
-#: ../src/vikwindow.c:2217
+#: ../src/vikwindow.c:2549
#, c-format
msgid "Unsupported file type for %s"
msgstr ""
#. Since we can process .vik files with issues just show a warning in the status bar
#. Not that a user can do much about it... or tells them what this issue is yet...
-#: ../src/vikwindow.c:2223
+#: ../src/vikwindow.c:2555
#, c-format
msgid "WARNING: issues encountered loading %s"
msgstr ""
-#: ../src/vikwindow.c:2278
+#: ../src/vikwindow.c:2613
msgid "Please select a GPS data file to open. "
msgstr "Prosimo, izberize datoteko s podatki GPS. "
-#: ../src/vikwindow.c:2288
+#: ../src/vikwindow.c:2629
msgid "Geocaching"
msgstr ""
-#: ../src/vikwindow.c:2294
+#: ../src/vikwindow.c:2635
msgid "Google Earth"
msgstr ""
-#: ../src/vikwindow.c:2299
+#: ../src/vikwindow.c:2640
msgid "GPX"
msgstr ""
-#: ../src/vikwindow.c:2304 ../src/vikwindow.c:2387
+#: ../src/vikwindow.c:2645 ../src/vikwindow.c:2734
#: ../src/viking.desktop.in.h:1
msgid "Viking"
msgstr "Viking"
-#: ../src/vikwindow.c:2374
+#: ../src/vikwindow.c:2715
msgid "Save as Viking File."
msgstr "Shrani kot datoteko Viking."
+#: ../src/vikwindow.c:2841
+msgid "Exporting to file: "
+msgstr ""
+
+#. Confirm what happened.
+#: ../src/vikwindow.c:2858
+#, c-format
+msgid "Exported files: %d"
+msgstr ""
+
+#: ../src/vikwindow.c:2870
+msgid "Nothing to Export!"
+msgstr ""
+
+#: ../src/vikwindow.c:2874
+msgid "Export to directory"
+msgstr ""
+
+#: ../src/vikwindow.c:2896
+msgid "Could not convert all files"
+msgstr ""
+
+#: ../src/vikwindow.c:2932
+#, c-format
+msgid "%d bytes"
+msgstr ""
+
+#: ../src/vikwindow.c:2934
+#, c-format
+msgid "%3.1f kB"
+msgstr ""
+
+#: ../src/vikwindow.c:2936
+#, c-format
+msgid "%3.1f MB"
+msgstr ""
+
+#: ../src/vikwindow.c:2937
+#, c-format
+msgid ""
+"%s\n"
+"\n"
+"%s\n"
+"\n"
+"%s"
+msgstr ""
+
+#: ../src/vikwindow.c:2942
+msgid "File not accessible"
+msgstr ""
+
+#: ../src/vikwindow.c:2945
+msgid "No Viking File"
+msgstr ""
+
+#: ../src/vikwindow.c:3035
+msgid "This layer has no configurable properties."
+msgstr ""
+
#. Try harder...
-#: ../src/vikwindow.c:2619 ../src/vikwindow.c:2625
+#: ../src/vikwindow.c:3169 ../src/vikwindow.c:3175
msgid "Generating image file..."
msgstr ""
-#: ../src/vikwindow.c:2647
+#: ../src/vikwindow.c:3197
msgid ""
"Failed to generate internal image.\n"
"\n"
"Try creating a smaller image."
msgstr ""
-#: ../src/vikwindow.c:2655
+#: ../src/vikwindow.c:3205
msgid "Failed to generate image file."
msgstr ""
#. Success
-#: ../src/vikwindow.c:2660
+#: ../src/vikwindow.c:3210
msgid "Image file generated."
msgstr ""
-#: ../src/vikwindow.c:2764
+#: ../src/vikwindow.c:3314
msgid ""
"Viewable region outside allowable pixel size bounds for image. Clipping "
"width/height values."
msgstr ""
-#: ../src/vikwindow.c:2789
+#: ../src/vikwindow.c:3339
#, c-format
msgid "Total area: %ldm x %ldm (%.3f sq. km)"
msgstr "Skupna površina: %ldm x %ldm (%.3f km2)"
-#: ../src/vikwindow.c:2792
+#: ../src/vikwindow.c:3342
#, c-format
msgid "Total area: %ldm x %ldm (%.3f sq. miles)"
msgstr ""
-#: ../src/vikwindow.c:2813
+#: ../src/vikwindow.c:3363
msgid "Save Image"
msgstr "Shrani sliko"
-#: ../src/vikwindow.c:2834
+#: ../src/vikwindow.c:3393
msgid "PNG"
msgstr ""
-#: ../src/vikwindow.c:2857
+#: ../src/vikwindow.c:3416
msgid "You must be in UTM mode to use this feature"
msgstr ""
-#: ../src/vikwindow.c:2862
+#: ../src/vikwindow.c:3421
msgid "Choose a directory to hold images"
msgstr "Izberite mapo za shranjevanje slik"
#. todo: default for answers inside VikWindow or static (thruout instance)
-#: ../src/vikwindow.c:2883
+#: ../src/vikwindow.c:3442
msgid "Save to Image File"
msgstr "Shrani v slikovno datoteko"
-#: ../src/vikwindow.c:2900
+#: ../src/vikwindow.c:3459
msgid "Width (pixels):"
msgstr "Širina (slikovnih točk):"
-#: ../src/vikwindow.c:2902
+#: ../src/vikwindow.c:3461
msgid "Height (pixels):"
msgstr "Višina (slikovnih točk):"
-#: ../src/vikwindow.c:2905
+#: ../src/vikwindow.c:3464
msgid ""
"WARNING: USING LARGE IMAGES OVER 10000x10000\n"
"MAY CRASH THE PROGRAM!"
msgstr ""
-#: ../src/vikwindow.c:2907
+#: ../src/vikwindow.c:3466
msgid "Zoom (meters per pixel):"
msgstr "Povečava (metrov na slikovno točko)"
-#: ../src/vikwindow.c:2921
+#: ../src/vikwindow.c:3482
msgid "Area in current viewable window"
msgstr "Površina v trenutno vidnem oknu"
-#: ../src/vikwindow.c:2931
+#: ../src/vikwindow.c:3492
msgid "Save as PNG"
msgstr "Shrani kot PNG"
-#: ../src/vikwindow.c:2932
+#: ../src/vikwindow.c:3493
msgid "Save as JPEG"
msgstr "Shrani kot JPEG"
-#: ../src/vikwindow.c:2954
+#: ../src/vikwindow.c:3515
msgid "East-west image tiles:"
msgstr ""
-#: ../src/vikwindow.c:2956
+#: ../src/vikwindow.c:3517
msgid "North-south image tiles:"
msgstr ""
-#: ../src/vikwindow.c:3097
+#: ../src/vikwindow.c:3656
msgid "Choose a background color"
msgstr "Izberite barvo ozadja"
-#: ../src/vikwindow.c:3113
+#: ../src/vikwindow.c:3672
msgid "Choose a track highlight color"
msgstr ""
-#: ../src/vikwindow.c:3134
+#: ../src/vikwindow.c:3693
msgid "_File"
msgstr "_Datoteka"
-#: ../src/vikwindow.c:3135
+#: ../src/vikwindow.c:3694
msgid "_Edit"
msgstr "Ur_ejanje"
-#: ../src/vikwindow.c:3136
-msgid "_View"
-msgstr "_Pogled"
-
-#: ../src/vikwindow.c:3137
+#: ../src/vikwindow.c:3696
msgid "_Show"
msgstr ""
-#: ../src/vikwindow.c:3140
+#: ../src/vikwindow.c:3699
msgid "_Layers"
msgstr "_Plasti"
-#: ../src/vikwindow.c:3141
+#: ../src/vikwindow.c:3700
msgid "_Tools"
msgstr "_Orodja"
-#: ../src/vikwindow.c:3142
+#: ../src/vikwindow.c:3701
msgid "_Webtools"
msgstr ""
-#: ../src/vikwindow.c:3143 ../src/vikwindow.c:3206
+#: ../src/vikwindow.c:3702 ../src/vikwindow.c:3763
msgid "_Help"
msgstr "Po_moč"
-#: ../src/vikwindow.c:3145
+#: ../src/vikwindow.c:3704
msgid "New file"
msgstr "Nova datoteka"
-#: ../src/vikwindow.c:3146
+#: ../src/vikwindow.c:3705
msgid "_Open..."
msgstr "_Odpri..."
-#: ../src/vikwindow.c:3146
+#: ../src/vikwindow.c:3705
msgid "Open a file"
msgstr "Odpri datoteko"
-#: ../src/vikwindow.c:3147
+#: ../src/vikwindow.c:3706
msgid "Open _Recent File"
msgstr ""
-#: ../src/vikwindow.c:3148
+#: ../src/vikwindow.c:3707
msgid "Append _File..."
msgstr "_Pripni datoteko..."
-#: ../src/vikwindow.c:3148
+#: ../src/vikwindow.c:3707
msgid "Append data from a different file"
msgstr "Pripni podatke iz druge datoteke"
-#: ../src/vikwindow.c:3149
+#: ../src/vikwindow.c:3708
+msgid "_Export All"
+msgstr ""
+
+#: ../src/vikwindow.c:3708
+msgid "Export All TrackWaypoint Layers"
+msgstr ""
+
+#: ../src/vikwindow.c:3709
+msgid "_GPX..."
+msgstr ""
+
+#: ../src/vikwindow.c:3709
+msgid "Export as GPX"
+msgstr ""
+
+#: ../src/vikwindow.c:3710
msgid "A_cquire"
msgstr "_Zajemi"
-#: ../src/vikwindow.c:3150
+#: ../src/vikwindow.c:3711
msgid "Transfer data from a GPS device"
msgstr "Prenos podatkov iz naprave GPS"
-#: ../src/vikwindow.c:3151
+#: ../src/vikwindow.c:3712
msgid "Import File With GPS_Babel..."
msgstr ""
-#: ../src/vikwindow.c:3151
+#: ../src/vikwindow.c:3712
msgid "Import file via GPSBabel converter"
msgstr ""
-#: ../src/vikwindow.c:3153
-msgid "Google _Directions..."
+#: ../src/vikwindow.c:3713
+msgid "_Directions..."
msgstr ""
-#: ../src/vikwindow.c:3153
-msgid "Get driving directions from Google"
+#: ../src/vikwindow.c:3713
+msgid "Get driving directions"
msgstr ""
-#: ../src/vikwindow.c:3156
+#: ../src/vikwindow.c:3715
msgid "_OSM Traces..."
msgstr ""
-#: ../src/vikwindow.c:3156
+#: ../src/vikwindow.c:3715
msgid "Get traces from OpenStreetMap"
msgstr ""
-#: ../src/vikwindow.c:3157
+#: ../src/vikwindow.c:3716
msgid "_My OSM Traces..."
msgstr ""
-#: ../src/vikwindow.c:3157
+#: ../src/vikwindow.c:3716
msgid "Get Your Own Traces from OpenStreetMap"
msgstr ""
-#: ../src/vikwindow.c:3160
+#: ../src/vikwindow.c:3719
msgid "Geo_caches..."
msgstr "Geo_zakladi..."
-#: ../src/vikwindow.c:3160
+#: ../src/vikwindow.c:3719
msgid "Get Geocaches from geocaching.com"
msgstr "Pridobi podatke o Geozakladih iz geocaching.com"
-#: ../src/vikwindow.c:3163
+#: ../src/vikwindow.c:3722
msgid "Create waypoints from geotagged images"
msgstr ""
-#: ../src/vikwindow.c:3166
+#: ../src/vikwindow.c:3725
msgid "Create waypoints from Wikipedia items in the current view"
msgstr ""
-#: ../src/vikwindow.c:3168
+#: ../src/vikwindow.c:3727
msgid "_Save"
msgstr "_Shrani"
-#: ../src/vikwindow.c:3168
+#: ../src/vikwindow.c:3727
msgid "Save the file"
msgstr "Shrani datoteko"
-#: ../src/vikwindow.c:3169
+#: ../src/vikwindow.c:3728
msgid "Save _As..."
msgstr "Shrani _kot..."
-#: ../src/vikwindow.c:3169
+#: ../src/vikwindow.c:3728
msgid "Save the file under different name"
msgstr "Shrani datoteko pod drugim imenom"
-#: ../src/vikwindow.c:3170
+#: ../src/vikwindow.c:3729
+msgid "Properties..."
+msgstr ""
+
+#: ../src/vikwindow.c:3729
+msgid "File Properties"
+msgstr ""
+
+#: ../src/vikwindow.c:3730
msgid "_Generate Image File..."
msgstr ""
-#: ../src/vikwindow.c:3170
+#: ../src/vikwindow.c:3730
msgid "Save a snapshot of the workspace into a file"
msgstr ""
-#: ../src/vikwindow.c:3171
+#: ../src/vikwindow.c:3731
msgid "Generate _Directory of Images..."
msgstr ""
-#: ../src/vikwindow.c:3171
+#: ../src/vikwindow.c:3731
msgid "FIXME:IMGDIR"
msgstr ""
-#: ../src/vikwindow.c:3174
+#: ../src/vikwindow.c:3732
msgid "_Print..."
msgstr "_Natisni..."
-#: ../src/vikwindow.c:3174
+#: ../src/vikwindow.c:3732
msgid "Print maps"
msgstr "Natisni zemljevide"
-#: ../src/vikwindow.c:3177
+#: ../src/vikwindow.c:3733
msgid "E_xit"
msgstr "_Izhod"
-#: ../src/vikwindow.c:3177
+#: ../src/vikwindow.c:3733
msgid "Exit the program"
msgstr "Izhod iz programa"
-#: ../src/vikwindow.c:3178
+#: ../src/vikwindow.c:3734
msgid "Save and Exit"
msgstr "Shrani in končaj"
-#: ../src/vikwindow.c:3178
+#: ../src/vikwindow.c:3734
msgid "Save and Exit the program"
msgstr "Shrani in končaj delo s programom"
-#: ../src/vikwindow.c:3180
+#: ../src/vikwindow.c:3736
msgid "Go to the _Default Location"
msgstr ""
-#: ../src/vikwindow.c:3180
+#: ../src/vikwindow.c:3736
msgid "Go to the default location"
msgstr ""
-#: ../src/vikwindow.c:3181
+#: ../src/vikwindow.c:3737
msgid "Go to _Location..."
msgstr ""
-#: ../src/vikwindow.c:3181
+#: ../src/vikwindow.c:3737
msgid "Go to address/place using text search"
msgstr ""
-#: ../src/vikwindow.c:3182
+#: ../src/vikwindow.c:3738
msgid "_Go to Lat/Lon..."
msgstr ""
-#: ../src/vikwindow.c:3182
+#: ../src/vikwindow.c:3738
msgid "Go to arbitrary lat/lon coordinate"
msgstr ""
-#: ../src/vikwindow.c:3183
+#: ../src/vikwindow.c:3739
msgid "Go to UTM..."
msgstr ""
-#: ../src/vikwindow.c:3183
+#: ../src/vikwindow.c:3739
msgid "Go to arbitrary UTM coordinate"
msgstr ""
-#: ../src/vikwindow.c:3184
+#: ../src/vikwindow.c:3740
msgid "_Refresh"
msgstr ""
-#: ../src/vikwindow.c:3184
+#: ../src/vikwindow.c:3740
msgid "Refresh any maps displayed"
msgstr ""
-#: ../src/vikwindow.c:3185
+#: ../src/vikwindow.c:3741
msgid "Set _Highlight Color..."
msgstr ""
-#: ../src/vikwindow.c:3186
+#: ../src/vikwindow.c:3742
msgid "Set Bac_kground Color..."
msgstr ""
-#: ../src/vikwindow.c:3187
+#: ../src/vikwindow.c:3743
msgid "Zoom _In"
msgstr "Po_večaj"
-#: ../src/vikwindow.c:3188
+#: ../src/vikwindow.c:3744
msgid "Zoom _Out"
msgstr "Po_manjšaj"
-#: ../src/vikwindow.c:3189
+#: ../src/vikwindow.c:3745
msgid "Zoom _To..."
msgstr ""
-#: ../src/vikwindow.c:3190
+#: ../src/vikwindow.c:3746
msgid "Pan _North"
msgstr ""
-#: ../src/vikwindow.c:3191
+#: ../src/vikwindow.c:3747
msgid "Pan _East"
msgstr ""
-#: ../src/vikwindow.c:3192
+#: ../src/vikwindow.c:3748
msgid "Pan _South"
msgstr ""
-#: ../src/vikwindow.c:3193
+#: ../src/vikwindow.c:3749
msgid "Pan _West"
msgstr ""
-#: ../src/vikwindow.c:3194
+#: ../src/vikwindow.c:3750
msgid "Background _Jobs"
msgstr "Opravila v _ozadju"
-#: ../src/vikwindow.c:3196
+#: ../src/vikwindow.c:3752
msgid "Cu_t"
msgstr "_Izreži"
-#: ../src/vikwindow.c:3197
-msgid "_Copy"
-msgstr "_Kopiraj"
-
-#: ../src/vikwindow.c:3198
-msgid "_Paste"
-msgstr "_Prilepi"
-
-#: ../src/vikwindow.c:3199
-msgid "_Delete"
-msgstr "I_zbriši"
-
-#: ../src/vikwindow.c:3200
+#: ../src/vikwindow.c:3756
msgid "Delete All"
msgstr "Izbriši vse"
-#: ../src/vikwindow.c:3201
+#: ../src/vikwindow.c:3757
msgid "_Flush Map Cache"
msgstr ""
-#: ../src/vikwindow.c:3202
+#: ../src/vikwindow.c:3758
msgid "_Set the Default Location"
msgstr ""
-#: ../src/vikwindow.c:3202
+#: ../src/vikwindow.c:3758
msgid "Set the Default Location to the current position"
msgstr ""
-#: ../src/vikwindow.c:3203
+#: ../src/vikwindow.c:3759
msgid "_Preferences"
msgstr "_Nastavitve"
-#: ../src/vikwindow.c:3204
+#: ../src/vikwindow.c:3760
+msgid "_Layer Defaults"
+msgstr ""
+
+#: ../src/vikwindow.c:3761
msgid "_Properties"
msgstr "_Lastnosti"
-#: ../src/vikwindow.c:3207
+#: ../src/vikwindow.c:3764
msgid "_About"
msgstr "_O programu"
-#: ../src/vikwindow.c:3213
+#: ../src/vikwindow.c:3768
+msgid "_KML..."
+msgstr ""
+
+#: ../src/vikwindow.c:3768
+msgid "Export as KML"
+msgstr ""
+
+#: ../src/vikwindow.c:3774
msgid "_UTM Mode"
msgstr "_UTM način"
-#: ../src/vikwindow.c:3214
+#: ../src/vikwindow.c:3775
msgid "_Expedia Mode"
msgstr "_Expedia način"
-#: ../src/vikwindow.c:3215
+#: ../src/vikwindow.c:3776
msgid "_Mercator Mode"
msgstr "_Mercator način"
-#: ../src/vikwindow.c:3216
+#: ../src/vikwindow.c:3777
msgid "Lat_/Lon Mode"
msgstr ""
-#: ../src/vikwindow.c:3220
+#: ../src/vikwindow.c:3781
msgid "Show _Scale"
msgstr ""
-#: ../src/vikwindow.c:3220
+#: ../src/vikwindow.c:3781
msgid "Show Scale"
msgstr "Prikaži merilo"
-#: ../src/vikwindow.c:3221
+#: ../src/vikwindow.c:3782
msgid "Show _Center Mark"
msgstr ""
-#: ../src/vikwindow.c:3221
+#: ../src/vikwindow.c:3782
msgid "Show Center Mark"
msgstr "Prikaži oznako središča"
-#: ../src/vikwindow.c:3222
+#: ../src/vikwindow.c:3783
msgid "Show _Highlight"
msgstr ""
-#: ../src/vikwindow.c:3222
+#: ../src/vikwindow.c:3783
msgid "Show Highlight"
msgstr ""
-#: ../src/vikwindow.c:3223
+#: ../src/vikwindow.c:3784
msgid "_Full Screen"
msgstr "Celozaslonsko"
-#: ../src/vikwindow.c:3223
+#: ../src/vikwindow.c:3784
msgid "Activate full screen mode"
msgstr ""
-#: ../src/vikwindow.c:3224
+#: ../src/vikwindow.c:3785
msgid "Show Side _Panel"
msgstr ""
-#: ../src/vikwindow.c:3224
+#: ../src/vikwindow.c:3785
msgid "Show Side Panel"
msgstr ""
-#: ../src/vikwindow.c:3225
+#: ../src/vikwindow.c:3786
msgid "Show Status_bar"
msgstr ""
-#: ../src/vikwindow.c:3225
+#: ../src/vikwindow.c:3786
msgid "Show Statusbar"
msgstr ""
-#: ../src/vikwindow.c:3226
+#: ../src/vikwindow.c:3787
msgid "Show _Toolbar"
msgstr ""
-#: ../src/vikwindow.c:3226
+#: ../src/vikwindow.c:3787
msgid "Show Toolbar"
msgstr ""
-#: ../src/vikwindow.c:3227
+#: ../src/vikwindow.c:3788
msgid "Show _Menu"
msgstr ""
-#: ../src/vikwindow.c:3227
+#: ../src/vikwindow.c:3788
msgid "Show Menu"
msgstr ""
+#: ../src/vikwindow.c:3862
+#, c-format
+msgid "New _%s Layer"
+msgstr ""
+
#: ../src/viking.desktop.in.h:2
msgid "GPS Data Manager"
msgstr ""
diff --git a/po/sv.po b/po/sv.po
index 9b031eb..889a888 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: viking\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-02-04 23:29+0100\n"
+"POT-Creation-Date: 2013-09-03 21:58+0200\n"
"PO-Revision-Date: 2010-12-30 21:34+0000\n"
"Last-Translator: Erik Simmesgård <Unknown>\n"
"Language-Team: Swedish <sv@li.org>\n"
@@ -15,59 +15,59 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Launchpad-Export-Date: 2013-03-23 17:12+0000\n"
-"X-Generator: Launchpad (build 16540)\n"
+"X-Launchpad-Export-Date: 2013-10-12 09:04+0000\n"
+"X-Generator: Launchpad (build 16799)\n"
-#: ../src/acquire.c:103 ../src/vikgpslayer.c:1185
+#: ../src/acquire.c:103 ../src/vikgpslayer.c:1235
msgid "Done."
msgstr "Färdig."
-#: ../src/acquire.c:114
+#: ../src/acquire.c:112
msgid "No data."
msgstr "Ingen data."
-#: ../src/acquire.c:154 ../src/acquire.c:404
+#: ../src/acquire.c:154 ../src/acquire.c:424
msgid "Error: acquisition failed."
msgstr ""
-#: ../src/acquire.c:341
+#: ../src/acquire.c:352
msgid "Working..."
msgstr "Arbetar..."
#. This shouldn't happen...
-#: ../src/acquire.c:394
+#: ../src/acquire.c:415
msgid ""
"Unable to create command\n"
"Acquire method failed."
msgstr ""
-#: ../src/acquire.c:486
+#: ../src/acquire.c:517
msgid "_Filter"
msgstr ""
-#: ../src/acquire.c:501
+#: ../src/acquire.c:532
#, c-format
msgid "Filter with %s"
msgstr ""
-#: ../src/acquire.c:518
+#: ../src/acquire.c:549
msgid "Filter"
msgstr ""
-#: ../src/background.c:52
+#: ../src/background.c:53
#, c-format
msgid "%d items"
msgstr "%d föremål"
-#: ../src/background.c:248
+#: ../src/background.c:254
msgid "Job"
msgstr "Jobb"
-#: ../src/background.c:252
+#: ../src/background.c:258
msgid "Progress"
msgstr "Förlopp"
-#: ../src/background.c:268
+#: ../src/background.c:274
msgid "Viking Background Jobs"
msgstr ""
@@ -76,7 +76,7 @@ msgid "Bing"
msgstr ""
#. VIK_GTK_WINDOW_FROM_WIDGET(vp)
-#: ../src/bingmapsource.c:445
+#: ../src/bingmapsource.c:499
msgid "Bing attribution Loading"
msgstr ""
@@ -101,35 +101,35 @@ msgid ""
"into."
msgstr ""
-#: ../src/dialog.c:52
+#: ../src/dialog.c:53
msgid "Go to Lat/Lon"
msgstr "Gå till Lat/Lon"
-#: ../src/dialog.c:64 ../src/dialog.c:251
+#: ../src/dialog.c:65 ../src/dialog.c:244
msgid "Latitude:"
msgstr "Latitud:"
-#: ../src/dialog.c:70 ../src/dialog.c:256
+#: ../src/dialog.c:71 ../src/dialog.c:249
msgid "Longitude:"
msgstr "Longitud:"
-#: ../src/dialog.c:102
+#: ../src/dialog.c:103
msgid "Go to UTM"
msgstr ""
-#: ../src/dialog.c:115
+#: ../src/dialog.c:116
msgid "Northing:"
msgstr "Norrvärde"
-#: ../src/dialog.c:121
+#: ../src/dialog.c:122
msgid "Easting:"
msgstr "Östvärde"
-#: ../src/dialog.c:128
+#: ../src/dialog.c:129
msgid "Zone:"
msgstr "Zon:"
-#: ../src/dialog.c:131
+#: ../src/dialog.c:132
msgid "Letter:"
msgstr ""
@@ -137,105 +137,109 @@ msgstr ""
msgid "Waypoint Properties"
msgstr "Waypoint Egenskaper"
-#: ../src/dialog.c:233
+#: ../src/dialog.c:235
msgid "Name:"
msgstr "Namn:"
-#: ../src/dialog.c:261
+#: ../src/dialog.c:254
msgid "Altitude:"
msgstr "Höjd:"
-#: ../src/dialog.c:266
+#: ../src/dialog.c:259
msgid "Comment:"
msgstr "Kommentar:"
-#: ../src/dialog.c:274 ../src/osm-traces.c:437
+#: ../src/dialog.c:267 ../src/osm-traces.c:445
msgid "Description:"
msgstr "Beskrivning :"
-#: ../src/dialog.c:277
+#: ../src/dialog.c:270
msgid "Image:"
msgstr "Bild:"
-#: ../src/dialog.c:282
+#: ../src/dialog.c:275
msgid "Symbol:"
msgstr "Symbol:"
-#: ../src/dialog.c:291
+#: ../src/dialog.c:284
msgid "(none)"
msgstr "(ingen)"
+#: ../src/dialog.c:326
+msgid "Time:"
+msgstr ""
+
#. TODO: other checks (isalpha or whatever )
-#: ../src/dialog.c:356
+#: ../src/dialog.c:363
msgid "Please enter a name for the waypoint."
msgstr "Ange ett namn för waypointen"
-#: ../src/dialog.c:529 ../src/geonamessearch.c:243
+#: ../src/dialog.c:502 ../src/geonamessearch.c:244
#: ../src/datasource_osm_my_traces.c:507
msgid "Nothing was selected"
msgstr "Inget markerat"
-#: ../src/dialog.c:537
+#: ../src/dialog.c:510
msgid "Add Route"
msgstr ""
-#: ../src/dialog.c:537
+#: ../src/dialog.c:510
msgid "Add Track"
msgstr "Lägg till spår"
-#: ../src/dialog.c:545
+#: ../src/dialog.c:518
msgid "Route Name:"
msgstr ""
-#: ../src/dialog.c:545
+#: ../src/dialog.c:518
msgid "Track Name:"
msgstr "Spårnamn:"
-#: ../src/dialog.c:565
+#: ../src/dialog.c:538
msgid "Please enter a name for the track."
msgstr "Vänligen skriv in ett namn för spåret"
-#: ../src/dialog.c:623
+#: ../src/dialog.c:596
msgid "Zoom Factors..."
msgstr ""
-#: ../src/dialog.c:637
+#: ../src/dialog.c:610
msgid "Zoom factor (in meters per pixel):"
msgstr "Zoomfaktor (i meter per pixlar)"
-#: ../src/dialog.c:638
+#: ../src/dialog.c:611
msgid "X (easting): "
msgstr "X (östvärde): "
-#: ../src/dialog.c:639
+#: ../src/dialog.c:612
msgid "Y (northing): "
msgstr "Y (norrvärde): "
-#: ../src/dialog.c:644
+#: ../src/dialog.c:617
msgid "X and Y zoom factors must be equal"
msgstr "X och Y zoomfaktorerna måste vara unika"
-#: ../src/dialog.c:699
+#: ../src/dialog.c:672
msgid "1 min"
msgstr "1 min"
-#: ../src/dialog.c:700
+#: ../src/dialog.c:673
msgid "1 hour"
msgstr "1 timme"
-#: ../src/dialog.c:701
+#: ../src/dialog.c:674
msgid "1 day"
msgstr "1 dag"
-#: ../src/dialog.c:702
+#: ../src/dialog.c:675
msgid "Custom (in minutes):"
msgstr "Anpassad (i minuter):"
-#: ../src/dialog.c:808
+#: ../src/dialog.c:786
msgid "GPS Data and Topo Analyzer, Explorer, and Manager."
msgstr ""
-#: ../src/dialog.c:809
+#: ../src/dialog.c:787
msgid ""
"This program is free software; you can redistribute it and/or modify it "
"under the terms of the GNU General Public License as published by the Free "
@@ -252,28 +256,28 @@ msgid ""
"Place, Suite 330, Boston, MA 02111-1307, USA"
msgstr ""
-#: ../src/dialog.c:837
+#: ../src/dialog.c:852
msgid "Translation is coordinated on http://launchpad.net/viking"
msgstr ""
-#: ../src/dialog.c:845
+#: ../src/dialog.c:861
msgid "Download along track"
msgstr "Ladda ned längsmed spår"
-#: ../src/dialog.c:851
+#: ../src/dialog.c:868
msgid "Map type:"
msgstr "Karttyp:"
-#: ../src/dialog.c:856
+#: ../src/dialog.c:874
msgid "Zoom level:"
msgstr "Zoomnivå:"
-#: ../src/dialog.c:896
+#: ../src/dialog.c:914
#, c-format
msgid "The map data is licensed: %s."
msgstr ""
-#: ../src/dialog.c:899
+#: ../src/dialog.c:917
#, c-format
msgid ""
"The data provided by '<b>%s</b>' are licensed under the following license: "
@@ -281,7 +285,7 @@ msgid ""
"Please, read the license before continuing."
msgstr ""
-#: ../src/dialog.c:904
+#: ../src/dialog.c:922
msgid "Open license"
msgstr ""
@@ -330,7 +334,8 @@ msgstr "Inga inlägg hittades!"
#. NB could allow columns to be shifted around by doing this after each new
#. gtk_tree_view_column_set_reorderable ( column, TRUE );
#. However I don't think is that useful, so I haven't put it in
-#: ../src/geonamessearch.c:177 ../src/datasource_osm_my_traces.c:425
+#: ../src/geonamessearch.c:177 ../src/datasource_osm_my_traces.c:424
+#: ../src/viktrwlayer_tracklist.c:521
msgid "Name"
msgstr ""
@@ -338,82 +343,192 @@ msgstr ""
msgid "Feature"
msgstr ""
-#: ../src/geonamessearch.c:187 ../src/datasource_osm_my_traces.c:440
+#: ../src/geonamessearch.c:187 ../src/datasource_osm_my_traces.c:439
msgid "Lat/Lon"
msgstr ""
-#: ../src/geonamessearch.c:269 ../src/googlesearch.c:100
+#: ../src/geonamessearch.c:270 ../src/googlesearch.c:100 ../src/vikgoto.c:306
msgid "couldn't map temp file"
msgstr ""
-#: ../src/globals.c:44
+#: ../src/globals.c:73
+msgid "Absolute"
+msgstr ""
+
+#: ../src/globals.c:73
+msgid "Relative"
+msgstr ""
+
+#: ../src/globals.c:76
msgid "Degree format:"
msgstr "Gradformat:"
-#: ../src/globals.c:48
+#: ../src/globals.c:77
msgid "Distance units:"
msgstr ""
-#: ../src/globals.c:52
+#: ../src/globals.c:78
msgid "Speed units:"
msgstr ""
-#: ../src/globals.c:56
+#: ../src/globals.c:79
msgid "Height units:"
msgstr ""
-#: ../src/globals.c:60
+#: ../src/globals.c:80
msgid "Use large waypoint icons:"
msgstr ""
-#: ../src/globals.c:64
+#: ../src/globals.c:81
msgid "Default latitude:"
msgstr ""
-#: ../src/globals.c:67
+#: ../src/globals.c:82
msgid "Default longitude:"
msgstr ""
-#: ../src/globals.c:73
+#: ../src/globals.c:88
msgid "Alphabetical"
msgstr ""
-#: ../src/globals.c:73 ../src/datasource_osm_my_traces.c:435
+#: ../src/globals.c:88 ../src/datasource_osm_my_traces.c:434
msgid "Time"
msgstr ""
-#: ../src/globals.c:76
+#: ../src/globals.c:88
+msgid "Creation"
+msgstr ""
+
+#: ../src/globals.c:89
+msgid "Title Case"
+msgstr ""
+
+#: ../src/globals.c:89
+msgid "Lowercase"
+msgstr ""
+
+#: ../src/globals.c:92
msgid "KML File Export Units:"
msgstr ""
-#: ../src/globals.c:77
+#: ../src/globals.c:93
msgid "GPX Track Order:"
msgstr ""
-#: ../src/globals.c:82
+#: ../src/globals.c:94
+msgid "GPX Waypoint Symbols:"
+msgstr ""
+
+#: ../src/globals.c:95
+msgid ""
+"Save GPX Waypoint Symbol names in the specified case. May be useful for "
+"compatibility with various devices"
+msgstr ""
+
+#: ../src/globals.c:100
msgid "Image Viewer:"
msgstr ""
-#: ../src/globals.c:87
+#: ../src/globals.c:105
msgid "External GPX Program 1:"
msgstr ""
-#: ../src/globals.c:88
+#: ../src/globals.c:106
msgid "External GPX Program 2:"
msgstr ""
+#: ../src/globals.c:110
+msgid "Save File Reference Mode:"
+msgstr ""
+
+#: ../src/globals.c:111
+msgid ""
+"When saving a Viking .vik file, this determines how the directory paths of "
+"filenames are written."
+msgstr ""
+
+#: ../src/globals.c:112
+msgid "Show Tooltip during Track Creation:"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Home Location"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Last Location"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Specified File"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Auto Location"
+msgstr ""
+
+#: ../src/globals.c:118
+msgid "Restore Window Setup:"
+msgstr ""
+
+#: ../src/globals.c:119
+msgid "Restore window size and layout"
+msgstr ""
+
+#: ../src/globals.c:120
+msgid "Add a Default Map Layer:"
+msgstr ""
+
+#: ../src/globals.c:121
+msgid ""
+"The default map layer added is defined by the Layer Defaults. Use the menu "
+"Edit->Layer Defaults->Map... to change the map type and other values."
+msgstr ""
+
+#: ../src/globals.c:122
+msgid "Startup Method:"
+msgstr ""
+
+#: ../src/globals.c:123
+msgid "Startup File:"
+msgstr ""
+
+#: ../src/globals.c:124
+msgid ""
+"The default file to load on startup. Only applies when the startup method is "
+"set to 'Specified File'"
+msgstr ""
+
+#: ../src/globals.c:125
+msgid "Check For New Version:"
+msgstr ""
+
+#: ../src/globals.c:126
+msgid "Periodically check to see if a new version of Viking is available"
+msgstr ""
+
#. Defaults for the options are setup here
-#: ../src/globals.c:96
+#: ../src/globals.c:163
msgid "General"
msgstr ""
#. New Tab
-#: ../src/globals.c:121
+#: ../src/globals.c:188
+msgid "Startup"
+msgstr ""
+
+#. New Tab
+#: ../src/globals.c:206
msgid "Export/External"
msgstr ""
+#. 'Advanced' Properties
+#: ../src/globals.c:230
+msgid "Advanced"
+msgstr ""
+
#. Webtools
-#: ../src/google.c:36
+#: ../src/google.c:38
msgid "Google"
msgstr "Google"
@@ -426,24 +541,24 @@ msgid "Imported file"
msgstr ""
#. The file selector
-#: ../src/datasource_file.c:133
+#: ../src/datasource_file.c:127
msgid "File:"
msgstr ""
-#: ../src/datasource_file.c:134
+#: ../src/datasource_file.c:128
msgid "File to import"
msgstr ""
-#: ../src/datasource_file.c:141
+#: ../src/datasource_file.c:135
msgid "All files"
msgstr ""
#. The file format selector
-#: ../src/datasource_file.c:148
+#: ../src/datasource_file.c:142
msgid "File type:"
msgstr ""
-#: ../src/datasource_file.c:193
+#: ../src/datasource_file.c:184
#, c-format
msgid "using babel args '%s' and file '%s'"
msgstr ""
@@ -456,29 +571,29 @@ msgstr "Ladda ned Geocachar"
msgid "Geocaching.com Caches"
msgstr "Geocaching.com Cachar"
-#: ../src/datasource_gc.c:84
+#: ../src/datasource_gc.c:85
msgid "geocaching.com username:"
msgstr "geocaching.com användarnamn:"
-#: ../src/datasource_gc.c:85
+#: ../src/datasource_gc.c:86
msgid "geocaching.com password:"
msgstr "geocaching.com lösenord:"
-#: ../src/datasource_gc.c:126
+#: ../src/datasource_gc.c:127
#, c-format
msgid ""
"Can't find %s or %s in path! Check that you have installed it correctly."
msgstr ""
-#: ../src/datasource_gc.c:188
+#: ../src/datasource_gc.c:189
msgid "Number geocaches:"
msgstr "Antal cahar:"
-#: ../src/datasource_gc.c:190
+#: ../src/datasource_gc.c:191
msgid "Centered around:"
msgstr "Centrera runt:"
-#: ../src/datasource_gc.c:226
+#: ../src/datasource_gc.c:230
msgid "Broken input - using some defaults"
msgstr ""
@@ -490,116 +605,107 @@ msgstr ""
msgid "Geotagged Images"
msgstr ""
-#: ../src/datasource_geotag.c:102 ../src/vikwindow.c:2314
-#: ../src/vikwindow.c:2382 ../src/vikwindow.c:2824
+#: ../src/datasource_geotag.c:102 ../src/vikwindow.c:2655
+#: ../src/vikwindow.c:2729 ../src/vikwindow.c:3380
msgid "All"
msgstr ""
-#: ../src/datasource_geotag.c:107 ../src/vikwindow.c:2829
+#: ../src/datasource_geotag.c:107 ../src/vikwindow.c:3385
msgid "JPG"
msgstr ""
-#: ../src/datasource_geotag.c:165
+#: ../src/datasource_geotag.c:168
#, c-format
msgid "Unable to create waypoint from %s"
msgstr ""
-#: ../src/datasource_google.c:49 ../src/datasource_google.c:50
-msgid "Google Directions"
-msgstr "Google Vägvisning"
-
-#: ../src/datasource_google.c:77
-msgid "From:"
-msgstr "Från:"
-
-#: ../src/datasource_google.c:79
-msgid "To:"
-msgstr "Till:"
-
-#: ../src/datasource_gps.c:57
+#: ../src/datasource_gps.c:54
msgid "Acquire from GPS"
msgstr "Hämta från GPS"
-#: ../src/datasource_gps.c:58
+#: ../src/datasource_gps.c:55
msgid "Acquired from GPS"
msgstr ""
-#: ../src/datasource_gps.c:221
+#: ../src/datasource_gps.c:245
#, c-format
msgid "using cmdline '%s' and file '%s'\n"
msgstr ""
-#: ../src/datasource_gps.c:297 ../src/vikgpslayer.c:884
+#: ../src/datasource_gps.c:327 ../src/vikgpslayer.c:934
#, c-format
msgid "Downloading %d waypoint..."
msgid_plural "Downloading %d waypoints..."
msgstr[0] "Laddar ned %d waypoint..."
msgstr[1] "Laddar ned %d waypoints..."
-#: ../src/datasource_gps.c:298 ../src/vikgpslayer.c:885
+#: ../src/datasource_gps.c:328 ../src/vikgpslayer.c:935
#, c-format
msgid "Downloading %d trackpoint..."
msgid_plural "Downloading %d trackpoints..."
msgstr[0] "Laddar ned %d trackpoint..."
msgstr[1] "Laddar ned %d trackpoints..."
-#: ../src/datasource_gps.c:303 ../src/vikgpslayer.c:890
+#: ../src/datasource_gps.c:333 ../src/vikgpslayer.c:940
#, c-format
msgid "Downloading %d routepoint..."
msgid_plural "Downloading %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/datasource_gps.c:325 ../src/datasource_gps.c:326
-#: ../src/datasource_gps.c:327
+#: ../src/datasource_gps.c:355 ../src/datasource_gps.c:356
+#: ../src/datasource_gps.c:357
#, c-format
msgid "Downloaded %d out of %d %s..."
msgstr "Laddade ned %d av %d %s..."
-#: ../src/datasource_gps.c:331 ../src/datasource_gps.c:332
-#: ../src/datasource_gps.c:333
+#: ../src/datasource_gps.c:361 ../src/datasource_gps.c:362
+#: ../src/datasource_gps.c:363
#, c-format
msgid "Downloaded %d %s."
msgstr "Laddade ned %d %s."
-#: ../src/datasource_gps.c:347 ../src/vikgpslayer.c:968
+#: ../src/datasource_gps.c:377 ../src/vikgpslayer.c:1018
#, c-format
msgid "GPS Device: %s"
msgstr "GPS enhet: %s"
-#: ../src/datasource_gps.c:370 ../src/vikgpslayer.c:1042
-#: ../src/vikgpslayer.c:1110
+#: ../src/datasource_gps.c:400 ../src/vikgpslayer.c:1092
+#: ../src/vikgpslayer.c:1160
msgid "Status: Working..."
msgstr ""
-#: ../src/datasource_gps.c:469 ../src/vikgpslayer.c:150
+#. NB gps_layer_inst_init() is performed after parameter registeration
+#. thus to give the protocols some potential values use the old static list
+#. TODO: find another way to use gps_layer_inst_init()?
+#: ../src/datasource_gps.c:500 ../src/vikgpslayer.c:207
msgid "GPS Protocol:"
msgstr "GPS protokoll"
-#. List now assigned at runtime
-#: ../src/datasource_gps.c:488 ../src/vikgpslayer.c:151
+#. List reassigned at runtime
+#: ../src/datasource_gps.c:526 ../src/vikgpslayer.c:208
msgid "Serial Port:"
msgstr "Seriell Port:"
-#: ../src/datasource_gps.c:509
+#: ../src/datasource_gps.c:576
msgid ""
"Turn Off After Transfer\n"
"(Garmin/NAViLink Only)"
msgstr ""
-#: ../src/datasource_gps.c:512
+#: ../src/datasource_gps.c:583
msgid "Tracks:"
msgstr ""
-#: ../src/datasource_gps.c:516
+#: ../src/datasource_gps.c:590
msgid "Routes:"
msgstr ""
-#: ../src/datasource_gps.c:520
+#: ../src/datasource_gps.c:597
msgid "Waypoints:"
msgstr ""
-#: ../src/datasource_gps.c:594 ../src/vikgpslayer.c:1305
+#: ../src/datasource_gps.c:675 ../src/vikgpslayer.c:1355
msgid "GPS device: N/A"
msgstr "GPS-enhet: Inte tillgänglig"
@@ -607,39 +713,39 @@ msgstr "GPS-enhet: Inte tillgänglig"
msgid "OSM traces"
msgstr ""
-#: ../src/datasource_osm.c:80
+#: ../src/datasource_osm.c:82
msgid "Page number:"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:63 ../src/datasource_osm_my_traces.c:64
+#: ../src/datasource_osm_my_traces.c:59 ../src/datasource_osm_my_traces.c:60
msgid "OSM My Traces"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:108
+#: ../src/datasource_osm_my_traces.c:104
msgid "Username:"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:113
+#: ../src/datasource_osm_my_traces.c:109
msgid "The email or username used to login to OSM"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:115 ../src/osm-traces.c:413
+#: ../src/datasource_osm_my_traces.c:111 ../src/osm-traces.c:421
msgid "Password:"
msgstr "Lösenord:"
-#: ../src/datasource_osm_my_traces.c:120
+#: ../src/datasource_osm_my_traces.c:114
msgid "The password used to login to OSM"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:430
+#: ../src/datasource_osm_my_traces.c:429
msgid "Description"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:445
+#: ../src/datasource_osm_my_traces.c:444
msgid "Privacy"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:452
+#: ../src/datasource_osm_my_traces.c:451
msgid "Within Current View"
msgstr ""
@@ -651,15 +757,33 @@ msgstr ""
msgid "None found!"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:629
+#: ../src/datasource_osm_my_traces.c:634
msgid "My OSM Traces"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:645
+#: ../src/datasource_osm_my_traces.c:649
#, c-format
msgid "Unable to get trace: %s"
msgstr ""
+#: ../src/datasource_routing.c:53 ../src/datasource_routing.c:54
+msgid "Directions"
+msgstr ""
+
+#. Engine selector
+#: ../src/datasource_routing.c:83
+msgid "Engine:"
+msgstr ""
+
+#. From and To entries
+#: ../src/datasource_routing.c:88
+msgid "From:"
+msgstr "Från:"
+
+#: ../src/datasource_routing.c:90
+msgid "To:"
+msgstr "Till:"
+
#: ../src/datasource_wikipedia.c:32
msgid "Create Waypoints from Wikipedia Articles"
msgstr ""
@@ -680,144 +804,144 @@ msgstr ""
msgid "Incorrect DEM Class B record: expected 1"
msgstr ""
-#: ../src/dem.c:360
+#: ../src/dem.c:288 ../src/download.c:170
#, c-format
msgid "Couldn't map file %s: %s"
msgstr ""
-#: ../src/download.c:112
-msgid "Tile age (s):"
+#: ../src/download.c:130
+msgid "Tile age (days):"
msgstr ""
-#: ../src/download.c:233
+#: ../src/download.c:321
#, c-format
msgid "Download error: %s"
msgstr "Nedladdningsfel: %s"
-#: ../src/download.c:313
+#: ../src/download.c:404
msgid "couldn't open temp file"
msgstr "kunde inte öppna temp fil"
-#: ../src/file.c:456 ../src/file.c:461
+#: ../src/file.c:451 ../src/file.c:456
#, c-format
msgid "Draw mode '%s' no more supported"
msgstr ""
-#: ../src/geotag_exif.c:433
+#: ../src/geotag_exif.c:421
msgid "Not enough memory."
msgstr ""
-#: ../src/geotag_exif.c:451
+#: ../src/geotag_exif.c:439
msgid "Setting a value for this tag is unsupported!"
msgstr ""
-#: ../src/geotag_exif.c:470
+#: ../src/geotag_exif.c:458
#, c-format
msgid "Too few components specified (need %d, found %d)\n"
msgstr ""
-#: ../src/geotag_exif.c:474
+#: ../src/geotag_exif.c:462
msgid "Numeric value expected\n"
msgstr ""
-#: ../src/geotag_exif.c:482
+#: ../src/geotag_exif.c:470
msgid "This shouldn't happen!"
msgstr ""
-#: ../src/geotag_exif.c:552
+#: ../src/geotag_exif.c:540
msgid "Not yet implemented!"
msgstr ""
-#: ../src/geotag_exif.c:565
+#: ../src/geotag_exif.c:553
msgid "Warning; Too many components specified!"
msgstr ""
-#: ../src/osm-traces.c:73
+#: ../src/osm-traces.c:76
msgid "Identifiable (public w/ timestamps)"
msgstr "Indentifierbar (publik med tidsstämpel)"
-#: ../src/osm-traces.c:74
+#: ../src/osm-traces.c:77
msgid "Trackable (private w/ timestamps)"
msgstr "Spårbar (privat med tidsstämpel)"
-#: ../src/osm-traces.c:75
+#: ../src/osm-traces.c:78
msgid "Public"
msgstr "Publik"
-#: ../src/osm-traces.c:76
+#: ../src/osm-traces.c:79
msgid "Private"
msgstr "Privat"
-#: ../src/osm-traces.c:93
+#: ../src/osm-traces.c:97
msgid "OSM username:"
msgstr "OSM användarnamn:"
-#: ../src/osm-traces.c:94
+#: ../src/osm-traces.c:98
msgid "OSM password:"
msgstr "OSM lösenord:"
#. Preferences
-#: ../src/osm-traces.c:151
+#: ../src/osm-traces.c:155
msgid "OpenStreetMap Traces"
msgstr ""
-#: ../src/osm-traces.c:234
+#: ../src/osm-traces.c:238
#, c-format
msgid "failed to upload data: HTTP response is %ld"
msgstr "kunde inte ladda upp data: HTTP svar är %ld"
-#: ../src/osm-traces.c:239
+#: ../src/osm-traces.c:243
#, c-format
msgid "curl_easy_getinfo failed: %d"
msgstr "curl_easy_getinfo misslyckades: %d"
-#: ../src/osm-traces.c:244
+#: ../src/osm-traces.c:248
#, c-format
msgid "curl request failed: %s"
msgstr "curlförfrågan misslyckades: %s"
-#: ../src/osm-traces.c:275
+#: ../src/osm-traces.c:279
#, c-format
msgid "failed to open temporary file: %s"
msgstr "kunde inte öppna temporär fil: %s"
#. Success
-#: ../src/osm-traces.c:328
+#: ../src/osm-traces.c:340
msgid "Uploaded to OSM"
msgstr ""
-#: ../src/osm-traces.c:332
+#: ../src/osm-traces.c:344
msgid "FAILED TO UPLOAD DATA TO OSM - CURL PROBLEM"
msgstr ""
-#: ../src/osm-traces.c:335
+#: ../src/osm-traces.c:347
msgid "FAILED TO UPLOAD DATA TO OSM"
msgstr ""
-#: ../src/osm-traces.c:335
+#: ../src/osm-traces.c:347
msgid "HTTP response code"
msgstr ""
-#: ../src/osm-traces.c:348
+#: ../src/osm-traces.c:355
#, c-format
msgid "failed to unlink temporary file: %s"
msgstr ""
-#: ../src/osm-traces.c:387
+#: ../src/osm-traces.c:394
msgid "OSM upload"
msgstr "OSM-uppladdning"
-#: ../src/osm-traces.c:405
+#: ../src/osm-traces.c:413
msgid "Email:"
msgstr "E-post:"
-#: ../src/osm-traces.c:410
+#: ../src/osm-traces.c:418
msgid ""
"The email used as login\n"
"<small>Enter the email you use to login into www.openstreetmap.org.</small>"
msgstr ""
-#: ../src/osm-traces.c:418
+#: ../src/osm-traces.c:426
msgid ""
"The password used to login\n"
"<small>Enter the password you use to login into "
@@ -827,11 +951,11 @@ msgstr ""
"<small>Skriv in lösenordet du använder för att logga in till "
"www.openstreetmap.org.</small>"
-#: ../src/osm-traces.c:423
+#: ../src/osm-traces.c:431
msgid "File's name:"
msgstr "Filnamn:"
-#: ../src/osm-traces.c:433
+#: ../src/osm-traces.c:441
msgid ""
"The name of the file on OSM\n"
"<small>This is the name of the file created on the server.This is not the "
@@ -841,19 +965,30 @@ msgstr ""
"<small>Namnet på filen hos servern. Det är inte samma som namnet på den "
"lokala filen.</small>"
-#: ../src/osm-traces.c:442
+#: ../src/osm-traces.c:450
msgid "The description of the trace"
msgstr "Beskrivningen utav spåret"
-#: ../src/osm-traces.c:444
+#: ../src/osm-traces.c:453
+msgid "Anonymize Times:"
+msgstr ""
+
+#: ../src/osm-traces.c:458
+msgid ""
+"Anonymize times of the trace.\n"
+"<small>You may choose to make the trace identifiable, yet mask the actual "
+"real time values</small>"
+msgstr ""
+
+#: ../src/osm-traces.c:462
msgid "Tags:"
msgstr "Märken:"
-#: ../src/osm-traces.c:449
+#: ../src/osm-traces.c:467
msgid "The tags associated to the trace"
msgstr ""
-#: ../src/osm-traces.c:482
+#: ../src/osm-traces.c:529
#, c-format
msgid "Uploading %s to OSM"
msgstr "Laddar upp %s till OSM"
@@ -862,69 +997,88 @@ msgstr "Laddar upp %s till OSM"
msgid "Map cache memory size (MB):"
msgstr ""
-#: ../src/print.c:53
+#: ../src/print.c:51 ../src/viktrwlayer.c:509
msgid "None"
msgstr "Ingen"
-#: ../src/print.c:54
+#: ../src/print.c:52
msgid "Horizontally"
msgstr "Horisontell"
-#: ../src/print.c:55
+#: ../src/print.c:53
msgid "Vertically"
msgstr "Vertikal"
-#: ../src/print.c:56
+#: ../src/print.c:54
msgid "Both"
msgstr "Båda"
-#: ../src/print.c:120
+#: ../src/print.c:118
msgid "Image Settings"
msgstr "Bildinställningar"
-#: ../src/print.c:546
+#: ../src/print.c:548
msgid "done"
msgstr "färdig"
#. Page Size
-#: ../src/print.c:575
+#: ../src/print.c:577
msgid "_Adjust Page Size and Orientation"
msgstr "_Justera sidstorlek och orientering"
-#: ../src/print.c:591
+#: ../src/print.c:593
msgid "C_enter:"
msgstr "C_entrum:"
#. ignore page margins
-#: ../src/print.c:609
+#: ../src/print.c:611
msgid "Ignore Page _Margins"
msgstr "Ignorera sid_marginaler"
-#: ../src/print.c:628
+#: ../src/print.c:630
msgid "Image S_ize:"
msgstr "Bild S_torlek"
-#: ../src/util.c:81
-msgid "Could not launch web browser."
-msgstr "Kunde inte starta webbläsare."
+#: ../src/util.c:65
+#, c-format
+msgid "Could not launch web browser. %s"
+msgstr ""
-#: ../src/util.c:92
-msgid "Could not create new email."
-msgstr "Kunde inte skapa nytt e-postmeddelande."
+#: ../src/util.c:76
+#, c-format
+msgid "Could not create new email. %s"
+msgstr ""
-#: ../src/vikcoordlayer.c:46
+#: ../src/util.c:177
+#, c-format
+msgid ""
+"There is a newer version of Viking available: %s\n"
+"\n"
+"Do you wish to go to Viking's website now?"
+msgstr ""
+
+#: ../src/util.c:304
+msgid ""
+"This appears to be Viking's very first run.\n"
+"\n"
+"Do you wish to enable automatic internet features?\n"
+"\n"
+"Individual settings can be controlled in the Preferences."
+msgstr ""
+
+#: ../src/vikcoordlayer.c:57
msgid "Color:"
msgstr "Färg:"
-#: ../src/vikcoordlayer.c:47
+#: ../src/vikcoordlayer.c:58
msgid "Minutes Width:"
msgstr ""
-#: ../src/vikcoordlayer.c:48
+#: ../src/vikcoordlayer.c:59
msgid "Line Thickness:"
msgstr "Linjens tjocklek:"
-#: ../src/vikcoordlayer.c:56
+#: ../src/vikcoordlayer.c:66
msgid "Coordinate"
msgstr ""
@@ -960,62 +1114,130 @@ msgstr ""
msgid "Polygonzied Layer"
msgstr "Polygoniserade lager"
-#: ../src/main.c:89
+#: ../src/main.c:92
#, c-format
msgid "Ignoring Xlib error: error code %d request code %d\n"
msgstr ""
-#: ../src/main.c:102
+#: ../src/main.c:105
msgid "Enable debug output"
msgstr "Aktivera felsökningsutskrifter"
-#: ../src/main.c:103
+#: ../src/main.c:106
msgid "Enable verbose output"
msgstr "Aktivera utförlig utskrift"
-#: ../src/main.c:104
+#: ../src/main.c:107
msgid "Show version"
msgstr "Visa version"
-#: ../src/osm.c:106
+#: ../src/osm.c:99
msgid "On Disk OSM Tile Format"
msgstr ""
-#: ../src/osm.c:121
+#: ../src/osm.c:113
msgid "OSM (view)"
msgstr "OSM (vy)"
-#: ../src/osm.c:125
+#: ../src/osm.c:117
msgid "OSM (edit)"
msgstr "OSM (redigera)"
-#: ../src/osm.c:129
+#: ../src/osm.c:121
msgid "OSM (render)"
msgstr "OSM (rendera)"
#. Example: http://127.0.0.1:8111/load_and_zoom?left=8.19&right=8.20&top=48.605&bottom=48.590&select=node413602999
#. JOSM or merkaartor must already be running with remote interface enabled
-#: ../src/osm.c:136
+#: ../src/osm.c:128
msgid "Local port 8111 (eg JOSM)"
msgstr ""
-#: ../src/preferences.c:285
+#: ../src/osm.c:134
+msgid "OpenStreetMap Notes"
+msgstr ""
+
+#: ../src/osm.c:138
+msgid "OpenStreetBugs"
+msgstr ""
+
+#. Not really OSM but can't be bothered to create somewhere else to put it...
+#: ../src/osm.c:164
+msgid "Wikimedia Toolserver GeoHack"
+msgstr ""
+
+#: ../src/preferences.c:191
msgid "Preferences"
msgstr "Inställningar"
-#: ../src/uibuilder.c:147
+#: ../src/viklayer_defaults.c:232
+#, c-format
+msgid "Could not open file: %s"
+msgstr ""
+
+#: ../src/viklayer_defaults.c:303
+msgid "Layer Defaults"
+msgstr ""
+
+#: ../src/uibuilder.c:185
msgid "Take care that this password will be stored clearly in a plain file."
msgstr "Notera att detta lösenord kommer sparas i klartext."
-#: ../src/vikaggregatelayer.c:37
+#: ../src/vikaggregatelayer.c:42
msgid "Aggregate"
msgstr ""
-#: ../src/vikdemlayer.c:101
+#. VikLayersPanel *vlp = VIK_LAYERS_PANEL(lav[1]);
+#: ../src/vikaggregatelayer.c:484 ../src/viktrwlayer.c:10238
+#, c-format
+msgid "%s: Track and Route List"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:529 ../src/viktrwlayer.c:7354
+#: ../src/viktrwlayer.c:7420 ../src/viktrwlayer.c:7498
+msgid "_Visibility"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:534
+msgid "_Show All"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:540
+msgid "_Hide All"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:546 ../src/viktrwlayer.c:7371
+#: ../src/viktrwlayer.c:7437 ../src/viktrwlayer.c:7515
+msgid "_Toggle"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:553 ../src/viktrwlayer.c:7536
+msgid "_Sort"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:559 ../src/viktrwlayer.c:7542
+msgid "Name _Ascending"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:565 ../src/viktrwlayer.c:7548
+msgid "Name _Descending"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:571 ../src/viktrwlayer.c:7449
+#: ../src/viktrwlayer.c:7527 ../src/viktrwlayer.c:7587
+#: ../src/viktrwlayer_tracklist.c:237
+msgid "_Statistics"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:576 ../src/viktrwlayer.c:3971
+msgid "Track _List..."
+msgstr ""
+
+#: ../src/vikdemlayer.c:92
msgid "Absolute height"
msgstr "Absolut höjd"
-#: ../src/vikdemlayer.c:102
+#: ../src/vikdemlayer.c:93
msgid "Height gradient"
msgstr ""
@@ -1055,25 +1277,52 @@ msgstr ""
msgid "DEM"
msgstr ""
-#: ../src/vikdemlayer.c:284
+#: ../src/vikdemlayer.c:287
#, c-format
msgid "Number of files: %d"
msgstr ""
-#: ../src/vikdemlayer.c:385
+#: ../src/vikdemlayer.c:427
msgid "DEM Loading"
msgstr ""
-#: ../src/vikdemlayer.c:889
+#: ../src/vikdemlayer.c:937
#, c-format
msgid "No SRTM data available for %f, %f"
msgstr ""
-#: ../src/vikdemlayer.c:1149
+#. Probably not over any land...
+#: ../src/vikdemlayer.c:1193
+msgid "No DEM File Available"
+msgstr ""
+
+#: ../src/vikdemlayer.c:1212
+#, c-format
+msgid ""
+"\n"
+"Source: %s\n"
+"\n"
+"DEM File: %s\n"
+"DEM File Timestamp: %s"
+msgstr ""
+
+#: ../src/vikdemlayer.c:1216
+#, c-format
+msgid ""
+"Source: %s\n"
+"\n"
+"No DEM File!"
+msgstr ""
+
+#: ../src/vikdemlayer.c:1256
#, c-format
msgid "Downloading DEM %s"
msgstr "Laddar ned DEM %s"
+#: ../src/vikdemlayer.c:1280
+msgid "_Show DEM File Information"
+msgstr ""
+
#: ../src/vikfileentry.c:68
msgid "Browse..."
msgstr "Bläddra..."
@@ -1094,248 +1343,266 @@ msgstr "Lägg till…"
msgid "Delete"
msgstr "Ta bort"
-#: ../src/vikgeoreflayer.c:70
+#: ../src/vikgeoreflayer.c:78
msgid "_Georef Move Map"
msgstr ""
-#: ../src/vikgeoreflayer.c:70
+#: ../src/vikgeoreflayer.c:78
msgid "Georef Move Map"
msgstr ""
-#: ../src/vikgeoreflayer.c:77
+#: ../src/vikgeoreflayer.c:85
msgid "Georef Z_oom Tool"
msgstr ""
-#: ../src/vikgeoreflayer.c:77
+#: ../src/vikgeoreflayer.c:85
msgid "Georef Zoom Tool"
msgstr ""
-#: ../src/vikgeoreflayer.c:87
+#: ../src/vikgeoreflayer.c:95
msgid "GeoRef Map"
msgstr ""
-#: ../src/vikgeoreflayer.c:335 ../src/vikmapslayer.c:685
+#: ../src/vikgeoreflayer.c:377 ../src/vikmapslayer.c:720
#, c-format
msgid "Couldn't open image file: %s"
msgstr "Kunde inte öppna bildfil: %s"
-#: ../src/vikgeoreflayer.c:365
+#: ../src/vikgeoreflayer.c:391
+msgid ""
+"GeoRef map cannot be displayed in the current drawmode.\n"
+"Select \"UTM Mode\" from View menu to view it."
+msgstr ""
+
+#: ../src/vikgeoreflayer.c:415
msgid "Unexpected end of file reading World file."
msgstr "Oväntat slut på filen vid läsning av World-filen."
-#: ../src/vikgeoreflayer.c:381 ../src/vikgeoreflayer.c:426
+#: ../src/vikgeoreflayer.c:431 ../src/vikgeoreflayer.c:476
msgid "Choose World file"
msgstr "Välj World fil"
-#: ../src/vikgeoreflayer.c:394
+#: ../src/vikgeoreflayer.c:444
msgid "The World file you requested could not be opened for reading."
msgstr "Den Word fil du har valt kunde inte öppnas för läsning."
-#: ../src/vikgeoreflayer.c:439
+#: ../src/vikgeoreflayer.c:489
msgid "The file you requested could not be opened for writing."
msgstr "Den fil du valt kunde inte öppnas för skrivning."
-#: ../src/vikgeoreflayer.c:456 ../src/viklayer.c:480
+#: ../src/vikgeoreflayer.c:506 ../src/viklayer.c:518
msgid "Layer Properties"
msgstr "Lageregenskaper"
-#: ../src/vikgeoreflayer.c:478
+#: ../src/vikgeoreflayer.c:528
msgid "World File Parameters:"
msgstr "World Fil Parametrar:"
-#: ../src/vikgeoreflayer.c:479
+#: ../src/vikgeoreflayer.c:529
msgid "Load From File..."
msgstr "Ladda från fil..."
-#: ../src/vikgeoreflayer.c:484
+#: ../src/vikgeoreflayer.c:534
msgid "Corner pixel easting:"
msgstr ""
-#: ../src/vikgeoreflayer.c:486
-msgid "the UTM \"easting\" value of the upper-right corner pixel of the map"
+#: ../src/vikgeoreflayer.c:536
+msgid "the UTM \"easting\" value of the upper-left corner pixel of the map"
msgstr ""
-#: ../src/vikgeoreflayer.c:488
+#: ../src/vikgeoreflayer.c:538
msgid "Corner pixel northing:"
msgstr ""
-#: ../src/vikgeoreflayer.c:490
-msgid "the UTM \"northing\" value of the upper-right corner pixel of the map"
+#: ../src/vikgeoreflayer.c:540
+msgid "the UTM \"northing\" value of the upper-left corner pixel of the map"
msgstr ""
-#: ../src/vikgeoreflayer.c:492
+#: ../src/vikgeoreflayer.c:542
msgid "X (easting) scale (mpp): "
msgstr ""
-#: ../src/vikgeoreflayer.c:493
+#: ../src/vikgeoreflayer.c:543
msgid "Y (northing) scale (mpp): "
msgstr ""
-#: ../src/vikgeoreflayer.c:496
+#: ../src/vikgeoreflayer.c:546
msgid "the scale of the map in the X direction (meters per pixel)"
msgstr ""
-#: ../src/vikgeoreflayer.c:498
+#: ../src/vikgeoreflayer.c:548
msgid "the scale of the map in the Y direction (meters per pixel)"
msgstr ""
-#: ../src/vikgeoreflayer.c:500
+#: ../src/vikgeoreflayer.c:550
msgid "Map Image:"
msgstr "Kartbild:"
#. Now with icons
-#: ../src/vikgeoreflayer.c:608
+#: ../src/vikgeoreflayer.c:658
msgid "_Zoom to Fit Map"
msgstr ""
-#: ../src/vikgeoreflayer.c:614
+#: ../src/vikgeoreflayer.c:664
msgid "_Goto Map Center"
msgstr ""
-#: ../src/vikgeoreflayer.c:620
+#: ../src/vikgeoreflayer.c:670
msgid "_Export to World File"
msgstr ""
-#: ../src/vikgoto.c:75
+#: ../src/vikgoto.c:81
msgid "No goto tool available."
msgstr ""
-#: ../src/vikgoto.c:88 ../src/vikgoto.c:107
+#: ../src/vikgoto.c:94 ../src/vikgoto.c:148
msgid "goto"
msgstr ""
-#: ../src/vikgoto.c:90
+#: ../src/vikgoto.c:96
msgid "I don't know that place. Do you want another goto?"
msgstr ""
-#: ../src/vikgoto.c:109
+#: ../src/vikgoto.c:150
msgid "goto provider:"
msgstr ""
-#: ../src/vikgoto.c:124
+#: ../src/vikgoto.c:165
msgid "Enter address or place name:"
msgstr "Ange adress eller platsnamn:"
-#: ../src/vikgpslayer.c:127
+#: ../src/vikgoto.c:363
+msgid "Locality"
+msgstr ""
+
+#: ../src/vikgpslayer.c:128
msgid "Data Mode"
msgstr ""
-#: ../src/vikgpslayer.c:129
+#: ../src/vikgpslayer.c:130
msgid "Realtime Tracking Mode"
msgstr ""
-#: ../src/vikgpslayer.c:137
+#: ../src/vikgpslayer.c:167
msgid "Keep vehicle at center"
msgstr ""
-#: ../src/vikgpslayer.c:138
+#: ../src/vikgpslayer.c:168
msgid "Keep vehicle on screen"
msgstr ""
-#: ../src/vikgpslayer.c:139
+#: ../src/vikgpslayer.c:169
msgid "Disable"
msgstr ""
-#: ../src/vikgpslayer.c:152
+#: ../src/vikgpslayer.c:209
msgid "Download Tracks:"
msgstr ""
-#: ../src/vikgpslayer.c:153
+#: ../src/vikgpslayer.c:210
msgid "Upload Tracks:"
msgstr ""
-#: ../src/vikgpslayer.c:154
+#: ../src/vikgpslayer.c:211
msgid "Download Routes:"
msgstr ""
-#: ../src/vikgpslayer.c:155
+#: ../src/vikgpslayer.c:212
msgid "Upload Routes:"
msgstr ""
-#: ../src/vikgpslayer.c:156
+#: ../src/vikgpslayer.c:213
msgid "Download Waypoints:"
msgstr ""
-#: ../src/vikgpslayer.c:157
+#: ../src/vikgpslayer.c:214
msgid "Upload Waypoints:"
msgstr ""
-#: ../src/vikgpslayer.c:159
+#: ../src/vikgpslayer.c:216
msgid "Recording tracks"
msgstr "Spelar in spår"
-#: ../src/vikgpslayer.c:160
+#: ../src/vikgpslayer.c:217
msgid "Jump to current position on start"
msgstr "Hoppa till nuvarande position vid start"
-#: ../src/vikgpslayer.c:161
+#: ../src/vikgpslayer.c:218
msgid "Moving Map Method:"
msgstr "Kartflyttningsläge:"
-#: ../src/vikgpslayer.c:162
+#: ../src/vikgpslayer.c:219
+msgid "Update Statusbar:"
+msgstr ""
+
+#: ../src/vikgpslayer.c:219
+msgid "Display information in the statusbar on GPS updates"
+msgstr ""
+
+#: ../src/vikgpslayer.c:220
msgid "Gpsd Host:"
msgstr "Gpsd Värd:"
-#: ../src/vikgpslayer.c:163
+#: ../src/vikgpslayer.c:221
msgid "Gpsd Port:"
msgstr "Gpsd Port:"
-#: ../src/vikgpslayer.c:164
+#: ../src/vikgpslayer.c:222
msgid "Gpsd Retry Interval (seconds):"
msgstr ""
-#: ../src/vikgpslayer.c:179
+#: ../src/vikgpslayer.c:243
msgid "GPS"
msgstr ""
-#: ../src/vikgpslayer.c:242 ../src/vikgpslayer.c:1258
+#: ../src/vikgpslayer.c:306 ../src/vikgpslayer.c:1308
msgid "GPS Download"
msgstr "GPS nedladdning"
-#: ../src/vikgpslayer.c:242 ../src/vikgpslayer.c:1258
-#: ../src/viktrwlayer.c:3094
+#: ../src/vikgpslayer.c:306 ../src/vikgpslayer.c:1308
+#: ../src/viktrwlayer.c:3480
msgid "GPS Upload"
msgstr "GPS uppladdning"
-#: ../src/vikgpslayer.c:244
+#: ../src/vikgpslayer.c:308
msgid "GPS Realtime Tracking"
msgstr "GPS Realtidsspårning"
-#: ../src/vikgpslayer.c:451
+#: ../src/vikgpslayer.c:517
msgid "Unknown GPS Protocol"
msgstr "Okänt GPS Protokoll"
-#: ../src/vikgpslayer.c:469
+#: ../src/vikgpslayer.c:535
msgid "Unknown serial port device"
msgstr "Okänd serialportsenhet"
-#: ../src/vikgpslayer.c:572
+#: ../src/vikgpslayer.c:648
#, c-format
msgid "%s: unknown parameter"
msgstr "%s: okänd parameter"
#. Now with icons
-#: ../src/vikgpslayer.c:693
+#: ../src/vikgpslayer.c:743
msgid "_Upload to GPS"
msgstr ""
-#: ../src/vikgpslayer.c:699
+#: ../src/vikgpslayer.c:749
msgid "Download from _GPS"
msgstr "Ladda ned från _GPS"
-#: ../src/vikgpslayer.c:720
+#: ../src/vikgpslayer.c:770
msgid "Empty _Realtime"
msgstr ""
-#: ../src/vikgpslayer.c:727
+#: ../src/vikgpslayer.c:777
msgid "E_mpty Upload"
msgstr ""
-#: ../src/vikgpslayer.c:733
+#: ../src/vikgpslayer.c:783
msgid "_Empty Download"
msgstr ""
-#: ../src/vikgpslayer.c:739
+#: ../src/vikgpslayer.c:789
msgid "Empty _All"
msgstr ""
@@ -1344,234 +1611,232 @@ msgstr ""
#. This happens when copied GPS layer is deleted (not sure why the number_handlers would be 2)
#. I don't think there's any side effects and certainly better than the program just aborting
#.
-#: ../src/vikgpslayer.c:756
+#: ../src/vikgpslayer.c:806
#, c-format
msgid "Unexpected number of disconnected handlers: %d"
msgstr ""
-#: ../src/vikgpslayer.c:898
+#: ../src/vikgpslayer.c:948
#, c-format
msgid "Uploading %d waypoint..."
msgid_plural "Uploading %d waypoints..."
msgstr[0] "Laddar upp %d waypoint..."
msgstr[1] "Laddar upp %d waypoints..."
-#: ../src/vikgpslayer.c:899
+#: ../src/vikgpslayer.c:949
#, c-format
msgid "Uploading %d trackpoint..."
msgid_plural "Uploading %d trackpoints..."
msgstr[0] "Laddar upp %d trackpoint..."
msgstr[1] "Laddar upp %d trackpoints..."
-#: ../src/vikgpslayer.c:900
+#: ../src/vikgpslayer.c:950
#, c-format
msgid "Uploading %d routepoint..."
msgid_plural "Uploading %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:925
+#: ../src/vikgpslayer.c:975
#, c-format
msgid "Downloaded %d out of %d waypoint..."
msgid_plural "Downloaded %d out of %d waypoints..."
msgstr[0] "Laddade ned %d av %d waypoint..."
msgstr[1] "Laddade ned %d av %d waypoints..."
-#: ../src/vikgpslayer.c:926
+#: ../src/vikgpslayer.c:976
#, c-format
msgid "Downloaded %d out of %d trackpoint..."
msgid_plural "Downloaded %d out of %d trackpoints..."
msgstr[0] "Laddade ned %d av %d trackpoint..."
msgstr[1] "Laddade ned %d av %d trackpoints..."
-#: ../src/vikgpslayer.c:927
+#: ../src/vikgpslayer.c:977
#, c-format
msgid "Downloaded %d out of %d routepoint..."
msgid_plural "Downloaded %d out of %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:932
+#: ../src/vikgpslayer.c:982
#, c-format
msgid "Uploaded %d out of %d waypoint..."
msgid_plural "Uploaded %d out of %d waypoints..."
msgstr[0] "Laddade upp %d av %d waypoint..."
msgstr[1] "Laddade upp %d av %d waypoints..."
-#: ../src/vikgpslayer.c:933
+#: ../src/vikgpslayer.c:983
#, c-format
msgid "Uploaded %d out of %d trackpoint..."
msgid_plural "Uploaded %d out of %d trackpoints..."
msgstr[0] "Laddade upp %d av %d trackpoint..."
msgstr[1] "Laddade upp %d av %d trackpoints..."
-#: ../src/vikgpslayer.c:934
+#: ../src/vikgpslayer.c:984
#, c-format
msgid "Uploaded %d out of %d routepoint..."
msgid_plural "Uploaded %d out of %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:942
+#: ../src/vikgpslayer.c:992
#, c-format
msgid "Downloaded %d waypoint"
msgid_plural "Downloaded %d waypoints"
msgstr[0] "Laddade ned %d waypoint"
msgstr[1] "Laddade ned %d waypoints"
-#: ../src/vikgpslayer.c:943
+#: ../src/vikgpslayer.c:993
#, c-format
msgid "Downloaded %d trackpoint"
msgid_plural "Downloaded %d trackpoints"
msgstr[0] "Laddade ned %d trackpoint"
msgstr[1] "Laddade ned %d trackpoints"
-#: ../src/vikgpslayer.c:944
+#: ../src/vikgpslayer.c:994
#, c-format
msgid "Downloaded %d routepoint"
msgid_plural "Downloaded %d routepoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:949
+#: ../src/vikgpslayer.c:999
#, c-format
msgid "Uploaded %d waypoint"
msgid_plural "Uploaded %d waypoints"
msgstr[0] "Laddade upp %d waypoint"
msgstr[1] "Laddade upp %d waypoints"
-#: ../src/vikgpslayer.c:950
+#: ../src/vikgpslayer.c:1000
#, c-format
msgid "Uploaded %d trackpoint"
msgid_plural "Uploaded %d trackpoints"
msgstr[0] "Laddade upp %d trackpoint"
msgstr[1] "Laddade upp %d trackpoints"
-#: ../src/vikgpslayer.c:951
+#: ../src/vikgpslayer.c:1001
#, c-format
msgid "Uploaded %d routepoint"
msgid_plural "Uploaded %d routepoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:1180
+#: ../src/vikgpslayer.c:1230
msgid "Error: couldn't find gpsbabel."
msgstr "Fel: kunde inte hitta gpsbabel."
-#: ../src/vikgpslayer.c:1269
+#: ../src/vikgpslayer.c:1319
msgid "Warning - GPS Upload items may overwrite each other"
msgstr ""
-#: ../src/vikgpslayer.c:1301
+#: ../src/vikgpslayer.c:1351
msgid "Status: detecting gpsbabel"
msgstr "Status: letar efter gpsbabel"
-#: ../src/vikgpslayer.c:1332
+#: ../src/vikgpslayer.c:1386
msgid "No GPS items selected for transfer."
msgstr ""
-#: ../src/vikgpslayer.c:1347
+#: ../src/vikgpslayer.c:1401
msgid "Could not turn off device."
msgstr ""
-#: ../src/vikgpslayer.c:1385
+#: ../src/vikgpslayer.c:1439
msgid "Are you sure you want to delete GPS Upload data?"
msgstr ""
-#: ../src/vikgpslayer.c:1398
+#: ../src/vikgpslayer.c:1452
msgid "Are you sure you want to delete GPS Download data?"
msgstr ""
-#: ../src/vikgpslayer.c:1412
+#: ../src/vikgpslayer.c:1466
msgid "Are you sure you want to delete GPS Realtime data?"
msgstr ""
-#: ../src/vikgpslayer.c:1425
+#: ../src/vikgpslayer.c:1479
msgid "Are you sure you want to delete All GPS data?"
msgstr ""
-#: ../src/viklayerspanel.c:55
-msgid "/C_ut"
-msgstr "/C_ut"
+#: ../src/viklayerspanel.c:53
+msgid "C_ut"
+msgstr ""
-#: ../src/viklayerspanel.c:56
-msgid "/_Copy"
-msgstr "/_Kopiera"
+#: ../src/viklayerspanel.c:54 ../src/vikwindow.c:3753
+msgid "_Copy"
+msgstr "_Kopiera"
-#: ../src/viklayerspanel.c:57
-msgid "/_Paste"
-msgstr "/_Klistra in"
+#: ../src/viklayerspanel.c:55 ../src/vikwindow.c:3754
+msgid "_Paste"
+msgstr "Klistra _in"
-#: ../src/viklayerspanel.c:58
-msgid "/_Delete"
-msgstr "/_Ta bort"
+#: ../src/viklayerspanel.c:56 ../src/vikwindow.c:3755
+msgid "_Delete"
+msgstr "_Ta bort"
-#: ../src/viklayerspanel.c:59
-msgid "/New Layer"
-msgstr "/Nytt lager"
+#: ../src/viklayerspanel.c:133
+msgid "New Layer"
+msgstr ""
-#: ../src/viklayerspanel.c:127
+#: ../src/viklayerspanel.c:178
msgid "Top Layer"
msgstr ""
-#: ../src/viklayerspanel.c:143
+#: ../src/viklayerspanel.c:194
msgid "Add new layer"
msgstr "Lägg till ett nytt lager"
-#: ../src/viklayerspanel.c:150
+#: ../src/viklayerspanel.c:201
msgid "Remove selected layer"
msgstr "Ta bort valt lager"
-#: ../src/viklayerspanel.c:157
+#: ../src/viklayerspanel.c:208
msgid "Move selected layer up"
msgstr "Flytta upp valt lager"
-#: ../src/viklayerspanel.c:164
+#: ../src/viklayerspanel.c:215
msgid "Move selected layer down"
msgstr "Flytta ned valt lager"
-#: ../src/viklayerspanel.c:171
+#: ../src/viklayerspanel.c:222
msgid "Cut selected layer"
msgstr "Skär valt lager"
-#: ../src/viklayerspanel.c:178
+#: ../src/viklayerspanel.c:229
msgid "Copy selected layer"
msgstr "Kopiera valt lager"
-#: ../src/viklayerspanel.c:185
-msgid "Paste layer below selected layer"
-msgstr "Klistra in lager under valt lager"
+#: ../src/viklayerspanel.c:236
+msgid ""
+"Paste layer into selected container layer or otherwise above selected layer"
+msgstr ""
-#. TODO: FIXME: if name has a '/' in it it will get all messed up. why not have an itemfactory field with
-#. name, icon, shortcut, etc.?
-#: ../src/viklayerspanel.c:204 ../src/vikwindow.c:3292
-#, c-format
-msgid "New _%s Layer"
+#: ../src/viklayerspanel.c:300
+msgid "New name can not be blank."
msgstr ""
-#: ../src/viklayerspanel.c:511
+#: ../src/viklayerspanel.c:544
msgid "Aggregate Layers have no settable properties."
msgstr ""
-#: ../src/viklayerspanel.c:555
+#: ../src/viklayerspanel.c:588
msgid "You cannot cut the Top Layer."
msgstr ""
-#: ../src/viklayerspanel.c:600
+#: ../src/viklayerspanel.c:633
#, c-format
msgid "Are you sure you want to delete %s?"
msgstr ""
-#: ../src/viklayerspanel.c:617
+#: ../src/viklayerspanel.c:650
msgid "You cannot delete the Top Layer."
msgstr ""
-#: ../src/viklayerspanel.c:701
+#: ../src/viklayerspanel.c:734
msgid "Are you sure you wish to delete all layers?"
msgstr "Är du säker på att du vill ta bort alla lager?"
#. ******* MAPZOOMS ********
-#: ../src/vikmapslayer.c:91
+#: ../src/vikmapslayer.c:80
msgid "Use Viking Zoom Level"
msgstr ""
@@ -1618,70 +1883,70 @@ msgid ""
"actual zoom level."
msgstr ""
-#: ../src/vikmapslayer.c:146
+#: ../src/vikmapslayer.c:156
msgid "_Maps Download"
msgstr ""
-#: ../src/vikmapslayer.c:146
+#: ../src/vikmapslayer.c:156
msgid "Maps Download"
msgstr ""
-#: ../src/vikmapslayer.c:161
+#: ../src/vikmapslayer.c:171
msgid "Map"
msgstr "Karta"
-#: ../src/vikmapslayer.c:249
-msgid "Default maplayer directory:"
+#: ../src/vikmapslayer.c:259
+msgid "Default map layer directory:"
msgstr ""
-#: ../src/vikmapslayer.c:249
+#: ../src/vikmapslayer.c:259
msgid "Choose a directory to store cached Map tiles for this layer"
msgstr ""
-#: ../src/vikmapslayer.c:505
+#: ../src/vikmapslayer.c:523
msgid "Unknown map type"
msgstr "Okänd karttyp"
-#: ../src/vikmapslayer.c:516
+#: ../src/vikmapslayer.c:534
msgid "Unknown Map Zoom"
msgstr ""
-#: ../src/vikmapslayer.c:589
+#: ../src/vikmapslayer.c:624
#, c-format
msgid ""
"New map cannot be displayed in the current drawmode.\n"
"Select \"%s\" from View menu to view it."
msgstr ""
-#: ../src/vikmapslayer.c:753
+#: ../src/vikmapslayer.c:798
#, c-format
msgid ""
"Cowardly refusing to draw tiles or existence of tiles beyond %d zoom out "
"factor"
msgstr ""
-#: ../src/vikmapslayer.c:1157
+#: ../src/vikmapslayer.c:1210
#, c-format
msgid "Redownloading up to %d %s map..."
msgid_plural "Redownloading up to %d %s maps..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikmapslayer.c:1159
+#: ../src/vikmapslayer.c:1212
#, c-format
msgid "Redownloading %d %s map..."
msgid_plural "Redownloading %d %s maps..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikmapslayer.c:1163 ../src/vikmapslayer.c:1238
+#: ../src/vikmapslayer.c:1216 ../src/vikmapslayer.c:1290
#, c-format
msgid "Downloading %d %s map..."
msgid_plural "Downloading %d %s maps..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikmapslayer.c:1311
+#: ../src/vikmapslayer.c:1376
#, c-format
msgid ""
"\n"
@@ -1691,7 +1956,7 @@ msgid ""
"Tile File Timestamp: %s"
msgstr ""
-#: ../src/vikmapslayer.c:1318
+#: ../src/vikmapslayer.c:1380
#, c-format
msgid ""
"Source: %s\n"
@@ -1699,1458 +1964,2035 @@ msgid ""
"No Tile File!"
msgstr ""
-#: ../src/vikmapslayer.c:1356
+#: ../src/vikmapslayer.c:1418
msgid "Redownload _Bad Map(s)"
msgstr ""
-#: ../src/vikmapslayer.c:1360
+#: ../src/vikmapslayer.c:1422
msgid "Redownload _New Map(s)"
msgstr ""
-#: ../src/vikmapslayer.c:1364
+#: ../src/vikmapslayer.c:1426
msgid "Redownload _All Map(s)"
msgstr ""
-#: ../src/vikmapslayer.c:1368
+#: ../src/vikmapslayer.c:1430
msgid "_Show Tile Information"
msgstr ""
-#: ../src/vikmapslayer.c:1449
+#: ../src/vikmapslayer.c:1511
#, c-format
msgid ""
"Wrong drawmode for this map.\n"
"Select \"%s\" from View menu and try again."
msgstr ""
-#: ../src/vikmapslayer.c:1454
+#: ../src/vikmapslayer.c:1516
msgid "Wrong zoom level for this map."
msgstr ""
+#: ../src/vikmapslayer.c:1647
+msgid "Zoom Start:"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1654
+msgid "Zoom End:"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1660
+msgid "Download Maps Method:"
+msgstr ""
+
+#. redownload method - needs to align with REDOWNLOAD* macro values
+#: ../src/vikmapslayer.c:1732
+msgid "Missing"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1732
+msgid "Bad"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1732
+msgid "New"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1732
+msgid "Reload All"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1734
+msgid "Download for Zoom Levels"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1774
+#, c-format
+msgid ""
+"You are not allowed to download more than %d tiles in one go (requested %d)"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1782
+#, c-format
+msgid "Do you really want to download %d tiles?"
+msgstr ""
+
#. Now with icons
-#: ../src/vikmapslayer.c:1485
+#: ../src/vikmapslayer.c:1807
msgid "Download _Missing Onscreen Maps"
msgstr ""
-#: ../src/vikmapslayer.c:1492
+#: ../src/vikmapslayer.c:1814
msgid "Download _New Onscreen Maps"
msgstr ""
-#: ../src/vikmapslayer.c:1499
+#: ../src/vikmapslayer.c:1821
msgid "Reload _All Onscreen Maps"
msgstr ""
-#: ../src/viktreeview.c:263
+#: ../src/vikmapslayer.c:1827
+msgid "Download Maps in _Zoom Levels..."
+msgstr ""
+
+#: ../src/vikrouting.c:54
+msgid "Default engine:"
+msgstr ""
+
+#: ../src/viktreeview.c:316
msgid "Layer Name"
msgstr "Lagernamn"
-#: ../src/viktreeview.c:742
+#: ../src/viktreeview.c:851
#, c-format
msgid "delete data from %s\n"
msgstr "Ta bort data från %s\n"
-#: ../src/viktrwlayer.c:377
+#: ../src/viktrwlayer.c:398
msgid "Create _Waypoint"
msgstr ""
-#: ../src/viktrwlayer.c:377
+#: ../src/viktrwlayer.c:398
msgid "Create Waypoint"
msgstr "Skapa waypoint"
-#: ../src/viktrwlayer.c:383
+#: ../src/viktrwlayer.c:404
msgid "Create _Track"
msgstr ""
-#: ../src/viktrwlayer.c:383
+#: ../src/viktrwlayer.c:404
msgid "Create Track"
msgstr "Skapa spår"
-#: ../src/viktrwlayer.c:392
+#: ../src/viktrwlayer.c:413
msgid "Create _Route"
msgstr ""
-#: ../src/viktrwlayer.c:392
+#: ../src/viktrwlayer.c:413
msgid "Create Route"
msgstr ""
-#: ../src/viktrwlayer.c:401
+#: ../src/viktrwlayer.c:422
msgid "_Edit Waypoint"
msgstr ""
-#: ../src/viktrwlayer.c:401
+#: ../src/viktrwlayer.c:422
msgid "Edit Waypoint"
msgstr "Redigera waypoint"
-#: ../src/viktrwlayer.c:409
+#: ../src/viktrwlayer.c:432
msgid "Edit Trac_kpoint"
msgstr ""
-#: ../src/viktrwlayer.c:409
+#: ../src/viktrwlayer.c:432
msgid "Edit Trackpoint"
msgstr "Redigera trackpoint"
-#: ../src/viktrwlayer.c:417
+#: ../src/viktrwlayer.c:442
msgid "Show P_icture"
msgstr ""
-#: ../src/viktrwlayer.c:417
+#: ../src/viktrwlayer.c:442
msgid "Show Picture"
msgstr "Visa Bild"
-#: ../src/viktrwlayer.c:424
+#: ../src/viktrwlayer.c:448
msgid "Route _Finder"
msgstr ""
-#: ../src/viktrwlayer.c:424
+#: ../src/viktrwlayer.c:448
msgid "Route Finder"
msgstr ""
#. ***** PARAMETERS *****
-#: ../src/viktrwlayer.c:447 ../src/viktrwlayer.c:1942
-#: ../src/viktrwlayer.c:1944
+#: ../src/viktrwlayer.c:468 ../src/viktrwlayer.c:2324
msgid "Waypoints"
msgstr "Waypoints"
-#: ../src/viktrwlayer.c:447 ../src/viktrwlayer.c:1933
-#: ../src/viktrwlayer.c:1935
+#: ../src/viktrwlayer.c:468 ../src/viktrwlayer.c:2319
msgid "Tracks"
msgstr "Spår"
-#: ../src/viktrwlayer.c:447
+#: ../src/viktrwlayer.c:468
msgid "Waypoint Images"
msgstr "Waypoint bilder"
-#: ../src/viktrwlayer.c:450
+#: ../src/viktrwlayer.c:468
+msgid "Tracks Advanced"
+msgstr ""
+
+#: ../src/viktrwlayer.c:471
msgid "Draw by Track"
msgstr ""
-#: ../src/viktrwlayer.c:450
+#: ../src/viktrwlayer.c:471
msgid "Draw by Speed"
msgstr ""
-#: ../src/viktrwlayer.c:450
+#: ../src/viktrwlayer.c:471
msgid "All Tracks Same Color"
msgstr ""
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "Filled Square"
msgstr "Fylld ruta"
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "Square"
msgstr "Kvadrat"
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "Circle"
msgstr "Cirkel"
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "X"
msgstr "X"
-#: ../src/viktrwlayer.c:477
+#: ../src/viktrwlayer.c:498
msgid "Extra Extra Small"
msgstr ""
-#: ../src/viktrwlayer.c:478
+#: ../src/viktrwlayer.c:499
msgid "Extra Small"
msgstr ""
-#: ../src/viktrwlayer.c:479
+#: ../src/viktrwlayer.c:500
msgid "Small"
msgstr ""
-#: ../src/viktrwlayer.c:480
+#: ../src/viktrwlayer.c:501
msgid "Medium"
msgstr ""
-#: ../src/viktrwlayer.c:481
+#: ../src/viktrwlayer.c:502
msgid "Large"
msgstr ""
-#: ../src/viktrwlayer.c:482
+#: ../src/viktrwlayer.c:503
msgid "Extra Large"
msgstr ""
-#: ../src/viktrwlayer.c:483
+#: ../src/viktrwlayer.c:504
msgid "Extra Extra Large"
msgstr ""
-#: ../src/viktrwlayer.c:491
+#: ../src/viktrwlayer.c:510
+msgid "Name Ascending"
+msgstr ""
+
+#: ../src/viktrwlayer.c:511
+msgid "Name Descending"
+msgstr ""
+
+#: ../src/viktrwlayer.c:552 ../src/viktrwlayer.c:576
+msgid "Draw Labels"
+msgstr ""
+
+#: ../src/viktrwlayer.c:553
+msgid "Note: the individual track controls what labels may be displayed"
+msgstr ""
+
+#: ../src/viktrwlayer.c:554
+msgid "Track Labels Font Size:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:555
msgid "Track Drawing Mode:"
msgstr ""
-#: ../src/viktrwlayer.c:492
+#: ../src/viktrwlayer.c:556
msgid "All Tracks Color:"
msgstr ""
-#: ../src/viktrwlayer.c:493
+#: ../src/viktrwlayer.c:557
msgid "The color used when 'All Tracks Same Color' drawing mode is selected"
msgstr ""
-#: ../src/viktrwlayer.c:494
+#: ../src/viktrwlayer.c:558
msgid "Draw Track Lines"
msgstr ""
-#: ../src/viktrwlayer.c:495
+#: ../src/viktrwlayer.c:559
msgid "Track Thickness:"
msgstr ""
-#: ../src/viktrwlayer.c:496
+#: ../src/viktrwlayer.c:560
msgid "Draw Track Direction"
msgstr ""
-#: ../src/viktrwlayer.c:497
+#: ../src/viktrwlayer.c:561
msgid "Direction Size:"
msgstr ""
-#: ../src/viktrwlayer.c:498
+#: ../src/viktrwlayer.c:562
msgid "Draw Trackpoints"
msgstr ""
-#: ../src/viktrwlayer.c:499
+#: ../src/viktrwlayer.c:563
msgid "Trackpoint Size:"
msgstr ""
-#: ../src/viktrwlayer.c:500
+#: ../src/viktrwlayer.c:564
msgid "Draw Elevation"
msgstr ""
-#: ../src/viktrwlayer.c:501
+#: ../src/viktrwlayer.c:565
msgid "Draw Elevation Height %:"
msgstr ""
-#: ../src/viktrwlayer.c:503
+#: ../src/viktrwlayer.c:566
msgid "Draw Stops"
msgstr ""
-#: ../src/viktrwlayer.c:504
+#: ../src/viktrwlayer.c:567
msgid ""
"Whether to draw a marker when trackpoints are at the same position but over "
"the minimum stop length apart in time"
msgstr ""
-#: ../src/viktrwlayer.c:505
+#: ../src/viktrwlayer.c:568
msgid "Min Stop Length (seconds):"
msgstr ""
-#: ../src/viktrwlayer.c:507
+#: ../src/viktrwlayer.c:570
msgid "Track BG Thickness:"
msgstr ""
-#: ../src/viktrwlayer.c:508
+#: ../src/viktrwlayer.c:571
msgid "Track Background Color"
msgstr ""
-#: ../src/viktrwlayer.c:509
+#: ../src/viktrwlayer.c:572
msgid "Draw by Speed Factor (%):"
msgstr ""
-#: ../src/viktrwlayer.c:510
+#: ../src/viktrwlayer.c:573
msgid ""
"The percentage factor away from the average speed determining the color used"
msgstr ""
-#: ../src/viktrwlayer.c:512
-msgid "Draw Labels"
+#: ../src/viktrwlayer.c:574
+msgid "Track Sort Order:"
msgstr ""
-#: ../src/viktrwlayer.c:513
+#: ../src/viktrwlayer.c:577
msgid "Waypoint Font Size:"
msgstr ""
-#: ../src/viktrwlayer.c:514
+#: ../src/viktrwlayer.c:578
msgid "Waypoint Color:"
msgstr "Waypoint färg:"
-#: ../src/viktrwlayer.c:515
+#: ../src/viktrwlayer.c:579
msgid "Waypoint Text:"
msgstr "Waypoint text:"
-#: ../src/viktrwlayer.c:516
+#: ../src/viktrwlayer.c:580
msgid "Background:"
msgstr "Bakgrund:"
-#: ../src/viktrwlayer.c:517
+#: ../src/viktrwlayer.c:581
msgid "Fake BG Color Translucency:"
msgstr ""
-#: ../src/viktrwlayer.c:518
+#: ../src/viktrwlayer.c:582
msgid "Waypoint marker:"
msgstr "Waypoint markör:"
-#: ../src/viktrwlayer.c:519
+#: ../src/viktrwlayer.c:583
msgid "Waypoint size:"
msgstr "Waypoint storlek:"
-#: ../src/viktrwlayer.c:520
+#: ../src/viktrwlayer.c:584
msgid "Draw Waypoint Symbols:"
msgstr ""
-#: ../src/viktrwlayer.c:522
+#: ../src/viktrwlayer.c:585
+msgid "Waypoint Sort Order:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:587
msgid "Draw Waypoint Images"
msgstr ""
-#: ../src/viktrwlayer.c:523
+#: ../src/viktrwlayer.c:588
msgid "Image Size (pixels):"
msgstr "Bildstorlek (pixlar):"
-#: ../src/viktrwlayer.c:524
+#: ../src/viktrwlayer.c:589
msgid "Image Alpha:"
msgstr ""
-#: ../src/viktrwlayer.c:525
+#: ../src/viktrwlayer.c:590
msgid "Image Memory Cache Size:"
msgstr ""
-#: ../src/viktrwlayer.c:610
+#: ../src/viktrwlayer.c:678
msgid "TrackWaypoint"
msgstr ""
-#: ../src/viktrwlayer.c:1951 ../src/viktrwlayer.c:1953
+#: ../src/viktrwlayer.c:1534 ../src/vikutils.c:204
+msgid "miles"
+msgstr ""
+
+#. VIK_UNITS_DISTANCE_KILOMETRES:
+#: ../src/viktrwlayer.c:1538 ../src/vikutils.c:209
+msgid "km"
+msgstr ""
+
+#: ../src/viktrwlayer.c:1648
+msgid "start/end"
+msgstr ""
+
+#: ../src/viktrwlayer.c:1660
+msgid "start"
+msgstr ""
+
+#: ../src/viktrwlayer.c:1669
+msgid "end"
+msgstr ""
+
+#: ../src/viktrwlayer.c:2329
msgid "Routes"
msgstr ""
-#: ../src/viktrwlayer.c:2144
+#: ../src/viktrwlayer.c:2519
#, c-format
msgid " in %d:%02d hrs:mins"
msgstr ""
-#: ../src/viktrwlayer.c:2148
+#: ../src/viktrwlayer.c:2523
#, c-format
msgid ""
"\n"
"%sTotal Length %.1f %s%s"
msgstr ""
-#: ../src/viktrwlayer.c:2154
+#: ../src/viktrwlayer.c:2529
#, c-format
msgid "Tracks: %d - Waypoints: %d - Routes: %d%s"
msgstr ""
-#: ../src/viktrwlayer.c:2174
+#: ../src/viktrwlayer.c:2549
#, c-format
msgid "Tracks: %d"
msgstr ""
-#: ../src/viktrwlayer.c:2184
+#: ../src/viktrwlayer.c:2559
#, c-format
msgid "Routes: %d"
msgstr ""
-#: ../src/viktrwlayer.c:2215
+#: ../src/viktrwlayer.c:2590
#, c-format
msgid "- %d:%02d hrs:mins"
msgstr ""
-#: ../src/viktrwlayer.c:2223
+#: ../src/viktrwlayer.c:2598
#, c-format
msgid "%s%.1f km %s"
msgstr ""
-#: ../src/viktrwlayer.c:2226
+#: ../src/viktrwlayer.c:2601
#, c-format
msgid "%s%.1f miles %s"
msgstr ""
-#: ../src/viktrwlayer.c:2240
+#: ../src/viktrwlayer.c:2615
#, c-format
msgid "Waypoints: %d"
msgstr ""
-#: ../src/viktrwlayer.c:2266
-#, c-format
-msgid "Trkpt: Alt %dft"
-msgstr ""
-
-#. VIK_UNITS_HEIGHT_METRES:
-#: ../src/viktrwlayer.c:2270
-#, c-format
-msgid "Trkpt: Alt %dm"
-msgstr ""
-
-#. Compact date time format
-#: ../src/viktrwlayer.c:2277
-#, c-format
-msgid " | Time %x %X"
-msgstr ""
-
-#: ../src/viktrwlayer.c:2295
-#, c-format
-msgid " | Track: %s"
-msgstr ""
-
-#. Combine parts to make overall message
-#: ../src/viktrwlayer.c:2299
-#, c-format
-msgid "%s%s | %s %s %s"
-msgstr ""
-
-#: ../src/viktrwlayer.c:2314
+#: ../src/viktrwlayer.c:2671
#, c-format
msgid "Wpt: Alt %dft"
msgstr ""
#. VIK_UNITS_HEIGHT_METRES:
-#: ../src/viktrwlayer.c:2318
+#: ../src/viktrwlayer.c:2675
#, c-format
msgid "Wpt: Alt %dm"
msgstr ""
#. Add comment if available
-#: ../src/viktrwlayer.c:2333
+#: ../src/viktrwlayer.c:2690
#, c-format
msgid "%s | %s %s | Comment: %s"
msgstr ""
-#: ../src/viktrwlayer.c:2335
+#: ../src/viktrwlayer.c:2692
#, c-format
msgid "%s | %s %s"
msgstr ""
-#: ../src/viktrwlayer.c:2563 ../src/viktrwlayer.c:2634
+#: ../src/viktrwlayer.c:2939 ../src/viktrwlayer.c:3010
msgid "This layer has no waypoints or trackpoints."
msgstr "Detta lager har inga waypoints eller trackpoints."
-#: ../src/viktrwlayer.c:2661 ../src/vikwindow.c:2407 ../src/vikwindow.c:2848
+#: ../src/viktrwlayer.c:3045 ../src/vikwindow.c:2754 ../src/vikwindow.c:3407
#, c-format
msgid "The file \"%s\" exists, do you wish to overwrite it?"
msgstr "Filen \"%s\" finns redan, vill du skriva över den?"
-#: ../src/viktrwlayer.c:2671 ../src/vikwindow.c:2429
+#: ../src/viktrwlayer.c:3057 ../src/vikwindow.c:2778
msgid "The filename you requested could not be opened for writing."
msgstr ""
-#: ../src/viktrwlayer.c:2676 ../src/viktrwlayer.c:2681
-#: ../src/viktrwlayer.c:2691 ../src/viktrwlayer.c:2703
+#: ../src/viktrwlayer.c:3062 ../src/viktrwlayer.c:3067
+#: ../src/viktrwlayer.c:3077 ../src/viktrwlayer.c:3089
msgid "Export Layer"
msgstr "Exportera lager"
-#: ../src/viktrwlayer.c:2720
+#: ../src/viktrwlayer.c:3108
msgid "Could not create temporary file for export."
msgstr ""
-#: ../src/viktrwlayer.c:2729
+#: ../src/viktrwlayer.c:3117
#, c-format
msgid "Could not launch %s."
msgstr ""
-#: ../src/viktrwlayer.c:2773
+#: ../src/viktrwlayer.c:3161
msgid "Export Track as GPX"
msgstr ""
-#: ../src/viktrwlayer.c:2795
+#: ../src/viktrwlayer.c:3183
msgid "Find"
msgstr ""
-#: ../src/viktrwlayer.c:2805
+#: ../src/viktrwlayer.c:3193
msgid "Waypoint Name:"
msgstr "Waypoint namn:"
-#: ../src/viktrwlayer.c:2822
+#: ../src/viktrwlayer.c:3210
msgid "Waypoint not found in this layer."
msgstr "Waypoint hittades inte i detta lager."
-#: ../src/viktrwlayer.c:3090
+#: ../src/viktrwlayer.c:3476
msgid "Can not upload invisible track."
msgstr ""
-#: ../src/viktrwlayer.c:3192 ../src/viktrwlayer.c:7785
+#: ../src/viktrwlayer.c:3581 ../src/viktrwlayer.c:9283
msgid "Track"
msgstr ""
-#: ../src/viktrwlayer.c:3215 ../src/viktrwlayer.c:7817
+#: ../src/viktrwlayer.c:3606 ../src/viktrwlayer.c:9316
msgid "Route"
msgstr ""
-#: ../src/viktrwlayer.c:3296 ../src/viktrwlayer.c:6265
-#: ../src/viktrwlayer.c:6314
+#: ../src/viktrwlayer.c:3691 ../src/viktrwlayer.c:7460
+#: ../src/viktrwlayer.c:7566
msgid "_Finish Route"
msgstr ""
-#: ../src/viktrwlayer.c:3298 ../src/viktrwlayer.c:6223
-#: ../src/viktrwlayer.c:6312
+#: ../src/viktrwlayer.c:3693 ../src/viktrwlayer.c:7383
+#: ../src/viktrwlayer.c:7564
msgid "_Finish Track"
msgstr ""
#. Now with icons
-#: ../src/viktrwlayer.c:3310
+#: ../src/viktrwlayer.c:3705
msgid "_View Layer"
msgstr ""
-#: ../src/viktrwlayer.c:3317
+#: ../src/viktrwlayer.c:3712
msgid "V_iew"
msgstr ""
-#: ../src/viktrwlayer.c:3323
+#: ../src/viktrwlayer.c:3718
msgid "View All _Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:3328
+#: ../src/viktrwlayer.c:3723
msgid "View All _Routes"
msgstr ""
-#: ../src/viktrwlayer.c:3333
+#: ../src/viktrwlayer.c:3728
msgid "View All _Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:3338
+#: ../src/viktrwlayer.c:3733
msgid "_Goto Center of Layer"
msgstr ""
-#: ../src/viktrwlayer.c:3344 ../src/viktrwlayer.c:6199
+#: ../src/viktrwlayer.c:3739 ../src/viktrwlayer.c:7335
msgid "Goto _Waypoint..."
msgstr ""
-#: ../src/viktrwlayer.c:3350
+#: ../src/viktrwlayer.c:3745
msgid "_Export Layer"
msgstr ""
-#: ../src/viktrwlayer.c:3356
+#: ../src/viktrwlayer.c:3751
msgid "Export as GPS_Point..."
msgstr ""
-#: ../src/viktrwlayer.c:3361
+#: ../src/viktrwlayer.c:3756
msgid "Export as GPS_Mapper..."
msgstr ""
-#: ../src/viktrwlayer.c:3366
+#: ../src/viktrwlayer.c:3761
msgid "Export as _GPX..."
msgstr ""
-#: ../src/viktrwlayer.c:3371
+#: ../src/viktrwlayer.c:3766
msgid "Export as _KML..."
msgstr ""
-#: ../src/viktrwlayer.c:3376
+#: ../src/viktrwlayer.c:3771
msgid "Open with External Program_1: "
msgstr ""
-#: ../src/viktrwlayer.c:3383
+#: ../src/viktrwlayer.c:3778
msgid "Open with External Program_2: "
msgstr ""
-#: ../src/viktrwlayer.c:3391 ../src/vikwindow.c:3145
+#: ../src/viktrwlayer.c:3786 ../src/vikwindow.c:3704
msgid "_New"
msgstr "_Ny"
-#: ../src/viktrwlayer.c:3397
+#: ../src/viktrwlayer.c:3792
msgid "New _Waypoint..."
msgstr ""
-#: ../src/viktrwlayer.c:3403
+#: ../src/viktrwlayer.c:3798
msgid "New _Track"
msgstr ""
-#: ../src/viktrwlayer.c:3411
+#: ../src/viktrwlayer.c:3806
msgid "New _Route"
msgstr ""
-#: ../src/viktrwlayer.c:3420 ../src/viktrwlayer.c:6597
+#: ../src/viktrwlayer.c:3815 ../src/viktrwlayer.c:7938
msgid "Geotag _Images..."
msgstr ""
-#: ../src/viktrwlayer.c:3427
+#: ../src/viktrwlayer.c:3822
msgid "_Acquire"
msgstr ""
-#: ../src/viktrwlayer.c:3433 ../src/vikwindow.c:3150
+#: ../src/viktrwlayer.c:3828 ../src/vikwindow.c:3711
msgid "From _GPS..."
msgstr "Från _GPS..."
-#: ../src/viktrwlayer.c:3439
-msgid "From Google _Directions..."
+#. FIXME: only add menu when at least a routing engine has support for Directions
+#: ../src/viktrwlayer.c:3834
+msgid "From _Directions..."
msgstr ""
-#: ../src/viktrwlayer.c:3446
+#: ../src/viktrwlayer.c:3840
msgid "From _OSM Traces..."
msgstr ""
-#: ../src/viktrwlayer.c:3451
+#: ../src/viktrwlayer.c:3845
msgid "From _My OSM Traces..."
msgstr ""
-#: ../src/viktrwlayer.c:3459 ../src/vikwindow.c:3166
+#: ../src/viktrwlayer.c:3853 ../src/vikwindow.c:3725
msgid "From _Wikipedia Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:3465
+#: ../src/viktrwlayer.c:3859
msgid "Within _Layer Bounds"
msgstr ""
-#: ../src/viktrwlayer.c:3471
+#: ../src/viktrwlayer.c:3865
msgid "Within _Current View"
msgstr ""
-#: ../src/viktrwlayer.c:3479
+#: ../src/viktrwlayer.c:3873
msgid "From Geo_caching..."
msgstr ""
-#: ../src/viktrwlayer.c:3486 ../src/vikwindow.c:3163
+#: ../src/viktrwlayer.c:3880 ../src/vikwindow.c:3722
msgid "From Geotagged _Images..."
msgstr ""
-#: ../src/viktrwlayer.c:3492
+#: ../src/viktrwlayer.c:3886
msgid "From _File..."
msgstr ""
-#: ../src/viktrwlayer.c:3498 ../src/viktrwlayer.c:6542
+#: ../src/viktrwlayer.c:3894 ../src/viktrwlayer.c:7883
msgid "_Upload"
msgstr ""
-#: ../src/viktrwlayer.c:3504
+#: ../src/viktrwlayer.c:3900
msgid "Upload to _GPS..."
msgstr ""
-#: ../src/viktrwlayer.c:3511 ../src/viktrwlayer.c:6570
+#: ../src/viktrwlayer.c:3907 ../src/viktrwlayer.c:7911
msgid "Upload to _OSM..."
msgstr ""
-#: ../src/viktrwlayer.c:3519
+#: ../src/viktrwlayer.c:3915
msgid "De_lete"
msgstr ""
-#: ../src/viktrwlayer.c:3525
+#: ../src/viktrwlayer.c:3921
msgid "Delete All _Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:3531
+#: ../src/viktrwlayer.c:3927
msgid "Delete Tracks _From Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:3537 ../src/viktrwlayer.c:6290
+#: ../src/viktrwlayer.c:3933 ../src/viktrwlayer.c:7485
msgid "Delete _All Routes"
msgstr ""
-#: ../src/viktrwlayer.c:3543 ../src/viktrwlayer.c:6296
+#: ../src/viktrwlayer.c:3939 ../src/viktrwlayer.c:7491
msgid "_Delete Routes From Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:3549
+#: ../src/viktrwlayer.c:3945
msgid "Delete All _Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:3555
+#: ../src/viktrwlayer.c:3951
msgid "Delete Waypoints From _Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:4128
+#: ../src/viktrwlayer.c:4574
#, c-format
msgid "Are you sure you want to delete all tracks in %s?"
msgstr ""
-#: ../src/viktrwlayer.c:4138
+#: ../src/viktrwlayer.c:4584
#, c-format
msgid "Are you sure you want to delete all routes in %s?"
msgstr ""
-#: ../src/viktrwlayer.c:4148
+#: ../src/viktrwlayer.c:4594
#, c-format
msgid "Are you sure you want to delete all waypoints in %s?"
msgstr ""
-#: ../src/viktrwlayer.c:4165
+#: ../src/viktrwlayer.c:4611
#, c-format
-msgid "Are you sure you want to delete the waypoint \"%s\""
+msgid "Are you sure you want to delete the waypoint \"%s\"?"
msgstr ""
-#: ../src/viktrwlayer.c:4178
+#: ../src/viktrwlayer.c:4624
#, c-format
-msgid "Are you sure you want to delete the track \"%s\""
+msgid "Are you sure you want to delete the track \"%s\"?"
msgstr ""
-#: ../src/viktrwlayer.c:4191
+#: ../src/viktrwlayer.c:4637
#, c-format
-msgid "Are you sure you want to delete the route \"%s\""
+msgid "Are you sure you want to delete the route \"%s\"?"
msgstr ""
-#: ../src/viktrwlayer.c:4351 ../src/viktrwlayer.c:4922
+#: ../src/viktrwlayer.c:4849 ../src/viktrwlayer.c:5677
msgid ""
"Converting a track to a route removes extra track data such as segments, "
"timestamps, etc...\n"
"Do you want to continue?"
msgstr ""
-#: ../src/viktrwlayer.c:4711
+#: ../src/viktrwlayer.c:4944
+msgid "No DEM layers available, thus no DEM values can be applied."
+msgstr ""
+
+#: ../src/viktrwlayer.c:4964 ../src/viktrwlayer.c:5005
+#, c-format
+msgid "%ld point adjusted"
+msgid_plural "%ld points adjusted"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/viktrwlayer.c:5049
+#, c-format
+msgid "%ld waypoint changed"
+msgid_plural "%ld waypoints changed"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/viktrwlayer.c:5233
+#, c-format
+msgid ""
+"Refining a track with many points (%d) is unlikely to yield sensible "
+"results. Do you want to Continue?"
+msgstr ""
+
+#. Select engine from dialog
+#: ../src/viktrwlayer.c:5241
+msgid "Refine Route with Routing Engine..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:5249
+msgid "Select routing engine"
+msgstr ""
+
+#: ../src/viktrwlayer.c:5467
msgid "Failed. No other tracks with timestamps in this layer found"
msgstr ""
-#: ../src/viktrwlayer.c:4713
+#: ../src/viktrwlayer.c:5469
msgid "Failed. No other tracks without timestamps in this layer found"
msgstr ""
-#: ../src/viktrwlayer.c:4732
+#: ../src/viktrwlayer.c:5488
msgid "Merge with..."
msgstr ""
-#: ../src/viktrwlayer.c:4733
+#: ../src/viktrwlayer.c:5489
msgid "Select route to merge with"
msgstr ""
-#: ../src/viktrwlayer.c:4733
+#: ../src/viktrwlayer.c:5489
msgid "Select track to merge with"
msgstr ""
-#: ../src/viktrwlayer.c:4818 ../src/viktrwlayer.c:4895
+#: ../src/viktrwlayer.c:5573 ../src/viktrwlayer.c:5650
msgid "Append Route"
msgstr ""
-#: ../src/viktrwlayer.c:4818 ../src/viktrwlayer.c:4895
+#: ../src/viktrwlayer.c:5573 ../src/viktrwlayer.c:5650
msgid "Append Track"
msgstr ""
-#: ../src/viktrwlayer.c:4819
+#: ../src/viktrwlayer.c:5574
msgid "Select the route to append after the current route"
msgstr ""
-#: ../src/viktrwlayer.c:4820
+#: ../src/viktrwlayer.c:5575
msgid "Select the track to append after the current track"
msgstr ""
-#: ../src/viktrwlayer.c:4896
+#: ../src/viktrwlayer.c:5651
msgid "Select the track to append after the current route"
msgstr ""
-#: ../src/viktrwlayer.c:4897
+#: ../src/viktrwlayer.c:5652
msgid "Select the route to append after the current track"
msgstr ""
-#: ../src/viktrwlayer.c:4957
+#: ../src/viktrwlayer.c:5711
#, c-format
msgid "%d segment merged"
msgid_plural "%d segments merged"
msgstr[0] ""
msgstr[1] ""
-#: ../src/viktrwlayer.c:4973
+#: ../src/viktrwlayer.c:5727
msgid "Failed. This track does not have timestamp"
msgstr ""
-#: ../src/viktrwlayer.c:4985
+#: ../src/viktrwlayer.c:5739
msgid "Failed. No other track in this layer has timestamp"
msgstr ""
-#: ../src/viktrwlayer.c:4992
+#: ../src/viktrwlayer.c:5746
msgid "Merge Threshold..."
msgstr ""
-#: ../src/viktrwlayer.c:4993
+#: ../src/viktrwlayer.c:5747
msgid "Merge when time between tracks less than:"
msgstr ""
-#: ../src/viktrwlayer.c:5128
+#: ../src/viktrwlayer.c:5889
msgid "Split Threshold..."
msgstr ""
-#: ../src/viktrwlayer.c:5129
+#: ../src/viktrwlayer.c:5890
msgid "Split when time between trackpoints exceeds:"
msgstr ""
-#: ../src/viktrwlayer.c:5205
+#: ../src/viktrwlayer.c:5907
+#, c-format
+msgid ""
+"Can not split track due to trackpoints not ordered in time - such as at %s.\n"
+"\n"
+"Goto this trackpoint?"
+msgstr ""
+
+#: ../src/viktrwlayer.c:5976
msgid "Split Every Nth Point"
msgstr ""
-#: ../src/viktrwlayer.c:5206
+#: ../src/viktrwlayer.c:5977
msgid "Split on every Nth point:"
msgstr ""
-#: ../src/viktrwlayer.c:5312
+#: ../src/viktrwlayer.c:6087
msgid "Can not split track as it has no segments"
msgstr ""
-#: ../src/viktrwlayer.c:5340 ../src/viktrwlayer.c:5370
+#: ../src/viktrwlayer.c:6169 ../src/viktrwlayer.c:6199
#, c-format
msgid "Deleted %ld point"
msgid_plural "Deleted %ld points"
msgstr[0] ""
msgstr[1] ""
-#: ../src/viktrwlayer.c:5531
+#: ../src/viktrwlayer.c:6392
msgid "Internal Error in vik_trw_layer_uniquify_tracks"
msgstr ""
-#: ../src/viktrwlayer.c:5588 ../src/viktrwlayer.c:5635
-#: ../src/viktrwlayer.c:5814
+#: ../src/viktrwlayer.c:6496 ../src/viktrwlayer.c:6543
+#: ../src/viktrwlayer.c:6704
msgid ""
"Multiple entries with the same name exist. This method only works with "
"unique names. Force unique names now?"
msgstr ""
-#: ../src/viktrwlayer.c:5599
+#: ../src/viktrwlayer.c:6507
msgid "No tracks found"
msgstr ""
-#: ../src/viktrwlayer.c:5607 ../src/viktrwlayer.c:5654
-#: ../src/viktrwlayer.c:5834
+#: ../src/viktrwlayer.c:6515 ../src/viktrwlayer.c:6562
+#: ../src/viktrwlayer.c:6724
msgid "Delete Selection"
msgstr ""
-#: ../src/viktrwlayer.c:5608
+#: ../src/viktrwlayer.c:6516
msgid "Select tracks to delete"
msgstr ""
-#: ../src/viktrwlayer.c:5646
+#: ../src/viktrwlayer.c:6554
msgid "No routes found"
msgstr ""
-#: ../src/viktrwlayer.c:5655
+#: ../src/viktrwlayer.c:6563
msgid "Select routes to delete"
msgstr ""
-#: ../src/viktrwlayer.c:5761
+#: ../src/viktrwlayer.c:6669
msgid "Internal Error in vik_trw_layer_uniquify_waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:5824
+#: ../src/viktrwlayer.c:6714
msgid "No waypoints found"
msgstr ""
-#: ../src/viktrwlayer.c:5835
+#: ../src/viktrwlayer.c:6725
msgid "Select waypoints to delete"
msgstr ""
-#: ../src/viktrwlayer.c:5896
+#: ../src/viktrwlayer.c:7033
#, c-format
msgid ""
"A waypoint with the name \"%s\" already exists. Really rename to the same "
"name?"
msgstr ""
-#: ../src/viktrwlayer.c:5926
+#: ../src/viktrwlayer.c:7063
#, c-format
msgid ""
"A track with the name \"%s\" already exists. Really rename to the same name?"
msgstr ""
-#: ../src/viktrwlayer.c:5963
+#: ../src/viktrwlayer.c:7100
#, c-format
msgid ""
"A route with the name \"%s\" already exists. Really rename to the same name?"
msgstr ""
-#: ../src/viktrwlayer.c:6085 ../src/viktrwlayer.c:6337
+#: ../src/viktrwlayer.c:7221 ../src/viktrwlayer.c:7594
msgid "_Goto"
msgstr ""
-#: ../src/viktrwlayer.c:6104
+#: ../src/viktrwlayer.c:7240
msgid "_Visit Geocache Webpage"
msgstr ""
-#: ../src/viktrwlayer.c:6123
+#: ../src/viktrwlayer.c:7259
msgid "_Show Picture..."
msgstr ""
-#: ../src/viktrwlayer.c:6131
+#: ../src/viktrwlayer.c:7267
msgid "Update Geotag on _Image"
msgstr ""
-#: ../src/viktrwlayer.c:6137
+#: ../src/viktrwlayer.c:7273
msgid "_Update"
msgstr ""
-#: ../src/viktrwlayer.c:6142
+#: ../src/viktrwlayer.c:7278
msgid "Update and _Keep File Timestamp"
msgstr ""
-#: ../src/viktrwlayer.c:6153
+#: ../src/viktrwlayer.c:7289
msgid "Visit _Webpage"
msgstr ""
-#: ../src/viktrwlayer.c:6184
+#: ../src/viktrwlayer.c:7320
msgid "_New Waypoint..."
msgstr ""
-#: ../src/viktrwlayer.c:6193
+#: ../src/viktrwlayer.c:7329
msgid "_View All Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:6205
+#: ../src/viktrwlayer.c:7341
msgid "Delete _All Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:6211
+#: ../src/viktrwlayer.c:7347
msgid "_Delete Waypoints From Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:6233
+#: ../src/viktrwlayer.c:7359
+msgid "_Show All Waypoints"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7365
+msgid "_Hide All Waypoints"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7393
msgid "_View All Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:6239
+#: ../src/viktrwlayer.c:7399
msgid "_New Track"
msgstr ""
-#: ../src/viktrwlayer.c:6247
+#: ../src/viktrwlayer.c:7407
msgid "Delete _All Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:6253
+#: ../src/viktrwlayer.c:7413
msgid "_Delete Tracks From Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:6276
+#: ../src/viktrwlayer.c:7425
+msgid "_Show All Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7431
+msgid "_Hide All Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7442
+msgid "_List Tracks..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7471
msgid "_View All Routes"
msgstr ""
-#: ../src/viktrwlayer.c:6282
+#: ../src/viktrwlayer.c:7477
msgid "_New Route"
msgstr ""
-#: ../src/viktrwlayer.c:6327
+#: ../src/viktrwlayer.c:7503
+msgid "_Show All Routes"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7509
+msgid "_Hide All Routes"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7520
+msgid "_List Routes..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7579
msgid "_View Track"
msgstr ""
-#: ../src/viktrwlayer.c:6329
+#: ../src/viktrwlayer.c:7581
msgid "_View Route"
msgstr ""
-#: ../src/viktrwlayer.c:6343
+#: ../src/viktrwlayer.c:7600
msgid "_Startpoint"
msgstr ""
-#: ../src/viktrwlayer.c:6349
+#: ../src/viktrwlayer.c:7606
msgid "\"_Center\""
msgstr ""
-#: ../src/viktrwlayer.c:6355
+#: ../src/viktrwlayer.c:7612
msgid "_Endpoint"
msgstr ""
-#: ../src/viktrwlayer.c:6361
+#: ../src/viktrwlayer.c:7618
msgid "_Highest Altitude"
msgstr ""
-#: ../src/viktrwlayer.c:6367
+#: ../src/viktrwlayer.c:7624
msgid "_Lowest Altitude"
msgstr ""
-#: ../src/viktrwlayer.c:6375
+#: ../src/viktrwlayer.c:7632
msgid "_Maximum Speed"
msgstr ""
-#: ../src/viktrwlayer.c:6384
+#: ../src/viktrwlayer.c:7641
msgid "Co_mbine"
msgstr ""
-#: ../src/viktrwlayer.c:6392
+#: ../src/viktrwlayer.c:7649
msgid "_Merge By Time..."
msgstr ""
-#: ../src/viktrwlayer.c:6397
+#: ../src/viktrwlayer.c:7654
msgid "Merge _Segments"
msgstr ""
-#: ../src/viktrwlayer.c:6403
+#: ../src/viktrwlayer.c:7660
msgid "Merge _With Other Tracks..."
msgstr ""
-#: ../src/viktrwlayer.c:6409
+#: ../src/viktrwlayer.c:7666
msgid "_Append Track..."
msgstr ""
-#: ../src/viktrwlayer.c:6411
+#: ../src/viktrwlayer.c:7668
msgid "_Append Route..."
msgstr ""
-#: ../src/viktrwlayer.c:6417
+#: ../src/viktrwlayer.c:7674
msgid "Append _Route..."
msgstr ""
-#: ../src/viktrwlayer.c:6419
+#: ../src/viktrwlayer.c:7676
msgid "Append _Track..."
msgstr ""
-#: ../src/viktrwlayer.c:6426
+#: ../src/viktrwlayer.c:7683
msgid "_Split"
msgstr ""
-#: ../src/viktrwlayer.c:6434
+#: ../src/viktrwlayer.c:7691
msgid "_Split By Time..."
msgstr ""
#. ATM always enable this entry - don't want to have to analyse the track before displaying the menu - to keep the menu speedy
-#: ../src/viktrwlayer.c:6440
+#: ../src/viktrwlayer.c:7697
msgid "Split Se_gments"
msgstr ""
-#: ../src/viktrwlayer.c:6446
+#: ../src/viktrwlayer.c:7703
msgid "Split By _Number of Points..."
msgstr ""
-#: ../src/viktrwlayer.c:6451
+#: ../src/viktrwlayer.c:7708
msgid "Split at _Trackpoint"
msgstr ""
-#: ../src/viktrwlayer.c:6460
+#: ../src/viktrwlayer.c:7716
+msgid "_Insert Points"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7722
+msgid "Insert Point _Before Selected Point"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7729
+msgid "Insert Point _After Selected Point"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7738
msgid "Delete Poi_nts"
msgstr ""
-#: ../src/viktrwlayer.c:6466
+#: ../src/viktrwlayer.c:7744
+msgid "Delete _Selected Point"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7752
msgid "Delete Points With The Same _Position"
msgstr ""
-#: ../src/viktrwlayer.c:6471
+#: ../src/viktrwlayer.c:7757
msgid "Delete Points With The Same _Time"
msgstr ""
-#: ../src/viktrwlayer.c:6477
-msgid "_Reverse Track"
+#: ../src/viktrwlayer.c:7764 ../src/viktrwlayer.c:7964
+msgid "_Transform"
msgstr ""
-#: ../src/viktrwlayer.c:6479
-msgid "_Reverse Route"
+#: ../src/viktrwlayer.c:7772 ../src/viktrwlayer.c:7972
+msgid "_Apply DEM Data"
msgstr ""
-#: ../src/viktrwlayer.c:6488
-msgid "Down_load Maps Along Track..."
+#: ../src/viktrwlayer.c:7777 ../src/viktrwlayer.c:7977
+msgid "_Overwrite"
msgstr ""
-#: ../src/viktrwlayer.c:6490
-msgid "Down_load Maps Along Route..."
+#: ../src/viktrwlayer.c:7780 ../src/viktrwlayer.c:7980
+msgid "Overwrite any existing elevation values with DEM values"
msgstr ""
-#: ../src/viktrwlayer.c:6497
-msgid "_Apply DEM Data"
+#: ../src/viktrwlayer.c:7783 ../src/viktrwlayer.c:7983
+msgid "_Keep Existing"
msgstr ""
-#: ../src/viktrwlayer.c:6504
-msgid "_Export Track as GPX..."
+#: ../src/viktrwlayer.c:7786 ../src/viktrwlayer.c:7986
+msgid "Keep existing elevation values, only attempt for missing values"
msgstr ""
-#: ../src/viktrwlayer.c:6506
-msgid "_Export Route as GPX..."
+#: ../src/viktrwlayer.c:7791
+msgid "_Smooth Missing Elevation Data"
msgstr ""
-#: ../src/viktrwlayer.c:6513
-msgid "E_xtend Track End"
+#: ../src/viktrwlayer.c:7796
+msgid "_Interpolated"
msgstr ""
-#: ../src/viktrwlayer.c:6515
-msgid "E_xtend Route End"
+#: ../src/viktrwlayer.c:7799
+msgid ""
+"Interpolate between known elevation values to derive values for the missing "
+"elevations"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7802
+msgid "_Flat"
msgstr ""
-#: ../src/viktrwlayer.c:6522
+#: ../src/viktrwlayer.c:7805
+msgid "Set unknown elevation values to the last known value"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7809
msgid "C_onvert to a Route"
msgstr ""
-#: ../src/viktrwlayer.c:6524
+#: ../src/viktrwlayer.c:7811
msgid "C_onvert to a Track"
msgstr ""
-#: ../src/viktrwlayer.c:6532
+#: ../src/viktrwlayer.c:7819
+msgid "_Anonymize Times"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7822
+msgid "Shift timestamps to a relative offset from 1901-01-01"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7827
+msgid "_Reverse Track"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7829
+msgid "_Reverse Route"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7836
+msgid "Refine Route..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7846
+msgid "Down_load Maps Along Track..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7848
+msgid "Down_load Maps Along Route..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7856
+msgid "_Export Track as GPX..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7858
+msgid "_Export Route as GPX..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7865
+msgid "E_xtend Track End"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7867
+msgid "E_xtend Route End"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7874
msgid "Extend _Using Route Finder"
msgstr ""
-#: ../src/viktrwlayer.c:6548
+#: ../src/viktrwlayer.c:7889
msgid "_Upload to GPS..."
msgstr ""
-#: ../src/viktrwlayer.c:6559
+#: ../src/viktrwlayer.c:7900
msgid "_View Google Directions"
msgstr ""
-#: ../src/viktrwlayer.c:6579
+#: ../src/viktrwlayer.c:7920
msgid "Use with _Filter"
msgstr ""
-#: ../src/viktrwlayer.c:6612
+#: ../src/viktrwlayer.c:7953
msgid "_Edit Trackpoint"
msgstr ""
-#: ../src/viktrwlayer.c:7524
+#: ../src/viktrwlayer.c:9017
#, c-format
msgid " - Gain %dm:Loss %dm"
msgstr ""
-#: ../src/viktrwlayer.c:7526
+#: ../src/viktrwlayer.c:9019
#, c-format
msgid " - Gain %dft:Loss %dft"
msgstr ""
-#: ../src/viktrwlayer.c:7531
+#: ../src/viktrwlayer.c:9024
#, c-format
msgid " - Bearing %3.1f° - Step %s"
msgstr ""
-#: ../src/viktrwlayer.c:8124
+#: ../src/viktrwlayer.c:9628
#, c-format
msgid "Could not launch %s to open file."
msgstr ""
-#: ../src/viktrwlayer.c:8205
+#: ../src/viktrwlayer.c:9709
#, c-format
msgid "Creating %d Image Thumbnails..."
msgstr ""
-#: ../src/viktrwlayer.c:8524
+#: ../src/viktrwlayer.c:10106
msgid "No map layer in use. Create one first"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:898 ../src/viktrwlayer_propwin.c:1155
+#: ../src/viktrwlayer.c:10225
+#, c-format
+msgid "%s: Track List"
+msgstr ""
+
+#: ../src/viktrwlayer.c:10227
+#, c-format
+msgid "%s: Route List"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:828 ../src/viktrwlayer_propwin.c:1085
#, c-format
msgid "%.1f kph"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:901 ../src/viktrwlayer_propwin.c:1158
+#: ../src/viktrwlayer_propwin.c:831 ../src/viktrwlayer_propwin.c:1088
+#: ../src/viktrwlayer_analysis.c:290
#, c-format
msgid "%.1f mph"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:904 ../src/viktrwlayer_propwin.c:1161
+#: ../src/viktrwlayer_propwin.c:834 ../src/viktrwlayer_propwin.c:1091
#, c-format
msgid "%.1f knots"
msgstr ""
#. VIK_UNITS_SPEED_METRES_PER_SECOND:
-#: ../src/viktrwlayer_propwin.c:908 ../src/viktrwlayer_propwin.c:1165
+#: ../src/viktrwlayer_propwin.c:838 ../src/viktrwlayer_propwin.c:1095
#, c-format
msgid "%.1f m/s"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:1745
+#: ../src/viktrwlayer_propwin.c:1662 ../src/viktrwlayer_analysis.c:267
#, c-format
msgid "%.1f miles"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:1747
+#. VIK_UNITS_DISTANCE_KILOMETRES
+#: ../src/viktrwlayer_propwin.c:1664 ../src/viktrwlayer_analysis.c:271
#, c-format
msgid "%.1f km"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2681
+#: ../src/viktrwlayer_propwin.c:2582
msgid "Failed spliting track. Track unchanged"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2779 ../src/viktrwlayer_propwin.c:3178
+#: ../src/viktrwlayer_propwin.c:2724 ../src/viktrwlayer_propwin.c:3140
#, c-format
msgid "%s - Track Properties"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2784
+#: ../src/viktrwlayer_propwin.c:2729
msgid "Split at _Marker"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2785
+#: ../src/viktrwlayer_propwin.c:2730
msgid "Split _Segments"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2786
+#: ../src/viktrwlayer_propwin.c:2731
msgid "_Reverse"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2787
+#: ../src/viktrwlayer_propwin.c:2732
msgid "_Delete Dupl."
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2813
+#: ../src/viktrwlayer_propwin.c:2757
msgid "<b>Comment:</b>"
msgstr "<b>Kommentar:</b>"
-#: ../src/viktrwlayer_propwin.c:2814
+#: ../src/viktrwlayer_propwin.c:2758
msgid "<b>Description:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2815
+#: ../src/viktrwlayer_propwin.c:2759
+msgid "<b>Color:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2760
+msgid "<b>Draw Name:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2761
+msgid "<b>Distance Labels:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2764
msgid "<b>Track Length:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2816
+#: ../src/viktrwlayer_propwin.c:2765
msgid "<b>Trackpoints:</b>"
msgstr "<b>Trackpoints:</b>"
-#: ../src/viktrwlayer_propwin.c:2817
+#: ../src/viktrwlayer_propwin.c:2766
msgid "<b>Segments:</b>"
msgstr "<b>Segment:</b>"
-#: ../src/viktrwlayer_propwin.c:2818
+#: ../src/viktrwlayer_propwin.c:2767
msgid "<b>Duplicate Points:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2819
+#: ../src/viktrwlayer_propwin.c:2768
msgid "<b>Max Speed:</b>"
msgstr "<b>Max hastighet:</b>"
-#: ../src/viktrwlayer_propwin.c:2820
+#: ../src/viktrwlayer_propwin.c:2769
msgid "<b>Avg. Speed:</b>"
msgstr "<b>Medelhastighet:</b>"
-#: ../src/viktrwlayer_propwin.c:2821
+#: ../src/viktrwlayer_propwin.c:2770
msgid "<b>Moving Avg. Speed:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2822
+#: ../src/viktrwlayer_propwin.c:2771
msgid "<b>Avg. Dist. Between TPs:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2823
+#: ../src/viktrwlayer_propwin.c:2772
msgid "<b>Elevation Range:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2824
+#: ../src/viktrwlayer_propwin.c:2773
msgid "<b>Total Elevation Gain/Loss:</b>"
msgstr "<b>Total höjdskillnad:</b>"
-#: ../src/viktrwlayer_propwin.c:2825
+#: ../src/viktrwlayer_propwin.c:2774
msgid "<b>Start:</b>"
msgstr "<b>Start:</b>"
-#: ../src/viktrwlayer_propwin.c:2826
+#: ../src/viktrwlayer_propwin.c:2775
msgid "<b>End:</b>"
msgstr "<b>Slut:</b>"
-#: ../src/viktrwlayer_propwin.c:2827
+#: ../src/viktrwlayer_propwin.c:2776
msgid "<b>Duration:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2828
-msgid "<b>Color:</b>"
+#: ../src/viktrwlayer_propwin.c:2797
+msgid "No"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2798
+msgid "Centre"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2799
+msgid "Start only"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2800
+msgid "End only"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2801
+msgid "Start and End"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2802
+msgid "Centre, Start and End"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2814
+msgid "Maximum number of distance labels to be shown"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2877 ../src/viktrwlayer_propwin.c:2901
-#: ../src/viktrwlayer_propwin.c:2929 ../src/viktrwlayer_propwin.c:2966
-#: ../src/viktrwlayer_propwin.c:2984 ../src/viktrwlayer_propwin.c:3034
-#: ../src/viktrwlayer_propwin.c:3035 ../src/viktrwlayer_propwin.c:3036
-#: ../src/viktrwlayer_propwin.c:3062 ../src/viktrwlayer_propwin.c:3063
+#: ../src/viktrwlayer_propwin.c:2818
+msgid "Properties"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2856 ../src/viktrwlayer_propwin.c:2880
+#: ../src/viktrwlayer_propwin.c:2908 ../src/viktrwlayer_propwin.c:2945
+#: ../src/viktrwlayer_propwin.c:2963 ../src/viktrwlayer_propwin.c:3009
+#: ../src/viktrwlayer_propwin.c:3010 ../src/viktrwlayer_propwin.c:3011
+#: ../src/viktrwlayer_propwin.c:3020 ../src/viktrwlayer_propwin.c:3021
+#: ../src/viktrwlayer_propwin.c:3036 ../src/viktrwlayer_propwin.c:3037
+#: ../src/viktrwlayer_propwin.c:3050 ../src/viktrwlayer_propwin.c:3051
+#: ../src/viktrwlayer_propwin.c:3064 ../src/viktrwlayer_propwin.c:3065
#: ../src/viktrwlayer_propwin.c:3078 ../src/viktrwlayer_propwin.c:3079
#: ../src/viktrwlayer_propwin.c:3092 ../src/viktrwlayer_propwin.c:3093
-#: ../src/viktrwlayer_propwin.c:3106 ../src/viktrwlayer_propwin.c:3107
-#: ../src/viktrwlayer_propwin.c:3120 ../src/viktrwlayer_propwin.c:3121
-#: ../src/viktrwlayer_propwin.c:3134 ../src/viktrwlayer_propwin.c:3135
+#: ../src/viktrwlayer_analysis.c:257
#, c-format
msgid "No Data"
msgstr "Ingen data"
-#: ../src/viktrwlayer_propwin.c:3031
+#: ../src/viktrwlayer_propwin.c:3006
#, c-format
msgid "%d minutes"
msgstr "%d minuter"
-#: ../src/viktrwlayer_propwin.c:3058
+#: ../src/viktrwlayer_propwin.c:3016 ../src/viktrwlayer_analysis.c:515
msgid "Statistics"
msgstr "Statistik"
-#: ../src/viktrwlayer_propwin.c:3064
+#: ../src/viktrwlayer_propwin.c:3022
msgid "Show D_EM"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3065 ../src/viktrwlayer_propwin.c:3080
-#: ../src/viktrwlayer_propwin.c:3094 ../src/viktrwlayer_propwin.c:3136
+#: ../src/viktrwlayer_propwin.c:3023 ../src/viktrwlayer_propwin.c:3038
+#: ../src/viktrwlayer_propwin.c:3052 ../src/viktrwlayer_propwin.c:3094
msgid "Show _GPS Speed"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3067 ../src/viktrwlayer_propwin.c:3082
-#: ../src/viktrwlayer_propwin.c:3110 ../src/viktrwlayer_propwin.c:3138
+#: ../src/viktrwlayer_propwin.c:3025 ../src/viktrwlayer_propwin.c:3040
+#: ../src/viktrwlayer_propwin.c:3068 ../src/viktrwlayer_propwin.c:3096
msgid "<b>Track Distance:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3068 ../src/viktrwlayer_propwin.c:3125
+#: ../src/viktrwlayer_propwin.c:3026 ../src/viktrwlayer_propwin.c:3083
msgid "<b>Track Height:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3073
+#: ../src/viktrwlayer_propwin.c:3031
msgid "Elevation-distance"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3083
+#: ../src/viktrwlayer_propwin.c:3041
msgid "<b>Track Gradient:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3087
+#: ../src/viktrwlayer_propwin.c:3045
msgid "Gradient-distance"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3096 ../src/viktrwlayer_propwin.c:3111
-#: ../src/viktrwlayer_propwin.c:3124
+#: ../src/viktrwlayer_propwin.c:3054 ../src/viktrwlayer_propwin.c:3069
+#: ../src/viktrwlayer_propwin.c:3082
msgid "<b>Track Time:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3097 ../src/viktrwlayer_propwin.c:3139
+#: ../src/viktrwlayer_propwin.c:3055 ../src/viktrwlayer_propwin.c:3097
msgid "<b>Track Speed:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3101
+#: ../src/viktrwlayer_propwin.c:3059
msgid "Speed-time"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3108 ../src/viktrwlayer_propwin.c:3122
+#: ../src/viktrwlayer_propwin.c:3066 ../src/viktrwlayer_propwin.c:3080
msgid "Show S_peed"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3115
+#: ../src/viktrwlayer_propwin.c:3073
msgid "Distance-time"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3129
+#: ../src/viktrwlayer_propwin.c:3087
msgid "Elevation-time"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3143
+#: ../src/viktrwlayer_propwin.c:3101
msgid "Speed-distance"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:118
+#: ../src/viktrwlayer_tpwin.c:119
msgid "<b>Part of Track:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:119
+#: ../src/viktrwlayer_tpwin.c:120
msgid "<b>Latitude:</b>"
msgstr "<b>Latitud:</b>"
-#: ../src/viktrwlayer_tpwin.c:120
+#: ../src/viktrwlayer_tpwin.c:121
msgid "<b>Longitude:</b>"
msgstr "<b>Longitud:</b>"
-#: ../src/viktrwlayer_tpwin.c:121
+#: ../src/viktrwlayer_tpwin.c:122
msgid "<b>Altitude:</b>"
msgstr "<b>Altitud:</b>"
-#: ../src/viktrwlayer_tpwin.c:122
+#: ../src/viktrwlayer_tpwin.c:123
+msgid "<b>Course:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_tpwin.c:124
msgid "<b>Timestamp:</b>"
msgstr "<b>Tidsstämpel:</b>"
-#: ../src/viktrwlayer_tpwin.c:123
+#: ../src/viktrwlayer_tpwin.c:125
msgid "<b>Time:</b>"
msgstr "<b>Tid:</b>"
-#: ../src/viktrwlayer_tpwin.c:124
+#: ../src/viktrwlayer_tpwin.c:126
msgid "<b>Distance Difference:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:125
+#: ../src/viktrwlayer_tpwin.c:127
msgid "<b>Time Difference:</b>"
msgstr "<b>Tidsskillnad:</b>"
-#: ../src/viktrwlayer_tpwin.c:126
+#: ../src/viktrwlayer_tpwin.c:128
msgid "<b>\"Speed\" Between:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:127
+#: ../src/viktrwlayer_tpwin.c:129
+msgid "<b>Speed:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_tpwin.c:130
msgid "<b>VDOP:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:128
+#: ../src/viktrwlayer_tpwin.c:131
msgid "<b>HDOP:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:129
+#: ../src/viktrwlayer_tpwin.c:132
msgid "<b>PDOP:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:130
+#: ../src/viktrwlayer_tpwin.c:133
msgid "<b>SAT/FIX:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:139
+#: ../src/viktrwlayer_tpwin.c:141
msgid "Trackpoint"
msgstr "Trackpoint"
-#: ../src/viktrwlayer_tpwin.c:142
+#: ../src/viktrwlayer_tpwin.c:144
msgid "_Insert After"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:144
+#: ../src/viktrwlayer_tpwin.c:146
msgid "Split Here"
msgstr "Dela här"
-#: ../src/viktrwlayer_geotag.c:446
+#.
+#. item = gtk_image_menu_item_new_with_mnemonic ( _("_Select") );
+#. gtk_image_menu_item_set_image ( (GtkImageMenuItem*)item, gtk_image_new_from_stock (GTK_STOCK_FIND, GTK_ICON_SIZE_MENU) );
+#. g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(trw_layer_track_select), values );
+#. gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
+#. gtk_widget_show ( item );
+#.
+#. ATM view auto selects, so don't bother with separate select menu entry
+#: ../src/viktrwlayer_tracklist.c:231 ../src/vikwindow.c:3695
+msgid "_View"
+msgstr "_Visa"
+
+#. Insert column for the layer name when viewing multi layers
+#: ../src/viktrwlayer_tracklist.c:514
+msgid "Layer"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:526
+msgid "Date"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:529
+msgid "Visible"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:536
+msgid ""
+"Distance\n"
+"(miles)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:539
+msgid ""
+"Distance\n"
+"(km)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:545
+msgid ""
+"Length\n"
+"(minutes)"
+msgstr ""
+
+#. VIK_UNITS_SPEED_KILOMETRES_PER_HOUR:
+#: ../src/viktrwlayer_tracklist.c:549 ../src/vikutils.c:72
+msgid "km/h"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:550 ../src/vikutils.c:62
+msgid "mph"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:551 ../src/vikutils.c:68
+msgid "knots"
+msgstr ""
+
+#. VIK_UNITS_SPEED_METRES_PER_SECOND:
+#: ../src/viktrwlayer_tracklist.c:553 ../src/vikutils.c:65
+msgid "m/s"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:556
+#, c-format
+msgid ""
+"Av. Speed\n"
+"(%s)"
+msgstr ""
+
+#. Apply own formatting of the data
+#: ../src/viktrwlayer_tracklist.c:561
+#, c-format
+msgid ""
+"Max Speed\n"
+"(%s)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:569
+msgid ""
+"Max Height\n"
+"(Feet)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:571
+msgid ""
+"Max Height\n"
+"(Metres)"
+msgstr ""
+
+#: ../src/viktrwlayer_geotag.c:481
#, c-format
msgid "Geotagging %d Images..."
msgstr ""
-#: ../src/viktrwlayer_geotag.c:510
+#: ../src/viktrwlayer_geotag.c:545
msgid "Geotag Images"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:516
+#: ../src/viktrwlayer_geotag.c:551
msgid "Images"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:520
+#: ../src/viktrwlayer_geotag.c:555
msgid "Overwrite Existing Waypoints:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:523
+#: ../src/viktrwlayer_geotag.c:558
msgid "Overwrite Existing GPS Information:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:525
+#: ../src/viktrwlayer_geotag.c:560
msgid "Keep File Modification Timestamp:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:555
+#: ../src/viktrwlayer_geotag.c:592
msgid "Create Waypoints:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:563
+#: ../src/viktrwlayer_geotag.c:600
msgid "Write EXIF:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:575
+#: ../src/viktrwlayer_geotag.c:612
msgid "Interpolate Between Track Segments:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:579
+#: ../src/viktrwlayer_geotag.c:616
msgid "Image Time Offset (Seconds):"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:581
+#: ../src/viktrwlayer_geotag.c:618
msgid ""
"The number of seconds to ADD to the photos time to make it match the GPS "
"data. Calculate this with (GPS - Photo). Can be negative or positive. Useful "
"to adjust times when a camera's timestamp was incorrect."
msgstr ""
-#: ../src/viktrwlayer_geotag.c:584
+#: ../src/viktrwlayer_geotag.c:621
msgid "Image Timezone:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:586
+#: ../src/viktrwlayer_geotag.c:623
msgid ""
"The timezone that was used when the images were created. For example, if a "
"camera is set to AWST or +8:00 hours. Enter +8:00 here so that the correct "
"adjustment to the images' time can be made. GPS data is always in UTC."
msgstr ""
-#: ../src/viktrwlayer_geotag.c:590
+#: ../src/viktrwlayer_geotag.c:627
#, c-format
msgid "Using track: %s"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:592
+#: ../src/viktrwlayer_geotag.c:629
#, c-format
msgid "Using all tracks in: %s"
msgstr ""
-#: ../src/vikstatus.c:105
+#: ../src/viktrwlayer_analysis.c:193
+msgid "Number of Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:194
+msgid "Date Range"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:195
+msgid "Total Length"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:196
+msgid "Average Length"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:197
+msgid "Max Speed"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:198
+msgid "Avg. Speed"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:199
+msgid "Minimum Altitude"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:200
+msgid "Maximum Altitude"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:201
+msgid "Total Elevation Gain/Loss"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:202
+msgid "Avg. Elevation Gain/Loss"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:203
+msgid "Total Duration"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:204
+msgid "Avg. Duration"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:278
+#, c-format
+msgid "%.2f miles"
+msgstr ""
+
+#. VIK_UNITS_DISTANCE_KILOMETRES
+#: ../src/viktrwlayer_analysis.c:282
+#, c-format
+msgid "%.2f km"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:297
+#, c-format
+msgid "%.2f m/s"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:306
+#, c-format
+msgid "%.2f knots\n"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:309
+#, c-format
+msgid "%.2f knots"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:316 ../src/viktrwlayer_analysis.c:319
+#, c-format
+msgid "%.2f km/h"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:330 ../src/viktrwlayer_analysis.c:336
+#, c-format
+msgid "%d feet"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:341 ../src/viktrwlayer_analysis.c:343
+#, c-format
+msgid "%d feet / %d feet"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:348 ../src/viktrwlayer_analysis.c:354
+#, c-format
+msgid "%d m"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:359 ../src/viktrwlayer_analysis.c:361
+#, c-format
+msgid "%d m / %d m"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:373
+#, c-format
+msgid "%d:%02d:%02d days:hrs:mins"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:380
+#, c-format
+msgid "%d:%02d hrs:mins"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:550
+msgid "Include Invisible Items"
+msgstr ""
+
+#: ../src/vikstatus.c:107
+msgid "Current number of background tasks. Click to see the background jobs."
+msgstr ""
+
+#: ../src/vikstatus.c:113
msgid "Current zoom level. Click to select a new one."
msgstr ""
-#: ../src/vikwaypoint.c:34
+#: ../src/vikutils.c:80
+msgid "GPSD"
+msgstr ""
+
+#. GPS Preamble
+#: ../src/vikutils.c:81
+msgid "Trkpt"
+msgstr ""
+
+#: ../src/vikutils.c:121
+#, c-format
+msgid "%sSpeed%s %.1f%s"
+msgstr ""
+
+#: ../src/vikutils.c:130
+#, c-format
+msgid "%sAlt %dfeet"
+msgstr ""
+
+#. VIK_UNITS_HEIGHT_METRES:
+#: ../src/vikutils.c:134
+#, c-format
+msgid "%sAlt %dm"
+msgstr ""
+
+#: ../src/vikutils.c:142
+#, c-format
+msgid "%sCourse %03d°"
+msgstr ""
+
+#: ../src/vikutils.c:155
+msgid "yards"
+msgstr ""
+
+#. VIK_UNITS_DISTANCE_KILOMETRES:
+#: ../src/vikutils.c:159
+msgid "m"
+msgstr ""
+
+#: ../src/vikutils.c:163
+#, c-format
+msgid "%sDistance diff %d%s"
+msgstr ""
+
+#: ../src/vikutils.c:179
+#, c-format
+msgid "%sTime %s"
+msgstr ""
+
+#: ../src/vikutils.c:187
+#, c-format
+msgid "%sTime diff %lds"
+msgstr ""
+
+#: ../src/vikutils.c:193
+#, c-format
+msgid "%sNo. of Sats %d"
+msgstr ""
+
+#: ../src/vikutils.c:213
+#, c-format
+msgid "%sDistance along %.2f%s"
+msgstr ""
+
+#. Name of track
+#: ../src/vikutils.c:232
+#, c-format
+msgid "%sTrack: %s"
+msgstr ""
+
+#: ../src/vikwaypoint.c:36
msgid "Waypoint"
msgstr ""
#. TODO get rid of this as this is unnecessary duplication...
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Pan"
msgstr "Panorera"
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Zoom"
msgstr "Zoom"
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Ruler"
msgstr "Linjal"
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Select"
msgstr ""
+#: ../src/vikwindow.c:381
+msgid "Location lookup aborted"
+msgstr ""
+
+#: ../src/vikwindow.c:401
+#, c-format
+msgid "Location found: %s"
+msgstr ""
+
+#: ../src/vikwindow.c:410
+msgid "Unable to determine location"
+msgstr ""
+
+#: ../src/vikwindow.c:434
+msgid "Default Map"
+msgstr ""
+
+#: ../src/vikwindow.c:444
+msgid "Trying to determine location..."
+msgstr ""
+
+#: ../src/vikwindow.c:447
+msgid "Determining location"
+msgstr ""
+
#. Create tooltip
-#: ../src/vikwindow.c:440
+#: ../src/vikwindow.c:605
msgid "Select zoom level"
msgstr ""
-#: ../src/vikwindow.c:645
+#: ../src/vikwindow.c:923
#, c-format
msgid ""
"Do you want to save the changes you made to the document \"%s\"?\n"
@@ -3161,624 +4003,708 @@ msgstr ""
"\n"
"Dina ändringar kommer försvinna om du inte sparar dem."
-#: ../src/vikwindow.c:649
+#: ../src/vikwindow.c:927
msgid "Don't Save"
msgstr "Spara inte"
-#: ../src/vikwindow.c:696
+#: ../src/vikwindow.c:1005
msgid "mpp"
msgstr "mpp"
-#: ../src/vikwindow.c:696
+#: ../src/vikwindow.c:1005
msgid "pixelfact"
msgstr ""
-#: ../src/vikwindow.c:861
+#: ../src/vikwindow.c:1169
#, c-format
msgid "%s %s %dm"
msgstr "%s %s %dm"
-#: ../src/vikwindow.c:863
+#: ../src/vikwindow.c:1171
#, c-format
msgid "%s %s %dft"
msgstr ""
-#: ../src/vikwindow.c:866
+#: ../src/vikwindow.c:1174
#, c-format
msgid "%s %s"
msgstr "%s %s"
#. NB Ctrl+Shift+R is used for Refresh (deemed more important), so use 'U' instead
-#: ../src/vikwindow.c:1254
+#: ../src/vikwindow.c:1562
msgid "_Ruler"
msgstr "_Linjal"
-#: ../src/vikwindow.c:1254
+#: ../src/vikwindow.c:1562
msgid "Ruler Tool"
msgstr "Linjalverktyg"
-#: ../src/vikwindow.c:1502 ../src/vikwindow.c:3138
+#: ../src/vikwindow.c:1810 ../src/vikwindow.c:3697
msgid "_Zoom"
msgstr "_Zoom"
-#: ../src/vikwindow.c:1502
+#: ../src/vikwindow.c:1810
msgid "Zoom Tool"
msgstr "Zoomverktyg"
-#: ../src/vikwindow.c:1547 ../src/vikwindow.c:3139
+#: ../src/vikwindow.c:1855 ../src/vikwindow.c:3698
msgid "_Pan"
msgstr ""
-#: ../src/vikwindow.c:1547
+#: ../src/vikwindow.c:1855
msgid "Pan Tool"
msgstr "Panoreringsverktyg"
-#: ../src/vikwindow.c:1664
+#: ../src/vikwindow.c:1972
msgid "_Select"
msgstr ""
-#: ../src/vikwindow.c:1664
+#: ../src/vikwindow.c:1972
msgid "Select Tool"
msgstr ""
-#: ../src/vikwindow.c:1809
+#: ../src/vikwindow.c:2123
msgid "You must select a layer to show its properties."
msgstr "Du måste välja ett lager för att kuna se dess egenskaper."
#. No error to show, so unlikely this will get called
-#: ../src/vikwindow.c:1824
+#: ../src/vikwindow.c:2137
msgid "The help system is not available."
msgstr ""
#. Main error path
-#: ../src/vikwindow.c:1827
+#: ../src/vikwindow.c:2140
#, c-format
msgid ""
"Help is not available because: %s.\n"
"Ensure a Mime Type ghelp handler program is installed (e.g. yelp)."
msgstr ""
-#: ../src/vikwindow.c:1850
+#: ../src/vikwindow.c:2160
msgid "You must select a layer to delete."
msgstr "Du måste välja ett lager för borttagning."
-#: ../src/vikwindow.c:2087
+#: ../src/vikwindow.c:2396
msgid "Untitled"
msgstr "Namnlös"
-#: ../src/vikwindow.c:2194
+#: ../src/vikwindow.c:2503
#, c-format
msgid "Unable to add '%s' to the list of recently used documents"
msgstr ""
-#: ../src/vikwindow.c:2208
+#: ../src/vikwindow.c:2540
msgid "The file you requested could not be opened."
msgstr "Filen du valt kan inte öppnas."
-#: ../src/vikwindow.c:2211
+#: ../src/vikwindow.c:2543
msgid ""
"GPSBabel is required to load files of this type or GPSBabel encountered "
"problems."
msgstr ""
-#: ../src/vikwindow.c:2214
+#: ../src/vikwindow.c:2546
#, c-format
msgid "Unable to load malformed GPX file %s"
msgstr ""
-#: ../src/vikwindow.c:2217
+#: ../src/vikwindow.c:2549
#, c-format
msgid "Unsupported file type for %s"
msgstr ""
#. Since we can process .vik files with issues just show a warning in the status bar
#. Not that a user can do much about it... or tells them what this issue is yet...
-#: ../src/vikwindow.c:2223
+#: ../src/vikwindow.c:2555
#, c-format
msgid "WARNING: issues encountered loading %s"
msgstr ""
-#: ../src/vikwindow.c:2278
+#: ../src/vikwindow.c:2613
msgid "Please select a GPS data file to open. "
msgstr ""
-#: ../src/vikwindow.c:2288
+#: ../src/vikwindow.c:2629
msgid "Geocaching"
msgstr ""
-#: ../src/vikwindow.c:2294
+#: ../src/vikwindow.c:2635
msgid "Google Earth"
msgstr ""
-#: ../src/vikwindow.c:2299
+#: ../src/vikwindow.c:2640
msgid "GPX"
msgstr ""
-#: ../src/vikwindow.c:2304 ../src/vikwindow.c:2387
+#: ../src/vikwindow.c:2645 ../src/vikwindow.c:2734
#: ../src/viking.desktop.in.h:1
msgid "Viking"
msgstr "Viking"
-#: ../src/vikwindow.c:2374
+#: ../src/vikwindow.c:2715
msgid "Save as Viking File."
msgstr "Spara som Viking fil."
+#: ../src/vikwindow.c:2841
+msgid "Exporting to file: "
+msgstr ""
+
+#. Confirm what happened.
+#: ../src/vikwindow.c:2858
+#, c-format
+msgid "Exported files: %d"
+msgstr ""
+
+#: ../src/vikwindow.c:2870
+msgid "Nothing to Export!"
+msgstr ""
+
+#: ../src/vikwindow.c:2874
+msgid "Export to directory"
+msgstr ""
+
+#: ../src/vikwindow.c:2896
+msgid "Could not convert all files"
+msgstr ""
+
+#: ../src/vikwindow.c:2932
+#, c-format
+msgid "%d bytes"
+msgstr ""
+
+#: ../src/vikwindow.c:2934
+#, c-format
+msgid "%3.1f kB"
+msgstr ""
+
+#: ../src/vikwindow.c:2936
+#, c-format
+msgid "%3.1f MB"
+msgstr ""
+
+#: ../src/vikwindow.c:2937
+#, c-format
+msgid ""
+"%s\n"
+"\n"
+"%s\n"
+"\n"
+"%s"
+msgstr ""
+
+#: ../src/vikwindow.c:2942
+msgid "File not accessible"
+msgstr ""
+
+#: ../src/vikwindow.c:2945
+msgid "No Viking File"
+msgstr ""
+
+#: ../src/vikwindow.c:3035
+msgid "This layer has no configurable properties."
+msgstr ""
+
#. Try harder...
-#: ../src/vikwindow.c:2619 ../src/vikwindow.c:2625
+#: ../src/vikwindow.c:3169 ../src/vikwindow.c:3175
msgid "Generating image file..."
msgstr ""
-#: ../src/vikwindow.c:2647
+#: ../src/vikwindow.c:3197
msgid ""
"Failed to generate internal image.\n"
"\n"
"Try creating a smaller image."
msgstr ""
-#: ../src/vikwindow.c:2655
+#: ../src/vikwindow.c:3205
msgid "Failed to generate image file."
msgstr ""
#. Success
-#: ../src/vikwindow.c:2660
+#: ../src/vikwindow.c:3210
msgid "Image file generated."
msgstr ""
-#: ../src/vikwindow.c:2764
+#: ../src/vikwindow.c:3314
msgid ""
"Viewable region outside allowable pixel size bounds for image. Clipping "
"width/height values."
msgstr ""
-#: ../src/vikwindow.c:2789
+#: ../src/vikwindow.c:3339
#, c-format
msgid "Total area: %ldm x %ldm (%.3f sq. km)"
msgstr "Total area: %ldm x %ldm (%.3f kvadrat kilometer)"
-#: ../src/vikwindow.c:2792
+#: ../src/vikwindow.c:3342
#, c-format
msgid "Total area: %ldm x %ldm (%.3f sq. miles)"
msgstr ""
-#: ../src/vikwindow.c:2813
+#: ../src/vikwindow.c:3363
msgid "Save Image"
msgstr "Spara bild"
-#: ../src/vikwindow.c:2834
+#: ../src/vikwindow.c:3393
msgid "PNG"
msgstr ""
-#: ../src/vikwindow.c:2857
+#: ../src/vikwindow.c:3416
msgid "You must be in UTM mode to use this feature"
msgstr "Du måste vara i UTM läge för att använda denna funktion"
-#: ../src/vikwindow.c:2862
+#: ../src/vikwindow.c:3421
msgid "Choose a directory to hold images"
msgstr ""
#. todo: default for answers inside VikWindow or static (thruout instance)
-#: ../src/vikwindow.c:2883
+#: ../src/vikwindow.c:3442
msgid "Save to Image File"
msgstr ""
-#: ../src/vikwindow.c:2900
+#: ../src/vikwindow.c:3459
msgid "Width (pixels):"
msgstr "Bredd (bildpunkter):"
-#: ../src/vikwindow.c:2902
+#: ../src/vikwindow.c:3461
msgid "Height (pixels):"
msgstr "Höjd (bildpunkter):"
-#: ../src/vikwindow.c:2905
+#: ../src/vikwindow.c:3464
msgid ""
"WARNING: USING LARGE IMAGES OVER 10000x10000\n"
"MAY CRASH THE PROGRAM!"
msgstr ""
-#: ../src/vikwindow.c:2907
+#: ../src/vikwindow.c:3466
msgid "Zoom (meters per pixel):"
msgstr ""
-#: ../src/vikwindow.c:2921
+#: ../src/vikwindow.c:3482
msgid "Area in current viewable window"
msgstr ""
-#: ../src/vikwindow.c:2931
+#: ../src/vikwindow.c:3492
msgid "Save as PNG"
msgstr "Spara som PNG"
-#: ../src/vikwindow.c:2932
+#: ../src/vikwindow.c:3493
msgid "Save as JPEG"
msgstr "Spara som JPEG"
-#: ../src/vikwindow.c:2954
+#: ../src/vikwindow.c:3515
msgid "East-west image tiles:"
msgstr ""
-#: ../src/vikwindow.c:2956
+#: ../src/vikwindow.c:3517
msgid "North-south image tiles:"
msgstr ""
-#: ../src/vikwindow.c:3097
+#: ../src/vikwindow.c:3656
msgid "Choose a background color"
msgstr "Välj en bakgrundsfärg"
-#: ../src/vikwindow.c:3113
+#: ../src/vikwindow.c:3672
msgid "Choose a track highlight color"
msgstr ""
-#: ../src/vikwindow.c:3134
+#: ../src/vikwindow.c:3693
msgid "_File"
msgstr "_Fil"
-#: ../src/vikwindow.c:3135
+#: ../src/vikwindow.c:3694
msgid "_Edit"
msgstr "R_edigera"
-#: ../src/vikwindow.c:3136
-msgid "_View"
-msgstr "_Visa"
-
-#: ../src/vikwindow.c:3137
+#: ../src/vikwindow.c:3696
msgid "_Show"
msgstr ""
-#: ../src/vikwindow.c:3140
+#: ../src/vikwindow.c:3699
msgid "_Layers"
msgstr "_Lager"
-#: ../src/vikwindow.c:3141
+#: ../src/vikwindow.c:3700
msgid "_Tools"
msgstr "Verk -tyg"
-#: ../src/vikwindow.c:3142
+#: ../src/vikwindow.c:3701
msgid "_Webtools"
msgstr ""
-#: ../src/vikwindow.c:3143 ../src/vikwindow.c:3206
+#: ../src/vikwindow.c:3702 ../src/vikwindow.c:3763
msgid "_Help"
msgstr "_Hjälp"
-#: ../src/vikwindow.c:3145
+#: ../src/vikwindow.c:3704
msgid "New file"
msgstr "Ny fil"
-#: ../src/vikwindow.c:3146
+#: ../src/vikwindow.c:3705
msgid "_Open..."
msgstr "_Öppna..."
-#: ../src/vikwindow.c:3146
+#: ../src/vikwindow.c:3705
msgid "Open a file"
msgstr "Öppna en fil"
-#: ../src/vikwindow.c:3147
+#: ../src/vikwindow.c:3706
msgid "Open _Recent File"
msgstr ""
-#: ../src/vikwindow.c:3148
+#: ../src/vikwindow.c:3707
msgid "Append _File..."
msgstr ""
-#: ../src/vikwindow.c:3148
+#: ../src/vikwindow.c:3707
msgid "Append data from a different file"
msgstr ""
-#: ../src/vikwindow.c:3149
+#: ../src/vikwindow.c:3708
+msgid "_Export All"
+msgstr ""
+
+#: ../src/vikwindow.c:3708
+msgid "Export All TrackWaypoint Layers"
+msgstr ""
+
+#: ../src/vikwindow.c:3709
+msgid "_GPX..."
+msgstr ""
+
+#: ../src/vikwindow.c:3709
+msgid "Export as GPX"
+msgstr ""
+
+#: ../src/vikwindow.c:3710
msgid "A_cquire"
msgstr ""
-#: ../src/vikwindow.c:3150
+#: ../src/vikwindow.c:3711
msgid "Transfer data from a GPS device"
msgstr "Överför data till en GPS enhet"
-#: ../src/vikwindow.c:3151
+#: ../src/vikwindow.c:3712
msgid "Import File With GPS_Babel..."
msgstr ""
-#: ../src/vikwindow.c:3151
+#: ../src/vikwindow.c:3712
msgid "Import file via GPSBabel converter"
msgstr ""
-#: ../src/vikwindow.c:3153
-msgid "Google _Directions..."
+#: ../src/vikwindow.c:3713
+msgid "_Directions..."
msgstr ""
-#: ../src/vikwindow.c:3153
-msgid "Get driving directions from Google"
+#: ../src/vikwindow.c:3713
+msgid "Get driving directions"
msgstr ""
-#: ../src/vikwindow.c:3156
+#: ../src/vikwindow.c:3715
msgid "_OSM Traces..."
msgstr ""
-#: ../src/vikwindow.c:3156
+#: ../src/vikwindow.c:3715
msgid "Get traces from OpenStreetMap"
msgstr ""
-#: ../src/vikwindow.c:3157
+#: ../src/vikwindow.c:3716
msgid "_My OSM Traces..."
msgstr ""
-#: ../src/vikwindow.c:3157
+#: ../src/vikwindow.c:3716
msgid "Get Your Own Traces from OpenStreetMap"
msgstr ""
-#: ../src/vikwindow.c:3160
+#: ../src/vikwindow.c:3719
msgid "Geo_caches..."
msgstr "Geo_cachar..."
-#: ../src/vikwindow.c:3160
+#: ../src/vikwindow.c:3719
msgid "Get Geocaches from geocaching.com"
msgstr "Hämta Geocachar från geocaching.com"
-#: ../src/vikwindow.c:3163
+#: ../src/vikwindow.c:3722
msgid "Create waypoints from geotagged images"
msgstr ""
-#: ../src/vikwindow.c:3166
+#: ../src/vikwindow.c:3725
msgid "Create waypoints from Wikipedia items in the current view"
msgstr ""
-#: ../src/vikwindow.c:3168
+#: ../src/vikwindow.c:3727
msgid "_Save"
msgstr "_Spara"
-#: ../src/vikwindow.c:3168
+#: ../src/vikwindow.c:3727
msgid "Save the file"
msgstr "Spara filen"
-#: ../src/vikwindow.c:3169
+#: ../src/vikwindow.c:3728
msgid "Save _As..."
msgstr "Sp_ara som..."
-#: ../src/vikwindow.c:3169
+#: ../src/vikwindow.c:3728
msgid "Save the file under different name"
msgstr "Spara filen under ett annat namn"
-#: ../src/vikwindow.c:3170
+#: ../src/vikwindow.c:3729
+msgid "Properties..."
+msgstr ""
+
+#: ../src/vikwindow.c:3729
+msgid "File Properties"
+msgstr ""
+
+#: ../src/vikwindow.c:3730
msgid "_Generate Image File..."
msgstr ""
-#: ../src/vikwindow.c:3170
+#: ../src/vikwindow.c:3730
msgid "Save a snapshot of the workspace into a file"
msgstr ""
-#: ../src/vikwindow.c:3171
+#: ../src/vikwindow.c:3731
msgid "Generate _Directory of Images..."
msgstr ""
-#: ../src/vikwindow.c:3171
+#: ../src/vikwindow.c:3731
msgid "FIXME:IMGDIR"
msgstr ""
-#: ../src/vikwindow.c:3174
+#: ../src/vikwindow.c:3732
msgid "_Print..."
msgstr "Skriv _ut..."
-#: ../src/vikwindow.c:3174
+#: ../src/vikwindow.c:3732
msgid "Print maps"
msgstr "Skriv ut kartor"
-#: ../src/vikwindow.c:3177
+#: ../src/vikwindow.c:3733
msgid "E_xit"
msgstr "_Avsluta"
-#: ../src/vikwindow.c:3177
+#: ../src/vikwindow.c:3733
msgid "Exit the program"
msgstr "Avsluta programmet"
-#: ../src/vikwindow.c:3178
+#: ../src/vikwindow.c:3734
msgid "Save and Exit"
msgstr "Spara och avsluta"
-#: ../src/vikwindow.c:3178
+#: ../src/vikwindow.c:3734
msgid "Save and Exit the program"
msgstr "Spara och avsluta programmet"
-#: ../src/vikwindow.c:3180
+#: ../src/vikwindow.c:3736
msgid "Go to the _Default Location"
msgstr ""
-#: ../src/vikwindow.c:3180
+#: ../src/vikwindow.c:3736
msgid "Go to the default location"
msgstr ""
-#: ../src/vikwindow.c:3181
+#: ../src/vikwindow.c:3737
msgid "Go to _Location..."
msgstr ""
-#: ../src/vikwindow.c:3181
+#: ../src/vikwindow.c:3737
msgid "Go to address/place using text search"
msgstr ""
-#: ../src/vikwindow.c:3182
+#: ../src/vikwindow.c:3738
msgid "_Go to Lat/Lon..."
msgstr ""
-#: ../src/vikwindow.c:3182
+#: ../src/vikwindow.c:3738
msgid "Go to arbitrary lat/lon coordinate"
msgstr ""
-#: ../src/vikwindow.c:3183
+#: ../src/vikwindow.c:3739
msgid "Go to UTM..."
msgstr "Gå till UTM..."
-#: ../src/vikwindow.c:3183
+#: ../src/vikwindow.c:3739
msgid "Go to arbitrary UTM coordinate"
msgstr ""
-#: ../src/vikwindow.c:3184
+#: ../src/vikwindow.c:3740
msgid "_Refresh"
msgstr ""
-#: ../src/vikwindow.c:3184
+#: ../src/vikwindow.c:3740
msgid "Refresh any maps displayed"
msgstr ""
-#: ../src/vikwindow.c:3185
+#: ../src/vikwindow.c:3741
msgid "Set _Highlight Color..."
msgstr ""
-#: ../src/vikwindow.c:3186
+#: ../src/vikwindow.c:3742
msgid "Set Bac_kground Color..."
msgstr ""
-#: ../src/vikwindow.c:3187
+#: ../src/vikwindow.c:3743
msgid "Zoom _In"
msgstr "Zooma _in"
-#: ../src/vikwindow.c:3188
+#: ../src/vikwindow.c:3744
msgid "Zoom _Out"
msgstr "Zooma _ut"
-#: ../src/vikwindow.c:3189
+#: ../src/vikwindow.c:3745
msgid "Zoom _To..."
msgstr "Zooma _till..."
-#: ../src/vikwindow.c:3190
+#: ../src/vikwindow.c:3746
msgid "Pan _North"
msgstr ""
-#: ../src/vikwindow.c:3191
+#: ../src/vikwindow.c:3747
msgid "Pan _East"
msgstr ""
-#: ../src/vikwindow.c:3192
+#: ../src/vikwindow.c:3748
msgid "Pan _South"
msgstr ""
-#: ../src/vikwindow.c:3193
+#: ../src/vikwindow.c:3749
msgid "Pan _West"
msgstr ""
-#: ../src/vikwindow.c:3194
+#: ../src/vikwindow.c:3750
msgid "Background _Jobs"
msgstr ""
-#: ../src/vikwindow.c:3196
+#: ../src/vikwindow.c:3752
msgid "Cu_t"
msgstr "Klipp _ut"
-#: ../src/vikwindow.c:3197
-msgid "_Copy"
-msgstr "_Kopiera"
-
-#: ../src/vikwindow.c:3198
-msgid "_Paste"
-msgstr "Klistra _in"
-
-#: ../src/vikwindow.c:3199
-msgid "_Delete"
-msgstr "_Ta bort"
-
-#: ../src/vikwindow.c:3200
+#: ../src/vikwindow.c:3756
msgid "Delete All"
msgstr "Ta bort alla"
-#: ../src/vikwindow.c:3201
+#: ../src/vikwindow.c:3757
msgid "_Flush Map Cache"
msgstr ""
-#: ../src/vikwindow.c:3202
+#: ../src/vikwindow.c:3758
msgid "_Set the Default Location"
msgstr ""
-#: ../src/vikwindow.c:3202
+#: ../src/vikwindow.c:3758
msgid "Set the Default Location to the current position"
msgstr ""
-#: ../src/vikwindow.c:3203
+#: ../src/vikwindow.c:3759
msgid "_Preferences"
msgstr "_Inställningar"
-#: ../src/vikwindow.c:3204
+#: ../src/vikwindow.c:3760
+msgid "_Layer Defaults"
+msgstr ""
+
+#: ../src/vikwindow.c:3761
msgid "_Properties"
msgstr "_Egenskaper"
-#: ../src/vikwindow.c:3207
+#: ../src/vikwindow.c:3764
msgid "_About"
msgstr "_Om"
-#: ../src/vikwindow.c:3213
+#: ../src/vikwindow.c:3768
+msgid "_KML..."
+msgstr ""
+
+#: ../src/vikwindow.c:3768
+msgid "Export as KML"
+msgstr ""
+
+#: ../src/vikwindow.c:3774
msgid "_UTM Mode"
msgstr "_UTM läge"
-#: ../src/vikwindow.c:3214
+#: ../src/vikwindow.c:3775
msgid "_Expedia Mode"
msgstr "_Expedia läge"
-#: ../src/vikwindow.c:3215
+#: ../src/vikwindow.c:3776
msgid "_Mercator Mode"
msgstr "_Mercator läge"
-#: ../src/vikwindow.c:3216
+#: ../src/vikwindow.c:3777
msgid "Lat_/Lon Mode"
msgstr ""
-#: ../src/vikwindow.c:3220
+#: ../src/vikwindow.c:3781
msgid "Show _Scale"
msgstr ""
-#: ../src/vikwindow.c:3220
+#: ../src/vikwindow.c:3781
msgid "Show Scale"
msgstr "Visa skala"
-#: ../src/vikwindow.c:3221
+#: ../src/vikwindow.c:3782
msgid "Show _Center Mark"
msgstr ""
-#: ../src/vikwindow.c:3221
+#: ../src/vikwindow.c:3782
msgid "Show Center Mark"
msgstr ""
-#: ../src/vikwindow.c:3222
+#: ../src/vikwindow.c:3783
msgid "Show _Highlight"
msgstr ""
-#: ../src/vikwindow.c:3222
+#: ../src/vikwindow.c:3783
msgid "Show Highlight"
msgstr ""
-#: ../src/vikwindow.c:3223
+#: ../src/vikwindow.c:3784
msgid "_Full Screen"
msgstr "Fullskärm"
-#: ../src/vikwindow.c:3223
+#: ../src/vikwindow.c:3784
msgid "Activate full screen mode"
msgstr "Aktivera fullskärmsläge"
-#: ../src/vikwindow.c:3224
+#: ../src/vikwindow.c:3785
msgid "Show Side _Panel"
msgstr ""
-#: ../src/vikwindow.c:3224
+#: ../src/vikwindow.c:3785
msgid "Show Side Panel"
msgstr ""
-#: ../src/vikwindow.c:3225
+#: ../src/vikwindow.c:3786
msgid "Show Status_bar"
msgstr ""
-#: ../src/vikwindow.c:3225
+#: ../src/vikwindow.c:3786
msgid "Show Statusbar"
msgstr ""
-#: ../src/vikwindow.c:3226
+#: ../src/vikwindow.c:3787
msgid "Show _Toolbar"
msgstr ""
-#: ../src/vikwindow.c:3226
+#: ../src/vikwindow.c:3787
msgid "Show Toolbar"
msgstr ""
-#: ../src/vikwindow.c:3227
+#: ../src/vikwindow.c:3788
msgid "Show _Menu"
msgstr ""
-#: ../src/vikwindow.c:3227
+#: ../src/vikwindow.c:3788
msgid "Show Menu"
msgstr ""
+#: ../src/vikwindow.c:3862
+#, c-format
+msgid "New _%s Layer"
+msgstr ""
+
#: ../src/viking.desktop.in.h:2
msgid "GPS Data Manager"
msgstr ""
diff --git a/po/uk.po b/po/uk.po
index 524f961..0a6223c 100644
--- a/po/uk.po
+++ b/po/uk.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: viking\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2013-02-04 23:29+0100\n"
+"POT-Creation-Date: 2013-09-03 21:58+0200\n"
"PO-Revision-Date: 2010-08-21 15:47+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Ukrainian <uk@li.org>\n"
@@ -16,60 +16,60 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
-"X-Launchpad-Export-Date: 2013-03-23 17:12+0000\n"
-"X-Generator: Launchpad (build 16540)\n"
+"X-Launchpad-Export-Date: 2013-10-12 09:04+0000\n"
+"X-Generator: Launchpad (build 16799)\n"
"Language: uk\n"
-#: ../src/acquire.c:103 ../src/vikgpslayer.c:1185
+#: ../src/acquire.c:103 ../src/vikgpslayer.c:1235
msgid "Done."
msgstr ""
-#: ../src/acquire.c:114
+#: ../src/acquire.c:112
msgid "No data."
msgstr ""
-#: ../src/acquire.c:154 ../src/acquire.c:404
+#: ../src/acquire.c:154 ../src/acquire.c:424
msgid "Error: acquisition failed."
msgstr ""
-#: ../src/acquire.c:341
+#: ../src/acquire.c:352
msgid "Working..."
msgstr ""
#. This shouldn't happen...
-#: ../src/acquire.c:394
+#: ../src/acquire.c:415
msgid ""
"Unable to create command\n"
"Acquire method failed."
msgstr ""
-#: ../src/acquire.c:486
+#: ../src/acquire.c:517
msgid "_Filter"
msgstr ""
-#: ../src/acquire.c:501
+#: ../src/acquire.c:532
#, c-format
msgid "Filter with %s"
msgstr ""
-#: ../src/acquire.c:518
+#: ../src/acquire.c:549
msgid "Filter"
msgstr ""
-#: ../src/background.c:52
+#: ../src/background.c:53
#, c-format
msgid "%d items"
msgstr ""
-#: ../src/background.c:248
+#: ../src/background.c:254
msgid "Job"
msgstr ""
-#: ../src/background.c:252
+#: ../src/background.c:258
msgid "Progress"
msgstr ""
-#: ../src/background.c:268
+#: ../src/background.c:274
msgid "Viking Background Jobs"
msgstr ""
@@ -78,7 +78,7 @@ msgid "Bing"
msgstr ""
#. VIK_GTK_WINDOW_FROM_WIDGET(vp)
-#: ../src/bingmapsource.c:445
+#: ../src/bingmapsource.c:499
msgid "Bing attribution Loading"
msgstr ""
@@ -103,35 +103,35 @@ msgid ""
"into."
msgstr ""
-#: ../src/dialog.c:52
+#: ../src/dialog.c:53
msgid "Go to Lat/Lon"
msgstr ""
-#: ../src/dialog.c:64 ../src/dialog.c:251
+#: ../src/dialog.c:65 ../src/dialog.c:244
msgid "Latitude:"
msgstr ""
-#: ../src/dialog.c:70 ../src/dialog.c:256
+#: ../src/dialog.c:71 ../src/dialog.c:249
msgid "Longitude:"
msgstr ""
-#: ../src/dialog.c:102
+#: ../src/dialog.c:103
msgid "Go to UTM"
msgstr ""
-#: ../src/dialog.c:115
+#: ../src/dialog.c:116
msgid "Northing:"
msgstr ""
-#: ../src/dialog.c:121
+#: ../src/dialog.c:122
msgid "Easting:"
msgstr ""
-#: ../src/dialog.c:128
+#: ../src/dialog.c:129
msgid "Zone:"
msgstr ""
-#: ../src/dialog.c:131
+#: ../src/dialog.c:132
msgid "Letter:"
msgstr ""
@@ -139,105 +139,109 @@ msgstr ""
msgid "Waypoint Properties"
msgstr ""
-#: ../src/dialog.c:233
+#: ../src/dialog.c:235
msgid "Name:"
msgstr ""
-#: ../src/dialog.c:261
+#: ../src/dialog.c:254
msgid "Altitude:"
msgstr ""
-#: ../src/dialog.c:266
+#: ../src/dialog.c:259
msgid "Comment:"
msgstr ""
-#: ../src/dialog.c:274 ../src/osm-traces.c:437
+#: ../src/dialog.c:267 ../src/osm-traces.c:445
msgid "Description:"
msgstr ""
-#: ../src/dialog.c:277
+#: ../src/dialog.c:270
msgid "Image:"
msgstr ""
-#: ../src/dialog.c:282
+#: ../src/dialog.c:275
msgid "Symbol:"
msgstr ""
-#: ../src/dialog.c:291
+#: ../src/dialog.c:284
msgid "(none)"
msgstr ""
+#: ../src/dialog.c:326
+msgid "Time:"
+msgstr ""
+
#. TODO: other checks (isalpha or whatever )
-#: ../src/dialog.c:356
+#: ../src/dialog.c:363
msgid "Please enter a name for the waypoint."
msgstr ""
-#: ../src/dialog.c:529 ../src/geonamessearch.c:243
+#: ../src/dialog.c:502 ../src/geonamessearch.c:244
#: ../src/datasource_osm_my_traces.c:507
msgid "Nothing was selected"
msgstr ""
-#: ../src/dialog.c:537
+#: ../src/dialog.c:510
msgid "Add Route"
msgstr ""
-#: ../src/dialog.c:537
+#: ../src/dialog.c:510
msgid "Add Track"
msgstr ""
-#: ../src/dialog.c:545
+#: ../src/dialog.c:518
msgid "Route Name:"
msgstr ""
-#: ../src/dialog.c:545
+#: ../src/dialog.c:518
msgid "Track Name:"
msgstr ""
-#: ../src/dialog.c:565
+#: ../src/dialog.c:538
msgid "Please enter a name for the track."
msgstr ""
-#: ../src/dialog.c:623
+#: ../src/dialog.c:596
msgid "Zoom Factors..."
msgstr ""
-#: ../src/dialog.c:637
+#: ../src/dialog.c:610
msgid "Zoom factor (in meters per pixel):"
msgstr ""
-#: ../src/dialog.c:638
+#: ../src/dialog.c:611
msgid "X (easting): "
msgstr ""
-#: ../src/dialog.c:639
+#: ../src/dialog.c:612
msgid "Y (northing): "
msgstr ""
-#: ../src/dialog.c:644
+#: ../src/dialog.c:617
msgid "X and Y zoom factors must be equal"
msgstr ""
-#: ../src/dialog.c:699
+#: ../src/dialog.c:672
msgid "1 min"
msgstr ""
-#: ../src/dialog.c:700
+#: ../src/dialog.c:673
msgid "1 hour"
msgstr ""
-#: ../src/dialog.c:701
+#: ../src/dialog.c:674
msgid "1 day"
msgstr ""
-#: ../src/dialog.c:702
+#: ../src/dialog.c:675
msgid "Custom (in minutes):"
msgstr ""
-#: ../src/dialog.c:808
+#: ../src/dialog.c:786
msgid "GPS Data and Topo Analyzer, Explorer, and Manager."
msgstr ""
-#: ../src/dialog.c:809
+#: ../src/dialog.c:787
msgid ""
"This program is free software; you can redistribute it and/or modify it "
"under the terms of the GNU General Public License as published by the Free "
@@ -254,28 +258,28 @@ msgid ""
"Place, Suite 330, Boston, MA 02111-1307, USA"
msgstr ""
-#: ../src/dialog.c:837
+#: ../src/dialog.c:852
msgid "Translation is coordinated on http://launchpad.net/viking"
msgstr ""
-#: ../src/dialog.c:845
+#: ../src/dialog.c:861
msgid "Download along track"
msgstr ""
-#: ../src/dialog.c:851
+#: ../src/dialog.c:868
msgid "Map type:"
msgstr ""
-#: ../src/dialog.c:856
+#: ../src/dialog.c:874
msgid "Zoom level:"
msgstr ""
-#: ../src/dialog.c:896
+#: ../src/dialog.c:914
#, c-format
msgid "The map data is licensed: %s."
msgstr ""
-#: ../src/dialog.c:899
+#: ../src/dialog.c:917
#, c-format
msgid ""
"The data provided by '<b>%s</b>' are licensed under the following license: "
@@ -283,7 +287,7 @@ msgid ""
"Please, read the license before continuing."
msgstr ""
-#: ../src/dialog.c:904
+#: ../src/dialog.c:922
msgid "Open license"
msgstr ""
@@ -328,7 +332,8 @@ msgstr ""
#. NB could allow columns to be shifted around by doing this after each new
#. gtk_tree_view_column_set_reorderable ( column, TRUE );
#. However I don't think is that useful, so I haven't put it in
-#: ../src/geonamessearch.c:177 ../src/datasource_osm_my_traces.c:425
+#: ../src/geonamessearch.c:177 ../src/datasource_osm_my_traces.c:424
+#: ../src/viktrwlayer_tracklist.c:521
msgid "Name"
msgstr ""
@@ -336,82 +341,192 @@ msgstr ""
msgid "Feature"
msgstr ""
-#: ../src/geonamessearch.c:187 ../src/datasource_osm_my_traces.c:440
+#: ../src/geonamessearch.c:187 ../src/datasource_osm_my_traces.c:439
msgid "Lat/Lon"
msgstr ""
-#: ../src/geonamessearch.c:269 ../src/googlesearch.c:100
+#: ../src/geonamessearch.c:270 ../src/googlesearch.c:100 ../src/vikgoto.c:306
msgid "couldn't map temp file"
msgstr ""
-#: ../src/globals.c:44
+#: ../src/globals.c:73
+msgid "Absolute"
+msgstr ""
+
+#: ../src/globals.c:73
+msgid "Relative"
+msgstr ""
+
+#: ../src/globals.c:76
msgid "Degree format:"
msgstr ""
-#: ../src/globals.c:48
+#: ../src/globals.c:77
msgid "Distance units:"
msgstr ""
-#: ../src/globals.c:52
+#: ../src/globals.c:78
msgid "Speed units:"
msgstr ""
-#: ../src/globals.c:56
+#: ../src/globals.c:79
msgid "Height units:"
msgstr ""
-#: ../src/globals.c:60
+#: ../src/globals.c:80
msgid "Use large waypoint icons:"
msgstr ""
-#: ../src/globals.c:64
+#: ../src/globals.c:81
msgid "Default latitude:"
msgstr ""
-#: ../src/globals.c:67
+#: ../src/globals.c:82
msgid "Default longitude:"
msgstr ""
-#: ../src/globals.c:73
+#: ../src/globals.c:88
msgid "Alphabetical"
msgstr ""
-#: ../src/globals.c:73 ../src/datasource_osm_my_traces.c:435
+#: ../src/globals.c:88 ../src/datasource_osm_my_traces.c:434
msgid "Time"
msgstr ""
-#: ../src/globals.c:76
+#: ../src/globals.c:88
+msgid "Creation"
+msgstr ""
+
+#: ../src/globals.c:89
+msgid "Title Case"
+msgstr ""
+
+#: ../src/globals.c:89
+msgid "Lowercase"
+msgstr ""
+
+#: ../src/globals.c:92
msgid "KML File Export Units:"
msgstr ""
-#: ../src/globals.c:77
+#: ../src/globals.c:93
msgid "GPX Track Order:"
msgstr ""
-#: ../src/globals.c:82
+#: ../src/globals.c:94
+msgid "GPX Waypoint Symbols:"
+msgstr ""
+
+#: ../src/globals.c:95
+msgid ""
+"Save GPX Waypoint Symbol names in the specified case. May be useful for "
+"compatibility with various devices"
+msgstr ""
+
+#: ../src/globals.c:100
msgid "Image Viewer:"
msgstr ""
-#: ../src/globals.c:87
+#: ../src/globals.c:105
msgid "External GPX Program 1:"
msgstr ""
-#: ../src/globals.c:88
+#: ../src/globals.c:106
msgid "External GPX Program 2:"
msgstr ""
+#: ../src/globals.c:110
+msgid "Save File Reference Mode:"
+msgstr ""
+
+#: ../src/globals.c:111
+msgid ""
+"When saving a Viking .vik file, this determines how the directory paths of "
+"filenames are written."
+msgstr ""
+
+#: ../src/globals.c:112
+msgid "Show Tooltip during Track Creation:"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Home Location"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Last Location"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Specified File"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Auto Location"
+msgstr ""
+
+#: ../src/globals.c:118
+msgid "Restore Window Setup:"
+msgstr ""
+
+#: ../src/globals.c:119
+msgid "Restore window size and layout"
+msgstr ""
+
+#: ../src/globals.c:120
+msgid "Add a Default Map Layer:"
+msgstr ""
+
+#: ../src/globals.c:121
+msgid ""
+"The default map layer added is defined by the Layer Defaults. Use the menu "
+"Edit->Layer Defaults->Map... to change the map type and other values."
+msgstr ""
+
+#: ../src/globals.c:122
+msgid "Startup Method:"
+msgstr ""
+
+#: ../src/globals.c:123
+msgid "Startup File:"
+msgstr ""
+
+#: ../src/globals.c:124
+msgid ""
+"The default file to load on startup. Only applies when the startup method is "
+"set to 'Specified File'"
+msgstr ""
+
+#: ../src/globals.c:125
+msgid "Check For New Version:"
+msgstr ""
+
+#: ../src/globals.c:126
+msgid "Periodically check to see if a new version of Viking is available"
+msgstr ""
+
#. Defaults for the options are setup here
-#: ../src/globals.c:96
+#: ../src/globals.c:163
msgid "General"
msgstr ""
#. New Tab
-#: ../src/globals.c:121
+#: ../src/globals.c:188
+msgid "Startup"
+msgstr ""
+
+#. New Tab
+#: ../src/globals.c:206
msgid "Export/External"
msgstr ""
+#. 'Advanced' Properties
+#: ../src/globals.c:230
+msgid "Advanced"
+msgstr ""
+
#. Webtools
-#: ../src/google.c:36
+#: ../src/google.c:38
msgid "Google"
msgstr ""
@@ -424,24 +539,24 @@ msgid "Imported file"
msgstr ""
#. The file selector
-#: ../src/datasource_file.c:133
+#: ../src/datasource_file.c:127
msgid "File:"
msgstr ""
-#: ../src/datasource_file.c:134
+#: ../src/datasource_file.c:128
msgid "File to import"
msgstr ""
-#: ../src/datasource_file.c:141
+#: ../src/datasource_file.c:135
msgid "All files"
msgstr ""
#. The file format selector
-#: ../src/datasource_file.c:148
+#: ../src/datasource_file.c:142
msgid "File type:"
msgstr ""
-#: ../src/datasource_file.c:193
+#: ../src/datasource_file.c:184
#, c-format
msgid "using babel args '%s' and file '%s'"
msgstr ""
@@ -454,29 +569,29 @@ msgstr ""
msgid "Geocaching.com Caches"
msgstr ""
-#: ../src/datasource_gc.c:84
+#: ../src/datasource_gc.c:85
msgid "geocaching.com username:"
msgstr ""
-#: ../src/datasource_gc.c:85
+#: ../src/datasource_gc.c:86
msgid "geocaching.com password:"
msgstr ""
-#: ../src/datasource_gc.c:126
+#: ../src/datasource_gc.c:127
#, c-format
msgid ""
"Can't find %s or %s in path! Check that you have installed it correctly."
msgstr ""
-#: ../src/datasource_gc.c:188
+#: ../src/datasource_gc.c:189
msgid "Number geocaches:"
msgstr ""
-#: ../src/datasource_gc.c:190
+#: ../src/datasource_gc.c:191
msgid "Centered around:"
msgstr ""
-#: ../src/datasource_gc.c:226
+#: ../src/datasource_gc.c:230
msgid "Broken input - using some defaults"
msgstr ""
@@ -488,116 +603,107 @@ msgstr ""
msgid "Geotagged Images"
msgstr ""
-#: ../src/datasource_geotag.c:102 ../src/vikwindow.c:2314
-#: ../src/vikwindow.c:2382 ../src/vikwindow.c:2824
+#: ../src/datasource_geotag.c:102 ../src/vikwindow.c:2655
+#: ../src/vikwindow.c:2729 ../src/vikwindow.c:3380
msgid "All"
msgstr ""
-#: ../src/datasource_geotag.c:107 ../src/vikwindow.c:2829
+#: ../src/datasource_geotag.c:107 ../src/vikwindow.c:3385
msgid "JPG"
msgstr ""
-#: ../src/datasource_geotag.c:165
+#: ../src/datasource_geotag.c:168
#, c-format
msgid "Unable to create waypoint from %s"
msgstr ""
-#: ../src/datasource_google.c:49 ../src/datasource_google.c:50
-msgid "Google Directions"
-msgstr ""
-
-#: ../src/datasource_google.c:77
-msgid "From:"
-msgstr ""
-
-#: ../src/datasource_google.c:79
-msgid "To:"
-msgstr ""
-
-#: ../src/datasource_gps.c:57
+#: ../src/datasource_gps.c:54
msgid "Acquire from GPS"
msgstr ""
-#: ../src/datasource_gps.c:58
+#: ../src/datasource_gps.c:55
msgid "Acquired from GPS"
msgstr ""
-#: ../src/datasource_gps.c:221
+#: ../src/datasource_gps.c:245
#, c-format
msgid "using cmdline '%s' and file '%s'\n"
msgstr ""
-#: ../src/datasource_gps.c:297 ../src/vikgpslayer.c:884
+#: ../src/datasource_gps.c:327 ../src/vikgpslayer.c:934
#, c-format
msgid "Downloading %d waypoint..."
msgid_plural "Downloading %d waypoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/datasource_gps.c:298 ../src/vikgpslayer.c:885
+#: ../src/datasource_gps.c:328 ../src/vikgpslayer.c:935
#, c-format
msgid "Downloading %d trackpoint..."
msgid_plural "Downloading %d trackpoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/datasource_gps.c:303 ../src/vikgpslayer.c:890
+#: ../src/datasource_gps.c:333 ../src/vikgpslayer.c:940
#, c-format
msgid "Downloading %d routepoint..."
msgid_plural "Downloading %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/datasource_gps.c:325 ../src/datasource_gps.c:326
-#: ../src/datasource_gps.c:327
+#: ../src/datasource_gps.c:355 ../src/datasource_gps.c:356
+#: ../src/datasource_gps.c:357
#, c-format
msgid "Downloaded %d out of %d %s..."
msgstr ""
-#: ../src/datasource_gps.c:331 ../src/datasource_gps.c:332
-#: ../src/datasource_gps.c:333
+#: ../src/datasource_gps.c:361 ../src/datasource_gps.c:362
+#: ../src/datasource_gps.c:363
#, c-format
msgid "Downloaded %d %s."
msgstr ""
-#: ../src/datasource_gps.c:347 ../src/vikgpslayer.c:968
+#: ../src/datasource_gps.c:377 ../src/vikgpslayer.c:1018
#, c-format
msgid "GPS Device: %s"
msgstr ""
-#: ../src/datasource_gps.c:370 ../src/vikgpslayer.c:1042
-#: ../src/vikgpslayer.c:1110
+#: ../src/datasource_gps.c:400 ../src/vikgpslayer.c:1092
+#: ../src/vikgpslayer.c:1160
msgid "Status: Working..."
msgstr ""
-#: ../src/datasource_gps.c:469 ../src/vikgpslayer.c:150
+#. NB gps_layer_inst_init() is performed after parameter registeration
+#. thus to give the protocols some potential values use the old static list
+#. TODO: find another way to use gps_layer_inst_init()?
+#: ../src/datasource_gps.c:500 ../src/vikgpslayer.c:207
msgid "GPS Protocol:"
msgstr ""
-#. List now assigned at runtime
-#: ../src/datasource_gps.c:488 ../src/vikgpslayer.c:151
+#. List reassigned at runtime
+#: ../src/datasource_gps.c:526 ../src/vikgpslayer.c:208
msgid "Serial Port:"
msgstr ""
-#: ../src/datasource_gps.c:509
+#: ../src/datasource_gps.c:576
msgid ""
"Turn Off After Transfer\n"
"(Garmin/NAViLink Only)"
msgstr ""
-#: ../src/datasource_gps.c:512
+#: ../src/datasource_gps.c:583
msgid "Tracks:"
msgstr ""
-#: ../src/datasource_gps.c:516
+#: ../src/datasource_gps.c:590
msgid "Routes:"
msgstr ""
-#: ../src/datasource_gps.c:520
+#: ../src/datasource_gps.c:597
msgid "Waypoints:"
msgstr ""
-#: ../src/datasource_gps.c:594 ../src/vikgpslayer.c:1305
+#: ../src/datasource_gps.c:675 ../src/vikgpslayer.c:1355
msgid "GPS device: N/A"
msgstr ""
@@ -605,39 +711,39 @@ msgstr ""
msgid "OSM traces"
msgstr ""
-#: ../src/datasource_osm.c:80
+#: ../src/datasource_osm.c:82
msgid "Page number:"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:63 ../src/datasource_osm_my_traces.c:64
+#: ../src/datasource_osm_my_traces.c:59 ../src/datasource_osm_my_traces.c:60
msgid "OSM My Traces"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:108
+#: ../src/datasource_osm_my_traces.c:104
msgid "Username:"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:113
+#: ../src/datasource_osm_my_traces.c:109
msgid "The email or username used to login to OSM"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:115 ../src/osm-traces.c:413
+#: ../src/datasource_osm_my_traces.c:111 ../src/osm-traces.c:421
msgid "Password:"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:120
+#: ../src/datasource_osm_my_traces.c:114
msgid "The password used to login to OSM"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:430
+#: ../src/datasource_osm_my_traces.c:429
msgid "Description"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:445
+#: ../src/datasource_osm_my_traces.c:444
msgid "Privacy"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:452
+#: ../src/datasource_osm_my_traces.c:451
msgid "Within Current View"
msgstr ""
@@ -649,15 +755,33 @@ msgstr ""
msgid "None found!"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:629
+#: ../src/datasource_osm_my_traces.c:634
msgid "My OSM Traces"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:645
+#: ../src/datasource_osm_my_traces.c:649
#, c-format
msgid "Unable to get trace: %s"
msgstr ""
+#: ../src/datasource_routing.c:53 ../src/datasource_routing.c:54
+msgid "Directions"
+msgstr ""
+
+#. Engine selector
+#: ../src/datasource_routing.c:83
+msgid "Engine:"
+msgstr ""
+
+#. From and To entries
+#: ../src/datasource_routing.c:88
+msgid "From:"
+msgstr ""
+
+#: ../src/datasource_routing.c:90
+msgid "To:"
+msgstr ""
+
#: ../src/datasource_wikipedia.c:32
msgid "Create Waypoints from Wikipedia Articles"
msgstr ""
@@ -678,174 +802,185 @@ msgstr ""
msgid "Incorrect DEM Class B record: expected 1"
msgstr ""
-#: ../src/dem.c:360
+#: ../src/dem.c:288 ../src/download.c:170
#, c-format
msgid "Couldn't map file %s: %s"
msgstr ""
-#: ../src/download.c:112
-msgid "Tile age (s):"
+#: ../src/download.c:130
+msgid "Tile age (days):"
msgstr ""
-#: ../src/download.c:233
+#: ../src/download.c:321
#, c-format
msgid "Download error: %s"
msgstr ""
-#: ../src/download.c:313
+#: ../src/download.c:404
msgid "couldn't open temp file"
msgstr ""
-#: ../src/file.c:456 ../src/file.c:461
+#: ../src/file.c:451 ../src/file.c:456
#, c-format
msgid "Draw mode '%s' no more supported"
msgstr ""
-#: ../src/geotag_exif.c:433
+#: ../src/geotag_exif.c:421
msgid "Not enough memory."
msgstr ""
-#: ../src/geotag_exif.c:451
+#: ../src/geotag_exif.c:439
msgid "Setting a value for this tag is unsupported!"
msgstr ""
-#: ../src/geotag_exif.c:470
+#: ../src/geotag_exif.c:458
#, c-format
msgid "Too few components specified (need %d, found %d)\n"
msgstr ""
-#: ../src/geotag_exif.c:474
+#: ../src/geotag_exif.c:462
msgid "Numeric value expected\n"
msgstr ""
-#: ../src/geotag_exif.c:482
+#: ../src/geotag_exif.c:470
msgid "This shouldn't happen!"
msgstr ""
-#: ../src/geotag_exif.c:552
+#: ../src/geotag_exif.c:540
msgid "Not yet implemented!"
msgstr ""
-#: ../src/geotag_exif.c:565
+#: ../src/geotag_exif.c:553
msgid "Warning; Too many components specified!"
msgstr ""
-#: ../src/osm-traces.c:73
+#: ../src/osm-traces.c:76
msgid "Identifiable (public w/ timestamps)"
msgstr ""
-#: ../src/osm-traces.c:74
+#: ../src/osm-traces.c:77
msgid "Trackable (private w/ timestamps)"
msgstr ""
-#: ../src/osm-traces.c:75
+#: ../src/osm-traces.c:78
msgid "Public"
msgstr ""
-#: ../src/osm-traces.c:76
+#: ../src/osm-traces.c:79
msgid "Private"
msgstr ""
-#: ../src/osm-traces.c:93
+#: ../src/osm-traces.c:97
msgid "OSM username:"
msgstr ""
-#: ../src/osm-traces.c:94
+#: ../src/osm-traces.c:98
msgid "OSM password:"
msgstr ""
#. Preferences
-#: ../src/osm-traces.c:151
+#: ../src/osm-traces.c:155
msgid "OpenStreetMap Traces"
msgstr ""
-#: ../src/osm-traces.c:234
+#: ../src/osm-traces.c:238
#, c-format
msgid "failed to upload data: HTTP response is %ld"
msgstr ""
-#: ../src/osm-traces.c:239
+#: ../src/osm-traces.c:243
#, c-format
msgid "curl_easy_getinfo failed: %d"
msgstr ""
-#: ../src/osm-traces.c:244
+#: ../src/osm-traces.c:248
#, c-format
msgid "curl request failed: %s"
msgstr ""
-#: ../src/osm-traces.c:275
+#: ../src/osm-traces.c:279
#, c-format
msgid "failed to open temporary file: %s"
msgstr ""
#. Success
-#: ../src/osm-traces.c:328
+#: ../src/osm-traces.c:340
msgid "Uploaded to OSM"
msgstr ""
-#: ../src/osm-traces.c:332
+#: ../src/osm-traces.c:344
msgid "FAILED TO UPLOAD DATA TO OSM - CURL PROBLEM"
msgstr ""
-#: ../src/osm-traces.c:335
+#: ../src/osm-traces.c:347
msgid "FAILED TO UPLOAD DATA TO OSM"
msgstr ""
-#: ../src/osm-traces.c:335
+#: ../src/osm-traces.c:347
msgid "HTTP response code"
msgstr ""
-#: ../src/osm-traces.c:348
+#: ../src/osm-traces.c:355
#, c-format
msgid "failed to unlink temporary file: %s"
msgstr ""
-#: ../src/osm-traces.c:387
+#: ../src/osm-traces.c:394
msgid "OSM upload"
msgstr ""
-#: ../src/osm-traces.c:405
+#: ../src/osm-traces.c:413
msgid "Email:"
msgstr ""
-#: ../src/osm-traces.c:410
+#: ../src/osm-traces.c:418
msgid ""
"The email used as login\n"
"<small>Enter the email you use to login into www.openstreetmap.org.</small>"
msgstr ""
-#: ../src/osm-traces.c:418
+#: ../src/osm-traces.c:426
msgid ""
"The password used to login\n"
"<small>Enter the password you use to login into "
"www.openstreetmap.org.</small>"
msgstr ""
-#: ../src/osm-traces.c:423
+#: ../src/osm-traces.c:431
msgid "File's name:"
msgstr ""
-#: ../src/osm-traces.c:433
+#: ../src/osm-traces.c:441
msgid ""
"The name of the file on OSM\n"
"<small>This is the name of the file created on the server.This is not the "
"name of the local file.</small>"
msgstr ""
-#: ../src/osm-traces.c:442
+#: ../src/osm-traces.c:450
msgid "The description of the trace"
msgstr ""
-#: ../src/osm-traces.c:444
+#: ../src/osm-traces.c:453
+msgid "Anonymize Times:"
+msgstr ""
+
+#: ../src/osm-traces.c:458
+msgid ""
+"Anonymize times of the trace.\n"
+"<small>You may choose to make the trace identifiable, yet mask the actual "
+"real time values</small>"
+msgstr ""
+
+#: ../src/osm-traces.c:462
msgid "Tags:"
msgstr ""
-#: ../src/osm-traces.c:449
+#: ../src/osm-traces.c:467
msgid "The tags associated to the trace"
msgstr ""
-#: ../src/osm-traces.c:482
+#: ../src/osm-traces.c:529
#, c-format
msgid "Uploading %s to OSM"
msgstr ""
@@ -854,69 +989,88 @@ msgstr ""
msgid "Map cache memory size (MB):"
msgstr ""
-#: ../src/print.c:53
+#: ../src/print.c:51 ../src/viktrwlayer.c:509
msgid "None"
msgstr ""
-#: ../src/print.c:54
+#: ../src/print.c:52
msgid "Horizontally"
msgstr ""
-#: ../src/print.c:55
+#: ../src/print.c:53
msgid "Vertically"
msgstr ""
-#: ../src/print.c:56
+#: ../src/print.c:54
msgid "Both"
msgstr ""
-#: ../src/print.c:120
+#: ../src/print.c:118
msgid "Image Settings"
msgstr ""
-#: ../src/print.c:546
+#: ../src/print.c:548
msgid "done"
msgstr ""
#. Page Size
-#: ../src/print.c:575
+#: ../src/print.c:577
msgid "_Adjust Page Size and Orientation"
msgstr ""
-#: ../src/print.c:591
+#: ../src/print.c:593
msgid "C_enter:"
msgstr ""
#. ignore page margins
-#: ../src/print.c:609
+#: ../src/print.c:611
msgid "Ignore Page _Margins"
msgstr ""
-#: ../src/print.c:628
+#: ../src/print.c:630
msgid "Image S_ize:"
msgstr ""
-#: ../src/util.c:81
-msgid "Could not launch web browser."
+#: ../src/util.c:65
+#, c-format
+msgid "Could not launch web browser. %s"
msgstr ""
-#: ../src/util.c:92
-msgid "Could not create new email."
+#: ../src/util.c:76
+#, c-format
+msgid "Could not create new email. %s"
msgstr ""
-#: ../src/vikcoordlayer.c:46
+#: ../src/util.c:177
+#, c-format
+msgid ""
+"There is a newer version of Viking available: %s\n"
+"\n"
+"Do you wish to go to Viking's website now?"
+msgstr ""
+
+#: ../src/util.c:304
+msgid ""
+"This appears to be Viking's very first run.\n"
+"\n"
+"Do you wish to enable automatic internet features?\n"
+"\n"
+"Individual settings can be controlled in the Preferences."
+msgstr ""
+
+#: ../src/vikcoordlayer.c:57
msgid "Color:"
msgstr ""
-#: ../src/vikcoordlayer.c:47
+#: ../src/vikcoordlayer.c:58
msgid "Minutes Width:"
msgstr ""
-#: ../src/vikcoordlayer.c:48
+#: ../src/vikcoordlayer.c:59
msgid "Line Thickness:"
msgstr ""
-#: ../src/vikcoordlayer.c:56
+#: ../src/vikcoordlayer.c:66
msgid "Coordinate"
msgstr ""
@@ -952,62 +1106,130 @@ msgstr ""
msgid "Polygonzied Layer"
msgstr ""
-#: ../src/main.c:89
+#: ../src/main.c:92
#, c-format
msgid "Ignoring Xlib error: error code %d request code %d\n"
msgstr ""
-#: ../src/main.c:102
+#: ../src/main.c:105
msgid "Enable debug output"
msgstr ""
-#: ../src/main.c:103
+#: ../src/main.c:106
msgid "Enable verbose output"
msgstr ""
-#: ../src/main.c:104
+#: ../src/main.c:107
msgid "Show version"
msgstr ""
-#: ../src/osm.c:106
+#: ../src/osm.c:99
msgid "On Disk OSM Tile Format"
msgstr ""
-#: ../src/osm.c:121
+#: ../src/osm.c:113
msgid "OSM (view)"
msgstr ""
-#: ../src/osm.c:125
+#: ../src/osm.c:117
msgid "OSM (edit)"
msgstr ""
-#: ../src/osm.c:129
+#: ../src/osm.c:121
msgid "OSM (render)"
msgstr ""
#. Example: http://127.0.0.1:8111/load_and_zoom?left=8.19&right=8.20&top=48.605&bottom=48.590&select=node413602999
#. JOSM or merkaartor must already be running with remote interface enabled
-#: ../src/osm.c:136
+#: ../src/osm.c:128
msgid "Local port 8111 (eg JOSM)"
msgstr ""
-#: ../src/preferences.c:285
+#: ../src/osm.c:134
+msgid "OpenStreetMap Notes"
+msgstr ""
+
+#: ../src/osm.c:138
+msgid "OpenStreetBugs"
+msgstr ""
+
+#. Not really OSM but can't be bothered to create somewhere else to put it...
+#: ../src/osm.c:164
+msgid "Wikimedia Toolserver GeoHack"
+msgstr ""
+
+#: ../src/preferences.c:191
msgid "Preferences"
msgstr ""
-#: ../src/uibuilder.c:147
+#: ../src/viklayer_defaults.c:232
+#, c-format
+msgid "Could not open file: %s"
+msgstr ""
+
+#: ../src/viklayer_defaults.c:303
+msgid "Layer Defaults"
+msgstr ""
+
+#: ../src/uibuilder.c:185
msgid "Take care that this password will be stored clearly in a plain file."
msgstr ""
-#: ../src/vikaggregatelayer.c:37
+#: ../src/vikaggregatelayer.c:42
msgid "Aggregate"
msgstr ""
-#: ../src/vikdemlayer.c:101
+#. VikLayersPanel *vlp = VIK_LAYERS_PANEL(lav[1]);
+#: ../src/vikaggregatelayer.c:484 ../src/viktrwlayer.c:10238
+#, c-format
+msgid "%s: Track and Route List"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:529 ../src/viktrwlayer.c:7354
+#: ../src/viktrwlayer.c:7420 ../src/viktrwlayer.c:7498
+msgid "_Visibility"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:534
+msgid "_Show All"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:540
+msgid "_Hide All"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:546 ../src/viktrwlayer.c:7371
+#: ../src/viktrwlayer.c:7437 ../src/viktrwlayer.c:7515
+msgid "_Toggle"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:553 ../src/viktrwlayer.c:7536
+msgid "_Sort"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:559 ../src/viktrwlayer.c:7542
+msgid "Name _Ascending"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:565 ../src/viktrwlayer.c:7548
+msgid "Name _Descending"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:571 ../src/viktrwlayer.c:7449
+#: ../src/viktrwlayer.c:7527 ../src/viktrwlayer.c:7587
+#: ../src/viktrwlayer_tracklist.c:237
+msgid "_Statistics"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:576 ../src/viktrwlayer.c:3971
+msgid "Track _List..."
+msgstr ""
+
+#: ../src/vikdemlayer.c:92
msgid "Absolute height"
msgstr ""
-#: ../src/vikdemlayer.c:102
+#: ../src/vikdemlayer.c:93
msgid "Height gradient"
msgstr ""
@@ -1047,25 +1269,52 @@ msgstr ""
msgid "DEM"
msgstr ""
-#: ../src/vikdemlayer.c:284
+#: ../src/vikdemlayer.c:287
#, c-format
msgid "Number of files: %d"
msgstr ""
-#: ../src/vikdemlayer.c:385
+#: ../src/vikdemlayer.c:427
msgid "DEM Loading"
msgstr ""
-#: ../src/vikdemlayer.c:889
+#: ../src/vikdemlayer.c:937
#, c-format
msgid "No SRTM data available for %f, %f"
msgstr ""
-#: ../src/vikdemlayer.c:1149
+#. Probably not over any land...
+#: ../src/vikdemlayer.c:1193
+msgid "No DEM File Available"
+msgstr ""
+
+#: ../src/vikdemlayer.c:1212
+#, c-format
+msgid ""
+"\n"
+"Source: %s\n"
+"\n"
+"DEM File: %s\n"
+"DEM File Timestamp: %s"
+msgstr ""
+
+#: ../src/vikdemlayer.c:1216
+#, c-format
+msgid ""
+"Source: %s\n"
+"\n"
+"No DEM File!"
+msgstr ""
+
+#: ../src/vikdemlayer.c:1256
#, c-format
msgid "Downloading DEM %s"
msgstr ""
+#: ../src/vikdemlayer.c:1280
+msgid "_Show DEM File Information"
+msgstr ""
+
#: ../src/vikfileentry.c:68
msgid "Browse..."
msgstr ""
@@ -1086,248 +1335,266 @@ msgstr ""
msgid "Delete"
msgstr ""
-#: ../src/vikgeoreflayer.c:70
+#: ../src/vikgeoreflayer.c:78
msgid "_Georef Move Map"
msgstr ""
-#: ../src/vikgeoreflayer.c:70
+#: ../src/vikgeoreflayer.c:78
msgid "Georef Move Map"
msgstr ""
-#: ../src/vikgeoreflayer.c:77
+#: ../src/vikgeoreflayer.c:85
msgid "Georef Z_oom Tool"
msgstr ""
-#: ../src/vikgeoreflayer.c:77
+#: ../src/vikgeoreflayer.c:85
msgid "Georef Zoom Tool"
msgstr ""
-#: ../src/vikgeoreflayer.c:87
+#: ../src/vikgeoreflayer.c:95
msgid "GeoRef Map"
msgstr ""
-#: ../src/vikgeoreflayer.c:335 ../src/vikmapslayer.c:685
+#: ../src/vikgeoreflayer.c:377 ../src/vikmapslayer.c:720
#, c-format
msgid "Couldn't open image file: %s"
msgstr ""
-#: ../src/vikgeoreflayer.c:365
+#: ../src/vikgeoreflayer.c:391
+msgid ""
+"GeoRef map cannot be displayed in the current drawmode.\n"
+"Select \"UTM Mode\" from View menu to view it."
+msgstr ""
+
+#: ../src/vikgeoreflayer.c:415
msgid "Unexpected end of file reading World file."
msgstr ""
-#: ../src/vikgeoreflayer.c:381 ../src/vikgeoreflayer.c:426
+#: ../src/vikgeoreflayer.c:431 ../src/vikgeoreflayer.c:476
msgid "Choose World file"
msgstr ""
-#: ../src/vikgeoreflayer.c:394
+#: ../src/vikgeoreflayer.c:444
msgid "The World file you requested could not be opened for reading."
msgstr ""
-#: ../src/vikgeoreflayer.c:439
+#: ../src/vikgeoreflayer.c:489
msgid "The file you requested could not be opened for writing."
msgstr ""
-#: ../src/vikgeoreflayer.c:456 ../src/viklayer.c:480
+#: ../src/vikgeoreflayer.c:506 ../src/viklayer.c:518
msgid "Layer Properties"
msgstr ""
-#: ../src/vikgeoreflayer.c:478
+#: ../src/vikgeoreflayer.c:528
msgid "World File Parameters:"
msgstr ""
-#: ../src/vikgeoreflayer.c:479
+#: ../src/vikgeoreflayer.c:529
msgid "Load From File..."
msgstr ""
-#: ../src/vikgeoreflayer.c:484
+#: ../src/vikgeoreflayer.c:534
msgid "Corner pixel easting:"
msgstr ""
-#: ../src/vikgeoreflayer.c:486
-msgid "the UTM \"easting\" value of the upper-right corner pixel of the map"
+#: ../src/vikgeoreflayer.c:536
+msgid "the UTM \"easting\" value of the upper-left corner pixel of the map"
msgstr ""
-#: ../src/vikgeoreflayer.c:488
+#: ../src/vikgeoreflayer.c:538
msgid "Corner pixel northing:"
msgstr ""
-#: ../src/vikgeoreflayer.c:490
-msgid "the UTM \"northing\" value of the upper-right corner pixel of the map"
+#: ../src/vikgeoreflayer.c:540
+msgid "the UTM \"northing\" value of the upper-left corner pixel of the map"
msgstr ""
-#: ../src/vikgeoreflayer.c:492
+#: ../src/vikgeoreflayer.c:542
msgid "X (easting) scale (mpp): "
msgstr ""
-#: ../src/vikgeoreflayer.c:493
+#: ../src/vikgeoreflayer.c:543
msgid "Y (northing) scale (mpp): "
msgstr ""
-#: ../src/vikgeoreflayer.c:496
+#: ../src/vikgeoreflayer.c:546
msgid "the scale of the map in the X direction (meters per pixel)"
msgstr ""
-#: ../src/vikgeoreflayer.c:498
+#: ../src/vikgeoreflayer.c:548
msgid "the scale of the map in the Y direction (meters per pixel)"
msgstr ""
-#: ../src/vikgeoreflayer.c:500
+#: ../src/vikgeoreflayer.c:550
msgid "Map Image:"
msgstr ""
#. Now with icons
-#: ../src/vikgeoreflayer.c:608
+#: ../src/vikgeoreflayer.c:658
msgid "_Zoom to Fit Map"
msgstr ""
-#: ../src/vikgeoreflayer.c:614
+#: ../src/vikgeoreflayer.c:664
msgid "_Goto Map Center"
msgstr ""
-#: ../src/vikgeoreflayer.c:620
+#: ../src/vikgeoreflayer.c:670
msgid "_Export to World File"
msgstr ""
-#: ../src/vikgoto.c:75
+#: ../src/vikgoto.c:81
msgid "No goto tool available."
msgstr ""
-#: ../src/vikgoto.c:88 ../src/vikgoto.c:107
+#: ../src/vikgoto.c:94 ../src/vikgoto.c:148
msgid "goto"
msgstr ""
-#: ../src/vikgoto.c:90
+#: ../src/vikgoto.c:96
msgid "I don't know that place. Do you want another goto?"
msgstr ""
-#: ../src/vikgoto.c:109
+#: ../src/vikgoto.c:150
msgid "goto provider:"
msgstr ""
-#: ../src/vikgoto.c:124
+#: ../src/vikgoto.c:165
msgid "Enter address or place name:"
msgstr ""
-#: ../src/vikgpslayer.c:127
+#: ../src/vikgoto.c:363
+msgid "Locality"
+msgstr ""
+
+#: ../src/vikgpslayer.c:128
msgid "Data Mode"
msgstr ""
-#: ../src/vikgpslayer.c:129
+#: ../src/vikgpslayer.c:130
msgid "Realtime Tracking Mode"
msgstr ""
-#: ../src/vikgpslayer.c:137
+#: ../src/vikgpslayer.c:167
msgid "Keep vehicle at center"
msgstr ""
-#: ../src/vikgpslayer.c:138
+#: ../src/vikgpslayer.c:168
msgid "Keep vehicle on screen"
msgstr ""
-#: ../src/vikgpslayer.c:139
+#: ../src/vikgpslayer.c:169
msgid "Disable"
msgstr ""
-#: ../src/vikgpslayer.c:152
+#: ../src/vikgpslayer.c:209
msgid "Download Tracks:"
msgstr ""
-#: ../src/vikgpslayer.c:153
+#: ../src/vikgpslayer.c:210
msgid "Upload Tracks:"
msgstr ""
-#: ../src/vikgpslayer.c:154
+#: ../src/vikgpslayer.c:211
msgid "Download Routes:"
msgstr ""
-#: ../src/vikgpslayer.c:155
+#: ../src/vikgpslayer.c:212
msgid "Upload Routes:"
msgstr ""
-#: ../src/vikgpslayer.c:156
+#: ../src/vikgpslayer.c:213
msgid "Download Waypoints:"
msgstr ""
-#: ../src/vikgpslayer.c:157
+#: ../src/vikgpslayer.c:214
msgid "Upload Waypoints:"
msgstr ""
-#: ../src/vikgpslayer.c:159
+#: ../src/vikgpslayer.c:216
msgid "Recording tracks"
msgstr ""
-#: ../src/vikgpslayer.c:160
+#: ../src/vikgpslayer.c:217
msgid "Jump to current position on start"
msgstr ""
-#: ../src/vikgpslayer.c:161
+#: ../src/vikgpslayer.c:218
msgid "Moving Map Method:"
msgstr ""
-#: ../src/vikgpslayer.c:162
+#: ../src/vikgpslayer.c:219
+msgid "Update Statusbar:"
+msgstr ""
+
+#: ../src/vikgpslayer.c:219
+msgid "Display information in the statusbar on GPS updates"
+msgstr ""
+
+#: ../src/vikgpslayer.c:220
msgid "Gpsd Host:"
msgstr ""
-#: ../src/vikgpslayer.c:163
+#: ../src/vikgpslayer.c:221
msgid "Gpsd Port:"
msgstr ""
-#: ../src/vikgpslayer.c:164
+#: ../src/vikgpslayer.c:222
msgid "Gpsd Retry Interval (seconds):"
msgstr ""
-#: ../src/vikgpslayer.c:179
+#: ../src/vikgpslayer.c:243
msgid "GPS"
msgstr ""
-#: ../src/vikgpslayer.c:242 ../src/vikgpslayer.c:1258
+#: ../src/vikgpslayer.c:306 ../src/vikgpslayer.c:1308
msgid "GPS Download"
msgstr ""
-#: ../src/vikgpslayer.c:242 ../src/vikgpslayer.c:1258
-#: ../src/viktrwlayer.c:3094
+#: ../src/vikgpslayer.c:306 ../src/vikgpslayer.c:1308
+#: ../src/viktrwlayer.c:3480
msgid "GPS Upload"
msgstr ""
-#: ../src/vikgpslayer.c:244
+#: ../src/vikgpslayer.c:308
msgid "GPS Realtime Tracking"
msgstr ""
-#: ../src/vikgpslayer.c:451
+#: ../src/vikgpslayer.c:517
msgid "Unknown GPS Protocol"
msgstr ""
-#: ../src/vikgpslayer.c:469
+#: ../src/vikgpslayer.c:535
msgid "Unknown serial port device"
msgstr ""
-#: ../src/vikgpslayer.c:572
+#: ../src/vikgpslayer.c:648
#, c-format
msgid "%s: unknown parameter"
msgstr ""
#. Now with icons
-#: ../src/vikgpslayer.c:693
+#: ../src/vikgpslayer.c:743
msgid "_Upload to GPS"
msgstr ""
-#: ../src/vikgpslayer.c:699
+#: ../src/vikgpslayer.c:749
msgid "Download from _GPS"
msgstr ""
-#: ../src/vikgpslayer.c:720
+#: ../src/vikgpslayer.c:770
msgid "Empty _Realtime"
msgstr ""
-#: ../src/vikgpslayer.c:727
+#: ../src/vikgpslayer.c:777
msgid "E_mpty Upload"
msgstr ""
-#: ../src/vikgpslayer.c:733
+#: ../src/vikgpslayer.c:783
msgid "_Empty Download"
msgstr ""
-#: ../src/vikgpslayer.c:739
+#: ../src/vikgpslayer.c:789
msgid "Empty _All"
msgstr ""
@@ -1336,234 +1603,232 @@ msgstr ""
#. This happens when copied GPS layer is deleted (not sure why the number_handlers would be 2)
#. I don't think there's any side effects and certainly better than the program just aborting
#.
-#: ../src/vikgpslayer.c:756
+#: ../src/vikgpslayer.c:806
#, c-format
msgid "Unexpected number of disconnected handlers: %d"
msgstr ""
-#: ../src/vikgpslayer.c:898
+#: ../src/vikgpslayer.c:948
#, c-format
msgid "Uploading %d waypoint..."
msgid_plural "Uploading %d waypoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:899
+#: ../src/vikgpslayer.c:949
#, c-format
msgid "Uploading %d trackpoint..."
msgid_plural "Uploading %d trackpoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:900
+#: ../src/vikgpslayer.c:950
#, c-format
msgid "Uploading %d routepoint..."
msgid_plural "Uploading %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:925
+#: ../src/vikgpslayer.c:975
#, c-format
msgid "Downloaded %d out of %d waypoint..."
msgid_plural "Downloaded %d out of %d waypoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:926
+#: ../src/vikgpslayer.c:976
#, c-format
msgid "Downloaded %d out of %d trackpoint..."
msgid_plural "Downloaded %d out of %d trackpoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:927
+#: ../src/vikgpslayer.c:977
#, c-format
msgid "Downloaded %d out of %d routepoint..."
msgid_plural "Downloaded %d out of %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:932
+#: ../src/vikgpslayer.c:982
#, c-format
msgid "Uploaded %d out of %d waypoint..."
msgid_plural "Uploaded %d out of %d waypoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:933
+#: ../src/vikgpslayer.c:983
#, c-format
msgid "Uploaded %d out of %d trackpoint..."
msgid_plural "Uploaded %d out of %d trackpoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:934
+#: ../src/vikgpslayer.c:984
#, c-format
msgid "Uploaded %d out of %d routepoint..."
msgid_plural "Uploaded %d out of %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:942
+#: ../src/vikgpslayer.c:992
#, c-format
msgid "Downloaded %d waypoint"
msgid_plural "Downloaded %d waypoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:943
+#: ../src/vikgpslayer.c:993
#, c-format
msgid "Downloaded %d trackpoint"
msgid_plural "Downloaded %d trackpoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:944
+#: ../src/vikgpslayer.c:994
#, c-format
msgid "Downloaded %d routepoint"
msgid_plural "Downloaded %d routepoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:949
+#: ../src/vikgpslayer.c:999
#, c-format
msgid "Uploaded %d waypoint"
msgid_plural "Uploaded %d waypoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:950
+#: ../src/vikgpslayer.c:1000
#, c-format
msgid "Uploaded %d trackpoint"
msgid_plural "Uploaded %d trackpoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:951
+#: ../src/vikgpslayer.c:1001
#, c-format
msgid "Uploaded %d routepoint"
msgid_plural "Uploaded %d routepoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:1180
+#: ../src/vikgpslayer.c:1230
msgid "Error: couldn't find gpsbabel."
msgstr ""
-#: ../src/vikgpslayer.c:1269
+#: ../src/vikgpslayer.c:1319
msgid "Warning - GPS Upload items may overwrite each other"
msgstr ""
-#: ../src/vikgpslayer.c:1301
+#: ../src/vikgpslayer.c:1351
msgid "Status: detecting gpsbabel"
msgstr ""
-#: ../src/vikgpslayer.c:1332
+#: ../src/vikgpslayer.c:1386
msgid "No GPS items selected for transfer."
msgstr ""
-#: ../src/vikgpslayer.c:1347
+#: ../src/vikgpslayer.c:1401
msgid "Could not turn off device."
msgstr ""
-#: ../src/vikgpslayer.c:1385
+#: ../src/vikgpslayer.c:1439
msgid "Are you sure you want to delete GPS Upload data?"
msgstr ""
-#: ../src/vikgpslayer.c:1398
+#: ../src/vikgpslayer.c:1452
msgid "Are you sure you want to delete GPS Download data?"
msgstr ""
-#: ../src/vikgpslayer.c:1412
+#: ../src/vikgpslayer.c:1466
msgid "Are you sure you want to delete GPS Realtime data?"
msgstr ""
-#: ../src/vikgpslayer.c:1425
+#: ../src/vikgpslayer.c:1479
msgid "Are you sure you want to delete All GPS data?"
msgstr ""
-#: ../src/viklayerspanel.c:55
-msgid "/C_ut"
+#: ../src/viklayerspanel.c:53
+msgid "C_ut"
msgstr ""
-#: ../src/viklayerspanel.c:56
-msgid "/_Copy"
+#: ../src/viklayerspanel.c:54 ../src/vikwindow.c:3753
+msgid "_Copy"
msgstr ""
-#: ../src/viklayerspanel.c:57
-msgid "/_Paste"
+#: ../src/viklayerspanel.c:55 ../src/vikwindow.c:3754
+msgid "_Paste"
msgstr ""
-#: ../src/viklayerspanel.c:58
-msgid "/_Delete"
+#: ../src/viklayerspanel.c:56 ../src/vikwindow.c:3755
+msgid "_Delete"
msgstr ""
-#: ../src/viklayerspanel.c:59
-msgid "/New Layer"
+#: ../src/viklayerspanel.c:133
+msgid "New Layer"
msgstr ""
-#: ../src/viklayerspanel.c:127
+#: ../src/viklayerspanel.c:178
msgid "Top Layer"
msgstr ""
-#: ../src/viklayerspanel.c:143
+#: ../src/viklayerspanel.c:194
msgid "Add new layer"
msgstr ""
-#: ../src/viklayerspanel.c:150
+#: ../src/viklayerspanel.c:201
msgid "Remove selected layer"
msgstr ""
-#: ../src/viklayerspanel.c:157
+#: ../src/viklayerspanel.c:208
msgid "Move selected layer up"
msgstr ""
-#: ../src/viklayerspanel.c:164
+#: ../src/viklayerspanel.c:215
msgid "Move selected layer down"
msgstr ""
-#: ../src/viklayerspanel.c:171
+#: ../src/viklayerspanel.c:222
msgid "Cut selected layer"
msgstr ""
-#: ../src/viklayerspanel.c:178
+#: ../src/viklayerspanel.c:229
msgid "Copy selected layer"
msgstr ""
-#: ../src/viklayerspanel.c:185
-msgid "Paste layer below selected layer"
+#: ../src/viklayerspanel.c:236
+msgid ""
+"Paste layer into selected container layer or otherwise above selected layer"
msgstr ""
-#. TODO: FIXME: if name has a '/' in it it will get all messed up. why not have an itemfactory field with
-#. name, icon, shortcut, etc.?
-#: ../src/viklayerspanel.c:204 ../src/vikwindow.c:3292
-#, c-format
-msgid "New _%s Layer"
+#: ../src/viklayerspanel.c:300
+msgid "New name can not be blank."
msgstr ""
-#: ../src/viklayerspanel.c:511
+#: ../src/viklayerspanel.c:544
msgid "Aggregate Layers have no settable properties."
msgstr ""
-#: ../src/viklayerspanel.c:555
+#: ../src/viklayerspanel.c:588
msgid "You cannot cut the Top Layer."
msgstr ""
-#: ../src/viklayerspanel.c:600
+#: ../src/viklayerspanel.c:633
#, c-format
msgid "Are you sure you want to delete %s?"
msgstr ""
-#: ../src/viklayerspanel.c:617
+#: ../src/viklayerspanel.c:650
msgid "You cannot delete the Top Layer."
msgstr ""
-#: ../src/viklayerspanel.c:701
+#: ../src/viklayerspanel.c:734
msgid "Are you sure you wish to delete all layers?"
msgstr ""
#. ******* MAPZOOMS ********
-#: ../src/vikmapslayer.c:91
+#: ../src/vikmapslayer.c:80
msgid "Use Viking Zoom Level"
msgstr ""
@@ -1610,70 +1875,70 @@ msgid ""
"actual zoom level."
msgstr ""
-#: ../src/vikmapslayer.c:146
+#: ../src/vikmapslayer.c:156
msgid "_Maps Download"
msgstr ""
-#: ../src/vikmapslayer.c:146
+#: ../src/vikmapslayer.c:156
msgid "Maps Download"
msgstr ""
-#: ../src/vikmapslayer.c:161
+#: ../src/vikmapslayer.c:171
msgid "Map"
msgstr ""
-#: ../src/vikmapslayer.c:249
-msgid "Default maplayer directory:"
+#: ../src/vikmapslayer.c:259
+msgid "Default map layer directory:"
msgstr ""
-#: ../src/vikmapslayer.c:249
+#: ../src/vikmapslayer.c:259
msgid "Choose a directory to store cached Map tiles for this layer"
msgstr ""
-#: ../src/vikmapslayer.c:505
+#: ../src/vikmapslayer.c:523
msgid "Unknown map type"
msgstr ""
-#: ../src/vikmapslayer.c:516
+#: ../src/vikmapslayer.c:534
msgid "Unknown Map Zoom"
msgstr ""
-#: ../src/vikmapslayer.c:589
+#: ../src/vikmapslayer.c:624
#, c-format
msgid ""
"New map cannot be displayed in the current drawmode.\n"
"Select \"%s\" from View menu to view it."
msgstr ""
-#: ../src/vikmapslayer.c:753
+#: ../src/vikmapslayer.c:798
#, c-format
msgid ""
"Cowardly refusing to draw tiles or existence of tiles beyond %d zoom out "
"factor"
msgstr ""
-#: ../src/vikmapslayer.c:1157
+#: ../src/vikmapslayer.c:1210
#, c-format
msgid "Redownloading up to %d %s map..."
msgid_plural "Redownloading up to %d %s maps..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikmapslayer.c:1159
+#: ../src/vikmapslayer.c:1212
#, c-format
msgid "Redownloading %d %s map..."
msgid_plural "Redownloading %d %s maps..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikmapslayer.c:1163 ../src/vikmapslayer.c:1238
+#: ../src/vikmapslayer.c:1216 ../src/vikmapslayer.c:1290
#, c-format
msgid "Downloading %d %s map..."
msgid_plural "Downloading %d %s maps..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikmapslayer.c:1311
+#: ../src/vikmapslayer.c:1376
#, c-format
msgid ""
"\n"
@@ -1683,7 +1948,7 @@ msgid ""
"Tile File Timestamp: %s"
msgstr ""
-#: ../src/vikmapslayer.c:1318
+#: ../src/vikmapslayer.c:1380
#, c-format
msgid ""
"Source: %s\n"
@@ -1691,1458 +1956,2035 @@ msgid ""
"No Tile File!"
msgstr ""
-#: ../src/vikmapslayer.c:1356
+#: ../src/vikmapslayer.c:1418
msgid "Redownload _Bad Map(s)"
msgstr ""
-#: ../src/vikmapslayer.c:1360
+#: ../src/vikmapslayer.c:1422
msgid "Redownload _New Map(s)"
msgstr ""
-#: ../src/vikmapslayer.c:1364
+#: ../src/vikmapslayer.c:1426
msgid "Redownload _All Map(s)"
msgstr ""
-#: ../src/vikmapslayer.c:1368
+#: ../src/vikmapslayer.c:1430
msgid "_Show Tile Information"
msgstr ""
-#: ../src/vikmapslayer.c:1449
+#: ../src/vikmapslayer.c:1511
#, c-format
msgid ""
"Wrong drawmode for this map.\n"
"Select \"%s\" from View menu and try again."
msgstr ""
-#: ../src/vikmapslayer.c:1454
+#: ../src/vikmapslayer.c:1516
msgid "Wrong zoom level for this map."
msgstr ""
+#: ../src/vikmapslayer.c:1647
+msgid "Zoom Start:"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1654
+msgid "Zoom End:"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1660
+msgid "Download Maps Method:"
+msgstr ""
+
+#. redownload method - needs to align with REDOWNLOAD* macro values
+#: ../src/vikmapslayer.c:1732
+msgid "Missing"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1732
+msgid "Bad"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1732
+msgid "New"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1732
+msgid "Reload All"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1734
+msgid "Download for Zoom Levels"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1774
+#, c-format
+msgid ""
+"You are not allowed to download more than %d tiles in one go (requested %d)"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1782
+#, c-format
+msgid "Do you really want to download %d tiles?"
+msgstr ""
+
#. Now with icons
-#: ../src/vikmapslayer.c:1485
+#: ../src/vikmapslayer.c:1807
msgid "Download _Missing Onscreen Maps"
msgstr ""
-#: ../src/vikmapslayer.c:1492
+#: ../src/vikmapslayer.c:1814
msgid "Download _New Onscreen Maps"
msgstr ""
-#: ../src/vikmapslayer.c:1499
+#: ../src/vikmapslayer.c:1821
msgid "Reload _All Onscreen Maps"
msgstr ""
-#: ../src/viktreeview.c:263
+#: ../src/vikmapslayer.c:1827
+msgid "Download Maps in _Zoom Levels..."
+msgstr ""
+
+#: ../src/vikrouting.c:54
+msgid "Default engine:"
+msgstr ""
+
+#: ../src/viktreeview.c:316
msgid "Layer Name"
msgstr ""
-#: ../src/viktreeview.c:742
+#: ../src/viktreeview.c:851
#, c-format
msgid "delete data from %s\n"
msgstr ""
-#: ../src/viktrwlayer.c:377
+#: ../src/viktrwlayer.c:398
msgid "Create _Waypoint"
msgstr ""
-#: ../src/viktrwlayer.c:377
+#: ../src/viktrwlayer.c:398
msgid "Create Waypoint"
msgstr ""
-#: ../src/viktrwlayer.c:383
+#: ../src/viktrwlayer.c:404
msgid "Create _Track"
msgstr ""
-#: ../src/viktrwlayer.c:383
+#: ../src/viktrwlayer.c:404
msgid "Create Track"
msgstr ""
-#: ../src/viktrwlayer.c:392
+#: ../src/viktrwlayer.c:413
msgid "Create _Route"
msgstr ""
-#: ../src/viktrwlayer.c:392
+#: ../src/viktrwlayer.c:413
msgid "Create Route"
msgstr ""
-#: ../src/viktrwlayer.c:401
+#: ../src/viktrwlayer.c:422
msgid "_Edit Waypoint"
msgstr ""
-#: ../src/viktrwlayer.c:401
+#: ../src/viktrwlayer.c:422
msgid "Edit Waypoint"
msgstr ""
-#: ../src/viktrwlayer.c:409
+#: ../src/viktrwlayer.c:432
msgid "Edit Trac_kpoint"
msgstr ""
-#: ../src/viktrwlayer.c:409
+#: ../src/viktrwlayer.c:432
msgid "Edit Trackpoint"
msgstr ""
-#: ../src/viktrwlayer.c:417
+#: ../src/viktrwlayer.c:442
msgid "Show P_icture"
msgstr ""
-#: ../src/viktrwlayer.c:417
+#: ../src/viktrwlayer.c:442
msgid "Show Picture"
msgstr ""
-#: ../src/viktrwlayer.c:424
+#: ../src/viktrwlayer.c:448
msgid "Route _Finder"
msgstr ""
-#: ../src/viktrwlayer.c:424
+#: ../src/viktrwlayer.c:448
msgid "Route Finder"
msgstr ""
#. ***** PARAMETERS *****
-#: ../src/viktrwlayer.c:447 ../src/viktrwlayer.c:1942
-#: ../src/viktrwlayer.c:1944
+#: ../src/viktrwlayer.c:468 ../src/viktrwlayer.c:2324
msgid "Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:447 ../src/viktrwlayer.c:1933
-#: ../src/viktrwlayer.c:1935
+#: ../src/viktrwlayer.c:468 ../src/viktrwlayer.c:2319
msgid "Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:447
+#: ../src/viktrwlayer.c:468
msgid "Waypoint Images"
msgstr ""
-#: ../src/viktrwlayer.c:450
+#: ../src/viktrwlayer.c:468
+msgid "Tracks Advanced"
+msgstr ""
+
+#: ../src/viktrwlayer.c:471
msgid "Draw by Track"
msgstr ""
-#: ../src/viktrwlayer.c:450
+#: ../src/viktrwlayer.c:471
msgid "Draw by Speed"
msgstr ""
-#: ../src/viktrwlayer.c:450
+#: ../src/viktrwlayer.c:471
msgid "All Tracks Same Color"
msgstr ""
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "Filled Square"
msgstr ""
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "Square"
msgstr ""
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "Circle"
msgstr ""
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "X"
msgstr ""
-#: ../src/viktrwlayer.c:477
+#: ../src/viktrwlayer.c:498
msgid "Extra Extra Small"
msgstr ""
-#: ../src/viktrwlayer.c:478
+#: ../src/viktrwlayer.c:499
msgid "Extra Small"
msgstr ""
-#: ../src/viktrwlayer.c:479
+#: ../src/viktrwlayer.c:500
msgid "Small"
msgstr ""
-#: ../src/viktrwlayer.c:480
+#: ../src/viktrwlayer.c:501
msgid "Medium"
msgstr ""
-#: ../src/viktrwlayer.c:481
+#: ../src/viktrwlayer.c:502
msgid "Large"
msgstr ""
-#: ../src/viktrwlayer.c:482
+#: ../src/viktrwlayer.c:503
msgid "Extra Large"
msgstr ""
-#: ../src/viktrwlayer.c:483
+#: ../src/viktrwlayer.c:504
msgid "Extra Extra Large"
msgstr ""
-#: ../src/viktrwlayer.c:491
+#: ../src/viktrwlayer.c:510
+msgid "Name Ascending"
+msgstr ""
+
+#: ../src/viktrwlayer.c:511
+msgid "Name Descending"
+msgstr ""
+
+#: ../src/viktrwlayer.c:552 ../src/viktrwlayer.c:576
+msgid "Draw Labels"
+msgstr ""
+
+#: ../src/viktrwlayer.c:553
+msgid "Note: the individual track controls what labels may be displayed"
+msgstr ""
+
+#: ../src/viktrwlayer.c:554
+msgid "Track Labels Font Size:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:555
msgid "Track Drawing Mode:"
msgstr ""
-#: ../src/viktrwlayer.c:492
+#: ../src/viktrwlayer.c:556
msgid "All Tracks Color:"
msgstr ""
-#: ../src/viktrwlayer.c:493
+#: ../src/viktrwlayer.c:557
msgid "The color used when 'All Tracks Same Color' drawing mode is selected"
msgstr ""
-#: ../src/viktrwlayer.c:494
+#: ../src/viktrwlayer.c:558
msgid "Draw Track Lines"
msgstr ""
-#: ../src/viktrwlayer.c:495
+#: ../src/viktrwlayer.c:559
msgid "Track Thickness:"
msgstr ""
-#: ../src/viktrwlayer.c:496
+#: ../src/viktrwlayer.c:560
msgid "Draw Track Direction"
msgstr ""
-#: ../src/viktrwlayer.c:497
+#: ../src/viktrwlayer.c:561
msgid "Direction Size:"
msgstr ""
-#: ../src/viktrwlayer.c:498
+#: ../src/viktrwlayer.c:562
msgid "Draw Trackpoints"
msgstr ""
-#: ../src/viktrwlayer.c:499
+#: ../src/viktrwlayer.c:563
msgid "Trackpoint Size:"
msgstr ""
-#: ../src/viktrwlayer.c:500
+#: ../src/viktrwlayer.c:564
msgid "Draw Elevation"
msgstr ""
-#: ../src/viktrwlayer.c:501
+#: ../src/viktrwlayer.c:565
msgid "Draw Elevation Height %:"
msgstr ""
-#: ../src/viktrwlayer.c:503
+#: ../src/viktrwlayer.c:566
msgid "Draw Stops"
msgstr ""
-#: ../src/viktrwlayer.c:504
+#: ../src/viktrwlayer.c:567
msgid ""
"Whether to draw a marker when trackpoints are at the same position but over "
"the minimum stop length apart in time"
msgstr ""
-#: ../src/viktrwlayer.c:505
+#: ../src/viktrwlayer.c:568
msgid "Min Stop Length (seconds):"
msgstr ""
-#: ../src/viktrwlayer.c:507
+#: ../src/viktrwlayer.c:570
msgid "Track BG Thickness:"
msgstr ""
-#: ../src/viktrwlayer.c:508
+#: ../src/viktrwlayer.c:571
msgid "Track Background Color"
msgstr ""
-#: ../src/viktrwlayer.c:509
+#: ../src/viktrwlayer.c:572
msgid "Draw by Speed Factor (%):"
msgstr ""
-#: ../src/viktrwlayer.c:510
+#: ../src/viktrwlayer.c:573
msgid ""
"The percentage factor away from the average speed determining the color used"
msgstr ""
-#: ../src/viktrwlayer.c:512
-msgid "Draw Labels"
+#: ../src/viktrwlayer.c:574
+msgid "Track Sort Order:"
msgstr ""
-#: ../src/viktrwlayer.c:513
+#: ../src/viktrwlayer.c:577
msgid "Waypoint Font Size:"
msgstr ""
-#: ../src/viktrwlayer.c:514
+#: ../src/viktrwlayer.c:578
msgid "Waypoint Color:"
msgstr ""
-#: ../src/viktrwlayer.c:515
+#: ../src/viktrwlayer.c:579
msgid "Waypoint Text:"
msgstr ""
-#: ../src/viktrwlayer.c:516
+#: ../src/viktrwlayer.c:580
msgid "Background:"
msgstr ""
-#: ../src/viktrwlayer.c:517
+#: ../src/viktrwlayer.c:581
msgid "Fake BG Color Translucency:"
msgstr ""
-#: ../src/viktrwlayer.c:518
+#: ../src/viktrwlayer.c:582
msgid "Waypoint marker:"
msgstr ""
-#: ../src/viktrwlayer.c:519
+#: ../src/viktrwlayer.c:583
msgid "Waypoint size:"
msgstr ""
-#: ../src/viktrwlayer.c:520
+#: ../src/viktrwlayer.c:584
msgid "Draw Waypoint Symbols:"
msgstr ""
-#: ../src/viktrwlayer.c:522
+#: ../src/viktrwlayer.c:585
+msgid "Waypoint Sort Order:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:587
msgid "Draw Waypoint Images"
msgstr ""
-#: ../src/viktrwlayer.c:523
+#: ../src/viktrwlayer.c:588
msgid "Image Size (pixels):"
msgstr ""
-#: ../src/viktrwlayer.c:524
+#: ../src/viktrwlayer.c:589
msgid "Image Alpha:"
msgstr ""
-#: ../src/viktrwlayer.c:525
+#: ../src/viktrwlayer.c:590
msgid "Image Memory Cache Size:"
msgstr ""
-#: ../src/viktrwlayer.c:610
+#: ../src/viktrwlayer.c:678
msgid "TrackWaypoint"
msgstr ""
-#: ../src/viktrwlayer.c:1951 ../src/viktrwlayer.c:1953
+#: ../src/viktrwlayer.c:1534 ../src/vikutils.c:204
+msgid "miles"
+msgstr ""
+
+#. VIK_UNITS_DISTANCE_KILOMETRES:
+#: ../src/viktrwlayer.c:1538 ../src/vikutils.c:209
+msgid "km"
+msgstr ""
+
+#: ../src/viktrwlayer.c:1648
+msgid "start/end"
+msgstr ""
+
+#: ../src/viktrwlayer.c:1660
+msgid "start"
+msgstr ""
+
+#: ../src/viktrwlayer.c:1669
+msgid "end"
+msgstr ""
+
+#: ../src/viktrwlayer.c:2329
msgid "Routes"
msgstr ""
-#: ../src/viktrwlayer.c:2144
+#: ../src/viktrwlayer.c:2519
#, c-format
msgid " in %d:%02d hrs:mins"
msgstr ""
-#: ../src/viktrwlayer.c:2148
+#: ../src/viktrwlayer.c:2523
#, c-format
msgid ""
"\n"
"%sTotal Length %.1f %s%s"
msgstr ""
-#: ../src/viktrwlayer.c:2154
+#: ../src/viktrwlayer.c:2529
#, c-format
msgid "Tracks: %d - Waypoints: %d - Routes: %d%s"
msgstr ""
-#: ../src/viktrwlayer.c:2174
+#: ../src/viktrwlayer.c:2549
#, c-format
msgid "Tracks: %d"
msgstr ""
-#: ../src/viktrwlayer.c:2184
+#: ../src/viktrwlayer.c:2559
#, c-format
msgid "Routes: %d"
msgstr ""
-#: ../src/viktrwlayer.c:2215
+#: ../src/viktrwlayer.c:2590
#, c-format
msgid "- %d:%02d hrs:mins"
msgstr ""
-#: ../src/viktrwlayer.c:2223
+#: ../src/viktrwlayer.c:2598
#, c-format
msgid "%s%.1f km %s"
msgstr ""
-#: ../src/viktrwlayer.c:2226
+#: ../src/viktrwlayer.c:2601
#, c-format
msgid "%s%.1f miles %s"
msgstr ""
-#: ../src/viktrwlayer.c:2240
+#: ../src/viktrwlayer.c:2615
#, c-format
msgid "Waypoints: %d"
msgstr ""
-#: ../src/viktrwlayer.c:2266
-#, c-format
-msgid "Trkpt: Alt %dft"
-msgstr ""
-
-#. VIK_UNITS_HEIGHT_METRES:
-#: ../src/viktrwlayer.c:2270
-#, c-format
-msgid "Trkpt: Alt %dm"
-msgstr ""
-
-#. Compact date time format
-#: ../src/viktrwlayer.c:2277
-#, c-format
-msgid " | Time %x %X"
-msgstr ""
-
-#: ../src/viktrwlayer.c:2295
-#, c-format
-msgid " | Track: %s"
-msgstr ""
-
-#. Combine parts to make overall message
-#: ../src/viktrwlayer.c:2299
-#, c-format
-msgid "%s%s | %s %s %s"
-msgstr ""
-
-#: ../src/viktrwlayer.c:2314
+#: ../src/viktrwlayer.c:2671
#, c-format
msgid "Wpt: Alt %dft"
msgstr ""
#. VIK_UNITS_HEIGHT_METRES:
-#: ../src/viktrwlayer.c:2318
+#: ../src/viktrwlayer.c:2675
#, c-format
msgid "Wpt: Alt %dm"
msgstr ""
#. Add comment if available
-#: ../src/viktrwlayer.c:2333
+#: ../src/viktrwlayer.c:2690
#, c-format
msgid "%s | %s %s | Comment: %s"
msgstr ""
-#: ../src/viktrwlayer.c:2335
+#: ../src/viktrwlayer.c:2692
#, c-format
msgid "%s | %s %s"
msgstr ""
-#: ../src/viktrwlayer.c:2563 ../src/viktrwlayer.c:2634
+#: ../src/viktrwlayer.c:2939 ../src/viktrwlayer.c:3010
msgid "This layer has no waypoints or trackpoints."
msgstr ""
-#: ../src/viktrwlayer.c:2661 ../src/vikwindow.c:2407 ../src/vikwindow.c:2848
+#: ../src/viktrwlayer.c:3045 ../src/vikwindow.c:2754 ../src/vikwindow.c:3407
#, c-format
msgid "The file \"%s\" exists, do you wish to overwrite it?"
msgstr ""
-#: ../src/viktrwlayer.c:2671 ../src/vikwindow.c:2429
+#: ../src/viktrwlayer.c:3057 ../src/vikwindow.c:2778
msgid "The filename you requested could not be opened for writing."
msgstr ""
-#: ../src/viktrwlayer.c:2676 ../src/viktrwlayer.c:2681
-#: ../src/viktrwlayer.c:2691 ../src/viktrwlayer.c:2703
+#: ../src/viktrwlayer.c:3062 ../src/viktrwlayer.c:3067
+#: ../src/viktrwlayer.c:3077 ../src/viktrwlayer.c:3089
msgid "Export Layer"
msgstr ""
-#: ../src/viktrwlayer.c:2720
+#: ../src/viktrwlayer.c:3108
msgid "Could not create temporary file for export."
msgstr ""
-#: ../src/viktrwlayer.c:2729
+#: ../src/viktrwlayer.c:3117
#, c-format
msgid "Could not launch %s."
msgstr ""
-#: ../src/viktrwlayer.c:2773
+#: ../src/viktrwlayer.c:3161
msgid "Export Track as GPX"
msgstr ""
-#: ../src/viktrwlayer.c:2795
+#: ../src/viktrwlayer.c:3183
msgid "Find"
msgstr ""
-#: ../src/viktrwlayer.c:2805
+#: ../src/viktrwlayer.c:3193
msgid "Waypoint Name:"
msgstr ""
-#: ../src/viktrwlayer.c:2822
+#: ../src/viktrwlayer.c:3210
msgid "Waypoint not found in this layer."
msgstr ""
-#: ../src/viktrwlayer.c:3090
+#: ../src/viktrwlayer.c:3476
msgid "Can not upload invisible track."
msgstr ""
-#: ../src/viktrwlayer.c:3192 ../src/viktrwlayer.c:7785
+#: ../src/viktrwlayer.c:3581 ../src/viktrwlayer.c:9283
msgid "Track"
msgstr ""
-#: ../src/viktrwlayer.c:3215 ../src/viktrwlayer.c:7817
+#: ../src/viktrwlayer.c:3606 ../src/viktrwlayer.c:9316
msgid "Route"
msgstr ""
-#: ../src/viktrwlayer.c:3296 ../src/viktrwlayer.c:6265
-#: ../src/viktrwlayer.c:6314
+#: ../src/viktrwlayer.c:3691 ../src/viktrwlayer.c:7460
+#: ../src/viktrwlayer.c:7566
msgid "_Finish Route"
msgstr ""
-#: ../src/viktrwlayer.c:3298 ../src/viktrwlayer.c:6223
-#: ../src/viktrwlayer.c:6312
+#: ../src/viktrwlayer.c:3693 ../src/viktrwlayer.c:7383
+#: ../src/viktrwlayer.c:7564
msgid "_Finish Track"
msgstr ""
#. Now with icons
-#: ../src/viktrwlayer.c:3310
+#: ../src/viktrwlayer.c:3705
msgid "_View Layer"
msgstr ""
-#: ../src/viktrwlayer.c:3317
+#: ../src/viktrwlayer.c:3712
msgid "V_iew"
msgstr ""
-#: ../src/viktrwlayer.c:3323
+#: ../src/viktrwlayer.c:3718
msgid "View All _Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:3328
+#: ../src/viktrwlayer.c:3723
msgid "View All _Routes"
msgstr ""
-#: ../src/viktrwlayer.c:3333
+#: ../src/viktrwlayer.c:3728
msgid "View All _Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:3338
+#: ../src/viktrwlayer.c:3733
msgid "_Goto Center of Layer"
msgstr ""
-#: ../src/viktrwlayer.c:3344 ../src/viktrwlayer.c:6199
+#: ../src/viktrwlayer.c:3739 ../src/viktrwlayer.c:7335
msgid "Goto _Waypoint..."
msgstr ""
-#: ../src/viktrwlayer.c:3350
+#: ../src/viktrwlayer.c:3745
msgid "_Export Layer"
msgstr ""
-#: ../src/viktrwlayer.c:3356
+#: ../src/viktrwlayer.c:3751
msgid "Export as GPS_Point..."
msgstr ""
-#: ../src/viktrwlayer.c:3361
+#: ../src/viktrwlayer.c:3756
msgid "Export as GPS_Mapper..."
msgstr ""
-#: ../src/viktrwlayer.c:3366
+#: ../src/viktrwlayer.c:3761
msgid "Export as _GPX..."
msgstr ""
-#: ../src/viktrwlayer.c:3371
+#: ../src/viktrwlayer.c:3766
msgid "Export as _KML..."
msgstr ""
-#: ../src/viktrwlayer.c:3376
+#: ../src/viktrwlayer.c:3771
msgid "Open with External Program_1: "
msgstr ""
-#: ../src/viktrwlayer.c:3383
+#: ../src/viktrwlayer.c:3778
msgid "Open with External Program_2: "
msgstr ""
-#: ../src/viktrwlayer.c:3391 ../src/vikwindow.c:3145
+#: ../src/viktrwlayer.c:3786 ../src/vikwindow.c:3704
msgid "_New"
msgstr ""
-#: ../src/viktrwlayer.c:3397
+#: ../src/viktrwlayer.c:3792
msgid "New _Waypoint..."
msgstr ""
-#: ../src/viktrwlayer.c:3403
+#: ../src/viktrwlayer.c:3798
msgid "New _Track"
msgstr ""
-#: ../src/viktrwlayer.c:3411
+#: ../src/viktrwlayer.c:3806
msgid "New _Route"
msgstr ""
-#: ../src/viktrwlayer.c:3420 ../src/viktrwlayer.c:6597
+#: ../src/viktrwlayer.c:3815 ../src/viktrwlayer.c:7938
msgid "Geotag _Images..."
msgstr ""
-#: ../src/viktrwlayer.c:3427
+#: ../src/viktrwlayer.c:3822
msgid "_Acquire"
msgstr ""
-#: ../src/viktrwlayer.c:3433 ../src/vikwindow.c:3150
+#: ../src/viktrwlayer.c:3828 ../src/vikwindow.c:3711
msgid "From _GPS..."
msgstr ""
-#: ../src/viktrwlayer.c:3439
-msgid "From Google _Directions..."
+#. FIXME: only add menu when at least a routing engine has support for Directions
+#: ../src/viktrwlayer.c:3834
+msgid "From _Directions..."
msgstr ""
-#: ../src/viktrwlayer.c:3446
+#: ../src/viktrwlayer.c:3840
msgid "From _OSM Traces..."
msgstr ""
-#: ../src/viktrwlayer.c:3451
+#: ../src/viktrwlayer.c:3845
msgid "From _My OSM Traces..."
msgstr ""
-#: ../src/viktrwlayer.c:3459 ../src/vikwindow.c:3166
+#: ../src/viktrwlayer.c:3853 ../src/vikwindow.c:3725
msgid "From _Wikipedia Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:3465
+#: ../src/viktrwlayer.c:3859
msgid "Within _Layer Bounds"
msgstr ""
-#: ../src/viktrwlayer.c:3471
+#: ../src/viktrwlayer.c:3865
msgid "Within _Current View"
msgstr ""
-#: ../src/viktrwlayer.c:3479
+#: ../src/viktrwlayer.c:3873
msgid "From Geo_caching..."
msgstr ""
-#: ../src/viktrwlayer.c:3486 ../src/vikwindow.c:3163
+#: ../src/viktrwlayer.c:3880 ../src/vikwindow.c:3722
msgid "From Geotagged _Images..."
msgstr ""
-#: ../src/viktrwlayer.c:3492
+#: ../src/viktrwlayer.c:3886
msgid "From _File..."
msgstr ""
-#: ../src/viktrwlayer.c:3498 ../src/viktrwlayer.c:6542
+#: ../src/viktrwlayer.c:3894 ../src/viktrwlayer.c:7883
msgid "_Upload"
msgstr ""
-#: ../src/viktrwlayer.c:3504
+#: ../src/viktrwlayer.c:3900
msgid "Upload to _GPS..."
msgstr ""
-#: ../src/viktrwlayer.c:3511 ../src/viktrwlayer.c:6570
+#: ../src/viktrwlayer.c:3907 ../src/viktrwlayer.c:7911
msgid "Upload to _OSM..."
msgstr ""
-#: ../src/viktrwlayer.c:3519
+#: ../src/viktrwlayer.c:3915
msgid "De_lete"
msgstr ""
-#: ../src/viktrwlayer.c:3525
+#: ../src/viktrwlayer.c:3921
msgid "Delete All _Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:3531
+#: ../src/viktrwlayer.c:3927
msgid "Delete Tracks _From Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:3537 ../src/viktrwlayer.c:6290
+#: ../src/viktrwlayer.c:3933 ../src/viktrwlayer.c:7485
msgid "Delete _All Routes"
msgstr ""
-#: ../src/viktrwlayer.c:3543 ../src/viktrwlayer.c:6296
+#: ../src/viktrwlayer.c:3939 ../src/viktrwlayer.c:7491
msgid "_Delete Routes From Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:3549
+#: ../src/viktrwlayer.c:3945
msgid "Delete All _Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:3555
+#: ../src/viktrwlayer.c:3951
msgid "Delete Waypoints From _Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:4128
+#: ../src/viktrwlayer.c:4574
#, c-format
msgid "Are you sure you want to delete all tracks in %s?"
msgstr ""
-#: ../src/viktrwlayer.c:4138
+#: ../src/viktrwlayer.c:4584
#, c-format
msgid "Are you sure you want to delete all routes in %s?"
msgstr ""
-#: ../src/viktrwlayer.c:4148
+#: ../src/viktrwlayer.c:4594
#, c-format
msgid "Are you sure you want to delete all waypoints in %s?"
msgstr ""
-#: ../src/viktrwlayer.c:4165
+#: ../src/viktrwlayer.c:4611
#, c-format
-msgid "Are you sure you want to delete the waypoint \"%s\""
+msgid "Are you sure you want to delete the waypoint \"%s\"?"
msgstr ""
-#: ../src/viktrwlayer.c:4178
+#: ../src/viktrwlayer.c:4624
#, c-format
-msgid "Are you sure you want to delete the track \"%s\""
+msgid "Are you sure you want to delete the track \"%s\"?"
msgstr ""
-#: ../src/viktrwlayer.c:4191
+#: ../src/viktrwlayer.c:4637
#, c-format
-msgid "Are you sure you want to delete the route \"%s\""
+msgid "Are you sure you want to delete the route \"%s\"?"
msgstr ""
-#: ../src/viktrwlayer.c:4351 ../src/viktrwlayer.c:4922
+#: ../src/viktrwlayer.c:4849 ../src/viktrwlayer.c:5677
msgid ""
"Converting a track to a route removes extra track data such as segments, "
"timestamps, etc...\n"
"Do you want to continue?"
msgstr ""
-#: ../src/viktrwlayer.c:4711
+#: ../src/viktrwlayer.c:4944
+msgid "No DEM layers available, thus no DEM values can be applied."
+msgstr ""
+
+#: ../src/viktrwlayer.c:4964 ../src/viktrwlayer.c:5005
+#, c-format
+msgid "%ld point adjusted"
+msgid_plural "%ld points adjusted"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/viktrwlayer.c:5049
+#, c-format
+msgid "%ld waypoint changed"
+msgid_plural "%ld waypoints changed"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/viktrwlayer.c:5233
+#, c-format
+msgid ""
+"Refining a track with many points (%d) is unlikely to yield sensible "
+"results. Do you want to Continue?"
+msgstr ""
+
+#. Select engine from dialog
+#: ../src/viktrwlayer.c:5241
+msgid "Refine Route with Routing Engine..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:5249
+msgid "Select routing engine"
+msgstr ""
+
+#: ../src/viktrwlayer.c:5467
msgid "Failed. No other tracks with timestamps in this layer found"
msgstr ""
-#: ../src/viktrwlayer.c:4713
+#: ../src/viktrwlayer.c:5469
msgid "Failed. No other tracks without timestamps in this layer found"
msgstr ""
-#: ../src/viktrwlayer.c:4732
+#: ../src/viktrwlayer.c:5488
msgid "Merge with..."
msgstr ""
-#: ../src/viktrwlayer.c:4733
+#: ../src/viktrwlayer.c:5489
msgid "Select route to merge with"
msgstr ""
-#: ../src/viktrwlayer.c:4733
+#: ../src/viktrwlayer.c:5489
msgid "Select track to merge with"
msgstr ""
-#: ../src/viktrwlayer.c:4818 ../src/viktrwlayer.c:4895
+#: ../src/viktrwlayer.c:5573 ../src/viktrwlayer.c:5650
msgid "Append Route"
msgstr ""
-#: ../src/viktrwlayer.c:4818 ../src/viktrwlayer.c:4895
+#: ../src/viktrwlayer.c:5573 ../src/viktrwlayer.c:5650
msgid "Append Track"
msgstr ""
-#: ../src/viktrwlayer.c:4819
+#: ../src/viktrwlayer.c:5574
msgid "Select the route to append after the current route"
msgstr ""
-#: ../src/viktrwlayer.c:4820
+#: ../src/viktrwlayer.c:5575
msgid "Select the track to append after the current track"
msgstr ""
-#: ../src/viktrwlayer.c:4896
+#: ../src/viktrwlayer.c:5651
msgid "Select the track to append after the current route"
msgstr ""
-#: ../src/viktrwlayer.c:4897
+#: ../src/viktrwlayer.c:5652
msgid "Select the route to append after the current track"
msgstr ""
-#: ../src/viktrwlayer.c:4957
+#: ../src/viktrwlayer.c:5711
#, c-format
msgid "%d segment merged"
msgid_plural "%d segments merged"
msgstr[0] ""
msgstr[1] ""
-#: ../src/viktrwlayer.c:4973
+#: ../src/viktrwlayer.c:5727
msgid "Failed. This track does not have timestamp"
msgstr ""
-#: ../src/viktrwlayer.c:4985
+#: ../src/viktrwlayer.c:5739
msgid "Failed. No other track in this layer has timestamp"
msgstr ""
-#: ../src/viktrwlayer.c:4992
+#: ../src/viktrwlayer.c:5746
msgid "Merge Threshold..."
msgstr ""
-#: ../src/viktrwlayer.c:4993
+#: ../src/viktrwlayer.c:5747
msgid "Merge when time between tracks less than:"
msgstr ""
-#: ../src/viktrwlayer.c:5128
+#: ../src/viktrwlayer.c:5889
msgid "Split Threshold..."
msgstr ""
-#: ../src/viktrwlayer.c:5129
+#: ../src/viktrwlayer.c:5890
msgid "Split when time between trackpoints exceeds:"
msgstr ""
-#: ../src/viktrwlayer.c:5205
+#: ../src/viktrwlayer.c:5907
+#, c-format
+msgid ""
+"Can not split track due to trackpoints not ordered in time - such as at %s.\n"
+"\n"
+"Goto this trackpoint?"
+msgstr ""
+
+#: ../src/viktrwlayer.c:5976
msgid "Split Every Nth Point"
msgstr ""
-#: ../src/viktrwlayer.c:5206
+#: ../src/viktrwlayer.c:5977
msgid "Split on every Nth point:"
msgstr ""
-#: ../src/viktrwlayer.c:5312
+#: ../src/viktrwlayer.c:6087
msgid "Can not split track as it has no segments"
msgstr ""
-#: ../src/viktrwlayer.c:5340 ../src/viktrwlayer.c:5370
+#: ../src/viktrwlayer.c:6169 ../src/viktrwlayer.c:6199
#, c-format
msgid "Deleted %ld point"
msgid_plural "Deleted %ld points"
msgstr[0] ""
msgstr[1] ""
-#: ../src/viktrwlayer.c:5531
+#: ../src/viktrwlayer.c:6392
msgid "Internal Error in vik_trw_layer_uniquify_tracks"
msgstr ""
-#: ../src/viktrwlayer.c:5588 ../src/viktrwlayer.c:5635
-#: ../src/viktrwlayer.c:5814
+#: ../src/viktrwlayer.c:6496 ../src/viktrwlayer.c:6543
+#: ../src/viktrwlayer.c:6704
msgid ""
"Multiple entries with the same name exist. This method only works with "
"unique names. Force unique names now?"
msgstr ""
-#: ../src/viktrwlayer.c:5599
+#: ../src/viktrwlayer.c:6507
msgid "No tracks found"
msgstr ""
-#: ../src/viktrwlayer.c:5607 ../src/viktrwlayer.c:5654
-#: ../src/viktrwlayer.c:5834
+#: ../src/viktrwlayer.c:6515 ../src/viktrwlayer.c:6562
+#: ../src/viktrwlayer.c:6724
msgid "Delete Selection"
msgstr ""
-#: ../src/viktrwlayer.c:5608
+#: ../src/viktrwlayer.c:6516
msgid "Select tracks to delete"
msgstr ""
-#: ../src/viktrwlayer.c:5646
+#: ../src/viktrwlayer.c:6554
msgid "No routes found"
msgstr ""
-#: ../src/viktrwlayer.c:5655
+#: ../src/viktrwlayer.c:6563
msgid "Select routes to delete"
msgstr ""
-#: ../src/viktrwlayer.c:5761
+#: ../src/viktrwlayer.c:6669
msgid "Internal Error in vik_trw_layer_uniquify_waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:5824
+#: ../src/viktrwlayer.c:6714
msgid "No waypoints found"
msgstr ""
-#: ../src/viktrwlayer.c:5835
+#: ../src/viktrwlayer.c:6725
msgid "Select waypoints to delete"
msgstr ""
-#: ../src/viktrwlayer.c:5896
+#: ../src/viktrwlayer.c:7033
#, c-format
msgid ""
"A waypoint with the name \"%s\" already exists. Really rename to the same "
"name?"
msgstr ""
-#: ../src/viktrwlayer.c:5926
+#: ../src/viktrwlayer.c:7063
#, c-format
msgid ""
"A track with the name \"%s\" already exists. Really rename to the same name?"
msgstr ""
-#: ../src/viktrwlayer.c:5963
+#: ../src/viktrwlayer.c:7100
#, c-format
msgid ""
"A route with the name \"%s\" already exists. Really rename to the same name?"
msgstr ""
-#: ../src/viktrwlayer.c:6085 ../src/viktrwlayer.c:6337
+#: ../src/viktrwlayer.c:7221 ../src/viktrwlayer.c:7594
msgid "_Goto"
msgstr ""
-#: ../src/viktrwlayer.c:6104
+#: ../src/viktrwlayer.c:7240
msgid "_Visit Geocache Webpage"
msgstr ""
-#: ../src/viktrwlayer.c:6123
+#: ../src/viktrwlayer.c:7259
msgid "_Show Picture..."
msgstr ""
-#: ../src/viktrwlayer.c:6131
+#: ../src/viktrwlayer.c:7267
msgid "Update Geotag on _Image"
msgstr ""
-#: ../src/viktrwlayer.c:6137
+#: ../src/viktrwlayer.c:7273
msgid "_Update"
msgstr ""
-#: ../src/viktrwlayer.c:6142
+#: ../src/viktrwlayer.c:7278
msgid "Update and _Keep File Timestamp"
msgstr ""
-#: ../src/viktrwlayer.c:6153
+#: ../src/viktrwlayer.c:7289
msgid "Visit _Webpage"
msgstr ""
-#: ../src/viktrwlayer.c:6184
+#: ../src/viktrwlayer.c:7320
msgid "_New Waypoint..."
msgstr ""
-#: ../src/viktrwlayer.c:6193
+#: ../src/viktrwlayer.c:7329
msgid "_View All Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:6205
+#: ../src/viktrwlayer.c:7341
msgid "Delete _All Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:6211
+#: ../src/viktrwlayer.c:7347
msgid "_Delete Waypoints From Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:6233
+#: ../src/viktrwlayer.c:7359
+msgid "_Show All Waypoints"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7365
+msgid "_Hide All Waypoints"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7393
msgid "_View All Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:6239
+#: ../src/viktrwlayer.c:7399
msgid "_New Track"
msgstr ""
-#: ../src/viktrwlayer.c:6247
+#: ../src/viktrwlayer.c:7407
msgid "Delete _All Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:6253
+#: ../src/viktrwlayer.c:7413
msgid "_Delete Tracks From Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:6276
+#: ../src/viktrwlayer.c:7425
+msgid "_Show All Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7431
+msgid "_Hide All Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7442
+msgid "_List Tracks..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7471
msgid "_View All Routes"
msgstr ""
-#: ../src/viktrwlayer.c:6282
+#: ../src/viktrwlayer.c:7477
msgid "_New Route"
msgstr ""
-#: ../src/viktrwlayer.c:6327
+#: ../src/viktrwlayer.c:7503
+msgid "_Show All Routes"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7509
+msgid "_Hide All Routes"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7520
+msgid "_List Routes..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7579
msgid "_View Track"
msgstr ""
-#: ../src/viktrwlayer.c:6329
+#: ../src/viktrwlayer.c:7581
msgid "_View Route"
msgstr ""
-#: ../src/viktrwlayer.c:6343
+#: ../src/viktrwlayer.c:7600
msgid "_Startpoint"
msgstr ""
-#: ../src/viktrwlayer.c:6349
+#: ../src/viktrwlayer.c:7606
msgid "\"_Center\""
msgstr ""
-#: ../src/viktrwlayer.c:6355
+#: ../src/viktrwlayer.c:7612
msgid "_Endpoint"
msgstr ""
-#: ../src/viktrwlayer.c:6361
+#: ../src/viktrwlayer.c:7618
msgid "_Highest Altitude"
msgstr ""
-#: ../src/viktrwlayer.c:6367
+#: ../src/viktrwlayer.c:7624
msgid "_Lowest Altitude"
msgstr ""
-#: ../src/viktrwlayer.c:6375
+#: ../src/viktrwlayer.c:7632
msgid "_Maximum Speed"
msgstr ""
-#: ../src/viktrwlayer.c:6384
+#: ../src/viktrwlayer.c:7641
msgid "Co_mbine"
msgstr ""
-#: ../src/viktrwlayer.c:6392
+#: ../src/viktrwlayer.c:7649
msgid "_Merge By Time..."
msgstr ""
-#: ../src/viktrwlayer.c:6397
+#: ../src/viktrwlayer.c:7654
msgid "Merge _Segments"
msgstr ""
-#: ../src/viktrwlayer.c:6403
+#: ../src/viktrwlayer.c:7660
msgid "Merge _With Other Tracks..."
msgstr ""
-#: ../src/viktrwlayer.c:6409
+#: ../src/viktrwlayer.c:7666
msgid "_Append Track..."
msgstr ""
-#: ../src/viktrwlayer.c:6411
+#: ../src/viktrwlayer.c:7668
msgid "_Append Route..."
msgstr ""
-#: ../src/viktrwlayer.c:6417
+#: ../src/viktrwlayer.c:7674
msgid "Append _Route..."
msgstr ""
-#: ../src/viktrwlayer.c:6419
+#: ../src/viktrwlayer.c:7676
msgid "Append _Track..."
msgstr ""
-#: ../src/viktrwlayer.c:6426
+#: ../src/viktrwlayer.c:7683
msgid "_Split"
msgstr ""
-#: ../src/viktrwlayer.c:6434
+#: ../src/viktrwlayer.c:7691
msgid "_Split By Time..."
msgstr ""
#. ATM always enable this entry - don't want to have to analyse the track before displaying the menu - to keep the menu speedy
-#: ../src/viktrwlayer.c:6440
+#: ../src/viktrwlayer.c:7697
msgid "Split Se_gments"
msgstr ""
-#: ../src/viktrwlayer.c:6446
+#: ../src/viktrwlayer.c:7703
msgid "Split By _Number of Points..."
msgstr ""
-#: ../src/viktrwlayer.c:6451
+#: ../src/viktrwlayer.c:7708
msgid "Split at _Trackpoint"
msgstr ""
-#: ../src/viktrwlayer.c:6460
+#: ../src/viktrwlayer.c:7716
+msgid "_Insert Points"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7722
+msgid "Insert Point _Before Selected Point"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7729
+msgid "Insert Point _After Selected Point"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7738
msgid "Delete Poi_nts"
msgstr ""
-#: ../src/viktrwlayer.c:6466
+#: ../src/viktrwlayer.c:7744
+msgid "Delete _Selected Point"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7752
msgid "Delete Points With The Same _Position"
msgstr ""
-#: ../src/viktrwlayer.c:6471
+#: ../src/viktrwlayer.c:7757
msgid "Delete Points With The Same _Time"
msgstr ""
-#: ../src/viktrwlayer.c:6477
-msgid "_Reverse Track"
+#: ../src/viktrwlayer.c:7764 ../src/viktrwlayer.c:7964
+msgid "_Transform"
msgstr ""
-#: ../src/viktrwlayer.c:6479
-msgid "_Reverse Route"
+#: ../src/viktrwlayer.c:7772 ../src/viktrwlayer.c:7972
+msgid "_Apply DEM Data"
msgstr ""
-#: ../src/viktrwlayer.c:6488
-msgid "Down_load Maps Along Track..."
+#: ../src/viktrwlayer.c:7777 ../src/viktrwlayer.c:7977
+msgid "_Overwrite"
msgstr ""
-#: ../src/viktrwlayer.c:6490
-msgid "Down_load Maps Along Route..."
+#: ../src/viktrwlayer.c:7780 ../src/viktrwlayer.c:7980
+msgid "Overwrite any existing elevation values with DEM values"
msgstr ""
-#: ../src/viktrwlayer.c:6497
-msgid "_Apply DEM Data"
+#: ../src/viktrwlayer.c:7783 ../src/viktrwlayer.c:7983
+msgid "_Keep Existing"
msgstr ""
-#: ../src/viktrwlayer.c:6504
-msgid "_Export Track as GPX..."
+#: ../src/viktrwlayer.c:7786 ../src/viktrwlayer.c:7986
+msgid "Keep existing elevation values, only attempt for missing values"
msgstr ""
-#: ../src/viktrwlayer.c:6506
-msgid "_Export Route as GPX..."
+#: ../src/viktrwlayer.c:7791
+msgid "_Smooth Missing Elevation Data"
msgstr ""
-#: ../src/viktrwlayer.c:6513
-msgid "E_xtend Track End"
+#: ../src/viktrwlayer.c:7796
+msgid "_Interpolated"
msgstr ""
-#: ../src/viktrwlayer.c:6515
-msgid "E_xtend Route End"
+#: ../src/viktrwlayer.c:7799
+msgid ""
+"Interpolate between known elevation values to derive values for the missing "
+"elevations"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7802
+msgid "_Flat"
msgstr ""
-#: ../src/viktrwlayer.c:6522
+#: ../src/viktrwlayer.c:7805
+msgid "Set unknown elevation values to the last known value"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7809
msgid "C_onvert to a Route"
msgstr ""
-#: ../src/viktrwlayer.c:6524
+#: ../src/viktrwlayer.c:7811
msgid "C_onvert to a Track"
msgstr ""
-#: ../src/viktrwlayer.c:6532
+#: ../src/viktrwlayer.c:7819
+msgid "_Anonymize Times"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7822
+msgid "Shift timestamps to a relative offset from 1901-01-01"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7827
+msgid "_Reverse Track"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7829
+msgid "_Reverse Route"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7836
+msgid "Refine Route..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7846
+msgid "Down_load Maps Along Track..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7848
+msgid "Down_load Maps Along Route..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7856
+msgid "_Export Track as GPX..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7858
+msgid "_Export Route as GPX..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7865
+msgid "E_xtend Track End"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7867
+msgid "E_xtend Route End"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7874
msgid "Extend _Using Route Finder"
msgstr ""
-#: ../src/viktrwlayer.c:6548
+#: ../src/viktrwlayer.c:7889
msgid "_Upload to GPS..."
msgstr ""
-#: ../src/viktrwlayer.c:6559
+#: ../src/viktrwlayer.c:7900
msgid "_View Google Directions"
msgstr ""
-#: ../src/viktrwlayer.c:6579
+#: ../src/viktrwlayer.c:7920
msgid "Use with _Filter"
msgstr ""
-#: ../src/viktrwlayer.c:6612
+#: ../src/viktrwlayer.c:7953
msgid "_Edit Trackpoint"
msgstr ""
-#: ../src/viktrwlayer.c:7524
+#: ../src/viktrwlayer.c:9017
#, c-format
msgid " - Gain %dm:Loss %dm"
msgstr ""
-#: ../src/viktrwlayer.c:7526
+#: ../src/viktrwlayer.c:9019
#, c-format
msgid " - Gain %dft:Loss %dft"
msgstr ""
-#: ../src/viktrwlayer.c:7531
+#: ../src/viktrwlayer.c:9024
#, c-format
msgid " - Bearing %3.1f° - Step %s"
msgstr ""
-#: ../src/viktrwlayer.c:8124
+#: ../src/viktrwlayer.c:9628
#, c-format
msgid "Could not launch %s to open file."
msgstr ""
-#: ../src/viktrwlayer.c:8205
+#: ../src/viktrwlayer.c:9709
#, c-format
msgid "Creating %d Image Thumbnails..."
msgstr ""
-#: ../src/viktrwlayer.c:8524
+#: ../src/viktrwlayer.c:10106
msgid "No map layer in use. Create one first"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:898 ../src/viktrwlayer_propwin.c:1155
+#: ../src/viktrwlayer.c:10225
+#, c-format
+msgid "%s: Track List"
+msgstr ""
+
+#: ../src/viktrwlayer.c:10227
+#, c-format
+msgid "%s: Route List"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:828 ../src/viktrwlayer_propwin.c:1085
#, c-format
msgid "%.1f kph"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:901 ../src/viktrwlayer_propwin.c:1158
+#: ../src/viktrwlayer_propwin.c:831 ../src/viktrwlayer_propwin.c:1088
+#: ../src/viktrwlayer_analysis.c:290
#, c-format
msgid "%.1f mph"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:904 ../src/viktrwlayer_propwin.c:1161
+#: ../src/viktrwlayer_propwin.c:834 ../src/viktrwlayer_propwin.c:1091
#, c-format
msgid "%.1f knots"
msgstr ""
#. VIK_UNITS_SPEED_METRES_PER_SECOND:
-#: ../src/viktrwlayer_propwin.c:908 ../src/viktrwlayer_propwin.c:1165
+#: ../src/viktrwlayer_propwin.c:838 ../src/viktrwlayer_propwin.c:1095
#, c-format
msgid "%.1f m/s"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:1745
+#: ../src/viktrwlayer_propwin.c:1662 ../src/viktrwlayer_analysis.c:267
#, c-format
msgid "%.1f miles"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:1747
+#. VIK_UNITS_DISTANCE_KILOMETRES
+#: ../src/viktrwlayer_propwin.c:1664 ../src/viktrwlayer_analysis.c:271
#, c-format
msgid "%.1f km"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2681
+#: ../src/viktrwlayer_propwin.c:2582
msgid "Failed spliting track. Track unchanged"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2779 ../src/viktrwlayer_propwin.c:3178
+#: ../src/viktrwlayer_propwin.c:2724 ../src/viktrwlayer_propwin.c:3140
#, c-format
msgid "%s - Track Properties"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2784
+#: ../src/viktrwlayer_propwin.c:2729
msgid "Split at _Marker"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2785
+#: ../src/viktrwlayer_propwin.c:2730
msgid "Split _Segments"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2786
+#: ../src/viktrwlayer_propwin.c:2731
msgid "_Reverse"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2787
+#: ../src/viktrwlayer_propwin.c:2732
msgid "_Delete Dupl."
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2813
+#: ../src/viktrwlayer_propwin.c:2757
msgid "<b>Comment:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2814
+#: ../src/viktrwlayer_propwin.c:2758
msgid "<b>Description:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2815
+#: ../src/viktrwlayer_propwin.c:2759
+msgid "<b>Color:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2760
+msgid "<b>Draw Name:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2761
+msgid "<b>Distance Labels:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2764
msgid "<b>Track Length:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2816
+#: ../src/viktrwlayer_propwin.c:2765
msgid "<b>Trackpoints:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2817
+#: ../src/viktrwlayer_propwin.c:2766
msgid "<b>Segments:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2818
+#: ../src/viktrwlayer_propwin.c:2767
msgid "<b>Duplicate Points:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2819
+#: ../src/viktrwlayer_propwin.c:2768
msgid "<b>Max Speed:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2820
+#: ../src/viktrwlayer_propwin.c:2769
msgid "<b>Avg. Speed:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2821
+#: ../src/viktrwlayer_propwin.c:2770
msgid "<b>Moving Avg. Speed:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2822
+#: ../src/viktrwlayer_propwin.c:2771
msgid "<b>Avg. Dist. Between TPs:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2823
+#: ../src/viktrwlayer_propwin.c:2772
msgid "<b>Elevation Range:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2824
+#: ../src/viktrwlayer_propwin.c:2773
msgid "<b>Total Elevation Gain/Loss:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2825
+#: ../src/viktrwlayer_propwin.c:2774
msgid "<b>Start:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2826
+#: ../src/viktrwlayer_propwin.c:2775
msgid "<b>End:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2827
+#: ../src/viktrwlayer_propwin.c:2776
msgid "<b>Duration:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2828
-msgid "<b>Color:</b>"
+#: ../src/viktrwlayer_propwin.c:2797
+msgid "No"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2798
+msgid "Centre"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2799
+msgid "Start only"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2800
+msgid "End only"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2801
+msgid "Start and End"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2802
+msgid "Centre, Start and End"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2814
+msgid "Maximum number of distance labels to be shown"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2818
+msgid "Properties"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2877 ../src/viktrwlayer_propwin.c:2901
-#: ../src/viktrwlayer_propwin.c:2929 ../src/viktrwlayer_propwin.c:2966
-#: ../src/viktrwlayer_propwin.c:2984 ../src/viktrwlayer_propwin.c:3034
-#: ../src/viktrwlayer_propwin.c:3035 ../src/viktrwlayer_propwin.c:3036
-#: ../src/viktrwlayer_propwin.c:3062 ../src/viktrwlayer_propwin.c:3063
+#: ../src/viktrwlayer_propwin.c:2856 ../src/viktrwlayer_propwin.c:2880
+#: ../src/viktrwlayer_propwin.c:2908 ../src/viktrwlayer_propwin.c:2945
+#: ../src/viktrwlayer_propwin.c:2963 ../src/viktrwlayer_propwin.c:3009
+#: ../src/viktrwlayer_propwin.c:3010 ../src/viktrwlayer_propwin.c:3011
+#: ../src/viktrwlayer_propwin.c:3020 ../src/viktrwlayer_propwin.c:3021
+#: ../src/viktrwlayer_propwin.c:3036 ../src/viktrwlayer_propwin.c:3037
+#: ../src/viktrwlayer_propwin.c:3050 ../src/viktrwlayer_propwin.c:3051
+#: ../src/viktrwlayer_propwin.c:3064 ../src/viktrwlayer_propwin.c:3065
#: ../src/viktrwlayer_propwin.c:3078 ../src/viktrwlayer_propwin.c:3079
#: ../src/viktrwlayer_propwin.c:3092 ../src/viktrwlayer_propwin.c:3093
-#: ../src/viktrwlayer_propwin.c:3106 ../src/viktrwlayer_propwin.c:3107
-#: ../src/viktrwlayer_propwin.c:3120 ../src/viktrwlayer_propwin.c:3121
-#: ../src/viktrwlayer_propwin.c:3134 ../src/viktrwlayer_propwin.c:3135
+#: ../src/viktrwlayer_analysis.c:257
#, c-format
msgid "No Data"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3031
+#: ../src/viktrwlayer_propwin.c:3006
#, c-format
msgid "%d minutes"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3058
+#: ../src/viktrwlayer_propwin.c:3016 ../src/viktrwlayer_analysis.c:515
msgid "Statistics"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3064
+#: ../src/viktrwlayer_propwin.c:3022
msgid "Show D_EM"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3065 ../src/viktrwlayer_propwin.c:3080
-#: ../src/viktrwlayer_propwin.c:3094 ../src/viktrwlayer_propwin.c:3136
+#: ../src/viktrwlayer_propwin.c:3023 ../src/viktrwlayer_propwin.c:3038
+#: ../src/viktrwlayer_propwin.c:3052 ../src/viktrwlayer_propwin.c:3094
msgid "Show _GPS Speed"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3067 ../src/viktrwlayer_propwin.c:3082
-#: ../src/viktrwlayer_propwin.c:3110 ../src/viktrwlayer_propwin.c:3138
+#: ../src/viktrwlayer_propwin.c:3025 ../src/viktrwlayer_propwin.c:3040
+#: ../src/viktrwlayer_propwin.c:3068 ../src/viktrwlayer_propwin.c:3096
msgid "<b>Track Distance:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3068 ../src/viktrwlayer_propwin.c:3125
+#: ../src/viktrwlayer_propwin.c:3026 ../src/viktrwlayer_propwin.c:3083
msgid "<b>Track Height:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3073
+#: ../src/viktrwlayer_propwin.c:3031
msgid "Elevation-distance"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3083
+#: ../src/viktrwlayer_propwin.c:3041
msgid "<b>Track Gradient:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3087
+#: ../src/viktrwlayer_propwin.c:3045
msgid "Gradient-distance"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3096 ../src/viktrwlayer_propwin.c:3111
-#: ../src/viktrwlayer_propwin.c:3124
+#: ../src/viktrwlayer_propwin.c:3054 ../src/viktrwlayer_propwin.c:3069
+#: ../src/viktrwlayer_propwin.c:3082
msgid "<b>Track Time:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3097 ../src/viktrwlayer_propwin.c:3139
+#: ../src/viktrwlayer_propwin.c:3055 ../src/viktrwlayer_propwin.c:3097
msgid "<b>Track Speed:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3101
+#: ../src/viktrwlayer_propwin.c:3059
msgid "Speed-time"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3108 ../src/viktrwlayer_propwin.c:3122
+#: ../src/viktrwlayer_propwin.c:3066 ../src/viktrwlayer_propwin.c:3080
msgid "Show S_peed"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3115
+#: ../src/viktrwlayer_propwin.c:3073
msgid "Distance-time"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3129
+#: ../src/viktrwlayer_propwin.c:3087
msgid "Elevation-time"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3143
+#: ../src/viktrwlayer_propwin.c:3101
msgid "Speed-distance"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:118
+#: ../src/viktrwlayer_tpwin.c:119
msgid "<b>Part of Track:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:119
+#: ../src/viktrwlayer_tpwin.c:120
msgid "<b>Latitude:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:120
+#: ../src/viktrwlayer_tpwin.c:121
msgid "<b>Longitude:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:121
+#: ../src/viktrwlayer_tpwin.c:122
msgid "<b>Altitude:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:122
+#: ../src/viktrwlayer_tpwin.c:123
+msgid "<b>Course:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_tpwin.c:124
msgid "<b>Timestamp:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:123
+#: ../src/viktrwlayer_tpwin.c:125
msgid "<b>Time:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:124
+#: ../src/viktrwlayer_tpwin.c:126
msgid "<b>Distance Difference:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:125
+#: ../src/viktrwlayer_tpwin.c:127
msgid "<b>Time Difference:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:126
+#: ../src/viktrwlayer_tpwin.c:128
msgid "<b>\"Speed\" Between:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:127
+#: ../src/viktrwlayer_tpwin.c:129
+msgid "<b>Speed:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_tpwin.c:130
msgid "<b>VDOP:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:128
+#: ../src/viktrwlayer_tpwin.c:131
msgid "<b>HDOP:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:129
+#: ../src/viktrwlayer_tpwin.c:132
msgid "<b>PDOP:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:130
+#: ../src/viktrwlayer_tpwin.c:133
msgid "<b>SAT/FIX:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:139
+#: ../src/viktrwlayer_tpwin.c:141
msgid "Trackpoint"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:142
+#: ../src/viktrwlayer_tpwin.c:144
msgid "_Insert After"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:144
+#: ../src/viktrwlayer_tpwin.c:146
msgid "Split Here"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:446
+#.
+#. item = gtk_image_menu_item_new_with_mnemonic ( _("_Select") );
+#. gtk_image_menu_item_set_image ( (GtkImageMenuItem*)item, gtk_image_new_from_stock (GTK_STOCK_FIND, GTK_ICON_SIZE_MENU) );
+#. g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(trw_layer_track_select), values );
+#. gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
+#. gtk_widget_show ( item );
+#.
+#. ATM view auto selects, so don't bother with separate select menu entry
+#: ../src/viktrwlayer_tracklist.c:231 ../src/vikwindow.c:3695
+msgid "_View"
+msgstr ""
+
+#. Insert column for the layer name when viewing multi layers
+#: ../src/viktrwlayer_tracklist.c:514
+msgid "Layer"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:526
+msgid "Date"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:529
+msgid "Visible"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:536
+msgid ""
+"Distance\n"
+"(miles)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:539
+msgid ""
+"Distance\n"
+"(km)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:545
+msgid ""
+"Length\n"
+"(minutes)"
+msgstr ""
+
+#. VIK_UNITS_SPEED_KILOMETRES_PER_HOUR:
+#: ../src/viktrwlayer_tracklist.c:549 ../src/vikutils.c:72
+msgid "km/h"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:550 ../src/vikutils.c:62
+msgid "mph"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:551 ../src/vikutils.c:68
+msgid "knots"
+msgstr ""
+
+#. VIK_UNITS_SPEED_METRES_PER_SECOND:
+#: ../src/viktrwlayer_tracklist.c:553 ../src/vikutils.c:65
+msgid "m/s"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:556
+#, c-format
+msgid ""
+"Av. Speed\n"
+"(%s)"
+msgstr ""
+
+#. Apply own formatting of the data
+#: ../src/viktrwlayer_tracklist.c:561
+#, c-format
+msgid ""
+"Max Speed\n"
+"(%s)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:569
+msgid ""
+"Max Height\n"
+"(Feet)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:571
+msgid ""
+"Max Height\n"
+"(Metres)"
+msgstr ""
+
+#: ../src/viktrwlayer_geotag.c:481
#, c-format
msgid "Geotagging %d Images..."
msgstr ""
-#: ../src/viktrwlayer_geotag.c:510
+#: ../src/viktrwlayer_geotag.c:545
msgid "Geotag Images"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:516
+#: ../src/viktrwlayer_geotag.c:551
msgid "Images"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:520
+#: ../src/viktrwlayer_geotag.c:555
msgid "Overwrite Existing Waypoints:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:523
+#: ../src/viktrwlayer_geotag.c:558
msgid "Overwrite Existing GPS Information:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:525
+#: ../src/viktrwlayer_geotag.c:560
msgid "Keep File Modification Timestamp:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:555
+#: ../src/viktrwlayer_geotag.c:592
msgid "Create Waypoints:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:563
+#: ../src/viktrwlayer_geotag.c:600
msgid "Write EXIF:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:575
+#: ../src/viktrwlayer_geotag.c:612
msgid "Interpolate Between Track Segments:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:579
+#: ../src/viktrwlayer_geotag.c:616
msgid "Image Time Offset (Seconds):"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:581
+#: ../src/viktrwlayer_geotag.c:618
msgid ""
"The number of seconds to ADD to the photos time to make it match the GPS "
"data. Calculate this with (GPS - Photo). Can be negative or positive. Useful "
"to adjust times when a camera's timestamp was incorrect."
msgstr ""
-#: ../src/viktrwlayer_geotag.c:584
+#: ../src/viktrwlayer_geotag.c:621
msgid "Image Timezone:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:586
+#: ../src/viktrwlayer_geotag.c:623
msgid ""
"The timezone that was used when the images were created. For example, if a "
"camera is set to AWST or +8:00 hours. Enter +8:00 here so that the correct "
"adjustment to the images' time can be made. GPS data is always in UTC."
msgstr ""
-#: ../src/viktrwlayer_geotag.c:590
+#: ../src/viktrwlayer_geotag.c:627
#, c-format
msgid "Using track: %s"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:592
+#: ../src/viktrwlayer_geotag.c:629
#, c-format
msgid "Using all tracks in: %s"
msgstr ""
-#: ../src/vikstatus.c:105
+#: ../src/viktrwlayer_analysis.c:193
+msgid "Number of Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:194
+msgid "Date Range"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:195
+msgid "Total Length"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:196
+msgid "Average Length"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:197
+msgid "Max Speed"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:198
+msgid "Avg. Speed"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:199
+msgid "Minimum Altitude"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:200
+msgid "Maximum Altitude"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:201
+msgid "Total Elevation Gain/Loss"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:202
+msgid "Avg. Elevation Gain/Loss"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:203
+msgid "Total Duration"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:204
+msgid "Avg. Duration"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:278
+#, c-format
+msgid "%.2f miles"
+msgstr ""
+
+#. VIK_UNITS_DISTANCE_KILOMETRES
+#: ../src/viktrwlayer_analysis.c:282
+#, c-format
+msgid "%.2f km"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:297
+#, c-format
+msgid "%.2f m/s"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:306
+#, c-format
+msgid "%.2f knots\n"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:309
+#, c-format
+msgid "%.2f knots"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:316 ../src/viktrwlayer_analysis.c:319
+#, c-format
+msgid "%.2f km/h"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:330 ../src/viktrwlayer_analysis.c:336
+#, c-format
+msgid "%d feet"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:341 ../src/viktrwlayer_analysis.c:343
+#, c-format
+msgid "%d feet / %d feet"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:348 ../src/viktrwlayer_analysis.c:354
+#, c-format
+msgid "%d m"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:359 ../src/viktrwlayer_analysis.c:361
+#, c-format
+msgid "%d m / %d m"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:373
+#, c-format
+msgid "%d:%02d:%02d days:hrs:mins"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:380
+#, c-format
+msgid "%d:%02d hrs:mins"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:550
+msgid "Include Invisible Items"
+msgstr ""
+
+#: ../src/vikstatus.c:107
+msgid "Current number of background tasks. Click to see the background jobs."
+msgstr ""
+
+#: ../src/vikstatus.c:113
msgid "Current zoom level. Click to select a new one."
msgstr ""
-#: ../src/vikwaypoint.c:34
+#: ../src/vikutils.c:80
+msgid "GPSD"
+msgstr ""
+
+#. GPS Preamble
+#: ../src/vikutils.c:81
+msgid "Trkpt"
+msgstr ""
+
+#: ../src/vikutils.c:121
+#, c-format
+msgid "%sSpeed%s %.1f%s"
+msgstr ""
+
+#: ../src/vikutils.c:130
+#, c-format
+msgid "%sAlt %dfeet"
+msgstr ""
+
+#. VIK_UNITS_HEIGHT_METRES:
+#: ../src/vikutils.c:134
+#, c-format
+msgid "%sAlt %dm"
+msgstr ""
+
+#: ../src/vikutils.c:142
+#, c-format
+msgid "%sCourse %03d°"
+msgstr ""
+
+#: ../src/vikutils.c:155
+msgid "yards"
+msgstr ""
+
+#. VIK_UNITS_DISTANCE_KILOMETRES:
+#: ../src/vikutils.c:159
+msgid "m"
+msgstr ""
+
+#: ../src/vikutils.c:163
+#, c-format
+msgid "%sDistance diff %d%s"
+msgstr ""
+
+#: ../src/vikutils.c:179
+#, c-format
+msgid "%sTime %s"
+msgstr ""
+
+#: ../src/vikutils.c:187
+#, c-format
+msgid "%sTime diff %lds"
+msgstr ""
+
+#: ../src/vikutils.c:193
+#, c-format
+msgid "%sNo. of Sats %d"
+msgstr ""
+
+#: ../src/vikutils.c:213
+#, c-format
+msgid "%sDistance along %.2f%s"
+msgstr ""
+
+#. Name of track
+#: ../src/vikutils.c:232
+#, c-format
+msgid "%sTrack: %s"
+msgstr ""
+
+#: ../src/vikwaypoint.c:36
msgid "Waypoint"
msgstr ""
#. TODO get rid of this as this is unnecessary duplication...
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Pan"
msgstr ""
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Zoom"
msgstr ""
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Ruler"
msgstr ""
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Select"
msgstr ""
+#: ../src/vikwindow.c:381
+msgid "Location lookup aborted"
+msgstr ""
+
+#: ../src/vikwindow.c:401
+#, c-format
+msgid "Location found: %s"
+msgstr ""
+
+#: ../src/vikwindow.c:410
+msgid "Unable to determine location"
+msgstr ""
+
+#: ../src/vikwindow.c:434
+msgid "Default Map"
+msgstr ""
+
+#: ../src/vikwindow.c:444
+msgid "Trying to determine location..."
+msgstr ""
+
+#: ../src/vikwindow.c:447
+msgid "Determining location"
+msgstr ""
+
#. Create tooltip
-#: ../src/vikwindow.c:440
+#: ../src/vikwindow.c:605
msgid "Select zoom level"
msgstr ""
-#: ../src/vikwindow.c:645
+#: ../src/vikwindow.c:923
#, c-format
msgid ""
"Do you want to save the changes you made to the document \"%s\"?\n"
@@ -3150,624 +3992,708 @@ msgid ""
"Your changes will be lost if you don't save them."
msgstr ""
-#: ../src/vikwindow.c:649
+#: ../src/vikwindow.c:927
msgid "Don't Save"
msgstr ""
-#: ../src/vikwindow.c:696
+#: ../src/vikwindow.c:1005
msgid "mpp"
msgstr ""
-#: ../src/vikwindow.c:696
+#: ../src/vikwindow.c:1005
msgid "pixelfact"
msgstr ""
-#: ../src/vikwindow.c:861
+#: ../src/vikwindow.c:1169
#, c-format
msgid "%s %s %dm"
msgstr ""
-#: ../src/vikwindow.c:863
+#: ../src/vikwindow.c:1171
#, c-format
msgid "%s %s %dft"
msgstr ""
-#: ../src/vikwindow.c:866
+#: ../src/vikwindow.c:1174
#, c-format
msgid "%s %s"
msgstr ""
#. NB Ctrl+Shift+R is used for Refresh (deemed more important), so use 'U' instead
-#: ../src/vikwindow.c:1254
+#: ../src/vikwindow.c:1562
msgid "_Ruler"
msgstr ""
-#: ../src/vikwindow.c:1254
+#: ../src/vikwindow.c:1562
msgid "Ruler Tool"
msgstr ""
-#: ../src/vikwindow.c:1502 ../src/vikwindow.c:3138
+#: ../src/vikwindow.c:1810 ../src/vikwindow.c:3697
msgid "_Zoom"
msgstr ""
-#: ../src/vikwindow.c:1502
+#: ../src/vikwindow.c:1810
msgid "Zoom Tool"
msgstr ""
-#: ../src/vikwindow.c:1547 ../src/vikwindow.c:3139
+#: ../src/vikwindow.c:1855 ../src/vikwindow.c:3698
msgid "_Pan"
msgstr ""
-#: ../src/vikwindow.c:1547
+#: ../src/vikwindow.c:1855
msgid "Pan Tool"
msgstr ""
-#: ../src/vikwindow.c:1664
+#: ../src/vikwindow.c:1972
msgid "_Select"
msgstr ""
-#: ../src/vikwindow.c:1664
+#: ../src/vikwindow.c:1972
msgid "Select Tool"
msgstr ""
-#: ../src/vikwindow.c:1809
+#: ../src/vikwindow.c:2123
msgid "You must select a layer to show its properties."
msgstr ""
#. No error to show, so unlikely this will get called
-#: ../src/vikwindow.c:1824
+#: ../src/vikwindow.c:2137
msgid "The help system is not available."
msgstr ""
#. Main error path
-#: ../src/vikwindow.c:1827
+#: ../src/vikwindow.c:2140
#, c-format
msgid ""
"Help is not available because: %s.\n"
"Ensure a Mime Type ghelp handler program is installed (e.g. yelp)."
msgstr ""
-#: ../src/vikwindow.c:1850
+#: ../src/vikwindow.c:2160
msgid "You must select a layer to delete."
msgstr ""
-#: ../src/vikwindow.c:2087
+#: ../src/vikwindow.c:2396
msgid "Untitled"
msgstr ""
-#: ../src/vikwindow.c:2194
+#: ../src/vikwindow.c:2503
#, c-format
msgid "Unable to add '%s' to the list of recently used documents"
msgstr ""
-#: ../src/vikwindow.c:2208
+#: ../src/vikwindow.c:2540
msgid "The file you requested could not be opened."
msgstr ""
-#: ../src/vikwindow.c:2211
+#: ../src/vikwindow.c:2543
msgid ""
"GPSBabel is required to load files of this type or GPSBabel encountered "
"problems."
msgstr ""
-#: ../src/vikwindow.c:2214
+#: ../src/vikwindow.c:2546
#, c-format
msgid "Unable to load malformed GPX file %s"
msgstr ""
-#: ../src/vikwindow.c:2217
+#: ../src/vikwindow.c:2549
#, c-format
msgid "Unsupported file type for %s"
msgstr ""
#. Since we can process .vik files with issues just show a warning in the status bar
#. Not that a user can do much about it... or tells them what this issue is yet...
-#: ../src/vikwindow.c:2223
+#: ../src/vikwindow.c:2555
#, c-format
msgid "WARNING: issues encountered loading %s"
msgstr ""
-#: ../src/vikwindow.c:2278
+#: ../src/vikwindow.c:2613
msgid "Please select a GPS data file to open. "
msgstr ""
-#: ../src/vikwindow.c:2288
+#: ../src/vikwindow.c:2629
msgid "Geocaching"
msgstr ""
-#: ../src/vikwindow.c:2294
+#: ../src/vikwindow.c:2635
msgid "Google Earth"
msgstr ""
-#: ../src/vikwindow.c:2299
+#: ../src/vikwindow.c:2640
msgid "GPX"
msgstr ""
-#: ../src/vikwindow.c:2304 ../src/vikwindow.c:2387
+#: ../src/vikwindow.c:2645 ../src/vikwindow.c:2734
#: ../src/viking.desktop.in.h:1
msgid "Viking"
msgstr ""
-#: ../src/vikwindow.c:2374
+#: ../src/vikwindow.c:2715
msgid "Save as Viking File."
msgstr ""
+#: ../src/vikwindow.c:2841
+msgid "Exporting to file: "
+msgstr ""
+
+#. Confirm what happened.
+#: ../src/vikwindow.c:2858
+#, c-format
+msgid "Exported files: %d"
+msgstr ""
+
+#: ../src/vikwindow.c:2870
+msgid "Nothing to Export!"
+msgstr ""
+
+#: ../src/vikwindow.c:2874
+msgid "Export to directory"
+msgstr ""
+
+#: ../src/vikwindow.c:2896
+msgid "Could not convert all files"
+msgstr ""
+
+#: ../src/vikwindow.c:2932
+#, c-format
+msgid "%d bytes"
+msgstr ""
+
+#: ../src/vikwindow.c:2934
+#, c-format
+msgid "%3.1f kB"
+msgstr ""
+
+#: ../src/vikwindow.c:2936
+#, c-format
+msgid "%3.1f MB"
+msgstr ""
+
+#: ../src/vikwindow.c:2937
+#, c-format
+msgid ""
+"%s\n"
+"\n"
+"%s\n"
+"\n"
+"%s"
+msgstr ""
+
+#: ../src/vikwindow.c:2942
+msgid "File not accessible"
+msgstr ""
+
+#: ../src/vikwindow.c:2945
+msgid "No Viking File"
+msgstr ""
+
+#: ../src/vikwindow.c:3035
+msgid "This layer has no configurable properties."
+msgstr ""
+
#. Try harder...
-#: ../src/vikwindow.c:2619 ../src/vikwindow.c:2625
+#: ../src/vikwindow.c:3169 ../src/vikwindow.c:3175
msgid "Generating image file..."
msgstr ""
-#: ../src/vikwindow.c:2647
+#: ../src/vikwindow.c:3197
msgid ""
"Failed to generate internal image.\n"
"\n"
"Try creating a smaller image."
msgstr ""
-#: ../src/vikwindow.c:2655
+#: ../src/vikwindow.c:3205
msgid "Failed to generate image file."
msgstr ""
#. Success
-#: ../src/vikwindow.c:2660
+#: ../src/vikwindow.c:3210
msgid "Image file generated."
msgstr ""
-#: ../src/vikwindow.c:2764
+#: ../src/vikwindow.c:3314
msgid ""
"Viewable region outside allowable pixel size bounds for image. Clipping "
"width/height values."
msgstr ""
-#: ../src/vikwindow.c:2789
+#: ../src/vikwindow.c:3339
#, c-format
msgid "Total area: %ldm x %ldm (%.3f sq. km)"
msgstr ""
-#: ../src/vikwindow.c:2792
+#: ../src/vikwindow.c:3342
#, c-format
msgid "Total area: %ldm x %ldm (%.3f sq. miles)"
msgstr ""
-#: ../src/vikwindow.c:2813
+#: ../src/vikwindow.c:3363
msgid "Save Image"
msgstr ""
-#: ../src/vikwindow.c:2834
+#: ../src/vikwindow.c:3393
msgid "PNG"
msgstr ""
-#: ../src/vikwindow.c:2857
+#: ../src/vikwindow.c:3416
msgid "You must be in UTM mode to use this feature"
msgstr ""
-#: ../src/vikwindow.c:2862
+#: ../src/vikwindow.c:3421
msgid "Choose a directory to hold images"
msgstr ""
#. todo: default for answers inside VikWindow or static (thruout instance)
-#: ../src/vikwindow.c:2883
+#: ../src/vikwindow.c:3442
msgid "Save to Image File"
msgstr ""
-#: ../src/vikwindow.c:2900
+#: ../src/vikwindow.c:3459
msgid "Width (pixels):"
msgstr ""
-#: ../src/vikwindow.c:2902
+#: ../src/vikwindow.c:3461
msgid "Height (pixels):"
msgstr ""
-#: ../src/vikwindow.c:2905
+#: ../src/vikwindow.c:3464
msgid ""
"WARNING: USING LARGE IMAGES OVER 10000x10000\n"
"MAY CRASH THE PROGRAM!"
msgstr ""
-#: ../src/vikwindow.c:2907
+#: ../src/vikwindow.c:3466
msgid "Zoom (meters per pixel):"
msgstr ""
-#: ../src/vikwindow.c:2921
+#: ../src/vikwindow.c:3482
msgid "Area in current viewable window"
msgstr ""
-#: ../src/vikwindow.c:2931
+#: ../src/vikwindow.c:3492
msgid "Save as PNG"
msgstr ""
-#: ../src/vikwindow.c:2932
+#: ../src/vikwindow.c:3493
msgid "Save as JPEG"
msgstr ""
-#: ../src/vikwindow.c:2954
+#: ../src/vikwindow.c:3515
msgid "East-west image tiles:"
msgstr ""
-#: ../src/vikwindow.c:2956
+#: ../src/vikwindow.c:3517
msgid "North-south image tiles:"
msgstr ""
-#: ../src/vikwindow.c:3097
+#: ../src/vikwindow.c:3656
msgid "Choose a background color"
msgstr ""
-#: ../src/vikwindow.c:3113
+#: ../src/vikwindow.c:3672
msgid "Choose a track highlight color"
msgstr ""
-#: ../src/vikwindow.c:3134
+#: ../src/vikwindow.c:3693
msgid "_File"
msgstr ""
-#: ../src/vikwindow.c:3135
+#: ../src/vikwindow.c:3694
msgid "_Edit"
msgstr ""
-#: ../src/vikwindow.c:3136
-msgid "_View"
-msgstr ""
-
-#: ../src/vikwindow.c:3137
+#: ../src/vikwindow.c:3696
msgid "_Show"
msgstr ""
-#: ../src/vikwindow.c:3140
+#: ../src/vikwindow.c:3699
msgid "_Layers"
msgstr ""
-#: ../src/vikwindow.c:3141
+#: ../src/vikwindow.c:3700
msgid "_Tools"
msgstr ""
-#: ../src/vikwindow.c:3142
+#: ../src/vikwindow.c:3701
msgid "_Webtools"
msgstr ""
-#: ../src/vikwindow.c:3143 ../src/vikwindow.c:3206
+#: ../src/vikwindow.c:3702 ../src/vikwindow.c:3763
msgid "_Help"
msgstr ""
-#: ../src/vikwindow.c:3145
+#: ../src/vikwindow.c:3704
msgid "New file"
msgstr ""
-#: ../src/vikwindow.c:3146
+#: ../src/vikwindow.c:3705
msgid "_Open..."
msgstr ""
-#: ../src/vikwindow.c:3146
+#: ../src/vikwindow.c:3705
msgid "Open a file"
msgstr ""
-#: ../src/vikwindow.c:3147
+#: ../src/vikwindow.c:3706
msgid "Open _Recent File"
msgstr ""
-#: ../src/vikwindow.c:3148
+#: ../src/vikwindow.c:3707
msgid "Append _File..."
msgstr ""
-#: ../src/vikwindow.c:3148
+#: ../src/vikwindow.c:3707
msgid "Append data from a different file"
msgstr ""
-#: ../src/vikwindow.c:3149
+#: ../src/vikwindow.c:3708
+msgid "_Export All"
+msgstr ""
+
+#: ../src/vikwindow.c:3708
+msgid "Export All TrackWaypoint Layers"
+msgstr ""
+
+#: ../src/vikwindow.c:3709
+msgid "_GPX..."
+msgstr ""
+
+#: ../src/vikwindow.c:3709
+msgid "Export as GPX"
+msgstr ""
+
+#: ../src/vikwindow.c:3710
msgid "A_cquire"
msgstr ""
-#: ../src/vikwindow.c:3150
+#: ../src/vikwindow.c:3711
msgid "Transfer data from a GPS device"
msgstr ""
-#: ../src/vikwindow.c:3151
+#: ../src/vikwindow.c:3712
msgid "Import File With GPS_Babel..."
msgstr ""
-#: ../src/vikwindow.c:3151
+#: ../src/vikwindow.c:3712
msgid "Import file via GPSBabel converter"
msgstr ""
-#: ../src/vikwindow.c:3153
-msgid "Google _Directions..."
+#: ../src/vikwindow.c:3713
+msgid "_Directions..."
msgstr ""
-#: ../src/vikwindow.c:3153
-msgid "Get driving directions from Google"
+#: ../src/vikwindow.c:3713
+msgid "Get driving directions"
msgstr ""
-#: ../src/vikwindow.c:3156
+#: ../src/vikwindow.c:3715
msgid "_OSM Traces..."
msgstr ""
-#: ../src/vikwindow.c:3156
+#: ../src/vikwindow.c:3715
msgid "Get traces from OpenStreetMap"
msgstr ""
-#: ../src/vikwindow.c:3157
+#: ../src/vikwindow.c:3716
msgid "_My OSM Traces..."
msgstr ""
-#: ../src/vikwindow.c:3157
+#: ../src/vikwindow.c:3716
msgid "Get Your Own Traces from OpenStreetMap"
msgstr ""
-#: ../src/vikwindow.c:3160
+#: ../src/vikwindow.c:3719
msgid "Geo_caches..."
msgstr ""
-#: ../src/vikwindow.c:3160
+#: ../src/vikwindow.c:3719
msgid "Get Geocaches from geocaching.com"
msgstr ""
-#: ../src/vikwindow.c:3163
+#: ../src/vikwindow.c:3722
msgid "Create waypoints from geotagged images"
msgstr ""
-#: ../src/vikwindow.c:3166
+#: ../src/vikwindow.c:3725
msgid "Create waypoints from Wikipedia items in the current view"
msgstr ""
-#: ../src/vikwindow.c:3168
+#: ../src/vikwindow.c:3727
msgid "_Save"
msgstr ""
-#: ../src/vikwindow.c:3168
+#: ../src/vikwindow.c:3727
msgid "Save the file"
msgstr ""
-#: ../src/vikwindow.c:3169
+#: ../src/vikwindow.c:3728
msgid "Save _As..."
msgstr ""
-#: ../src/vikwindow.c:3169
+#: ../src/vikwindow.c:3728
msgid "Save the file under different name"
msgstr ""
-#: ../src/vikwindow.c:3170
+#: ../src/vikwindow.c:3729
+msgid "Properties..."
+msgstr ""
+
+#: ../src/vikwindow.c:3729
+msgid "File Properties"
+msgstr ""
+
+#: ../src/vikwindow.c:3730
msgid "_Generate Image File..."
msgstr ""
-#: ../src/vikwindow.c:3170
+#: ../src/vikwindow.c:3730
msgid "Save a snapshot of the workspace into a file"
msgstr ""
-#: ../src/vikwindow.c:3171
+#: ../src/vikwindow.c:3731
msgid "Generate _Directory of Images..."
msgstr ""
-#: ../src/vikwindow.c:3171
+#: ../src/vikwindow.c:3731
msgid "FIXME:IMGDIR"
msgstr ""
-#: ../src/vikwindow.c:3174
+#: ../src/vikwindow.c:3732
msgid "_Print..."
msgstr ""
-#: ../src/vikwindow.c:3174
+#: ../src/vikwindow.c:3732
msgid "Print maps"
msgstr ""
-#: ../src/vikwindow.c:3177
+#: ../src/vikwindow.c:3733
msgid "E_xit"
msgstr ""
-#: ../src/vikwindow.c:3177
+#: ../src/vikwindow.c:3733
msgid "Exit the program"
msgstr ""
-#: ../src/vikwindow.c:3178
+#: ../src/vikwindow.c:3734
msgid "Save and Exit"
msgstr ""
-#: ../src/vikwindow.c:3178
+#: ../src/vikwindow.c:3734
msgid "Save and Exit the program"
msgstr ""
-#: ../src/vikwindow.c:3180
+#: ../src/vikwindow.c:3736
msgid "Go to the _Default Location"
msgstr ""
-#: ../src/vikwindow.c:3180
+#: ../src/vikwindow.c:3736
msgid "Go to the default location"
msgstr ""
-#: ../src/vikwindow.c:3181
+#: ../src/vikwindow.c:3737
msgid "Go to _Location..."
msgstr ""
-#: ../src/vikwindow.c:3181
+#: ../src/vikwindow.c:3737
msgid "Go to address/place using text search"
msgstr ""
-#: ../src/vikwindow.c:3182
+#: ../src/vikwindow.c:3738
msgid "_Go to Lat/Lon..."
msgstr ""
-#: ../src/vikwindow.c:3182
+#: ../src/vikwindow.c:3738
msgid "Go to arbitrary lat/lon coordinate"
msgstr ""
-#: ../src/vikwindow.c:3183
+#: ../src/vikwindow.c:3739
msgid "Go to UTM..."
msgstr ""
-#: ../src/vikwindow.c:3183
+#: ../src/vikwindow.c:3739
msgid "Go to arbitrary UTM coordinate"
msgstr ""
-#: ../src/vikwindow.c:3184
+#: ../src/vikwindow.c:3740
msgid "_Refresh"
msgstr ""
-#: ../src/vikwindow.c:3184
+#: ../src/vikwindow.c:3740
msgid "Refresh any maps displayed"
msgstr ""
-#: ../src/vikwindow.c:3185
+#: ../src/vikwindow.c:3741
msgid "Set _Highlight Color..."
msgstr ""
-#: ../src/vikwindow.c:3186
+#: ../src/vikwindow.c:3742
msgid "Set Bac_kground Color..."
msgstr ""
-#: ../src/vikwindow.c:3187
+#: ../src/vikwindow.c:3743
msgid "Zoom _In"
msgstr ""
-#: ../src/vikwindow.c:3188
+#: ../src/vikwindow.c:3744
msgid "Zoom _Out"
msgstr ""
-#: ../src/vikwindow.c:3189
+#: ../src/vikwindow.c:3745
msgid "Zoom _To..."
msgstr ""
-#: ../src/vikwindow.c:3190
+#: ../src/vikwindow.c:3746
msgid "Pan _North"
msgstr ""
-#: ../src/vikwindow.c:3191
+#: ../src/vikwindow.c:3747
msgid "Pan _East"
msgstr ""
-#: ../src/vikwindow.c:3192
+#: ../src/vikwindow.c:3748
msgid "Pan _South"
msgstr ""
-#: ../src/vikwindow.c:3193
+#: ../src/vikwindow.c:3749
msgid "Pan _West"
msgstr ""
-#: ../src/vikwindow.c:3194
+#: ../src/vikwindow.c:3750
msgid "Background _Jobs"
msgstr ""
-#: ../src/vikwindow.c:3196
+#: ../src/vikwindow.c:3752
msgid "Cu_t"
msgstr ""
-#: ../src/vikwindow.c:3197
-msgid "_Copy"
-msgstr ""
-
-#: ../src/vikwindow.c:3198
-msgid "_Paste"
-msgstr ""
-
-#: ../src/vikwindow.c:3199
-msgid "_Delete"
-msgstr ""
-
-#: ../src/vikwindow.c:3200
+#: ../src/vikwindow.c:3756
msgid "Delete All"
msgstr ""
-#: ../src/vikwindow.c:3201
+#: ../src/vikwindow.c:3757
msgid "_Flush Map Cache"
msgstr ""
-#: ../src/vikwindow.c:3202
+#: ../src/vikwindow.c:3758
msgid "_Set the Default Location"
msgstr ""
-#: ../src/vikwindow.c:3202
+#: ../src/vikwindow.c:3758
msgid "Set the Default Location to the current position"
msgstr ""
-#: ../src/vikwindow.c:3203
+#: ../src/vikwindow.c:3759
msgid "_Preferences"
msgstr ""
-#: ../src/vikwindow.c:3204
+#: ../src/vikwindow.c:3760
+msgid "_Layer Defaults"
+msgstr ""
+
+#: ../src/vikwindow.c:3761
msgid "_Properties"
msgstr ""
-#: ../src/vikwindow.c:3207
+#: ../src/vikwindow.c:3764
msgid "_About"
msgstr ""
-#: ../src/vikwindow.c:3213
+#: ../src/vikwindow.c:3768
+msgid "_KML..."
+msgstr ""
+
+#: ../src/vikwindow.c:3768
+msgid "Export as KML"
+msgstr ""
+
+#: ../src/vikwindow.c:3774
msgid "_UTM Mode"
msgstr ""
-#: ../src/vikwindow.c:3214
+#: ../src/vikwindow.c:3775
msgid "_Expedia Mode"
msgstr ""
-#: ../src/vikwindow.c:3215
+#: ../src/vikwindow.c:3776
msgid "_Mercator Mode"
msgstr ""
-#: ../src/vikwindow.c:3216
+#: ../src/vikwindow.c:3777
msgid "Lat_/Lon Mode"
msgstr ""
-#: ../src/vikwindow.c:3220
+#: ../src/vikwindow.c:3781
msgid "Show _Scale"
msgstr ""
-#: ../src/vikwindow.c:3220
+#: ../src/vikwindow.c:3781
msgid "Show Scale"
msgstr ""
-#: ../src/vikwindow.c:3221
+#: ../src/vikwindow.c:3782
msgid "Show _Center Mark"
msgstr ""
-#: ../src/vikwindow.c:3221
+#: ../src/vikwindow.c:3782
msgid "Show Center Mark"
msgstr ""
-#: ../src/vikwindow.c:3222
+#: ../src/vikwindow.c:3783
msgid "Show _Highlight"
msgstr ""
-#: ../src/vikwindow.c:3222
+#: ../src/vikwindow.c:3783
msgid "Show Highlight"
msgstr ""
-#: ../src/vikwindow.c:3223
+#: ../src/vikwindow.c:3784
msgid "_Full Screen"
msgstr ""
-#: ../src/vikwindow.c:3223
+#: ../src/vikwindow.c:3784
msgid "Activate full screen mode"
msgstr ""
-#: ../src/vikwindow.c:3224
+#: ../src/vikwindow.c:3785
msgid "Show Side _Panel"
msgstr ""
-#: ../src/vikwindow.c:3224
+#: ../src/vikwindow.c:3785
msgid "Show Side Panel"
msgstr ""
-#: ../src/vikwindow.c:3225
+#: ../src/vikwindow.c:3786
msgid "Show Status_bar"
msgstr ""
-#: ../src/vikwindow.c:3225
+#: ../src/vikwindow.c:3786
msgid "Show Statusbar"
msgstr ""
-#: ../src/vikwindow.c:3226
+#: ../src/vikwindow.c:3787
msgid "Show _Toolbar"
msgstr ""
-#: ../src/vikwindow.c:3226
+#: ../src/vikwindow.c:3787
msgid "Show Toolbar"
msgstr ""
-#: ../src/vikwindow.c:3227
+#: ../src/vikwindow.c:3788
msgid "Show _Menu"
msgstr ""
-#: ../src/vikwindow.c:3227
+#: ../src/vikwindow.c:3788
msgid "Show Menu"
msgstr ""
+#: ../src/vikwindow.c:3862
+#, c-format
+msgid "New _%s Layer"
+msgstr ""
+
#: ../src/viking.desktop.in.h:2
msgid "GPS Data Manager"
msgstr ""
diff --git a/po/zh_CN.po b/po/zh_CN.po
index cf5a496..bee01c6 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Viking\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-02-04 23:29+0100\n"
+"POT-Creation-Date: 2013-09-03 21:58+0200\n"
"PO-Revision-Date: 2013-03-07 06:59+0000\n"
"Last-Translator: Wylmer Wang <Unknown>\n"
"Language-Team: \n"
@@ -10,60 +10,60 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Launchpad-Export-Date: 2013-03-23 17:12+0000\n"
-"X-Generator: Launchpad (build 16540)\n"
+"X-Launchpad-Export-Date: 2013-10-12 09:04+0000\n"
+"X-Generator: Launchpad (build 16799)\n"
"X-Poedit-Language: Simplified Chinese\n"
-#: ../src/acquire.c:103 ../src/vikgpslayer.c:1185
+#: ../src/acquire.c:103 ../src/vikgpslayer.c:1235
msgid "Done."
msgstr "完成。"
-#: ../src/acquire.c:114
+#: ../src/acquire.c:112
msgid "No data."
msgstr "无数据。"
-#: ../src/acquire.c:154 ../src/acquire.c:404
+#: ../src/acquire.c:154 ../src/acquire.c:424
msgid "Error: acquisition failed."
msgstr "错误: 接收失败。"
-#: ../src/acquire.c:341
+#: ../src/acquire.c:352
msgid "Working..."
msgstr "工作中..."
#. This shouldn't happen...
-#: ../src/acquire.c:394
+#: ../src/acquire.c:415
msgid ""
"Unable to create command\n"
"Acquire method failed."
msgstr ""
-#: ../src/acquire.c:486
+#: ../src/acquire.c:517
msgid "_Filter"
msgstr ""
-#: ../src/acquire.c:501
+#: ../src/acquire.c:532
#, c-format
msgid "Filter with %s"
msgstr ""
-#: ../src/acquire.c:518
+#: ../src/acquire.c:549
msgid "Filter"
msgstr ""
-#: ../src/background.c:52
+#: ../src/background.c:53
#, c-format
msgid "%d items"
msgstr "%d 项"
-#: ../src/background.c:248
+#: ../src/background.c:254
msgid "Job"
msgstr "任务"
-#: ../src/background.c:252
+#: ../src/background.c:258
msgid "Progress"
msgstr "进度"
-#: ../src/background.c:268
+#: ../src/background.c:274
msgid "Viking Background Jobs"
msgstr "Viking 后台任务"
@@ -72,7 +72,7 @@ msgid "Bing"
msgstr ""
#. VIK_GTK_WINDOW_FROM_WIDGET(vp)
-#: ../src/bingmapsource.c:445
+#: ../src/bingmapsource.c:499
msgid "Bing attribution Loading"
msgstr ""
@@ -97,35 +97,35 @@ msgid ""
"into."
msgstr ""
-#: ../src/dialog.c:52
+#: ../src/dialog.c:53
msgid "Go to Lat/Lon"
msgstr ""
-#: ../src/dialog.c:64 ../src/dialog.c:251
+#: ../src/dialog.c:65 ../src/dialog.c:244
msgid "Latitude:"
msgstr "纬度:"
-#: ../src/dialog.c:70 ../src/dialog.c:256
+#: ../src/dialog.c:71 ../src/dialog.c:249
msgid "Longitude:"
msgstr "经度:"
-#: ../src/dialog.c:102
+#: ../src/dialog.c:103
msgid "Go to UTM"
msgstr ""
-#: ../src/dialog.c:115
+#: ../src/dialog.c:116
msgid "Northing:"
msgstr "Northing :"
-#: ../src/dialog.c:121
+#: ../src/dialog.c:122
msgid "Easting:"
msgstr "Easting :"
-#: ../src/dialog.c:128
+#: ../src/dialog.c:129
msgid "Zone:"
msgstr "Zone :"
-#: ../src/dialog.c:131
+#: ../src/dialog.c:132
msgid "Letter:"
msgstr "信函:"
@@ -133,105 +133,109 @@ msgstr "信函:"
msgid "Waypoint Properties"
msgstr ""
-#: ../src/dialog.c:233
+#: ../src/dialog.c:235
msgid "Name:"
msgstr "名称:"
-#: ../src/dialog.c:261
+#: ../src/dialog.c:254
msgid "Altitude:"
msgstr "海拔:"
-#: ../src/dialog.c:266
+#: ../src/dialog.c:259
msgid "Comment:"
msgstr "注释:"
-#: ../src/dialog.c:274 ../src/osm-traces.c:437
+#: ../src/dialog.c:267 ../src/osm-traces.c:445
msgid "Description:"
msgstr "Description :"
-#: ../src/dialog.c:277
+#: ../src/dialog.c:270
msgid "Image:"
msgstr "图片:"
-#: ../src/dialog.c:282
+#: ../src/dialog.c:275
msgid "Symbol:"
msgstr "符号:"
-#: ../src/dialog.c:291
+#: ../src/dialog.c:284
msgid "(none)"
msgstr "(无)"
+#: ../src/dialog.c:326
+msgid "Time:"
+msgstr ""
+
#. TODO: other checks (isalpha or whatever )
-#: ../src/dialog.c:356
+#: ../src/dialog.c:363
msgid "Please enter a name for the waypoint."
msgstr "请为该航点输入一个名字."
-#: ../src/dialog.c:529 ../src/geonamessearch.c:243
+#: ../src/dialog.c:502 ../src/geonamessearch.c:244
#: ../src/datasource_osm_my_traces.c:507
msgid "Nothing was selected"
msgstr ""
-#: ../src/dialog.c:537
+#: ../src/dialog.c:510
msgid "Add Route"
msgstr ""
-#: ../src/dialog.c:537
+#: ../src/dialog.c:510
msgid "Add Track"
msgstr "添加轨迹:"
-#: ../src/dialog.c:545
+#: ../src/dialog.c:518
msgid "Route Name:"
msgstr ""
-#: ../src/dialog.c:545
+#: ../src/dialog.c:518
msgid "Track Name:"
msgstr "轨迹名称:"
-#: ../src/dialog.c:565
+#: ../src/dialog.c:538
msgid "Please enter a name for the track."
msgstr "请为该轨迹输入一个名字."
-#: ../src/dialog.c:623
+#: ../src/dialog.c:596
msgid "Zoom Factors..."
msgstr "缩放参数..."
-#: ../src/dialog.c:637
+#: ../src/dialog.c:610
msgid "Zoom factor (in meters per pixel):"
msgstr ""
-#: ../src/dialog.c:638
+#: ../src/dialog.c:611
msgid "X (easting): "
msgstr "X (东方): "
-#: ../src/dialog.c:639
+#: ../src/dialog.c:612
msgid "Y (northing): "
msgstr "Y (北方): "
-#: ../src/dialog.c:644
+#: ../src/dialog.c:617
msgid "X and Y zoom factors must be equal"
msgstr "X和Y缩放参数必须相等"
-#: ../src/dialog.c:699
+#: ../src/dialog.c:672
msgid "1 min"
msgstr "1 分钟"
-#: ../src/dialog.c:700
+#: ../src/dialog.c:673
msgid "1 hour"
msgstr "1 小时"
-#: ../src/dialog.c:701
+#: ../src/dialog.c:674
msgid "1 day"
msgstr "1 天"
-#: ../src/dialog.c:702
+#: ../src/dialog.c:675
msgid "Custom (in minutes):"
msgstr ""
-#: ../src/dialog.c:808
+#: ../src/dialog.c:786
msgid "GPS Data and Topo Analyzer, Explorer, and Manager."
msgstr "GPS 数据和拓扑分析、浏览、管理工具."
-#: ../src/dialog.c:809
+#: ../src/dialog.c:787
msgid ""
"This program is free software; you can redistribute it and/or modify it "
"under the terms of the GNU General Public License as published by the Free "
@@ -248,28 +252,28 @@ msgid ""
"Place, Suite 330, Boston, MA 02111-1307, USA"
msgstr ""
-#: ../src/dialog.c:837
+#: ../src/dialog.c:852
msgid "Translation is coordinated on http://launchpad.net/viking"
msgstr ""
-#: ../src/dialog.c:845
+#: ../src/dialog.c:861
msgid "Download along track"
msgstr "沿着轨迹下载"
-#: ../src/dialog.c:851
+#: ../src/dialog.c:868
msgid "Map type:"
msgstr "地图类型:"
-#: ../src/dialog.c:856
+#: ../src/dialog.c:874
msgid "Zoom level:"
msgstr "缩放程度:"
-#: ../src/dialog.c:896
+#: ../src/dialog.c:914
#, c-format
msgid "The map data is licensed: %s."
msgstr ""
-#: ../src/dialog.c:899
+#: ../src/dialog.c:917
#, c-format
msgid ""
"The data provided by '<b>%s</b>' are licensed under the following license: "
@@ -277,7 +281,7 @@ msgid ""
"Please, read the license before continuing."
msgstr ""
-#: ../src/dialog.c:904
+#: ../src/dialog.c:922
msgid "Open license"
msgstr ""
@@ -322,7 +326,8 @@ msgstr ""
#. NB could allow columns to be shifted around by doing this after each new
#. gtk_tree_view_column_set_reorderable ( column, TRUE );
#. However I don't think is that useful, so I haven't put it in
-#: ../src/geonamessearch.c:177 ../src/datasource_osm_my_traces.c:425
+#: ../src/geonamessearch.c:177 ../src/datasource_osm_my_traces.c:424
+#: ../src/viktrwlayer_tracklist.c:521
msgid "Name"
msgstr ""
@@ -330,82 +335,192 @@ msgstr ""
msgid "Feature"
msgstr ""
-#: ../src/geonamessearch.c:187 ../src/datasource_osm_my_traces.c:440
+#: ../src/geonamessearch.c:187 ../src/datasource_osm_my_traces.c:439
msgid "Lat/Lon"
msgstr ""
-#: ../src/geonamessearch.c:269 ../src/googlesearch.c:100
+#: ../src/geonamessearch.c:270 ../src/googlesearch.c:100 ../src/vikgoto.c:306
msgid "couldn't map temp file"
msgstr ""
-#: ../src/globals.c:44
+#: ../src/globals.c:73
+msgid "Absolute"
+msgstr ""
+
+#: ../src/globals.c:73
+msgid "Relative"
+msgstr ""
+
+#: ../src/globals.c:76
msgid "Degree format:"
msgstr ""
-#: ../src/globals.c:48
+#: ../src/globals.c:77
msgid "Distance units:"
msgstr ""
-#: ../src/globals.c:52
+#: ../src/globals.c:78
msgid "Speed units:"
msgstr ""
-#: ../src/globals.c:56
+#: ../src/globals.c:79
msgid "Height units:"
msgstr ""
-#: ../src/globals.c:60
+#: ../src/globals.c:80
msgid "Use large waypoint icons:"
msgstr ""
-#: ../src/globals.c:64
+#: ../src/globals.c:81
msgid "Default latitude:"
msgstr ""
-#: ../src/globals.c:67
+#: ../src/globals.c:82
msgid "Default longitude:"
msgstr ""
-#: ../src/globals.c:73
+#: ../src/globals.c:88
msgid "Alphabetical"
msgstr ""
-#: ../src/globals.c:73 ../src/datasource_osm_my_traces.c:435
+#: ../src/globals.c:88 ../src/datasource_osm_my_traces.c:434
msgid "Time"
msgstr ""
-#: ../src/globals.c:76
+#: ../src/globals.c:88
+msgid "Creation"
+msgstr ""
+
+#: ../src/globals.c:89
+msgid "Title Case"
+msgstr ""
+
+#: ../src/globals.c:89
+msgid "Lowercase"
+msgstr ""
+
+#: ../src/globals.c:92
msgid "KML File Export Units:"
msgstr ""
-#: ../src/globals.c:77
+#: ../src/globals.c:93
msgid "GPX Track Order:"
msgstr ""
-#: ../src/globals.c:82
+#: ../src/globals.c:94
+msgid "GPX Waypoint Symbols:"
+msgstr ""
+
+#: ../src/globals.c:95
+msgid ""
+"Save GPX Waypoint Symbol names in the specified case. May be useful for "
+"compatibility with various devices"
+msgstr ""
+
+#: ../src/globals.c:100
msgid "Image Viewer:"
msgstr ""
-#: ../src/globals.c:87
+#: ../src/globals.c:105
msgid "External GPX Program 1:"
msgstr ""
-#: ../src/globals.c:88
+#: ../src/globals.c:106
msgid "External GPX Program 2:"
msgstr ""
+#: ../src/globals.c:110
+msgid "Save File Reference Mode:"
+msgstr ""
+
+#: ../src/globals.c:111
+msgid ""
+"When saving a Viking .vik file, this determines how the directory paths of "
+"filenames are written."
+msgstr ""
+
+#: ../src/globals.c:112
+msgid "Show Tooltip during Track Creation:"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Home Location"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Last Location"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Specified File"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Auto Location"
+msgstr ""
+
+#: ../src/globals.c:118
+msgid "Restore Window Setup:"
+msgstr ""
+
+#: ../src/globals.c:119
+msgid "Restore window size and layout"
+msgstr ""
+
+#: ../src/globals.c:120
+msgid "Add a Default Map Layer:"
+msgstr ""
+
+#: ../src/globals.c:121
+msgid ""
+"The default map layer added is defined by the Layer Defaults. Use the menu "
+"Edit->Layer Defaults->Map... to change the map type and other values."
+msgstr ""
+
+#: ../src/globals.c:122
+msgid "Startup Method:"
+msgstr ""
+
+#: ../src/globals.c:123
+msgid "Startup File:"
+msgstr ""
+
+#: ../src/globals.c:124
+msgid ""
+"The default file to load on startup. Only applies when the startup method is "
+"set to 'Specified File'"
+msgstr ""
+
+#: ../src/globals.c:125
+msgid "Check For New Version:"
+msgstr ""
+
+#: ../src/globals.c:126
+msgid "Periodically check to see if a new version of Viking is available"
+msgstr ""
+
#. Defaults for the options are setup here
-#: ../src/globals.c:96
+#: ../src/globals.c:163
msgid "General"
msgstr ""
#. New Tab
-#: ../src/globals.c:121
+#: ../src/globals.c:188
+msgid "Startup"
+msgstr ""
+
+#. New Tab
+#: ../src/globals.c:206
msgid "Export/External"
msgstr ""
+#. 'Advanced' Properties
+#: ../src/globals.c:230
+msgid "Advanced"
+msgstr ""
+
#. Webtools
-#: ../src/google.c:36
+#: ../src/google.c:38
msgid "Google"
msgstr ""
@@ -418,24 +533,24 @@ msgid "Imported file"
msgstr ""
#. The file selector
-#: ../src/datasource_file.c:133
+#: ../src/datasource_file.c:127
msgid "File:"
msgstr ""
-#: ../src/datasource_file.c:134
+#: ../src/datasource_file.c:128
msgid "File to import"
msgstr ""
-#: ../src/datasource_file.c:141
+#: ../src/datasource_file.c:135
msgid "All files"
msgstr ""
#. The file format selector
-#: ../src/datasource_file.c:148
+#: ../src/datasource_file.c:142
msgid "File type:"
msgstr ""
-#: ../src/datasource_file.c:193
+#: ../src/datasource_file.c:184
#, c-format
msgid "using babel args '%s' and file '%s'"
msgstr ""
@@ -448,29 +563,29 @@ msgstr "下载 Geocaches"
msgid "Geocaching.com Caches"
msgstr "Geocaching.com 缓存"
-#: ../src/datasource_gc.c:84
+#: ../src/datasource_gc.c:85
msgid "geocaching.com username:"
msgstr "geocaching.com 用户名:"
-#: ../src/datasource_gc.c:85
+#: ../src/datasource_gc.c:86
msgid "geocaching.com password:"
msgstr "geocaching.com 密码:"
-#: ../src/datasource_gc.c:126
+#: ../src/datasource_gc.c:127
#, c-format
msgid ""
"Can't find %s or %s in path! Check that you have installed it correctly."
msgstr ""
-#: ../src/datasource_gc.c:188
+#: ../src/datasource_gc.c:189
msgid "Number geocaches:"
msgstr ""
-#: ../src/datasource_gc.c:190
+#: ../src/datasource_gc.c:191
msgid "Centered around:"
msgstr ""
-#: ../src/datasource_gc.c:226
+#: ../src/datasource_gc.c:230
msgid "Broken input - using some defaults"
msgstr ""
@@ -482,116 +597,107 @@ msgstr ""
msgid "Geotagged Images"
msgstr ""
-#: ../src/datasource_geotag.c:102 ../src/vikwindow.c:2314
-#: ../src/vikwindow.c:2382 ../src/vikwindow.c:2824
+#: ../src/datasource_geotag.c:102 ../src/vikwindow.c:2655
+#: ../src/vikwindow.c:2729 ../src/vikwindow.c:3380
msgid "All"
msgstr ""
-#: ../src/datasource_geotag.c:107 ../src/vikwindow.c:2829
+#: ../src/datasource_geotag.c:107 ../src/vikwindow.c:3385
msgid "JPG"
msgstr ""
-#: ../src/datasource_geotag.c:165
+#: ../src/datasource_geotag.c:168
#, c-format
msgid "Unable to create waypoint from %s"
msgstr ""
-#: ../src/datasource_google.c:49 ../src/datasource_google.c:50
-msgid "Google Directions"
-msgstr "Google 方位"
-
-#: ../src/datasource_google.c:77
-msgid "From:"
-msgstr "从 :"
-
-#: ../src/datasource_google.c:79
-msgid "To:"
-msgstr "至 :"
-
-#: ../src/datasource_gps.c:57
+#: ../src/datasource_gps.c:54
msgid "Acquire from GPS"
msgstr "从GPS获取"
-#: ../src/datasource_gps.c:58
+#: ../src/datasource_gps.c:55
msgid "Acquired from GPS"
msgstr "已从GPS获取的"
-#: ../src/datasource_gps.c:221
+#: ../src/datasource_gps.c:245
#, c-format
msgid "using cmdline '%s' and file '%s'\n"
msgstr "使用命令行 '%s' 和文件 '%s'\n"
-#: ../src/datasource_gps.c:297 ../src/vikgpslayer.c:884
+#: ../src/datasource_gps.c:327 ../src/vikgpslayer.c:934
#, c-format
msgid "Downloading %d waypoint..."
msgid_plural "Downloading %d waypoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/datasource_gps.c:298 ../src/vikgpslayer.c:885
+#: ../src/datasource_gps.c:328 ../src/vikgpslayer.c:935
#, c-format
msgid "Downloading %d trackpoint..."
msgid_plural "Downloading %d trackpoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/datasource_gps.c:303 ../src/vikgpslayer.c:890
+#: ../src/datasource_gps.c:333 ../src/vikgpslayer.c:940
#, c-format
msgid "Downloading %d routepoint..."
msgid_plural "Downloading %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/datasource_gps.c:325 ../src/datasource_gps.c:326
-#: ../src/datasource_gps.c:327
+#: ../src/datasource_gps.c:355 ../src/datasource_gps.c:356
+#: ../src/datasource_gps.c:357
#, c-format
msgid "Downloaded %d out of %d %s..."
msgstr ""
-#: ../src/datasource_gps.c:331 ../src/datasource_gps.c:332
-#: ../src/datasource_gps.c:333
+#: ../src/datasource_gps.c:361 ../src/datasource_gps.c:362
+#: ../src/datasource_gps.c:363
#, c-format
msgid "Downloaded %d %s."
msgstr ""
-#: ../src/datasource_gps.c:347 ../src/vikgpslayer.c:968
+#: ../src/datasource_gps.c:377 ../src/vikgpslayer.c:1018
#, c-format
msgid "GPS Device: %s"
msgstr "GPS设备: %s"
-#: ../src/datasource_gps.c:370 ../src/vikgpslayer.c:1042
-#: ../src/vikgpslayer.c:1110
+#: ../src/datasource_gps.c:400 ../src/vikgpslayer.c:1092
+#: ../src/vikgpslayer.c:1160
msgid "Status: Working..."
msgstr ""
-#: ../src/datasource_gps.c:469 ../src/vikgpslayer.c:150
+#. NB gps_layer_inst_init() is performed after parameter registeration
+#. thus to give the protocols some potential values use the old static list
+#. TODO: find another way to use gps_layer_inst_init()?
+#: ../src/datasource_gps.c:500 ../src/vikgpslayer.c:207
msgid "GPS Protocol:"
msgstr "GPS 协议:"
-#. List now assigned at runtime
-#: ../src/datasource_gps.c:488 ../src/vikgpslayer.c:151
+#. List reassigned at runtime
+#: ../src/datasource_gps.c:526 ../src/vikgpslayer.c:208
msgid "Serial Port:"
msgstr "串口:"
-#: ../src/datasource_gps.c:509
+#: ../src/datasource_gps.c:576
msgid ""
"Turn Off After Transfer\n"
"(Garmin/NAViLink Only)"
msgstr ""
-#: ../src/datasource_gps.c:512
+#: ../src/datasource_gps.c:583
msgid "Tracks:"
msgstr ""
-#: ../src/datasource_gps.c:516
+#: ../src/datasource_gps.c:590
msgid "Routes:"
msgstr ""
-#: ../src/datasource_gps.c:520
+#: ../src/datasource_gps.c:597
msgid "Waypoints:"
msgstr ""
-#: ../src/datasource_gps.c:594 ../src/vikgpslayer.c:1305
+#: ../src/datasource_gps.c:675 ../src/vikgpslayer.c:1355
msgid "GPS device: N/A"
msgstr "GPS设备: 无"
@@ -599,39 +705,39 @@ msgstr "GPS设备: 无"
msgid "OSM traces"
msgstr ""
-#: ../src/datasource_osm.c:80
+#: ../src/datasource_osm.c:82
msgid "Page number:"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:63 ../src/datasource_osm_my_traces.c:64
+#: ../src/datasource_osm_my_traces.c:59 ../src/datasource_osm_my_traces.c:60
msgid "OSM My Traces"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:108
+#: ../src/datasource_osm_my_traces.c:104
msgid "Username:"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:113
+#: ../src/datasource_osm_my_traces.c:109
msgid "The email or username used to login to OSM"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:115 ../src/osm-traces.c:413
+#: ../src/datasource_osm_my_traces.c:111 ../src/osm-traces.c:421
msgid "Password:"
msgstr "密码:"
-#: ../src/datasource_osm_my_traces.c:120
+#: ../src/datasource_osm_my_traces.c:114
msgid "The password used to login to OSM"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:430
+#: ../src/datasource_osm_my_traces.c:429
msgid "Description"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:445
+#: ../src/datasource_osm_my_traces.c:444
msgid "Privacy"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:452
+#: ../src/datasource_osm_my_traces.c:451
msgid "Within Current View"
msgstr ""
@@ -643,15 +749,33 @@ msgstr ""
msgid "None found!"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:629
+#: ../src/datasource_osm_my_traces.c:634
msgid "My OSM Traces"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:645
+#: ../src/datasource_osm_my_traces.c:649
#, c-format
msgid "Unable to get trace: %s"
msgstr ""
+#: ../src/datasource_routing.c:53 ../src/datasource_routing.c:54
+msgid "Directions"
+msgstr ""
+
+#. Engine selector
+#: ../src/datasource_routing.c:83
+msgid "Engine:"
+msgstr ""
+
+#. From and To entries
+#: ../src/datasource_routing.c:88
+msgid "From:"
+msgstr "从 :"
+
+#: ../src/datasource_routing.c:90
+msgid "To:"
+msgstr "至 :"
+
#: ../src/datasource_wikipedia.c:32
msgid "Create Waypoints from Wikipedia Articles"
msgstr ""
@@ -672,174 +796,185 @@ msgstr ""
msgid "Incorrect DEM Class B record: expected 1"
msgstr ""
-#: ../src/dem.c:360
+#: ../src/dem.c:288 ../src/download.c:170
#, c-format
msgid "Couldn't map file %s: %s"
msgstr ""
-#: ../src/download.c:112
-msgid "Tile age (s):"
+#: ../src/download.c:130
+msgid "Tile age (days):"
msgstr ""
-#: ../src/download.c:233
+#: ../src/download.c:321
#, c-format
msgid "Download error: %s"
msgstr "下载错误: %s"
-#: ../src/download.c:313
+#: ../src/download.c:404
msgid "couldn't open temp file"
msgstr "不能打开临时文件"
-#: ../src/file.c:456 ../src/file.c:461
+#: ../src/file.c:451 ../src/file.c:456
#, c-format
msgid "Draw mode '%s' no more supported"
msgstr ""
-#: ../src/geotag_exif.c:433
+#: ../src/geotag_exif.c:421
msgid "Not enough memory."
msgstr ""
-#: ../src/geotag_exif.c:451
+#: ../src/geotag_exif.c:439
msgid "Setting a value for this tag is unsupported!"
msgstr ""
-#: ../src/geotag_exif.c:470
+#: ../src/geotag_exif.c:458
#, c-format
msgid "Too few components specified (need %d, found %d)\n"
msgstr ""
-#: ../src/geotag_exif.c:474
+#: ../src/geotag_exif.c:462
msgid "Numeric value expected\n"
msgstr ""
-#: ../src/geotag_exif.c:482
+#: ../src/geotag_exif.c:470
msgid "This shouldn't happen!"
msgstr ""
-#: ../src/geotag_exif.c:552
+#: ../src/geotag_exif.c:540
msgid "Not yet implemented!"
msgstr ""
-#: ../src/geotag_exif.c:565
+#: ../src/geotag_exif.c:553
msgid "Warning; Too many components specified!"
msgstr ""
-#: ../src/osm-traces.c:73
+#: ../src/osm-traces.c:76
msgid "Identifiable (public w/ timestamps)"
msgstr ""
-#: ../src/osm-traces.c:74
+#: ../src/osm-traces.c:77
msgid "Trackable (private w/ timestamps)"
msgstr ""
-#: ../src/osm-traces.c:75
+#: ../src/osm-traces.c:78
msgid "Public"
msgstr "Public"
-#: ../src/osm-traces.c:76
+#: ../src/osm-traces.c:79
msgid "Private"
msgstr ""
-#: ../src/osm-traces.c:93
+#: ../src/osm-traces.c:97
msgid "OSM username:"
msgstr ""
-#: ../src/osm-traces.c:94
+#: ../src/osm-traces.c:98
msgid "OSM password:"
msgstr ""
#. Preferences
-#: ../src/osm-traces.c:151
+#: ../src/osm-traces.c:155
msgid "OpenStreetMap Traces"
msgstr ""
-#: ../src/osm-traces.c:234
+#: ../src/osm-traces.c:238
#, c-format
msgid "failed to upload data: HTTP response is %ld"
msgstr ""
-#: ../src/osm-traces.c:239
+#: ../src/osm-traces.c:243
#, c-format
msgid "curl_easy_getinfo failed: %d"
msgstr ""
-#: ../src/osm-traces.c:244
+#: ../src/osm-traces.c:248
#, c-format
msgid "curl request failed: %s"
msgstr ""
-#: ../src/osm-traces.c:275
+#: ../src/osm-traces.c:279
#, c-format
msgid "failed to open temporary file: %s"
msgstr ""
#. Success
-#: ../src/osm-traces.c:328
+#: ../src/osm-traces.c:340
msgid "Uploaded to OSM"
msgstr ""
-#: ../src/osm-traces.c:332
+#: ../src/osm-traces.c:344
msgid "FAILED TO UPLOAD DATA TO OSM - CURL PROBLEM"
msgstr ""
-#: ../src/osm-traces.c:335
+#: ../src/osm-traces.c:347
msgid "FAILED TO UPLOAD DATA TO OSM"
msgstr ""
-#: ../src/osm-traces.c:335
+#: ../src/osm-traces.c:347
msgid "HTTP response code"
msgstr ""
-#: ../src/osm-traces.c:348
+#: ../src/osm-traces.c:355
#, c-format
msgid "failed to unlink temporary file: %s"
msgstr ""
-#: ../src/osm-traces.c:387
+#: ../src/osm-traces.c:394
msgid "OSM upload"
msgstr ""
-#: ../src/osm-traces.c:405
+#: ../src/osm-traces.c:413
msgid "Email:"
msgstr "电子邮箱 :"
-#: ../src/osm-traces.c:410
+#: ../src/osm-traces.c:418
msgid ""
"The email used as login\n"
"<small>Enter the email you use to login into www.openstreetmap.org.</small>"
msgstr ""
-#: ../src/osm-traces.c:418
+#: ../src/osm-traces.c:426
msgid ""
"The password used to login\n"
"<small>Enter the password you use to login into "
"www.openstreetmap.org.</small>"
msgstr ""
-#: ../src/osm-traces.c:423
+#: ../src/osm-traces.c:431
msgid "File's name:"
msgstr "文件名称:"
-#: ../src/osm-traces.c:433
+#: ../src/osm-traces.c:441
msgid ""
"The name of the file on OSM\n"
"<small>This is the name of the file created on the server.This is not the "
"name of the local file.</small>"
msgstr ""
-#: ../src/osm-traces.c:442
+#: ../src/osm-traces.c:450
msgid "The description of the trace"
msgstr ""
-#: ../src/osm-traces.c:444
+#: ../src/osm-traces.c:453
+msgid "Anonymize Times:"
+msgstr ""
+
+#: ../src/osm-traces.c:458
+msgid ""
+"Anonymize times of the trace.\n"
+"<small>You may choose to make the trace identifiable, yet mask the actual "
+"real time values</small>"
+msgstr ""
+
+#: ../src/osm-traces.c:462
msgid "Tags:"
msgstr ""
-#: ../src/osm-traces.c:449
+#: ../src/osm-traces.c:467
msgid "The tags associated to the trace"
msgstr ""
-#: ../src/osm-traces.c:482
+#: ../src/osm-traces.c:529
#, c-format
msgid "Uploading %s to OSM"
msgstr "上传 %s 到 OSM"
@@ -848,69 +983,88 @@ msgstr "上传 %s 到 OSM"
msgid "Map cache memory size (MB):"
msgstr ""
-#: ../src/print.c:53
+#: ../src/print.c:51 ../src/viktrwlayer.c:509
msgid "None"
msgstr "无"
-#: ../src/print.c:54
+#: ../src/print.c:52
msgid "Horizontally"
msgstr "水平的"
-#: ../src/print.c:55
+#: ../src/print.c:53
msgid "Vertically"
msgstr "垂直的"
-#: ../src/print.c:56
+#: ../src/print.c:54
msgid "Both"
msgstr ""
-#: ../src/print.c:120
+#: ../src/print.c:118
msgid "Image Settings"
msgstr "图像设置"
-#: ../src/print.c:546
+#: ../src/print.c:548
msgid "done"
msgstr "完成"
#. Page Size
-#: ../src/print.c:575
+#: ../src/print.c:577
msgid "_Adjust Page Size and Orientation"
msgstr ""
-#: ../src/print.c:591
+#: ../src/print.c:593
msgid "C_enter:"
msgstr "C_entrer :"
#. ignore page margins
-#: ../src/print.c:609
+#: ../src/print.c:611
msgid "Ignore Page _Margins"
msgstr ""
-#: ../src/print.c:628
+#: ../src/print.c:630
msgid "Image S_ize:"
msgstr ""
-#: ../src/util.c:81
-msgid "Could not launch web browser."
+#: ../src/util.c:65
+#, c-format
+msgid "Could not launch web browser. %s"
msgstr ""
-#: ../src/util.c:92
-msgid "Could not create new email."
+#: ../src/util.c:76
+#, c-format
+msgid "Could not create new email. %s"
msgstr ""
-#: ../src/vikcoordlayer.c:46
+#: ../src/util.c:177
+#, c-format
+msgid ""
+"There is a newer version of Viking available: %s\n"
+"\n"
+"Do you wish to go to Viking's website now?"
+msgstr ""
+
+#: ../src/util.c:304
+msgid ""
+"This appears to be Viking's very first run.\n"
+"\n"
+"Do you wish to enable automatic internet features?\n"
+"\n"
+"Individual settings can be controlled in the Preferences."
+msgstr ""
+
+#: ../src/vikcoordlayer.c:57
msgid "Color:"
msgstr ""
-#: ../src/vikcoordlayer.c:47
+#: ../src/vikcoordlayer.c:58
msgid "Minutes Width:"
msgstr ""
-#: ../src/vikcoordlayer.c:48
+#: ../src/vikcoordlayer.c:59
msgid "Line Thickness:"
msgstr ""
-#: ../src/vikcoordlayer.c:56
+#: ../src/vikcoordlayer.c:66
msgid "Coordinate"
msgstr ""
@@ -946,62 +1100,130 @@ msgstr ""
msgid "Polygonzied Layer"
msgstr ""
-#: ../src/main.c:89
+#: ../src/main.c:92
#, c-format
msgid "Ignoring Xlib error: error code %d request code %d\n"
msgstr ""
-#: ../src/main.c:102
+#: ../src/main.c:105
msgid "Enable debug output"
msgstr ""
-#: ../src/main.c:103
+#: ../src/main.c:106
msgid "Enable verbose output"
msgstr ""
-#: ../src/main.c:104
+#: ../src/main.c:107
msgid "Show version"
msgstr "显示版本"
-#: ../src/osm.c:106
+#: ../src/osm.c:99
msgid "On Disk OSM Tile Format"
msgstr ""
-#: ../src/osm.c:121
+#: ../src/osm.c:113
msgid "OSM (view)"
msgstr ""
-#: ../src/osm.c:125
+#: ../src/osm.c:117
msgid "OSM (edit)"
msgstr ""
-#: ../src/osm.c:129
+#: ../src/osm.c:121
msgid "OSM (render)"
msgstr ""
#. Example: http://127.0.0.1:8111/load_and_zoom?left=8.19&right=8.20&top=48.605&bottom=48.590&select=node413602999
#. JOSM or merkaartor must already be running with remote interface enabled
-#: ../src/osm.c:136
+#: ../src/osm.c:128
msgid "Local port 8111 (eg JOSM)"
msgstr ""
-#: ../src/preferences.c:285
+#: ../src/osm.c:134
+msgid "OpenStreetMap Notes"
+msgstr ""
+
+#: ../src/osm.c:138
+msgid "OpenStreetBugs"
+msgstr ""
+
+#. Not really OSM but can't be bothered to create somewhere else to put it...
+#: ../src/osm.c:164
+msgid "Wikimedia Toolserver GeoHack"
+msgstr ""
+
+#: ../src/preferences.c:191
msgid "Preferences"
msgstr ""
-#: ../src/uibuilder.c:147
+#: ../src/viklayer_defaults.c:232
+#, c-format
+msgid "Could not open file: %s"
+msgstr ""
+
+#: ../src/viklayer_defaults.c:303
+msgid "Layer Defaults"
+msgstr ""
+
+#: ../src/uibuilder.c:185
msgid "Take care that this password will be stored clearly in a plain file."
msgstr ""
-#: ../src/vikaggregatelayer.c:37
+#: ../src/vikaggregatelayer.c:42
msgid "Aggregate"
msgstr ""
-#: ../src/vikdemlayer.c:101
+#. VikLayersPanel *vlp = VIK_LAYERS_PANEL(lav[1]);
+#: ../src/vikaggregatelayer.c:484 ../src/viktrwlayer.c:10238
+#, c-format
+msgid "%s: Track and Route List"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:529 ../src/viktrwlayer.c:7354
+#: ../src/viktrwlayer.c:7420 ../src/viktrwlayer.c:7498
+msgid "_Visibility"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:534
+msgid "_Show All"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:540
+msgid "_Hide All"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:546 ../src/viktrwlayer.c:7371
+#: ../src/viktrwlayer.c:7437 ../src/viktrwlayer.c:7515
+msgid "_Toggle"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:553 ../src/viktrwlayer.c:7536
+msgid "_Sort"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:559 ../src/viktrwlayer.c:7542
+msgid "Name _Ascending"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:565 ../src/viktrwlayer.c:7548
+msgid "Name _Descending"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:571 ../src/viktrwlayer.c:7449
+#: ../src/viktrwlayer.c:7527 ../src/viktrwlayer.c:7587
+#: ../src/viktrwlayer_tracklist.c:237
+msgid "_Statistics"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:576 ../src/viktrwlayer.c:3971
+msgid "Track _List..."
+msgstr ""
+
+#: ../src/vikdemlayer.c:92
msgid "Absolute height"
msgstr ""
-#: ../src/vikdemlayer.c:102
+#: ../src/vikdemlayer.c:93
msgid "Height gradient"
msgstr ""
@@ -1041,25 +1263,52 @@ msgstr ""
msgid "DEM"
msgstr ""
-#: ../src/vikdemlayer.c:284
+#: ../src/vikdemlayer.c:287
#, c-format
msgid "Number of files: %d"
msgstr ""
-#: ../src/vikdemlayer.c:385
+#: ../src/vikdemlayer.c:427
msgid "DEM Loading"
msgstr ""
-#: ../src/vikdemlayer.c:889
+#: ../src/vikdemlayer.c:937
#, c-format
msgid "No SRTM data available for %f, %f"
msgstr "没有可以的SRTM数据给 %f, %f"
-#: ../src/vikdemlayer.c:1149
+#. Probably not over any land...
+#: ../src/vikdemlayer.c:1193
+msgid "No DEM File Available"
+msgstr ""
+
+#: ../src/vikdemlayer.c:1212
+#, c-format
+msgid ""
+"\n"
+"Source: %s\n"
+"\n"
+"DEM File: %s\n"
+"DEM File Timestamp: %s"
+msgstr ""
+
+#: ../src/vikdemlayer.c:1216
+#, c-format
+msgid ""
+"Source: %s\n"
+"\n"
+"No DEM File!"
+msgstr ""
+
+#: ../src/vikdemlayer.c:1256
#, c-format
msgid "Downloading DEM %s"
msgstr "正在下载 DEM %s"
+#: ../src/vikdemlayer.c:1280
+msgid "_Show DEM File Information"
+msgstr ""
+
#: ../src/vikfileentry.c:68
msgid "Browse..."
msgstr "浏览..."
@@ -1080,248 +1329,266 @@ msgstr "添加 ..."
msgid "Delete"
msgstr "删除"
-#: ../src/vikgeoreflayer.c:70
+#: ../src/vikgeoreflayer.c:78
msgid "_Georef Move Map"
msgstr ""
-#: ../src/vikgeoreflayer.c:70
+#: ../src/vikgeoreflayer.c:78
msgid "Georef Move Map"
msgstr ""
-#: ../src/vikgeoreflayer.c:77
+#: ../src/vikgeoreflayer.c:85
msgid "Georef Z_oom Tool"
msgstr ""
-#: ../src/vikgeoreflayer.c:77
+#: ../src/vikgeoreflayer.c:85
msgid "Georef Zoom Tool"
msgstr ""
-#: ../src/vikgeoreflayer.c:87
+#: ../src/vikgeoreflayer.c:95
msgid "GeoRef Map"
msgstr ""
-#: ../src/vikgeoreflayer.c:335 ../src/vikmapslayer.c:685
+#: ../src/vikgeoreflayer.c:377 ../src/vikmapslayer.c:720
#, c-format
msgid "Couldn't open image file: %s"
msgstr ""
-#: ../src/vikgeoreflayer.c:365
+#: ../src/vikgeoreflayer.c:391
+msgid ""
+"GeoRef map cannot be displayed in the current drawmode.\n"
+"Select \"UTM Mode\" from View menu to view it."
+msgstr ""
+
+#: ../src/vikgeoreflayer.c:415
msgid "Unexpected end of file reading World file."
msgstr ""
-#: ../src/vikgeoreflayer.c:381 ../src/vikgeoreflayer.c:426
+#: ../src/vikgeoreflayer.c:431 ../src/vikgeoreflayer.c:476
msgid "Choose World file"
msgstr ""
-#: ../src/vikgeoreflayer.c:394
+#: ../src/vikgeoreflayer.c:444
msgid "The World file you requested could not be opened for reading."
msgstr ""
-#: ../src/vikgeoreflayer.c:439
+#: ../src/vikgeoreflayer.c:489
msgid "The file you requested could not be opened for writing."
msgstr ""
-#: ../src/vikgeoreflayer.c:456 ../src/viklayer.c:480
+#: ../src/vikgeoreflayer.c:506 ../src/viklayer.c:518
msgid "Layer Properties"
msgstr ""
-#: ../src/vikgeoreflayer.c:478
+#: ../src/vikgeoreflayer.c:528
msgid "World File Parameters:"
msgstr ""
-#: ../src/vikgeoreflayer.c:479
+#: ../src/vikgeoreflayer.c:529
msgid "Load From File..."
msgstr ""
-#: ../src/vikgeoreflayer.c:484
+#: ../src/vikgeoreflayer.c:534
msgid "Corner pixel easting:"
msgstr ""
-#: ../src/vikgeoreflayer.c:486
-msgid "the UTM \"easting\" value of the upper-right corner pixel of the map"
+#: ../src/vikgeoreflayer.c:536
+msgid "the UTM \"easting\" value of the upper-left corner pixel of the map"
msgstr ""
-#: ../src/vikgeoreflayer.c:488
+#: ../src/vikgeoreflayer.c:538
msgid "Corner pixel northing:"
msgstr ""
-#: ../src/vikgeoreflayer.c:490
-msgid "the UTM \"northing\" value of the upper-right corner pixel of the map"
+#: ../src/vikgeoreflayer.c:540
+msgid "the UTM \"northing\" value of the upper-left corner pixel of the map"
msgstr ""
-#: ../src/vikgeoreflayer.c:492
+#: ../src/vikgeoreflayer.c:542
msgid "X (easting) scale (mpp): "
msgstr ""
-#: ../src/vikgeoreflayer.c:493
+#: ../src/vikgeoreflayer.c:543
msgid "Y (northing) scale (mpp): "
msgstr ""
-#: ../src/vikgeoreflayer.c:496
+#: ../src/vikgeoreflayer.c:546
msgid "the scale of the map in the X direction (meters per pixel)"
msgstr ""
-#: ../src/vikgeoreflayer.c:498
+#: ../src/vikgeoreflayer.c:548
msgid "the scale of the map in the Y direction (meters per pixel)"
msgstr ""
-#: ../src/vikgeoreflayer.c:500
+#: ../src/vikgeoreflayer.c:550
msgid "Map Image:"
msgstr "地图图片:"
#. Now with icons
-#: ../src/vikgeoreflayer.c:608
+#: ../src/vikgeoreflayer.c:658
msgid "_Zoom to Fit Map"
msgstr ""
-#: ../src/vikgeoreflayer.c:614
+#: ../src/vikgeoreflayer.c:664
msgid "_Goto Map Center"
msgstr ""
-#: ../src/vikgeoreflayer.c:620
+#: ../src/vikgeoreflayer.c:670
msgid "_Export to World File"
msgstr ""
-#: ../src/vikgoto.c:75
+#: ../src/vikgoto.c:81
msgid "No goto tool available."
msgstr ""
-#: ../src/vikgoto.c:88 ../src/vikgoto.c:107
+#: ../src/vikgoto.c:94 ../src/vikgoto.c:148
msgid "goto"
msgstr ""
-#: ../src/vikgoto.c:90
+#: ../src/vikgoto.c:96
msgid "I don't know that place. Do you want another goto?"
msgstr ""
-#: ../src/vikgoto.c:109
+#: ../src/vikgoto.c:150
msgid "goto provider:"
msgstr ""
-#: ../src/vikgoto.c:124
+#: ../src/vikgoto.c:165
msgid "Enter address or place name:"
msgstr "输入地址或者地点名称:"
-#: ../src/vikgpslayer.c:127
+#: ../src/vikgoto.c:363
+msgid "Locality"
+msgstr ""
+
+#: ../src/vikgpslayer.c:128
msgid "Data Mode"
msgstr ""
-#: ../src/vikgpslayer.c:129
+#: ../src/vikgpslayer.c:130
msgid "Realtime Tracking Mode"
msgstr ""
-#: ../src/vikgpslayer.c:137
+#: ../src/vikgpslayer.c:167
msgid "Keep vehicle at center"
msgstr ""
-#: ../src/vikgpslayer.c:138
+#: ../src/vikgpslayer.c:168
msgid "Keep vehicle on screen"
msgstr ""
-#: ../src/vikgpslayer.c:139
+#: ../src/vikgpslayer.c:169
msgid "Disable"
msgstr ""
-#: ../src/vikgpslayer.c:152
+#: ../src/vikgpslayer.c:209
msgid "Download Tracks:"
msgstr ""
-#: ../src/vikgpslayer.c:153
+#: ../src/vikgpslayer.c:210
msgid "Upload Tracks:"
msgstr ""
-#: ../src/vikgpslayer.c:154
+#: ../src/vikgpslayer.c:211
msgid "Download Routes:"
msgstr ""
-#: ../src/vikgpslayer.c:155
+#: ../src/vikgpslayer.c:212
msgid "Upload Routes:"
msgstr ""
-#: ../src/vikgpslayer.c:156
+#: ../src/vikgpslayer.c:213
msgid "Download Waypoints:"
msgstr ""
-#: ../src/vikgpslayer.c:157
+#: ../src/vikgpslayer.c:214
msgid "Upload Waypoints:"
msgstr ""
-#: ../src/vikgpslayer.c:159
+#: ../src/vikgpslayer.c:216
msgid "Recording tracks"
msgstr "正在纪录轨迹"
-#: ../src/vikgpslayer.c:160
+#: ../src/vikgpslayer.c:217
msgid "Jump to current position on start"
msgstr "在开始时跳到当前位置"
-#: ../src/vikgpslayer.c:161
+#: ../src/vikgpslayer.c:218
msgid "Moving Map Method:"
msgstr ""
-#: ../src/vikgpslayer.c:162
+#: ../src/vikgpslayer.c:219
+msgid "Update Statusbar:"
+msgstr ""
+
+#: ../src/vikgpslayer.c:219
+msgid "Display information in the statusbar on GPS updates"
+msgstr ""
+
+#: ../src/vikgpslayer.c:220
msgid "Gpsd Host:"
msgstr "Gpsd 主机:"
-#: ../src/vikgpslayer.c:163
+#: ../src/vikgpslayer.c:221
msgid "Gpsd Port:"
msgstr "Gpsd 端口:"
-#: ../src/vikgpslayer.c:164
+#: ../src/vikgpslayer.c:222
msgid "Gpsd Retry Interval (seconds):"
msgstr ""
-#: ../src/vikgpslayer.c:179
+#: ../src/vikgpslayer.c:243
msgid "GPS"
msgstr ""
-#: ../src/vikgpslayer.c:242 ../src/vikgpslayer.c:1258
+#: ../src/vikgpslayer.c:306 ../src/vikgpslayer.c:1308
msgid "GPS Download"
msgstr "GPS 下载"
-#: ../src/vikgpslayer.c:242 ../src/vikgpslayer.c:1258
-#: ../src/viktrwlayer.c:3094
+#: ../src/vikgpslayer.c:306 ../src/vikgpslayer.c:1308
+#: ../src/viktrwlayer.c:3480
msgid "GPS Upload"
msgstr "GPS 上传"
-#: ../src/vikgpslayer.c:244
+#: ../src/vikgpslayer.c:308
msgid "GPS Realtime Tracking"
msgstr "GPS实时跟踪"
-#: ../src/vikgpslayer.c:451
+#: ../src/vikgpslayer.c:517
msgid "Unknown GPS Protocol"
msgstr "未知的GPS协议"
-#: ../src/vikgpslayer.c:469
+#: ../src/vikgpslayer.c:535
msgid "Unknown serial port device"
msgstr "未知的串口设备"
-#: ../src/vikgpslayer.c:572
+#: ../src/vikgpslayer.c:648
#, c-format
msgid "%s: unknown parameter"
msgstr "%s: 未知的参数"
#. Now with icons
-#: ../src/vikgpslayer.c:693
+#: ../src/vikgpslayer.c:743
msgid "_Upload to GPS"
msgstr ""
-#: ../src/vikgpslayer.c:699
+#: ../src/vikgpslayer.c:749
msgid "Download from _GPS"
msgstr ""
-#: ../src/vikgpslayer.c:720
+#: ../src/vikgpslayer.c:770
msgid "Empty _Realtime"
msgstr ""
-#: ../src/vikgpslayer.c:727
+#: ../src/vikgpslayer.c:777
msgid "E_mpty Upload"
msgstr ""
-#: ../src/vikgpslayer.c:733
+#: ../src/vikgpslayer.c:783
msgid "_Empty Download"
msgstr ""
-#: ../src/vikgpslayer.c:739
+#: ../src/vikgpslayer.c:789
msgid "Empty _All"
msgstr ""
@@ -1330,232 +1597,230 @@ msgstr ""
#. This happens when copied GPS layer is deleted (not sure why the number_handlers would be 2)
#. I don't think there's any side effects and certainly better than the program just aborting
#.
-#: ../src/vikgpslayer.c:756
+#: ../src/vikgpslayer.c:806
#, c-format
msgid "Unexpected number of disconnected handlers: %d"
msgstr ""
-#: ../src/vikgpslayer.c:898
+#: ../src/vikgpslayer.c:948
#, c-format
msgid "Uploading %d waypoint..."
msgid_plural "Uploading %d waypoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:899
+#: ../src/vikgpslayer.c:949
#, c-format
msgid "Uploading %d trackpoint..."
msgid_plural "Uploading %d trackpoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:900
+#: ../src/vikgpslayer.c:950
#, c-format
msgid "Uploading %d routepoint..."
msgid_plural "Uploading %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:925
+#: ../src/vikgpslayer.c:975
#, c-format
msgid "Downloaded %d out of %d waypoint..."
msgid_plural "Downloaded %d out of %d waypoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:926
+#: ../src/vikgpslayer.c:976
#, c-format
msgid "Downloaded %d out of %d trackpoint..."
msgid_plural "Downloaded %d out of %d trackpoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:927
+#: ../src/vikgpslayer.c:977
#, c-format
msgid "Downloaded %d out of %d routepoint..."
msgid_plural "Downloaded %d out of %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:932
+#: ../src/vikgpslayer.c:982
#, c-format
msgid "Uploaded %d out of %d waypoint..."
msgid_plural "Uploaded %d out of %d waypoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:933
+#: ../src/vikgpslayer.c:983
#, c-format
msgid "Uploaded %d out of %d trackpoint..."
msgid_plural "Uploaded %d out of %d trackpoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:934
+#: ../src/vikgpslayer.c:984
#, c-format
msgid "Uploaded %d out of %d routepoint..."
msgid_plural "Uploaded %d out of %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:942
+#: ../src/vikgpslayer.c:992
#, c-format
msgid "Downloaded %d waypoint"
msgid_plural "Downloaded %d waypoints"
msgstr[0] "下载的 %d 航点"
-#: ../src/vikgpslayer.c:943
+#: ../src/vikgpslayer.c:993
#, c-format
msgid "Downloaded %d trackpoint"
msgid_plural "Downloaded %d trackpoints"
msgstr[0] "下载的 %d 轨迹点"
-#: ../src/vikgpslayer.c:944
+#: ../src/vikgpslayer.c:994
#, c-format
msgid "Downloaded %d routepoint"
msgid_plural "Downloaded %d routepoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:949
+#: ../src/vikgpslayer.c:999
#, c-format
msgid "Uploaded %d waypoint"
msgid_plural "Uploaded %d waypoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:950
+#: ../src/vikgpslayer.c:1000
#, c-format
msgid "Uploaded %d trackpoint"
msgid_plural "Uploaded %d trackpoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:951
+#: ../src/vikgpslayer.c:1001
#, c-format
msgid "Uploaded %d routepoint"
msgid_plural "Uploaded %d routepoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:1180
+#: ../src/vikgpslayer.c:1230
msgid "Error: couldn't find gpsbabel."
msgstr "错误: 没有发现 gpsbabel."
-#: ../src/vikgpslayer.c:1269
+#: ../src/vikgpslayer.c:1319
msgid "Warning - GPS Upload items may overwrite each other"
msgstr ""
-#: ../src/vikgpslayer.c:1301
+#: ../src/vikgpslayer.c:1351
msgid "Status: detecting gpsbabel"
msgstr "状态: 检测 gpsbabel"
-#: ../src/vikgpslayer.c:1332
+#: ../src/vikgpslayer.c:1386
msgid "No GPS items selected for transfer."
msgstr ""
-#: ../src/vikgpslayer.c:1347
+#: ../src/vikgpslayer.c:1401
msgid "Could not turn off device."
msgstr ""
-#: ../src/vikgpslayer.c:1385
+#: ../src/vikgpslayer.c:1439
msgid "Are you sure you want to delete GPS Upload data?"
msgstr ""
-#: ../src/vikgpslayer.c:1398
+#: ../src/vikgpslayer.c:1452
msgid "Are you sure you want to delete GPS Download data?"
msgstr ""
-#: ../src/vikgpslayer.c:1412
+#: ../src/vikgpslayer.c:1466
msgid "Are you sure you want to delete GPS Realtime data?"
msgstr ""
-#: ../src/vikgpslayer.c:1425
+#: ../src/vikgpslayer.c:1479
msgid "Are you sure you want to delete All GPS data?"
msgstr ""
-#: ../src/viklayerspanel.c:55
-msgid "/C_ut"
-msgstr "/_u 剪切"
+#: ../src/viklayerspanel.c:53
+msgid "C_ut"
+msgstr ""
-#: ../src/viklayerspanel.c:56
-msgid "/_Copy"
-msgstr "/_C 拷贝"
+#: ../src/viklayerspanel.c:54 ../src/vikwindow.c:3753
+msgid "_Copy"
+msgstr "_C 拷贝"
-#: ../src/viklayerspanel.c:57
-msgid "/_Paste"
-msgstr "/_P 粘贴"
+#: ../src/viklayerspanel.c:55 ../src/vikwindow.c:3754
+msgid "_Paste"
+msgstr "_P 粘贴"
-#: ../src/viklayerspanel.c:58
-msgid "/_Delete"
-msgstr "/_D 删除"
+#: ../src/viklayerspanel.c:56 ../src/vikwindow.c:3755
+msgid "_Delete"
+msgstr "删除(_D)"
-#: ../src/viklayerspanel.c:59
-msgid "/New Layer"
-msgstr "/新图层"
+#: ../src/viklayerspanel.c:133
+msgid "New Layer"
+msgstr ""
-#: ../src/viklayerspanel.c:127
+#: ../src/viklayerspanel.c:178
msgid "Top Layer"
msgstr "顶层"
-#: ../src/viklayerspanel.c:143
+#: ../src/viklayerspanel.c:194
msgid "Add new layer"
msgstr ""
-#: ../src/viklayerspanel.c:150
+#: ../src/viklayerspanel.c:201
msgid "Remove selected layer"
msgstr ""
-#: ../src/viklayerspanel.c:157
+#: ../src/viklayerspanel.c:208
msgid "Move selected layer up"
msgstr ""
-#: ../src/viklayerspanel.c:164
+#: ../src/viklayerspanel.c:215
msgid "Move selected layer down"
msgstr ""
-#: ../src/viklayerspanel.c:171
+#: ../src/viklayerspanel.c:222
msgid "Cut selected layer"
msgstr ""
-#: ../src/viklayerspanel.c:178
+#: ../src/viklayerspanel.c:229
msgid "Copy selected layer"
msgstr ""
-#: ../src/viklayerspanel.c:185
-msgid "Paste layer below selected layer"
+#: ../src/viklayerspanel.c:236
+msgid ""
+"Paste layer into selected container layer or otherwise above selected layer"
msgstr ""
-#. TODO: FIXME: if name has a '/' in it it will get all messed up. why not have an itemfactory field with
-#. name, icon, shortcut, etc.?
-#: ../src/viklayerspanel.c:204 ../src/vikwindow.c:3292
-#, c-format
-msgid "New _%s Layer"
+#: ../src/viklayerspanel.c:300
+msgid "New name can not be blank."
msgstr ""
-#: ../src/viklayerspanel.c:511
+#: ../src/viklayerspanel.c:544
msgid "Aggregate Layers have no settable properties."
msgstr ""
-#: ../src/viklayerspanel.c:555
+#: ../src/viklayerspanel.c:588
msgid "You cannot cut the Top Layer."
msgstr "您不能剪切掉顶层"
-#: ../src/viklayerspanel.c:600
+#: ../src/viklayerspanel.c:633
#, c-format
msgid "Are you sure you want to delete %s?"
msgstr ""
-#: ../src/viklayerspanel.c:617
+#: ../src/viklayerspanel.c:650
msgid "You cannot delete the Top Layer."
msgstr "您不能删除顶层"
-#: ../src/viklayerspanel.c:701
+#: ../src/viklayerspanel.c:734
msgid "Are you sure you wish to delete all layers?"
msgstr "您真的确认要删除所有的图层?"
#. ******* MAPZOOMS ********
-#: ../src/vikmapslayer.c:91
+#: ../src/vikmapslayer.c:80
msgid "Use Viking Zoom Level"
msgstr ""
@@ -1602,69 +1867,69 @@ msgid ""
"actual zoom level."
msgstr ""
-#: ../src/vikmapslayer.c:146
+#: ../src/vikmapslayer.c:156
msgid "_Maps Download"
msgstr ""
-#: ../src/vikmapslayer.c:146
+#: ../src/vikmapslayer.c:156
msgid "Maps Download"
msgstr "地图下载"
-#: ../src/vikmapslayer.c:161
+#: ../src/vikmapslayer.c:171
msgid "Map"
msgstr "地图"
-#: ../src/vikmapslayer.c:249
-msgid "Default maplayer directory:"
+#: ../src/vikmapslayer.c:259
+msgid "Default map layer directory:"
msgstr ""
-#: ../src/vikmapslayer.c:249
+#: ../src/vikmapslayer.c:259
msgid "Choose a directory to store cached Map tiles for this layer"
msgstr ""
-#: ../src/vikmapslayer.c:505
+#: ../src/vikmapslayer.c:523
msgid "Unknown map type"
msgstr "未知的地图类型"
-#: ../src/vikmapslayer.c:516
+#: ../src/vikmapslayer.c:534
msgid "Unknown Map Zoom"
msgstr ""
-#: ../src/vikmapslayer.c:589
+#: ../src/vikmapslayer.c:624
#, c-format
msgid ""
"New map cannot be displayed in the current drawmode.\n"
"Select \"%s\" from View menu to view it."
msgstr ""
-#: ../src/vikmapslayer.c:753
+#: ../src/vikmapslayer.c:798
#, c-format
msgid ""
"Cowardly refusing to draw tiles or existence of tiles beyond %d zoom out "
"factor"
msgstr ""
-#: ../src/vikmapslayer.c:1157
+#: ../src/vikmapslayer.c:1210
#, c-format
msgid "Redownloading up to %d %s map..."
msgid_plural "Redownloading up to %d %s maps..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikmapslayer.c:1159
+#: ../src/vikmapslayer.c:1212
#, c-format
msgid "Redownloading %d %s map..."
msgid_plural "Redownloading %d %s maps..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikmapslayer.c:1163 ../src/vikmapslayer.c:1238
+#: ../src/vikmapslayer.c:1216 ../src/vikmapslayer.c:1290
#, c-format
msgid "Downloading %d %s map..."
msgid_plural "Downloading %d %s maps..."
msgstr[0] "正在下载 %d %s 地图..."
-#: ../src/vikmapslayer.c:1311
+#: ../src/vikmapslayer.c:1376
#, c-format
msgid ""
"\n"
@@ -1674,7 +1939,7 @@ msgid ""
"Tile File Timestamp: %s"
msgstr ""
-#: ../src/vikmapslayer.c:1318
+#: ../src/vikmapslayer.c:1380
#, c-format
msgid ""
"Source: %s\n"
@@ -1682,1458 +1947,2035 @@ msgid ""
"No Tile File!"
msgstr ""
-#: ../src/vikmapslayer.c:1356
+#: ../src/vikmapslayer.c:1418
msgid "Redownload _Bad Map(s)"
msgstr ""
-#: ../src/vikmapslayer.c:1360
+#: ../src/vikmapslayer.c:1422
msgid "Redownload _New Map(s)"
msgstr ""
-#: ../src/vikmapslayer.c:1364
+#: ../src/vikmapslayer.c:1426
msgid "Redownload _All Map(s)"
msgstr ""
-#: ../src/vikmapslayer.c:1368
+#: ../src/vikmapslayer.c:1430
msgid "_Show Tile Information"
msgstr ""
-#: ../src/vikmapslayer.c:1449
+#: ../src/vikmapslayer.c:1511
#, c-format
msgid ""
"Wrong drawmode for this map.\n"
"Select \"%s\" from View menu and try again."
msgstr ""
-#: ../src/vikmapslayer.c:1454
+#: ../src/vikmapslayer.c:1516
msgid "Wrong zoom level for this map."
msgstr "此地图无此缩放程度"
+#: ../src/vikmapslayer.c:1647
+msgid "Zoom Start:"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1654
+msgid "Zoom End:"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1660
+msgid "Download Maps Method:"
+msgstr ""
+
+#. redownload method - needs to align with REDOWNLOAD* macro values
+#: ../src/vikmapslayer.c:1732
+msgid "Missing"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1732
+msgid "Bad"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1732
+msgid "New"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1732
+msgid "Reload All"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1734
+msgid "Download for Zoom Levels"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1774
+#, c-format
+msgid ""
+"You are not allowed to download more than %d tiles in one go (requested %d)"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1782
+#, c-format
+msgid "Do you really want to download %d tiles?"
+msgstr ""
+
#. Now with icons
-#: ../src/vikmapslayer.c:1485
+#: ../src/vikmapslayer.c:1807
msgid "Download _Missing Onscreen Maps"
msgstr ""
-#: ../src/vikmapslayer.c:1492
+#: ../src/vikmapslayer.c:1814
msgid "Download _New Onscreen Maps"
msgstr ""
-#: ../src/vikmapslayer.c:1499
+#: ../src/vikmapslayer.c:1821
msgid "Reload _All Onscreen Maps"
msgstr ""
-#: ../src/viktreeview.c:263
+#: ../src/vikmapslayer.c:1827
+msgid "Download Maps in _Zoom Levels..."
+msgstr ""
+
+#: ../src/vikrouting.c:54
+msgid "Default engine:"
+msgstr ""
+
+#: ../src/viktreeview.c:316
msgid "Layer Name"
msgstr "图层名字"
-#: ../src/viktreeview.c:742
+#: ../src/viktreeview.c:851
#, c-format
msgid "delete data from %s\n"
msgstr "从 %s 删除数据\n"
-#: ../src/viktrwlayer.c:377
+#: ../src/viktrwlayer.c:398
msgid "Create _Waypoint"
msgstr ""
-#: ../src/viktrwlayer.c:377
+#: ../src/viktrwlayer.c:398
msgid "Create Waypoint"
msgstr "创建航点"
-#: ../src/viktrwlayer.c:383
+#: ../src/viktrwlayer.c:404
msgid "Create _Track"
msgstr ""
-#: ../src/viktrwlayer.c:383
+#: ../src/viktrwlayer.c:404
msgid "Create Track"
msgstr "创建轨迹"
-#: ../src/viktrwlayer.c:392
+#: ../src/viktrwlayer.c:413
msgid "Create _Route"
msgstr ""
-#: ../src/viktrwlayer.c:392
+#: ../src/viktrwlayer.c:413
msgid "Create Route"
msgstr ""
-#: ../src/viktrwlayer.c:401
+#: ../src/viktrwlayer.c:422
msgid "_Edit Waypoint"
msgstr ""
-#: ../src/viktrwlayer.c:401
+#: ../src/viktrwlayer.c:422
msgid "Edit Waypoint"
msgstr "编辑航点"
-#: ../src/viktrwlayer.c:409
+#: ../src/viktrwlayer.c:432
msgid "Edit Trac_kpoint"
msgstr ""
-#: ../src/viktrwlayer.c:409
+#: ../src/viktrwlayer.c:432
msgid "Edit Trackpoint"
msgstr "编辑轨迹点"
-#: ../src/viktrwlayer.c:417
+#: ../src/viktrwlayer.c:442
msgid "Show P_icture"
msgstr ""
-#: ../src/viktrwlayer.c:417
+#: ../src/viktrwlayer.c:442
msgid "Show Picture"
msgstr "显示图片"
-#: ../src/viktrwlayer.c:424
+#: ../src/viktrwlayer.c:448
msgid "Route _Finder"
msgstr ""
-#: ../src/viktrwlayer.c:424
+#: ../src/viktrwlayer.c:448
msgid "Route Finder"
msgstr ""
#. ***** PARAMETERS *****
-#: ../src/viktrwlayer.c:447 ../src/viktrwlayer.c:1942
-#: ../src/viktrwlayer.c:1944
+#: ../src/viktrwlayer.c:468 ../src/viktrwlayer.c:2324
msgid "Waypoints"
msgstr "航点"
-#: ../src/viktrwlayer.c:447 ../src/viktrwlayer.c:1933
-#: ../src/viktrwlayer.c:1935
+#: ../src/viktrwlayer.c:468 ../src/viktrwlayer.c:2319
msgid "Tracks"
msgstr "轨迹"
-#: ../src/viktrwlayer.c:447
+#: ../src/viktrwlayer.c:468
msgid "Waypoint Images"
msgstr "航点图片"
-#: ../src/viktrwlayer.c:450
+#: ../src/viktrwlayer.c:468
+msgid "Tracks Advanced"
+msgstr ""
+
+#: ../src/viktrwlayer.c:471
msgid "Draw by Track"
msgstr "以轨迹绘图"
-#: ../src/viktrwlayer.c:450
+#: ../src/viktrwlayer.c:471
msgid "Draw by Speed"
msgstr ""
-#: ../src/viktrwlayer.c:450
+#: ../src/viktrwlayer.c:471
msgid "All Tracks Same Color"
msgstr ""
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "Filled Square"
msgstr "实心方块"
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "Square"
msgstr "正方形"
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "Circle"
msgstr "圆形"
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "X"
msgstr "X"
-#: ../src/viktrwlayer.c:477
+#: ../src/viktrwlayer.c:498
msgid "Extra Extra Small"
msgstr ""
-#: ../src/viktrwlayer.c:478
+#: ../src/viktrwlayer.c:499
msgid "Extra Small"
msgstr ""
-#: ../src/viktrwlayer.c:479
+#: ../src/viktrwlayer.c:500
msgid "Small"
msgstr ""
-#: ../src/viktrwlayer.c:480
+#: ../src/viktrwlayer.c:501
msgid "Medium"
msgstr ""
-#: ../src/viktrwlayer.c:481
+#: ../src/viktrwlayer.c:502
msgid "Large"
msgstr ""
-#: ../src/viktrwlayer.c:482
+#: ../src/viktrwlayer.c:503
msgid "Extra Large"
msgstr ""
-#: ../src/viktrwlayer.c:483
+#: ../src/viktrwlayer.c:504
msgid "Extra Extra Large"
msgstr ""
-#: ../src/viktrwlayer.c:491
+#: ../src/viktrwlayer.c:510
+msgid "Name Ascending"
+msgstr ""
+
+#: ../src/viktrwlayer.c:511
+msgid "Name Descending"
+msgstr ""
+
+#: ../src/viktrwlayer.c:552 ../src/viktrwlayer.c:576
+msgid "Draw Labels"
+msgstr "描绘图层"
+
+#: ../src/viktrwlayer.c:553
+msgid "Note: the individual track controls what labels may be displayed"
+msgstr ""
+
+#: ../src/viktrwlayer.c:554
+msgid "Track Labels Font Size:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:555
msgid "Track Drawing Mode:"
msgstr ""
-#: ../src/viktrwlayer.c:492
+#: ../src/viktrwlayer.c:556
msgid "All Tracks Color:"
msgstr ""
-#: ../src/viktrwlayer.c:493
+#: ../src/viktrwlayer.c:557
msgid "The color used when 'All Tracks Same Color' drawing mode is selected"
msgstr ""
-#: ../src/viktrwlayer.c:494
+#: ../src/viktrwlayer.c:558
msgid "Draw Track Lines"
msgstr ""
-#: ../src/viktrwlayer.c:495
+#: ../src/viktrwlayer.c:559
msgid "Track Thickness:"
msgstr ""
-#: ../src/viktrwlayer.c:496
+#: ../src/viktrwlayer.c:560
msgid "Draw Track Direction"
msgstr ""
-#: ../src/viktrwlayer.c:497
+#: ../src/viktrwlayer.c:561
msgid "Direction Size:"
msgstr ""
-#: ../src/viktrwlayer.c:498
+#: ../src/viktrwlayer.c:562
msgid "Draw Trackpoints"
msgstr ""
-#: ../src/viktrwlayer.c:499
+#: ../src/viktrwlayer.c:563
msgid "Trackpoint Size:"
msgstr ""
-#: ../src/viktrwlayer.c:500
+#: ../src/viktrwlayer.c:564
msgid "Draw Elevation"
msgstr ""
-#: ../src/viktrwlayer.c:501
+#: ../src/viktrwlayer.c:565
msgid "Draw Elevation Height %:"
msgstr ""
-#: ../src/viktrwlayer.c:503
+#: ../src/viktrwlayer.c:566
msgid "Draw Stops"
msgstr ""
-#: ../src/viktrwlayer.c:504
+#: ../src/viktrwlayer.c:567
msgid ""
"Whether to draw a marker when trackpoints are at the same position but over "
"the minimum stop length apart in time"
msgstr ""
-#: ../src/viktrwlayer.c:505
+#: ../src/viktrwlayer.c:568
msgid "Min Stop Length (seconds):"
msgstr ""
-#: ../src/viktrwlayer.c:507
+#: ../src/viktrwlayer.c:570
msgid "Track BG Thickness:"
msgstr ""
-#: ../src/viktrwlayer.c:508
+#: ../src/viktrwlayer.c:571
msgid "Track Background Color"
msgstr ""
-#: ../src/viktrwlayer.c:509
+#: ../src/viktrwlayer.c:572
msgid "Draw by Speed Factor (%):"
msgstr ""
-#: ../src/viktrwlayer.c:510
+#: ../src/viktrwlayer.c:573
msgid ""
"The percentage factor away from the average speed determining the color used"
msgstr ""
-#: ../src/viktrwlayer.c:512
-msgid "Draw Labels"
-msgstr "描绘图层"
+#: ../src/viktrwlayer.c:574
+msgid "Track Sort Order:"
+msgstr ""
-#: ../src/viktrwlayer.c:513
+#: ../src/viktrwlayer.c:577
msgid "Waypoint Font Size:"
msgstr ""
-#: ../src/viktrwlayer.c:514
+#: ../src/viktrwlayer.c:578
msgid "Waypoint Color:"
msgstr "航点颜色"
-#: ../src/viktrwlayer.c:515
+#: ../src/viktrwlayer.c:579
msgid "Waypoint Text:"
msgstr "航点文字:"
-#: ../src/viktrwlayer.c:516
+#: ../src/viktrwlayer.c:580
msgid "Background:"
msgstr "背景:"
-#: ../src/viktrwlayer.c:517
+#: ../src/viktrwlayer.c:581
msgid "Fake BG Color Translucency:"
msgstr ""
-#: ../src/viktrwlayer.c:518
+#: ../src/viktrwlayer.c:582
msgid "Waypoint marker:"
msgstr "航点标签"
-#: ../src/viktrwlayer.c:519
+#: ../src/viktrwlayer.c:583
msgid "Waypoint size:"
msgstr "航点大小"
-#: ../src/viktrwlayer.c:520
+#: ../src/viktrwlayer.c:584
msgid "Draw Waypoint Symbols:"
msgstr ""
-#: ../src/viktrwlayer.c:522
+#: ../src/viktrwlayer.c:585
+msgid "Waypoint Sort Order:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:587
msgid "Draw Waypoint Images"
msgstr ""
-#: ../src/viktrwlayer.c:523
+#: ../src/viktrwlayer.c:588
msgid "Image Size (pixels):"
msgstr "图片大小 (像素):"
-#: ../src/viktrwlayer.c:524
+#: ../src/viktrwlayer.c:589
msgid "Image Alpha:"
msgstr "图片Alpha值:"
-#: ../src/viktrwlayer.c:525
+#: ../src/viktrwlayer.c:590
msgid "Image Memory Cache Size:"
msgstr "图片内存缓存尺寸:"
-#: ../src/viktrwlayer.c:610
+#: ../src/viktrwlayer.c:678
msgid "TrackWaypoint"
msgstr ""
-#: ../src/viktrwlayer.c:1951 ../src/viktrwlayer.c:1953
+#: ../src/viktrwlayer.c:1534 ../src/vikutils.c:204
+msgid "miles"
+msgstr ""
+
+#. VIK_UNITS_DISTANCE_KILOMETRES:
+#: ../src/viktrwlayer.c:1538 ../src/vikutils.c:209
+msgid "km"
+msgstr ""
+
+#: ../src/viktrwlayer.c:1648
+msgid "start/end"
+msgstr ""
+
+#: ../src/viktrwlayer.c:1660
+msgid "start"
+msgstr ""
+
+#: ../src/viktrwlayer.c:1669
+msgid "end"
+msgstr ""
+
+#: ../src/viktrwlayer.c:2329
msgid "Routes"
msgstr ""
-#: ../src/viktrwlayer.c:2144
+#: ../src/viktrwlayer.c:2519
#, c-format
msgid " in %d:%02d hrs:mins"
msgstr ""
-#: ../src/viktrwlayer.c:2148
+#: ../src/viktrwlayer.c:2523
#, c-format
msgid ""
"\n"
"%sTotal Length %.1f %s%s"
msgstr ""
-#: ../src/viktrwlayer.c:2154
+#: ../src/viktrwlayer.c:2529
#, c-format
msgid "Tracks: %d - Waypoints: %d - Routes: %d%s"
msgstr ""
-#: ../src/viktrwlayer.c:2174
+#: ../src/viktrwlayer.c:2549
#, c-format
msgid "Tracks: %d"
msgstr ""
-#: ../src/viktrwlayer.c:2184
+#: ../src/viktrwlayer.c:2559
#, c-format
msgid "Routes: %d"
msgstr ""
-#: ../src/viktrwlayer.c:2215
+#: ../src/viktrwlayer.c:2590
#, c-format
msgid "- %d:%02d hrs:mins"
msgstr ""
-#: ../src/viktrwlayer.c:2223
+#: ../src/viktrwlayer.c:2598
#, c-format
msgid "%s%.1f km %s"
msgstr ""
-#: ../src/viktrwlayer.c:2226
+#: ../src/viktrwlayer.c:2601
#, c-format
msgid "%s%.1f miles %s"
msgstr ""
-#: ../src/viktrwlayer.c:2240
+#: ../src/viktrwlayer.c:2615
#, c-format
msgid "Waypoints: %d"
msgstr ""
-#: ../src/viktrwlayer.c:2266
-#, c-format
-msgid "Trkpt: Alt %dft"
-msgstr ""
-
-#. VIK_UNITS_HEIGHT_METRES:
-#: ../src/viktrwlayer.c:2270
-#, c-format
-msgid "Trkpt: Alt %dm"
-msgstr ""
-
-#. Compact date time format
-#: ../src/viktrwlayer.c:2277
-#, c-format
-msgid " | Time %x %X"
-msgstr ""
-
-#: ../src/viktrwlayer.c:2295
-#, c-format
-msgid " | Track: %s"
-msgstr ""
-
-#. Combine parts to make overall message
-#: ../src/viktrwlayer.c:2299
-#, c-format
-msgid "%s%s | %s %s %s"
-msgstr ""
-
-#: ../src/viktrwlayer.c:2314
+#: ../src/viktrwlayer.c:2671
#, c-format
msgid "Wpt: Alt %dft"
msgstr ""
#. VIK_UNITS_HEIGHT_METRES:
-#: ../src/viktrwlayer.c:2318
+#: ../src/viktrwlayer.c:2675
#, c-format
msgid "Wpt: Alt %dm"
msgstr ""
#. Add comment if available
-#: ../src/viktrwlayer.c:2333
+#: ../src/viktrwlayer.c:2690
#, c-format
msgid "%s | %s %s | Comment: %s"
msgstr ""
-#: ../src/viktrwlayer.c:2335
+#: ../src/viktrwlayer.c:2692
#, c-format
msgid "%s | %s %s"
msgstr ""
-#: ../src/viktrwlayer.c:2563 ../src/viktrwlayer.c:2634
+#: ../src/viktrwlayer.c:2939 ../src/viktrwlayer.c:3010
msgid "This layer has no waypoints or trackpoints."
msgstr ""
-#: ../src/viktrwlayer.c:2661 ../src/vikwindow.c:2407 ../src/vikwindow.c:2848
+#: ../src/viktrwlayer.c:3045 ../src/vikwindow.c:2754 ../src/vikwindow.c:3407
#, c-format
msgid "The file \"%s\" exists, do you wish to overwrite it?"
msgstr ""
-#: ../src/viktrwlayer.c:2671 ../src/vikwindow.c:2429
+#: ../src/viktrwlayer.c:3057 ../src/vikwindow.c:2778
msgid "The filename you requested could not be opened for writing."
msgstr ""
-#: ../src/viktrwlayer.c:2676 ../src/viktrwlayer.c:2681
-#: ../src/viktrwlayer.c:2691 ../src/viktrwlayer.c:2703
+#: ../src/viktrwlayer.c:3062 ../src/viktrwlayer.c:3067
+#: ../src/viktrwlayer.c:3077 ../src/viktrwlayer.c:3089
msgid "Export Layer"
msgstr "输出图层"
-#: ../src/viktrwlayer.c:2720
+#: ../src/viktrwlayer.c:3108
msgid "Could not create temporary file for export."
msgstr ""
-#: ../src/viktrwlayer.c:2729
+#: ../src/viktrwlayer.c:3117
#, c-format
msgid "Could not launch %s."
msgstr ""
-#: ../src/viktrwlayer.c:2773
+#: ../src/viktrwlayer.c:3161
msgid "Export Track as GPX"
msgstr ""
-#: ../src/viktrwlayer.c:2795
+#: ../src/viktrwlayer.c:3183
msgid "Find"
msgstr ""
-#: ../src/viktrwlayer.c:2805
+#: ../src/viktrwlayer.c:3193
msgid "Waypoint Name:"
msgstr "航点名称:"
-#: ../src/viktrwlayer.c:2822
+#: ../src/viktrwlayer.c:3210
msgid "Waypoint not found in this layer."
msgstr "在此图层中没有发现航点"
-#: ../src/viktrwlayer.c:3090
+#: ../src/viktrwlayer.c:3476
msgid "Can not upload invisible track."
msgstr ""
-#: ../src/viktrwlayer.c:3192 ../src/viktrwlayer.c:7785
+#: ../src/viktrwlayer.c:3581 ../src/viktrwlayer.c:9283
msgid "Track"
msgstr ""
-#: ../src/viktrwlayer.c:3215 ../src/viktrwlayer.c:7817
+#: ../src/viktrwlayer.c:3606 ../src/viktrwlayer.c:9316
msgid "Route"
msgstr ""
-#: ../src/viktrwlayer.c:3296 ../src/viktrwlayer.c:6265
-#: ../src/viktrwlayer.c:6314
+#: ../src/viktrwlayer.c:3691 ../src/viktrwlayer.c:7460
+#: ../src/viktrwlayer.c:7566
msgid "_Finish Route"
msgstr ""
-#: ../src/viktrwlayer.c:3298 ../src/viktrwlayer.c:6223
-#: ../src/viktrwlayer.c:6312
+#: ../src/viktrwlayer.c:3693 ../src/viktrwlayer.c:7383
+#: ../src/viktrwlayer.c:7564
msgid "_Finish Track"
msgstr ""
#. Now with icons
-#: ../src/viktrwlayer.c:3310
+#: ../src/viktrwlayer.c:3705
msgid "_View Layer"
msgstr ""
-#: ../src/viktrwlayer.c:3317
+#: ../src/viktrwlayer.c:3712
msgid "V_iew"
msgstr ""
-#: ../src/viktrwlayer.c:3323
+#: ../src/viktrwlayer.c:3718
msgid "View All _Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:3328
+#: ../src/viktrwlayer.c:3723
msgid "View All _Routes"
msgstr ""
-#: ../src/viktrwlayer.c:3333
+#: ../src/viktrwlayer.c:3728
msgid "View All _Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:3338
+#: ../src/viktrwlayer.c:3733
msgid "_Goto Center of Layer"
msgstr ""
-#: ../src/viktrwlayer.c:3344 ../src/viktrwlayer.c:6199
+#: ../src/viktrwlayer.c:3739 ../src/viktrwlayer.c:7335
msgid "Goto _Waypoint..."
msgstr ""
-#: ../src/viktrwlayer.c:3350
+#: ../src/viktrwlayer.c:3745
msgid "_Export Layer"
msgstr ""
-#: ../src/viktrwlayer.c:3356
+#: ../src/viktrwlayer.c:3751
msgid "Export as GPS_Point..."
msgstr ""
-#: ../src/viktrwlayer.c:3361
+#: ../src/viktrwlayer.c:3756
msgid "Export as GPS_Mapper..."
msgstr ""
-#: ../src/viktrwlayer.c:3366
+#: ../src/viktrwlayer.c:3761
msgid "Export as _GPX..."
msgstr ""
-#: ../src/viktrwlayer.c:3371
+#: ../src/viktrwlayer.c:3766
msgid "Export as _KML..."
msgstr ""
-#: ../src/viktrwlayer.c:3376
+#: ../src/viktrwlayer.c:3771
msgid "Open with External Program_1: "
msgstr ""
-#: ../src/viktrwlayer.c:3383
+#: ../src/viktrwlayer.c:3778
msgid "Open with External Program_2: "
msgstr ""
-#: ../src/viktrwlayer.c:3391 ../src/vikwindow.c:3145
+#: ../src/viktrwlayer.c:3786 ../src/vikwindow.c:3704
msgid "_New"
msgstr "新建(_N)"
-#: ../src/viktrwlayer.c:3397
+#: ../src/viktrwlayer.c:3792
msgid "New _Waypoint..."
msgstr ""
-#: ../src/viktrwlayer.c:3403
+#: ../src/viktrwlayer.c:3798
msgid "New _Track"
msgstr ""
-#: ../src/viktrwlayer.c:3411
+#: ../src/viktrwlayer.c:3806
msgid "New _Route"
msgstr ""
-#: ../src/viktrwlayer.c:3420 ../src/viktrwlayer.c:6597
+#: ../src/viktrwlayer.c:3815 ../src/viktrwlayer.c:7938
msgid "Geotag _Images..."
msgstr ""
-#: ../src/viktrwlayer.c:3427
+#: ../src/viktrwlayer.c:3822
msgid "_Acquire"
msgstr ""
-#: ../src/viktrwlayer.c:3433 ../src/vikwindow.c:3150
+#: ../src/viktrwlayer.c:3828 ../src/vikwindow.c:3711
msgid "From _GPS..."
msgstr "_G 从GPS..."
-#: ../src/viktrwlayer.c:3439
-msgid "From Google _Directions..."
+#. FIXME: only add menu when at least a routing engine has support for Directions
+#: ../src/viktrwlayer.c:3834
+msgid "From _Directions..."
msgstr ""
-#: ../src/viktrwlayer.c:3446
+#: ../src/viktrwlayer.c:3840
msgid "From _OSM Traces..."
msgstr ""
-#: ../src/viktrwlayer.c:3451
+#: ../src/viktrwlayer.c:3845
msgid "From _My OSM Traces..."
msgstr ""
-#: ../src/viktrwlayer.c:3459 ../src/vikwindow.c:3166
+#: ../src/viktrwlayer.c:3853 ../src/vikwindow.c:3725
msgid "From _Wikipedia Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:3465
+#: ../src/viktrwlayer.c:3859
msgid "Within _Layer Bounds"
msgstr ""
-#: ../src/viktrwlayer.c:3471
+#: ../src/viktrwlayer.c:3865
msgid "Within _Current View"
msgstr ""
-#: ../src/viktrwlayer.c:3479
+#: ../src/viktrwlayer.c:3873
msgid "From Geo_caching..."
msgstr ""
-#: ../src/viktrwlayer.c:3486 ../src/vikwindow.c:3163
+#: ../src/viktrwlayer.c:3880 ../src/vikwindow.c:3722
msgid "From Geotagged _Images..."
msgstr ""
-#: ../src/viktrwlayer.c:3492
+#: ../src/viktrwlayer.c:3886
msgid "From _File..."
msgstr ""
-#: ../src/viktrwlayer.c:3498 ../src/viktrwlayer.c:6542
+#: ../src/viktrwlayer.c:3894 ../src/viktrwlayer.c:7883
msgid "_Upload"
msgstr ""
-#: ../src/viktrwlayer.c:3504
+#: ../src/viktrwlayer.c:3900
msgid "Upload to _GPS..."
msgstr ""
-#: ../src/viktrwlayer.c:3511 ../src/viktrwlayer.c:6570
+#: ../src/viktrwlayer.c:3907 ../src/viktrwlayer.c:7911
msgid "Upload to _OSM..."
msgstr ""
-#: ../src/viktrwlayer.c:3519
+#: ../src/viktrwlayer.c:3915
msgid "De_lete"
msgstr ""
-#: ../src/viktrwlayer.c:3525
+#: ../src/viktrwlayer.c:3921
msgid "Delete All _Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:3531
+#: ../src/viktrwlayer.c:3927
msgid "Delete Tracks _From Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:3537 ../src/viktrwlayer.c:6290
+#: ../src/viktrwlayer.c:3933 ../src/viktrwlayer.c:7485
msgid "Delete _All Routes"
msgstr ""
-#: ../src/viktrwlayer.c:3543 ../src/viktrwlayer.c:6296
+#: ../src/viktrwlayer.c:3939 ../src/viktrwlayer.c:7491
msgid "_Delete Routes From Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:3549
+#: ../src/viktrwlayer.c:3945
msgid "Delete All _Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:3555
+#: ../src/viktrwlayer.c:3951
msgid "Delete Waypoints From _Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:4128
+#: ../src/viktrwlayer.c:4574
#, c-format
msgid "Are you sure you want to delete all tracks in %s?"
msgstr ""
-#: ../src/viktrwlayer.c:4138
+#: ../src/viktrwlayer.c:4584
#, c-format
msgid "Are you sure you want to delete all routes in %s?"
msgstr ""
-#: ../src/viktrwlayer.c:4148
+#: ../src/viktrwlayer.c:4594
#, c-format
msgid "Are you sure you want to delete all waypoints in %s?"
msgstr ""
-#: ../src/viktrwlayer.c:4165
+#: ../src/viktrwlayer.c:4611
#, c-format
-msgid "Are you sure you want to delete the waypoint \"%s\""
+msgid "Are you sure you want to delete the waypoint \"%s\"?"
msgstr ""
-#: ../src/viktrwlayer.c:4178
+#: ../src/viktrwlayer.c:4624
#, c-format
-msgid "Are you sure you want to delete the track \"%s\""
+msgid "Are you sure you want to delete the track \"%s\"?"
msgstr ""
-#: ../src/viktrwlayer.c:4191
+#: ../src/viktrwlayer.c:4637
#, c-format
-msgid "Are you sure you want to delete the route \"%s\""
+msgid "Are you sure you want to delete the route \"%s\"?"
msgstr ""
-#: ../src/viktrwlayer.c:4351 ../src/viktrwlayer.c:4922
+#: ../src/viktrwlayer.c:4849 ../src/viktrwlayer.c:5677
msgid ""
"Converting a track to a route removes extra track data such as segments, "
"timestamps, etc...\n"
"Do you want to continue?"
msgstr ""
-#: ../src/viktrwlayer.c:4711
+#: ../src/viktrwlayer.c:4944
+msgid "No DEM layers available, thus no DEM values can be applied."
+msgstr ""
+
+#: ../src/viktrwlayer.c:4964 ../src/viktrwlayer.c:5005
+#, c-format
+msgid "%ld point adjusted"
+msgid_plural "%ld points adjusted"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/viktrwlayer.c:5049
+#, c-format
+msgid "%ld waypoint changed"
+msgid_plural "%ld waypoints changed"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/viktrwlayer.c:5233
+#, c-format
+msgid ""
+"Refining a track with many points (%d) is unlikely to yield sensible "
+"results. Do you want to Continue?"
+msgstr ""
+
+#. Select engine from dialog
+#: ../src/viktrwlayer.c:5241
+msgid "Refine Route with Routing Engine..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:5249
+msgid "Select routing engine"
+msgstr ""
+
+#: ../src/viktrwlayer.c:5467
msgid "Failed. No other tracks with timestamps in this layer found"
msgstr ""
-#: ../src/viktrwlayer.c:4713
+#: ../src/viktrwlayer.c:5469
msgid "Failed. No other tracks without timestamps in this layer found"
msgstr ""
-#: ../src/viktrwlayer.c:4732
+#: ../src/viktrwlayer.c:5488
msgid "Merge with..."
msgstr ""
-#: ../src/viktrwlayer.c:4733
+#: ../src/viktrwlayer.c:5489
msgid "Select route to merge with"
msgstr ""
-#: ../src/viktrwlayer.c:4733
+#: ../src/viktrwlayer.c:5489
msgid "Select track to merge with"
msgstr ""
-#: ../src/viktrwlayer.c:4818 ../src/viktrwlayer.c:4895
+#: ../src/viktrwlayer.c:5573 ../src/viktrwlayer.c:5650
msgid "Append Route"
msgstr ""
-#: ../src/viktrwlayer.c:4818 ../src/viktrwlayer.c:4895
+#: ../src/viktrwlayer.c:5573 ../src/viktrwlayer.c:5650
msgid "Append Track"
msgstr ""
-#: ../src/viktrwlayer.c:4819
+#: ../src/viktrwlayer.c:5574
msgid "Select the route to append after the current route"
msgstr ""
-#: ../src/viktrwlayer.c:4820
+#: ../src/viktrwlayer.c:5575
msgid "Select the track to append after the current track"
msgstr ""
-#: ../src/viktrwlayer.c:4896
+#: ../src/viktrwlayer.c:5651
msgid "Select the track to append after the current route"
msgstr ""
-#: ../src/viktrwlayer.c:4897
+#: ../src/viktrwlayer.c:5652
msgid "Select the route to append after the current track"
msgstr ""
-#: ../src/viktrwlayer.c:4957
+#: ../src/viktrwlayer.c:5711
#, c-format
msgid "%d segment merged"
msgid_plural "%d segments merged"
msgstr[0] ""
msgstr[1] ""
-#: ../src/viktrwlayer.c:4973
+#: ../src/viktrwlayer.c:5727
msgid "Failed. This track does not have timestamp"
msgstr ""
-#: ../src/viktrwlayer.c:4985
+#: ../src/viktrwlayer.c:5739
msgid "Failed. No other track in this layer has timestamp"
msgstr ""
-#: ../src/viktrwlayer.c:4992
+#: ../src/viktrwlayer.c:5746
msgid "Merge Threshold..."
msgstr ""
-#: ../src/viktrwlayer.c:4993
+#: ../src/viktrwlayer.c:5747
msgid "Merge when time between tracks less than:"
msgstr ""
-#: ../src/viktrwlayer.c:5128
+#: ../src/viktrwlayer.c:5889
msgid "Split Threshold..."
msgstr ""
-#: ../src/viktrwlayer.c:5129
+#: ../src/viktrwlayer.c:5890
msgid "Split when time between trackpoints exceeds:"
msgstr ""
-#: ../src/viktrwlayer.c:5205
+#: ../src/viktrwlayer.c:5907
+#, c-format
+msgid ""
+"Can not split track due to trackpoints not ordered in time - such as at %s.\n"
+"\n"
+"Goto this trackpoint?"
+msgstr ""
+
+#: ../src/viktrwlayer.c:5976
msgid "Split Every Nth Point"
msgstr ""
-#: ../src/viktrwlayer.c:5206
+#: ../src/viktrwlayer.c:5977
msgid "Split on every Nth point:"
msgstr ""
-#: ../src/viktrwlayer.c:5312
+#: ../src/viktrwlayer.c:6087
msgid "Can not split track as it has no segments"
msgstr ""
-#: ../src/viktrwlayer.c:5340 ../src/viktrwlayer.c:5370
+#: ../src/viktrwlayer.c:6169 ../src/viktrwlayer.c:6199
#, c-format
msgid "Deleted %ld point"
msgid_plural "Deleted %ld points"
msgstr[0] ""
msgstr[1] ""
-#: ../src/viktrwlayer.c:5531
+#: ../src/viktrwlayer.c:6392
msgid "Internal Error in vik_trw_layer_uniquify_tracks"
msgstr ""
-#: ../src/viktrwlayer.c:5588 ../src/viktrwlayer.c:5635
-#: ../src/viktrwlayer.c:5814
+#: ../src/viktrwlayer.c:6496 ../src/viktrwlayer.c:6543
+#: ../src/viktrwlayer.c:6704
msgid ""
"Multiple entries with the same name exist. This method only works with "
"unique names. Force unique names now?"
msgstr ""
-#: ../src/viktrwlayer.c:5599
+#: ../src/viktrwlayer.c:6507
msgid "No tracks found"
msgstr ""
-#: ../src/viktrwlayer.c:5607 ../src/viktrwlayer.c:5654
-#: ../src/viktrwlayer.c:5834
+#: ../src/viktrwlayer.c:6515 ../src/viktrwlayer.c:6562
+#: ../src/viktrwlayer.c:6724
msgid "Delete Selection"
msgstr ""
-#: ../src/viktrwlayer.c:5608
+#: ../src/viktrwlayer.c:6516
msgid "Select tracks to delete"
msgstr ""
-#: ../src/viktrwlayer.c:5646
+#: ../src/viktrwlayer.c:6554
msgid "No routes found"
msgstr ""
-#: ../src/viktrwlayer.c:5655
+#: ../src/viktrwlayer.c:6563
msgid "Select routes to delete"
msgstr ""
-#: ../src/viktrwlayer.c:5761
+#: ../src/viktrwlayer.c:6669
msgid "Internal Error in vik_trw_layer_uniquify_waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:5824
+#: ../src/viktrwlayer.c:6714
msgid "No waypoints found"
msgstr ""
-#: ../src/viktrwlayer.c:5835
+#: ../src/viktrwlayer.c:6725
msgid "Select waypoints to delete"
msgstr ""
-#: ../src/viktrwlayer.c:5896
+#: ../src/viktrwlayer.c:7033
#, c-format
msgid ""
"A waypoint with the name \"%s\" already exists. Really rename to the same "
"name?"
msgstr ""
-#: ../src/viktrwlayer.c:5926
+#: ../src/viktrwlayer.c:7063
#, c-format
msgid ""
"A track with the name \"%s\" already exists. Really rename to the same name?"
msgstr ""
-#: ../src/viktrwlayer.c:5963
+#: ../src/viktrwlayer.c:7100
#, c-format
msgid ""
"A route with the name \"%s\" already exists. Really rename to the same name?"
msgstr ""
-#: ../src/viktrwlayer.c:6085 ../src/viktrwlayer.c:6337
+#: ../src/viktrwlayer.c:7221 ../src/viktrwlayer.c:7594
msgid "_Goto"
msgstr ""
-#: ../src/viktrwlayer.c:6104
+#: ../src/viktrwlayer.c:7240
msgid "_Visit Geocache Webpage"
msgstr ""
-#: ../src/viktrwlayer.c:6123
+#: ../src/viktrwlayer.c:7259
msgid "_Show Picture..."
msgstr ""
-#: ../src/viktrwlayer.c:6131
+#: ../src/viktrwlayer.c:7267
msgid "Update Geotag on _Image"
msgstr ""
-#: ../src/viktrwlayer.c:6137
+#: ../src/viktrwlayer.c:7273
msgid "_Update"
msgstr ""
-#: ../src/viktrwlayer.c:6142
+#: ../src/viktrwlayer.c:7278
msgid "Update and _Keep File Timestamp"
msgstr ""
-#: ../src/viktrwlayer.c:6153
+#: ../src/viktrwlayer.c:7289
msgid "Visit _Webpage"
msgstr ""
-#: ../src/viktrwlayer.c:6184
+#: ../src/viktrwlayer.c:7320
msgid "_New Waypoint..."
msgstr ""
-#: ../src/viktrwlayer.c:6193
+#: ../src/viktrwlayer.c:7329
msgid "_View All Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:6205
+#: ../src/viktrwlayer.c:7341
msgid "Delete _All Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:6211
+#: ../src/viktrwlayer.c:7347
msgid "_Delete Waypoints From Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:6233
+#: ../src/viktrwlayer.c:7359
+msgid "_Show All Waypoints"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7365
+msgid "_Hide All Waypoints"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7393
msgid "_View All Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:6239
+#: ../src/viktrwlayer.c:7399
msgid "_New Track"
msgstr ""
-#: ../src/viktrwlayer.c:6247
+#: ../src/viktrwlayer.c:7407
msgid "Delete _All Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:6253
+#: ../src/viktrwlayer.c:7413
msgid "_Delete Tracks From Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:6276
+#: ../src/viktrwlayer.c:7425
+msgid "_Show All Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7431
+msgid "_Hide All Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7442
+msgid "_List Tracks..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7471
msgid "_View All Routes"
msgstr ""
-#: ../src/viktrwlayer.c:6282
+#: ../src/viktrwlayer.c:7477
msgid "_New Route"
msgstr ""
-#: ../src/viktrwlayer.c:6327
+#: ../src/viktrwlayer.c:7503
+msgid "_Show All Routes"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7509
+msgid "_Hide All Routes"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7520
+msgid "_List Routes..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7579
msgid "_View Track"
msgstr ""
-#: ../src/viktrwlayer.c:6329
+#: ../src/viktrwlayer.c:7581
msgid "_View Route"
msgstr ""
-#: ../src/viktrwlayer.c:6343
+#: ../src/viktrwlayer.c:7600
msgid "_Startpoint"
msgstr ""
-#: ../src/viktrwlayer.c:6349
+#: ../src/viktrwlayer.c:7606
msgid "\"_Center\""
msgstr ""
-#: ../src/viktrwlayer.c:6355
+#: ../src/viktrwlayer.c:7612
msgid "_Endpoint"
msgstr ""
-#: ../src/viktrwlayer.c:6361
+#: ../src/viktrwlayer.c:7618
msgid "_Highest Altitude"
msgstr ""
-#: ../src/viktrwlayer.c:6367
+#: ../src/viktrwlayer.c:7624
msgid "_Lowest Altitude"
msgstr ""
-#: ../src/viktrwlayer.c:6375
+#: ../src/viktrwlayer.c:7632
msgid "_Maximum Speed"
msgstr ""
-#: ../src/viktrwlayer.c:6384
+#: ../src/viktrwlayer.c:7641
msgid "Co_mbine"
msgstr ""
-#: ../src/viktrwlayer.c:6392
+#: ../src/viktrwlayer.c:7649
msgid "_Merge By Time..."
msgstr ""
-#: ../src/viktrwlayer.c:6397
+#: ../src/viktrwlayer.c:7654
msgid "Merge _Segments"
msgstr ""
-#: ../src/viktrwlayer.c:6403
+#: ../src/viktrwlayer.c:7660
msgid "Merge _With Other Tracks..."
msgstr ""
-#: ../src/viktrwlayer.c:6409
+#: ../src/viktrwlayer.c:7666
msgid "_Append Track..."
msgstr ""
-#: ../src/viktrwlayer.c:6411
+#: ../src/viktrwlayer.c:7668
msgid "_Append Route..."
msgstr ""
-#: ../src/viktrwlayer.c:6417
+#: ../src/viktrwlayer.c:7674
msgid "Append _Route..."
msgstr ""
-#: ../src/viktrwlayer.c:6419
+#: ../src/viktrwlayer.c:7676
msgid "Append _Track..."
msgstr ""
-#: ../src/viktrwlayer.c:6426
+#: ../src/viktrwlayer.c:7683
msgid "_Split"
msgstr ""
-#: ../src/viktrwlayer.c:6434
+#: ../src/viktrwlayer.c:7691
msgid "_Split By Time..."
msgstr ""
#. ATM always enable this entry - don't want to have to analyse the track before displaying the menu - to keep the menu speedy
-#: ../src/viktrwlayer.c:6440
+#: ../src/viktrwlayer.c:7697
msgid "Split Se_gments"
msgstr ""
-#: ../src/viktrwlayer.c:6446
+#: ../src/viktrwlayer.c:7703
msgid "Split By _Number of Points..."
msgstr ""
-#: ../src/viktrwlayer.c:6451
+#: ../src/viktrwlayer.c:7708
msgid "Split at _Trackpoint"
msgstr ""
-#: ../src/viktrwlayer.c:6460
+#: ../src/viktrwlayer.c:7716
+msgid "_Insert Points"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7722
+msgid "Insert Point _Before Selected Point"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7729
+msgid "Insert Point _After Selected Point"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7738
msgid "Delete Poi_nts"
msgstr ""
-#: ../src/viktrwlayer.c:6466
+#: ../src/viktrwlayer.c:7744
+msgid "Delete _Selected Point"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7752
msgid "Delete Points With The Same _Position"
msgstr ""
-#: ../src/viktrwlayer.c:6471
+#: ../src/viktrwlayer.c:7757
msgid "Delete Points With The Same _Time"
msgstr ""
-#: ../src/viktrwlayer.c:6477
-msgid "_Reverse Track"
+#: ../src/viktrwlayer.c:7764 ../src/viktrwlayer.c:7964
+msgid "_Transform"
msgstr ""
-#: ../src/viktrwlayer.c:6479
-msgid "_Reverse Route"
+#: ../src/viktrwlayer.c:7772 ../src/viktrwlayer.c:7972
+msgid "_Apply DEM Data"
msgstr ""
-#: ../src/viktrwlayer.c:6488
-msgid "Down_load Maps Along Track..."
+#: ../src/viktrwlayer.c:7777 ../src/viktrwlayer.c:7977
+msgid "_Overwrite"
msgstr ""
-#: ../src/viktrwlayer.c:6490
-msgid "Down_load Maps Along Route..."
+#: ../src/viktrwlayer.c:7780 ../src/viktrwlayer.c:7980
+msgid "Overwrite any existing elevation values with DEM values"
msgstr ""
-#: ../src/viktrwlayer.c:6497
-msgid "_Apply DEM Data"
+#: ../src/viktrwlayer.c:7783 ../src/viktrwlayer.c:7983
+msgid "_Keep Existing"
msgstr ""
-#: ../src/viktrwlayer.c:6504
-msgid "_Export Track as GPX..."
+#: ../src/viktrwlayer.c:7786 ../src/viktrwlayer.c:7986
+msgid "Keep existing elevation values, only attempt for missing values"
msgstr ""
-#: ../src/viktrwlayer.c:6506
-msgid "_Export Route as GPX..."
+#: ../src/viktrwlayer.c:7791
+msgid "_Smooth Missing Elevation Data"
msgstr ""
-#: ../src/viktrwlayer.c:6513
-msgid "E_xtend Track End"
+#: ../src/viktrwlayer.c:7796
+msgid "_Interpolated"
msgstr ""
-#: ../src/viktrwlayer.c:6515
-msgid "E_xtend Route End"
+#: ../src/viktrwlayer.c:7799
+msgid ""
+"Interpolate between known elevation values to derive values for the missing "
+"elevations"
msgstr ""
-#: ../src/viktrwlayer.c:6522
+#: ../src/viktrwlayer.c:7802
+msgid "_Flat"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7805
+msgid "Set unknown elevation values to the last known value"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7809
msgid "C_onvert to a Route"
msgstr ""
-#: ../src/viktrwlayer.c:6524
+#: ../src/viktrwlayer.c:7811
msgid "C_onvert to a Track"
msgstr ""
-#: ../src/viktrwlayer.c:6532
+#: ../src/viktrwlayer.c:7819
+msgid "_Anonymize Times"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7822
+msgid "Shift timestamps to a relative offset from 1901-01-01"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7827
+msgid "_Reverse Track"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7829
+msgid "_Reverse Route"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7836
+msgid "Refine Route..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7846
+msgid "Down_load Maps Along Track..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7848
+msgid "Down_load Maps Along Route..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7856
+msgid "_Export Track as GPX..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7858
+msgid "_Export Route as GPX..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7865
+msgid "E_xtend Track End"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7867
+msgid "E_xtend Route End"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7874
msgid "Extend _Using Route Finder"
msgstr ""
-#: ../src/viktrwlayer.c:6548
+#: ../src/viktrwlayer.c:7889
msgid "_Upload to GPS..."
msgstr ""
-#: ../src/viktrwlayer.c:6559
+#: ../src/viktrwlayer.c:7900
msgid "_View Google Directions"
msgstr ""
-#: ../src/viktrwlayer.c:6579
+#: ../src/viktrwlayer.c:7920
msgid "Use with _Filter"
msgstr ""
-#: ../src/viktrwlayer.c:6612
+#: ../src/viktrwlayer.c:7953
msgid "_Edit Trackpoint"
msgstr ""
-#: ../src/viktrwlayer.c:7524
+#: ../src/viktrwlayer.c:9017
#, c-format
msgid " - Gain %dm:Loss %dm"
msgstr ""
-#: ../src/viktrwlayer.c:7526
+#: ../src/viktrwlayer.c:9019
#, c-format
msgid " - Gain %dft:Loss %dft"
msgstr ""
-#: ../src/viktrwlayer.c:7531
+#: ../src/viktrwlayer.c:9024
#, c-format
msgid " - Bearing %3.1f° - Step %s"
msgstr ""
-#: ../src/viktrwlayer.c:8124
+#: ../src/viktrwlayer.c:9628
#, c-format
msgid "Could not launch %s to open file."
msgstr ""
-#: ../src/viktrwlayer.c:8205
+#: ../src/viktrwlayer.c:9709
#, c-format
msgid "Creating %d Image Thumbnails..."
msgstr ""
-#: ../src/viktrwlayer.c:8524
+#: ../src/viktrwlayer.c:10106
msgid "No map layer in use. Create one first"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:898 ../src/viktrwlayer_propwin.c:1155
+#: ../src/viktrwlayer.c:10225
+#, c-format
+msgid "%s: Track List"
+msgstr ""
+
+#: ../src/viktrwlayer.c:10227
+#, c-format
+msgid "%s: Route List"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:828 ../src/viktrwlayer_propwin.c:1085
#, c-format
msgid "%.1f kph"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:901 ../src/viktrwlayer_propwin.c:1158
+#: ../src/viktrwlayer_propwin.c:831 ../src/viktrwlayer_propwin.c:1088
+#: ../src/viktrwlayer_analysis.c:290
#, c-format
msgid "%.1f mph"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:904 ../src/viktrwlayer_propwin.c:1161
+#: ../src/viktrwlayer_propwin.c:834 ../src/viktrwlayer_propwin.c:1091
#, c-format
msgid "%.1f knots"
msgstr ""
#. VIK_UNITS_SPEED_METRES_PER_SECOND:
-#: ../src/viktrwlayer_propwin.c:908 ../src/viktrwlayer_propwin.c:1165
+#: ../src/viktrwlayer_propwin.c:838 ../src/viktrwlayer_propwin.c:1095
#, c-format
msgid "%.1f m/s"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:1745
+#: ../src/viktrwlayer_propwin.c:1662 ../src/viktrwlayer_analysis.c:267
#, c-format
msgid "%.1f miles"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:1747
+#. VIK_UNITS_DISTANCE_KILOMETRES
+#: ../src/viktrwlayer_propwin.c:1664 ../src/viktrwlayer_analysis.c:271
#, c-format
msgid "%.1f km"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2681
+#: ../src/viktrwlayer_propwin.c:2582
msgid "Failed spliting track. Track unchanged"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2779 ../src/viktrwlayer_propwin.c:3178
+#: ../src/viktrwlayer_propwin.c:2724 ../src/viktrwlayer_propwin.c:3140
#, c-format
msgid "%s - Track Properties"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2784
+#: ../src/viktrwlayer_propwin.c:2729
msgid "Split at _Marker"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2785
+#: ../src/viktrwlayer_propwin.c:2730
msgid "Split _Segments"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2786
+#: ../src/viktrwlayer_propwin.c:2731
msgid "_Reverse"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2787
+#: ../src/viktrwlayer_propwin.c:2732
msgid "_Delete Dupl."
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2813
+#: ../src/viktrwlayer_propwin.c:2757
msgid "<b>Comment:</b>"
msgstr "<b>说明:</b>"
-#: ../src/viktrwlayer_propwin.c:2814
+#: ../src/viktrwlayer_propwin.c:2758
msgid "<b>Description:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2815
+#: ../src/viktrwlayer_propwin.c:2759
+msgid "<b>Color:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2760
+msgid "<b>Draw Name:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2761
+msgid "<b>Distance Labels:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2764
msgid "<b>Track Length:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2816
+#: ../src/viktrwlayer_propwin.c:2765
msgid "<b>Trackpoints:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2817
+#: ../src/viktrwlayer_propwin.c:2766
msgid "<b>Segments:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2818
+#: ../src/viktrwlayer_propwin.c:2767
msgid "<b>Duplicate Points:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2819
+#: ../src/viktrwlayer_propwin.c:2768
msgid "<b>Max Speed:</b>"
msgstr "<b>最大速度:</b>"
-#: ../src/viktrwlayer_propwin.c:2820
+#: ../src/viktrwlayer_propwin.c:2769
msgid "<b>Avg. Speed:</b>"
msgstr "<b>平均速度:</b>"
-#: ../src/viktrwlayer_propwin.c:2821
+#: ../src/viktrwlayer_propwin.c:2770
msgid "<b>Moving Avg. Speed:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2822
+#: ../src/viktrwlayer_propwin.c:2771
msgid "<b>Avg. Dist. Between TPs:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2823
+#: ../src/viktrwlayer_propwin.c:2772
msgid "<b>Elevation Range:</b>"
msgstr "<b>高度范围:</b>"
-#: ../src/viktrwlayer_propwin.c:2824
+#: ../src/viktrwlayer_propwin.c:2773
msgid "<b>Total Elevation Gain/Loss:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2825
+#: ../src/viktrwlayer_propwin.c:2774
msgid "<b>Start:</b>"
msgstr "<b>开始:</b>"
-#: ../src/viktrwlayer_propwin.c:2826
+#: ../src/viktrwlayer_propwin.c:2775
msgid "<b>End:</b>"
msgstr "<b>结束:</b>"
-#: ../src/viktrwlayer_propwin.c:2827
+#: ../src/viktrwlayer_propwin.c:2776
msgid "<b>Duration:</b>"
msgstr "<b>持续时间:</b>"
-#: ../src/viktrwlayer_propwin.c:2828
-msgid "<b>Color:</b>"
+#: ../src/viktrwlayer_propwin.c:2797
+msgid "No"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2798
+msgid "Centre"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2799
+msgid "Start only"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2800
+msgid "End only"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2801
+msgid "Start and End"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2802
+msgid "Centre, Start and End"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2814
+msgid "Maximum number of distance labels to be shown"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2818
+msgid "Properties"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2877 ../src/viktrwlayer_propwin.c:2901
-#: ../src/viktrwlayer_propwin.c:2929 ../src/viktrwlayer_propwin.c:2966
-#: ../src/viktrwlayer_propwin.c:2984 ../src/viktrwlayer_propwin.c:3034
-#: ../src/viktrwlayer_propwin.c:3035 ../src/viktrwlayer_propwin.c:3036
-#: ../src/viktrwlayer_propwin.c:3062 ../src/viktrwlayer_propwin.c:3063
+#: ../src/viktrwlayer_propwin.c:2856 ../src/viktrwlayer_propwin.c:2880
+#: ../src/viktrwlayer_propwin.c:2908 ../src/viktrwlayer_propwin.c:2945
+#: ../src/viktrwlayer_propwin.c:2963 ../src/viktrwlayer_propwin.c:3009
+#: ../src/viktrwlayer_propwin.c:3010 ../src/viktrwlayer_propwin.c:3011
+#: ../src/viktrwlayer_propwin.c:3020 ../src/viktrwlayer_propwin.c:3021
+#: ../src/viktrwlayer_propwin.c:3036 ../src/viktrwlayer_propwin.c:3037
+#: ../src/viktrwlayer_propwin.c:3050 ../src/viktrwlayer_propwin.c:3051
+#: ../src/viktrwlayer_propwin.c:3064 ../src/viktrwlayer_propwin.c:3065
#: ../src/viktrwlayer_propwin.c:3078 ../src/viktrwlayer_propwin.c:3079
#: ../src/viktrwlayer_propwin.c:3092 ../src/viktrwlayer_propwin.c:3093
-#: ../src/viktrwlayer_propwin.c:3106 ../src/viktrwlayer_propwin.c:3107
-#: ../src/viktrwlayer_propwin.c:3120 ../src/viktrwlayer_propwin.c:3121
-#: ../src/viktrwlayer_propwin.c:3134 ../src/viktrwlayer_propwin.c:3135
+#: ../src/viktrwlayer_analysis.c:257
#, c-format
msgid "No Data"
msgstr "没有数据"
-#: ../src/viktrwlayer_propwin.c:3031
+#: ../src/viktrwlayer_propwin.c:3006
#, c-format
msgid "%d minutes"
msgstr "%d 分钟"
-#: ../src/viktrwlayer_propwin.c:3058
+#: ../src/viktrwlayer_propwin.c:3016 ../src/viktrwlayer_analysis.c:515
msgid "Statistics"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3064
+#: ../src/viktrwlayer_propwin.c:3022
msgid "Show D_EM"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3065 ../src/viktrwlayer_propwin.c:3080
-#: ../src/viktrwlayer_propwin.c:3094 ../src/viktrwlayer_propwin.c:3136
+#: ../src/viktrwlayer_propwin.c:3023 ../src/viktrwlayer_propwin.c:3038
+#: ../src/viktrwlayer_propwin.c:3052 ../src/viktrwlayer_propwin.c:3094
msgid "Show _GPS Speed"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3067 ../src/viktrwlayer_propwin.c:3082
-#: ../src/viktrwlayer_propwin.c:3110 ../src/viktrwlayer_propwin.c:3138
+#: ../src/viktrwlayer_propwin.c:3025 ../src/viktrwlayer_propwin.c:3040
+#: ../src/viktrwlayer_propwin.c:3068 ../src/viktrwlayer_propwin.c:3096
msgid "<b>Track Distance:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3068 ../src/viktrwlayer_propwin.c:3125
+#: ../src/viktrwlayer_propwin.c:3026 ../src/viktrwlayer_propwin.c:3083
msgid "<b>Track Height:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3073
+#: ../src/viktrwlayer_propwin.c:3031
msgid "Elevation-distance"
msgstr "高度-距离"
-#: ../src/viktrwlayer_propwin.c:3083
+#: ../src/viktrwlayer_propwin.c:3041
msgid "<b>Track Gradient:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3087
+#: ../src/viktrwlayer_propwin.c:3045
msgid "Gradient-distance"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3096 ../src/viktrwlayer_propwin.c:3111
-#: ../src/viktrwlayer_propwin.c:3124
+#: ../src/viktrwlayer_propwin.c:3054 ../src/viktrwlayer_propwin.c:3069
+#: ../src/viktrwlayer_propwin.c:3082
msgid "<b>Track Time:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3097 ../src/viktrwlayer_propwin.c:3139
+#: ../src/viktrwlayer_propwin.c:3055 ../src/viktrwlayer_propwin.c:3097
msgid "<b>Track Speed:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3101
+#: ../src/viktrwlayer_propwin.c:3059
msgid "Speed-time"
msgstr "速度-时间"
-#: ../src/viktrwlayer_propwin.c:3108 ../src/viktrwlayer_propwin.c:3122
+#: ../src/viktrwlayer_propwin.c:3066 ../src/viktrwlayer_propwin.c:3080
msgid "Show S_peed"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3115
+#: ../src/viktrwlayer_propwin.c:3073
msgid "Distance-time"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3129
+#: ../src/viktrwlayer_propwin.c:3087
msgid "Elevation-time"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3143
+#: ../src/viktrwlayer_propwin.c:3101
msgid "Speed-distance"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:118
+#: ../src/viktrwlayer_tpwin.c:119
msgid "<b>Part of Track:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:119
+#: ../src/viktrwlayer_tpwin.c:120
msgid "<b>Latitude:</b>"
msgstr "<b>纬度 :</b>"
-#: ../src/viktrwlayer_tpwin.c:120
+#: ../src/viktrwlayer_tpwin.c:121
msgid "<b>Longitude:</b>"
msgstr "<b>经度 :</b>"
-#: ../src/viktrwlayer_tpwin.c:121
+#: ../src/viktrwlayer_tpwin.c:122
msgid "<b>Altitude:</b>"
msgstr "<b>高度 :</b>"
-#: ../src/viktrwlayer_tpwin.c:122
+#: ../src/viktrwlayer_tpwin.c:123
+msgid "<b>Course:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_tpwin.c:124
msgid "<b>Timestamp:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:123
+#: ../src/viktrwlayer_tpwin.c:125
msgid "<b>Time:</b>"
msgstr "<b>时间 :</b>"
-#: ../src/viktrwlayer_tpwin.c:124
+#: ../src/viktrwlayer_tpwin.c:126
msgid "<b>Distance Difference:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:125
+#: ../src/viktrwlayer_tpwin.c:127
msgid "<b>Time Difference:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:126
+#: ../src/viktrwlayer_tpwin.c:128
msgid "<b>\"Speed\" Between:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:127
+#: ../src/viktrwlayer_tpwin.c:129
+msgid "<b>Speed:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_tpwin.c:130
msgid "<b>VDOP:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:128
+#: ../src/viktrwlayer_tpwin.c:131
msgid "<b>HDOP:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:129
+#: ../src/viktrwlayer_tpwin.c:132
msgid "<b>PDOP:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:130
+#: ../src/viktrwlayer_tpwin.c:133
msgid "<b>SAT/FIX:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:139
+#: ../src/viktrwlayer_tpwin.c:141
msgid "Trackpoint"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:142
+#: ../src/viktrwlayer_tpwin.c:144
msgid "_Insert After"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:144
+#: ../src/viktrwlayer_tpwin.c:146
msgid "Split Here"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:446
+#.
+#. item = gtk_image_menu_item_new_with_mnemonic ( _("_Select") );
+#. gtk_image_menu_item_set_image ( (GtkImageMenuItem*)item, gtk_image_new_from_stock (GTK_STOCK_FIND, GTK_ICON_SIZE_MENU) );
+#. g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(trw_layer_track_select), values );
+#. gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
+#. gtk_widget_show ( item );
+#.
+#. ATM view auto selects, so don't bother with separate select menu entry
+#: ../src/viktrwlayer_tracklist.c:231 ../src/vikwindow.c:3695
+msgid "_View"
+msgstr "视图(_V)"
+
+#. Insert column for the layer name when viewing multi layers
+#: ../src/viktrwlayer_tracklist.c:514
+msgid "Layer"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:526
+msgid "Date"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:529
+msgid "Visible"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:536
+msgid ""
+"Distance\n"
+"(miles)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:539
+msgid ""
+"Distance\n"
+"(km)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:545
+msgid ""
+"Length\n"
+"(minutes)"
+msgstr ""
+
+#. VIK_UNITS_SPEED_KILOMETRES_PER_HOUR:
+#: ../src/viktrwlayer_tracklist.c:549 ../src/vikutils.c:72
+msgid "km/h"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:550 ../src/vikutils.c:62
+msgid "mph"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:551 ../src/vikutils.c:68
+msgid "knots"
+msgstr ""
+
+#. VIK_UNITS_SPEED_METRES_PER_SECOND:
+#: ../src/viktrwlayer_tracklist.c:553 ../src/vikutils.c:65
+msgid "m/s"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:556
+#, c-format
+msgid ""
+"Av. Speed\n"
+"(%s)"
+msgstr ""
+
+#. Apply own formatting of the data
+#: ../src/viktrwlayer_tracklist.c:561
+#, c-format
+msgid ""
+"Max Speed\n"
+"(%s)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:569
+msgid ""
+"Max Height\n"
+"(Feet)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:571
+msgid ""
+"Max Height\n"
+"(Metres)"
+msgstr ""
+
+#: ../src/viktrwlayer_geotag.c:481
#, c-format
msgid "Geotagging %d Images..."
msgstr ""
-#: ../src/viktrwlayer_geotag.c:510
+#: ../src/viktrwlayer_geotag.c:545
msgid "Geotag Images"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:516
+#: ../src/viktrwlayer_geotag.c:551
msgid "Images"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:520
+#: ../src/viktrwlayer_geotag.c:555
msgid "Overwrite Existing Waypoints:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:523
+#: ../src/viktrwlayer_geotag.c:558
msgid "Overwrite Existing GPS Information:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:525
+#: ../src/viktrwlayer_geotag.c:560
msgid "Keep File Modification Timestamp:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:555
+#: ../src/viktrwlayer_geotag.c:592
msgid "Create Waypoints:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:563
+#: ../src/viktrwlayer_geotag.c:600
msgid "Write EXIF:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:575
+#: ../src/viktrwlayer_geotag.c:612
msgid "Interpolate Between Track Segments:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:579
+#: ../src/viktrwlayer_geotag.c:616
msgid "Image Time Offset (Seconds):"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:581
+#: ../src/viktrwlayer_geotag.c:618
msgid ""
"The number of seconds to ADD to the photos time to make it match the GPS "
"data. Calculate this with (GPS - Photo). Can be negative or positive. Useful "
"to adjust times when a camera's timestamp was incorrect."
msgstr ""
-#: ../src/viktrwlayer_geotag.c:584
+#: ../src/viktrwlayer_geotag.c:621
msgid "Image Timezone:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:586
+#: ../src/viktrwlayer_geotag.c:623
msgid ""
"The timezone that was used when the images were created. For example, if a "
"camera is set to AWST or +8:00 hours. Enter +8:00 here so that the correct "
"adjustment to the images' time can be made. GPS data is always in UTC."
msgstr ""
-#: ../src/viktrwlayer_geotag.c:590
+#: ../src/viktrwlayer_geotag.c:627
#, c-format
msgid "Using track: %s"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:592
+#: ../src/viktrwlayer_geotag.c:629
#, c-format
msgid "Using all tracks in: %s"
msgstr ""
-#: ../src/vikstatus.c:105
+#: ../src/viktrwlayer_analysis.c:193
+msgid "Number of Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:194
+msgid "Date Range"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:195
+msgid "Total Length"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:196
+msgid "Average Length"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:197
+msgid "Max Speed"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:198
+msgid "Avg. Speed"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:199
+msgid "Minimum Altitude"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:200
+msgid "Maximum Altitude"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:201
+msgid "Total Elevation Gain/Loss"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:202
+msgid "Avg. Elevation Gain/Loss"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:203
+msgid "Total Duration"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:204
+msgid "Avg. Duration"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:278
+#, c-format
+msgid "%.2f miles"
+msgstr ""
+
+#. VIK_UNITS_DISTANCE_KILOMETRES
+#: ../src/viktrwlayer_analysis.c:282
+#, c-format
+msgid "%.2f km"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:297
+#, c-format
+msgid "%.2f m/s"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:306
+#, c-format
+msgid "%.2f knots\n"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:309
+#, c-format
+msgid "%.2f knots"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:316 ../src/viktrwlayer_analysis.c:319
+#, c-format
+msgid "%.2f km/h"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:330 ../src/viktrwlayer_analysis.c:336
+#, c-format
+msgid "%d feet"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:341 ../src/viktrwlayer_analysis.c:343
+#, c-format
+msgid "%d feet / %d feet"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:348 ../src/viktrwlayer_analysis.c:354
+#, c-format
+msgid "%d m"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:359 ../src/viktrwlayer_analysis.c:361
+#, c-format
+msgid "%d m / %d m"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:373
+#, c-format
+msgid "%d:%02d:%02d days:hrs:mins"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:380
+#, c-format
+msgid "%d:%02d hrs:mins"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:550
+msgid "Include Invisible Items"
+msgstr ""
+
+#: ../src/vikstatus.c:107
+msgid "Current number of background tasks. Click to see the background jobs."
+msgstr ""
+
+#: ../src/vikstatus.c:113
msgid "Current zoom level. Click to select a new one."
msgstr ""
-#: ../src/vikwaypoint.c:34
+#: ../src/vikutils.c:80
+msgid "GPSD"
+msgstr ""
+
+#. GPS Preamble
+#: ../src/vikutils.c:81
+msgid "Trkpt"
+msgstr ""
+
+#: ../src/vikutils.c:121
+#, c-format
+msgid "%sSpeed%s %.1f%s"
+msgstr ""
+
+#: ../src/vikutils.c:130
+#, c-format
+msgid "%sAlt %dfeet"
+msgstr ""
+
+#. VIK_UNITS_HEIGHT_METRES:
+#: ../src/vikutils.c:134
+#, c-format
+msgid "%sAlt %dm"
+msgstr ""
+
+#: ../src/vikutils.c:142
+#, c-format
+msgid "%sCourse %03d°"
+msgstr ""
+
+#: ../src/vikutils.c:155
+msgid "yards"
+msgstr ""
+
+#. VIK_UNITS_DISTANCE_KILOMETRES:
+#: ../src/vikutils.c:159
+msgid "m"
+msgstr ""
+
+#: ../src/vikutils.c:163
+#, c-format
+msgid "%sDistance diff %d%s"
+msgstr ""
+
+#: ../src/vikutils.c:179
+#, c-format
+msgid "%sTime %s"
+msgstr ""
+
+#: ../src/vikutils.c:187
+#, c-format
+msgid "%sTime diff %lds"
+msgstr ""
+
+#: ../src/vikutils.c:193
+#, c-format
+msgid "%sNo. of Sats %d"
+msgstr ""
+
+#: ../src/vikutils.c:213
+#, c-format
+msgid "%sDistance along %.2f%s"
+msgstr ""
+
+#. Name of track
+#: ../src/vikutils.c:232
+#, c-format
+msgid "%sTrack: %s"
+msgstr ""
+
+#: ../src/vikwaypoint.c:36
msgid "Waypoint"
msgstr ""
#. TODO get rid of this as this is unnecessary duplication...
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Pan"
msgstr "移动"
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Zoom"
msgstr "缩放"
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Ruler"
msgstr "测距"
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Select"
msgstr ""
+#: ../src/vikwindow.c:381
+msgid "Location lookup aborted"
+msgstr ""
+
+#: ../src/vikwindow.c:401
+#, c-format
+msgid "Location found: %s"
+msgstr ""
+
+#: ../src/vikwindow.c:410
+msgid "Unable to determine location"
+msgstr ""
+
+#: ../src/vikwindow.c:434
+msgid "Default Map"
+msgstr ""
+
+#: ../src/vikwindow.c:444
+msgid "Trying to determine location..."
+msgstr ""
+
+#: ../src/vikwindow.c:447
+msgid "Determining location"
+msgstr ""
+
#. Create tooltip
-#: ../src/vikwindow.c:440
+#: ../src/vikwindow.c:605
msgid "Select zoom level"
msgstr ""
-#: ../src/vikwindow.c:645
+#: ../src/vikwindow.c:923
#, c-format
msgid ""
"Do you want to save the changes you made to the document \"%s\"?\n"
@@ -3141,624 +3983,708 @@ msgid ""
"Your changes will be lost if you don't save them."
msgstr ""
-#: ../src/vikwindow.c:649
+#: ../src/vikwindow.c:927
msgid "Don't Save"
msgstr "不保存"
-#: ../src/vikwindow.c:696
+#: ../src/vikwindow.c:1005
msgid "mpp"
msgstr "mpp"
-#: ../src/vikwindow.c:696
+#: ../src/vikwindow.c:1005
msgid "pixelfact"
msgstr "pixelfact"
-#: ../src/vikwindow.c:861
+#: ../src/vikwindow.c:1169
#, c-format
msgid "%s %s %dm"
msgstr ""
-#: ../src/vikwindow.c:863
+#: ../src/vikwindow.c:1171
#, c-format
msgid "%s %s %dft"
msgstr ""
-#: ../src/vikwindow.c:866
+#: ../src/vikwindow.c:1174
#, c-format
msgid "%s %s"
msgstr ""
#. NB Ctrl+Shift+R is used for Refresh (deemed more important), so use 'U' instead
-#: ../src/vikwindow.c:1254
+#: ../src/vikwindow.c:1562
msgid "_Ruler"
msgstr "_R 测距"
-#: ../src/vikwindow.c:1254
+#: ../src/vikwindow.c:1562
msgid "Ruler Tool"
msgstr "测距工具"
-#: ../src/vikwindow.c:1502 ../src/vikwindow.c:3138
+#: ../src/vikwindow.c:1810 ../src/vikwindow.c:3697
msgid "_Zoom"
msgstr "缩放(_Z)"
-#: ../src/vikwindow.c:1502
+#: ../src/vikwindow.c:1810
msgid "Zoom Tool"
msgstr "缩放工具"
-#: ../src/vikwindow.c:1547 ../src/vikwindow.c:3139
+#: ../src/vikwindow.c:1855 ../src/vikwindow.c:3698
msgid "_Pan"
msgstr "平移(_P )"
-#: ../src/vikwindow.c:1547
+#: ../src/vikwindow.c:1855
msgid "Pan Tool"
msgstr ""
-#: ../src/vikwindow.c:1664
+#: ../src/vikwindow.c:1972
msgid "_Select"
msgstr ""
-#: ../src/vikwindow.c:1664
+#: ../src/vikwindow.c:1972
msgid "Select Tool"
msgstr ""
-#: ../src/vikwindow.c:1809
+#: ../src/vikwindow.c:2123
msgid "You must select a layer to show its properties."
msgstr "您必须选一个层才能显示它的属性"
#. No error to show, so unlikely this will get called
-#: ../src/vikwindow.c:1824
+#: ../src/vikwindow.c:2137
msgid "The help system is not available."
msgstr ""
#. Main error path
-#: ../src/vikwindow.c:1827
+#: ../src/vikwindow.c:2140
#, c-format
msgid ""
"Help is not available because: %s.\n"
"Ensure a Mime Type ghelp handler program is installed (e.g. yelp)."
msgstr ""
-#: ../src/vikwindow.c:1850
+#: ../src/vikwindow.c:2160
msgid "You must select a layer to delete."
msgstr "您必须选一个层才可删除"
-#: ../src/vikwindow.c:2087
+#: ../src/vikwindow.c:2396
msgid "Untitled"
msgstr "无标题"
-#: ../src/vikwindow.c:2194
+#: ../src/vikwindow.c:2503
#, c-format
msgid "Unable to add '%s' to the list of recently used documents"
msgstr ""
-#: ../src/vikwindow.c:2208
+#: ../src/vikwindow.c:2540
msgid "The file you requested could not be opened."
msgstr "您选的文件不能被打开"
-#: ../src/vikwindow.c:2211
+#: ../src/vikwindow.c:2543
msgid ""
"GPSBabel is required to load files of this type or GPSBabel encountered "
"problems."
msgstr ""
-#: ../src/vikwindow.c:2214
+#: ../src/vikwindow.c:2546
#, c-format
msgid "Unable to load malformed GPX file %s"
msgstr ""
-#: ../src/vikwindow.c:2217
+#: ../src/vikwindow.c:2549
#, c-format
msgid "Unsupported file type for %s"
msgstr ""
#. Since we can process .vik files with issues just show a warning in the status bar
#. Not that a user can do much about it... or tells them what this issue is yet...
-#: ../src/vikwindow.c:2223
+#: ../src/vikwindow.c:2555
#, c-format
msgid "WARNING: issues encountered loading %s"
msgstr ""
-#: ../src/vikwindow.c:2278
+#: ../src/vikwindow.c:2613
msgid "Please select a GPS data file to open. "
msgstr "请选择一个GPS数据文件来打开 "
-#: ../src/vikwindow.c:2288
+#: ../src/vikwindow.c:2629
msgid "Geocaching"
msgstr ""
-#: ../src/vikwindow.c:2294
+#: ../src/vikwindow.c:2635
msgid "Google Earth"
msgstr ""
-#: ../src/vikwindow.c:2299
+#: ../src/vikwindow.c:2640
msgid "GPX"
msgstr ""
-#: ../src/vikwindow.c:2304 ../src/vikwindow.c:2387
+#: ../src/vikwindow.c:2645 ../src/vikwindow.c:2734
#: ../src/viking.desktop.in.h:1
msgid "Viking"
msgstr ""
-#: ../src/vikwindow.c:2374
+#: ../src/vikwindow.c:2715
msgid "Save as Viking File."
msgstr "另存为Viking文件."
+#: ../src/vikwindow.c:2841
+msgid "Exporting to file: "
+msgstr ""
+
+#. Confirm what happened.
+#: ../src/vikwindow.c:2858
+#, c-format
+msgid "Exported files: %d"
+msgstr ""
+
+#: ../src/vikwindow.c:2870
+msgid "Nothing to Export!"
+msgstr ""
+
+#: ../src/vikwindow.c:2874
+msgid "Export to directory"
+msgstr ""
+
+#: ../src/vikwindow.c:2896
+msgid "Could not convert all files"
+msgstr ""
+
+#: ../src/vikwindow.c:2932
+#, c-format
+msgid "%d bytes"
+msgstr ""
+
+#: ../src/vikwindow.c:2934
+#, c-format
+msgid "%3.1f kB"
+msgstr ""
+
+#: ../src/vikwindow.c:2936
+#, c-format
+msgid "%3.1f MB"
+msgstr ""
+
+#: ../src/vikwindow.c:2937
+#, c-format
+msgid ""
+"%s\n"
+"\n"
+"%s\n"
+"\n"
+"%s"
+msgstr ""
+
+#: ../src/vikwindow.c:2942
+msgid "File not accessible"
+msgstr ""
+
+#: ../src/vikwindow.c:2945
+msgid "No Viking File"
+msgstr ""
+
+#: ../src/vikwindow.c:3035
+msgid "This layer has no configurable properties."
+msgstr ""
+
#. Try harder...
-#: ../src/vikwindow.c:2619 ../src/vikwindow.c:2625
+#: ../src/vikwindow.c:3169 ../src/vikwindow.c:3175
msgid "Generating image file..."
msgstr ""
-#: ../src/vikwindow.c:2647
+#: ../src/vikwindow.c:3197
msgid ""
"Failed to generate internal image.\n"
"\n"
"Try creating a smaller image."
msgstr ""
-#: ../src/vikwindow.c:2655
+#: ../src/vikwindow.c:3205
msgid "Failed to generate image file."
msgstr ""
#. Success
-#: ../src/vikwindow.c:2660
+#: ../src/vikwindow.c:3210
msgid "Image file generated."
msgstr ""
-#: ../src/vikwindow.c:2764
+#: ../src/vikwindow.c:3314
msgid ""
"Viewable region outside allowable pixel size bounds for image. Clipping "
"width/height values."
msgstr ""
-#: ../src/vikwindow.c:2789
+#: ../src/vikwindow.c:3339
#, c-format
msgid "Total area: %ldm x %ldm (%.3f sq. km)"
msgstr "全部区域: %ldm x %ldm (%.3f 平方公里)"
-#: ../src/vikwindow.c:2792
+#: ../src/vikwindow.c:3342
#, c-format
msgid "Total area: %ldm x %ldm (%.3f sq. miles)"
msgstr ""
-#: ../src/vikwindow.c:2813
+#: ../src/vikwindow.c:3363
msgid "Save Image"
msgstr "保存图像"
-#: ../src/vikwindow.c:2834
+#: ../src/vikwindow.c:3393
msgid "PNG"
msgstr ""
-#: ../src/vikwindow.c:2857
+#: ../src/vikwindow.c:3416
msgid "You must be in UTM mode to use this feature"
msgstr "你必须在UTM模式中来使用这个特性"
-#: ../src/vikwindow.c:2862
+#: ../src/vikwindow.c:3421
msgid "Choose a directory to hold images"
msgstr ""
#. todo: default for answers inside VikWindow or static (thruout instance)
-#: ../src/vikwindow.c:2883
+#: ../src/vikwindow.c:3442
msgid "Save to Image File"
msgstr "保存为图片文件"
-#: ../src/vikwindow.c:2900
+#: ../src/vikwindow.c:3459
msgid "Width (pixels):"
msgstr "宽度 (像素) :"
-#: ../src/vikwindow.c:2902
+#: ../src/vikwindow.c:3461
msgid "Height (pixels):"
msgstr "高度 (像素) :"
-#: ../src/vikwindow.c:2905
+#: ../src/vikwindow.c:3464
msgid ""
"WARNING: USING LARGE IMAGES OVER 10000x10000\n"
"MAY CRASH THE PROGRAM!"
msgstr ""
-#: ../src/vikwindow.c:2907
+#: ../src/vikwindow.c:3466
msgid "Zoom (meters per pixel):"
msgstr "缩放 (米/像素) :"
-#: ../src/vikwindow.c:2921
+#: ../src/vikwindow.c:3482
msgid "Area in current viewable window"
msgstr ""
-#: ../src/vikwindow.c:2931
+#: ../src/vikwindow.c:3492
msgid "Save as PNG"
msgstr "保存为PNG"
-#: ../src/vikwindow.c:2932
+#: ../src/vikwindow.c:3493
msgid "Save as JPEG"
msgstr "保存为JPEG"
-#: ../src/vikwindow.c:2954
+#: ../src/vikwindow.c:3515
msgid "East-west image tiles:"
msgstr ""
-#: ../src/vikwindow.c:2956
+#: ../src/vikwindow.c:3517
msgid "North-south image tiles:"
msgstr ""
-#: ../src/vikwindow.c:3097
+#: ../src/vikwindow.c:3656
msgid "Choose a background color"
msgstr "选择一个背景色"
-#: ../src/vikwindow.c:3113
+#: ../src/vikwindow.c:3672
msgid "Choose a track highlight color"
msgstr ""
-#: ../src/vikwindow.c:3134
+#: ../src/vikwindow.c:3693
msgid "_File"
msgstr "文件(_F)"
-#: ../src/vikwindow.c:3135
+#: ../src/vikwindow.c:3694
msgid "_Edit"
msgstr "编辑(_E)"
-#: ../src/vikwindow.c:3136
-msgid "_View"
-msgstr "视图(_V)"
-
-#: ../src/vikwindow.c:3137
+#: ../src/vikwindow.c:3696
msgid "_Show"
msgstr ""
-#: ../src/vikwindow.c:3140
+#: ../src/vikwindow.c:3699
msgid "_Layers"
msgstr "图层(_L)"
-#: ../src/vikwindow.c:3141
+#: ../src/vikwindow.c:3700
msgid "_Tools"
msgstr "工具(_T)"
-#: ../src/vikwindow.c:3142
+#: ../src/vikwindow.c:3701
msgid "_Webtools"
msgstr ""
-#: ../src/vikwindow.c:3143 ../src/vikwindow.c:3206
+#: ../src/vikwindow.c:3702 ../src/vikwindow.c:3763
msgid "_Help"
msgstr "帮助(_H)"
-#: ../src/vikwindow.c:3145
+#: ../src/vikwindow.c:3704
msgid "New file"
msgstr "新建文件"
-#: ../src/vikwindow.c:3146
+#: ../src/vikwindow.c:3705
msgid "_Open..."
msgstr "打开(_O)..."
-#: ../src/vikwindow.c:3146
+#: ../src/vikwindow.c:3705
msgid "Open a file"
msgstr "打开一个文件"
-#: ../src/vikwindow.c:3147
+#: ../src/vikwindow.c:3706
msgid "Open _Recent File"
msgstr ""
-#: ../src/vikwindow.c:3148
+#: ../src/vikwindow.c:3707
msgid "Append _File..."
msgstr "_p 增加文件..."
-#: ../src/vikwindow.c:3148
+#: ../src/vikwindow.c:3707
msgid "Append data from a different file"
msgstr "从不同的文件中追加数据"
-#: ../src/vikwindow.c:3149
+#: ../src/vikwindow.c:3708
+msgid "_Export All"
+msgstr ""
+
+#: ../src/vikwindow.c:3708
+msgid "Export All TrackWaypoint Layers"
+msgstr ""
+
+#: ../src/vikwindow.c:3709
+msgid "_GPX..."
+msgstr ""
+
+#: ../src/vikwindow.c:3709
+msgid "Export as GPX"
+msgstr ""
+
+#: ../src/vikwindow.c:3710
msgid "A_cquire"
msgstr "_c 获取"
-#: ../src/vikwindow.c:3150
+#: ../src/vikwindow.c:3711
msgid "Transfer data from a GPS device"
msgstr "从一个GPS接收器获得数据"
-#: ../src/vikwindow.c:3151
+#: ../src/vikwindow.c:3712
msgid "Import File With GPS_Babel..."
msgstr ""
-#: ../src/vikwindow.c:3151
+#: ../src/vikwindow.c:3712
msgid "Import file via GPSBabel converter"
msgstr ""
-#: ../src/vikwindow.c:3153
-msgid "Google _Directions..."
-msgstr "_D 谷歌方位..."
+#: ../src/vikwindow.c:3713
+msgid "_Directions..."
+msgstr ""
-#: ../src/vikwindow.c:3153
-msgid "Get driving directions from Google"
-msgstr "从谷歌获得驾驶方位"
+#: ../src/vikwindow.c:3713
+msgid "Get driving directions"
+msgstr ""
-#: ../src/vikwindow.c:3156
+#: ../src/vikwindow.c:3715
msgid "_OSM Traces..."
msgstr ""
-#: ../src/vikwindow.c:3156
+#: ../src/vikwindow.c:3715
msgid "Get traces from OpenStreetMap"
msgstr ""
-#: ../src/vikwindow.c:3157
+#: ../src/vikwindow.c:3716
msgid "_My OSM Traces..."
msgstr ""
-#: ../src/vikwindow.c:3157
+#: ../src/vikwindow.c:3716
msgid "Get Your Own Traces from OpenStreetMap"
msgstr ""
-#: ../src/vikwindow.c:3160
+#: ../src/vikwindow.c:3719
msgid "Geo_caches..."
msgstr ""
-#: ../src/vikwindow.c:3160
+#: ../src/vikwindow.c:3719
msgid "Get Geocaches from geocaching.com"
msgstr "从geocaching.com获得地理缓存数据"
-#: ../src/vikwindow.c:3163
+#: ../src/vikwindow.c:3722
msgid "Create waypoints from geotagged images"
msgstr ""
-#: ../src/vikwindow.c:3166
+#: ../src/vikwindow.c:3725
msgid "Create waypoints from Wikipedia items in the current view"
msgstr ""
-#: ../src/vikwindow.c:3168
+#: ../src/vikwindow.c:3727
msgid "_Save"
msgstr "保存(_S)"
-#: ../src/vikwindow.c:3168
+#: ../src/vikwindow.c:3727
msgid "Save the file"
msgstr "保存这个文件"
-#: ../src/vikwindow.c:3169
+#: ../src/vikwindow.c:3728
msgid "Save _As..."
msgstr "另存为(_A)..."
-#: ../src/vikwindow.c:3169
+#: ../src/vikwindow.c:3728
msgid "Save the file under different name"
msgstr "保存为其它名字的文件"
-#: ../src/vikwindow.c:3170
+#: ../src/vikwindow.c:3729
+msgid "Properties..."
+msgstr ""
+
+#: ../src/vikwindow.c:3729
+msgid "File Properties"
+msgstr ""
+
+#: ../src/vikwindow.c:3730
msgid "_Generate Image File..."
msgstr "_G 生成图形文件..."
-#: ../src/vikwindow.c:3170
+#: ../src/vikwindow.c:3730
msgid "Save a snapshot of the workspace into a file"
msgstr ""
-#: ../src/vikwindow.c:3171
+#: ../src/vikwindow.c:3731
msgid "Generate _Directory of Images..."
msgstr "_D 创建图片的目录..."
-#: ../src/vikwindow.c:3171
+#: ../src/vikwindow.c:3731
msgid "FIXME:IMGDIR"
msgstr ""
-#: ../src/vikwindow.c:3174
+#: ../src/vikwindow.c:3732
msgid "_Print..."
msgstr "_P 打印"
-#: ../src/vikwindow.c:3174
+#: ../src/vikwindow.c:3732
msgid "Print maps"
msgstr "打印地图"
-#: ../src/vikwindow.c:3177
+#: ../src/vikwindow.c:3733
msgid "E_xit"
msgstr "_x 退出"
-#: ../src/vikwindow.c:3177
+#: ../src/vikwindow.c:3733
msgid "Exit the program"
msgstr "退出程序"
-#: ../src/vikwindow.c:3178
+#: ../src/vikwindow.c:3734
msgid "Save and Exit"
msgstr "保存并退出"
-#: ../src/vikwindow.c:3178
+#: ../src/vikwindow.c:3734
msgid "Save and Exit the program"
msgstr "保存并退出程序"
-#: ../src/vikwindow.c:3180
+#: ../src/vikwindow.c:3736
msgid "Go to the _Default Location"
msgstr ""
-#: ../src/vikwindow.c:3180
+#: ../src/vikwindow.c:3736
msgid "Go to the default location"
msgstr ""
-#: ../src/vikwindow.c:3181
+#: ../src/vikwindow.c:3737
msgid "Go to _Location..."
msgstr ""
-#: ../src/vikwindow.c:3181
+#: ../src/vikwindow.c:3737
msgid "Go to address/place using text search"
msgstr ""
-#: ../src/vikwindow.c:3182
+#: ../src/vikwindow.c:3738
msgid "_Go to Lat/Lon..."
msgstr "_G 前往一个经纬度值..."
-#: ../src/vikwindow.c:3182
+#: ../src/vikwindow.c:3738
msgid "Go to arbitrary lat/lon coordinate"
msgstr "前往任意的经纬度座标"
-#: ../src/vikwindow.c:3183
+#: ../src/vikwindow.c:3739
msgid "Go to UTM..."
msgstr "前往UTM..."
-#: ../src/vikwindow.c:3183
+#: ../src/vikwindow.c:3739
msgid "Go to arbitrary UTM coordinate"
msgstr "前往任意的UTM座标"
-#: ../src/vikwindow.c:3184
+#: ../src/vikwindow.c:3740
msgid "_Refresh"
msgstr ""
-#: ../src/vikwindow.c:3184
+#: ../src/vikwindow.c:3740
msgid "Refresh any maps displayed"
msgstr ""
-#: ../src/vikwindow.c:3185
+#: ../src/vikwindow.c:3741
msgid "Set _Highlight Color..."
msgstr ""
-#: ../src/vikwindow.c:3186
+#: ../src/vikwindow.c:3742
msgid "Set Bac_kground Color..."
msgstr ""
-#: ../src/vikwindow.c:3187
+#: ../src/vikwindow.c:3743
msgid "Zoom _In"
msgstr "放大(_I)"
-#: ../src/vikwindow.c:3188
+#: ../src/vikwindow.c:3744
msgid "Zoom _Out"
msgstr "缩小(_O)"
-#: ../src/vikwindow.c:3189
+#: ../src/vikwindow.c:3745
msgid "Zoom _To..."
msgstr "_T 缩放到..."
-#: ../src/vikwindow.c:3190
+#: ../src/vikwindow.c:3746
msgid "Pan _North"
msgstr ""
-#: ../src/vikwindow.c:3191
+#: ../src/vikwindow.c:3747
msgid "Pan _East"
msgstr ""
-#: ../src/vikwindow.c:3192
+#: ../src/vikwindow.c:3748
msgid "Pan _South"
msgstr ""
-#: ../src/vikwindow.c:3193
+#: ../src/vikwindow.c:3749
msgid "Pan _West"
msgstr ""
-#: ../src/vikwindow.c:3194
+#: ../src/vikwindow.c:3750
msgid "Background _Jobs"
msgstr "_J 后台任务"
-#: ../src/vikwindow.c:3196
+#: ../src/vikwindow.c:3752
msgid "Cu_t"
msgstr "_t 剪切"
-#: ../src/vikwindow.c:3197
-msgid "_Copy"
-msgstr "_C 拷贝"
-
-#: ../src/vikwindow.c:3198
-msgid "_Paste"
-msgstr "_P 粘贴"
-
-#: ../src/vikwindow.c:3199
-msgid "_Delete"
-msgstr "删除(_D)"
-
-#: ../src/vikwindow.c:3200
+#: ../src/vikwindow.c:3756
msgid "Delete All"
msgstr "全部删除"
-#: ../src/vikwindow.c:3201
+#: ../src/vikwindow.c:3757
msgid "_Flush Map Cache"
msgstr ""
-#: ../src/vikwindow.c:3202
+#: ../src/vikwindow.c:3758
msgid "_Set the Default Location"
msgstr ""
-#: ../src/vikwindow.c:3202
+#: ../src/vikwindow.c:3758
msgid "Set the Default Location to the current position"
msgstr ""
-#: ../src/vikwindow.c:3203
+#: ../src/vikwindow.c:3759
msgid "_Preferences"
msgstr "_P 首选项"
-#: ../src/vikwindow.c:3204
+#: ../src/vikwindow.c:3760
+msgid "_Layer Defaults"
+msgstr ""
+
+#: ../src/vikwindow.c:3761
msgid "_Properties"
msgstr "属性(_P)"
-#: ../src/vikwindow.c:3207
+#: ../src/vikwindow.c:3764
msgid "_About"
msgstr "关于(_A)"
-#: ../src/vikwindow.c:3213
+#: ../src/vikwindow.c:3768
+msgid "_KML..."
+msgstr ""
+
+#: ../src/vikwindow.c:3768
+msgid "Export as KML"
+msgstr ""
+
+#: ../src/vikwindow.c:3774
msgid "_UTM Mode"
msgstr "_UTM 模式"
-#: ../src/vikwindow.c:3214
+#: ../src/vikwindow.c:3775
msgid "_Expedia Mode"
msgstr "_Expedia 模式"
-#: ../src/vikwindow.c:3215
+#: ../src/vikwindow.c:3776
msgid "_Mercator Mode"
msgstr ""
-#: ../src/vikwindow.c:3216
+#: ../src/vikwindow.c:3777
msgid "Lat_/Lon Mode"
msgstr ""
-#: ../src/vikwindow.c:3220
+#: ../src/vikwindow.c:3781
msgid "Show _Scale"
msgstr ""
-#: ../src/vikwindow.c:3220
+#: ../src/vikwindow.c:3781
msgid "Show Scale"
msgstr "显示比例尺"
-#: ../src/vikwindow.c:3221
+#: ../src/vikwindow.c:3782
msgid "Show _Center Mark"
msgstr ""
-#: ../src/vikwindow.c:3221
+#: ../src/vikwindow.c:3782
msgid "Show Center Mark"
msgstr "显示中心标记"
-#: ../src/vikwindow.c:3222
+#: ../src/vikwindow.c:3783
msgid "Show _Highlight"
msgstr ""
-#: ../src/vikwindow.c:3222
+#: ../src/vikwindow.c:3783
msgid "Show Highlight"
msgstr ""
-#: ../src/vikwindow.c:3223
+#: ../src/vikwindow.c:3784
msgid "_Full Screen"
msgstr "全屏"
-#: ../src/vikwindow.c:3223
+#: ../src/vikwindow.c:3784
msgid "Activate full screen mode"
msgstr ""
-#: ../src/vikwindow.c:3224
+#: ../src/vikwindow.c:3785
msgid "Show Side _Panel"
msgstr ""
-#: ../src/vikwindow.c:3224
+#: ../src/vikwindow.c:3785
msgid "Show Side Panel"
msgstr ""
-#: ../src/vikwindow.c:3225
+#: ../src/vikwindow.c:3786
msgid "Show Status_bar"
msgstr ""
-#: ../src/vikwindow.c:3225
+#: ../src/vikwindow.c:3786
msgid "Show Statusbar"
msgstr ""
-#: ../src/vikwindow.c:3226
+#: ../src/vikwindow.c:3787
msgid "Show _Toolbar"
msgstr ""
-#: ../src/vikwindow.c:3226
+#: ../src/vikwindow.c:3787
msgid "Show Toolbar"
msgstr ""
-#: ../src/vikwindow.c:3227
+#: ../src/vikwindow.c:3788
msgid "Show _Menu"
msgstr ""
-#: ../src/vikwindow.c:3227
+#: ../src/vikwindow.c:3788
msgid "Show Menu"
msgstr ""
+#: ../src/vikwindow.c:3862
+#, c-format
+msgid "New _%s Layer"
+msgstr ""
+
#: ../src/viking.desktop.in.h:2
msgid "GPS Data Manager"
msgstr ""
diff --git a/po/zh_TW.po b/po/zh_TW.po
index 3d572e9..6d4846a 100644
--- a/po/zh_TW.po
+++ b/po/zh_TW.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Viking\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-02-04 23:29+0100\n"
+"POT-Creation-Date: 2013-09-03 21:58+0200\n"
"PO-Revision-Date: 2010-11-17 22:50+0000\n"
"Last-Translator: Guilhem Bonnefille <guilhem.bonnefille@gmail.com>\n"
"Language-Team: \n"
@@ -10,60 +10,60 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Launchpad-Export-Date: 2013-03-23 17:12+0000\n"
-"X-Generator: Launchpad (build 16540)\n"
+"X-Launchpad-Export-Date: 2013-10-12 09:04+0000\n"
+"X-Generator: Launchpad (build 16799)\n"
"X-Poedit-Language: Traditional Chinese\n"
-#: ../src/acquire.c:103 ../src/vikgpslayer.c:1185
+#: ../src/acquire.c:103 ../src/vikgpslayer.c:1235
msgid "Done."
msgstr "完成."
-#: ../src/acquire.c:114
+#: ../src/acquire.c:112
msgid "No data."
msgstr ""
-#: ../src/acquire.c:154 ../src/acquire.c:404
+#: ../src/acquire.c:154 ../src/acquire.c:424
msgid "Error: acquisition failed."
msgstr ""
-#: ../src/acquire.c:341
+#: ../src/acquire.c:352
msgid "Working..."
msgstr "工作中..."
#. This shouldn't happen...
-#: ../src/acquire.c:394
+#: ../src/acquire.c:415
msgid ""
"Unable to create command\n"
"Acquire method failed."
msgstr ""
-#: ../src/acquire.c:486
+#: ../src/acquire.c:517
msgid "_Filter"
msgstr ""
-#: ../src/acquire.c:501
+#: ../src/acquire.c:532
#, c-format
msgid "Filter with %s"
msgstr ""
-#: ../src/acquire.c:518
+#: ../src/acquire.c:549
msgid "Filter"
msgstr ""
-#: ../src/background.c:52
+#: ../src/background.c:53
#, c-format
msgid "%d items"
msgstr "%d 項目"
-#: ../src/background.c:248
+#: ../src/background.c:254
msgid "Job"
msgstr "工作"
-#: ../src/background.c:252
+#: ../src/background.c:258
msgid "Progress"
msgstr "程式"
-#: ../src/background.c:268
+#: ../src/background.c:274
msgid "Viking Background Jobs"
msgstr "Viking 背景工作"
@@ -72,7 +72,7 @@ msgid "Bing"
msgstr ""
#. VIK_GTK_WINDOW_FROM_WIDGET(vp)
-#: ../src/bingmapsource.c:445
+#: ../src/bingmapsource.c:499
msgid "Bing attribution Loading"
msgstr ""
@@ -97,35 +97,35 @@ msgid ""
"into."
msgstr ""
-#: ../src/dialog.c:52
+#: ../src/dialog.c:53
msgid "Go to Lat/Lon"
msgstr ""
-#: ../src/dialog.c:64 ../src/dialog.c:251
+#: ../src/dialog.c:65 ../src/dialog.c:244
msgid "Latitude:"
msgstr "緯度 :"
-#: ../src/dialog.c:70 ../src/dialog.c:256
+#: ../src/dialog.c:71 ../src/dialog.c:249
msgid "Longitude:"
msgstr "經度 :"
-#: ../src/dialog.c:102
+#: ../src/dialog.c:103
msgid "Go to UTM"
msgstr ""
-#: ../src/dialog.c:115
+#: ../src/dialog.c:116
msgid "Northing:"
msgstr "Northing :"
-#: ../src/dialog.c:121
+#: ../src/dialog.c:122
msgid "Easting:"
msgstr "Easting :"
-#: ../src/dialog.c:128
+#: ../src/dialog.c:129
msgid "Zone:"
msgstr "Zone :"
-#: ../src/dialog.c:131
+#: ../src/dialog.c:132
msgid "Letter:"
msgstr "Lettre :"
@@ -133,105 +133,109 @@ msgstr "Lettre :"
msgid "Waypoint Properties"
msgstr ""
-#: ../src/dialog.c:233
+#: ../src/dialog.c:235
msgid "Name:"
msgstr "名稱:"
-#: ../src/dialog.c:261
+#: ../src/dialog.c:254
msgid "Altitude:"
msgstr "海拔:"
-#: ../src/dialog.c:266
+#: ../src/dialog.c:259
msgid "Comment:"
msgstr "註釋:"
-#: ../src/dialog.c:274 ../src/osm-traces.c:437
+#: ../src/dialog.c:267 ../src/osm-traces.c:445
msgid "Description:"
msgstr "Description :"
-#: ../src/dialog.c:277
+#: ../src/dialog.c:270
msgid "Image:"
msgstr "圖片:"
-#: ../src/dialog.c:282
+#: ../src/dialog.c:275
msgid "Symbol:"
msgstr "象徵式:"
-#: ../src/dialog.c:291
+#: ../src/dialog.c:284
msgid "(none)"
msgstr "(無)"
+#: ../src/dialog.c:326
+msgid "Time:"
+msgstr ""
+
#. TODO: other checks (isalpha or whatever )
-#: ../src/dialog.c:356
+#: ../src/dialog.c:363
msgid "Please enter a name for the waypoint."
msgstr "請為該航點匯入一個名字."
-#: ../src/dialog.c:529 ../src/geonamessearch.c:243
+#: ../src/dialog.c:502 ../src/geonamessearch.c:244
#: ../src/datasource_osm_my_traces.c:507
msgid "Nothing was selected"
msgstr ""
-#: ../src/dialog.c:537
+#: ../src/dialog.c:510
msgid "Add Route"
msgstr ""
-#: ../src/dialog.c:537
+#: ../src/dialog.c:510
msgid "Add Track"
msgstr "添加軌迹:"
-#: ../src/dialog.c:545
+#: ../src/dialog.c:518
msgid "Route Name:"
msgstr ""
-#: ../src/dialog.c:545
+#: ../src/dialog.c:518
msgid "Track Name:"
msgstr "軌迹名稱:"
-#: ../src/dialog.c:565
+#: ../src/dialog.c:538
msgid "Please enter a name for the track."
msgstr "請為該軌迹匯入一個名字."
-#: ../src/dialog.c:623
+#: ../src/dialog.c:596
msgid "Zoom Factors..."
msgstr "縮放引數..."
-#: ../src/dialog.c:637
+#: ../src/dialog.c:610
msgid "Zoom factor (in meters per pixel):"
msgstr ""
-#: ../src/dialog.c:638
+#: ../src/dialog.c:611
msgid "X (easting): "
msgstr "X (東方): "
-#: ../src/dialog.c:639
+#: ../src/dialog.c:612
msgid "Y (northing): "
msgstr "Y (北方): "
-#: ../src/dialog.c:644
+#: ../src/dialog.c:617
msgid "X and Y zoom factors must be equal"
msgstr "X和Y縮放引數必須相等"
-#: ../src/dialog.c:699
+#: ../src/dialog.c:672
msgid "1 min"
msgstr "1 分鐘"
-#: ../src/dialog.c:700
+#: ../src/dialog.c:673
msgid "1 hour"
msgstr "1 小時"
-#: ../src/dialog.c:701
+#: ../src/dialog.c:674
msgid "1 day"
msgstr "1 天"
-#: ../src/dialog.c:702
+#: ../src/dialog.c:675
msgid "Custom (in minutes):"
msgstr ""
-#: ../src/dialog.c:808
+#: ../src/dialog.c:786
msgid "GPS Data and Topo Analyzer, Explorer, and Manager."
msgstr "GPS 資料和拓撲解析、瀏覧、管理工具."
-#: ../src/dialog.c:809
+#: ../src/dialog.c:787
msgid ""
"This program is free software; you can redistribute it and/or modify it "
"under the terms of the GNU General Public License as published by the Free "
@@ -248,28 +252,28 @@ msgid ""
"Place, Suite 330, Boston, MA 02111-1307, USA"
msgstr ""
-#: ../src/dialog.c:837
+#: ../src/dialog.c:852
msgid "Translation is coordinated on http://launchpad.net/viking"
msgstr ""
-#: ../src/dialog.c:845
+#: ../src/dialog.c:861
msgid "Download along track"
msgstr "沿着軌迹下載"
-#: ../src/dialog.c:851
+#: ../src/dialog.c:868
msgid "Map type:"
msgstr "地圖類別:"
-#: ../src/dialog.c:856
+#: ../src/dialog.c:874
msgid "Zoom level:"
msgstr "縮放程度:"
-#: ../src/dialog.c:896
+#: ../src/dialog.c:914
#, c-format
msgid "The map data is licensed: %s."
msgstr ""
-#: ../src/dialog.c:899
+#: ../src/dialog.c:917
#, c-format
msgid ""
"The data provided by '<b>%s</b>' are licensed under the following license: "
@@ -277,7 +281,7 @@ msgid ""
"Please, read the license before continuing."
msgstr ""
-#: ../src/dialog.c:904
+#: ../src/dialog.c:922
msgid "Open license"
msgstr ""
@@ -322,7 +326,8 @@ msgstr ""
#. NB could allow columns to be shifted around by doing this after each new
#. gtk_tree_view_column_set_reorderable ( column, TRUE );
#. However I don't think is that useful, so I haven't put it in
-#: ../src/geonamessearch.c:177 ../src/datasource_osm_my_traces.c:425
+#: ../src/geonamessearch.c:177 ../src/datasource_osm_my_traces.c:424
+#: ../src/viktrwlayer_tracklist.c:521
msgid "Name"
msgstr ""
@@ -330,82 +335,192 @@ msgstr ""
msgid "Feature"
msgstr ""
-#: ../src/geonamessearch.c:187 ../src/datasource_osm_my_traces.c:440
+#: ../src/geonamessearch.c:187 ../src/datasource_osm_my_traces.c:439
msgid "Lat/Lon"
msgstr ""
-#: ../src/geonamessearch.c:269 ../src/googlesearch.c:100
+#: ../src/geonamessearch.c:270 ../src/googlesearch.c:100 ../src/vikgoto.c:306
msgid "couldn't map temp file"
msgstr ""
-#: ../src/globals.c:44
+#: ../src/globals.c:73
+msgid "Absolute"
+msgstr ""
+
+#: ../src/globals.c:73
+msgid "Relative"
+msgstr ""
+
+#: ../src/globals.c:76
msgid "Degree format:"
msgstr ""
-#: ../src/globals.c:48
+#: ../src/globals.c:77
msgid "Distance units:"
msgstr ""
-#: ../src/globals.c:52
+#: ../src/globals.c:78
msgid "Speed units:"
msgstr ""
-#: ../src/globals.c:56
+#: ../src/globals.c:79
msgid "Height units:"
msgstr ""
-#: ../src/globals.c:60
+#: ../src/globals.c:80
msgid "Use large waypoint icons:"
msgstr ""
-#: ../src/globals.c:64
+#: ../src/globals.c:81
msgid "Default latitude:"
msgstr ""
-#: ../src/globals.c:67
+#: ../src/globals.c:82
msgid "Default longitude:"
msgstr ""
-#: ../src/globals.c:73
+#: ../src/globals.c:88
msgid "Alphabetical"
msgstr ""
-#: ../src/globals.c:73 ../src/datasource_osm_my_traces.c:435
+#: ../src/globals.c:88 ../src/datasource_osm_my_traces.c:434
msgid "Time"
msgstr ""
-#: ../src/globals.c:76
+#: ../src/globals.c:88
+msgid "Creation"
+msgstr ""
+
+#: ../src/globals.c:89
+msgid "Title Case"
+msgstr ""
+
+#: ../src/globals.c:89
+msgid "Lowercase"
+msgstr ""
+
+#: ../src/globals.c:92
msgid "KML File Export Units:"
msgstr ""
-#: ../src/globals.c:77
+#: ../src/globals.c:93
msgid "GPX Track Order:"
msgstr ""
-#: ../src/globals.c:82
+#: ../src/globals.c:94
+msgid "GPX Waypoint Symbols:"
+msgstr ""
+
+#: ../src/globals.c:95
+msgid ""
+"Save GPX Waypoint Symbol names in the specified case. May be useful for "
+"compatibility with various devices"
+msgstr ""
+
+#: ../src/globals.c:100
msgid "Image Viewer:"
msgstr ""
-#: ../src/globals.c:87
+#: ../src/globals.c:105
msgid "External GPX Program 1:"
msgstr ""
-#: ../src/globals.c:88
+#: ../src/globals.c:106
msgid "External GPX Program 2:"
msgstr ""
+#: ../src/globals.c:110
+msgid "Save File Reference Mode:"
+msgstr ""
+
+#: ../src/globals.c:111
+msgid ""
+"When saving a Viking .vik file, this determines how the directory paths of "
+"filenames are written."
+msgstr ""
+
+#: ../src/globals.c:112
+msgid "Show Tooltip during Track Creation:"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Home Location"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Last Location"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Specified File"
+msgstr ""
+
+#: ../src/globals.c:115
+msgid "Auto Location"
+msgstr ""
+
+#: ../src/globals.c:118
+msgid "Restore Window Setup:"
+msgstr ""
+
+#: ../src/globals.c:119
+msgid "Restore window size and layout"
+msgstr ""
+
+#: ../src/globals.c:120
+msgid "Add a Default Map Layer:"
+msgstr ""
+
+#: ../src/globals.c:121
+msgid ""
+"The default map layer added is defined by the Layer Defaults. Use the menu "
+"Edit->Layer Defaults->Map... to change the map type and other values."
+msgstr ""
+
+#: ../src/globals.c:122
+msgid "Startup Method:"
+msgstr ""
+
+#: ../src/globals.c:123
+msgid "Startup File:"
+msgstr ""
+
+#: ../src/globals.c:124
+msgid ""
+"The default file to load on startup. Only applies when the startup method is "
+"set to 'Specified File'"
+msgstr ""
+
+#: ../src/globals.c:125
+msgid "Check For New Version:"
+msgstr ""
+
+#: ../src/globals.c:126
+msgid "Periodically check to see if a new version of Viking is available"
+msgstr ""
+
#. Defaults for the options are setup here
-#: ../src/globals.c:96
+#: ../src/globals.c:163
msgid "General"
msgstr ""
#. New Tab
-#: ../src/globals.c:121
+#: ../src/globals.c:188
+msgid "Startup"
+msgstr ""
+
+#. New Tab
+#: ../src/globals.c:206
msgid "Export/External"
msgstr ""
+#. 'Advanced' Properties
+#: ../src/globals.c:230
+msgid "Advanced"
+msgstr ""
+
#. Webtools
-#: ../src/google.c:36
+#: ../src/google.c:38
msgid "Google"
msgstr ""
@@ -418,24 +533,24 @@ msgid "Imported file"
msgstr ""
#. The file selector
-#: ../src/datasource_file.c:133
+#: ../src/datasource_file.c:127
msgid "File:"
msgstr ""
-#: ../src/datasource_file.c:134
+#: ../src/datasource_file.c:128
msgid "File to import"
msgstr ""
-#: ../src/datasource_file.c:141
+#: ../src/datasource_file.c:135
msgid "All files"
msgstr ""
#. The file format selector
-#: ../src/datasource_file.c:148
+#: ../src/datasource_file.c:142
msgid "File type:"
msgstr ""
-#: ../src/datasource_file.c:193
+#: ../src/datasource_file.c:184
#, c-format
msgid "using babel args '%s' and file '%s'"
msgstr ""
@@ -448,29 +563,29 @@ msgstr "下載 Geocaches"
msgid "Geocaching.com Caches"
msgstr "Geocaching.com 緩衝區"
-#: ../src/datasource_gc.c:84
+#: ../src/datasource_gc.c:85
msgid "geocaching.com username:"
msgstr "geocaching.com 用户名:"
-#: ../src/datasource_gc.c:85
+#: ../src/datasource_gc.c:86
msgid "geocaching.com password:"
msgstr "geocaching.com 密碼:"
-#: ../src/datasource_gc.c:126
+#: ../src/datasource_gc.c:127
#, c-format
msgid ""
"Can't find %s or %s in path! Check that you have installed it correctly."
msgstr ""
-#: ../src/datasource_gc.c:188
+#: ../src/datasource_gc.c:189
msgid "Number geocaches:"
msgstr ""
-#: ../src/datasource_gc.c:190
+#: ../src/datasource_gc.c:191
msgid "Centered around:"
msgstr ""
-#: ../src/datasource_gc.c:226
+#: ../src/datasource_gc.c:230
msgid "Broken input - using some defaults"
msgstr ""
@@ -482,116 +597,107 @@ msgstr ""
msgid "Geotagged Images"
msgstr ""
-#: ../src/datasource_geotag.c:102 ../src/vikwindow.c:2314
-#: ../src/vikwindow.c:2382 ../src/vikwindow.c:2824
+#: ../src/datasource_geotag.c:102 ../src/vikwindow.c:2655
+#: ../src/vikwindow.c:2729 ../src/vikwindow.c:3380
msgid "All"
msgstr ""
-#: ../src/datasource_geotag.c:107 ../src/vikwindow.c:2829
+#: ../src/datasource_geotag.c:107 ../src/vikwindow.c:3385
msgid "JPG"
msgstr ""
-#: ../src/datasource_geotag.c:165
+#: ../src/datasource_geotag.c:168
#, c-format
msgid "Unable to create waypoint from %s"
msgstr ""
-#: ../src/datasource_google.c:49 ../src/datasource_google.c:50
-msgid "Google Directions"
-msgstr "Google 方位"
-
-#: ../src/datasource_google.c:77
-msgid "From:"
-msgstr "從 :"
-
-#: ../src/datasource_google.c:79
-msgid "To:"
-msgstr "至 :"
-
-#: ../src/datasource_gps.c:57
+#: ../src/datasource_gps.c:54
msgid "Acquire from GPS"
msgstr "從GPS抓取"
-#: ../src/datasource_gps.c:58
+#: ../src/datasource_gps.c:55
msgid "Acquired from GPS"
msgstr "已從GPS抓取的"
-#: ../src/datasource_gps.c:221
+#: ../src/datasource_gps.c:245
#, c-format
msgid "using cmdline '%s' and file '%s'\n"
msgstr "使用指令行 '%s' 和檔案 '%s'\n"
-#: ../src/datasource_gps.c:297 ../src/vikgpslayer.c:884
+#: ../src/datasource_gps.c:327 ../src/vikgpslayer.c:934
#, c-format
msgid "Downloading %d waypoint..."
msgid_plural "Downloading %d waypoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/datasource_gps.c:298 ../src/vikgpslayer.c:885
+#: ../src/datasource_gps.c:328 ../src/vikgpslayer.c:935
#, c-format
msgid "Downloading %d trackpoint..."
msgid_plural "Downloading %d trackpoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/datasource_gps.c:303 ../src/vikgpslayer.c:890
+#: ../src/datasource_gps.c:333 ../src/vikgpslayer.c:940
#, c-format
msgid "Downloading %d routepoint..."
msgid_plural "Downloading %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/datasource_gps.c:325 ../src/datasource_gps.c:326
-#: ../src/datasource_gps.c:327
+#: ../src/datasource_gps.c:355 ../src/datasource_gps.c:356
+#: ../src/datasource_gps.c:357
#, c-format
msgid "Downloaded %d out of %d %s..."
msgstr ""
-#: ../src/datasource_gps.c:331 ../src/datasource_gps.c:332
-#: ../src/datasource_gps.c:333
+#: ../src/datasource_gps.c:361 ../src/datasource_gps.c:362
+#: ../src/datasource_gps.c:363
#, c-format
msgid "Downloaded %d %s."
msgstr ""
-#: ../src/datasource_gps.c:347 ../src/vikgpslayer.c:968
+#: ../src/datasource_gps.c:377 ../src/vikgpslayer.c:1018
#, c-format
msgid "GPS Device: %s"
msgstr "GPS裝置: %s"
-#: ../src/datasource_gps.c:370 ../src/vikgpslayer.c:1042
-#: ../src/vikgpslayer.c:1110
+#: ../src/datasource_gps.c:400 ../src/vikgpslayer.c:1092
+#: ../src/vikgpslayer.c:1160
msgid "Status: Working..."
msgstr ""
-#: ../src/datasource_gps.c:469 ../src/vikgpslayer.c:150
+#. NB gps_layer_inst_init() is performed after parameter registeration
+#. thus to give the protocols some potential values use the old static list
+#. TODO: find another way to use gps_layer_inst_init()?
+#: ../src/datasource_gps.c:500 ../src/vikgpslayer.c:207
msgid "GPS Protocol:"
msgstr "GPS 協定:"
-#. List now assigned at runtime
-#: ../src/datasource_gps.c:488 ../src/vikgpslayer.c:151
+#. List reassigned at runtime
+#: ../src/datasource_gps.c:526 ../src/vikgpslayer.c:208
msgid "Serial Port:"
msgstr "序列埠:"
-#: ../src/datasource_gps.c:509
+#: ../src/datasource_gps.c:576
msgid ""
"Turn Off After Transfer\n"
"(Garmin/NAViLink Only)"
msgstr ""
-#: ../src/datasource_gps.c:512
+#: ../src/datasource_gps.c:583
msgid "Tracks:"
msgstr ""
-#: ../src/datasource_gps.c:516
+#: ../src/datasource_gps.c:590
msgid "Routes:"
msgstr ""
-#: ../src/datasource_gps.c:520
+#: ../src/datasource_gps.c:597
msgid "Waypoints:"
msgstr ""
-#: ../src/datasource_gps.c:594 ../src/vikgpslayer.c:1305
+#: ../src/datasource_gps.c:675 ../src/vikgpslayer.c:1355
msgid "GPS device: N/A"
msgstr "GPS裝置: 無"
@@ -599,39 +705,39 @@ msgstr "GPS裝置: 無"
msgid "OSM traces"
msgstr ""
-#: ../src/datasource_osm.c:80
+#: ../src/datasource_osm.c:82
msgid "Page number:"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:63 ../src/datasource_osm_my_traces.c:64
+#: ../src/datasource_osm_my_traces.c:59 ../src/datasource_osm_my_traces.c:60
msgid "OSM My Traces"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:108
+#: ../src/datasource_osm_my_traces.c:104
msgid "Username:"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:113
+#: ../src/datasource_osm_my_traces.c:109
msgid "The email or username used to login to OSM"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:115 ../src/osm-traces.c:413
+#: ../src/datasource_osm_my_traces.c:111 ../src/osm-traces.c:421
msgid "Password:"
msgstr "密碼:"
-#: ../src/datasource_osm_my_traces.c:120
+#: ../src/datasource_osm_my_traces.c:114
msgid "The password used to login to OSM"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:430
+#: ../src/datasource_osm_my_traces.c:429
msgid "Description"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:445
+#: ../src/datasource_osm_my_traces.c:444
msgid "Privacy"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:452
+#: ../src/datasource_osm_my_traces.c:451
msgid "Within Current View"
msgstr ""
@@ -643,15 +749,33 @@ msgstr ""
msgid "None found!"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:629
+#: ../src/datasource_osm_my_traces.c:634
msgid "My OSM Traces"
msgstr ""
-#: ../src/datasource_osm_my_traces.c:645
+#: ../src/datasource_osm_my_traces.c:649
#, c-format
msgid "Unable to get trace: %s"
msgstr ""
+#: ../src/datasource_routing.c:53 ../src/datasource_routing.c:54
+msgid "Directions"
+msgstr ""
+
+#. Engine selector
+#: ../src/datasource_routing.c:83
+msgid "Engine:"
+msgstr ""
+
+#. From and To entries
+#: ../src/datasource_routing.c:88
+msgid "From:"
+msgstr "從 :"
+
+#: ../src/datasource_routing.c:90
+msgid "To:"
+msgstr "至 :"
+
#: ../src/datasource_wikipedia.c:32
msgid "Create Waypoints from Wikipedia Articles"
msgstr ""
@@ -672,174 +796,185 @@ msgstr ""
msgid "Incorrect DEM Class B record: expected 1"
msgstr ""
-#: ../src/dem.c:360
+#: ../src/dem.c:288 ../src/download.c:170
#, c-format
msgid "Couldn't map file %s: %s"
msgstr ""
-#: ../src/download.c:112
-msgid "Tile age (s):"
+#: ../src/download.c:130
+msgid "Tile age (days):"
msgstr ""
-#: ../src/download.c:233
+#: ../src/download.c:321
#, c-format
msgid "Download error: %s"
msgstr "下載錯誤: %s"
-#: ../src/download.c:313
+#: ../src/download.c:404
msgid "couldn't open temp file"
msgstr "無法開啟暫存檔"
-#: ../src/file.c:456 ../src/file.c:461
+#: ../src/file.c:451 ../src/file.c:456
#, c-format
msgid "Draw mode '%s' no more supported"
msgstr ""
-#: ../src/geotag_exif.c:433
+#: ../src/geotag_exif.c:421
msgid "Not enough memory."
msgstr ""
-#: ../src/geotag_exif.c:451
+#: ../src/geotag_exif.c:439
msgid "Setting a value for this tag is unsupported!"
msgstr ""
-#: ../src/geotag_exif.c:470
+#: ../src/geotag_exif.c:458
#, c-format
msgid "Too few components specified (need %d, found %d)\n"
msgstr ""
-#: ../src/geotag_exif.c:474
+#: ../src/geotag_exif.c:462
msgid "Numeric value expected\n"
msgstr ""
-#: ../src/geotag_exif.c:482
+#: ../src/geotag_exif.c:470
msgid "This shouldn't happen!"
msgstr ""
-#: ../src/geotag_exif.c:552
+#: ../src/geotag_exif.c:540
msgid "Not yet implemented!"
msgstr ""
-#: ../src/geotag_exif.c:565
+#: ../src/geotag_exif.c:553
msgid "Warning; Too many components specified!"
msgstr ""
-#: ../src/osm-traces.c:73
+#: ../src/osm-traces.c:76
msgid "Identifiable (public w/ timestamps)"
msgstr ""
-#: ../src/osm-traces.c:74
+#: ../src/osm-traces.c:77
msgid "Trackable (private w/ timestamps)"
msgstr ""
-#: ../src/osm-traces.c:75
+#: ../src/osm-traces.c:78
msgid "Public"
msgstr "Public"
-#: ../src/osm-traces.c:76
+#: ../src/osm-traces.c:79
msgid "Private"
msgstr ""
-#: ../src/osm-traces.c:93
+#: ../src/osm-traces.c:97
msgid "OSM username:"
msgstr ""
-#: ../src/osm-traces.c:94
+#: ../src/osm-traces.c:98
msgid "OSM password:"
msgstr ""
#. Preferences
-#: ../src/osm-traces.c:151
+#: ../src/osm-traces.c:155
msgid "OpenStreetMap Traces"
msgstr ""
-#: ../src/osm-traces.c:234
+#: ../src/osm-traces.c:238
#, c-format
msgid "failed to upload data: HTTP response is %ld"
msgstr ""
-#: ../src/osm-traces.c:239
+#: ../src/osm-traces.c:243
#, c-format
msgid "curl_easy_getinfo failed: %d"
msgstr ""
-#: ../src/osm-traces.c:244
+#: ../src/osm-traces.c:248
#, c-format
msgid "curl request failed: %s"
msgstr ""
-#: ../src/osm-traces.c:275
+#: ../src/osm-traces.c:279
#, c-format
msgid "failed to open temporary file: %s"
msgstr ""
#. Success
-#: ../src/osm-traces.c:328
+#: ../src/osm-traces.c:340
msgid "Uploaded to OSM"
msgstr ""
-#: ../src/osm-traces.c:332
+#: ../src/osm-traces.c:344
msgid "FAILED TO UPLOAD DATA TO OSM - CURL PROBLEM"
msgstr ""
-#: ../src/osm-traces.c:335
+#: ../src/osm-traces.c:347
msgid "FAILED TO UPLOAD DATA TO OSM"
msgstr ""
-#: ../src/osm-traces.c:335
+#: ../src/osm-traces.c:347
msgid "HTTP response code"
msgstr ""
-#: ../src/osm-traces.c:348
+#: ../src/osm-traces.c:355
#, c-format
msgid "failed to unlink temporary file: %s"
msgstr ""
-#: ../src/osm-traces.c:387
+#: ../src/osm-traces.c:394
msgid "OSM upload"
msgstr ""
-#: ../src/osm-traces.c:405
+#: ../src/osm-traces.c:413
msgid "Email:"
msgstr "電子郵箱 :"
-#: ../src/osm-traces.c:410
+#: ../src/osm-traces.c:418
msgid ""
"The email used as login\n"
"<small>Enter the email you use to login into www.openstreetmap.org.</small>"
msgstr ""
-#: ../src/osm-traces.c:418
+#: ../src/osm-traces.c:426
msgid ""
"The password used to login\n"
"<small>Enter the password you use to login into "
"www.openstreetmap.org.</small>"
msgstr ""
-#: ../src/osm-traces.c:423
+#: ../src/osm-traces.c:431
msgid "File's name:"
msgstr "檔名稱:"
-#: ../src/osm-traces.c:433
+#: ../src/osm-traces.c:441
msgid ""
"The name of the file on OSM\n"
"<small>This is the name of the file created on the server.This is not the "
"name of the local file.</small>"
msgstr ""
-#: ../src/osm-traces.c:442
+#: ../src/osm-traces.c:450
msgid "The description of the trace"
msgstr ""
-#: ../src/osm-traces.c:444
+#: ../src/osm-traces.c:453
+msgid "Anonymize Times:"
+msgstr ""
+
+#: ../src/osm-traces.c:458
+msgid ""
+"Anonymize times of the trace.\n"
+"<small>You may choose to make the trace identifiable, yet mask the actual "
+"real time values</small>"
+msgstr ""
+
+#: ../src/osm-traces.c:462
msgid "Tags:"
msgstr ""
-#: ../src/osm-traces.c:449
+#: ../src/osm-traces.c:467
msgid "The tags associated to the trace"
msgstr ""
-#: ../src/osm-traces.c:482
+#: ../src/osm-traces.c:529
#, c-format
msgid "Uploading %s to OSM"
msgstr "上傳 %s 到 OSM"
@@ -848,69 +983,88 @@ msgstr "上傳 %s 到 OSM"
msgid "Map cache memory size (MB):"
msgstr ""
-#: ../src/print.c:53
+#: ../src/print.c:51 ../src/viktrwlayer.c:509
msgid "None"
msgstr "無"
-#: ../src/print.c:54
+#: ../src/print.c:52
msgid "Horizontally"
msgstr "水平的"
-#: ../src/print.c:55
+#: ../src/print.c:53
msgid "Vertically"
msgstr "垂直的"
-#: ../src/print.c:56
+#: ../src/print.c:54
msgid "Both"
msgstr ""
-#: ../src/print.c:120
+#: ../src/print.c:118
msgid "Image Settings"
msgstr "影像設定"
-#: ../src/print.c:546
+#: ../src/print.c:548
msgid "done"
msgstr "完成"
#. Page Size
-#: ../src/print.c:575
+#: ../src/print.c:577
msgid "_Adjust Page Size and Orientation"
msgstr ""
-#: ../src/print.c:591
+#: ../src/print.c:593
msgid "C_enter:"
msgstr "C_entrer :"
#. ignore page margins
-#: ../src/print.c:609
+#: ../src/print.c:611
msgid "Ignore Page _Margins"
msgstr ""
-#: ../src/print.c:628
+#: ../src/print.c:630
msgid "Image S_ize:"
msgstr ""
-#: ../src/util.c:81
-msgid "Could not launch web browser."
+#: ../src/util.c:65
+#, c-format
+msgid "Could not launch web browser. %s"
msgstr ""
-#: ../src/util.c:92
-msgid "Could not create new email."
+#: ../src/util.c:76
+#, c-format
+msgid "Could not create new email. %s"
msgstr ""
-#: ../src/vikcoordlayer.c:46
+#: ../src/util.c:177
+#, c-format
+msgid ""
+"There is a newer version of Viking available: %s\n"
+"\n"
+"Do you wish to go to Viking's website now?"
+msgstr ""
+
+#: ../src/util.c:304
+msgid ""
+"This appears to be Viking's very first run.\n"
+"\n"
+"Do you wish to enable automatic internet features?\n"
+"\n"
+"Individual settings can be controlled in the Preferences."
+msgstr ""
+
+#: ../src/vikcoordlayer.c:57
msgid "Color:"
msgstr ""
-#: ../src/vikcoordlayer.c:47
+#: ../src/vikcoordlayer.c:58
msgid "Minutes Width:"
msgstr ""
-#: ../src/vikcoordlayer.c:48
+#: ../src/vikcoordlayer.c:59
msgid "Line Thickness:"
msgstr ""
-#: ../src/vikcoordlayer.c:56
+#: ../src/vikcoordlayer.c:66
msgid "Coordinate"
msgstr ""
@@ -946,62 +1100,130 @@ msgstr ""
msgid "Polygonzied Layer"
msgstr ""
-#: ../src/main.c:89
+#: ../src/main.c:92
#, c-format
msgid "Ignoring Xlib error: error code %d request code %d\n"
msgstr ""
-#: ../src/main.c:102
+#: ../src/main.c:105
msgid "Enable debug output"
msgstr ""
-#: ../src/main.c:103
+#: ../src/main.c:106
msgid "Enable verbose output"
msgstr ""
-#: ../src/main.c:104
+#: ../src/main.c:107
msgid "Show version"
msgstr "察看版本"
-#: ../src/osm.c:106
+#: ../src/osm.c:99
msgid "On Disk OSM Tile Format"
msgstr ""
-#: ../src/osm.c:121
+#: ../src/osm.c:113
msgid "OSM (view)"
msgstr ""
-#: ../src/osm.c:125
+#: ../src/osm.c:117
msgid "OSM (edit)"
msgstr ""
-#: ../src/osm.c:129
+#: ../src/osm.c:121
msgid "OSM (render)"
msgstr ""
#. Example: http://127.0.0.1:8111/load_and_zoom?left=8.19&right=8.20&top=48.605&bottom=48.590&select=node413602999
#. JOSM or merkaartor must already be running with remote interface enabled
-#: ../src/osm.c:136
+#: ../src/osm.c:128
msgid "Local port 8111 (eg JOSM)"
msgstr ""
-#: ../src/preferences.c:285
+#: ../src/osm.c:134
+msgid "OpenStreetMap Notes"
+msgstr ""
+
+#: ../src/osm.c:138
+msgid "OpenStreetBugs"
+msgstr ""
+
+#. Not really OSM but can't be bothered to create somewhere else to put it...
+#: ../src/osm.c:164
+msgid "Wikimedia Toolserver GeoHack"
+msgstr ""
+
+#: ../src/preferences.c:191
msgid "Preferences"
msgstr ""
-#: ../src/uibuilder.c:147
+#: ../src/viklayer_defaults.c:232
+#, c-format
+msgid "Could not open file: %s"
+msgstr ""
+
+#: ../src/viklayer_defaults.c:303
+msgid "Layer Defaults"
+msgstr ""
+
+#: ../src/uibuilder.c:185
msgid "Take care that this password will be stored clearly in a plain file."
msgstr ""
-#: ../src/vikaggregatelayer.c:37
+#: ../src/vikaggregatelayer.c:42
msgid "Aggregate"
msgstr ""
-#: ../src/vikdemlayer.c:101
+#. VikLayersPanel *vlp = VIK_LAYERS_PANEL(lav[1]);
+#: ../src/vikaggregatelayer.c:484 ../src/viktrwlayer.c:10238
+#, c-format
+msgid "%s: Track and Route List"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:529 ../src/viktrwlayer.c:7354
+#: ../src/viktrwlayer.c:7420 ../src/viktrwlayer.c:7498
+msgid "_Visibility"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:534
+msgid "_Show All"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:540
+msgid "_Hide All"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:546 ../src/viktrwlayer.c:7371
+#: ../src/viktrwlayer.c:7437 ../src/viktrwlayer.c:7515
+msgid "_Toggle"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:553 ../src/viktrwlayer.c:7536
+msgid "_Sort"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:559 ../src/viktrwlayer.c:7542
+msgid "Name _Ascending"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:565 ../src/viktrwlayer.c:7548
+msgid "Name _Descending"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:571 ../src/viktrwlayer.c:7449
+#: ../src/viktrwlayer.c:7527 ../src/viktrwlayer.c:7587
+#: ../src/viktrwlayer_tracklist.c:237
+msgid "_Statistics"
+msgstr ""
+
+#: ../src/vikaggregatelayer.c:576 ../src/viktrwlayer.c:3971
+msgid "Track _List..."
+msgstr ""
+
+#: ../src/vikdemlayer.c:92
msgid "Absolute height"
msgstr ""
-#: ../src/vikdemlayer.c:102
+#: ../src/vikdemlayer.c:93
msgid "Height gradient"
msgstr ""
@@ -1041,25 +1263,52 @@ msgstr ""
msgid "DEM"
msgstr ""
-#: ../src/vikdemlayer.c:284
+#: ../src/vikdemlayer.c:287
#, c-format
msgid "Number of files: %d"
msgstr ""
-#: ../src/vikdemlayer.c:385
+#: ../src/vikdemlayer.c:427
msgid "DEM Loading"
msgstr ""
-#: ../src/vikdemlayer.c:889
+#: ../src/vikdemlayer.c:937
#, c-format
msgid "No SRTM data available for %f, %f"
msgstr "没有可以的SRTM資料給 %f, %f"
-#: ../src/vikdemlayer.c:1149
+#. Probably not over any land...
+#: ../src/vikdemlayer.c:1193
+msgid "No DEM File Available"
+msgstr ""
+
+#: ../src/vikdemlayer.c:1212
+#, c-format
+msgid ""
+"\n"
+"Source: %s\n"
+"\n"
+"DEM File: %s\n"
+"DEM File Timestamp: %s"
+msgstr ""
+
+#: ../src/vikdemlayer.c:1216
+#, c-format
+msgid ""
+"Source: %s\n"
+"\n"
+"No DEM File!"
+msgstr ""
+
+#: ../src/vikdemlayer.c:1256
#, c-format
msgid "Downloading DEM %s"
msgstr "正在下載 DEM %s"
+#: ../src/vikdemlayer.c:1280
+msgid "_Show DEM File Information"
+msgstr ""
+
#: ../src/vikfileentry.c:68
msgid "Browse..."
msgstr "瀏覧 ..."
@@ -1080,248 +1329,266 @@ msgstr "添加 ..."
msgid "Delete"
msgstr "移除"
-#: ../src/vikgeoreflayer.c:70
+#: ../src/vikgeoreflayer.c:78
msgid "_Georef Move Map"
msgstr ""
-#: ../src/vikgeoreflayer.c:70
+#: ../src/vikgeoreflayer.c:78
msgid "Georef Move Map"
msgstr ""
-#: ../src/vikgeoreflayer.c:77
+#: ../src/vikgeoreflayer.c:85
msgid "Georef Z_oom Tool"
msgstr ""
-#: ../src/vikgeoreflayer.c:77
+#: ../src/vikgeoreflayer.c:85
msgid "Georef Zoom Tool"
msgstr ""
-#: ../src/vikgeoreflayer.c:87
+#: ../src/vikgeoreflayer.c:95
msgid "GeoRef Map"
msgstr ""
-#: ../src/vikgeoreflayer.c:335 ../src/vikmapslayer.c:685
+#: ../src/vikgeoreflayer.c:377 ../src/vikmapslayer.c:720
#, c-format
msgid "Couldn't open image file: %s"
msgstr ""
-#: ../src/vikgeoreflayer.c:365
+#: ../src/vikgeoreflayer.c:391
+msgid ""
+"GeoRef map cannot be displayed in the current drawmode.\n"
+"Select \"UTM Mode\" from View menu to view it."
+msgstr ""
+
+#: ../src/vikgeoreflayer.c:415
msgid "Unexpected end of file reading World file."
msgstr ""
-#: ../src/vikgeoreflayer.c:381 ../src/vikgeoreflayer.c:426
+#: ../src/vikgeoreflayer.c:431 ../src/vikgeoreflayer.c:476
msgid "Choose World file"
msgstr ""
-#: ../src/vikgeoreflayer.c:394
+#: ../src/vikgeoreflayer.c:444
msgid "The World file you requested could not be opened for reading."
msgstr ""
-#: ../src/vikgeoreflayer.c:439
+#: ../src/vikgeoreflayer.c:489
msgid "The file you requested could not be opened for writing."
msgstr ""
-#: ../src/vikgeoreflayer.c:456 ../src/viklayer.c:480
+#: ../src/vikgeoreflayer.c:506 ../src/viklayer.c:518
msgid "Layer Properties"
msgstr ""
-#: ../src/vikgeoreflayer.c:478
+#: ../src/vikgeoreflayer.c:528
msgid "World File Parameters:"
msgstr ""
-#: ../src/vikgeoreflayer.c:479
+#: ../src/vikgeoreflayer.c:529
msgid "Load From File..."
msgstr ""
-#: ../src/vikgeoreflayer.c:484
+#: ../src/vikgeoreflayer.c:534
msgid "Corner pixel easting:"
msgstr ""
-#: ../src/vikgeoreflayer.c:486
-msgid "the UTM \"easting\" value of the upper-right corner pixel of the map"
+#: ../src/vikgeoreflayer.c:536
+msgid "the UTM \"easting\" value of the upper-left corner pixel of the map"
msgstr ""
-#: ../src/vikgeoreflayer.c:488
+#: ../src/vikgeoreflayer.c:538
msgid "Corner pixel northing:"
msgstr ""
-#: ../src/vikgeoreflayer.c:490
-msgid "the UTM \"northing\" value of the upper-right corner pixel of the map"
+#: ../src/vikgeoreflayer.c:540
+msgid "the UTM \"northing\" value of the upper-left corner pixel of the map"
msgstr ""
-#: ../src/vikgeoreflayer.c:492
+#: ../src/vikgeoreflayer.c:542
msgid "X (easting) scale (mpp): "
msgstr ""
-#: ../src/vikgeoreflayer.c:493
+#: ../src/vikgeoreflayer.c:543
msgid "Y (northing) scale (mpp): "
msgstr ""
-#: ../src/vikgeoreflayer.c:496
+#: ../src/vikgeoreflayer.c:546
msgid "the scale of the map in the X direction (meters per pixel)"
msgstr ""
-#: ../src/vikgeoreflayer.c:498
+#: ../src/vikgeoreflayer.c:548
msgid "the scale of the map in the Y direction (meters per pixel)"
msgstr ""
-#: ../src/vikgeoreflayer.c:500
+#: ../src/vikgeoreflayer.c:550
msgid "Map Image:"
msgstr "地圖圖片:"
#. Now with icons
-#: ../src/vikgeoreflayer.c:608
+#: ../src/vikgeoreflayer.c:658
msgid "_Zoom to Fit Map"
msgstr ""
-#: ../src/vikgeoreflayer.c:614
+#: ../src/vikgeoreflayer.c:664
msgid "_Goto Map Center"
msgstr ""
-#: ../src/vikgeoreflayer.c:620
+#: ../src/vikgeoreflayer.c:670
msgid "_Export to World File"
msgstr ""
-#: ../src/vikgoto.c:75
+#: ../src/vikgoto.c:81
msgid "No goto tool available."
msgstr ""
-#: ../src/vikgoto.c:88 ../src/vikgoto.c:107
+#: ../src/vikgoto.c:94 ../src/vikgoto.c:148
msgid "goto"
msgstr ""
-#: ../src/vikgoto.c:90
+#: ../src/vikgoto.c:96
msgid "I don't know that place. Do you want another goto?"
msgstr ""
-#: ../src/vikgoto.c:109
+#: ../src/vikgoto.c:150
msgid "goto provider:"
msgstr ""
-#: ../src/vikgoto.c:124
+#: ../src/vikgoto.c:165
msgid "Enter address or place name:"
msgstr "匯入位址或者地點名稱:"
-#: ../src/vikgpslayer.c:127
+#: ../src/vikgoto.c:363
+msgid "Locality"
+msgstr ""
+
+#: ../src/vikgpslayer.c:128
msgid "Data Mode"
msgstr ""
-#: ../src/vikgpslayer.c:129
+#: ../src/vikgpslayer.c:130
msgid "Realtime Tracking Mode"
msgstr ""
-#: ../src/vikgpslayer.c:137
+#: ../src/vikgpslayer.c:167
msgid "Keep vehicle at center"
msgstr ""
-#: ../src/vikgpslayer.c:138
+#: ../src/vikgpslayer.c:168
msgid "Keep vehicle on screen"
msgstr ""
-#: ../src/vikgpslayer.c:139
+#: ../src/vikgpslayer.c:169
msgid "Disable"
msgstr ""
-#: ../src/vikgpslayer.c:152
+#: ../src/vikgpslayer.c:209
msgid "Download Tracks:"
msgstr ""
-#: ../src/vikgpslayer.c:153
+#: ../src/vikgpslayer.c:210
msgid "Upload Tracks:"
msgstr ""
-#: ../src/vikgpslayer.c:154
+#: ../src/vikgpslayer.c:211
msgid "Download Routes:"
msgstr ""
-#: ../src/vikgpslayer.c:155
+#: ../src/vikgpslayer.c:212
msgid "Upload Routes:"
msgstr ""
-#: ../src/vikgpslayer.c:156
+#: ../src/vikgpslayer.c:213
msgid "Download Waypoints:"
msgstr ""
-#: ../src/vikgpslayer.c:157
+#: ../src/vikgpslayer.c:214
msgid "Upload Waypoints:"
msgstr ""
-#: ../src/vikgpslayer.c:159
+#: ../src/vikgpslayer.c:216
msgid "Recording tracks"
msgstr "正在紀録軌迹"
-#: ../src/vikgpslayer.c:160
+#: ../src/vikgpslayer.c:217
msgid "Jump to current position on start"
msgstr "在開始時跳到目前位置"
-#: ../src/vikgpslayer.c:161
+#: ../src/vikgpslayer.c:218
msgid "Moving Map Method:"
msgstr ""
-#: ../src/vikgpslayer.c:162
+#: ../src/vikgpslayer.c:219
+msgid "Update Statusbar:"
+msgstr ""
+
+#: ../src/vikgpslayer.c:219
+msgid "Display information in the statusbar on GPS updates"
+msgstr ""
+
+#: ../src/vikgpslayer.c:220
msgid "Gpsd Host:"
msgstr "Gpsd 主機:"
-#: ../src/vikgpslayer.c:163
+#: ../src/vikgpslayer.c:221
msgid "Gpsd Port:"
msgstr "Gpsd 通訊埠:"
-#: ../src/vikgpslayer.c:164
+#: ../src/vikgpslayer.c:222
msgid "Gpsd Retry Interval (seconds):"
msgstr ""
-#: ../src/vikgpslayer.c:179
+#: ../src/vikgpslayer.c:243
msgid "GPS"
msgstr ""
-#: ../src/vikgpslayer.c:242 ../src/vikgpslayer.c:1258
+#: ../src/vikgpslayer.c:306 ../src/vikgpslayer.c:1308
msgid "GPS Download"
msgstr "GPS 下載"
-#: ../src/vikgpslayer.c:242 ../src/vikgpslayer.c:1258
-#: ../src/viktrwlayer.c:3094
+#: ../src/vikgpslayer.c:306 ../src/vikgpslayer.c:1308
+#: ../src/viktrwlayer.c:3480
msgid "GPS Upload"
msgstr "GPS 上傳"
-#: ../src/vikgpslayer.c:244
+#: ../src/vikgpslayer.c:308
msgid "GPS Realtime Tracking"
msgstr "GPS實時追蹤"
-#: ../src/vikgpslayer.c:451
+#: ../src/vikgpslayer.c:517
msgid "Unknown GPS Protocol"
msgstr "未知的GPS協定"
-#: ../src/vikgpslayer.c:469
+#: ../src/vikgpslayer.c:535
msgid "Unknown serial port device"
msgstr "未知的序列埠裝置"
-#: ../src/vikgpslayer.c:572
+#: ../src/vikgpslayer.c:648
#, c-format
msgid "%s: unknown parameter"
msgstr "%s: 未知的引數"
#. Now with icons
-#: ../src/vikgpslayer.c:693
+#: ../src/vikgpslayer.c:743
msgid "_Upload to GPS"
msgstr ""
-#: ../src/vikgpslayer.c:699
+#: ../src/vikgpslayer.c:749
msgid "Download from _GPS"
msgstr ""
-#: ../src/vikgpslayer.c:720
+#: ../src/vikgpslayer.c:770
msgid "Empty _Realtime"
msgstr ""
-#: ../src/vikgpslayer.c:727
+#: ../src/vikgpslayer.c:777
msgid "E_mpty Upload"
msgstr ""
-#: ../src/vikgpslayer.c:733
+#: ../src/vikgpslayer.c:783
msgid "_Empty Download"
msgstr ""
-#: ../src/vikgpslayer.c:739
+#: ../src/vikgpslayer.c:789
msgid "Empty _All"
msgstr ""
@@ -1330,232 +1597,230 @@ msgstr ""
#. This happens when copied GPS layer is deleted (not sure why the number_handlers would be 2)
#. I don't think there's any side effects and certainly better than the program just aborting
#.
-#: ../src/vikgpslayer.c:756
+#: ../src/vikgpslayer.c:806
#, c-format
msgid "Unexpected number of disconnected handlers: %d"
msgstr ""
-#: ../src/vikgpslayer.c:898
+#: ../src/vikgpslayer.c:948
#, c-format
msgid "Uploading %d waypoint..."
msgid_plural "Uploading %d waypoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:899
+#: ../src/vikgpslayer.c:949
#, c-format
msgid "Uploading %d trackpoint..."
msgid_plural "Uploading %d trackpoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:900
+#: ../src/vikgpslayer.c:950
#, c-format
msgid "Uploading %d routepoint..."
msgid_plural "Uploading %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:925
+#: ../src/vikgpslayer.c:975
#, c-format
msgid "Downloaded %d out of %d waypoint..."
msgid_plural "Downloaded %d out of %d waypoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:926
+#: ../src/vikgpslayer.c:976
#, c-format
msgid "Downloaded %d out of %d trackpoint..."
msgid_plural "Downloaded %d out of %d trackpoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:927
+#: ../src/vikgpslayer.c:977
#, c-format
msgid "Downloaded %d out of %d routepoint..."
msgid_plural "Downloaded %d out of %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:932
+#: ../src/vikgpslayer.c:982
#, c-format
msgid "Uploaded %d out of %d waypoint..."
msgid_plural "Uploaded %d out of %d waypoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:933
+#: ../src/vikgpslayer.c:983
#, c-format
msgid "Uploaded %d out of %d trackpoint..."
msgid_plural "Uploaded %d out of %d trackpoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:934
+#: ../src/vikgpslayer.c:984
#, c-format
msgid "Uploaded %d out of %d routepoint..."
msgid_plural "Uploaded %d out of %d routepoints..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:942
+#: ../src/vikgpslayer.c:992
#, c-format
msgid "Downloaded %d waypoint"
msgid_plural "Downloaded %d waypoints"
msgstr[0] "下載的 %d 航點"
-#: ../src/vikgpslayer.c:943
+#: ../src/vikgpslayer.c:993
#, c-format
msgid "Downloaded %d trackpoint"
msgid_plural "Downloaded %d trackpoints"
msgstr[0] "下載的 %d 軌迹點"
-#: ../src/vikgpslayer.c:944
+#: ../src/vikgpslayer.c:994
#, c-format
msgid "Downloaded %d routepoint"
msgid_plural "Downloaded %d routepoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:949
+#: ../src/vikgpslayer.c:999
#, c-format
msgid "Uploaded %d waypoint"
msgid_plural "Uploaded %d waypoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:950
+#: ../src/vikgpslayer.c:1000
#, c-format
msgid "Uploaded %d trackpoint"
msgid_plural "Uploaded %d trackpoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:951
+#: ../src/vikgpslayer.c:1001
#, c-format
msgid "Uploaded %d routepoint"
msgid_plural "Uploaded %d routepoints"
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikgpslayer.c:1180
+#: ../src/vikgpslayer.c:1230
msgid "Error: couldn't find gpsbabel."
msgstr "錯誤: 没有發現 gpsbabel."
-#: ../src/vikgpslayer.c:1269
+#: ../src/vikgpslayer.c:1319
msgid "Warning - GPS Upload items may overwrite each other"
msgstr ""
-#: ../src/vikgpslayer.c:1301
+#: ../src/vikgpslayer.c:1351
msgid "Status: detecting gpsbabel"
msgstr "狀態 : 偵測 gpsbabel"
-#: ../src/vikgpslayer.c:1332
+#: ../src/vikgpslayer.c:1386
msgid "No GPS items selected for transfer."
msgstr ""
-#: ../src/vikgpslayer.c:1347
+#: ../src/vikgpslayer.c:1401
msgid "Could not turn off device."
msgstr ""
-#: ../src/vikgpslayer.c:1385
+#: ../src/vikgpslayer.c:1439
msgid "Are you sure you want to delete GPS Upload data?"
msgstr ""
-#: ../src/vikgpslayer.c:1398
+#: ../src/vikgpslayer.c:1452
msgid "Are you sure you want to delete GPS Download data?"
msgstr ""
-#: ../src/vikgpslayer.c:1412
+#: ../src/vikgpslayer.c:1466
msgid "Are you sure you want to delete GPS Realtime data?"
msgstr ""
-#: ../src/vikgpslayer.c:1425
+#: ../src/vikgpslayer.c:1479
msgid "Are you sure you want to delete All GPS data?"
msgstr ""
-#: ../src/viklayerspanel.c:55
-msgid "/C_ut"
-msgstr "/_u 剪取"
+#: ../src/viklayerspanel.c:53
+msgid "C_ut"
+msgstr ""
-#: ../src/viklayerspanel.c:56
-msgid "/_Copy"
-msgstr "/_C 拷貝"
+#: ../src/viklayerspanel.c:54 ../src/vikwindow.c:3753
+msgid "_Copy"
+msgstr "_C 拷貝"
-#: ../src/viklayerspanel.c:57
-msgid "/_Paste"
-msgstr "/_P 黏貼"
+#: ../src/viklayerspanel.c:55 ../src/vikwindow.c:3754
+msgid "_Paste"
+msgstr "_P 黏貼"
-#: ../src/viklayerspanel.c:58
-msgid "/_Delete"
-msgstr "/_D 移除"
+#: ../src/viklayerspanel.c:56 ../src/vikwindow.c:3755
+msgid "_Delete"
+msgstr "_D 移除"
-#: ../src/viklayerspanel.c:59
-msgid "/New Layer"
-msgstr "/新圖層"
+#: ../src/viklayerspanel.c:133
+msgid "New Layer"
+msgstr ""
-#: ../src/viklayerspanel.c:127
+#: ../src/viklayerspanel.c:178
msgid "Top Layer"
msgstr "頂層"
-#: ../src/viklayerspanel.c:143
+#: ../src/viklayerspanel.c:194
msgid "Add new layer"
msgstr ""
-#: ../src/viklayerspanel.c:150
+#: ../src/viklayerspanel.c:201
msgid "Remove selected layer"
msgstr ""
-#: ../src/viklayerspanel.c:157
+#: ../src/viklayerspanel.c:208
msgid "Move selected layer up"
msgstr ""
-#: ../src/viklayerspanel.c:164
+#: ../src/viklayerspanel.c:215
msgid "Move selected layer down"
msgstr ""
-#: ../src/viklayerspanel.c:171
+#: ../src/viklayerspanel.c:222
msgid "Cut selected layer"
msgstr ""
-#: ../src/viklayerspanel.c:178
+#: ../src/viklayerspanel.c:229
msgid "Copy selected layer"
msgstr ""
-#: ../src/viklayerspanel.c:185
-msgid "Paste layer below selected layer"
+#: ../src/viklayerspanel.c:236
+msgid ""
+"Paste layer into selected container layer or otherwise above selected layer"
msgstr ""
-#. TODO: FIXME: if name has a '/' in it it will get all messed up. why not have an itemfactory field with
-#. name, icon, shortcut, etc.?
-#: ../src/viklayerspanel.c:204 ../src/vikwindow.c:3292
-#, c-format
-msgid "New _%s Layer"
+#: ../src/viklayerspanel.c:300
+msgid "New name can not be blank."
msgstr ""
-#: ../src/viklayerspanel.c:511
+#: ../src/viklayerspanel.c:544
msgid "Aggregate Layers have no settable properties."
msgstr ""
-#: ../src/viklayerspanel.c:555
+#: ../src/viklayerspanel.c:588
msgid "You cannot cut the Top Layer."
msgstr "您無法剪取掉頂層"
-#: ../src/viklayerspanel.c:600
+#: ../src/viklayerspanel.c:633
#, c-format
msgid "Are you sure you want to delete %s?"
msgstr ""
-#: ../src/viklayerspanel.c:617
+#: ../src/viklayerspanel.c:650
msgid "You cannot delete the Top Layer."
msgstr "您無法移除頂層"
-#: ../src/viklayerspanel.c:701
+#: ../src/viklayerspanel.c:734
msgid "Are you sure you wish to delete all layers?"
msgstr "您真的確認要移除所有的圖層?"
#. ******* MAPZOOMS ********
-#: ../src/vikmapslayer.c:91
+#: ../src/vikmapslayer.c:80
msgid "Use Viking Zoom Level"
msgstr ""
@@ -1602,69 +1867,69 @@ msgid ""
"actual zoom level."
msgstr ""
-#: ../src/vikmapslayer.c:146
+#: ../src/vikmapslayer.c:156
msgid "_Maps Download"
msgstr ""
-#: ../src/vikmapslayer.c:146
+#: ../src/vikmapslayer.c:156
msgid "Maps Download"
msgstr "地圖下載"
-#: ../src/vikmapslayer.c:161
+#: ../src/vikmapslayer.c:171
msgid "Map"
msgstr "地圖"
-#: ../src/vikmapslayer.c:249
-msgid "Default maplayer directory:"
+#: ../src/vikmapslayer.c:259
+msgid "Default map layer directory:"
msgstr ""
-#: ../src/vikmapslayer.c:249
+#: ../src/vikmapslayer.c:259
msgid "Choose a directory to store cached Map tiles for this layer"
msgstr ""
-#: ../src/vikmapslayer.c:505
+#: ../src/vikmapslayer.c:523
msgid "Unknown map type"
msgstr "未知的地圖類別"
-#: ../src/vikmapslayer.c:516
+#: ../src/vikmapslayer.c:534
msgid "Unknown Map Zoom"
msgstr ""
-#: ../src/vikmapslayer.c:589
+#: ../src/vikmapslayer.c:624
#, c-format
msgid ""
"New map cannot be displayed in the current drawmode.\n"
"Select \"%s\" from View menu to view it."
msgstr ""
-#: ../src/vikmapslayer.c:753
+#: ../src/vikmapslayer.c:798
#, c-format
msgid ""
"Cowardly refusing to draw tiles or existence of tiles beyond %d zoom out "
"factor"
msgstr ""
-#: ../src/vikmapslayer.c:1157
+#: ../src/vikmapslayer.c:1210
#, c-format
msgid "Redownloading up to %d %s map..."
msgid_plural "Redownloading up to %d %s maps..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikmapslayer.c:1159
+#: ../src/vikmapslayer.c:1212
#, c-format
msgid "Redownloading %d %s map..."
msgid_plural "Redownloading %d %s maps..."
msgstr[0] ""
msgstr[1] ""
-#: ../src/vikmapslayer.c:1163 ../src/vikmapslayer.c:1238
+#: ../src/vikmapslayer.c:1216 ../src/vikmapslayer.c:1290
#, c-format
msgid "Downloading %d %s map..."
msgid_plural "Downloading %d %s maps..."
msgstr[0] "正在下載 %d %s 地圖..."
-#: ../src/vikmapslayer.c:1311
+#: ../src/vikmapslayer.c:1376
#, c-format
msgid ""
"\n"
@@ -1674,7 +1939,7 @@ msgid ""
"Tile File Timestamp: %s"
msgstr ""
-#: ../src/vikmapslayer.c:1318
+#: ../src/vikmapslayer.c:1380
#, c-format
msgid ""
"Source: %s\n"
@@ -1682,1458 +1947,2035 @@ msgid ""
"No Tile File!"
msgstr ""
-#: ../src/vikmapslayer.c:1356
+#: ../src/vikmapslayer.c:1418
msgid "Redownload _Bad Map(s)"
msgstr ""
-#: ../src/vikmapslayer.c:1360
+#: ../src/vikmapslayer.c:1422
msgid "Redownload _New Map(s)"
msgstr ""
-#: ../src/vikmapslayer.c:1364
+#: ../src/vikmapslayer.c:1426
msgid "Redownload _All Map(s)"
msgstr ""
-#: ../src/vikmapslayer.c:1368
+#: ../src/vikmapslayer.c:1430
msgid "_Show Tile Information"
msgstr ""
-#: ../src/vikmapslayer.c:1449
+#: ../src/vikmapslayer.c:1511
#, c-format
msgid ""
"Wrong drawmode for this map.\n"
"Select \"%s\" from View menu and try again."
msgstr ""
-#: ../src/vikmapslayer.c:1454
+#: ../src/vikmapslayer.c:1516
msgid "Wrong zoom level for this map."
msgstr "此地圖無此縮放程度"
+#: ../src/vikmapslayer.c:1647
+msgid "Zoom Start:"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1654
+msgid "Zoom End:"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1660
+msgid "Download Maps Method:"
+msgstr ""
+
+#. redownload method - needs to align with REDOWNLOAD* macro values
+#: ../src/vikmapslayer.c:1732
+msgid "Missing"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1732
+msgid "Bad"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1732
+msgid "New"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1732
+msgid "Reload All"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1734
+msgid "Download for Zoom Levels"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1774
+#, c-format
+msgid ""
+"You are not allowed to download more than %d tiles in one go (requested %d)"
+msgstr ""
+
+#: ../src/vikmapslayer.c:1782
+#, c-format
+msgid "Do you really want to download %d tiles?"
+msgstr ""
+
#. Now with icons
-#: ../src/vikmapslayer.c:1485
+#: ../src/vikmapslayer.c:1807
msgid "Download _Missing Onscreen Maps"
msgstr ""
-#: ../src/vikmapslayer.c:1492
+#: ../src/vikmapslayer.c:1814
msgid "Download _New Onscreen Maps"
msgstr ""
-#: ../src/vikmapslayer.c:1499
+#: ../src/vikmapslayer.c:1821
msgid "Reload _All Onscreen Maps"
msgstr ""
-#: ../src/viktreeview.c:263
+#: ../src/vikmapslayer.c:1827
+msgid "Download Maps in _Zoom Levels..."
+msgstr ""
+
+#: ../src/vikrouting.c:54
+msgid "Default engine:"
+msgstr ""
+
+#: ../src/viktreeview.c:316
msgid "Layer Name"
msgstr "圖層名字"
-#: ../src/viktreeview.c:742
+#: ../src/viktreeview.c:851
#, c-format
msgid "delete data from %s\n"
msgstr "從 %s 移除資料\n"
-#: ../src/viktrwlayer.c:377
+#: ../src/viktrwlayer.c:398
msgid "Create _Waypoint"
msgstr ""
-#: ../src/viktrwlayer.c:377
+#: ../src/viktrwlayer.c:398
msgid "Create Waypoint"
msgstr "建立航點"
-#: ../src/viktrwlayer.c:383
+#: ../src/viktrwlayer.c:404
msgid "Create _Track"
msgstr ""
-#: ../src/viktrwlayer.c:383
+#: ../src/viktrwlayer.c:404
msgid "Create Track"
msgstr "建立軌迹"
-#: ../src/viktrwlayer.c:392
+#: ../src/viktrwlayer.c:413
msgid "Create _Route"
msgstr ""
-#: ../src/viktrwlayer.c:392
+#: ../src/viktrwlayer.c:413
msgid "Create Route"
msgstr ""
-#: ../src/viktrwlayer.c:401
+#: ../src/viktrwlayer.c:422
msgid "_Edit Waypoint"
msgstr ""
-#: ../src/viktrwlayer.c:401
+#: ../src/viktrwlayer.c:422
msgid "Edit Waypoint"
msgstr "編輯航點"
-#: ../src/viktrwlayer.c:409
+#: ../src/viktrwlayer.c:432
msgid "Edit Trac_kpoint"
msgstr ""
-#: ../src/viktrwlayer.c:409
+#: ../src/viktrwlayer.c:432
msgid "Edit Trackpoint"
msgstr "編輯軌迹點"
-#: ../src/viktrwlayer.c:417
+#: ../src/viktrwlayer.c:442
msgid "Show P_icture"
msgstr ""
-#: ../src/viktrwlayer.c:417
+#: ../src/viktrwlayer.c:442
msgid "Show Picture"
msgstr "察看圖片"
-#: ../src/viktrwlayer.c:424
+#: ../src/viktrwlayer.c:448
msgid "Route _Finder"
msgstr ""
-#: ../src/viktrwlayer.c:424
+#: ../src/viktrwlayer.c:448
msgid "Route Finder"
msgstr ""
#. ***** PARAMETERS *****
-#: ../src/viktrwlayer.c:447 ../src/viktrwlayer.c:1942
-#: ../src/viktrwlayer.c:1944
+#: ../src/viktrwlayer.c:468 ../src/viktrwlayer.c:2324
msgid "Waypoints"
msgstr "航點"
-#: ../src/viktrwlayer.c:447 ../src/viktrwlayer.c:1933
-#: ../src/viktrwlayer.c:1935
+#: ../src/viktrwlayer.c:468 ../src/viktrwlayer.c:2319
msgid "Tracks"
msgstr "軌迹"
-#: ../src/viktrwlayer.c:447
+#: ../src/viktrwlayer.c:468
msgid "Waypoint Images"
msgstr "航點圖片"
-#: ../src/viktrwlayer.c:450
+#: ../src/viktrwlayer.c:468
+msgid "Tracks Advanced"
+msgstr ""
+
+#: ../src/viktrwlayer.c:471
msgid "Draw by Track"
msgstr "以軌迹繪圖"
-#: ../src/viktrwlayer.c:450
+#: ../src/viktrwlayer.c:471
msgid "Draw by Speed"
msgstr ""
-#: ../src/viktrwlayer.c:450
+#: ../src/viktrwlayer.c:471
msgid "All Tracks Same Color"
msgstr ""
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "Filled Square"
msgstr "實心方塊"
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "Square"
msgstr "正方形"
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "Circle"
msgstr "圓形"
-#: ../src/viktrwlayer.c:451
+#: ../src/viktrwlayer.c:472
msgid "X"
msgstr "X"
-#: ../src/viktrwlayer.c:477
+#: ../src/viktrwlayer.c:498
msgid "Extra Extra Small"
msgstr ""
-#: ../src/viktrwlayer.c:478
+#: ../src/viktrwlayer.c:499
msgid "Extra Small"
msgstr ""
-#: ../src/viktrwlayer.c:479
+#: ../src/viktrwlayer.c:500
msgid "Small"
msgstr ""
-#: ../src/viktrwlayer.c:480
+#: ../src/viktrwlayer.c:501
msgid "Medium"
msgstr ""
-#: ../src/viktrwlayer.c:481
+#: ../src/viktrwlayer.c:502
msgid "Large"
msgstr ""
-#: ../src/viktrwlayer.c:482
+#: ../src/viktrwlayer.c:503
msgid "Extra Large"
msgstr ""
-#: ../src/viktrwlayer.c:483
+#: ../src/viktrwlayer.c:504
msgid "Extra Extra Large"
msgstr ""
-#: ../src/viktrwlayer.c:491
+#: ../src/viktrwlayer.c:510
+msgid "Name Ascending"
+msgstr ""
+
+#: ../src/viktrwlayer.c:511
+msgid "Name Descending"
+msgstr ""
+
+#: ../src/viktrwlayer.c:552 ../src/viktrwlayer.c:576
+msgid "Draw Labels"
+msgstr "描繪圖層"
+
+#: ../src/viktrwlayer.c:553
+msgid "Note: the individual track controls what labels may be displayed"
+msgstr ""
+
+#: ../src/viktrwlayer.c:554
+msgid "Track Labels Font Size:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:555
msgid "Track Drawing Mode:"
msgstr ""
-#: ../src/viktrwlayer.c:492
+#: ../src/viktrwlayer.c:556
msgid "All Tracks Color:"
msgstr ""
-#: ../src/viktrwlayer.c:493
+#: ../src/viktrwlayer.c:557
msgid "The color used when 'All Tracks Same Color' drawing mode is selected"
msgstr ""
-#: ../src/viktrwlayer.c:494
+#: ../src/viktrwlayer.c:558
msgid "Draw Track Lines"
msgstr ""
-#: ../src/viktrwlayer.c:495
+#: ../src/viktrwlayer.c:559
msgid "Track Thickness:"
msgstr ""
-#: ../src/viktrwlayer.c:496
+#: ../src/viktrwlayer.c:560
msgid "Draw Track Direction"
msgstr ""
-#: ../src/viktrwlayer.c:497
+#: ../src/viktrwlayer.c:561
msgid "Direction Size:"
msgstr ""
-#: ../src/viktrwlayer.c:498
+#: ../src/viktrwlayer.c:562
msgid "Draw Trackpoints"
msgstr ""
-#: ../src/viktrwlayer.c:499
+#: ../src/viktrwlayer.c:563
msgid "Trackpoint Size:"
msgstr ""
-#: ../src/viktrwlayer.c:500
+#: ../src/viktrwlayer.c:564
msgid "Draw Elevation"
msgstr ""
-#: ../src/viktrwlayer.c:501
+#: ../src/viktrwlayer.c:565
msgid "Draw Elevation Height %:"
msgstr ""
-#: ../src/viktrwlayer.c:503
+#: ../src/viktrwlayer.c:566
msgid "Draw Stops"
msgstr ""
-#: ../src/viktrwlayer.c:504
+#: ../src/viktrwlayer.c:567
msgid ""
"Whether to draw a marker when trackpoints are at the same position but over "
"the minimum stop length apart in time"
msgstr ""
-#: ../src/viktrwlayer.c:505
+#: ../src/viktrwlayer.c:568
msgid "Min Stop Length (seconds):"
msgstr ""
-#: ../src/viktrwlayer.c:507
+#: ../src/viktrwlayer.c:570
msgid "Track BG Thickness:"
msgstr ""
-#: ../src/viktrwlayer.c:508
+#: ../src/viktrwlayer.c:571
msgid "Track Background Color"
msgstr ""
-#: ../src/viktrwlayer.c:509
+#: ../src/viktrwlayer.c:572
msgid "Draw by Speed Factor (%):"
msgstr ""
-#: ../src/viktrwlayer.c:510
+#: ../src/viktrwlayer.c:573
msgid ""
"The percentage factor away from the average speed determining the color used"
msgstr ""
-#: ../src/viktrwlayer.c:512
-msgid "Draw Labels"
-msgstr "描繪圖層"
+#: ../src/viktrwlayer.c:574
+msgid "Track Sort Order:"
+msgstr ""
-#: ../src/viktrwlayer.c:513
+#: ../src/viktrwlayer.c:577
msgid "Waypoint Font Size:"
msgstr ""
-#: ../src/viktrwlayer.c:514
+#: ../src/viktrwlayer.c:578
msgid "Waypoint Color:"
msgstr "航點色彩"
-#: ../src/viktrwlayer.c:515
+#: ../src/viktrwlayer.c:579
msgid "Waypoint Text:"
msgstr "航點文字:"
-#: ../src/viktrwlayer.c:516
+#: ../src/viktrwlayer.c:580
msgid "Background:"
msgstr "背景:"
-#: ../src/viktrwlayer.c:517
+#: ../src/viktrwlayer.c:581
msgid "Fake BG Color Translucency:"
msgstr ""
-#: ../src/viktrwlayer.c:518
+#: ../src/viktrwlayer.c:582
msgid "Waypoint marker:"
msgstr "航點標簽"
-#: ../src/viktrwlayer.c:519
+#: ../src/viktrwlayer.c:583
msgid "Waypoint size:"
msgstr "航點大小"
-#: ../src/viktrwlayer.c:520
+#: ../src/viktrwlayer.c:584
msgid "Draw Waypoint Symbols:"
msgstr ""
-#: ../src/viktrwlayer.c:522
+#: ../src/viktrwlayer.c:585
+msgid "Waypoint Sort Order:"
+msgstr ""
+
+#: ../src/viktrwlayer.c:587
msgid "Draw Waypoint Images"
msgstr ""
-#: ../src/viktrwlayer.c:523
+#: ../src/viktrwlayer.c:588
msgid "Image Size (pixels):"
msgstr "圖片大小 (像素):"
-#: ../src/viktrwlayer.c:524
+#: ../src/viktrwlayer.c:589
msgid "Image Alpha:"
msgstr "圖片Alpha值:"
-#: ../src/viktrwlayer.c:525
+#: ../src/viktrwlayer.c:590
msgid "Image Memory Cache Size:"
msgstr "圖片記憶體緩衝區大小:"
-#: ../src/viktrwlayer.c:610
+#: ../src/viktrwlayer.c:678
msgid "TrackWaypoint"
msgstr ""
-#: ../src/viktrwlayer.c:1951 ../src/viktrwlayer.c:1953
+#: ../src/viktrwlayer.c:1534 ../src/vikutils.c:204
+msgid "miles"
+msgstr ""
+
+#. VIK_UNITS_DISTANCE_KILOMETRES:
+#: ../src/viktrwlayer.c:1538 ../src/vikutils.c:209
+msgid "km"
+msgstr ""
+
+#: ../src/viktrwlayer.c:1648
+msgid "start/end"
+msgstr ""
+
+#: ../src/viktrwlayer.c:1660
+msgid "start"
+msgstr ""
+
+#: ../src/viktrwlayer.c:1669
+msgid "end"
+msgstr ""
+
+#: ../src/viktrwlayer.c:2329
msgid "Routes"
msgstr ""
-#: ../src/viktrwlayer.c:2144
+#: ../src/viktrwlayer.c:2519
#, c-format
msgid " in %d:%02d hrs:mins"
msgstr ""
-#: ../src/viktrwlayer.c:2148
+#: ../src/viktrwlayer.c:2523
#, c-format
msgid ""
"\n"
"%sTotal Length %.1f %s%s"
msgstr ""
-#: ../src/viktrwlayer.c:2154
+#: ../src/viktrwlayer.c:2529
#, c-format
msgid "Tracks: %d - Waypoints: %d - Routes: %d%s"
msgstr ""
-#: ../src/viktrwlayer.c:2174
+#: ../src/viktrwlayer.c:2549
#, c-format
msgid "Tracks: %d"
msgstr ""
-#: ../src/viktrwlayer.c:2184
+#: ../src/viktrwlayer.c:2559
#, c-format
msgid "Routes: %d"
msgstr ""
-#: ../src/viktrwlayer.c:2215
+#: ../src/viktrwlayer.c:2590
#, c-format
msgid "- %d:%02d hrs:mins"
msgstr ""
-#: ../src/viktrwlayer.c:2223
+#: ../src/viktrwlayer.c:2598
#, c-format
msgid "%s%.1f km %s"
msgstr ""
-#: ../src/viktrwlayer.c:2226
+#: ../src/viktrwlayer.c:2601
#, c-format
msgid "%s%.1f miles %s"
msgstr ""
-#: ../src/viktrwlayer.c:2240
+#: ../src/viktrwlayer.c:2615
#, c-format
msgid "Waypoints: %d"
msgstr ""
-#: ../src/viktrwlayer.c:2266
-#, c-format
-msgid "Trkpt: Alt %dft"
-msgstr ""
-
-#. VIK_UNITS_HEIGHT_METRES:
-#: ../src/viktrwlayer.c:2270
-#, c-format
-msgid "Trkpt: Alt %dm"
-msgstr ""
-
-#. Compact date time format
-#: ../src/viktrwlayer.c:2277
-#, c-format
-msgid " | Time %x %X"
-msgstr ""
-
-#: ../src/viktrwlayer.c:2295
-#, c-format
-msgid " | Track: %s"
-msgstr ""
-
-#. Combine parts to make overall message
-#: ../src/viktrwlayer.c:2299
-#, c-format
-msgid "%s%s | %s %s %s"
-msgstr ""
-
-#: ../src/viktrwlayer.c:2314
+#: ../src/viktrwlayer.c:2671
#, c-format
msgid "Wpt: Alt %dft"
msgstr ""
#. VIK_UNITS_HEIGHT_METRES:
-#: ../src/viktrwlayer.c:2318
+#: ../src/viktrwlayer.c:2675
#, c-format
msgid "Wpt: Alt %dm"
msgstr ""
#. Add comment if available
-#: ../src/viktrwlayer.c:2333
+#: ../src/viktrwlayer.c:2690
#, c-format
msgid "%s | %s %s | Comment: %s"
msgstr ""
-#: ../src/viktrwlayer.c:2335
+#: ../src/viktrwlayer.c:2692
#, c-format
msgid "%s | %s %s"
msgstr ""
-#: ../src/viktrwlayer.c:2563 ../src/viktrwlayer.c:2634
+#: ../src/viktrwlayer.c:2939 ../src/viktrwlayer.c:3010
msgid "This layer has no waypoints or trackpoints."
msgstr ""
-#: ../src/viktrwlayer.c:2661 ../src/vikwindow.c:2407 ../src/vikwindow.c:2848
+#: ../src/viktrwlayer.c:3045 ../src/vikwindow.c:2754 ../src/vikwindow.c:3407
#, c-format
msgid "The file \"%s\" exists, do you wish to overwrite it?"
msgstr ""
-#: ../src/viktrwlayer.c:2671 ../src/vikwindow.c:2429
+#: ../src/viktrwlayer.c:3057 ../src/vikwindow.c:2778
msgid "The filename you requested could not be opened for writing."
msgstr ""
-#: ../src/viktrwlayer.c:2676 ../src/viktrwlayer.c:2681
-#: ../src/viktrwlayer.c:2691 ../src/viktrwlayer.c:2703
+#: ../src/viktrwlayer.c:3062 ../src/viktrwlayer.c:3067
+#: ../src/viktrwlayer.c:3077 ../src/viktrwlayer.c:3089
msgid "Export Layer"
msgstr "匯出圖層"
-#: ../src/viktrwlayer.c:2720
+#: ../src/viktrwlayer.c:3108
msgid "Could not create temporary file for export."
msgstr ""
-#: ../src/viktrwlayer.c:2729
+#: ../src/viktrwlayer.c:3117
#, c-format
msgid "Could not launch %s."
msgstr ""
-#: ../src/viktrwlayer.c:2773
+#: ../src/viktrwlayer.c:3161
msgid "Export Track as GPX"
msgstr ""
-#: ../src/viktrwlayer.c:2795
+#: ../src/viktrwlayer.c:3183
msgid "Find"
msgstr ""
-#: ../src/viktrwlayer.c:2805
+#: ../src/viktrwlayer.c:3193
msgid "Waypoint Name:"
msgstr "航點名稱:"
-#: ../src/viktrwlayer.c:2822
+#: ../src/viktrwlayer.c:3210
msgid "Waypoint not found in this layer."
msgstr "在此圖層中没有發現航點"
-#: ../src/viktrwlayer.c:3090
+#: ../src/viktrwlayer.c:3476
msgid "Can not upload invisible track."
msgstr ""
-#: ../src/viktrwlayer.c:3192 ../src/viktrwlayer.c:7785
+#: ../src/viktrwlayer.c:3581 ../src/viktrwlayer.c:9283
msgid "Track"
msgstr ""
-#: ../src/viktrwlayer.c:3215 ../src/viktrwlayer.c:7817
+#: ../src/viktrwlayer.c:3606 ../src/viktrwlayer.c:9316
msgid "Route"
msgstr ""
-#: ../src/viktrwlayer.c:3296 ../src/viktrwlayer.c:6265
-#: ../src/viktrwlayer.c:6314
+#: ../src/viktrwlayer.c:3691 ../src/viktrwlayer.c:7460
+#: ../src/viktrwlayer.c:7566
msgid "_Finish Route"
msgstr ""
-#: ../src/viktrwlayer.c:3298 ../src/viktrwlayer.c:6223
-#: ../src/viktrwlayer.c:6312
+#: ../src/viktrwlayer.c:3693 ../src/viktrwlayer.c:7383
+#: ../src/viktrwlayer.c:7564
msgid "_Finish Track"
msgstr ""
#. Now with icons
-#: ../src/viktrwlayer.c:3310
+#: ../src/viktrwlayer.c:3705
msgid "_View Layer"
msgstr ""
-#: ../src/viktrwlayer.c:3317
+#: ../src/viktrwlayer.c:3712
msgid "V_iew"
msgstr ""
-#: ../src/viktrwlayer.c:3323
+#: ../src/viktrwlayer.c:3718
msgid "View All _Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:3328
+#: ../src/viktrwlayer.c:3723
msgid "View All _Routes"
msgstr ""
-#: ../src/viktrwlayer.c:3333
+#: ../src/viktrwlayer.c:3728
msgid "View All _Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:3338
+#: ../src/viktrwlayer.c:3733
msgid "_Goto Center of Layer"
msgstr ""
-#: ../src/viktrwlayer.c:3344 ../src/viktrwlayer.c:6199
+#: ../src/viktrwlayer.c:3739 ../src/viktrwlayer.c:7335
msgid "Goto _Waypoint..."
msgstr ""
-#: ../src/viktrwlayer.c:3350
+#: ../src/viktrwlayer.c:3745
msgid "_Export Layer"
msgstr ""
-#: ../src/viktrwlayer.c:3356
+#: ../src/viktrwlayer.c:3751
msgid "Export as GPS_Point..."
msgstr ""
-#: ../src/viktrwlayer.c:3361
+#: ../src/viktrwlayer.c:3756
msgid "Export as GPS_Mapper..."
msgstr ""
-#: ../src/viktrwlayer.c:3366
+#: ../src/viktrwlayer.c:3761
msgid "Export as _GPX..."
msgstr ""
-#: ../src/viktrwlayer.c:3371
+#: ../src/viktrwlayer.c:3766
msgid "Export as _KML..."
msgstr ""
-#: ../src/viktrwlayer.c:3376
+#: ../src/viktrwlayer.c:3771
msgid "Open with External Program_1: "
msgstr ""
-#: ../src/viktrwlayer.c:3383
+#: ../src/viktrwlayer.c:3778
msgid "Open with External Program_2: "
msgstr ""
-#: ../src/viktrwlayer.c:3391 ../src/vikwindow.c:3145
+#: ../src/viktrwlayer.c:3786 ../src/vikwindow.c:3704
msgid "_New"
msgstr "_N 新建"
-#: ../src/viktrwlayer.c:3397
+#: ../src/viktrwlayer.c:3792
msgid "New _Waypoint..."
msgstr ""
-#: ../src/viktrwlayer.c:3403
+#: ../src/viktrwlayer.c:3798
msgid "New _Track"
msgstr ""
-#: ../src/viktrwlayer.c:3411
+#: ../src/viktrwlayer.c:3806
msgid "New _Route"
msgstr ""
-#: ../src/viktrwlayer.c:3420 ../src/viktrwlayer.c:6597
+#: ../src/viktrwlayer.c:3815 ../src/viktrwlayer.c:7938
msgid "Geotag _Images..."
msgstr ""
-#: ../src/viktrwlayer.c:3427
+#: ../src/viktrwlayer.c:3822
msgid "_Acquire"
msgstr ""
-#: ../src/viktrwlayer.c:3433 ../src/vikwindow.c:3150
+#: ../src/viktrwlayer.c:3828 ../src/vikwindow.c:3711
msgid "From _GPS..."
msgstr "_G 從GPS..."
-#: ../src/viktrwlayer.c:3439
-msgid "From Google _Directions..."
+#. FIXME: only add menu when at least a routing engine has support for Directions
+#: ../src/viktrwlayer.c:3834
+msgid "From _Directions..."
msgstr ""
-#: ../src/viktrwlayer.c:3446
+#: ../src/viktrwlayer.c:3840
msgid "From _OSM Traces..."
msgstr ""
-#: ../src/viktrwlayer.c:3451
+#: ../src/viktrwlayer.c:3845
msgid "From _My OSM Traces..."
msgstr ""
-#: ../src/viktrwlayer.c:3459 ../src/vikwindow.c:3166
+#: ../src/viktrwlayer.c:3853 ../src/vikwindow.c:3725
msgid "From _Wikipedia Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:3465
+#: ../src/viktrwlayer.c:3859
msgid "Within _Layer Bounds"
msgstr ""
-#: ../src/viktrwlayer.c:3471
+#: ../src/viktrwlayer.c:3865
msgid "Within _Current View"
msgstr ""
-#: ../src/viktrwlayer.c:3479
+#: ../src/viktrwlayer.c:3873
msgid "From Geo_caching..."
msgstr ""
-#: ../src/viktrwlayer.c:3486 ../src/vikwindow.c:3163
+#: ../src/viktrwlayer.c:3880 ../src/vikwindow.c:3722
msgid "From Geotagged _Images..."
msgstr ""
-#: ../src/viktrwlayer.c:3492
+#: ../src/viktrwlayer.c:3886
msgid "From _File..."
msgstr ""
-#: ../src/viktrwlayer.c:3498 ../src/viktrwlayer.c:6542
+#: ../src/viktrwlayer.c:3894 ../src/viktrwlayer.c:7883
msgid "_Upload"
msgstr ""
-#: ../src/viktrwlayer.c:3504
+#: ../src/viktrwlayer.c:3900
msgid "Upload to _GPS..."
msgstr ""
-#: ../src/viktrwlayer.c:3511 ../src/viktrwlayer.c:6570
+#: ../src/viktrwlayer.c:3907 ../src/viktrwlayer.c:7911
msgid "Upload to _OSM..."
msgstr ""
-#: ../src/viktrwlayer.c:3519
+#: ../src/viktrwlayer.c:3915
msgid "De_lete"
msgstr ""
-#: ../src/viktrwlayer.c:3525
+#: ../src/viktrwlayer.c:3921
msgid "Delete All _Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:3531
+#: ../src/viktrwlayer.c:3927
msgid "Delete Tracks _From Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:3537 ../src/viktrwlayer.c:6290
+#: ../src/viktrwlayer.c:3933 ../src/viktrwlayer.c:7485
msgid "Delete _All Routes"
msgstr ""
-#: ../src/viktrwlayer.c:3543 ../src/viktrwlayer.c:6296
+#: ../src/viktrwlayer.c:3939 ../src/viktrwlayer.c:7491
msgid "_Delete Routes From Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:3549
+#: ../src/viktrwlayer.c:3945
msgid "Delete All _Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:3555
+#: ../src/viktrwlayer.c:3951
msgid "Delete Waypoints From _Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:4128
+#: ../src/viktrwlayer.c:4574
#, c-format
msgid "Are you sure you want to delete all tracks in %s?"
msgstr ""
-#: ../src/viktrwlayer.c:4138
+#: ../src/viktrwlayer.c:4584
#, c-format
msgid "Are you sure you want to delete all routes in %s?"
msgstr ""
-#: ../src/viktrwlayer.c:4148
+#: ../src/viktrwlayer.c:4594
#, c-format
msgid "Are you sure you want to delete all waypoints in %s?"
msgstr ""
-#: ../src/viktrwlayer.c:4165
+#: ../src/viktrwlayer.c:4611
#, c-format
-msgid "Are you sure you want to delete the waypoint \"%s\""
+msgid "Are you sure you want to delete the waypoint \"%s\"?"
msgstr ""
-#: ../src/viktrwlayer.c:4178
+#: ../src/viktrwlayer.c:4624
#, c-format
-msgid "Are you sure you want to delete the track \"%s\""
+msgid "Are you sure you want to delete the track \"%s\"?"
msgstr ""
-#: ../src/viktrwlayer.c:4191
+#: ../src/viktrwlayer.c:4637
#, c-format
-msgid "Are you sure you want to delete the route \"%s\""
+msgid "Are you sure you want to delete the route \"%s\"?"
msgstr ""
-#: ../src/viktrwlayer.c:4351 ../src/viktrwlayer.c:4922
+#: ../src/viktrwlayer.c:4849 ../src/viktrwlayer.c:5677
msgid ""
"Converting a track to a route removes extra track data such as segments, "
"timestamps, etc...\n"
"Do you want to continue?"
msgstr ""
-#: ../src/viktrwlayer.c:4711
+#: ../src/viktrwlayer.c:4944
+msgid "No DEM layers available, thus no DEM values can be applied."
+msgstr ""
+
+#: ../src/viktrwlayer.c:4964 ../src/viktrwlayer.c:5005
+#, c-format
+msgid "%ld point adjusted"
+msgid_plural "%ld points adjusted"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/viktrwlayer.c:5049
+#, c-format
+msgid "%ld waypoint changed"
+msgid_plural "%ld waypoints changed"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/viktrwlayer.c:5233
+#, c-format
+msgid ""
+"Refining a track with many points (%d) is unlikely to yield sensible "
+"results. Do you want to Continue?"
+msgstr ""
+
+#. Select engine from dialog
+#: ../src/viktrwlayer.c:5241
+msgid "Refine Route with Routing Engine..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:5249
+msgid "Select routing engine"
+msgstr ""
+
+#: ../src/viktrwlayer.c:5467
msgid "Failed. No other tracks with timestamps in this layer found"
msgstr ""
-#: ../src/viktrwlayer.c:4713
+#: ../src/viktrwlayer.c:5469
msgid "Failed. No other tracks without timestamps in this layer found"
msgstr ""
-#: ../src/viktrwlayer.c:4732
+#: ../src/viktrwlayer.c:5488
msgid "Merge with..."
msgstr ""
-#: ../src/viktrwlayer.c:4733
+#: ../src/viktrwlayer.c:5489
msgid "Select route to merge with"
msgstr ""
-#: ../src/viktrwlayer.c:4733
+#: ../src/viktrwlayer.c:5489
msgid "Select track to merge with"
msgstr ""
-#: ../src/viktrwlayer.c:4818 ../src/viktrwlayer.c:4895
+#: ../src/viktrwlayer.c:5573 ../src/viktrwlayer.c:5650
msgid "Append Route"
msgstr ""
-#: ../src/viktrwlayer.c:4818 ../src/viktrwlayer.c:4895
+#: ../src/viktrwlayer.c:5573 ../src/viktrwlayer.c:5650
msgid "Append Track"
msgstr ""
-#: ../src/viktrwlayer.c:4819
+#: ../src/viktrwlayer.c:5574
msgid "Select the route to append after the current route"
msgstr ""
-#: ../src/viktrwlayer.c:4820
+#: ../src/viktrwlayer.c:5575
msgid "Select the track to append after the current track"
msgstr ""
-#: ../src/viktrwlayer.c:4896
+#: ../src/viktrwlayer.c:5651
msgid "Select the track to append after the current route"
msgstr ""
-#: ../src/viktrwlayer.c:4897
+#: ../src/viktrwlayer.c:5652
msgid "Select the route to append after the current track"
msgstr ""
-#: ../src/viktrwlayer.c:4957
+#: ../src/viktrwlayer.c:5711
#, c-format
msgid "%d segment merged"
msgid_plural "%d segments merged"
msgstr[0] ""
msgstr[1] ""
-#: ../src/viktrwlayer.c:4973
+#: ../src/viktrwlayer.c:5727
msgid "Failed. This track does not have timestamp"
msgstr ""
-#: ../src/viktrwlayer.c:4985
+#: ../src/viktrwlayer.c:5739
msgid "Failed. No other track in this layer has timestamp"
msgstr ""
-#: ../src/viktrwlayer.c:4992
+#: ../src/viktrwlayer.c:5746
msgid "Merge Threshold..."
msgstr ""
-#: ../src/viktrwlayer.c:4993
+#: ../src/viktrwlayer.c:5747
msgid "Merge when time between tracks less than:"
msgstr ""
-#: ../src/viktrwlayer.c:5128
+#: ../src/viktrwlayer.c:5889
msgid "Split Threshold..."
msgstr ""
-#: ../src/viktrwlayer.c:5129
+#: ../src/viktrwlayer.c:5890
msgid "Split when time between trackpoints exceeds:"
msgstr ""
-#: ../src/viktrwlayer.c:5205
+#: ../src/viktrwlayer.c:5907
+#, c-format
+msgid ""
+"Can not split track due to trackpoints not ordered in time - such as at %s.\n"
+"\n"
+"Goto this trackpoint?"
+msgstr ""
+
+#: ../src/viktrwlayer.c:5976
msgid "Split Every Nth Point"
msgstr ""
-#: ../src/viktrwlayer.c:5206
+#: ../src/viktrwlayer.c:5977
msgid "Split on every Nth point:"
msgstr ""
-#: ../src/viktrwlayer.c:5312
+#: ../src/viktrwlayer.c:6087
msgid "Can not split track as it has no segments"
msgstr ""
-#: ../src/viktrwlayer.c:5340 ../src/viktrwlayer.c:5370
+#: ../src/viktrwlayer.c:6169 ../src/viktrwlayer.c:6199
#, c-format
msgid "Deleted %ld point"
msgid_plural "Deleted %ld points"
msgstr[0] ""
msgstr[1] ""
-#: ../src/viktrwlayer.c:5531
+#: ../src/viktrwlayer.c:6392
msgid "Internal Error in vik_trw_layer_uniquify_tracks"
msgstr ""
-#: ../src/viktrwlayer.c:5588 ../src/viktrwlayer.c:5635
-#: ../src/viktrwlayer.c:5814
+#: ../src/viktrwlayer.c:6496 ../src/viktrwlayer.c:6543
+#: ../src/viktrwlayer.c:6704
msgid ""
"Multiple entries with the same name exist. This method only works with "
"unique names. Force unique names now?"
msgstr ""
-#: ../src/viktrwlayer.c:5599
+#: ../src/viktrwlayer.c:6507
msgid "No tracks found"
msgstr ""
-#: ../src/viktrwlayer.c:5607 ../src/viktrwlayer.c:5654
-#: ../src/viktrwlayer.c:5834
+#: ../src/viktrwlayer.c:6515 ../src/viktrwlayer.c:6562
+#: ../src/viktrwlayer.c:6724
msgid "Delete Selection"
msgstr ""
-#: ../src/viktrwlayer.c:5608
+#: ../src/viktrwlayer.c:6516
msgid "Select tracks to delete"
msgstr ""
-#: ../src/viktrwlayer.c:5646
+#: ../src/viktrwlayer.c:6554
msgid "No routes found"
msgstr ""
-#: ../src/viktrwlayer.c:5655
+#: ../src/viktrwlayer.c:6563
msgid "Select routes to delete"
msgstr ""
-#: ../src/viktrwlayer.c:5761
+#: ../src/viktrwlayer.c:6669
msgid "Internal Error in vik_trw_layer_uniquify_waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:5824
+#: ../src/viktrwlayer.c:6714
msgid "No waypoints found"
msgstr ""
-#: ../src/viktrwlayer.c:5835
+#: ../src/viktrwlayer.c:6725
msgid "Select waypoints to delete"
msgstr ""
-#: ../src/viktrwlayer.c:5896
+#: ../src/viktrwlayer.c:7033
#, c-format
msgid ""
"A waypoint with the name \"%s\" already exists. Really rename to the same "
"name?"
msgstr ""
-#: ../src/viktrwlayer.c:5926
+#: ../src/viktrwlayer.c:7063
#, c-format
msgid ""
"A track with the name \"%s\" already exists. Really rename to the same name?"
msgstr ""
-#: ../src/viktrwlayer.c:5963
+#: ../src/viktrwlayer.c:7100
#, c-format
msgid ""
"A route with the name \"%s\" already exists. Really rename to the same name?"
msgstr ""
-#: ../src/viktrwlayer.c:6085 ../src/viktrwlayer.c:6337
+#: ../src/viktrwlayer.c:7221 ../src/viktrwlayer.c:7594
msgid "_Goto"
msgstr ""
-#: ../src/viktrwlayer.c:6104
+#: ../src/viktrwlayer.c:7240
msgid "_Visit Geocache Webpage"
msgstr ""
-#: ../src/viktrwlayer.c:6123
+#: ../src/viktrwlayer.c:7259
msgid "_Show Picture..."
msgstr ""
-#: ../src/viktrwlayer.c:6131
+#: ../src/viktrwlayer.c:7267
msgid "Update Geotag on _Image"
msgstr ""
-#: ../src/viktrwlayer.c:6137
+#: ../src/viktrwlayer.c:7273
msgid "_Update"
msgstr ""
-#: ../src/viktrwlayer.c:6142
+#: ../src/viktrwlayer.c:7278
msgid "Update and _Keep File Timestamp"
msgstr ""
-#: ../src/viktrwlayer.c:6153
+#: ../src/viktrwlayer.c:7289
msgid "Visit _Webpage"
msgstr ""
-#: ../src/viktrwlayer.c:6184
+#: ../src/viktrwlayer.c:7320
msgid "_New Waypoint..."
msgstr ""
-#: ../src/viktrwlayer.c:6193
+#: ../src/viktrwlayer.c:7329
msgid "_View All Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:6205
+#: ../src/viktrwlayer.c:7341
msgid "Delete _All Waypoints"
msgstr ""
-#: ../src/viktrwlayer.c:6211
+#: ../src/viktrwlayer.c:7347
msgid "_Delete Waypoints From Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:6233
+#: ../src/viktrwlayer.c:7359
+msgid "_Show All Waypoints"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7365
+msgid "_Hide All Waypoints"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7393
msgid "_View All Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:6239
+#: ../src/viktrwlayer.c:7399
msgid "_New Track"
msgstr ""
-#: ../src/viktrwlayer.c:6247
+#: ../src/viktrwlayer.c:7407
msgid "Delete _All Tracks"
msgstr ""
-#: ../src/viktrwlayer.c:6253
+#: ../src/viktrwlayer.c:7413
msgid "_Delete Tracks From Selection..."
msgstr ""
-#: ../src/viktrwlayer.c:6276
+#: ../src/viktrwlayer.c:7425
+msgid "_Show All Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7431
+msgid "_Hide All Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7442
+msgid "_List Tracks..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7471
msgid "_View All Routes"
msgstr ""
-#: ../src/viktrwlayer.c:6282
+#: ../src/viktrwlayer.c:7477
msgid "_New Route"
msgstr ""
-#: ../src/viktrwlayer.c:6327
+#: ../src/viktrwlayer.c:7503
+msgid "_Show All Routes"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7509
+msgid "_Hide All Routes"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7520
+msgid "_List Routes..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7579
msgid "_View Track"
msgstr ""
-#: ../src/viktrwlayer.c:6329
+#: ../src/viktrwlayer.c:7581
msgid "_View Route"
msgstr ""
-#: ../src/viktrwlayer.c:6343
+#: ../src/viktrwlayer.c:7600
msgid "_Startpoint"
msgstr ""
-#: ../src/viktrwlayer.c:6349
+#: ../src/viktrwlayer.c:7606
msgid "\"_Center\""
msgstr ""
-#: ../src/viktrwlayer.c:6355
+#: ../src/viktrwlayer.c:7612
msgid "_Endpoint"
msgstr ""
-#: ../src/viktrwlayer.c:6361
+#: ../src/viktrwlayer.c:7618
msgid "_Highest Altitude"
msgstr ""
-#: ../src/viktrwlayer.c:6367
+#: ../src/viktrwlayer.c:7624
msgid "_Lowest Altitude"
msgstr ""
-#: ../src/viktrwlayer.c:6375
+#: ../src/viktrwlayer.c:7632
msgid "_Maximum Speed"
msgstr ""
-#: ../src/viktrwlayer.c:6384
+#: ../src/viktrwlayer.c:7641
msgid "Co_mbine"
msgstr ""
-#: ../src/viktrwlayer.c:6392
+#: ../src/viktrwlayer.c:7649
msgid "_Merge By Time..."
msgstr ""
-#: ../src/viktrwlayer.c:6397
+#: ../src/viktrwlayer.c:7654
msgid "Merge _Segments"
msgstr ""
-#: ../src/viktrwlayer.c:6403
+#: ../src/viktrwlayer.c:7660
msgid "Merge _With Other Tracks..."
msgstr ""
-#: ../src/viktrwlayer.c:6409
+#: ../src/viktrwlayer.c:7666
msgid "_Append Track..."
msgstr ""
-#: ../src/viktrwlayer.c:6411
+#: ../src/viktrwlayer.c:7668
msgid "_Append Route..."
msgstr ""
-#: ../src/viktrwlayer.c:6417
+#: ../src/viktrwlayer.c:7674
msgid "Append _Route..."
msgstr ""
-#: ../src/viktrwlayer.c:6419
+#: ../src/viktrwlayer.c:7676
msgid "Append _Track..."
msgstr ""
-#: ../src/viktrwlayer.c:6426
+#: ../src/viktrwlayer.c:7683
msgid "_Split"
msgstr ""
-#: ../src/viktrwlayer.c:6434
+#: ../src/viktrwlayer.c:7691
msgid "_Split By Time..."
msgstr ""
#. ATM always enable this entry - don't want to have to analyse the track before displaying the menu - to keep the menu speedy
-#: ../src/viktrwlayer.c:6440
+#: ../src/viktrwlayer.c:7697
msgid "Split Se_gments"
msgstr ""
-#: ../src/viktrwlayer.c:6446
+#: ../src/viktrwlayer.c:7703
msgid "Split By _Number of Points..."
msgstr ""
-#: ../src/viktrwlayer.c:6451
+#: ../src/viktrwlayer.c:7708
msgid "Split at _Trackpoint"
msgstr ""
-#: ../src/viktrwlayer.c:6460
+#: ../src/viktrwlayer.c:7716
+msgid "_Insert Points"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7722
+msgid "Insert Point _Before Selected Point"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7729
+msgid "Insert Point _After Selected Point"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7738
msgid "Delete Poi_nts"
msgstr ""
-#: ../src/viktrwlayer.c:6466
+#: ../src/viktrwlayer.c:7744
+msgid "Delete _Selected Point"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7752
msgid "Delete Points With The Same _Position"
msgstr ""
-#: ../src/viktrwlayer.c:6471
+#: ../src/viktrwlayer.c:7757
msgid "Delete Points With The Same _Time"
msgstr ""
-#: ../src/viktrwlayer.c:6477
-msgid "_Reverse Track"
+#: ../src/viktrwlayer.c:7764 ../src/viktrwlayer.c:7964
+msgid "_Transform"
msgstr ""
-#: ../src/viktrwlayer.c:6479
-msgid "_Reverse Route"
+#: ../src/viktrwlayer.c:7772 ../src/viktrwlayer.c:7972
+msgid "_Apply DEM Data"
msgstr ""
-#: ../src/viktrwlayer.c:6488
-msgid "Down_load Maps Along Track..."
+#: ../src/viktrwlayer.c:7777 ../src/viktrwlayer.c:7977
+msgid "_Overwrite"
msgstr ""
-#: ../src/viktrwlayer.c:6490
-msgid "Down_load Maps Along Route..."
+#: ../src/viktrwlayer.c:7780 ../src/viktrwlayer.c:7980
+msgid "Overwrite any existing elevation values with DEM values"
msgstr ""
-#: ../src/viktrwlayer.c:6497
-msgid "_Apply DEM Data"
+#: ../src/viktrwlayer.c:7783 ../src/viktrwlayer.c:7983
+msgid "_Keep Existing"
msgstr ""
-#: ../src/viktrwlayer.c:6504
-msgid "_Export Track as GPX..."
+#: ../src/viktrwlayer.c:7786 ../src/viktrwlayer.c:7986
+msgid "Keep existing elevation values, only attempt for missing values"
msgstr ""
-#: ../src/viktrwlayer.c:6506
-msgid "_Export Route as GPX..."
+#: ../src/viktrwlayer.c:7791
+msgid "_Smooth Missing Elevation Data"
msgstr ""
-#: ../src/viktrwlayer.c:6513
-msgid "E_xtend Track End"
+#: ../src/viktrwlayer.c:7796
+msgid "_Interpolated"
msgstr ""
-#: ../src/viktrwlayer.c:6515
-msgid "E_xtend Route End"
+#: ../src/viktrwlayer.c:7799
+msgid ""
+"Interpolate between known elevation values to derive values for the missing "
+"elevations"
msgstr ""
-#: ../src/viktrwlayer.c:6522
+#: ../src/viktrwlayer.c:7802
+msgid "_Flat"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7805
+msgid "Set unknown elevation values to the last known value"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7809
msgid "C_onvert to a Route"
msgstr ""
-#: ../src/viktrwlayer.c:6524
+#: ../src/viktrwlayer.c:7811
msgid "C_onvert to a Track"
msgstr ""
-#: ../src/viktrwlayer.c:6532
+#: ../src/viktrwlayer.c:7819
+msgid "_Anonymize Times"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7822
+msgid "Shift timestamps to a relative offset from 1901-01-01"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7827
+msgid "_Reverse Track"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7829
+msgid "_Reverse Route"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7836
+msgid "Refine Route..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7846
+msgid "Down_load Maps Along Track..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7848
+msgid "Down_load Maps Along Route..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7856
+msgid "_Export Track as GPX..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7858
+msgid "_Export Route as GPX..."
+msgstr ""
+
+#: ../src/viktrwlayer.c:7865
+msgid "E_xtend Track End"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7867
+msgid "E_xtend Route End"
+msgstr ""
+
+#: ../src/viktrwlayer.c:7874
msgid "Extend _Using Route Finder"
msgstr ""
-#: ../src/viktrwlayer.c:6548
+#: ../src/viktrwlayer.c:7889
msgid "_Upload to GPS..."
msgstr ""
-#: ../src/viktrwlayer.c:6559
+#: ../src/viktrwlayer.c:7900
msgid "_View Google Directions"
msgstr ""
-#: ../src/viktrwlayer.c:6579
+#: ../src/viktrwlayer.c:7920
msgid "Use with _Filter"
msgstr ""
-#: ../src/viktrwlayer.c:6612
+#: ../src/viktrwlayer.c:7953
msgid "_Edit Trackpoint"
msgstr ""
-#: ../src/viktrwlayer.c:7524
+#: ../src/viktrwlayer.c:9017
#, c-format
msgid " - Gain %dm:Loss %dm"
msgstr ""
-#: ../src/viktrwlayer.c:7526
+#: ../src/viktrwlayer.c:9019
#, c-format
msgid " - Gain %dft:Loss %dft"
msgstr ""
-#: ../src/viktrwlayer.c:7531
+#: ../src/viktrwlayer.c:9024
#, c-format
msgid " - Bearing %3.1f° - Step %s"
msgstr ""
-#: ../src/viktrwlayer.c:8124
+#: ../src/viktrwlayer.c:9628
#, c-format
msgid "Could not launch %s to open file."
msgstr ""
-#: ../src/viktrwlayer.c:8205
+#: ../src/viktrwlayer.c:9709
#, c-format
msgid "Creating %d Image Thumbnails..."
msgstr ""
-#: ../src/viktrwlayer.c:8524
+#: ../src/viktrwlayer.c:10106
msgid "No map layer in use. Create one first"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:898 ../src/viktrwlayer_propwin.c:1155
+#: ../src/viktrwlayer.c:10225
+#, c-format
+msgid "%s: Track List"
+msgstr ""
+
+#: ../src/viktrwlayer.c:10227
+#, c-format
+msgid "%s: Route List"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:828 ../src/viktrwlayer_propwin.c:1085
#, c-format
msgid "%.1f kph"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:901 ../src/viktrwlayer_propwin.c:1158
+#: ../src/viktrwlayer_propwin.c:831 ../src/viktrwlayer_propwin.c:1088
+#: ../src/viktrwlayer_analysis.c:290
#, c-format
msgid "%.1f mph"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:904 ../src/viktrwlayer_propwin.c:1161
+#: ../src/viktrwlayer_propwin.c:834 ../src/viktrwlayer_propwin.c:1091
#, c-format
msgid "%.1f knots"
msgstr ""
#. VIK_UNITS_SPEED_METRES_PER_SECOND:
-#: ../src/viktrwlayer_propwin.c:908 ../src/viktrwlayer_propwin.c:1165
+#: ../src/viktrwlayer_propwin.c:838 ../src/viktrwlayer_propwin.c:1095
#, c-format
msgid "%.1f m/s"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:1745
+#: ../src/viktrwlayer_propwin.c:1662 ../src/viktrwlayer_analysis.c:267
#, c-format
msgid "%.1f miles"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:1747
+#. VIK_UNITS_DISTANCE_KILOMETRES
+#: ../src/viktrwlayer_propwin.c:1664 ../src/viktrwlayer_analysis.c:271
#, c-format
msgid "%.1f km"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2681
+#: ../src/viktrwlayer_propwin.c:2582
msgid "Failed spliting track. Track unchanged"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2779 ../src/viktrwlayer_propwin.c:3178
+#: ../src/viktrwlayer_propwin.c:2724 ../src/viktrwlayer_propwin.c:3140
#, c-format
msgid "%s - Track Properties"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2784
+#: ../src/viktrwlayer_propwin.c:2729
msgid "Split at _Marker"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2785
+#: ../src/viktrwlayer_propwin.c:2730
msgid "Split _Segments"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2786
+#: ../src/viktrwlayer_propwin.c:2731
msgid "_Reverse"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2787
+#: ../src/viktrwlayer_propwin.c:2732
msgid "_Delete Dupl."
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2813
+#: ../src/viktrwlayer_propwin.c:2757
msgid "<b>Comment:</b>"
msgstr "<b>説明:</b>"
-#: ../src/viktrwlayer_propwin.c:2814
+#: ../src/viktrwlayer_propwin.c:2758
msgid "<b>Description:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2815
+#: ../src/viktrwlayer_propwin.c:2759
+msgid "<b>Color:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2760
+msgid "<b>Draw Name:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2761
+msgid "<b>Distance Labels:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2764
msgid "<b>Track Length:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2816
+#: ../src/viktrwlayer_propwin.c:2765
msgid "<b>Trackpoints:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2817
+#: ../src/viktrwlayer_propwin.c:2766
msgid "<b>Segments:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2818
+#: ../src/viktrwlayer_propwin.c:2767
msgid "<b>Duplicate Points:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2819
+#: ../src/viktrwlayer_propwin.c:2768
msgid "<b>Max Speed:</b>"
msgstr "<b>最大速度:</b>"
-#: ../src/viktrwlayer_propwin.c:2820
+#: ../src/viktrwlayer_propwin.c:2769
msgid "<b>Avg. Speed:</b>"
msgstr "<b>平均速度:</b>"
-#: ../src/viktrwlayer_propwin.c:2821
+#: ../src/viktrwlayer_propwin.c:2770
msgid "<b>Moving Avg. Speed:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2822
+#: ../src/viktrwlayer_propwin.c:2771
msgid "<b>Avg. Dist. Between TPs:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2823
+#: ../src/viktrwlayer_propwin.c:2772
msgid "<b>Elevation Range:</b>"
msgstr "<b>高度範圍:</b>"
-#: ../src/viktrwlayer_propwin.c:2824
+#: ../src/viktrwlayer_propwin.c:2773
msgid "<b>Total Elevation Gain/Loss:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2825
+#: ../src/viktrwlayer_propwin.c:2774
msgid "<b>Start:</b>"
msgstr "<b>開始:</b>"
-#: ../src/viktrwlayer_propwin.c:2826
+#: ../src/viktrwlayer_propwin.c:2775
msgid "<b>End:</b>"
msgstr "<b>結束:</b>"
-#: ../src/viktrwlayer_propwin.c:2827
+#: ../src/viktrwlayer_propwin.c:2776
msgid "<b>Duration:</b>"
msgstr "<b>持續時間:</b>"
-#: ../src/viktrwlayer_propwin.c:2828
-msgid "<b>Color:</b>"
+#: ../src/viktrwlayer_propwin.c:2797
+msgid "No"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2798
+msgid "Centre"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2799
+msgid "Start only"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2800
+msgid "End only"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2801
+msgid "Start and End"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2802
+msgid "Centre, Start and End"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2814
+msgid "Maximum number of distance labels to be shown"
+msgstr ""
+
+#: ../src/viktrwlayer_propwin.c:2818
+msgid "Properties"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:2877 ../src/viktrwlayer_propwin.c:2901
-#: ../src/viktrwlayer_propwin.c:2929 ../src/viktrwlayer_propwin.c:2966
-#: ../src/viktrwlayer_propwin.c:2984 ../src/viktrwlayer_propwin.c:3034
-#: ../src/viktrwlayer_propwin.c:3035 ../src/viktrwlayer_propwin.c:3036
-#: ../src/viktrwlayer_propwin.c:3062 ../src/viktrwlayer_propwin.c:3063
+#: ../src/viktrwlayer_propwin.c:2856 ../src/viktrwlayer_propwin.c:2880
+#: ../src/viktrwlayer_propwin.c:2908 ../src/viktrwlayer_propwin.c:2945
+#: ../src/viktrwlayer_propwin.c:2963 ../src/viktrwlayer_propwin.c:3009
+#: ../src/viktrwlayer_propwin.c:3010 ../src/viktrwlayer_propwin.c:3011
+#: ../src/viktrwlayer_propwin.c:3020 ../src/viktrwlayer_propwin.c:3021
+#: ../src/viktrwlayer_propwin.c:3036 ../src/viktrwlayer_propwin.c:3037
+#: ../src/viktrwlayer_propwin.c:3050 ../src/viktrwlayer_propwin.c:3051
+#: ../src/viktrwlayer_propwin.c:3064 ../src/viktrwlayer_propwin.c:3065
#: ../src/viktrwlayer_propwin.c:3078 ../src/viktrwlayer_propwin.c:3079
#: ../src/viktrwlayer_propwin.c:3092 ../src/viktrwlayer_propwin.c:3093
-#: ../src/viktrwlayer_propwin.c:3106 ../src/viktrwlayer_propwin.c:3107
-#: ../src/viktrwlayer_propwin.c:3120 ../src/viktrwlayer_propwin.c:3121
-#: ../src/viktrwlayer_propwin.c:3134 ../src/viktrwlayer_propwin.c:3135
+#: ../src/viktrwlayer_analysis.c:257
#, c-format
msgid "No Data"
msgstr "没有資料"
-#: ../src/viktrwlayer_propwin.c:3031
+#: ../src/viktrwlayer_propwin.c:3006
#, c-format
msgid "%d minutes"
msgstr "%d 分鐘"
-#: ../src/viktrwlayer_propwin.c:3058
+#: ../src/viktrwlayer_propwin.c:3016 ../src/viktrwlayer_analysis.c:515
msgid "Statistics"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3064
+#: ../src/viktrwlayer_propwin.c:3022
msgid "Show D_EM"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3065 ../src/viktrwlayer_propwin.c:3080
-#: ../src/viktrwlayer_propwin.c:3094 ../src/viktrwlayer_propwin.c:3136
+#: ../src/viktrwlayer_propwin.c:3023 ../src/viktrwlayer_propwin.c:3038
+#: ../src/viktrwlayer_propwin.c:3052 ../src/viktrwlayer_propwin.c:3094
msgid "Show _GPS Speed"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3067 ../src/viktrwlayer_propwin.c:3082
-#: ../src/viktrwlayer_propwin.c:3110 ../src/viktrwlayer_propwin.c:3138
+#: ../src/viktrwlayer_propwin.c:3025 ../src/viktrwlayer_propwin.c:3040
+#: ../src/viktrwlayer_propwin.c:3068 ../src/viktrwlayer_propwin.c:3096
msgid "<b>Track Distance:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3068 ../src/viktrwlayer_propwin.c:3125
+#: ../src/viktrwlayer_propwin.c:3026 ../src/viktrwlayer_propwin.c:3083
msgid "<b>Track Height:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3073
+#: ../src/viktrwlayer_propwin.c:3031
msgid "Elevation-distance"
msgstr "高度-距離"
-#: ../src/viktrwlayer_propwin.c:3083
+#: ../src/viktrwlayer_propwin.c:3041
msgid "<b>Track Gradient:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3087
+#: ../src/viktrwlayer_propwin.c:3045
msgid "Gradient-distance"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3096 ../src/viktrwlayer_propwin.c:3111
-#: ../src/viktrwlayer_propwin.c:3124
+#: ../src/viktrwlayer_propwin.c:3054 ../src/viktrwlayer_propwin.c:3069
+#: ../src/viktrwlayer_propwin.c:3082
msgid "<b>Track Time:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3097 ../src/viktrwlayer_propwin.c:3139
+#: ../src/viktrwlayer_propwin.c:3055 ../src/viktrwlayer_propwin.c:3097
msgid "<b>Track Speed:</b>"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3101
+#: ../src/viktrwlayer_propwin.c:3059
msgid "Speed-time"
msgstr "速度-時間"
-#: ../src/viktrwlayer_propwin.c:3108 ../src/viktrwlayer_propwin.c:3122
+#: ../src/viktrwlayer_propwin.c:3066 ../src/viktrwlayer_propwin.c:3080
msgid "Show S_peed"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3115
+#: ../src/viktrwlayer_propwin.c:3073
msgid "Distance-time"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3129
+#: ../src/viktrwlayer_propwin.c:3087
msgid "Elevation-time"
msgstr ""
-#: ../src/viktrwlayer_propwin.c:3143
+#: ../src/viktrwlayer_propwin.c:3101
msgid "Speed-distance"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:118
+#: ../src/viktrwlayer_tpwin.c:119
msgid "<b>Part of Track:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:119
+#: ../src/viktrwlayer_tpwin.c:120
msgid "<b>Latitude:</b>"
msgstr "<b>緯度 :</b>"
-#: ../src/viktrwlayer_tpwin.c:120
+#: ../src/viktrwlayer_tpwin.c:121
msgid "<b>Longitude:</b>"
msgstr "<b>經度 :</b>"
-#: ../src/viktrwlayer_tpwin.c:121
+#: ../src/viktrwlayer_tpwin.c:122
msgid "<b>Altitude:</b>"
msgstr "<b>高度 :</b>"
-#: ../src/viktrwlayer_tpwin.c:122
+#: ../src/viktrwlayer_tpwin.c:123
+msgid "<b>Course:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_tpwin.c:124
msgid "<b>Timestamp:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:123
+#: ../src/viktrwlayer_tpwin.c:125
msgid "<b>Time:</b>"
msgstr "<b>時間 :</b>"
-#: ../src/viktrwlayer_tpwin.c:124
+#: ../src/viktrwlayer_tpwin.c:126
msgid "<b>Distance Difference:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:125
+#: ../src/viktrwlayer_tpwin.c:127
msgid "<b>Time Difference:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:126
+#: ../src/viktrwlayer_tpwin.c:128
msgid "<b>\"Speed\" Between:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:127
+#: ../src/viktrwlayer_tpwin.c:129
+msgid "<b>Speed:</b>"
+msgstr ""
+
+#: ../src/viktrwlayer_tpwin.c:130
msgid "<b>VDOP:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:128
+#: ../src/viktrwlayer_tpwin.c:131
msgid "<b>HDOP:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:129
+#: ../src/viktrwlayer_tpwin.c:132
msgid "<b>PDOP:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:130
+#: ../src/viktrwlayer_tpwin.c:133
msgid "<b>SAT/FIX:</b>"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:139
+#: ../src/viktrwlayer_tpwin.c:141
msgid "Trackpoint"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:142
+#: ../src/viktrwlayer_tpwin.c:144
msgid "_Insert After"
msgstr ""
-#: ../src/viktrwlayer_tpwin.c:144
+#: ../src/viktrwlayer_tpwin.c:146
msgid "Split Here"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:446
+#.
+#. item = gtk_image_menu_item_new_with_mnemonic ( _("_Select") );
+#. gtk_image_menu_item_set_image ( (GtkImageMenuItem*)item, gtk_image_new_from_stock (GTK_STOCK_FIND, GTK_ICON_SIZE_MENU) );
+#. g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(trw_layer_track_select), values );
+#. gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
+#. gtk_widget_show ( item );
+#.
+#. ATM view auto selects, so don't bother with separate select menu entry
+#: ../src/viktrwlayer_tracklist.c:231 ../src/vikwindow.c:3695
+msgid "_View"
+msgstr "_V 檢視"
+
+#. Insert column for the layer name when viewing multi layers
+#: ../src/viktrwlayer_tracklist.c:514
+msgid "Layer"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:526
+msgid "Date"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:529
+msgid "Visible"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:536
+msgid ""
+"Distance\n"
+"(miles)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:539
+msgid ""
+"Distance\n"
+"(km)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:545
+msgid ""
+"Length\n"
+"(minutes)"
+msgstr ""
+
+#. VIK_UNITS_SPEED_KILOMETRES_PER_HOUR:
+#: ../src/viktrwlayer_tracklist.c:549 ../src/vikutils.c:72
+msgid "km/h"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:550 ../src/vikutils.c:62
+msgid "mph"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:551 ../src/vikutils.c:68
+msgid "knots"
+msgstr ""
+
+#. VIK_UNITS_SPEED_METRES_PER_SECOND:
+#: ../src/viktrwlayer_tracklist.c:553 ../src/vikutils.c:65
+msgid "m/s"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:556
+#, c-format
+msgid ""
+"Av. Speed\n"
+"(%s)"
+msgstr ""
+
+#. Apply own formatting of the data
+#: ../src/viktrwlayer_tracklist.c:561
+#, c-format
+msgid ""
+"Max Speed\n"
+"(%s)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:569
+msgid ""
+"Max Height\n"
+"(Feet)"
+msgstr ""
+
+#: ../src/viktrwlayer_tracklist.c:571
+msgid ""
+"Max Height\n"
+"(Metres)"
+msgstr ""
+
+#: ../src/viktrwlayer_geotag.c:481
#, c-format
msgid "Geotagging %d Images..."
msgstr ""
-#: ../src/viktrwlayer_geotag.c:510
+#: ../src/viktrwlayer_geotag.c:545
msgid "Geotag Images"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:516
+#: ../src/viktrwlayer_geotag.c:551
msgid "Images"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:520
+#: ../src/viktrwlayer_geotag.c:555
msgid "Overwrite Existing Waypoints:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:523
+#: ../src/viktrwlayer_geotag.c:558
msgid "Overwrite Existing GPS Information:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:525
+#: ../src/viktrwlayer_geotag.c:560
msgid "Keep File Modification Timestamp:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:555
+#: ../src/viktrwlayer_geotag.c:592
msgid "Create Waypoints:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:563
+#: ../src/viktrwlayer_geotag.c:600
msgid "Write EXIF:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:575
+#: ../src/viktrwlayer_geotag.c:612
msgid "Interpolate Between Track Segments:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:579
+#: ../src/viktrwlayer_geotag.c:616
msgid "Image Time Offset (Seconds):"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:581
+#: ../src/viktrwlayer_geotag.c:618
msgid ""
"The number of seconds to ADD to the photos time to make it match the GPS "
"data. Calculate this with (GPS - Photo). Can be negative or positive. Useful "
"to adjust times when a camera's timestamp was incorrect."
msgstr ""
-#: ../src/viktrwlayer_geotag.c:584
+#: ../src/viktrwlayer_geotag.c:621
msgid "Image Timezone:"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:586
+#: ../src/viktrwlayer_geotag.c:623
msgid ""
"The timezone that was used when the images were created. For example, if a "
"camera is set to AWST or +8:00 hours. Enter +8:00 here so that the correct "
"adjustment to the images' time can be made. GPS data is always in UTC."
msgstr ""
-#: ../src/viktrwlayer_geotag.c:590
+#: ../src/viktrwlayer_geotag.c:627
#, c-format
msgid "Using track: %s"
msgstr ""
-#: ../src/viktrwlayer_geotag.c:592
+#: ../src/viktrwlayer_geotag.c:629
#, c-format
msgid "Using all tracks in: %s"
msgstr ""
-#: ../src/vikstatus.c:105
+#: ../src/viktrwlayer_analysis.c:193
+msgid "Number of Tracks"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:194
+msgid "Date Range"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:195
+msgid "Total Length"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:196
+msgid "Average Length"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:197
+msgid "Max Speed"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:198
+msgid "Avg. Speed"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:199
+msgid "Minimum Altitude"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:200
+msgid "Maximum Altitude"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:201
+msgid "Total Elevation Gain/Loss"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:202
+msgid "Avg. Elevation Gain/Loss"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:203
+msgid "Total Duration"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:204
+msgid "Avg. Duration"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:278
+#, c-format
+msgid "%.2f miles"
+msgstr ""
+
+#. VIK_UNITS_DISTANCE_KILOMETRES
+#: ../src/viktrwlayer_analysis.c:282
+#, c-format
+msgid "%.2f km"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:297
+#, c-format
+msgid "%.2f m/s"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:306
+#, c-format
+msgid "%.2f knots\n"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:309
+#, c-format
+msgid "%.2f knots"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:316 ../src/viktrwlayer_analysis.c:319
+#, c-format
+msgid "%.2f km/h"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:330 ../src/viktrwlayer_analysis.c:336
+#, c-format
+msgid "%d feet"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:341 ../src/viktrwlayer_analysis.c:343
+#, c-format
+msgid "%d feet / %d feet"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:348 ../src/viktrwlayer_analysis.c:354
+#, c-format
+msgid "%d m"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:359 ../src/viktrwlayer_analysis.c:361
+#, c-format
+msgid "%d m / %d m"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:373
+#, c-format
+msgid "%d:%02d:%02d days:hrs:mins"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:380
+#, c-format
+msgid "%d:%02d hrs:mins"
+msgstr ""
+
+#: ../src/viktrwlayer_analysis.c:550
+msgid "Include Invisible Items"
+msgstr ""
+
+#: ../src/vikstatus.c:107
+msgid "Current number of background tasks. Click to see the background jobs."
+msgstr ""
+
+#: ../src/vikstatus.c:113
msgid "Current zoom level. Click to select a new one."
msgstr ""
-#: ../src/vikwaypoint.c:34
+#: ../src/vikutils.c:80
+msgid "GPSD"
+msgstr ""
+
+#. GPS Preamble
+#: ../src/vikutils.c:81
+msgid "Trkpt"
+msgstr ""
+
+#: ../src/vikutils.c:121
+#, c-format
+msgid "%sSpeed%s %.1f%s"
+msgstr ""
+
+#: ../src/vikutils.c:130
+#, c-format
+msgid "%sAlt %dfeet"
+msgstr ""
+
+#. VIK_UNITS_HEIGHT_METRES:
+#: ../src/vikutils.c:134
+#, c-format
+msgid "%sAlt %dm"
+msgstr ""
+
+#: ../src/vikutils.c:142
+#, c-format
+msgid "%sCourse %03d°"
+msgstr ""
+
+#: ../src/vikutils.c:155
+msgid "yards"
+msgstr ""
+
+#. VIK_UNITS_DISTANCE_KILOMETRES:
+#: ../src/vikutils.c:159
+msgid "m"
+msgstr ""
+
+#: ../src/vikutils.c:163
+#, c-format
+msgid "%sDistance diff %d%s"
+msgstr ""
+
+#: ../src/vikutils.c:179
+#, c-format
+msgid "%sTime %s"
+msgstr ""
+
+#: ../src/vikutils.c:187
+#, c-format
+msgid "%sTime diff %lds"
+msgstr ""
+
+#: ../src/vikutils.c:193
+#, c-format
+msgid "%sNo. of Sats %d"
+msgstr ""
+
+#: ../src/vikutils.c:213
+#, c-format
+msgid "%sDistance along %.2f%s"
+msgstr ""
+
+#. Name of track
+#: ../src/vikutils.c:232
+#, c-format
+msgid "%sTrack: %s"
+msgstr ""
+
+#: ../src/vikwaypoint.c:36
msgid "Waypoint"
msgstr ""
#. TODO get rid of this as this is unnecessary duplication...
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Pan"
msgstr "移動"
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Zoom"
msgstr "縮放"
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Ruler"
msgstr "測距"
-#: ../src/vikwindow.c:221
+#: ../src/vikwindow.c:224
msgid "Select"
msgstr ""
+#: ../src/vikwindow.c:381
+msgid "Location lookup aborted"
+msgstr ""
+
+#: ../src/vikwindow.c:401
+#, c-format
+msgid "Location found: %s"
+msgstr ""
+
+#: ../src/vikwindow.c:410
+msgid "Unable to determine location"
+msgstr ""
+
+#: ../src/vikwindow.c:434
+msgid "Default Map"
+msgstr ""
+
+#: ../src/vikwindow.c:444
+msgid "Trying to determine location..."
+msgstr ""
+
+#: ../src/vikwindow.c:447
+msgid "Determining location"
+msgstr ""
+
#. Create tooltip
-#: ../src/vikwindow.c:440
+#: ../src/vikwindow.c:605
msgid "Select zoom level"
msgstr ""
-#: ../src/vikwindow.c:645
+#: ../src/vikwindow.c:923
#, c-format
msgid ""
"Do you want to save the changes you made to the document \"%s\"?\n"
@@ -3141,624 +3983,708 @@ msgid ""
"Your changes will be lost if you don't save them."
msgstr ""
-#: ../src/vikwindow.c:649
+#: ../src/vikwindow.c:927
msgid "Don't Save"
msgstr "不儲存"
-#: ../src/vikwindow.c:696
+#: ../src/vikwindow.c:1005
msgid "mpp"
msgstr "mpp"
-#: ../src/vikwindow.c:696
+#: ../src/vikwindow.c:1005
msgid "pixelfact"
msgstr "pixelfact"
-#: ../src/vikwindow.c:861
+#: ../src/vikwindow.c:1169
#, c-format
msgid "%s %s %dm"
msgstr ""
-#: ../src/vikwindow.c:863
+#: ../src/vikwindow.c:1171
#, c-format
msgid "%s %s %dft"
msgstr ""
-#: ../src/vikwindow.c:866
+#: ../src/vikwindow.c:1174
#, c-format
msgid "%s %s"
msgstr ""
#. NB Ctrl+Shift+R is used for Refresh (deemed more important), so use 'U' instead
-#: ../src/vikwindow.c:1254
+#: ../src/vikwindow.c:1562
msgid "_Ruler"
msgstr "_R 測距"
-#: ../src/vikwindow.c:1254
+#: ../src/vikwindow.c:1562
msgid "Ruler Tool"
msgstr "測距工具"
-#: ../src/vikwindow.c:1502 ../src/vikwindow.c:3138
+#: ../src/vikwindow.c:1810 ../src/vikwindow.c:3697
msgid "_Zoom"
msgstr "_Z 縮放"
-#: ../src/vikwindow.c:1502
+#: ../src/vikwindow.c:1810
msgid "Zoom Tool"
msgstr "縮放工具"
-#: ../src/vikwindow.c:1547 ../src/vikwindow.c:3139
+#: ../src/vikwindow.c:1855 ../src/vikwindow.c:3698
msgid "_Pan"
msgstr "_P 平移"
-#: ../src/vikwindow.c:1547
+#: ../src/vikwindow.c:1855
msgid "Pan Tool"
msgstr ""
-#: ../src/vikwindow.c:1664
+#: ../src/vikwindow.c:1972
msgid "_Select"
msgstr ""
-#: ../src/vikwindow.c:1664
+#: ../src/vikwindow.c:1972
msgid "Select Tool"
msgstr ""
-#: ../src/vikwindow.c:1809
+#: ../src/vikwindow.c:2123
msgid "You must select a layer to show its properties."
msgstr "您必須選一個層才能察看它的屬性"
#. No error to show, so unlikely this will get called
-#: ../src/vikwindow.c:1824
+#: ../src/vikwindow.c:2137
msgid "The help system is not available."
msgstr ""
#. Main error path
-#: ../src/vikwindow.c:1827
+#: ../src/vikwindow.c:2140
#, c-format
msgid ""
"Help is not available because: %s.\n"
"Ensure a Mime Type ghelp handler program is installed (e.g. yelp)."
msgstr ""
-#: ../src/vikwindow.c:1850
+#: ../src/vikwindow.c:2160
msgid "You must select a layer to delete."
msgstr "您必須選一個層才可移除"
-#: ../src/vikwindow.c:2087
+#: ../src/vikwindow.c:2396
msgid "Untitled"
msgstr "未命名的"
-#: ../src/vikwindow.c:2194
+#: ../src/vikwindow.c:2503
#, c-format
msgid "Unable to add '%s' to the list of recently used documents"
msgstr ""
-#: ../src/vikwindow.c:2208
+#: ../src/vikwindow.c:2540
msgid "The file you requested could not be opened."
msgstr "您選的檔案無法被開啟"
-#: ../src/vikwindow.c:2211
+#: ../src/vikwindow.c:2543
msgid ""
"GPSBabel is required to load files of this type or GPSBabel encountered "
"problems."
msgstr ""
-#: ../src/vikwindow.c:2214
+#: ../src/vikwindow.c:2546
#, c-format
msgid "Unable to load malformed GPX file %s"
msgstr ""
-#: ../src/vikwindow.c:2217
+#: ../src/vikwindow.c:2549
#, c-format
msgid "Unsupported file type for %s"
msgstr ""
#. Since we can process .vik files with issues just show a warning in the status bar
#. Not that a user can do much about it... or tells them what this issue is yet...
-#: ../src/vikwindow.c:2223
+#: ../src/vikwindow.c:2555
#, c-format
msgid "WARNING: issues encountered loading %s"
msgstr ""
-#: ../src/vikwindow.c:2278
+#: ../src/vikwindow.c:2613
msgid "Please select a GPS data file to open. "
msgstr "請選取一個GPS資料檔案來開啟 "
-#: ../src/vikwindow.c:2288
+#: ../src/vikwindow.c:2629
msgid "Geocaching"
msgstr ""
-#: ../src/vikwindow.c:2294
+#: ../src/vikwindow.c:2635
msgid "Google Earth"
msgstr ""
-#: ../src/vikwindow.c:2299
+#: ../src/vikwindow.c:2640
msgid "GPX"
msgstr ""
-#: ../src/vikwindow.c:2304 ../src/vikwindow.c:2387
+#: ../src/vikwindow.c:2645 ../src/vikwindow.c:2734
#: ../src/viking.desktop.in.h:1
msgid "Viking"
msgstr ""
-#: ../src/vikwindow.c:2374
+#: ../src/vikwindow.c:2715
msgid "Save as Viking File."
msgstr "另存新檔Viking檔案."
+#: ../src/vikwindow.c:2841
+msgid "Exporting to file: "
+msgstr ""
+
+#. Confirm what happened.
+#: ../src/vikwindow.c:2858
+#, c-format
+msgid "Exported files: %d"
+msgstr ""
+
+#: ../src/vikwindow.c:2870
+msgid "Nothing to Export!"
+msgstr ""
+
+#: ../src/vikwindow.c:2874
+msgid "Export to directory"
+msgstr ""
+
+#: ../src/vikwindow.c:2896
+msgid "Could not convert all files"
+msgstr ""
+
+#: ../src/vikwindow.c:2932
+#, c-format
+msgid "%d bytes"
+msgstr ""
+
+#: ../src/vikwindow.c:2934
+#, c-format
+msgid "%3.1f kB"
+msgstr ""
+
+#: ../src/vikwindow.c:2936
+#, c-format
+msgid "%3.1f MB"
+msgstr ""
+
+#: ../src/vikwindow.c:2937
+#, c-format
+msgid ""
+"%s\n"
+"\n"
+"%s\n"
+"\n"
+"%s"
+msgstr ""
+
+#: ../src/vikwindow.c:2942
+msgid "File not accessible"
+msgstr ""
+
+#: ../src/vikwindow.c:2945
+msgid "No Viking File"
+msgstr ""
+
+#: ../src/vikwindow.c:3035
+msgid "This layer has no configurable properties."
+msgstr ""
+
#. Try harder...
-#: ../src/vikwindow.c:2619 ../src/vikwindow.c:2625
+#: ../src/vikwindow.c:3169 ../src/vikwindow.c:3175
msgid "Generating image file..."
msgstr ""
-#: ../src/vikwindow.c:2647
+#: ../src/vikwindow.c:3197
msgid ""
"Failed to generate internal image.\n"
"\n"
"Try creating a smaller image."
msgstr ""
-#: ../src/vikwindow.c:2655
+#: ../src/vikwindow.c:3205
msgid "Failed to generate image file."
msgstr ""
#. Success
-#: ../src/vikwindow.c:2660
+#: ../src/vikwindow.c:3210
msgid "Image file generated."
msgstr ""
-#: ../src/vikwindow.c:2764
+#: ../src/vikwindow.c:3314
msgid ""
"Viewable region outside allowable pixel size bounds for image. Clipping "
"width/height values."
msgstr ""
-#: ../src/vikwindow.c:2789
+#: ../src/vikwindow.c:3339
#, c-format
msgid "Total area: %ldm x %ldm (%.3f sq. km)"
msgstr "全部區域: %ldm x %ldm (%.3f 平方公裡)"
-#: ../src/vikwindow.c:2792
+#: ../src/vikwindow.c:3342
#, c-format
msgid "Total area: %ldm x %ldm (%.3f sq. miles)"
msgstr ""
-#: ../src/vikwindow.c:2813
+#: ../src/vikwindow.c:3363
msgid "Save Image"
msgstr "儲存影像"
-#: ../src/vikwindow.c:2834
+#: ../src/vikwindow.c:3393
msgid "PNG"
msgstr ""
-#: ../src/vikwindow.c:2857
+#: ../src/vikwindow.c:3416
msgid "You must be in UTM mode to use this feature"
msgstr "你必須在UTM型態中來使用這個特徴"
-#: ../src/vikwindow.c:2862
+#: ../src/vikwindow.c:3421
msgid "Choose a directory to hold images"
msgstr ""
#. todo: default for answers inside VikWindow or static (thruout instance)
-#: ../src/vikwindow.c:2883
+#: ../src/vikwindow.c:3442
msgid "Save to Image File"
msgstr "儲存為圖片檔案"
-#: ../src/vikwindow.c:2900
+#: ../src/vikwindow.c:3459
msgid "Width (pixels):"
msgstr "寬度 (像素) :"
-#: ../src/vikwindow.c:2902
+#: ../src/vikwindow.c:3461
msgid "Height (pixels):"
msgstr "高度 (像素) :"
-#: ../src/vikwindow.c:2905
+#: ../src/vikwindow.c:3464
msgid ""
"WARNING: USING LARGE IMAGES OVER 10000x10000\n"
"MAY CRASH THE PROGRAM!"
msgstr ""
-#: ../src/vikwindow.c:2907
+#: ../src/vikwindow.c:3466
msgid "Zoom (meters per pixel):"
msgstr "縮放 (米/像素) :"
-#: ../src/vikwindow.c:2921
+#: ../src/vikwindow.c:3482
msgid "Area in current viewable window"
msgstr ""
-#: ../src/vikwindow.c:2931
+#: ../src/vikwindow.c:3492
msgid "Save as PNG"
msgstr "儲存為PNG"
-#: ../src/vikwindow.c:2932
+#: ../src/vikwindow.c:3493
msgid "Save as JPEG"
msgstr "儲存為JPEG"
-#: ../src/vikwindow.c:2954
+#: ../src/vikwindow.c:3515
msgid "East-west image tiles:"
msgstr ""
-#: ../src/vikwindow.c:2956
+#: ../src/vikwindow.c:3517
msgid "North-south image tiles:"
msgstr ""
-#: ../src/vikwindow.c:3097
+#: ../src/vikwindow.c:3656
msgid "Choose a background color"
msgstr "選取一個背景色"
-#: ../src/vikwindow.c:3113
+#: ../src/vikwindow.c:3672
msgid "Choose a track highlight color"
msgstr ""
-#: ../src/vikwindow.c:3134
+#: ../src/vikwindow.c:3693
msgid "_File"
msgstr "_F 檔案"
-#: ../src/vikwindow.c:3135
+#: ../src/vikwindow.c:3694
msgid "_Edit"
msgstr "_E 編輯"
-#: ../src/vikwindow.c:3136
-msgid "_View"
-msgstr "_V 檢視"
-
-#: ../src/vikwindow.c:3137
+#: ../src/vikwindow.c:3696
msgid "_Show"
msgstr ""
-#: ../src/vikwindow.c:3140
+#: ../src/vikwindow.c:3699
msgid "_Layers"
msgstr "_L 圖層"
-#: ../src/vikwindow.c:3141
+#: ../src/vikwindow.c:3700
msgid "_Tools"
msgstr "_T 工具"
-#: ../src/vikwindow.c:3142
+#: ../src/vikwindow.c:3701
msgid "_Webtools"
msgstr ""
-#: ../src/vikwindow.c:3143 ../src/vikwindow.c:3206
+#: ../src/vikwindow.c:3702 ../src/vikwindow.c:3763
msgid "_Help"
msgstr "_H 輔助說明"
-#: ../src/vikwindow.c:3145
+#: ../src/vikwindow.c:3704
msgid "New file"
msgstr "新建檔案"
-#: ../src/vikwindow.c:3146
+#: ../src/vikwindow.c:3705
msgid "_Open..."
msgstr "_O 開啟..."
-#: ../src/vikwindow.c:3146
+#: ../src/vikwindow.c:3705
msgid "Open a file"
msgstr "開啟一個檔案"
-#: ../src/vikwindow.c:3147
+#: ../src/vikwindow.c:3706
msgid "Open _Recent File"
msgstr ""
-#: ../src/vikwindow.c:3148
+#: ../src/vikwindow.c:3707
msgid "Append _File..."
msgstr "_p 增加檔案..."
-#: ../src/vikwindow.c:3148
+#: ../src/vikwindow.c:3707
msgid "Append data from a different file"
msgstr "從不同的檔案中追加資料"
-#: ../src/vikwindow.c:3149
+#: ../src/vikwindow.c:3708
+msgid "_Export All"
+msgstr ""
+
+#: ../src/vikwindow.c:3708
+msgid "Export All TrackWaypoint Layers"
+msgstr ""
+
+#: ../src/vikwindow.c:3709
+msgid "_GPX..."
+msgstr ""
+
+#: ../src/vikwindow.c:3709
+msgid "Export as GPX"
+msgstr ""
+
+#: ../src/vikwindow.c:3710
msgid "A_cquire"
msgstr "_c 抓取"
-#: ../src/vikwindow.c:3150
+#: ../src/vikwindow.c:3711
msgid "Transfer data from a GPS device"
msgstr "從一個GPS接收器獲得資料"
-#: ../src/vikwindow.c:3151
+#: ../src/vikwindow.c:3712
msgid "Import File With GPS_Babel..."
msgstr ""
-#: ../src/vikwindow.c:3151
+#: ../src/vikwindow.c:3712
msgid "Import file via GPSBabel converter"
msgstr ""
-#: ../src/vikwindow.c:3153
-msgid "Google _Directions..."
-msgstr "_D 榖歌方位..."
+#: ../src/vikwindow.c:3713
+msgid "_Directions..."
+msgstr ""
-#: ../src/vikwindow.c:3153
-msgid "Get driving directions from Google"
-msgstr "從榖歌獲得駕駛方位"
+#: ../src/vikwindow.c:3713
+msgid "Get driving directions"
+msgstr ""
-#: ../src/vikwindow.c:3156
+#: ../src/vikwindow.c:3715
msgid "_OSM Traces..."
msgstr ""
-#: ../src/vikwindow.c:3156
+#: ../src/vikwindow.c:3715
msgid "Get traces from OpenStreetMap"
msgstr ""
-#: ../src/vikwindow.c:3157
+#: ../src/vikwindow.c:3716
msgid "_My OSM Traces..."
msgstr ""
-#: ../src/vikwindow.c:3157
+#: ../src/vikwindow.c:3716
msgid "Get Your Own Traces from OpenStreetMap"
msgstr ""
-#: ../src/vikwindow.c:3160
+#: ../src/vikwindow.c:3719
msgid "Geo_caches..."
msgstr ""
-#: ../src/vikwindow.c:3160
+#: ../src/vikwindow.c:3719
msgid "Get Geocaches from geocaching.com"
msgstr "從geocaching.com獲得地理緩衝區資料"
-#: ../src/vikwindow.c:3163
+#: ../src/vikwindow.c:3722
msgid "Create waypoints from geotagged images"
msgstr ""
-#: ../src/vikwindow.c:3166
+#: ../src/vikwindow.c:3725
msgid "Create waypoints from Wikipedia items in the current view"
msgstr ""
-#: ../src/vikwindow.c:3168
+#: ../src/vikwindow.c:3727
msgid "_Save"
msgstr "_S 儲存"
-#: ../src/vikwindow.c:3168
+#: ../src/vikwindow.c:3727
msgid "Save the file"
msgstr "儲存這個檔案"
-#: ../src/vikwindow.c:3169
+#: ../src/vikwindow.c:3728
msgid "Save _As..."
msgstr "_A 另存新檔..."
-#: ../src/vikwindow.c:3169
+#: ../src/vikwindow.c:3728
msgid "Save the file under different name"
msgstr "儲存為其他名字的檔案"
-#: ../src/vikwindow.c:3170
+#: ../src/vikwindow.c:3729
+msgid "Properties..."
+msgstr ""
+
+#: ../src/vikwindow.c:3729
+msgid "File Properties"
+msgstr ""
+
+#: ../src/vikwindow.c:3730
msgid "_Generate Image File..."
msgstr "_G 生成圖形檔案..."
-#: ../src/vikwindow.c:3170
+#: ../src/vikwindow.c:3730
msgid "Save a snapshot of the workspace into a file"
msgstr ""
-#: ../src/vikwindow.c:3171
+#: ../src/vikwindow.c:3731
msgid "Generate _Directory of Images..."
msgstr "_D 建立圖片的目録..."
-#: ../src/vikwindow.c:3171
+#: ../src/vikwindow.c:3731
msgid "FIXME:IMGDIR"
msgstr ""
-#: ../src/vikwindow.c:3174
+#: ../src/vikwindow.c:3732
msgid "_Print..."
msgstr "_P 列印"
-#: ../src/vikwindow.c:3174
+#: ../src/vikwindow.c:3732
msgid "Print maps"
msgstr "列印地圖"
-#: ../src/vikwindow.c:3177
+#: ../src/vikwindow.c:3733
msgid "E_xit"
msgstr "_x 結束"
-#: ../src/vikwindow.c:3177
+#: ../src/vikwindow.c:3733
msgid "Exit the program"
msgstr "結束程式"
-#: ../src/vikwindow.c:3178
+#: ../src/vikwindow.c:3734
msgid "Save and Exit"
msgstr "儲存并結束"
-#: ../src/vikwindow.c:3178
+#: ../src/vikwindow.c:3734
msgid "Save and Exit the program"
msgstr "儲存并結束程式"
-#: ../src/vikwindow.c:3180
+#: ../src/vikwindow.c:3736
msgid "Go to the _Default Location"
msgstr ""
-#: ../src/vikwindow.c:3180
+#: ../src/vikwindow.c:3736
msgid "Go to the default location"
msgstr ""
-#: ../src/vikwindow.c:3181
+#: ../src/vikwindow.c:3737
msgid "Go to _Location..."
msgstr ""
-#: ../src/vikwindow.c:3181
+#: ../src/vikwindow.c:3737
msgid "Go to address/place using text search"
msgstr ""
-#: ../src/vikwindow.c:3182
+#: ../src/vikwindow.c:3738
msgid "_Go to Lat/Lon..."
msgstr "_G 前往一個經緯度值..."
-#: ../src/vikwindow.c:3182
+#: ../src/vikwindow.c:3738
msgid "Go to arbitrary lat/lon coordinate"
msgstr "前往任意的經緯度座標"
-#: ../src/vikwindow.c:3183
+#: ../src/vikwindow.c:3739
msgid "Go to UTM..."
msgstr "前往UTM..."
-#: ../src/vikwindow.c:3183
+#: ../src/vikwindow.c:3739
msgid "Go to arbitrary UTM coordinate"
msgstr "前往任意的UTM座標"
-#: ../src/vikwindow.c:3184
+#: ../src/vikwindow.c:3740
msgid "_Refresh"
msgstr ""
-#: ../src/vikwindow.c:3184
+#: ../src/vikwindow.c:3740
msgid "Refresh any maps displayed"
msgstr ""
-#: ../src/vikwindow.c:3185
+#: ../src/vikwindow.c:3741
msgid "Set _Highlight Color..."
msgstr ""
-#: ../src/vikwindow.c:3186
+#: ../src/vikwindow.c:3742
msgid "Set Bac_kground Color..."
msgstr ""
-#: ../src/vikwindow.c:3187
+#: ../src/vikwindow.c:3743
msgid "Zoom _In"
msgstr "_I 縮小"
-#: ../src/vikwindow.c:3188
+#: ../src/vikwindow.c:3744
msgid "Zoom _Out"
msgstr "_O 放大"
-#: ../src/vikwindow.c:3189
+#: ../src/vikwindow.c:3745
msgid "Zoom _To..."
msgstr "_T 縮放到..."
-#: ../src/vikwindow.c:3190
+#: ../src/vikwindow.c:3746
msgid "Pan _North"
msgstr ""
-#: ../src/vikwindow.c:3191
+#: ../src/vikwindow.c:3747
msgid "Pan _East"
msgstr ""
-#: ../src/vikwindow.c:3192
+#: ../src/vikwindow.c:3748
msgid "Pan _South"
msgstr ""
-#: ../src/vikwindow.c:3193
+#: ../src/vikwindow.c:3749
msgid "Pan _West"
msgstr ""
-#: ../src/vikwindow.c:3194
+#: ../src/vikwindow.c:3750
msgid "Background _Jobs"
msgstr "_J 背景工作"
-#: ../src/vikwindow.c:3196
+#: ../src/vikwindow.c:3752
msgid "Cu_t"
msgstr "_t 剪取"
-#: ../src/vikwindow.c:3197
-msgid "_Copy"
-msgstr "_C 拷貝"
-
-#: ../src/vikwindow.c:3198
-msgid "_Paste"
-msgstr "_P 黏貼"
-
-#: ../src/vikwindow.c:3199
-msgid "_Delete"
-msgstr "_D 移除"
-
-#: ../src/vikwindow.c:3200
+#: ../src/vikwindow.c:3756
msgid "Delete All"
msgstr "全部移除"
-#: ../src/vikwindow.c:3201
+#: ../src/vikwindow.c:3757
msgid "_Flush Map Cache"
msgstr ""
-#: ../src/vikwindow.c:3202
+#: ../src/vikwindow.c:3758
msgid "_Set the Default Location"
msgstr ""
-#: ../src/vikwindow.c:3202
+#: ../src/vikwindow.c:3758
msgid "Set the Default Location to the current position"
msgstr ""
-#: ../src/vikwindow.c:3203
+#: ../src/vikwindow.c:3759
msgid "_Preferences"
msgstr "_P 個人偏好"
-#: ../src/vikwindow.c:3204
+#: ../src/vikwindow.c:3760
+msgid "_Layer Defaults"
+msgstr ""
+
+#: ../src/vikwindow.c:3761
msgid "_Properties"
msgstr "_P 屬性"
-#: ../src/vikwindow.c:3207
+#: ../src/vikwindow.c:3764
msgid "_About"
msgstr "_A 關于"
-#: ../src/vikwindow.c:3213
+#: ../src/vikwindow.c:3768
+msgid "_KML..."
+msgstr ""
+
+#: ../src/vikwindow.c:3768
+msgid "Export as KML"
+msgstr ""
+
+#: ../src/vikwindow.c:3774
msgid "_UTM Mode"
msgstr "_UTM 型態"
-#: ../src/vikwindow.c:3214
+#: ../src/vikwindow.c:3775
msgid "_Expedia Mode"
msgstr "_Expedia 型態"
-#: ../src/vikwindow.c:3215
+#: ../src/vikwindow.c:3776
msgid "_Mercator Mode"
msgstr ""
-#: ../src/vikwindow.c:3216
+#: ../src/vikwindow.c:3777
msgid "Lat_/Lon Mode"
msgstr ""
-#: ../src/vikwindow.c:3220
+#: ../src/vikwindow.c:3781
msgid "Show _Scale"
msgstr ""
-#: ../src/vikwindow.c:3220
+#: ../src/vikwindow.c:3781
msgid "Show Scale"
msgstr "察看比例尺"
-#: ../src/vikwindow.c:3221
+#: ../src/vikwindow.c:3782
msgid "Show _Center Mark"
msgstr ""
-#: ../src/vikwindow.c:3221
+#: ../src/vikwindow.c:3782
msgid "Show Center Mark"
msgstr "察看中心記號"
-#: ../src/vikwindow.c:3222
+#: ../src/vikwindow.c:3783
msgid "Show _Highlight"
msgstr ""
-#: ../src/vikwindow.c:3222
+#: ../src/vikwindow.c:3783
msgid "Show Highlight"
msgstr ""
-#: ../src/vikwindow.c:3223
+#: ../src/vikwindow.c:3784
msgid "_Full Screen"
msgstr "全屏"
-#: ../src/vikwindow.c:3223
+#: ../src/vikwindow.c:3784
msgid "Activate full screen mode"
msgstr ""
-#: ../src/vikwindow.c:3224
+#: ../src/vikwindow.c:3785
msgid "Show Side _Panel"
msgstr ""
-#: ../src/vikwindow.c:3224
+#: ../src/vikwindow.c:3785
msgid "Show Side Panel"
msgstr ""
-#: ../src/vikwindow.c:3225
+#: ../src/vikwindow.c:3786
msgid "Show Status_bar"
msgstr ""
-#: ../src/vikwindow.c:3225
+#: ../src/vikwindow.c:3786
msgid "Show Statusbar"
msgstr ""
-#: ../src/vikwindow.c:3226
+#: ../src/vikwindow.c:3787
msgid "Show _Toolbar"
msgstr ""
-#: ../src/vikwindow.c:3226
+#: ../src/vikwindow.c:3787
msgid "Show Toolbar"
msgstr ""
-#: ../src/vikwindow.c:3227
+#: ../src/vikwindow.c:3788
msgid "Show _Menu"
msgstr ""
-#: ../src/vikwindow.c:3227
+#: ../src/vikwindow.c:3788
msgid "Show Menu"
msgstr ""
+#: ../src/vikwindow.c:3862
+#, c-format
+msgid "New _%s Layer"
+msgstr ""
+
#: ../src/viking.desktop.in.h:2
msgid "GPS Data Manager"
msgstr ""
diff --git a/src/Makefile.am b/src/Makefile.am
index 7c712e9..b84ab11 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -49,6 +49,7 @@ libviking_a_SOURCES = \
bbox.h \
modules.h modules.c \
curl_download.c curl_download.h \
+ compression.c compression.h \
menu.xml.h \
degrees_converters.c degrees_converters.h \
globals.c globals.h \
@@ -61,6 +62,7 @@ libviking_a_SOURCES = \
gpspoint.c gpspoint.h \
dir.c dir.h \
file.c file.h \
+ fileutils.c fileutils.h \
authors.h \
documenters.h \
dialog.c dialog.h \
@@ -85,11 +87,19 @@ libviking_a_SOURCES = \
vikgoto.c vikgoto.h \
viktrwlayer_tpwin.c viktrwlayer_tpwin.h \
viktrwlayer_propwin.c viktrwlayer_propwin.h \
+ viktrwlayer_analysis.c viktrwlayer_analysis.h \
+ viktrwlayer_tracklist.c viktrwlayer_tracklist.h \
+ viktrwlayer_waypointlist.c viktrwlayer_waypointlist.h \
+ vikrouting.c vikrouting.h \
+ vikroutingengine.c vikroutingengine.h \
+ vikroutingwebengine.c vikroutingwebengine.h \
+ vikutils.c vikutils.h \
thumbnails.c thumbnails.h \
background.c background.h \
vikradiogroup.c vikradiogroup.h \
vikcoord.c vikcoord.h \
mapcache.c mapcache.h \
+ maputils.c maputils.h \
vikmapsource.c vikmapsource.h \
vikmapsourcedefault.c vikmapsourcedefault.h \
vikmapslayer.c vikmapslayer.h \
@@ -104,10 +114,11 @@ libviking_a_SOURCES = \
babel.c babel.h \
datasource_file.c \
datasource_gps.c datasource_gps.h \
- datasource_google.c \
+ datasource_routing.c \
datasource_gc.c \
datasource_bfilter.c \
datasource_wikipedia.c \
+ datasource_url.c \
datasources.h \
googlesearch.c googlesearch.h \
dem.c dem.h \
@@ -118,11 +129,15 @@ libviking_a_SOURCES = \
vikwebtool.c vikwebtool.h \
vikwebtoolcenter.c vikwebtoolcenter.h \
vikwebtoolbounds.c vikwebtoolbounds.h \
+ vikexttool_datasources.c vikexttool_datasources.h \
+ vikwebtool_datasource.c vikwebtool_datasource.h \
dems.c dems.h \
srtm_continent.c \
uibuilder.c uibuilder.h \
print-preview.c print-preview.h \
print.c print.h \
+ viklayer_defaults.c viklayer_defaults.h \
+ settings.c settings.h \
preferences.c preferences.h
if BING
@@ -183,6 +198,11 @@ endif
viking_SOURCES = main.c
LDADD = libviking.a $(PACKAGE_LIBS) @EXPAT_LIBS@ @LIBCURL@ icons/libicons.a
+if WINDOWS
+LDADD += \
+ ../win32/installer/pixmaps/viking_icon.o
+endif
+
AM_CFLAGS = -Wall -g -D_GNU_SOURCE \
$(PACKAGE_CFLAGS) \
@EXPAT_CFLAGS@ @LIBCURL_CPPFLAGS@
diff --git a/src/Makefile.in b/src/Makefile.in
index 4a41695..89959b2 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.3 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2013 Free Software Foundation, Inc.
@@ -117,13 +117,17 @@ bin_PROGRAMS = viking$(EXEEXT)
@GEOTAG_TRUE@ libjpeg/jpeg-data.c libjpeg/jpeg-data.h \
@GEOTAG_TRUE@ libjpeg/jpeg-marker.c libjpeg/jpeg-marker.h
+@WINDOWS_TRUE@am__append_9 = \
+@WINDOWS_TRUE@ ../win32/installer/pixmaps/viking_icon.o
+
subdir = src
DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
$(srcdir)/config.h.in $(top_srcdir)/mkinstalldirs \
$(top_srcdir)/depcomp
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/expat.m4 \
- $(top_srcdir)/m4/libcurl.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/libcurl.m4 $(top_srcdir)/m4/nls.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -140,26 +144,32 @@ am__v_AR_1 =
libviking_a_AR = $(AR) $(ARFLAGS)
libviking_a_LIBADD =
am__libviking_a_SOURCES_DIST = bbox.h modules.h modules.c \
- curl_download.c curl_download.h menu.xml.h \
- degrees_converters.c degrees_converters.h globals.c globals.h \
- viking.h mapcoord.h config.h viktrack.c viktrack.h \
+ curl_download.c curl_download.h compression.c compression.h \
+ menu.xml.h degrees_converters.c degrees_converters.h globals.c \
+ globals.h viking.h mapcoord.h config.h viktrack.c viktrack.h \
vikwaypoint.c vikwaypoint.h clipboard.c clipboard.h coords.c \
coords.h gpsmapper.c gpsmapper.h gpspoint.c gpspoint.h dir.c \
- dir.h file.c file.h authors.h documenters.h dialog.c dialog.h \
- util.c util.h download.c download.h vikenumtypes.c \
- vikenumtypes.h viktreeview.c viktreeview.h viktrwlayer.c \
- viktrwlayer.h viklayer.c viklayer.h viklayerspanel.c \
- viklayerspanel.h vikcoordlayer.c vikcoordlayer.h vikstatus.c \
- vikstatus.h vikwindow.c vikwindow.h vikviewport.c \
- vikviewport.h vikaggregatelayer.c vikaggregatelayer.h \
- vikgobjectbuilder.c vikgobjectbuilder.h vikgpslayer.c \
- vikgpslayer.h vikgeoreflayer.c vikgeoreflayer.h vikfileentry.c \
- vikfileentry.h vikgototool.c vikgototool.h vikgotoxmltool.c \
- vikgotoxmltool.h vikgoto.c vikgoto.h viktrwlayer_tpwin.c \
- viktrwlayer_tpwin.h viktrwlayer_propwin.c \
- viktrwlayer_propwin.h thumbnails.c thumbnails.h background.c \
- background.h vikradiogroup.c vikradiogroup.h vikcoord.c \
- vikcoord.h mapcache.c mapcache.h vikmapsource.c vikmapsource.h \
+ dir.h file.c file.h fileutils.c fileutils.h authors.h \
+ documenters.h dialog.c dialog.h util.c util.h download.c \
+ download.h vikenumtypes.c vikenumtypes.h viktreeview.c \
+ viktreeview.h viktrwlayer.c viktrwlayer.h viklayer.c \
+ viklayer.h viklayerspanel.c viklayerspanel.h vikcoordlayer.c \
+ vikcoordlayer.h vikstatus.c vikstatus.h vikwindow.c \
+ vikwindow.h vikviewport.c vikviewport.h vikaggregatelayer.c \
+ vikaggregatelayer.h vikgobjectbuilder.c vikgobjectbuilder.h \
+ vikgpslayer.c vikgpslayer.h vikgeoreflayer.c vikgeoreflayer.h \
+ vikfileentry.c vikfileentry.h vikgototool.c vikgototool.h \
+ vikgotoxmltool.c vikgotoxmltool.h vikgoto.c vikgoto.h \
+ viktrwlayer_tpwin.c viktrwlayer_tpwin.h viktrwlayer_propwin.c \
+ viktrwlayer_propwin.h viktrwlayer_analysis.c \
+ viktrwlayer_analysis.h viktrwlayer_tracklist.c \
+ viktrwlayer_tracklist.h viktrwlayer_waypointlist.c \
+ viktrwlayer_waypointlist.h vikrouting.c vikrouting.h \
+ vikroutingengine.c vikroutingengine.h vikroutingwebengine.c \
+ vikroutingwebengine.h vikutils.c vikutils.h thumbnails.c \
+ thumbnails.h background.c background.h vikradiogroup.c \
+ vikradiogroup.h vikcoord.c vikcoord.h mapcache.c mapcache.h \
+ maputils.c maputils.h vikmapsource.c vikmapsource.h \
vikmapsourcedefault.c vikmapsourcedefault.h vikmapslayer.c \
vikmapslayer.h vikmapslayer_compat.c vikmapslayer_compat.h \
vikmaptype.c vikmaptype.h vikslippymapsource.c \
@@ -167,24 +177,28 @@ am__libviking_a_SOURCES_DIST = bbox.h modules.h modules.c \
viktmsmapsource.c viktmsmapsource.h gpx.c gpx.h \
garminsymbols.c garminsymbols.h acquire.c acquire.h babel.c \
babel.h datasource_file.c datasource_gps.c datasource_gps.h \
- datasource_google.c datasource_gc.c datasource_bfilter.c \
- datasource_wikipedia.c datasources.h googlesearch.c \
- googlesearch.h dem.c dem.h vikdemlayer.h vikdemlayer.c \
- vikfilelist.c vikfilelist.h vikexttool.c vikexttool.h \
- vikexttools.c vikexttools.h vikwebtool.c vikwebtool.h \
- vikwebtoolcenter.c vikwebtoolcenter.h vikwebtoolbounds.c \
- vikwebtoolbounds.h dems.c dems.h srtm_continent.c uibuilder.c \
- uibuilder.h print-preview.c print-preview.h print.c print.h \
- preferences.c preferences.h bingmapsource.c bingmapsource.h \
- bing.c bing.h google.c google.h terraservermapsource.c \
- terraservermapsource.h terraserver.c terraserver.h expedia.c \
- expedia.h osm.c osm.h osm-traces.c osm-traces.h \
- datasource_osm_my_traces.c datasource_osm.c bluemarble.c \
- bluemarble.h geonames.c geonames.h geonamessearch.c \
- geonamessearch.h spotmaps.c spotmaps.h datasource_geotag.c \
- geotag_exif.c geotag_exif.h viktrwlayer_geotag.c \
- viktrwlayer_geotag.h libjpeg/jpeg-data.c libjpeg/jpeg-data.h \
- libjpeg/jpeg-marker.c libjpeg/jpeg-marker.h
+ datasource_routing.c datasource_gc.c datasource_bfilter.c \
+ datasource_wikipedia.c datasource_url.c datasources.h \
+ googlesearch.c googlesearch.h dem.c dem.h vikdemlayer.h \
+ vikdemlayer.c vikfilelist.c vikfilelist.h vikexttool.c \
+ vikexttool.h vikexttools.c vikexttools.h vikwebtool.c \
+ vikwebtool.h vikwebtoolcenter.c vikwebtoolcenter.h \
+ vikwebtoolbounds.c vikwebtoolbounds.h vikexttool_datasources.c \
+ vikexttool_datasources.h vikwebtool_datasource.c \
+ vikwebtool_datasource.h dems.c dems.h srtm_continent.c \
+ uibuilder.c uibuilder.h print-preview.c print-preview.h \
+ print.c print.h viklayer_defaults.c viklayer_defaults.h \
+ settings.c settings.h preferences.c preferences.h \
+ bingmapsource.c bingmapsource.h bing.c bing.h google.c \
+ google.h terraservermapsource.c terraservermapsource.h \
+ terraserver.c terraserver.h expedia.c expedia.h osm.c osm.h \
+ osm-traces.c osm-traces.h datasource_osm_my_traces.c \
+ datasource_osm.c bluemarble.c bluemarble.h geonames.c \
+ geonames.h geonamessearch.c geonamessearch.h spotmaps.c \
+ spotmaps.h datasource_geotag.c geotag_exif.c geotag_exif.h \
+ viktrwlayer_geotag.c viktrwlayer_geotag.h libjpeg/jpeg-data.c \
+ libjpeg/jpeg-data.h libjpeg/jpeg-marker.c \
+ libjpeg/jpeg-marker.h
@BING_TRUE@am__objects_1 = bingmapsource.$(OBJEXT) bing.$(OBJEXT)
@GOOGLE_TRUE@am__objects_2 = google.$(OBJEXT)
@TERRASERVER_TRUE@am__objects_3 = terraservermapsource.$(OBJEXT) \
@@ -201,10 +215,11 @@ am__libviking_a_SOURCES_DIST = bbox.h modules.h modules.c \
@GEOTAG_TRUE@ viktrwlayer_geotag.$(OBJEXT) jpeg-data.$(OBJEXT) \
@GEOTAG_TRUE@ jpeg-marker.$(OBJEXT)
am_libviking_a_OBJECTS = modules.$(OBJEXT) curl_download.$(OBJEXT) \
- degrees_converters.$(OBJEXT) globals.$(OBJEXT) \
- viktrack.$(OBJEXT) vikwaypoint.$(OBJEXT) clipboard.$(OBJEXT) \
- coords.$(OBJEXT) gpsmapper.$(OBJEXT) gpspoint.$(OBJEXT) \
- dir.$(OBJEXT) file.$(OBJEXT) dialog.$(OBJEXT) util.$(OBJEXT) \
+ compression.$(OBJEXT) degrees_converters.$(OBJEXT) \
+ globals.$(OBJEXT) viktrack.$(OBJEXT) vikwaypoint.$(OBJEXT) \
+ clipboard.$(OBJEXT) coords.$(OBJEXT) gpsmapper.$(OBJEXT) \
+ gpspoint.$(OBJEXT) dir.$(OBJEXT) file.$(OBJEXT) \
+ fileutils.$(OBJEXT) dialog.$(OBJEXT) util.$(OBJEXT) \
download.$(OBJEXT) vikenumtypes.$(OBJEXT) \
viktreeview.$(OBJEXT) viktrwlayer.$(OBJEXT) viklayer.$(OBJEXT) \
viklayerspanel.$(OBJEXT) vikcoordlayer.$(OBJEXT) \
@@ -214,26 +229,33 @@ am_libviking_a_OBJECTS = modules.$(OBJEXT) curl_download.$(OBJEXT) \
vikfileentry.$(OBJEXT) vikgototool.$(OBJEXT) \
vikgotoxmltool.$(OBJEXT) vikgoto.$(OBJEXT) \
viktrwlayer_tpwin.$(OBJEXT) viktrwlayer_propwin.$(OBJEXT) \
- thumbnails.$(OBJEXT) background.$(OBJEXT) \
+ viktrwlayer_analysis.$(OBJEXT) viktrwlayer_tracklist.$(OBJEXT) \
+ viktrwlayer_waypointlist.$(OBJEXT) vikrouting.$(OBJEXT) \
+ vikroutingengine.$(OBJEXT) vikroutingwebengine.$(OBJEXT) \
+ vikutils.$(OBJEXT) thumbnails.$(OBJEXT) background.$(OBJEXT) \
vikradiogroup.$(OBJEXT) vikcoord.$(OBJEXT) mapcache.$(OBJEXT) \
- vikmapsource.$(OBJEXT) vikmapsourcedefault.$(OBJEXT) \
- vikmapslayer.$(OBJEXT) vikmapslayer_compat.$(OBJEXT) \
- vikmaptype.$(OBJEXT) vikslippymapsource.$(OBJEXT) \
- vikwmscmapsource.$(OBJEXT) viktmsmapsource.$(OBJEXT) \
- gpx.$(OBJEXT) garminsymbols.$(OBJEXT) acquire.$(OBJEXT) \
- babel.$(OBJEXT) datasource_file.$(OBJEXT) \
- datasource_gps.$(OBJEXT) datasource_google.$(OBJEXT) \
- datasource_gc.$(OBJEXT) datasource_bfilter.$(OBJEXT) \
- datasource_wikipedia.$(OBJEXT) googlesearch.$(OBJEXT) \
- dem.$(OBJEXT) vikdemlayer.$(OBJEXT) vikfilelist.$(OBJEXT) \
+ maputils.$(OBJEXT) vikmapsource.$(OBJEXT) \
+ vikmapsourcedefault.$(OBJEXT) vikmapslayer.$(OBJEXT) \
+ vikmapslayer_compat.$(OBJEXT) vikmaptype.$(OBJEXT) \
+ vikslippymapsource.$(OBJEXT) vikwmscmapsource.$(OBJEXT) \
+ viktmsmapsource.$(OBJEXT) gpx.$(OBJEXT) \
+ garminsymbols.$(OBJEXT) acquire.$(OBJEXT) babel.$(OBJEXT) \
+ datasource_file.$(OBJEXT) datasource_gps.$(OBJEXT) \
+ datasource_routing.$(OBJEXT) datasource_gc.$(OBJEXT) \
+ datasource_bfilter.$(OBJEXT) datasource_wikipedia.$(OBJEXT) \
+ datasource_url.$(OBJEXT) googlesearch.$(OBJEXT) dem.$(OBJEXT) \
+ vikdemlayer.$(OBJEXT) vikfilelist.$(OBJEXT) \
vikexttool.$(OBJEXT) vikexttools.$(OBJEXT) \
vikwebtool.$(OBJEXT) vikwebtoolcenter.$(OBJEXT) \
- vikwebtoolbounds.$(OBJEXT) dems.$(OBJEXT) \
+ vikwebtoolbounds.$(OBJEXT) vikexttool_datasources.$(OBJEXT) \
+ vikwebtool_datasource.$(OBJEXT) dems.$(OBJEXT) \
srtm_continent.$(OBJEXT) uibuilder.$(OBJEXT) \
- print-preview.$(OBJEXT) print.$(OBJEXT) preferences.$(OBJEXT) \
- $(am__objects_1) $(am__objects_2) $(am__objects_3) \
- $(am__objects_4) $(am__objects_5) $(am__objects_6) \
- $(am__objects_7) spotmaps.$(OBJEXT) $(am__objects_8)
+ print-preview.$(OBJEXT) print.$(OBJEXT) \
+ viklayer_defaults.$(OBJEXT) settings.$(OBJEXT) \
+ preferences.$(OBJEXT) $(am__objects_1) $(am__objects_2) \
+ $(am__objects_3) $(am__objects_4) $(am__objects_5) \
+ $(am__objects_6) $(am__objects_7) spotmaps.$(OBJEXT) \
+ $(am__objects_8)
libviking_a_OBJECTS = $(am_libviking_a_OBJECTS)
am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(desktopdir)"
PROGRAMS = $(bin_PROGRAMS)
@@ -242,7 +264,7 @@ viking_OBJECTS = $(am_viking_OBJECTS)
viking_LDADD = $(LDADD)
am__DEPENDENCIES_1 =
viking_DEPENDENCIES = libviking.a $(am__DEPENDENCIES_1) \
- icons/libicons.a
+ icons/libicons.a $(am__append_9)
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
am__v_P_0 = false
@@ -411,6 +433,7 @@ GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@
GREP = @GREP@
GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
@@ -529,26 +552,32 @@ ENUM_H_FILES = \
#if SPOTMAPS
libviking_a_SOURCES = bbox.h modules.h modules.c curl_download.c \
- curl_download.h menu.xml.h degrees_converters.c \
- degrees_converters.h globals.c globals.h viking.h mapcoord.h \
- config.h viktrack.c viktrack.h vikwaypoint.c vikwaypoint.h \
- clipboard.c clipboard.h coords.c coords.h gpsmapper.c \
- gpsmapper.h gpspoint.c gpspoint.h dir.c dir.h file.c file.h \
- authors.h documenters.h dialog.c dialog.h util.c util.h \
- download.c download.h vikenumtypes.c vikenumtypes.h \
- viktreeview.c viktreeview.h viktrwlayer.c viktrwlayer.h \
- viklayer.c viklayer.h viklayerspanel.c viklayerspanel.h \
- vikcoordlayer.c vikcoordlayer.h vikstatus.c vikstatus.h \
- vikwindow.c vikwindow.h vikviewport.c vikviewport.h \
- vikaggregatelayer.c vikaggregatelayer.h vikgobjectbuilder.c \
- vikgobjectbuilder.h vikgpslayer.c vikgpslayer.h \
- vikgeoreflayer.c vikgeoreflayer.h vikfileentry.c \
- vikfileentry.h vikgototool.c vikgototool.h vikgotoxmltool.c \
- vikgotoxmltool.h vikgoto.c vikgoto.h viktrwlayer_tpwin.c \
- viktrwlayer_tpwin.h viktrwlayer_propwin.c \
- viktrwlayer_propwin.h thumbnails.c thumbnails.h background.c \
- background.h vikradiogroup.c vikradiogroup.h vikcoord.c \
- vikcoord.h mapcache.c mapcache.h vikmapsource.c vikmapsource.h \
+ curl_download.h compression.c compression.h menu.xml.h \
+ degrees_converters.c degrees_converters.h globals.c globals.h \
+ viking.h mapcoord.h config.h viktrack.c viktrack.h \
+ vikwaypoint.c vikwaypoint.h clipboard.c clipboard.h coords.c \
+ coords.h gpsmapper.c gpsmapper.h gpspoint.c gpspoint.h dir.c \
+ dir.h file.c file.h fileutils.c fileutils.h authors.h \
+ documenters.h dialog.c dialog.h util.c util.h download.c \
+ download.h vikenumtypes.c vikenumtypes.h viktreeview.c \
+ viktreeview.h viktrwlayer.c viktrwlayer.h viklayer.c \
+ viklayer.h viklayerspanel.c viklayerspanel.h vikcoordlayer.c \
+ vikcoordlayer.h vikstatus.c vikstatus.h vikwindow.c \
+ vikwindow.h vikviewport.c vikviewport.h vikaggregatelayer.c \
+ vikaggregatelayer.h vikgobjectbuilder.c vikgobjectbuilder.h \
+ vikgpslayer.c vikgpslayer.h vikgeoreflayer.c vikgeoreflayer.h \
+ vikfileentry.c vikfileentry.h vikgototool.c vikgototool.h \
+ vikgotoxmltool.c vikgotoxmltool.h vikgoto.c vikgoto.h \
+ viktrwlayer_tpwin.c viktrwlayer_tpwin.h viktrwlayer_propwin.c \
+ viktrwlayer_propwin.h viktrwlayer_analysis.c \
+ viktrwlayer_analysis.h viktrwlayer_tracklist.c \
+ viktrwlayer_tracklist.h viktrwlayer_waypointlist.c \
+ viktrwlayer_waypointlist.h vikrouting.c vikrouting.h \
+ vikroutingengine.c vikroutingengine.h vikroutingwebengine.c \
+ vikroutingwebengine.h vikutils.c vikutils.h thumbnails.c \
+ thumbnails.h background.c background.h vikradiogroup.c \
+ vikradiogroup.h vikcoord.c vikcoord.h mapcache.c mapcache.h \
+ maputils.c maputils.h vikmapsource.c vikmapsource.h \
vikmapsourcedefault.c vikmapsourcedefault.h vikmapslayer.c \
vikmapslayer.h vikmapslayer_compat.c vikmapslayer_compat.h \
vikmaptype.c vikmaptype.h vikslippymapsource.c \
@@ -556,20 +585,24 @@ libviking_a_SOURCES = bbox.h modules.h modules.c curl_download.c \
viktmsmapsource.c viktmsmapsource.h gpx.c gpx.h \
garminsymbols.c garminsymbols.h acquire.c acquire.h babel.c \
babel.h datasource_file.c datasource_gps.c datasource_gps.h \
- datasource_google.c datasource_gc.c datasource_bfilter.c \
- datasource_wikipedia.c datasources.h googlesearch.c \
- googlesearch.h dem.c dem.h vikdemlayer.h vikdemlayer.c \
- vikfilelist.c vikfilelist.h vikexttool.c vikexttool.h \
- vikexttools.c vikexttools.h vikwebtool.c vikwebtool.h \
- vikwebtoolcenter.c vikwebtoolcenter.h vikwebtoolbounds.c \
- vikwebtoolbounds.h dems.c dems.h srtm_continent.c uibuilder.c \
- uibuilder.h print-preview.c print-preview.h print.c print.h \
- preferences.c preferences.h $(am__append_1) $(am__append_2) \
- $(am__append_3) $(am__append_4) $(am__append_5) \
- $(am__append_6) $(am__append_7) spotmaps.c spotmaps.h \
- $(am__append_8)
+ datasource_routing.c datasource_gc.c datasource_bfilter.c \
+ datasource_wikipedia.c datasource_url.c datasources.h \
+ googlesearch.c googlesearch.h dem.c dem.h vikdemlayer.h \
+ vikdemlayer.c vikfilelist.c vikfilelist.h vikexttool.c \
+ vikexttool.h vikexttools.c vikexttools.h vikwebtool.c \
+ vikwebtool.h vikwebtoolcenter.c vikwebtoolcenter.h \
+ vikwebtoolbounds.c vikwebtoolbounds.h vikexttool_datasources.c \
+ vikexttool_datasources.h vikwebtool_datasource.c \
+ vikwebtool_datasource.h dems.c dems.h srtm_continent.c \
+ uibuilder.c uibuilder.h print-preview.c print-preview.h \
+ print.c print.h viklayer_defaults.c viklayer_defaults.h \
+ settings.c settings.h preferences.c preferences.h \
+ $(am__append_1) $(am__append_2) $(am__append_3) \
+ $(am__append_4) $(am__append_5) $(am__append_6) \
+ $(am__append_7) spotmaps.c spotmaps.h $(am__append_8)
viking_SOURCES = main.c
-LDADD = libviking.a $(PACKAGE_LIBS) @EXPAT_LIBS@ @LIBCURL@ icons/libicons.a
+LDADD = libviking.a $(PACKAGE_LIBS) @EXPAT_LIBS@ @LIBCURL@ \
+ icons/libicons.a $(am__append_9)
AM_CFLAGS = -Wall -g -D_GNU_SOURCE \
$(PACKAGE_CFLAGS) \
@EXPAT_CFLAGS@ @LIBCURL_CPPFLAGS@
@@ -619,8 +652,8 @@ $(ACLOCAL_M4): $(am__aclocal_m4_deps)
$(am__aclocal_m4_deps):
config.h: stamp-h1
- @if test ! -f $@; then rm -f stamp-h1; else :; fi
- @if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) stamp-h1; else :; fi
+ @test -f $@ || rm -f stamp-h1
+ @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1
stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
@rm -f stamp-h1
@@ -700,16 +733,18 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bingmapsource.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bluemarble.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/clipboard.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/compression.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/coords.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/curl_download.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/datasource_bfilter.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/datasource_file.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/datasource_gc.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/datasource_geotag.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/datasource_google.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/datasource_gps.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/datasource_osm.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/datasource_osm_my_traces.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/datasource_routing.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/datasource_url.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/datasource_wikipedia.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/degrees_converters.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dem.Po@am__quote@
@@ -719,6 +754,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/download.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/expedia.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fileutils.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/garminsymbols.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/geonames.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/geonamessearch.Po@am__quote@
@@ -733,12 +769,14 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jpeg-marker.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mapcache.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/maputils.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/modules.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/osm-traces.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/osm.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/preferences.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/print-preview.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/print.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/settings.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/spotmaps.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/srtm_continent.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/terraserver.Po@am__quote@
@@ -752,6 +790,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vikdemlayer.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vikenumtypes.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vikexttool.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vikexttool_datasources.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vikexttools.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vikfileentry.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vikfilelist.Po@am__quote@
@@ -762,6 +801,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vikgotoxmltool.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vikgpslayer.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/viklayer.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/viklayer_defaults.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/viklayerspanel.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vikmapslayer.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vikmapslayer_compat.Po@am__quote@
@@ -769,18 +809,26 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vikmapsourcedefault.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vikmaptype.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vikradiogroup.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vikrouting.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vikroutingengine.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vikroutingwebengine.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vikslippymapsource.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vikstatus.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/viktmsmapsource.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/viktrack.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/viktreeview.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/viktrwlayer.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/viktrwlayer_analysis.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/viktrwlayer_geotag.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/viktrwlayer_propwin.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/viktrwlayer_tpwin.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/viktrwlayer_tracklist.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/viktrwlayer_waypointlist.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vikutils.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vikviewport.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vikwaypoint.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vikwebtool.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vikwebtool_datasource.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vikwebtoolbounds.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vikwebtoolcenter.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vikwindow.Po@am__quote@
@@ -791,14 +839,14 @@ distclean-compile:
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $<
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
.c.obj:
@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
jpeg-data.o: libjpeg/jpeg-data.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT jpeg-data.o -MD -MP -MF $(DEPDIR)/jpeg-data.Tpo -c -o jpeg-data.o `test -f 'libjpeg/jpeg-data.c' || echo '$(srcdir)/'`libjpeg/jpeg-data.c
diff --git a/src/acquire.c b/src/acquire.c
index 62a3beb..184ae2a 100644
--- a/src/acquire.c
+++ b/src/acquire.c
@@ -104,19 +104,13 @@ static void on_complete_process (w_and_interface_t *wi)
if ( wi->creating_new_layer ) {
/* Only create the layer if it actually contains anything useful */
// TODO: create function for this operation to hide detail:
- if ( g_hash_table_size (vik_trw_layer_get_tracks(wi->vtl)) ||
- g_hash_table_size (vik_trw_layer_get_waypoints(wi->vtl)) ||
- g_hash_table_size (vik_trw_layer_get_routes(wi->vtl)) ) {
+ if ( ! vik_trw_layer_is_empty ( wi->vtl ) ) {
vik_layer_post_read ( VIK_LAYER(wi->vtl), wi->w->vvp, TRUE );
- vik_aggregate_layer_add_layer( vik_layers_panel_get_top_layer(wi->w->vlp), VIK_LAYER(wi->vtl));
+ vik_aggregate_layer_add_layer ( vik_layers_panel_get_top_layer(wi->w->vlp), VIK_LAYER(wi->vtl), TRUE );
}
else
gtk_label_set_text ( GTK_LABEL(wi->w->status), _("No data.") );
}
- /* View this data if available and is desired */
- if ( wi->vtl && wi->w->source_interface->autoview ) {
- vik_trw_layer_auto_set_view ( wi->vtl, vik_layers_panel_get_viewport(wi->w->vlp) );
- }
if ( wi->w->source_interface->keep_dialog_open ) {
gtk_dialog_set_response_sensitive ( GTK_DIALOG(wi->w->dialog), GTK_RESPONSE_ACCEPT, TRUE );
gtk_dialog_set_response_sensitive ( GTK_DIALOG(wi->w->dialog), GTK_RESPONSE_REJECT, FALSE );
@@ -124,8 +118,14 @@ static void on_complete_process (w_and_interface_t *wi)
gtk_dialog_response ( GTK_DIALOG(wi->w->dialog), GTK_RESPONSE_ACCEPT );
}
// Main display update
- if ( wi->vtl )
+ if ( wi->vtl ) {
+ vik_layer_post_read ( VIK_LAYER(wi->vtl), wi->w->vvp, TRUE );
+ // View this data if desired - must be done after post read (so that the bounds are known)
+ if ( wi->w->source_interface->autoview ) {
+ vik_trw_layer_auto_set_view ( wi->vtl, vik_layers_panel_get_viewport(wi->w->vlp) );
+ }
vik_layers_panel_emit_update ( wi->w->vlp );
+ }
} else {
/* cancelled */
if ( wi->creating_new_layer )
@@ -213,7 +213,7 @@ static gchar *write_tmp_track ( VikTrack *track )
* the other can be NULL.
*/
static void acquire ( VikWindow *vw, VikLayersPanel *vlp, VikViewport *vvp, VikDataSourceInterface *source_interface,
- VikTrwLayer *vtl, VikTrack *track )
+ VikTrwLayer *vtl, VikTrack *track, gpointer userdata, VikDataSourceCleanupFunc cleanup_function )
{
/* for manual dialogs */
GtkWidget *dialog = NULL;
@@ -226,6 +226,12 @@ static void acquire ( VikWindow *vw, VikLayersPanel *vlp, VikViewport *vvp, VikD
gpointer user_data;
gpointer options = NULL;
+ acq_vik_t avt;
+ avt.vlp = vlp;
+ avt.vvp = vvp;
+ avt.vw = vw;
+ avt.userdata = userdata;
+
/* for UI builder */
gpointer pass_along_data;
VikLayerParamData *paramdatas = NULL;
@@ -234,7 +240,7 @@ static void acquire ( VikWindow *vw, VikLayersPanel *vlp, VikViewport *vvp, VikD
/*** INIT AND CHECK EXISTENCE ***/
if ( source_interface->init_func )
- user_data = source_interface->init_func();
+ user_data = source_interface->init_func(&avt);
else
user_data = NULL;
pass_along_data = user_data;
@@ -344,7 +350,7 @@ static void acquire ( VikWindow *vw, VikLayersPanel *vlp, VikViewport *vvp, VikD
w->dialog = dialog;
w->running = TRUE;
status = gtk_label_new (_("Working..."));
- gtk_box_pack_start ( GTK_BOX(GTK_DIALOG(dialog)->vbox), status, FALSE, FALSE, 5 );
+ gtk_box_pack_start ( GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), status, FALSE, FALSE, 5 );
gtk_dialog_set_default_response ( GTK_DIALOG(dialog), GTK_RESPONSE_ACCEPT );
// May not want to see the dialog at all
if ( source_interface->is_thread || source_interface->keep_dialog_open )
@@ -380,7 +386,11 @@ static void acquire ( VikWindow *vw, VikLayersPanel *vlp, VikViewport *vvp, VikD
if ( source_interface->is_thread ) {
if ( cmd ) {
- g_thread_create((GThreadFunc)get_from_anything, wi, FALSE, NULL );
+#if GLIB_CHECK_VERSION (2, 32, 0)
+ g_thread_try_new ( "get_from_anything", (GThreadFunc)get_from_anything, wi, NULL );
+#else
+ g_thread_create ( (GThreadFunc)get_from_anything, wi, FALSE, NULL );
+#endif
gtk_dialog_run ( GTK_DIALOG(dialog) );
if (w->running) {
// Cancel and mark for thread to finish
@@ -427,15 +437,26 @@ static void acquire ( VikWindow *vw, VikLayersPanel *vlp, VikViewport *vvp, VikD
}
gtk_widget_destroy ( dialog );
+
+ if ( cleanup_function )
+ cleanup_function ( source_interface );
}
/**
* a_acquire:
+ * @vw: The #VikWindow to work with
+ * @vlp: The #VikLayersPanel in which a #VikTrwLayer layer may be created/appended
+ * @vvp: The #VikViewport defining the current view
+ * @source_interface: The #VikDataSourceInterface determining how and what actions to take
+ * @userdata: External data to be passed into the #VikDataSourceInterface
+ * @cleanup_function: The function to dispose the #VikDataSourceInterface if necessary
*
* Process the given VikDataSourceInterface for sources with no input data.
*/
-void a_acquire ( VikWindow *vw, VikLayersPanel *vlp, VikViewport *vvp, VikDataSourceInterface *source_interface ) {
- acquire ( vw, vlp, vvp, source_interface, NULL, NULL );
+void a_acquire ( VikWindow *vw, VikLayersPanel *vlp, VikViewport *vvp, VikDataSourceInterface *source_interface,
+ gpointer userdata, VikDataSourceCleanupFunc cleanup_function )
+{
+ acquire ( vw, vlp, vvp, source_interface, NULL, NULL, userdata, cleanup_function );
}
static void acquire_trwlayer_callback ( GObject *menuitem, gpointer *pass_along )
@@ -447,7 +468,7 @@ static void acquire_trwlayer_callback ( GObject *menuitem, gpointer *pass_along
VikTrwLayer *vtl = pass_along[3];
VikTrack *tr = pass_along[4];
- acquire ( vw, vlp, vvp, iface, vtl, tr );
+ acquire ( vw, vlp, vvp, iface, vtl, tr, NULL, NULL );
}
static GtkWidget *acquire_build_menu ( VikWindow *vw, VikLayersPanel *vlp, VikViewport *vvp,
diff --git a/src/acquire.h b/src/acquire.h
index 50a8374..731a7bb 100644
--- a/src/acquire.h
+++ b/src/acquire.h
@@ -33,6 +33,13 @@ G_BEGIN_DECLS
typedef struct _VikDataSourceInterface VikDataSourceInterface;
+typedef struct {
+ VikWindow *vw;
+ VikLayersPanel *vlp;
+ VikViewport *vvp;
+ gpointer userdata;
+} acq_vik_t;
+
/**
* acq_dialog_widgets_t:
*
@@ -68,7 +75,7 @@ typedef enum {
*
* Returns: pointer to state if OK, otherwise %NULL
*/
-typedef gpointer (*VikDataSourceInitFunc) ();
+typedef gpointer (*VikDataSourceInitFunc) ( acq_vik_t *avt );
/**
* VikDataSourceCheckExistenceFunc:
@@ -171,10 +178,9 @@ struct _VikDataSourceInterface {
};
/**********************************/
-/**********************************/
-/**********************************/
-void a_acquire ( VikWindow *vw, VikLayersPanel *vlp, VikViewport *vvp, VikDataSourceInterface *source_interface );
+void a_acquire ( VikWindow *vw, VikLayersPanel *vlp, VikViewport *vvp, VikDataSourceInterface *source_interface,
+ gpointer userdata, VikDataSourceCleanupFunc cleanup_function );
GtkWidget *a_acquire_trwlayer_menu (VikWindow *vw, VikLayersPanel *vlp, VikViewport *vvp, VikTrwLayer *vtl);
diff --git a/src/babel.c b/src/babel.c
index a3a8cd2..1952be1 100644
--- a/src/babel.c
+++ b/src/babel.c
@@ -3,6 +3,7 @@
*
* Copyright (C) 2003-2005, Evan Battaglia <gtoevan@gmx.net>
* Copyright (C) 2006, Quy Tonthat <qtonthat@gmail.com>
+ * Copyright (C) 2013, Guilhem Bonnefille <guilhem.bonnefille@gmail.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -48,6 +49,11 @@
#define BASH_LOCATION "/bin/bash"
/**
+ * List of supported protocols.
+ */
+const gchar *PROTOS[] = { "http://", "https://", "ftp://", NULL };
+
+/**
* Path to gpsbabel
*/
static gchar *gpsbabel_loc = NULL;
@@ -326,7 +332,7 @@ gboolean a_babel_convert_from_shellcommand ( VikTrwLayer *vt, const char *input_
gboolean a_babel_convert_from_url ( VikTrwLayer *vt, const char *url, const char *input_type, BabelStatusFunc cb, gpointer user_data, DownloadMapOptions *options )
{
// If no download options specified, use defaults:
- DownloadMapOptions myoptions = { FALSE, FALSE, NULL, 2, NULL, NULL };
+ DownloadMapOptions myoptions = { FALSE, FALSE, NULL, 2, NULL, NULL, NULL };
if ( options )
myoptions = *options;
gint fd_src;
@@ -366,6 +372,43 @@ gboolean a_babel_convert_from_url ( VikTrwLayer *vt, const char *url, const char
return ret;
}
+/**
+ * a_babel_convert_from_url_or_shell:
+ * @vt: The #VikTrwLayer where to insert the collected data
+ * @url: the URL to fetch
+ * @cb: Optional callback function. Same usage as in a_babel_convert().
+ * @user_data: passed along to cb
+ * @options: download options. Maybe NULL.
+ *
+ * Download the file pointed by the URL and optionally uses GPSBabel to convert from input_file_type.
+ * If input_file_type is %NULL, doesn't use GPSBabel. Input must be GPX.
+ *
+ * Returns: %TRUE on successful invocation of GPSBabel or read of the GPX
+ *
+ */
+gboolean a_babel_convert_from_url_or_shell ( VikTrwLayer *vt, const char *input, const char *input_type, BabelStatusFunc cb, gpointer user_data, DownloadMapOptions *options )
+{
+
+ /* Check nature of input */
+ gboolean isUrl = FALSE;
+ int i = 0;
+ for (i = 0 ; PROTOS[i] != NULL ; i++)
+ {
+ const gchar *proto = PROTOS[i];
+ if (strncmp (input, proto, strlen(proto)) == 0)
+ {
+ /* Procotol matches: save result */
+ isUrl = TRUE;
+ }
+ }
+
+ /* Do the job */
+ if (isUrl)
+ return a_babel_convert_from_url (vt, input, input_type, cb, user_data, options);
+ else
+ return a_babel_convert_from_shellcommand (vt, input, input_type, cb, user_data, options);
+}
+
static gboolean babel_general_convert_to( VikTrwLayer *vt, VikTrack *trk, BabelStatusFunc cb, gchar **args, const gchar *name_src, gpointer user_data )
{
// Now strips out invisible tracks and waypoints
@@ -436,14 +479,14 @@ gboolean a_babel_convert_to( VikTrwLayer *vt, VikTrack *track, const char *babel
return ret;
}
-static void set_mode(BabelMode mode, gchar *smode)
+static void set_mode(BabelMode *mode, gchar *smode)
{
- mode.waypointsRead = smode[0] == 'r';
- mode.waypointsWrite = smode[1] == 'w';
- mode.tracksRead = smode[2] == 'r';
- mode.tracksWrite = smode[3] == 'w';
- mode.routesRead = smode[4] == 'r';
- mode.routesWrite = smode[5] == 'w';
+ mode->waypointsRead = smode[0] == 'r';
+ mode->waypointsWrite = smode[1] == 'w';
+ mode->tracksRead = smode[2] == 'r';
+ mode->tracksWrite = smode[3] == 'w';
+ mode->routesRead = smode[4] == 'r';
+ mode->routesWrite = smode[5] == 'w';
}
/**
@@ -462,11 +505,16 @@ static void load_feature_parse_line (gchar *line)
&& tokens[3] != NULL
&& tokens[4] != NULL ) {
BabelDevice *device = g_malloc ( sizeof (BabelDevice) );
- set_mode (device->mode, tokens[1]);
+ set_mode (&(device->mode), tokens[1]);
device->name = g_strdup (tokens[2]);
device->label = g_strndup (tokens[4], 50); // Limit really long label text
a_babel_device_list = g_list_append (a_babel_device_list, device);
- g_debug ("New gpsbabel device: %s", device->name);
+ g_debug ("New gpsbabel device: %s, %d%d%d%d%d%d(%s)",
+ device->name,
+ device->mode.waypointsRead, device->mode.waypointsWrite,
+ device->mode.tracksRead, device->mode.tracksWrite,
+ device->mode.routesRead, device->mode.routesWrite,
+ tokens[1]);
} else {
g_warning ( "Unexpected gpsbabel format string: %s", line);
}
@@ -476,12 +524,17 @@ static void load_feature_parse_line (gchar *line)
&& tokens[3] != NULL
&& tokens[4] != NULL ) {
BabelFile *file = g_malloc ( sizeof (BabelFile) );
- set_mode (file->mode, tokens[1]);
+ set_mode (&(file->mode), tokens[1]);
file->name = g_strdup (tokens[2]);
file->ext = g_strdup (tokens[3]);
file->label = g_strdup (tokens[4]);
a_babel_file_list = g_list_append (a_babel_file_list, file);
- g_debug ("New gpsbabel file: %s", file->name);
+ g_debug ("New gpsbabel file: %s, %d%d%d%d%d%d(%s)",
+ file->name,
+ file->mode.waypointsRead, file->mode.waypointsWrite,
+ file->mode.tracksRead, file->mode.tracksWrite,
+ file->mode.routesRead, file->mode.routesWrite,
+ tokens[1]);
} else {
g_warning ( "Unexpected gpsbabel format string: %s", line);
}
diff --git a/src/babel.h b/src/babel.h
index d0e2760..c037b6e 100644
--- a/src/babel.h
+++ b/src/babel.h
@@ -26,6 +26,7 @@
#include <glib.h>
#include "viktrwlayer.h"
+#include "download.h"
G_BEGIN_DECLS
@@ -78,7 +79,7 @@ typedef struct {
/**
* BabelFile:
- * @name: gpsbabel's identifier of the device
+ * @name: gpsbabel's identifier of the format
* @ext: file's extension for this format
* @label: human readable label
*
@@ -98,6 +99,7 @@ gboolean a_babel_convert( VikTrwLayer *vt, const char *babelargs, BabelStatusFun
gboolean a_babel_convert_from( VikTrwLayer *vt, const char *babelargs, const char *file, BabelStatusFunc cb, gpointer user_data, gpointer options );
gboolean a_babel_convert_from_shellcommand ( VikTrwLayer *vt, const char *input_cmd, const char *input_file_type, BabelStatusFunc cb, gpointer user_data, gpointer options );
gboolean a_babel_convert_from_url ( VikTrwLayer *vt, const char *url, const char *input_type, BabelStatusFunc cb, gpointer user_data, DownloadMapOptions *options );
+gboolean a_babel_convert_from_url_or_shell ( VikTrwLayer *vt, const char *input, const char *input_type, BabelStatusFunc cb, gpointer user_data, DownloadMapOptions *options );
gboolean a_babel_convert_to( VikTrwLayer *vt, VikTrack *track, const char *babelargs, const char *file, BabelStatusFunc cb, gpointer user_data );
void a_babel_init ();
diff --git a/src/background.c b/src/background.c
index 7f230ee..b388fb5 100644
--- a/src/background.c
+++ b/src/background.c
@@ -23,6 +23,7 @@
#include <glib/gi18n.h>
#include "background.h"
+#include "settings.h"
static GThreadPool *thread_pool = NULL;
static gboolean stop_all_threads = FALSE;
@@ -218,6 +219,8 @@ static void bgwindow_response (GtkDialog *dialog, gint arg1 )
gtk_widget_hide ( bgwindow );
}
+#define VIK_SETTINGS_BACKGROUND_MAX_THREADS "background_max_threads"
+
/**
* a_background_init:
*
@@ -226,8 +229,11 @@ static void bgwindow_response (GtkDialog *dialog, gint arg1 )
void a_background_init()
{
/* initialize thread pool */
- /* TODO parametrize this via preference and/or command line arg */
gint max_threads = 10; /* limit maximum number of threads running at one time */
+ gint maxt;
+ if ( a_settings_get_integer ( VIK_SETTINGS_BACKGROUND_MAX_THREADS, &maxt ) )
+ max_threads = maxt;
+
thread_pool = g_thread_pool_new ( (GFunc) thread_helper, NULL, max_threads, FALSE, NULL );
GtkCellRenderer *renderer;
@@ -263,7 +269,7 @@ void a_background_init()
#if GTK_CHECK_VERSION (2, 20, 0)
response_w = gtk_dialog_get_widget_for_response ( GTK_DIALOG(bgwindow), GTK_RESPONSE_ACCEPT );
#endif
- gtk_box_pack_start ( GTK_BOX(GTK_DIALOG(bgwindow)->vbox), scrolled_window, TRUE, TRUE, 0 );
+ gtk_box_pack_start ( GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(bgwindow))), scrolled_window, TRUE, TRUE, 0 );
gtk_window_set_default_size ( GTK_WINDOW(bgwindow), 400, 400 );
gtk_window_set_title ( GTK_WINDOW(bgwindow), _("Viking Background Jobs") );
if ( response_w )
@@ -285,6 +291,11 @@ void a_background_uninit()
/* wait until all running threads stop */
stop_all_threads = TRUE;
g_thread_pool_free ( thread_pool, TRUE, TRUE );
+
+ gtk_list_store_clear ( bgstore );
+ g_object_unref ( bgstore );
+
+ gtk_widget_destroy ( bgwindow );
}
void a_background_add_window (VikWindow *vw)
diff --git a/src/bingmapsource.c b/src/bingmapsource.c
index 1280c45..c1cb933 100644
--- a/src/bingmapsource.c
+++ b/src/bingmapsource.c
@@ -5,7 +5,7 @@
*
* viking is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
- * Free Software Foundation, either version 3 of the License, or
+ * Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* viking is distributed in the hope that it will be useful, but
@@ -47,6 +47,7 @@
#include <gdk-pixbuf/gdk-pixdata.h>
#include "globals.h"
#include "bingmapsource.h"
+#include "maputils.h"
#include "bbox.h"
#include "background.h"
#include "icons/icons.h"
@@ -291,7 +292,7 @@ _get_copyright(VikMapSource * self, LatLonBBox bbox, gdouble zoom, void (*fct)(V
BingMapSourcePrivate *priv = BING_MAP_SOURCE_GET_PRIVATE(self);
- int level = vik_slippy_map_source_zoom_to_scale (zoom);
+ int level = map_utils_mpp_to_scale (zoom);
/* Loop over all known attributions */
GList *attribution = priv->attributions;
diff --git a/src/bingmapsource.h b/src/bingmapsource.h
index bd4082e..bab5529 100644
--- a/src/bingmapsource.h
+++ b/src/bingmapsource.h
@@ -5,7 +5,7 @@
*
* viking is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
- * Free Software Foundation, either version 3 of the License, or
+ * Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* viking is distributed in the hope that it will be useful, but
diff --git a/src/clipboard.c b/src/clipboard.c
index 03d4b91..fbd38c8 100644
--- a/src/clipboard.c
+++ b/src/clipboard.c
@@ -64,7 +64,7 @@ static void clip_get ( GtkClipboard *c, GtkSelectionData *selection_data, guint
if ( info == 0 ) {
// Viking Data Type
// g_print("clip_get: vc = %p, size = %d\n", vc, sizeof(*vc) + vc->len);
- gtk_selection_data_set ( selection_data, selection_data->target, 8, (void *)vc, sizeof(*vc) + vc->len );
+ gtk_selection_data_set ( selection_data, gtk_selection_data_get_target(selection_data), 8, (void *)vc, sizeof(*vc) + vc->len );
}
if ( info == 1 ) {
// Should be a string, but make sure it's something
@@ -91,17 +91,17 @@ static void clip_receive_viking ( GtkClipboard *c, GtkSelectionData *sd, gpointe
{
VikLayersPanel *vlp = p;
vik_clipboard_t *vc;
- if (sd->length == -1) {
+ if (gtk_selection_data_get_length(sd) == -1) {
g_warning ( _("paste failed") );
return;
}
- // g_print("clip receive: target = %s, type = %s\n", gdk_atom_name(sd->target), gdk_atom_name(sd->type));
- g_assert(!strcmp(gdk_atom_name(sd->target), target_table[0].target));
+ // g_print("clip receive: target = %s, type = %s\n", gdk_atom_name(gtk_selection_data_get_target(sd), gdk_atom_name(sd->type));
+ //g_assert(!strcmp(gdk_atom_name(gtk_selection_data_get_target(sd)), target_table[0].target));
- vc = (vik_clipboard_t *)sd->data;
+ vc = (vik_clipboard_t *)gtk_selection_data_get_data(sd);
// g_print(" sd->data = %p, sd->length = %d, vc->len = %d\n", sd->data, sd->length, vc->len);
- if (sd->length != sizeof(*vc) + vc->len) {
+ if (gtk_selection_data_get_length(sd) != sizeof(*vc) + vc->len) {
g_warning ( _("wrong clipboard data size") );
return;
}
@@ -240,8 +240,23 @@ static void clip_add_wp(VikLayersPanel *vlp, struct LatLon *coord)
static void clip_receive_text (GtkClipboard *c, const gchar *text, gpointer p)
{
VikLayersPanel *vlp = p;
+
+ g_debug ( "got text: %s", text );
+
+ VikLayer *sel = vik_layers_panel_get_selected ( vlp );
+ if ( sel && vik_treeview_get_editing ( sel->vt ) ) {
+ GtkTreeIter iter;
+ if ( vik_treeview_get_selected_iter ( sel->vt, &iter ) ) {
+ // Try to sanitize input:
+ gchar *name = g_strescape ( text, NULL );
+ vik_layer_rename ( sel, name );
+ vik_treeview_item_set_name ( sel->vt, &iter, name );
+ g_free ( name );
+ }
+ return;
+ }
+
struct LatLon coord;
- // g_print("got text: %s\n", text);
if (clip_parse_latlon(text, &coord)) {
clip_add_wp(vlp, &coord);
}
@@ -256,15 +271,15 @@ static void clip_receive_html ( GtkClipboard *c, GtkSelectionData *sd, gpointer
gint tag = 0, i;
struct LatLon coord;
- if (sd->length == -1) {
+ if (gtk_selection_data_get_length(sd) == -1) {
return;
}
/* - copying from Mozilla seems to give html in UTF-16. */
- if (!(s = g_convert ( (gchar *)sd->data, sd->length, "UTF-8", "UTF-16", &r, &w, &err))) {
+ if (!(s = g_convert ( (gchar *)gtk_selection_data_get_data(sd), gtk_selection_data_get_length(sd), "UTF-8", "UTF-16", &r, &w, &err))) {
return;
}
- // g_print("html is %d bytes long: %s\n", sd->length, s);
+ // g_print("html is %d bytes long: %s\n", gtk_selection_data_get_length(sd), s);
/* scrape a coordinate pasted from a geocaching.com page: look for a
* telltale tag if possible, and then remove tags
@@ -302,19 +317,26 @@ void clip_receive_targets ( GtkClipboard *c, GdkAtom *a, gint n, gpointer p )
gint i;
for (i=0; i<n; i++) {
- // g_print(" ""%s""\n", gdk_atom_name(a[i]));
- if (!strcmp(gdk_atom_name(a[i]), "text/html")) {
+ gchar* name = gdk_atom_name(a[i]);
+ //g_print(" ""%s""\n", name);
+ gboolean breaktime = FALSE;
+ if (!g_strcmp0(name, "text/html")) {
gtk_clipboard_request_contents ( c, gdk_atom_intern("text/html", TRUE), clip_receive_html, vlp );
- break;
+ breaktime = TRUE;
}
if (a[i] == GDK_TARGET_STRING) {
gtk_clipboard_request_text ( c, clip_receive_text, vlp );
- break;
+ breaktime = TRUE;
}
- if (!strcmp(gdk_atom_name(a[i]), "application/viking")) {
+ if (!g_strcmp0(name, "application/viking")) {
gtk_clipboard_request_contents ( c, gdk_atom_intern("application/viking", TRUE), clip_receive_viking, vlp );
- break;
+ breaktime = TRUE;
}
+
+ g_free ( name );
+
+ if ( breaktime )
+ break;
}
}
@@ -331,11 +353,11 @@ void a_clipboard_copy_selected ( VikLayersPanel *vlp )
{
VikLayer *sel = vik_layers_panel_get_selected ( vlp );
GtkTreeIter iter;
- VikClipboardDataType type;
+ VikClipboardDataType type = VIK_CLIPBOARD_DATA_NONE;
guint16 layer_type = 0;
gint subtype = 0;
guint8 *data = NULL;
- guint len;
+ guint len = 0;
const gchar *name = NULL;
if ( ! sel )
@@ -344,27 +366,33 @@ void a_clipboard_copy_selected ( VikLayersPanel *vlp )
vik_treeview_get_selected_iter ( sel->vt, &iter );
layer_type = sel->type;
- if ( vik_treeview_item_get_type ( sel->vt, &iter ) == VIK_TREEVIEW_TYPE_SUBLAYER ) {
- type = VIK_CLIPBOARD_DATA_SUBLAYER;
- if ( vik_layer_get_interface(layer_type)->copy_item) {
- subtype = vik_treeview_item_get_data(sel->vt, &iter);
- vik_layer_get_interface(layer_type)->copy_item(sel, subtype, vik_treeview_item_get_pointer(sel->vt, &iter), &data, &len );
- // This name is used in setting the text representation of the item on the clipboard.
- name = vik_treeview_item_get_name(sel->vt, &iter);
- }
+ // Since we intercept copy and paste keyboard operations, this is called even when a cell is being edited
+ if ( vik_treeview_get_editing ( sel->vt ) ) {
+ type = VIK_CLIPBOARD_DATA_TEXT;
+ // I don't think we can access what is actually selected (internal to GTK) so we go for the name of the item
+ // At least this is better than copying the layer data - which is even further away from what the user would be expecting...
+ name = vik_treeview_item_get_name ( sel->vt, &iter );
+ len = 0;
}
- else
- {
- gint ilen;
- type = VIK_CLIPBOARD_DATA_LAYER;
- vik_layer_marshall ( sel, &data, &ilen );
- len = ilen;
- name = vik_layer_get_name ( vik_treeview_item_get_pointer(sel->vt, &iter) );
- }
-
- if (data) {
- a_clipboard_copy( type, layer_type, subtype, len, name, data);
+ else {
+ if ( vik_treeview_item_get_type ( sel->vt, &iter ) == VIK_TREEVIEW_TYPE_SUBLAYER ) {
+ type = VIK_CLIPBOARD_DATA_SUBLAYER;
+ if ( vik_layer_get_interface(layer_type)->copy_item) {
+ subtype = vik_treeview_item_get_data(sel->vt, &iter);
+ vik_layer_get_interface(layer_type)->copy_item(sel, subtype, vik_treeview_item_get_pointer(sel->vt, &iter), &data, &len );
+ // This name is used in setting the text representation of the item on the clipboard.
+ name = vik_treeview_item_get_name(sel->vt, &iter);
+ }
+ }
+ else {
+ gint ilen;
+ type = VIK_CLIPBOARD_DATA_LAYER;
+ vik_layer_marshall ( sel, &data, &ilen );
+ len = ilen;
+ name = vik_layer_get_name ( vik_treeview_item_get_pointer(sel->vt, &iter) );
+ }
}
+ a_clipboard_copy ( type, layer_type, subtype, len, name, data );
}
void a_clipboard_copy( VikClipboardDataType type, guint16 layer_type, gint subtype, guint len, const gchar* text, guint8 * data)
@@ -377,10 +405,17 @@ void a_clipboard_copy( VikClipboardDataType type, guint16 layer_type, gint subty
vc->subtype = subtype;
vc->len = len;
vc->text = g_strdup (text);
- memcpy(vc->data, data, len);
- g_free(data);
+ if ( data ) {
+ memcpy(vc->data, data, len);
+ g_free(data);
+ }
vc->pid = getpid();
- gtk_clipboard_set_with_data ( c, target_table, G_N_ELEMENTS(target_table), clip_get, clip_clear, vc );
+
+ // Simple clipboard copy when necessary
+ if ( type == VIK_CLIPBOARD_DATA_TEXT )
+ gtk_clipboard_set_text ( c, text, -1 );
+ else
+ gtk_clipboard_set_with_data ( c, target_table, G_N_ELEMENTS(target_table), clip_get, clip_clear, vc );
}
/**
@@ -406,12 +441,12 @@ static void clip_determine_viking_type ( GtkClipboard *c, GtkSelectionData *sd,
// Default value
*vdct = VIK_CLIPBOARD_DATA_NONE;
vik_clipboard_t *vc;
- if (sd->length == -1) {
+ if (gtk_selection_data_get_length(sd) == -1) {
g_warning ("DETERMINING TYPE: length failure");
return;
}
- vc = (vik_clipboard_t *)sd->data;
+ vc = (vik_clipboard_t *)gtk_selection_data_get_data(sd);
if ( !vc->type )
return;
@@ -431,11 +466,18 @@ static void clip_determine_type ( GtkClipboard *c, GdkAtom *a, gint n, gpointer
{
gint i;
for (i=0; i<n; i++) {
- // g_print(" ""%s""\n", gdk_atom_name(a[i]));
- if (!strcmp(gdk_atom_name(a[i]), "application/viking")) {
+ gchar *name = gdk_atom_name(a[i]);
+ // g_print(" ""%s""\n", name);
+ gboolean breaktime = FALSE;
+ if (!g_strcmp0(name, "application/viking")) {
gtk_clipboard_request_contents ( c, gdk_atom_intern("application/viking", TRUE), clip_determine_viking_type, p );
- break;
+ breaktime = TRUE;
}
+
+ g_free ( name );
+
+ if ( breaktime )
+ break;
}
}
diff --git a/src/clipboard.h b/src/clipboard.h
index 87d5794..a0f96ca 100644
--- a/src/clipboard.h
+++ b/src/clipboard.h
@@ -29,7 +29,8 @@ G_BEGIN_DECLS
typedef enum {
VIK_CLIPBOARD_DATA_NONE = 0,
VIK_CLIPBOARD_DATA_LAYER,
- VIK_CLIPBOARD_DATA_SUBLAYER
+ VIK_CLIPBOARD_DATA_SUBLAYER,
+ VIK_CLIPBOARD_DATA_TEXT,
} VikClipboardDataType;
void a_clipboard_copy(VikClipboardDataType type, guint16 layer_type, gint subtype, guint len, const gchar* text, guint8 * data);
diff --git a/src/compression.c b/src/compression.c
new file mode 100644
index 0000000..05badab
--- /dev/null
+++ b/src/compression.c
@@ -0,0 +1,204 @@
+/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 4; tab-width: 4 -*- */
+/*
+ * viking -- GPS Data and Topo Analyzer, Explorer, and Manager
+ *
+ * Copyright (C) 2003-2008, Evan Battaglia <gtoevan@gmx.net>
+ * Copyright (C) 2007, Quy Tonthat <qtonthat@gmail.com>
+ * Copyright (C) 2013, Rob Norris <rw_norris@hotmail.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#ifdef HAVE_LIBZ
+#include <zlib.h>
+#endif
+
+#ifdef HAVE_BZLIB_H
+#include <bzlib.h>
+#endif
+
+#include "compression.h"
+#include <gio/gio.h>
+#include <glib/gstdio.h>
+
+#ifdef HAVE_LIBZ
+/* return size of unzip data or 0 if failed */
+static guint uncompress_data(void *uncompressed_buffer, guint uncompressed_size, void *compressed_data, guint compressed_size)
+{
+ z_stream stream;
+ int err;
+
+ stream.next_in = compressed_data;
+ stream.avail_in = compressed_size;
+ stream.next_out = uncompressed_buffer;
+ stream.avail_out = uncompressed_size;
+ stream.zalloc = (alloc_func)0;
+ stream.zfree = (free_func)0;
+ stream.opaque = (voidpf)0;
+
+ /* negative windowBits to inflateInit2 means "no header" */
+ if ((err = inflateInit2(&stream, -MAX_WBITS)) != Z_OK) {
+ g_warning("%s(): inflateInit2 failed", __PRETTY_FUNCTION__);
+ return 0;
+ }
+
+ err = inflate(&stream, Z_FINISH);
+ if ((err != Z_OK) && (err != Z_STREAM_END) && stream.msg) {
+ g_warning("%s() inflate failed err=%d \"%s\"", __PRETTY_FUNCTION__, err, stream.msg == NULL ? "unknown" : stream.msg);
+ inflateEnd(&stream);
+ return 0;
+ }
+
+ inflateEnd(&stream);
+ return(stream.total_out);
+}
+#endif
+
+/**
+ * unzip_file:
+ * @zip_file: pointer to start of compressed data
+ * @unzip_size: the size of the compressed data block
+ *
+ * Returns a pointer to uncompressed data (maybe NULL)
+ */
+void *unzip_file(gchar *zip_file, gulong *unzip_size)
+{
+ void *unzip_data = NULL;
+#ifndef HAVE_LIBZ
+ goto end;
+#else
+ gchar *zip_data;
+ struct _lfh {
+ guint32 sig;
+ guint16 extract_version;
+ guint16 flags;
+ guint16 comp_method;
+ guint16 time;
+ guint16 date;
+ guint32 crc_32;
+ guint32 compressed_size;
+ guint32 uncompressed_size;
+ guint16 filename_len;
+ guint16 extra_field_len;
+ } __attribute__ ((__packed__)) *local_file_header = NULL;
+
+
+ local_file_header = (struct _lfh *) zip_file;
+ if (GUINT32_FROM_LE(local_file_header->sig) != 0x04034b50) {
+ g_warning("%s(): wrong format", __PRETTY_FUNCTION__);
+ g_free(unzip_data);
+ goto end;
+ }
+
+ zip_data = zip_file + sizeof(struct _lfh)
+ + GUINT16_FROM_LE(local_file_header->filename_len)
+ + GUINT16_FROM_LE(local_file_header->extra_field_len);
+ gulong uncompressed_size = GUINT32_FROM_LE(local_file_header->uncompressed_size);
+ unzip_data = g_malloc(uncompressed_size);
+
+ if (!(*unzip_size = uncompress_data(unzip_data, uncompressed_size, zip_data, GUINT32_FROM_LE(local_file_header->compressed_size)))) {
+ g_free(unzip_data);
+ unzip_data = NULL;
+ goto end;
+ }
+
+#endif
+end:
+ return(unzip_data);
+}
+
+/**
+ * uncompress_bzip2:
+ * @name: The name of the file to attempt to decompress
+ *
+ * Returns: The name of the uncompressed file (in a temporary location) or NULL
+ * free the returned name after use.
+ *
+ * Also see: http://www.bzip.org/1.0.5/bzip2-manual-1.0.5.html
+ */
+gchar* uncompress_bzip2 ( gchar *name )
+{
+#ifdef HAVE_BZLIB_H
+ FILE *ff = g_fopen ( name, "r" );
+ if ( !ff )
+ return NULL;
+
+ int bzerror;
+ BZFILE* bf = BZ2_bzReadOpen ( &bzerror, ff, 0, 0, NULL, 0 ); // This should take care of the bz2 file header
+ if ( bzerror != BZ_OK ) {
+ BZ2_bzReadClose ( &bzerror, bf );
+ // handle error
+ g_warning ( "%s: BZ ReadOpen error on %s", __FUNCTION__, name );
+ return NULL;
+ }
+
+ GFileIOStream *gios;
+ GError *error = NULL;
+ gchar *tmpname = NULL;
+#if GLIB_CHECK_VERSION(2,32,0)
+ GFile *gf = g_file_new_tmp ( "vik-bz2-tmp.XXXXXX", &gios, &error );
+ tmpname = g_file_get_path (gf);
+#else
+ gint fd = g_file_open_tmp ( "vik-bz2-tmp.XXXXXX", &tmpname, &error );
+ if ( error ) {
+ g_warning ( error->message );
+ g_error_free ( error );
+ return NULL;
+ }
+ gios = g_file_open_readwrite ( g_file_new_for_path (tmpname), NULL, &error );
+ if ( error ) {
+ g_warning ( error->message );
+ g_error_free ( error );
+ return NULL;
+ }
+#endif
+
+ GOutputStream *gos = g_io_stream_get_output_stream ( G_IO_STREAM(gios) );
+
+ // Process in arbitary sized chunks
+ char buf[4096];
+ bzerror = BZ_OK;
+ int nBuf;
+ // Now process the actual compression data
+ while ( bzerror == BZ_OK ) {
+ nBuf = BZ2_bzRead ( &bzerror, bf, buf, 4096 );
+ if ( bzerror == BZ_OK || bzerror == BZ_STREAM_END) {
+ // do something with buf[0 .. nBuf-1]
+ if ( g_output_stream_write ( gos, buf, nBuf, NULL, &error ) < 0 ) {
+ g_critical ( "Couldn't write bz2 tmp %s file due to %s", tmpname, error->message );
+ g_error_free (error);
+ BZ2_bzReadClose ( &bzerror, bf );
+ goto end;
+ }
+ }
+ }
+ if ( bzerror != BZ_STREAM_END ) {
+ // handle error...
+ g_warning ( "%s: BZ error :( %d", __FUNCTION__, bzerror );
+ }
+ BZ2_bzReadClose ( &bzerror, bf );
+ g_output_stream_close ( gos, NULL, &error );
+
+ end:
+ return tmpname;
+#else
+ return NULL;
+#endif
+}
diff --git a/src/compression.h b/src/compression.h
new file mode 100644
index 0000000..3aa2fdb
--- /dev/null
+++ b/src/compression.h
@@ -0,0 +1,37 @@
+/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 4; tab-width: 4 -*- */
+/*
+ * viking -- GPS Data and Topo Analyzer, Explorer, and Manager
+ *
+ * Copyright (C) 2013, Rob Norris <rw_norris@hotmail.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ */
+
+#ifndef _VIKING_COMPRESSION_H
+#define _VIKING_COMPRESSION_H
+
+#include <glib.h>
+
+G_BEGIN_DECLS
+
+void *unzip_file(gchar *zip_file, gulong *unzip_size);
+
+gchar* uncompress_bzip2 ( gchar *name );
+
+G_END_DECLS
+
+#endif
+
diff --git a/src/config.h b/src/config.h
index 0d5f7bf..d35d764 100644
--- a/src/config.h
+++ b/src/config.h
@@ -10,6 +10,9 @@
/* Define to 1 if you have the `bind_textdomain_codeset' function. */
#define HAVE_BIND_TEXTDOMAIN_CODESET 1
+/* Define to 1 if you have the <bzlib.h> header file. */
+#define HAVE_BZLIB_H 1
+
/* Define to 1 if you have the `dcgettext' function. */
#define HAVE_DCGETTEXT 1
@@ -28,6 +31,9 @@
/* Define if your <locale.h> file defines LC_MESSAGES. */
#define HAVE_LC_MESSAGES 1
+/* Define to 1 if you have the `bz2' library (-lbz2). */
+#define HAVE_LIBBZ2 1
+
/* Define to 1 if you have a functional curl library. */
#define HAVE_LIBCURL 1
@@ -40,6 +46,9 @@
/* Define to 1 if you have the `m' library (-lm). */
#define HAVE_LIBM 1
+/* Define to 1 if you have the `magic' library (-lmagic). */
+#define HAVE_LIBMAGIC 1
+
/* Define to 1 if you have the `X11' library (-lX11). */
#define HAVE_LIBX11 1
@@ -49,6 +58,9 @@
/* Define to 1 if you have the <locale.h> header file. */
#define HAVE_LOCALE_H 1
+/* Define to 1 if you have the <magic.h> header file. */
+#define HAVE_MAGIC_H 1
+
/* Define to 1 if you have the <malloc.h> header file. */
#define HAVE_MALLOC_H 1
@@ -122,11 +134,14 @@
/* Define to 1 if you have the <utime.h> header file. */
#define HAVE_UTIME_H 1
+/* Enable Viking specifics in otherwise reusable code */
+#define HAVE_VIKING 1
+
/* Define to 1 if you have the <X11/Xlib.h> header file. */
#define HAVE_X11_XLIB_H 1
/* Defined if libcurl supports AsynchDNS */
-/* #undef LIBCURL_FEATURE_ASYNCHDNS */
+#define LIBCURL_FEATURE_ASYNCHDNS 1
/* Defined if libcurl supports IDN */
#define LIBCURL_FEATURE_IDN 1
@@ -193,25 +208,22 @@
#define PACKAGE_NAME "viking"
/* Define to the full name and version of this package. */
-#define PACKAGE_STRING "viking 1.4.2"
+#define PACKAGE_STRING "viking 1.5.1"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "viking"
/* Define to the home page for this package. */
-#define PACKAGE_URL ""
+#define PACKAGE_URL "http://viking.sf.net/"
/* Define to the version of this package. */
-#define PACKAGE_VERSION "1.4.2"
+#define PACKAGE_VERSION "1.5.1"
/* Define to 1 if you have the ANSI C header files. */
#define STDC_HEADERS 1
/* Version number of package */
-#define VERSION "1.4.2"
-
-/* NO ALPHABETIZED TRW */
-#define VIK_CONFIG_ALPHABETIZED_TRW /**/
+#define VERSION "1.5.1"
/* BING STUFF */
#define VIK_CONFIG_BING /**/
diff --git a/src/config.h.in b/src/config.h.in
index 81549bb..75c5aa6 100644
--- a/src/config.h.in
+++ b/src/config.h.in
@@ -9,6 +9,9 @@
/* Define to 1 if you have the `bind_textdomain_codeset' function. */
#undef HAVE_BIND_TEXTDOMAIN_CODESET
+/* Define to 1 if you have the <bzlib.h> header file. */
+#undef HAVE_BZLIB_H
+
/* Define to 1 if you have the `dcgettext' function. */
#undef HAVE_DCGETTEXT
@@ -27,6 +30,9 @@
/* Define if your <locale.h> file defines LC_MESSAGES. */
#undef HAVE_LC_MESSAGES
+/* Define to 1 if you have the `bz2' library (-lbz2). */
+#undef HAVE_LIBBZ2
+
/* Define to 1 if you have a functional curl library. */
#undef HAVE_LIBCURL
@@ -39,6 +45,9 @@
/* Define to 1 if you have the `m' library (-lm). */
#undef HAVE_LIBM
+/* Define to 1 if you have the `magic' library (-lmagic). */
+#undef HAVE_LIBMAGIC
+
/* Define to 1 if you have the `X11' library (-lX11). */
#undef HAVE_LIBX11
@@ -48,6 +57,9 @@
/* Define to 1 if you have the <locale.h> header file. */
#undef HAVE_LOCALE_H
+/* Define to 1 if you have the <magic.h> header file. */
+#undef HAVE_MAGIC_H
+
/* Define to 1 if you have the <malloc.h> header file. */
#undef HAVE_MALLOC_H
@@ -121,6 +133,9 @@
/* Define to 1 if you have the <utime.h> header file. */
#undef HAVE_UTIME_H
+/* Enable Viking specifics in otherwise reusable code */
+#undef HAVE_VIKING
+
/* Define to 1 if you have the <X11/Xlib.h> header file. */
#undef HAVE_X11_XLIB_H
@@ -209,9 +224,6 @@
/* Version number of package */
#undef VERSION
-/* NO ALPHABETIZED TRW */
-#undef VIK_CONFIG_ALPHABETIZED_TRW
-
/* BING STUFF */
#undef VIK_CONFIG_BING
diff --git a/src/coords.c b/src/coords.c
index 62a2d9f..f1a2d06 100644
--- a/src/coords.c
+++ b/src/coords.c
@@ -49,8 +49,14 @@ renaming functions and defining LatLon and UTM structs.
#include <math.h>
#endif
+#include "coords.h"
+#ifdef HAVE_VIKING
#include "viking.h"
#include "globals.h"
+#else
+#define DEG2RAD(x) ((x)*(M_PI/180))
+#define RAD2DEG(x) ((x)*(180/M_PI))
+#endif
#include "degrees_converters.h"
/**
@@ -255,7 +261,7 @@ void a_coords_latlon_to_string ( const struct LatLon *latlon,
gchar **lon )
{
g_return_if_fail ( latlon != NULL );
-
+#ifdef HAVE_VIKING
vik_degree_format_t format = a_vik_get_degree_format ();
switch (format) {
@@ -274,4 +280,8 @@ void a_coords_latlon_to_string ( const struct LatLon *latlon,
default:
g_critical("Houston, we've had a problem. format=%d", format);
}
+#else
+ *lat = convert_lat_dec_to_ddd ( latlon->lat );
+ *lon = convert_lon_dec_to_ddd ( latlon->lon );
+#endif
}
diff --git a/src/curl_download.c b/src/curl_download.c
index cbaa403..8b171f8 100644
--- a/src/curl_download.c
+++ b/src/curl_download.c
@@ -27,6 +27,7 @@
#endif
#include <stdio.h>
+#include <string.h>
#ifdef HAVE_UNISTD_H
#include <unistd.h>
@@ -208,10 +209,19 @@ int curl_download_get_url ( const char *hostname, const char *uri, FILE *f, Down
int ret;
gchar *full = NULL;
- /* Compose the full url */
- full = g_strdup_printf ( "%s://%s%s", (ftp?"ftp":"http"), hostname, uri );
+ if ( strstr ( hostname, "://" ) != NULL )
+ /* Already full url */
+ full = (gchar *) hostname;
+ else if ( strstr ( uri, "://" ) != NULL )
+ /* Already full url */
+ full = (gchar *) uri;
+ else
+ /* Compose the full url */
+ full = g_strdup_printf ( "%s://%s%s", (ftp?"ftp":"http"), hostname, uri );
ret = curl_download_uri ( full, f, options, file_options, handle );
- g_free ( full );
+ /* Free newly allocated memory, but do not free uri */
+ if ( hostname != full && uri != full )
+ g_free ( full );
full = NULL;
return ret;
diff --git a/src/datasource_bfilter.c b/src/datasource_bfilter.c
index 848af0f..e243deb 100644
--- a/src/datasource_bfilter.c
+++ b/src/datasource_bfilter.c
@@ -43,7 +43,7 @@ VikLayerParamScale simplify_params_scales[] = {
};
VikLayerParam bfilter_simplify_params[] = {
- { "numberofpoints", VIK_LAYER_PARAM_UINT, VIK_LAYER_GROUP_NONE, N_("Max number of points:"), VIK_LAYER_WIDGET_SPINBUTTON, simplify_params_scales, NULL, NULL },
+ { VIK_LAYER_NUM_TYPES, "numberofpoints", VIK_LAYER_PARAM_UINT, VIK_LAYER_GROUP_NONE, N_("Max number of points:"), VIK_LAYER_WIDGET_SPINBUTTON, simplify_params_scales, NULL, NULL, NULL, NULL },
};
VikLayerParamData bfilter_simplify_params_defaults[] = {
diff --git a/src/datasource_file.c b/src/datasource_file.c
index c96b4cc..0a749e5 100644
--- a/src/datasource_file.c
+++ b/src/datasource_file.c
@@ -50,7 +50,7 @@ static BabelFile *last_file_filter = NULL;
/* The last file format selected */
static int last_type = 0;
-static gpointer datasource_file_init( );
+static gpointer datasource_file_init ( acq_vik_t *avt );
static void datasource_file_add_setup_widgets ( GtkWidget *dialog, VikViewport *vvp, gpointer user_data );
static void datasource_file_get_cmd_string ( datasource_file_widgets_t *widgets, gchar **cmd, gchar **input_file_type, gpointer not_used );
static void datasource_file_cleanup ( gpointer data );
@@ -75,7 +75,7 @@ VikDataSourceInterface vik_datasource_file_interface = {
};
/* See VikDataSourceInterface */
-static gpointer datasource_file_init ( )
+static gpointer datasource_file_init ( acq_vik_t *avt )
{
datasource_file_widgets_t *widgets = g_malloc(sizeof(*widgets));
return widgets;
@@ -84,13 +84,7 @@ static gpointer datasource_file_init ( )
static void fill_combo_box (gpointer data, gpointer user_data)
{
const gchar *label = ((BabelFile*) data)->label;
-#if GTK_CHECK_VERSION (2,24,0)
- GtkComboBoxText *combo = GTK_COMBO_BOX_TEXT (user_data);
- gtk_combo_box_text_append_text (combo, label);
-#else
- GtkComboBox *combo = GTK_COMBO_BOX (user_data);
- gtk_combo_box_append_text (combo, label);
-#endif
+ vik_combo_box_text_append (GTK_WIDGET(user_data), label);
}
static void add_file_filter (gpointer data, gpointer user_data)
@@ -146,19 +140,16 @@ static void datasource_file_add_setup_widgets ( GtkWidget *dialog, VikViewport *
/* The file format selector */
type_label = gtk_label_new (_("File type:"));
-#if GTK_CHECK_VERSION (2,24,0)
- widgets->type = gtk_combo_box_text_new ();
-#else
- widgets->type = gtk_combo_box_new_text ();
-#endif
+ widgets->type = vik_combo_box_text_new ();
g_list_foreach (a_babel_file_list, fill_combo_box, widgets->type);
gtk_combo_box_set_active (GTK_COMBO_BOX (widgets->type), last_type);
/* Packing all these widgets */
- gtk_box_pack_start ( GTK_BOX(GTK_DIALOG(dialog)->vbox), filename_label, FALSE, FALSE, 5 );
- gtk_box_pack_start ( GTK_BOX(GTK_DIALOG(dialog)->vbox), widgets->file, FALSE, FALSE, 5 );
- gtk_box_pack_start ( GTK_BOX(GTK_DIALOG(dialog)->vbox), type_label, FALSE, FALSE, 5 );
- gtk_box_pack_start ( GTK_BOX(GTK_DIALOG(dialog)->vbox), widgets->type, FALSE, FALSE, 5 );
+ GtkBox *box = GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog)));
+ gtk_box_pack_start ( box, filename_label, FALSE, FALSE, 5 );
+ gtk_box_pack_start ( box, widgets->file, FALSE, FALSE, 5 );
+ gtk_box_pack_start ( box, type_label, FALSE, FALSE, 5 );
+ gtk_box_pack_start ( box, widgets->type, FALSE, FALSE, 5 );
gtk_widget_show_all(dialog);
}
diff --git a/src/datasource_gc.c b/src/datasource_gc.c
index 7da4fd7..110f72b 100644
--- a/src/datasource_gc.c
+++ b/src/datasource_gc.c
@@ -54,7 +54,7 @@ typedef struct {
} datasource_gc_widgets_t;
-static gpointer datasource_gc_init ( );
+static gpointer datasource_gc_init ( acq_vik_t *avt );
static void datasource_gc_add_setup_widgets ( GtkWidget *dialog, VikViewport *vvp, gpointer user_data );
static void datasource_gc_get_cmd_string ( datasource_gc_widgets_t *widgets, gchar **cmd, gchar **input_file_type, gpointer not_used );
static void datasource_gc_cleanup ( datasource_gc_widgets_t *widgets );
@@ -82,8 +82,8 @@ VikDataSourceInterface vik_datasource_gc_interface = {
};
static VikLayerParam prefs[] = {
- { VIKING_GC_PARAMS_NAMESPACE "username", VIK_LAYER_PARAM_STRING, VIK_LAYER_GROUP_NONE, N_("geocaching.com username:"), VIK_LAYER_WIDGET_ENTRY, NULL, NULL, NULL },
- { VIKING_GC_PARAMS_NAMESPACE "password", VIK_LAYER_PARAM_STRING, VIK_LAYER_GROUP_NONE, N_("geocaching.com password:"), VIK_LAYER_WIDGET_ENTRY, NULL, NULL, NULL },
+ { VIK_LAYER_NUM_TYPES, VIKING_GC_PARAMS_NAMESPACE "username", VIK_LAYER_PARAM_STRING, VIK_LAYER_GROUP_NONE, N_("geocaching.com username:"), VIK_LAYER_WIDGET_ENTRY, NULL, NULL, NULL, NULL, NULL },
+ { VIK_LAYER_NUM_TYPES, VIKING_GC_PARAMS_NAMESPACE "password", VIK_LAYER_PARAM_STRING, VIK_LAYER_GROUP_NONE, N_("geocaching.com password:"), VIK_LAYER_WIDGET_ENTRY, NULL, NULL, NULL, NULL, NULL },
};
void a_datasource_gc_init()
@@ -98,7 +98,7 @@ void a_datasource_gc_init()
}
-static gpointer datasource_gc_init ( )
+static gpointer datasource_gc_init ( acq_vik_t *avt )
{
datasource_gc_widgets_t *widgets = g_malloc(sizeof(*widgets));
return widgets;
@@ -208,12 +208,14 @@ static void datasource_gc_add_setup_widgets ( GtkWidget *dialog, VikViewport *vv
g_signal_connect_swapped ( G_OBJECT(widgets->center_entry), "changed", G_CALLBACK(datasource_gc_draw_circle), widgets );
g_signal_connect_swapped ( G_OBJECT(widgets->miles_radius_spin), "value-changed", G_CALLBACK(datasource_gc_draw_circle), widgets );
- gtk_box_pack_start ( GTK_BOX(GTK_DIALOG(dialog)->vbox), num_label, FALSE, FALSE, 5 );
- gtk_box_pack_start ( GTK_BOX(GTK_DIALOG(dialog)->vbox), widgets->num_spin, FALSE, FALSE, 5 );
- gtk_box_pack_start ( GTK_BOX(GTK_DIALOG(dialog)->vbox), center_label, FALSE, FALSE, 5 );
- gtk_box_pack_start ( GTK_BOX(GTK_DIALOG(dialog)->vbox), widgets->center_entry, FALSE, FALSE, 5 );
- gtk_box_pack_start ( GTK_BOX(GTK_DIALOG(dialog)->vbox), miles_radius_label, FALSE, FALSE, 5 );
- gtk_box_pack_start ( GTK_BOX(GTK_DIALOG(dialog)->vbox), widgets->miles_radius_spin, FALSE, FALSE, 5 );
+ /* Packing all these widgets */
+ GtkBox *box = GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog)));
+ gtk_box_pack_start ( box, num_label, FALSE, FALSE, 5 );
+ gtk_box_pack_start ( box, widgets->num_spin, FALSE, FALSE, 5 );
+ gtk_box_pack_start ( box, center_label, FALSE, FALSE, 5 );
+ gtk_box_pack_start ( box, widgets->center_entry, FALSE, FALSE, 5 );
+ gtk_box_pack_start ( box, miles_radius_label, FALSE, FALSE, 5 );
+ gtk_box_pack_start ( box, widgets->miles_radius_spin, FALSE, FALSE, 5 );
gtk_widget_show_all(dialog);
}
@@ -222,12 +224,16 @@ static void datasource_gc_get_cmd_string ( datasource_gc_widgets_t *widgets, gch
//gchar *safe_string = g_shell_quote ( gtk_entry_get_text ( GTK_ENTRY(widgets->center_entry) ) );
gchar *safe_user = g_shell_quote ( a_preferences_get ( VIKING_GC_PARAMS_NAMESPACE "username")->s );
gchar *safe_pass = g_shell_quote ( a_preferences_get ( VIKING_GC_PARAMS_NAMESPACE "password")->s );
+ gchar *slat, *slon;
gdouble lat, lon;
if ( 2 != sscanf ( gtk_entry_get_text ( GTK_ENTRY(widgets->center_entry) ), "%lf,%lf", &lat, &lon ) ) {
g_warning (_("Broken input - using some defaults"));
lat = a_vik_get_default_lat();
lon = a_vik_get_default_long();
}
+ // Convert double as string in C locale
+ slat = a_coords_dtostr ( lat );
+ slon = a_coords_dtostr ( lon );
// Unix specific shell commands
// 1. Remove geocache webpages (maybe be from different location)
@@ -235,18 +241,20 @@ static void datasource_gc_get_cmd_string ( datasource_gc_widgets_t *widgets, gch
// 3. Converts webpages into a single waypoint file, ignoring zero location waypoints '-z'
// Probably as they are premium member only geocaches and user is only a basic member
// Final output is piped into GPSbabel - hence removal of *html is done at beginning of the command sequence
- *cmd = g_strdup_printf( "rm -f ~/.geo/caches/*html ; %s -P -n%d -r%.1fM -u %s -p %s %.4f %.4f ; %s -z ~/.geo/caches/*html ",
+ *cmd = g_strdup_printf( "rm -f ~/.geo/caches/*html ; %s -P -n%d -r%.1fM -u %s -p %s %s %s ; %s -z ~/.geo/caches/*html ",
GC_PROGRAM1,
gtk_spin_button_get_value_as_int ( GTK_SPIN_BUTTON(widgets->num_spin) ),
gtk_spin_button_get_value_as_float ( GTK_SPIN_BUTTON(widgets->miles_radius_spin) ),
safe_user,
safe_pass,
- lat, lon,
+ slat, slon,
GC_PROGRAM2 );
*input_file_type = NULL;
//g_free ( safe_string );
g_free ( safe_user );
g_free ( safe_pass );
+ g_free ( slat );
+ g_free ( slon );
}
static void datasource_gc_cleanup ( datasource_gc_widgets_t *widgets )
diff --git a/src/datasource_geotag.c b/src/datasource_geotag.c
index b3621dc..eb75c59 100644
--- a/src/datasource_geotag.c
+++ b/src/datasource_geotag.c
@@ -41,7 +41,7 @@ typedef struct {
/* The last used directory */
static gchar *last_folder_uri = NULL;
-static gpointer datasource_geotag_init( );
+static gpointer datasource_geotag_init ( acq_vik_t *avt );
static void datasource_geotag_add_setup_widgets ( GtkWidget *dialog, VikViewport *vvp, gpointer user_data );
static void datasource_geotag_get_cmd_string ( gpointer user_data, gchar **babelargs_or_shellcmd, gchar **inputfile_or_inputtype, gpointer not_used );
static gboolean datasource_geotag_process ( VikTrwLayer *vtl, const gchar *cmd, const gchar *extra, BabelStatusFunc status_cb, acq_dialog_widgets_t *adw, gpointer not_used );
@@ -73,7 +73,7 @@ VikDataSourceInterface vik_datasource_geotag_interface = {
};
/* See VikDataSourceInterface */
-static gpointer datasource_geotag_init ( )
+static gpointer datasource_geotag_init ( acq_vik_t *avt )
{
datasource_geotag_user_data_t *user_data = g_malloc(sizeof(datasource_geotag_user_data_t));
user_data->filelist = NULL;
@@ -119,7 +119,8 @@ static void datasource_geotag_add_setup_widgets ( GtkWidget *dialog, VikViewport
// However not much point since these will have images associated with them!
/* Packing all widgets */
- gtk_box_pack_start ( GTK_BOX(GTK_DIALOG(dialog)->vbox), userdata->files, TRUE, TRUE, 0 );
+ GtkBox *box = GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog)));
+ gtk_box_pack_start ( box, userdata->files, TRUE, TRUE, 0 );
gtk_widget_show_all ( dialog );
}
diff --git a/src/datasource_google.c b/src/datasource_google.c
deleted file mode 100644
index c2b33a5..0000000
--- a/src/datasource_google.c
+++ /dev/null
@@ -1,125 +0,0 @@
-/*
- * viking -- GPS Data and Topo Analyzer, Explorer, and Manager
- *
- * Copyright (C) 2003-2005, Evan Battaglia <gtoevan@gmx.net>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-#include <string.h>
-
-#include <glib/gprintf.h>
-#include <glib/gi18n.h>
-
-#include "viking.h"
-#include "babel.h"
-#include "gpx.h"
-#include "acquire.h"
-
-#define GOOGLE_DIRECTIONS_STRING "maps.google.com/maps?q=from:%s+to:%s&output=js"
-
-typedef struct {
- GtkWidget *from_entry, *to_entry;
-} datasource_google_widgets_t;
-
-static gchar *last_from_str = NULL;
-static gchar *last_to_str = NULL;
-
-static gpointer datasource_google_init( );
-static void datasource_google_add_setup_widgets ( GtkWidget *dialog, VikViewport *vvp, gpointer user_data );
-static void datasource_google_get_cmd_string ( datasource_google_widgets_t *widgets, gchar **cmd, gchar **input_file_type, DownloadMapOptions *options );
-static void datasource_google_cleanup ( gpointer data );
-
-VikDataSourceInterface vik_datasource_google_interface = {
- N_("Google Directions"),
- N_("Google Directions"),
- VIK_DATASOURCE_ADDTOLAYER,
- VIK_DATASOURCE_INPUTTYPE_NONE,
- TRUE,
- TRUE,
- TRUE,
- (VikDataSourceInitFunc) datasource_google_init,
- (VikDataSourceCheckExistenceFunc) NULL,
- (VikDataSourceAddSetupWidgetsFunc) datasource_google_add_setup_widgets,
- (VikDataSourceGetCmdStringFunc) datasource_google_get_cmd_string,
- (VikDataSourceProcessFunc) a_babel_convert_from_url,
- (VikDataSourceProgressFunc) NULL,
- (VikDataSourceAddProgressWidgetsFunc) NULL,
- (VikDataSourceCleanupFunc) datasource_google_cleanup,
- (VikDataSourceOffFunc) NULL,
-};
-
-static gpointer datasource_google_init ( )
-{
- datasource_google_widgets_t *widgets = g_malloc(sizeof(*widgets));
- return widgets;
-}
-
-static void datasource_google_add_setup_widgets ( GtkWidget *dialog, VikViewport *vvp, gpointer user_data )
-{
- datasource_google_widgets_t *widgets = (datasource_google_widgets_t *)user_data;
- GtkWidget *from_label, *to_label;
- from_label = gtk_label_new (_("From:"));
- widgets->from_entry = gtk_entry_new();
- to_label = gtk_label_new (_("To:"));
- widgets->to_entry = gtk_entry_new();
- if (last_from_str)
- gtk_entry_set_text(GTK_ENTRY(widgets->from_entry), last_from_str);
- if (last_to_str)
- gtk_entry_set_text(GTK_ENTRY(widgets->to_entry), last_to_str);
- gtk_box_pack_start ( GTK_BOX(GTK_DIALOG(dialog)->vbox), from_label, FALSE, FALSE, 5 );
- gtk_box_pack_start ( GTK_BOX(GTK_DIALOG(dialog)->vbox), widgets->from_entry, FALSE, FALSE, 5 );
- gtk_box_pack_start ( GTK_BOX(GTK_DIALOG(dialog)->vbox), to_label, FALSE, FALSE, 5 );
- gtk_box_pack_start ( GTK_BOX(GTK_DIALOG(dialog)->vbox), widgets->to_entry, FALSE, FALSE, 5 );
- gtk_widget_show_all(dialog);
-}
-
-static void datasource_google_get_cmd_string ( datasource_google_widgets_t *widgets, gchar **cmd, gchar **input_file_type, DownloadMapOptions *options )
-{
- /* TODO: special characters handling!!! */
- gchar *from_quoted, *to_quoted;
- gchar **from_split, **to_split;
- from_quoted = g_shell_quote ( gtk_entry_get_text ( GTK_ENTRY(widgets->from_entry) ) );
- to_quoted = g_shell_quote ( gtk_entry_get_text ( GTK_ENTRY(widgets->to_entry) ) );
-
- from_split = g_strsplit( from_quoted, " ", 0);
- to_split = g_strsplit( to_quoted, " ", 0);
- from_quoted = g_strjoinv( "%20", from_split);
- to_quoted = g_strjoinv( "%20", to_split);
-
- *cmd = g_strdup_printf( GOOGLE_DIRECTIONS_STRING, from_quoted, to_quoted );
- *input_file_type = g_strdup("google");
- options = NULL;
-
- g_free(last_from_str);
- g_free(last_to_str);
-
- last_from_str = g_strdup( gtk_entry_get_text ( GTK_ENTRY(widgets->from_entry) ));
- last_to_str = g_strdup( gtk_entry_get_text ( GTK_ENTRY(widgets->to_entry) ));
-
- g_free(from_quoted);
- g_free(to_quoted);
- g_strfreev(from_split);
- g_strfreev(to_split);
-
-}
-
-static void datasource_google_cleanup ( gpointer data )
-{
- g_free ( data );
-}
diff --git a/src/datasource_gps.c b/src/datasource_gps.c
index ebda70a..aae81af 100644
--- a/src/datasource_gps.c
+++ b/src/datasource_gps.c
@@ -41,11 +41,8 @@
static gboolean gps_acquire_in_progress = FALSE;
static gint last_active = -1;
-static gboolean last_get_tracks = TRUE;
-static gboolean last_get_routes = TRUE;
-static gboolean last_get_waypoints = TRUE;
-static gpointer datasource_gps_init_func ( );
+static gpointer datasource_gps_init_func ( acq_vik_t *avt );
static void datasource_gps_get_cmd_string ( gpointer add_widgets_data_not_used, gchar **babelargs, gchar **input_file, gpointer not_used );
static void datasource_gps_cleanup ( gpointer user_data );
static void datasource_gps_progress ( BabelProgressCode c, gpointer data, acq_dialog_widgets_t *w );
@@ -82,9 +79,9 @@ VikDataSourceInterface vik_datasource_gps_interface = {
typedef struct {
/* setup dialog */
GtkWidget *proto_l;
- GtkComboBox *proto_b;
+ GtkWidget *proto_b;
GtkWidget *ser_l;
- GtkComboBox *ser_b;
+ GtkWidget *ser_b;
GtkWidget *off_request_l;
GtkCheckButton *off_request_b;
GtkWidget *get_tracks_l;
@@ -107,11 +104,22 @@ typedef struct {
/* state */
int total_count;
int count;
+ // Know which way xfer is so xfer setting types are only stored for download
+ vik_gps_dir direction;
} gps_user_data_t;
-static gpointer datasource_gps_init_func ()
+#define VIK_SETTINGS_GPS_GET_TRACKS "gps_download_tracks"
+#define VIK_SETTINGS_GPS_GET_ROUTES "gps_download_routes"
+#define VIK_SETTINGS_GPS_GET_WAYPOINTS "gps_download_waypoints"
+#define VIK_SETTINGS_GPS_PROTOCOL "gps_protocol"
+#define VIK_SETTINGS_GPS_PORT "gps_port"
+#define VIK_SETTINGS_GPS_POWER_OFF "gps_power_off"
+
+static gpointer datasource_gps_init_func ( acq_vik_t *avt )
{
- return g_malloc (sizeof(gps_user_data_t));
+ gps_user_data_t *gps_ud = g_malloc (sizeof(gps_user_data_t));
+ gps_ud->direction = GPS_DOWN;
+ return gps_ud;
}
/**
@@ -124,8 +132,11 @@ gchar* datasource_gps_get_protocol ( gpointer user_data )
// Uses the list of supported devices
gps_user_data_t *w = (gps_user_data_t *)user_data;
last_active = gtk_combo_box_get_active(GTK_COMBO_BOX(w->proto_b));
- if (a_babel_device_list)
- return ((BabelDevice*)g_list_nth_data(a_babel_device_list, last_active))->name;
+ if (a_babel_device_list) {
+ gchar *protocol = ((BabelDevice*)g_list_nth_data(a_babel_device_list, last_active))->name;
+ a_settings_set_string ( VIK_SETTINGS_GPS_PROTOCOL, protocol );
+ return protocol;
+ }
return NULL;
}
@@ -140,7 +151,14 @@ gchar* datasource_gps_get_protocol ( gpointer user_data )
gchar* datasource_gps_get_descriptor ( gpointer user_data )
{
gps_user_data_t *w = (gps_user_data_t *)user_data;
- return gtk_combo_box_get_active_text(GTK_COMBO_BOX(w->ser_b));
+
+#if GTK_CHECK_VERSION (2, 24, 0)
+ gchar *descriptor = gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(w->ser_b));
+#else
+ gchar *descriptor = gtk_combo_box_get_active_text(GTK_COMBO_BOX(w->ser_b));
+#endif
+ a_settings_set_string ( VIK_SETTINGS_GPS_PORT, descriptor );
+ return descriptor;
}
/**
@@ -151,8 +169,10 @@ gchar* datasource_gps_get_descriptor ( gpointer user_data )
gboolean datasource_gps_get_do_tracks ( gpointer user_data )
{
gps_user_data_t *w = (gps_user_data_t *)user_data;
- last_get_tracks = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(w->get_tracks_b));
- return last_get_tracks;
+ gboolean get_tracks = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(w->get_tracks_b));
+ if ( w->direction == GPS_DOWN )
+ a_settings_set_boolean ( VIK_SETTINGS_GPS_GET_TRACKS, get_tracks );
+ return get_tracks;
}
/**
@@ -163,8 +183,10 @@ gboolean datasource_gps_get_do_tracks ( gpointer user_data )
gboolean datasource_gps_get_do_routes ( gpointer user_data )
{
gps_user_data_t *w = (gps_user_data_t *)user_data;
- last_get_routes = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(w->get_routes_b));
- return last_get_routes;
+ gboolean get_routes = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(w->get_routes_b));
+ if ( w->direction == GPS_DOWN )
+ a_settings_set_boolean ( VIK_SETTINGS_GPS_GET_ROUTES, get_routes );
+ return get_routes;
}
/**
@@ -175,8 +197,10 @@ gboolean datasource_gps_get_do_routes ( gpointer user_data )
gboolean datasource_gps_get_do_waypoints ( gpointer user_data )
{
gps_user_data_t *w = (gps_user_data_t *)user_data;
- last_get_waypoints = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(w->get_waypoints_b));
- return last_get_waypoints;
+ gboolean get_waypoints = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(w->get_waypoints_b));
+ if ( w->direction == GPS_DOWN )
+ a_settings_set_boolean ( VIK_SETTINGS_GPS_GET_WAYPOINTS, get_waypoints );
+ return get_waypoints;
}
static void datasource_gps_get_cmd_string ( gpointer user_data, gchar **babelargs, gchar **input_file, gpointer not_used )
@@ -229,7 +253,9 @@ static void datasource_gps_get_cmd_string ( gpointer user_data, gchar **babelarg
gboolean datasource_gps_get_off ( gpointer user_data )
{
gps_user_data_t *w = (gps_user_data_t *)user_data;
- return gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(w->off_request_b));
+ gboolean power_off = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(w->off_request_b));
+ a_settings_set_boolean ( VIK_SETTINGS_GPS_POWER_OFF, power_off );
+ return power_off;
}
static void datasource_gps_off ( gpointer user_data, gchar **babelargs, gchar **input_file )
@@ -265,7 +291,11 @@ static void datasource_gps_off ( gpointer user_data, gchar **babelargs, gchar **
/* device points to static content => no free */
device = NULL;
+#if GTK_CHECK_VERSION (2, 24, 0)
+ ser = gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(w->ser_b));
+#else
ser = gtk_combo_box_get_active_text(GTK_COMBO_BOX(w->ser_b));
+#endif
*input_file = g_strdup(ser);
}
@@ -444,20 +474,20 @@ static void datasource_gps_progress ( BabelProgressCode c, gpointer data, acq_di
void append_element (gpointer elem, gpointer user_data)
{
- GtkComboBox *combo = GTK_COMBO_BOX (user_data);
const gchar *text = ((BabelDevice*)elem)->label;
- gtk_combo_box_append_text (combo, text);
+ vik_combo_box_text_append (GTK_WIDGET(user_data), text);
}
static gint find_entry = -1;
-static gint garmin_entry = -1;
+static gint wanted_entry = -1;
-static void find_garmin (gpointer elem, gpointer user_data)
+static void find_protocol (gpointer elem, gpointer user_data)
{
const gchar *name = ((BabelDevice*)elem)->name;
+ const gchar *protocol = user_data;
find_entry++;
- if (!strcmp(name, "garmin")) {
- garmin_entry = find_entry;
+ if (!strcmp(name, protocol)) {
+ wanted_entry = find_entry;
}
}
@@ -467,59 +497,106 @@ static void datasource_gps_add_setup_widgets ( GtkWidget *dialog, VikViewport *v
GtkTable *box, *data_type_box;
w->proto_l = gtk_label_new (_("GPS Protocol:"));
- w->proto_b = GTK_COMBO_BOX(gtk_combo_box_new_text ());
+ w->proto_b = vik_combo_box_text_new ();
g_list_foreach (a_babel_device_list, append_element, w->proto_b);
- // Maintain default to Garmin devices (assumed most popular/numerous device)
if ( last_active < 0 ) {
find_entry = -1;
- g_list_foreach (a_babel_device_list, find_garmin, NULL);
- if ( garmin_entry < 0 )
- // Not found - so set it to the first entry
- last_active = 0;
- else
- // Found
- last_active = garmin_entry;
+ wanted_entry = -1;
+ gchar *protocol = NULL;
+ if ( a_settings_get_string ( VIK_SETTINGS_GPS_PROTOCOL, &protocol ) ) {
+ // Use setting
+ if ( protocol )
+ g_list_foreach (a_babel_device_list, find_protocol, protocol);
+ }
+ else {
+ // Attempt to maintain default to Garmin devices (assumed most popular/numerous device)
+ g_list_foreach (a_babel_device_list, find_protocol, "garmin");
+ }
+ // If not found set it to the first entry, otherwise use the entry
+ last_active = ( wanted_entry < 0 ) ? 0 : wanted_entry;
}
- gtk_combo_box_set_active (w->proto_b, last_active);
+ gtk_combo_box_set_active (GTK_COMBO_BOX(w->proto_b), last_active);
g_object_ref(w->proto_b);
w->ser_l = gtk_label_new (_("Serial Port:"));
- w->ser_b = GTK_COMBO_BOX(gtk_combo_box_entry_new_text ());
+#if GTK_CHECK_VERSION (2, 24, 0)
+ w->ser_b = gtk_combo_box_text_new_with_entry ();
+#else
+ w->ser_b = gtk_combo_box_entry_new_text ();
+#endif
+ // Value from the settings is promoted to the top
+ gchar *gps_port = NULL;
+ if ( a_settings_get_string ( VIK_SETTINGS_GPS_PORT, &gps_port ) ) {
+ // Use setting if available
+ if ( gps_port ) {
+#ifndef WINDOWS
+ if ( !strncmp (gps_port, "/dev/tty", 6) ) {
+ if (g_access (gps_port, R_OK) == 0) {
+ vik_combo_box_text_append (w->ser_b, gps_port);
+ }
+ }
+ else
+#endif
+ vik_combo_box_text_append (w->ser_b, gps_port);
+ }
+ }
+
+ // Note avoid appending the port selected from the settings
#ifdef WINDOWS
- gtk_combo_box_append_text (w->ser_b, "com1");
+ if ( gps_port && strcmp (gps_port, "com1") )
+ vik_combo_box_text_append (w->ser_b, "com1");
#else
/* Here just try to see if the device is available which gets passed onto gpsbabel
List USB devices first as these will generally only be present if autogenerated by udev or similar
User is still able to set their own free text entry */
- if (g_access ("/dev/ttyUSB0", R_OK) == 0)
- gtk_combo_box_append_text (w->ser_b, "/dev/ttyUSB0");
- if (g_access ("/dev/ttyUSB1", R_OK) == 0)
- gtk_combo_box_append_text (w->ser_b, "/dev/ttyUSB1");
- if (g_access ("/dev/ttyS0", R_OK) == 0)
- gtk_combo_box_append_text (w->ser_b, "/dev/ttyS0");
- if (g_access ("/dev/ttyS1", R_OK) == 0)
- gtk_combo_box_append_text (w->ser_b, "/dev/ttyS1");
+ if ( gps_port && strcmp (gps_port, "/dev/ttyUSB0") )
+ if (g_access ("/dev/ttyUSB0", R_OK) == 0)
+ vik_combo_box_text_append (w->ser_b, "/dev/ttyUSB0");
+ if ( gps_port && strcmp (gps_port, "/dev/ttyUSB1") )
+ if (g_access ("/dev/ttyUSB1", R_OK) == 0)
+ vik_combo_box_text_append (w->ser_b, "/dev/ttyUSB1");
+ if ( gps_port && strcmp (gps_port, "/dev/ttyS0") )
+ if (g_access ("/dev/ttyS0", R_OK) == 0)
+ vik_combo_box_text_append (w->ser_b, "/dev/ttyS0");
+ if ( gps_port && strcmp (gps_port, "/dev/ttyS1") )
+ if (g_access ("/dev/ttyS1", R_OK) == 0)
+ vik_combo_box_text_append (w->ser_b, "/dev/ttyS1");
#endif
- gtk_combo_box_append_text (w->ser_b, "usb:");
- gtk_combo_box_set_active (w->ser_b, 0);
+ if ( gps_port && strcmp (gps_port, "usb:") )
+ vik_combo_box_text_append (w->ser_b, "usb:");
+
+ gtk_combo_box_set_active (GTK_COMBO_BOX(w->ser_b), 0);
g_object_ref(w->ser_b);
w->off_request_l = gtk_label_new (_("Turn Off After Transfer\n(Garmin/NAViLink Only)"));
w->off_request_b = GTK_CHECK_BUTTON ( gtk_check_button_new () );
+ gboolean power_off;
+ if ( ! a_settings_get_boolean ( VIK_SETTINGS_GPS_POWER_OFF, &power_off ) )
+ power_off = FALSE;
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w->off_request_b), power_off);
w->get_tracks_l = gtk_label_new (_("Tracks:"));
w->get_tracks_b = GTK_CHECK_BUTTON ( gtk_check_button_new () );
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w->get_tracks_b), last_get_tracks);
+ gboolean get_tracks;
+ if ( ! a_settings_get_boolean ( VIK_SETTINGS_GPS_GET_TRACKS, &get_tracks ) )
+ get_tracks = TRUE;
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w->get_tracks_b), get_tracks);
w->get_routes_l = gtk_label_new (_("Routes:"));
w->get_routes_b = GTK_CHECK_BUTTON ( gtk_check_button_new () );
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w->get_routes_b), last_get_routes);
+ gboolean get_routes;
+ if ( ! a_settings_get_boolean ( VIK_SETTINGS_GPS_GET_ROUTES, &get_routes ) )
+ get_routes = FALSE;
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w->get_routes_b), get_routes);
w->get_waypoints_l = gtk_label_new (_("Waypoints:"));
w->get_waypoints_b = GTK_CHECK_BUTTON ( gtk_check_button_new () );
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w->get_waypoints_b), last_get_waypoints);
+ gboolean get_waypoints;
+ if ( ! a_settings_get_boolean ( VIK_SETTINGS_GPS_GET_WAYPOINTS, &get_waypoints ) )
+ get_waypoints = TRUE;
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w->get_waypoints_b), get_waypoints);
box = GTK_TABLE(gtk_table_new(2, 4, FALSE));
data_type_box = GTK_TABLE(gtk_table_new(4, 1, FALSE));
@@ -537,7 +614,7 @@ static void datasource_gps_add_setup_widgets ( GtkWidget *dialog, VikViewport *v
gtk_table_attach_defaults(box, GTK_WIDGET(data_type_box), 0, 2, 2, 3);
gtk_table_attach_defaults(box, GTK_WIDGET(w->off_request_l), 0, 1, 3, 4);
gtk_table_attach_defaults(box, GTK_WIDGET(w->off_request_b), 1, 3, 3, 4);
- gtk_box_pack_start ( GTK_BOX(GTK_DIALOG(dialog)->vbox), GTK_WIDGET(box), FALSE, FALSE, 5 );
+ gtk_box_pack_start ( GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), GTK_WIDGET(box), FALSE, FALSE, 5 );
gtk_widget_show_all ( dialog );
}
@@ -553,7 +630,8 @@ static void datasource_gps_add_setup_widgets ( GtkWidget *dialog, VikViewport *v
*/
gpointer datasource_gps_setup ( GtkWidget *dialog, vik_gps_xfer_type xfer, gboolean xfer_all )
{
- gps_user_data_t *w_gps = (gps_user_data_t *)datasource_gps_init_func();
+ gps_user_data_t *w_gps = (gps_user_data_t *)datasource_gps_init_func ( NULL );
+ w_gps->direction = GPS_UP;
datasource_gps_add_setup_widgets ( dialog, NULL, w_gps );
gboolean way = xfer_all;
@@ -598,10 +676,10 @@ void datasource_gps_add_progress_widgets ( GtkWidget *dialog, gpointer user_data
trklabel = gtk_label_new ("");
rtelabel = gtk_label_new ("");
- gtk_box_pack_start ( GTK_BOX(GTK_DIALOG(dialog)->vbox), gpslabel, FALSE, FALSE, 5 );
- gtk_box_pack_start ( GTK_BOX(GTK_DIALOG(dialog)->vbox), wplabel, FALSE, FALSE, 5 );
- gtk_box_pack_start ( GTK_BOX(GTK_DIALOG(dialog)->vbox), trklabel, FALSE, FALSE, 5 );
- gtk_box_pack_start ( GTK_BOX(GTK_DIALOG(dialog)->vbox), rtelabel, FALSE, FALSE, 5 );
+ gtk_box_pack_start ( GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), gpslabel, FALSE, FALSE, 5 );
+ gtk_box_pack_start ( GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), wplabel, FALSE, FALSE, 5 );
+ gtk_box_pack_start ( GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), trklabel, FALSE, FALSE, 5 );
+ gtk_box_pack_start ( GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), rtelabel, FALSE, FALSE, 5 );
gtk_widget_show_all ( dialog );
diff --git a/src/datasource_osm.c b/src/datasource_osm.c
index 22cb88e..d954a66 100644
--- a/src/datasource_osm.c
+++ b/src/datasource_osm.c
@@ -43,7 +43,7 @@ typedef struct {
static gdouble last_page_number = 0;
-static gpointer datasource_osm_init( );
+static gpointer datasource_osm_init ( acq_vik_t *avt );
static void datasource_osm_add_setup_widgets ( GtkWidget *dialog, VikViewport *vvp, gpointer user_data );
static void datasource_osm_get_cmd_string ( datasource_osm_widgets_t *widgets, gchar **cmd, gchar **input_file_type, DownloadMapOptions *options );
static void datasource_osm_cleanup ( gpointer data );
@@ -67,9 +67,11 @@ VikDataSourceInterface vik_datasource_osm_interface = {
(VikDataSourceOffFunc) NULL,
};
-static gpointer datasource_osm_init ( )
+static gpointer datasource_osm_init ( acq_vik_t *avt )
{
datasource_osm_widgets_t *widgets = g_malloc(sizeof(*widgets));
+ /* Keep reference to viewport */
+ widgets->vvp = avt->vvp;
return widgets;
}
@@ -80,11 +82,12 @@ static void datasource_osm_add_setup_widgets ( GtkWidget *dialog, VikViewport *v
page_number_label = gtk_label_new (_("Page number:"));
widgets->page_number = gtk_spin_button_new_with_range(0, 100, 1);
gtk_spin_button_set_value(GTK_SPIN_BUTTON(widgets->page_number), last_page_number);
- gtk_box_pack_start ( GTK_BOX(GTK_DIALOG(dialog)->vbox), page_number_label, FALSE, FALSE, 5 );
- gtk_box_pack_start ( GTK_BOX(GTK_DIALOG(dialog)->vbox), widgets->page_number, FALSE, FALSE, 5 );
+
+ /* Packing all widgets */
+ GtkBox *box = GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog)));
+ gtk_box_pack_start ( box, page_number_label, FALSE, FALSE, 5 );
+ gtk_box_pack_start ( box, widgets->page_number, FALSE, FALSE, 5 );
gtk_widget_show_all(dialog);
- /* Keep reference to viewport */
- widgets->vvp = vvp;
}
static void datasource_osm_get_cmd_string ( datasource_osm_widgets_t *widgets, gchar **cmd, gchar **input_file_type, DownloadMapOptions *options )
diff --git a/src/datasource_osm_my_traces.c b/src/datasource_osm_my_traces.c
index 1569743..5db7a59 100644
--- a/src/datasource_osm_my_traces.c
+++ b/src/datasource_osm_my_traces.c
@@ -22,8 +22,6 @@
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
-#include <string.h>
-#include <limits.h>
#include <glib/gprintf.h>
#include <glib/gi18n.h>
@@ -35,8 +33,6 @@
#include "gpx.h"
#include "acquire.h"
#include "osm-traces.h"
-#include "preferences.h"
-#include "curl_download.h"
#include "datasource_gps.h"
#include "bbox.h"
@@ -53,7 +49,7 @@ typedef struct {
VikViewport *vvp;
} datasource_osm_my_traces_t;
-static gpointer datasource_osm_my_traces_init( );
+static gpointer datasource_osm_my_traces_init ( acq_vik_t *avt );
static void datasource_osm_my_traces_add_setup_widgets ( GtkWidget *dialog, VikViewport *vvp, gpointer user_data );
static void datasource_osm_my_traces_get_cmd_string ( gpointer user_data, gchar **args, gchar **extra, DownloadMapOptions *options );
static gboolean datasource_osm_my_traces_process ( VikTrwLayer *vtl, const gchar *cmd, const gchar *extra, BabelStatusFunc status_cb, acq_dialog_widgets_t *adw, DownloadMapOptions *options_unused );
@@ -84,7 +80,7 @@ VikDataSourceInterface vik_datasource_osm_my_traces_interface = {
0
};
-static gpointer datasource_osm_my_traces_init ( )
+static gpointer datasource_osm_my_traces_init ( acq_vik_t *avt )
{
datasource_osm_my_traces_t *data = g_malloc(sizeof(*data));
// Reuse GPS functions
@@ -108,18 +104,21 @@ static void datasource_osm_my_traces_add_setup_widgets ( GtkWidget *dialog, VikV
user_label = gtk_label_new(_("Username:"));
data->user_entry = gtk_entry_new();
- gtk_box_pack_start ( GTK_BOX(GTK_DIALOG(dialog)->vbox), user_label, FALSE, FALSE, 0 );
- gtk_box_pack_start ( GTK_BOX(GTK_DIALOG(dialog)->vbox), data->user_entry, FALSE, FALSE, 0 );
+ gtk_box_pack_start ( GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), user_label, FALSE, FALSE, 0 );
+ gtk_box_pack_start ( GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), data->user_entry, FALSE, FALSE, 0 );
gtk_widget_set_tooltip_markup ( GTK_WIDGET(data->user_entry), _("The email or username used to login to OSM") );
password_label = gtk_label_new ( _("Password:") );
data->password_entry = gtk_entry_new ();
- gtk_box_pack_start ( GTK_BOX(GTK_DIALOG(dialog)->vbox), password_label, FALSE, FALSE, 0 );
- gtk_box_pack_start ( GTK_BOX(GTK_DIALOG(dialog)->vbox), data->password_entry, FALSE, FALSE, 0 );
gtk_widget_set_tooltip_markup ( GTK_WIDGET(data->password_entry), _("The password used to login to OSM") );
osm_login_widgets (data->user_entry, data->password_entry);
+
+ /* Packing all widgets */
+ GtkBox *box = GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog)));
+ gtk_box_pack_start ( box, password_label, FALSE, FALSE, 0 );
+ gtk_box_pack_start ( box, data->password_entry, FALSE, FALSE, 0 );
gtk_widget_show_all ( dialog );
/* Keep reference to viewport */
@@ -461,8 +460,8 @@ static GList *select_from_list (GtkWindow *parent, GList *list, const gchar *tit
gtk_scrolled_window_set_policy ( GTK_SCROLLED_WINDOW(scrolledwindow), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC );
gtk_container_add ( GTK_CONTAINER(scrolledwindow), view );
- gtk_box_pack_start (GTK_BOX(GTK_DIALOG(dialog)->vbox), label, FALSE, FALSE, 0);
- gtk_box_pack_start (GTK_BOX(GTK_DIALOG(dialog)->vbox), scrolledwindow, TRUE, TRUE, 0);
+ gtk_box_pack_start (GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), label, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), scrolledwindow, TRUE, TRUE, 0);
// Ensure a reasonable number of items are shown, but let the width be automatically sized
gtk_widget_set_size_request ( dialog, -1, 400) ;
@@ -495,6 +494,7 @@ static GList *select_from_list (GtkWindow *parent, GList *list, const gchar *tit
}
list_runner = g_list_next ( list_runner );
}
+ g_free ( name );
}
}
while ( gtk_tree_model_iter_next ( GTK_TREE_MODEL(store), &iter ) );
@@ -518,7 +518,7 @@ static void none_found ( GtkWindow *gw )
gtk_window_set_title(GTK_WINDOW(dialog), _("GPS Traces"));
GtkWidget *search_label = gtk_label_new(_("None found!"));
- gtk_box_pack_start ( GTK_BOX(GTK_DIALOG(dialog)->vbox), search_label, FALSE, FALSE, 5 );
+ gtk_box_pack_start ( GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), search_label, FALSE, FALSE, 5 );
gtk_dialog_set_default_response ( GTK_DIALOG(dialog), GTK_RESPONSE_ACCEPT );
gtk_widget_show_all(dialog);
@@ -568,7 +568,8 @@ static gboolean datasource_osm_my_traces_process ( VikTrwLayer *vtl, const gchar
gchar *user_pass = osm_get_login();
- DownloadMapOptions options = { FALSE, FALSE, NULL, 2, NULL, user_pass }; // Allow a couple of redirects
+ // Support .zip + bzip2 files directly
+ DownloadMapOptions options = { FALSE, FALSE, NULL, 2, NULL, user_pass, a_try_decompress_file }; // Allow a couple of redirects
xml_data *xd = g_malloc ( sizeof (xml_data) );
//xd->xpath = g_string_new ( "" );
@@ -604,6 +605,10 @@ static gboolean datasource_osm_my_traces_process ( VikTrwLayer *vtl, const gchar
GList *selected = select_from_list ( GTK_WINDOW(adw->vw), xd->list_of_gpx_meta_data, "Select GPS Traces", "Select the GPS traces you want to add." );
if (vik_datasource_osm_my_traces_interface.is_thread) gdk_threads_leave();
+ // If non thread - show program is 'doing something...'
+ if ( !vik_datasource_osm_my_traces_interface.is_thread )
+ vik_window_set_busy_cursor ( adw->vw );
+
// If passed in on an existing layer - we will create everything into that.
// thus with many differing gpx's - this will combine all waypoints into this single layer!
// Hence the preference is to create multiple layers
@@ -642,11 +647,12 @@ static gboolean datasource_osm_my_traces_process ( VikTrwLayer *vtl, const gchar
// TODO feedback to UI to inform which traces failed
if ( !result )
g_warning ( _("Unable to get trace: %s"), url );
+ g_free ( url );
}
if ( result ) {
// Can use the layer
- vik_aggregate_layer_add_layer ( vik_layers_panel_get_top_layer (adw->vlp), VIK_LAYER(vtlX) );
+ vik_aggregate_layer_add_layer ( vik_layers_panel_get_top_layer (adw->vlp), VIK_LAYER(vtlX), TRUE );
// Move to area of the track
vik_layer_post_read ( VIK_LAYER(vtlX), vik_window_viewport(adw->vw), TRUE );
vik_trw_layer_auto_set_view ( vtlX, vik_window_viewport(adw->vw) );
@@ -681,6 +687,9 @@ static gboolean datasource_osm_my_traces_process ( VikTrwLayer *vtl, const gchar
// Process was cancelled but need to return that it proceeded as expected
result = TRUE;
+ if ( !vik_datasource_osm_my_traces_interface.is_thread )
+ vik_window_clear_busy_cursor ( adw->vw );
+
return result;
}
diff --git a/src/datasource_routing.c b/src/datasource_routing.c
new file mode 100644
index 0000000..c3cd2de
--- /dev/null
+++ b/src/datasource_routing.c
@@ -0,0 +1,135 @@
+/*
+ * viking -- GPS Data and Topo Analyzer, Explorer, and Manager
+ *
+ * Copyright (C) 2003-2005, Evan Battaglia <gtoevan@gmx.net>
+ * Copyright (C) 2013, Guilhem Bonnefille <guilhem.bonnefille@gmail.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ */
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <string.h>
+
+#include <glib/gprintf.h>
+#include <glib/gi18n.h>
+
+#include "viking.h"
+#include "babel.h"
+#include "gpx.h"
+#include "acquire.h"
+#include "vikrouting.h"
+
+typedef struct {
+ GtkWidget *engines_combo;
+ GtkWidget *from_entry, *to_entry;
+} datasource_routing_widgets_t;
+
+/* Memory of previous selection */
+static gint last_engine = 0;
+static gchar *last_from_str = NULL;
+static gchar *last_to_str = NULL;
+
+static gpointer datasource_routing_init ( acq_vik_t *avt );
+static void datasource_routing_add_setup_widgets ( GtkWidget *dialog, VikViewport *vvp, gpointer user_data );
+static void datasource_routing_get_cmd_string ( datasource_routing_widgets_t *widgets, gchar **cmd, gchar **input_file_type, DownloadMapOptions *options );
+static void datasource_routing_cleanup ( gpointer data );
+
+VikDataSourceInterface vik_datasource_routing_interface = {
+ N_("Directions"),
+ N_("Directions"),
+ VIK_DATASOURCE_ADDTOLAYER,
+ VIK_DATASOURCE_INPUTTYPE_NONE,
+ TRUE,
+ TRUE,
+ TRUE,
+ (VikDataSourceInitFunc) datasource_routing_init,
+ (VikDataSourceCheckExistenceFunc) NULL,
+ (VikDataSourceAddSetupWidgetsFunc) datasource_routing_add_setup_widgets,
+ (VikDataSourceGetCmdStringFunc) datasource_routing_get_cmd_string,
+ (VikDataSourceProcessFunc) a_babel_convert_from_url_or_shell,
+ (VikDataSourceProgressFunc) NULL,
+ (VikDataSourceAddProgressWidgetsFunc) NULL,
+ (VikDataSourceCleanupFunc) datasource_routing_cleanup,
+ (VikDataSourceOffFunc) NULL,
+};
+
+static gpointer datasource_routing_init ( acq_vik_t *avt )
+{
+ datasource_routing_widgets_t *widgets = g_malloc(sizeof(*widgets));
+ return widgets;
+}
+
+static void datasource_routing_add_setup_widgets ( GtkWidget *dialog, VikViewport *vvp, gpointer user_data )
+{
+ datasource_routing_widgets_t *widgets = (datasource_routing_widgets_t *)user_data;
+ GtkWidget *engine_label, *from_label, *to_label;
+
+ /* Engine selector */
+ engine_label = gtk_label_new (_("Engine:"));
+ widgets->engines_combo = vik_routing_ui_selector_new ((Predicate)vik_routing_engine_supports_direction, NULL);
+ gtk_combo_box_set_active (GTK_COMBO_BOX (widgets->engines_combo), last_engine);
+
+ /* From and To entries */
+ from_label = gtk_label_new (_("From:"));
+ widgets->from_entry = gtk_entry_new();
+ to_label = gtk_label_new (_("To:"));
+ widgets->to_entry = gtk_entry_new();
+ if (last_from_str)
+ gtk_entry_set_text(GTK_ENTRY(widgets->from_entry), last_from_str);
+ if (last_to_str)
+ gtk_entry_set_text(GTK_ENTRY(widgets->to_entry), last_to_str);
+
+ /* Packing all these widgets */
+ GtkBox *box = GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog)));
+ gtk_box_pack_start ( box, engine_label, FALSE, FALSE, 5 );
+ gtk_box_pack_start ( box, widgets->engines_combo, FALSE, FALSE, 5 );
+ gtk_box_pack_start ( box, from_label, FALSE, FALSE, 5 );
+ gtk_box_pack_start ( box, widgets->from_entry, FALSE, FALSE, 5 );
+ gtk_box_pack_start ( box, to_label, FALSE, FALSE, 5 );
+ gtk_box_pack_start ( box, widgets->to_entry, FALSE, FALSE, 5 );
+ gtk_widget_show_all(dialog);
+}
+
+static void datasource_routing_get_cmd_string ( datasource_routing_widgets_t *widgets, gchar **cmd, gchar **input_file_type, DownloadMapOptions *options )
+{
+ const gchar *from, *to;
+
+ /* Retrieve directions */
+ from = gtk_entry_get_text ( GTK_ENTRY(widgets->from_entry) );
+ to = gtk_entry_get_text ( GTK_ENTRY(widgets->to_entry) );
+
+ /* Retrieve engine */
+ last_engine = gtk_combo_box_get_active ( GTK_COMBO_BOX(widgets->engines_combo) );
+ VikRoutingEngine *engine = vik_routing_ui_selector_get_nth ( widgets->engines_combo, last_engine );
+
+ *cmd = vik_routing_engine_get_cmd_from_directions ( engine, from, to );
+ *input_file_type = g_strdup ( vik_routing_engine_get_format (engine) );
+ options = NULL;
+
+ /* Save last selection */
+ g_free ( last_from_str );
+ g_free ( last_to_str );
+
+ last_from_str = g_strdup( from );
+ last_to_str = g_strdup( to );
+}
+
+static void datasource_routing_cleanup ( gpointer data )
+{
+ g_free ( data );
+}
diff --git a/src/datasource_url.c b/src/datasource_url.c
new file mode 100644
index 0000000..1488620
--- /dev/null
+++ b/src/datasource_url.c
@@ -0,0 +1,161 @@
+/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 4; tab-width: 4 -*- */
+/*
+ * viking -- GPS Data and Topo Analyzer, Explorer, and Manager
+ *
+ * Copyright (C) 2013, Rob Norris <rw_norris@hotmail.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ */
+#include <glib/gi18n.h>
+#include <gtk/gtk.h>
+
+#include "viking.h"
+#include "acquire.h"
+#include "babel.h"
+
+// Initially was just going to be a URL and always in GPX format
+// But might as well specify the file type as per datasource_file.c
+// However in this version we'll cope with no GPSBabel available and in this case just try GPX
+
+typedef struct {
+ GtkWidget *url;
+ GtkWidget *type;
+} datasource_url_widgets_t;
+
+/* The last file format selected */
+static int last_type = -1;
+
+static gpointer datasource_url_init ( acq_vik_t *avt );
+static void datasource_url_add_setup_widgets ( GtkWidget *dialog, VikViewport *vvp, gpointer user_data );
+static void datasource_url_get_cmd_string ( datasource_url_widgets_t *widgets, gchar **cmd, gchar **input_file_type, DownloadMapOptions *options );
+static void datasource_url_cleanup ( gpointer data );
+
+VikDataSourceInterface vik_datasource_url_interface = {
+ N_("Acquire from URL"),
+ N_("URL"),
+ VIK_DATASOURCE_CREATENEWLAYER,
+ VIK_DATASOURCE_INPUTTYPE_NONE,
+ TRUE,
+ TRUE,
+ TRUE,
+ (VikDataSourceInitFunc) datasource_url_init,
+ (VikDataSourceCheckExistenceFunc) NULL,
+ (VikDataSourceAddSetupWidgetsFunc) datasource_url_add_setup_widgets,
+ (VikDataSourceGetCmdStringFunc) datasource_url_get_cmd_string,
+ (VikDataSourceProcessFunc) a_babel_convert_from_url,
+ (VikDataSourceProgressFunc) NULL,
+ (VikDataSourceAddProgressWidgetsFunc) NULL,
+ (VikDataSourceCleanupFunc) datasource_url_cleanup,
+ (VikDataSourceOffFunc) NULL,
+ NULL,
+ 0,
+ NULL,
+ NULL,
+ 0
+};
+
+static gpointer datasource_url_init ( acq_vik_t *avt )
+{
+ datasource_url_widgets_t *widgets = g_malloc(sizeof(*widgets));
+ return widgets;
+}
+
+static void fill_combo_box (gpointer data, gpointer user_data)
+{
+ const gchar *label = ((BabelFile*) data)->label;
+ vik_combo_box_text_append (GTK_WIDGET(user_data), label);
+}
+
+static gint find_entry = -1;
+static gint wanted_entry = -1;
+
+static void find_type (gpointer elem, gpointer user_data)
+{
+ const gchar *name = ((BabelFile*)elem)->name;
+ const gchar *type_name = user_data;
+ find_entry++;
+ if (!g_strcmp0(name, type_name)) {
+ wanted_entry = find_entry;
+ }
+}
+
+#define VIK_SETTINGS_URL_FILE_DL_TYPE "url_file_download_type"
+
+static void datasource_url_add_setup_widgets ( GtkWidget *dialog, VikViewport *vvp, gpointer user_data )
+{
+ datasource_url_widgets_t *widgets = (datasource_url_widgets_t *)user_data;
+ GtkWidget *label = gtk_label_new (_("URL:"));
+ widgets->url = gtk_entry_new ( );
+
+ GtkWidget *type_label = gtk_label_new (_("File type:"));
+
+ if ( last_type < 0 ) {
+ find_entry = -1;
+ wanted_entry = -1;
+ gchar *type = NULL;
+ if ( a_settings_get_string ( VIK_SETTINGS_URL_FILE_DL_TYPE, &type ) ) {
+ // Use setting
+ if ( type )
+ g_list_foreach (a_babel_file_list, find_type, type);
+ }
+ else {
+ // Default to GPX if possible
+ g_list_foreach (a_babel_file_list, find_type, "gpx");
+ }
+ // If not found set it to the first entry, otherwise use the entry
+ last_type = ( wanted_entry < 0 ) ? 0 : wanted_entry;
+ }
+
+ if ( a_babel_file_list ) {
+ widgets->type = vik_combo_box_text_new ();
+ g_list_foreach (a_babel_file_list, fill_combo_box, widgets->type);
+ gtk_combo_box_set_active (GTK_COMBO_BOX (widgets->type), last_type);
+ }
+ else {
+ // Only GPX (not using GPSbabel)
+ widgets->type = gtk_label_new (_("GPX"));
+ }
+
+ /* Packing all widgets */
+ GtkBox *box = GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog)));
+ gtk_box_pack_start ( box, label, FALSE, FALSE, 5 );
+ gtk_box_pack_start ( box, widgets->url, FALSE, FALSE, 5 );
+ gtk_box_pack_start ( box, type_label, FALSE, FALSE, 5 );
+ gtk_box_pack_start ( box, widgets->type, FALSE, FALSE, 5 );
+
+ gtk_widget_show_all(dialog);
+}
+
+static void datasource_url_get_cmd_string ( datasource_url_widgets_t *widgets, gchar **cmd, gchar **input_file_type, DownloadMapOptions *options )
+{
+ // Retrieve the user entered value
+ const gchar *value = gtk_entry_get_text ( GTK_ENTRY(widgets->url) );
+
+ if (GTK_IS_COMBO_BOX (widgets->type) )
+ last_type = gtk_combo_box_get_active ( GTK_COMBO_BOX (widgets->type) );
+
+ *input_file_type = NULL; // Default to gpx
+ if ( a_babel_file_list )
+ *input_file_type = g_strdup ( ((BabelFile*)g_list_nth_data (a_babel_file_list, last_type))->name );
+
+ *cmd = g_strdup ( value );
+ options = NULL;
+}
+
+static void datasource_url_cleanup ( gpointer data )
+{
+ g_free ( data );
+}
diff --git a/src/datasources.h b/src/datasources.h
index f165b72..bae9e3d 100644
--- a/src/datasources.h
+++ b/src/datasources.h
@@ -27,9 +27,7 @@ G_BEGIN_DECLS
extern VikDataSourceInterface vik_datasource_gps_interface;
extern VikDataSourceInterface vik_datasource_file_interface;
-#ifdef VIK_CONFIG_GOOGLE
-extern VikDataSourceInterface vik_datasource_google_interface;
-#endif
+extern VikDataSourceInterface vik_datasource_routing_interface;
#ifdef VIK_CONFIG_OPENSTREETMAP
extern VikDataSourceInterface vik_datasource_osm_interface;
extern VikDataSourceInterface vik_datasource_osm_my_traces_interface;
@@ -43,7 +41,8 @@ extern VikDataSourceInterface vik_datasource_geotag_interface;
#ifdef VIK_CONFIG_GEONAMES
extern VikDataSourceInterface vik_datasource_wikipedia_interface;
#endif
+extern VikDataSourceInterface vik_datasource_url_interface;
-G_BEGIN_DECLS
+G_END_DECLS
#endif
diff --git a/src/degrees_converters.c b/src/degrees_converters.c
index 573b8cc..0b29eb0 100644
--- a/src/degrees_converters.c
+++ b/src/degrees_converters.c
@@ -25,8 +25,8 @@
#ifdef HAVE_MATH_H
#include <math.h>
#endif
-#include <glib.h>
#include <string.h>
+#include "degrees_converters.h"
#define DEGREE_SYMBOL "\302\260"
diff --git a/src/dem.c b/src/dem.c
index 7050cb1..461c2bd 100644
--- a/src/dem.c
+++ b/src/dem.c
@@ -35,7 +35,6 @@
#ifdef HAVE_STDLIB_H
#include <stdlib.h>
#endif
-#include <zlib.h>
#include <sys/types.h>
#include <sys/stat.h>
#ifdef HAVE_UNISTD_H
@@ -45,8 +44,10 @@
#include <glib/gstdio.h>
#include <glib/gi18n.h>
+#include "compression.h"
#include "dem.h"
-#include "file.h"
+#include "coords.h"
+#include "fileutils.h"
/* Compatibility */
#if ! GLIB_CHECK_VERSION(2,22,0)
@@ -251,80 +252,6 @@ static void dem_parse_block ( gchar *buffer, VikDEM *dem, gint *cur_column, gint
}
}
-/* return size of unzip data or 0 if failed */
-/* can be made generic to uncompress zip, gzip, bzip2 data */
-static guint uncompress_data(void *uncompressed_buffer, guint uncompressed_size, void *compressed_data, guint compressed_size)
-{
- z_stream stream;
- int err;
-
- stream.next_in = compressed_data;
- stream.avail_in = compressed_size;
- stream.next_out = uncompressed_buffer;
- stream.avail_out = uncompressed_size;
- stream.zalloc = (alloc_func)0;
- stream.zfree = (free_func)0;
- stream.opaque = (voidpf)0;
-
- /* negative windowBits to inflateInit2 means "no header" */
- if ((err = inflateInit2(&stream, -MAX_WBITS)) != Z_OK) {
- g_warning("%s(): inflateInit2 failed", __PRETTY_FUNCTION__);
- return 0;
- }
-
- err = inflate(&stream, Z_FINISH);
- if ((err != Z_OK) && (err != Z_STREAM_END) && stream.msg) {
- g_warning("%s() inflate failed err=%d \"%s\"", __PRETTY_FUNCTION__, err, stream.msg == NULL ? "unknown" : stream.msg);
- inflateEnd(&stream);
- return 0;
- }
-
- inflateEnd(&stream);
- return(stream.total_out);
-}
-
-static void *unzip_hgt_file(gchar *zip_file, gulong *unzip_size)
-{
- void *unzip_data = NULL;
- gchar *zip_data;
- struct _lfh {
- guint32 sig;
- guint16 extract_version;
- guint16 flags;
- guint16 comp_method;
- guint16 time;
- guint16 date;
- guint32 crc_32;
- guint32 compressed_size;
- guint32 uncompressed_size;
- guint16 filename_len;
- guint16 extra_field_len;
- } __attribute__ ((__packed__)) *local_file_header = NULL;
-
-
- local_file_header = (struct _lfh *) zip_file;
- if (GUINT32_FROM_LE(local_file_header->sig) != 0x04034b50) {
- g_warning("%s(): wrong format", __PRETTY_FUNCTION__);
- g_free(unzip_data);
- goto end;
- }
-
- zip_data = zip_file + sizeof(struct _lfh)
- + GUINT16_FROM_LE(local_file_header->filename_len)
- + GUINT16_FROM_LE(local_file_header->extra_field_len);
- gulong uncompressed_size = GUINT32_FROM_LE(local_file_header->uncompressed_size);
- unzip_data = g_malloc(uncompressed_size);
-
- if (!(*unzip_size = uncompress_data(unzip_data, uncompressed_size, zip_data, GUINT32_FROM_LE(local_file_header->compressed_size)))) {
- g_free(unzip_data);
- unzip_data = NULL;
- goto end;
- }
-
-end:
- return(unzip_data);
-}
-
static VikDEM *vik_dem_read_srtm_hgt(const gchar *file_name, const gchar *basename, gboolean zip)
{
gint i, j;
@@ -371,7 +298,7 @@ static VikDEM *vik_dem_read_srtm_hgt(const gchar *file_name, const gchar *basena
void *unzip_mem = NULL;
gulong ucsize;
- if ((unzip_mem = unzip_hgt_file(dem_file, &ucsize)) == NULL) {
+ if ((unzip_mem = unzip_file(dem_file, &ucsize)) == NULL) {
g_mapped_file_unref(mf);
g_ptr_array_foreach ( dem->columns, (GFunc)g_free, NULL );
g_ptr_array_free(dem->columns, TRUE);
diff --git a/src/dem.h b/src/dem.h
index 3db2213..87330a4 100644
--- a/src/dem.h
+++ b/src/dem.h
@@ -22,6 +22,8 @@
#ifndef __VIKING_DEM_H
#define __VIKING_DEM_H
+#include <glib.h>
+
G_BEGIN_DECLS
#define VIK_DEM_INVALID_ELEVATION -32768
diff --git a/src/dems.h b/src/dems.h
index d3d37a2..42d3204 100644
--- a/src/dems.h
+++ b/src/dems.h
@@ -42,7 +42,7 @@ GList *a_dems_list_copy ( GList *dems );
gint16 a_dems_list_get_elev_by_coord ( GList *dems, const VikCoord *coord );
gint16 a_dems_get_elev_by_coord ( const VikCoord *coord, VikDemInterpol method);
-G_BEGIN_DECLS
+G_END_DECLS
#endif
diff --git a/src/dialog.c b/src/dialog.c
index c9d3506..d3bf4b2 100644
--- a/src/dialog.c
+++ b/src/dialog.c
@@ -3,7 +3,7 @@
*
* Copyright (C) 2003-2005, Evan Battaglia <gtoevan@gmx.net>
* Copyright (C) 2008, Hein Ragas <viking@ragas.nl>
- * Copyright (C) 2010, Rob Norris <rw_norris@hotmail.com>
+ * Copyright (C) 2010-2013, Rob Norris <rw_norris@hotmail.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -39,6 +39,7 @@
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
+#include <time.h>
void a_dialog_msg ( GtkWindow *parent, gint type, const gchar *info, const gchar *extra )
{
@@ -78,10 +79,14 @@ gboolean a_dialog_goto_latlon ( GtkWindow *parent, struct LatLon *ll, const stru
gtk_widget_show ( lat );
gtk_widget_show ( lon );
- gtk_box_pack_start (GTK_BOX(GTK_DIALOG(dialog)->vbox), latlabel, FALSE, FALSE, 0);
- gtk_box_pack_start (GTK_BOX(GTK_DIALOG(dialog)->vbox), lat, FALSE, FALSE, 0);
- gtk_box_pack_start (GTK_BOX(GTK_DIALOG(dialog)->vbox), lonlabel, FALSE, FALSE, 0);
- gtk_box_pack_start (GTK_BOX(GTK_DIALOG(dialog)->vbox), lon, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), latlabel, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), lat, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), lonlabel, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), lon, FALSE, FALSE, 0);
+
+ // 'ok' when press return in the entry
+ g_signal_connect_swapped (lat, "activate", G_CALLBACK(a_dialog_response_accept), dialog);
+ g_signal_connect_swapped (lon, "activate", G_CALLBACK(a_dialog_response_accept), dialog);
gtk_dialog_set_default_response ( GTK_DIALOG(dialog), GTK_RESPONSE_ACCEPT );
@@ -144,11 +149,11 @@ gboolean a_dialog_goto_utm ( GtkWindow *parent, struct UTM *utm, const struct UT
gtk_widget_show_all ( zonehbox );
- gtk_box_pack_start (GTK_BOX(GTK_DIALOG(dialog)->vbox), norlabel, FALSE, FALSE, 0);
- gtk_box_pack_start (GTK_BOX(GTK_DIALOG(dialog)->vbox), nor, FALSE, FALSE, 0);
- gtk_box_pack_start (GTK_BOX(GTK_DIALOG(dialog)->vbox), easlabel, FALSE, FALSE, 0);
- gtk_box_pack_start (GTK_BOX(GTK_DIALOG(dialog)->vbox), eas, FALSE, FALSE, 0);
- gtk_box_pack_start (GTK_BOX(GTK_DIALOG(dialog)->vbox), zonehbox, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), norlabel, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), nor, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), easlabel, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), eas, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), zonehbox, FALSE, FALSE, 0);
gtk_dialog_set_default_response ( GTK_DIALOG(dialog), GTK_RESPONSE_ACCEPT );
@@ -191,10 +196,9 @@ static void symbol_entry_changed_cb(GtkWidget *combo, GtkListStore *store)
/* Specify if a new waypoint or not */
/* If a new waypoint then it uses the default_name for the suggested name allowing the user to change it.
The name to use is returned
- When an existing waypoint the default name is shown but is not allowed to be changed and NULL is returned
*/
/* todo: less on this side, like add track */
-gchar *a_dialog_waypoint ( GtkWindow *parent, gchar *default_name, VikWaypoint *wp, VikCoordMode coord_mode, gboolean is_new, gboolean *updated )
+gchar *a_dialog_waypoint ( GtkWindow *parent, gchar *default_name, VikTrwLayer *vtl, VikWaypoint *wp, VikCoordMode coord_mode, gboolean is_new, gboolean *updated )
{
GtkWidget *dialog = gtk_dialog_new_with_buttons (_("Waypoint Properties"),
parent,
@@ -207,6 +211,8 @@ gchar *a_dialog_waypoint ( GtkWindow *parent, gchar *default_name, VikWaypoint *
struct LatLon ll;
GtkWidget *latlabel, *lonlabel, *namelabel, *latentry, *lonentry, *altentry, *altlabel, *nameentry=NULL;
GtkWidget *commentlabel, *commententry, *descriptionlabel, *descriptionentry, *imagelabel, *imageentry, *symbollabel, *symbolentry;
+ GtkWidget *timelabel = NULL;
+ GtkWidget *timevaluelabel = NULL; // No editing of time allowed ATM
GtkListStore *store;
gchar *lat, *lon, *alt;
@@ -231,22 +237,13 @@ gchar *a_dialog_waypoint ( GtkWindow *parent, gchar *default_name, VikWaypoint *
*updated = FALSE;
namelabel = gtk_label_new (_("Name:"));
- gtk_box_pack_start (GTK_BOX(GTK_DIALOG(dialog)->vbox), namelabel, FALSE, FALSE, 0);
- if ( is_new )
- {
- // New waypoint, so name is still changeable
- nameentry = gtk_entry_new ();
- if ( default_name )
- gtk_entry_set_text( GTK_ENTRY(nameentry), default_name );
- g_signal_connect_swapped ( nameentry, "activate", G_CALLBACK(a_dialog_response_accept), GTK_DIALOG(dialog) );
- }
- else {
- // Existing waypoint - so can not change the name this way - but at least can see it
- if ( default_name )
- nameentry = gtk_label_new ( default_name );
- }
- if ( nameentry )
- gtk_box_pack_start (GTK_BOX(GTK_DIALOG(dialog)->vbox), nameentry, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), namelabel, FALSE, FALSE, 0);
+ // Name is now always changeable
+ nameentry = gtk_entry_new ();
+ if ( default_name )
+ gtk_entry_set_text( GTK_ENTRY(nameentry), default_name );
+ g_signal_connect_swapped ( nameentry, "activate", G_CALLBACK(a_dialog_response_accept), GTK_DIALOG(dialog) );
+ gtk_box_pack_start (GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), nameentry, FALSE, FALSE, 0);
latlabel = gtk_label_new (_("Latitude:"));
latentry = gtk_entry_new ();
@@ -328,117 +325,97 @@ gchar *a_dialog_waypoint ( GtkWindow *parent, gchar *default_name, VikWaypoint *
if ( !is_new && wp->image )
vik_file_entry_set_filename ( VIK_FILE_ENTRY(imageentry), wp->image );
+ if ( !is_new && wp->has_timestamp ) {
+ gchar tmp_str[64];
+ timelabel = gtk_label_new ( _("Time:") );
+ timevaluelabel = gtk_label_new ( NULL );
+ strftime ( tmp_str, sizeof(tmp_str), "%c", localtime(&(wp->timestamp)) );
+ gtk_label_set_text ( GTK_LABEL(timevaluelabel), tmp_str );
+ }
- gtk_box_pack_start (GTK_BOX(GTK_DIALOG(dialog)->vbox), latlabel, FALSE, FALSE, 0);
- gtk_box_pack_start (GTK_BOX(GTK_DIALOG(dialog)->vbox), latentry, FALSE, FALSE, 0);
- gtk_box_pack_start (GTK_BOX(GTK_DIALOG(dialog)->vbox), lonlabel, FALSE, FALSE, 0);
- gtk_box_pack_start (GTK_BOX(GTK_DIALOG(dialog)->vbox), lonentry, FALSE, FALSE, 0);
- gtk_box_pack_start (GTK_BOX(GTK_DIALOG(dialog)->vbox), altlabel, FALSE, FALSE, 0);
- gtk_box_pack_start (GTK_BOX(GTK_DIALOG(dialog)->vbox), altentry, FALSE, FALSE, 0);
- gtk_box_pack_start (GTK_BOX(GTK_DIALOG(dialog)->vbox), commentlabel, FALSE, FALSE, 0);
- gtk_box_pack_start (GTK_BOX(GTK_DIALOG(dialog)->vbox), commententry, FALSE, FALSE, 0);
- gtk_box_pack_start (GTK_BOX(GTK_DIALOG(dialog)->vbox), descriptionlabel, FALSE, FALSE, 0);
- gtk_box_pack_start (GTK_BOX(GTK_DIALOG(dialog)->vbox), descriptionentry, FALSE, FALSE, 0);
- gtk_box_pack_start (GTK_BOX(GTK_DIALOG(dialog)->vbox), imagelabel, FALSE, FALSE, 0);
- gtk_box_pack_start (GTK_BOX(GTK_DIALOG(dialog)->vbox), imageentry, FALSE, FALSE, 0);
- gtk_box_pack_start (GTK_BOX(GTK_DIALOG(dialog)->vbox), symbollabel, FALSE, FALSE, 0);
- gtk_box_pack_start (GTK_BOX(GTK_DIALOG(dialog)->vbox), GTK_WIDGET(symbolentry), FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), latlabel, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), latentry, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), lonlabel, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), lonentry, FALSE, FALSE, 0);
+ if ( timelabel ) {
+ gtk_box_pack_start (GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), timelabel, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), timevaluelabel, FALSE, FALSE, 0);
+ }
+ gtk_box_pack_start (GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), altlabel, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), altentry, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), commentlabel, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), commententry, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), descriptionlabel, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), descriptionentry, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), imagelabel, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), imageentry, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), symbollabel, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), GTK_WIDGET(symbolentry), FALSE, FALSE, 0);
gtk_dialog_set_default_response ( GTK_DIALOG(dialog), GTK_RESPONSE_ACCEPT );
- gtk_widget_show_all ( GTK_DIALOG(dialog)->vbox );
+ gtk_widget_show_all ( gtk_dialog_get_content_area(GTK_DIALOG(dialog)) );
+
+ if ( !is_new ) {
+ // Shift left<->right to try not to obscure the waypoint.
+ trw_layer_dialog_shift ( vtl, GTK_WINDOW(dialog), &(wp->coord), FALSE );
+ }
while ( gtk_dialog_run ( GTK_DIALOG(dialog) ) == GTK_RESPONSE_ACCEPT )
{
- if ( is_new )
- {
- if ( strlen((gchar*)gtk_entry_get_text ( GTK_ENTRY(nameentry) )) == 0 ) /* TODO: other checks (isalpha or whatever ) */
- a_dialog_info_msg ( parent, _("Please enter a name for the waypoint.") );
- else {
- // NB: No check for unique names - this allows generation of same named entries.
- gchar *entered_name = g_strdup ( (gchar*)gtk_entry_get_text ( GTK_ENTRY(nameentry) ) );
-
- /* Do It */
- ll.lat = convert_dms_to_dec ( gtk_entry_get_text ( GTK_ENTRY(latentry) ) );
- ll.lon = convert_dms_to_dec ( gtk_entry_get_text ( GTK_ENTRY(lonentry) ) );
- vik_coord_load_from_latlon ( &(wp->coord), coord_mode, &ll );
- // Always store in metres
- switch (height_units) {
- case VIK_UNITS_HEIGHT_METRES:
- wp->altitude = atof ( gtk_entry_get_text ( GTK_ENTRY(altentry) ) );
- break;
- case VIK_UNITS_HEIGHT_FEET:
- wp->altitude = VIK_FEET_TO_METERS(atof ( gtk_entry_get_text ( GTK_ENTRY(altentry) ) ));
- break;
- default:
- wp->altitude = atof ( gtk_entry_get_text ( GTK_ENTRY(altentry) ) );
- g_critical("Houston, we've had a problem. height=%d", height_units);
- }
- vik_waypoint_set_comment ( wp, gtk_entry_get_text ( GTK_ENTRY(commententry) ) );
- vik_waypoint_set_description ( wp, gtk_entry_get_text ( GTK_ENTRY(descriptionentry) ) );
- vik_waypoint_set_image ( wp, vik_file_entry_get_filename ( VIK_FILE_ENTRY(imageentry) ) );
- if ( wp->image && *(wp->image) && (!a_thumbnails_exists(wp->image)) )
- a_thumbnails_create ( wp->image );
-
- GtkTreeIter iter, first;
- gtk_tree_model_get_iter_first ( GTK_TREE_MODEL(store), &first );
- if ( !gtk_combo_box_get_active_iter ( GTK_COMBO_BOX(symbolentry), &iter ) || !memcmp(&iter, &first, sizeof(GtkTreeIter)) ) {
- vik_waypoint_set_symbol ( wp, NULL );
- } else {
- gchar *sym;
- gtk_tree_model_get ( GTK_TREE_MODEL(store), &iter, 0, (void *)&sym, -1 );
- vik_waypoint_set_symbol ( wp, sym );
- g_free(sym);
- }
+ if ( strlen((gchar*)gtk_entry_get_text ( GTK_ENTRY(nameentry) )) == 0 ) /* TODO: other checks (isalpha or whatever ) */
+ a_dialog_info_msg ( parent, _("Please enter a name for the waypoint.") );
+ else {
+ // NB: No check for unique names - this allows generation of same named entries.
+ gchar *entered_name = g_strdup ( (gchar*)gtk_entry_get_text ( GTK_ENTRY(nameentry) ) );
- gtk_widget_destroy ( dialog );
- return entered_name;
- }
- }
- else
- {
+ /* Do It */
ll.lat = convert_dms_to_dec ( gtk_entry_get_text ( GTK_ENTRY(latentry) ) );
ll.lon = convert_dms_to_dec ( gtk_entry_get_text ( GTK_ENTRY(lonentry) ) );
vik_coord_load_from_latlon ( &(wp->coord), coord_mode, &ll );
+ // Always store in metres
switch (height_units) {
case VIK_UNITS_HEIGHT_METRES:
- wp->altitude = atof ( gtk_entry_get_text ( GTK_ENTRY(altentry) ) );
- break;
+ wp->altitude = atof ( gtk_entry_get_text ( GTK_ENTRY(altentry) ) );
+ break;
case VIK_UNITS_HEIGHT_FEET:
- wp->altitude = VIK_FEET_TO_METERS(atof ( gtk_entry_get_text ( GTK_ENTRY(altentry) ) ));
- break;
+ wp->altitude = VIK_FEET_TO_METERS(atof ( gtk_entry_get_text ( GTK_ENTRY(altentry) ) ));
+ break;
default:
- wp->altitude = atof ( gtk_entry_get_text ( GTK_ENTRY(altentry) ) );
- g_critical("Houston, we've had a problem. height=%d", height_units);
+ wp->altitude = atof ( gtk_entry_get_text ( GTK_ENTRY(altentry) ) );
+ g_critical("Houston, we've had a problem. height=%d", height_units);
}
- if ( (! wp->comment) || strcmp ( wp->comment, gtk_entry_get_text ( GTK_ENTRY(commententry) ) ) != 0 )
+ if ( g_strcmp0 ( wp->comment, gtk_entry_get_text ( GTK_ENTRY(commententry) ) ) )
vik_waypoint_set_comment ( wp, gtk_entry_get_text ( GTK_ENTRY(commententry) ) );
- if ( (! wp->description) || strcmp ( wp->description, gtk_entry_get_text ( GTK_ENTRY(descriptionentry) ) ) != 0 )
+ if ( g_strcmp0 ( wp->description, gtk_entry_get_text ( GTK_ENTRY(descriptionentry) ) ) )
vik_waypoint_set_description ( wp, gtk_entry_get_text ( GTK_ENTRY(descriptionentry) ) );
- if ( (! wp->image) || strcmp ( wp->image, vik_file_entry_get_filename ( VIK_FILE_ENTRY ( imageentry ) ) ) != 0 )
- {
+ if ( g_strcmp0 ( wp->image, vik_file_entry_get_filename ( VIK_FILE_ENTRY(imageentry) ) ) )
vik_waypoint_set_image ( wp, vik_file_entry_get_filename ( VIK_FILE_ENTRY(imageentry) ) );
- if ( wp->image && *(wp->image) && (!a_thumbnails_exists(wp->image)) )
- a_thumbnails_create ( wp->image );
+ if ( wp->image && *(wp->image) && (!a_thumbnails_exists(wp->image)) )
+ a_thumbnails_create ( wp->image );
+
+ GtkTreeIter iter, first;
+ gtk_tree_model_get_iter_first ( GTK_TREE_MODEL(store), &first );
+ if ( !gtk_combo_box_get_active_iter ( GTK_COMBO_BOX(symbolentry), &iter ) || !memcmp(&iter, &first, sizeof(GtkTreeIter)) ) {
+ vik_waypoint_set_symbol ( wp, NULL );
+ } else {
+ gchar *sym;
+ gtk_tree_model_get ( GTK_TREE_MODEL(store), &iter, 0, (void *)&sym, -1 );
+ vik_waypoint_set_symbol ( wp, sym );
+ g_free(sym);
}
- {
- GtkTreeIter iter, first;
- gtk_tree_model_get_iter_first ( GTK_TREE_MODEL(store), &first );
- if ( !gtk_combo_box_get_active_iter ( GTK_COMBO_BOX(symbolentry), &iter ) || !memcmp(&iter, &first, sizeof(GtkTreeIter)) ) {
- vik_waypoint_set_symbol ( wp, NULL );
- } else {
- gchar *sym;
- gtk_tree_model_get ( GTK_TREE_MODEL(store), &iter, 0, (void *)&sym, -1 );
- vik_waypoint_set_symbol ( wp, sym );
- g_free(sym);
- }
- }
-
gtk_widget_destroy ( dialog );
-
- *updated = TRUE;
- return NULL;
+ if ( is_new )
+ return entered_name;
+ else {
+ *updated = TRUE;
+ // See if name has been changed
+ if ( g_strcmp0 (default_name, entered_name ) )
+ return entered_name;
+ else
+ return NULL;
+ }
}
}
gtk_widget_destroy ( dialog );
@@ -507,7 +484,7 @@ GList *a_dialog_select_from_list ( GtkWindow *parent, GList *names, gboolean mul
gtk_scrolled_window_set_policy ( GTK_SCROLLED_WINDOW(scrolledwindow), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC );
gtk_container_add ( GTK_CONTAINER(scrolledwindow), view );
- gtk_box_pack_start ( GTK_BOX(GTK_DIALOG(dialog)->vbox), scrolledwindow, TRUE, TRUE, 0 );
+ gtk_box_pack_start ( GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), scrolledwindow, TRUE, TRUE, 0 );
// Ensure a reasonable number of items are shown, but let the width be automatically sized
gtk_widget_set_size_request ( dialog, -1, 400) ;
@@ -532,7 +509,7 @@ GList *a_dialog_select_from_list ( GtkWindow *parent, GList *names, gboolean mul
return NULL;
}
-gchar *a_dialog_new_track ( GtkWindow *parent, GHashTable *tracks, gchar *default_name, gboolean is_route )
+gchar *a_dialog_new_track ( GtkWindow *parent, gchar *default_name, gboolean is_route )
{
GtkWidget *dialog = gtk_dialog_new_with_buttons ( is_route ? _("Add Route") : _("Add Track"),
parent,
@@ -548,8 +525,8 @@ gchar *a_dialog_new_track ( GtkWindow *parent, GHashTable *tracks, gchar *defaul
if (default_name)
gtk_entry_set_text ( GTK_ENTRY(entry), default_name );
- gtk_box_pack_start (GTK_BOX(GTK_DIALOG(dialog)->vbox), label, FALSE, FALSE, 0);
- gtk_box_pack_start (GTK_BOX(GTK_DIALOG(dialog)->vbox), entry, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), label, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), entry, FALSE, FALSE, 0);
g_signal_connect_swapped ( entry, "activate", G_CALLBACK(a_dialog_response_accept), GTK_DIALOG(dialog) );
@@ -574,17 +551,17 @@ gchar *a_dialog_new_track ( GtkWindow *parent, GHashTable *tracks, gchar *defaul
}
/* creates a vbox full of labels */
-GtkWidget *a_dialog_create_label_vbox ( gchar **texts, int label_count )
+GtkWidget *a_dialog_create_label_vbox ( gchar **texts, int label_count, gint spacing, gint padding )
{
GtkWidget *vbox, *label;
int i;
- vbox = gtk_vbox_new( TRUE, 3 );
+ vbox = gtk_vbox_new( TRUE, spacing );
for ( i = 0; i < label_count; i++ )
{
label = gtk_label_new(NULL);
gtk_label_set_markup ( GTK_LABEL(label), _(texts[i]) );
- gtk_box_pack_start ( GTK_BOX(vbox), label, FALSE, TRUE, 5 );
+ gtk_box_pack_start ( GTK_BOX(vbox), label, FALSE, TRUE, padding );
}
return vbox;
}
@@ -632,7 +609,7 @@ gboolean a_dialog_custom_zoom ( GtkWindow *parent, gdouble *xmpp, gdouble *ympp
GtkWidget *pass_along[3];
table = gtk_table_new ( 4, 2, FALSE );
- gtk_box_pack_start ( GTK_BOX(GTK_DIALOG(dialog)->vbox), table, TRUE, TRUE, 0 );
+ gtk_box_pack_start ( GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), table, TRUE, TRUE, 0 );
label = gtk_label_new ( _("Zoom factor (in meters per pixel):") );
xlabel = gtk_label_new ( _("X (easting): "));
@@ -692,7 +669,7 @@ gboolean a_dialog_time_threshold ( GtkWindow *parent, gchar *title_text, gchar *
GtkWidget *pass_along[1];
table = gtk_table_new ( 4, 2, FALSE );
- gtk_box_pack_start ( GTK_BOX(GTK_DIALOG(dialog)->vbox), table, TRUE, TRUE, 0 );
+ gtk_box_pack_start ( GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), table, TRUE, TRUE, 0 );
label = gtk_label_new (label_text);
@@ -737,8 +714,11 @@ gboolean a_dialog_time_threshold ( GtkWindow *parent, gchar *title_text, gchar *
}
/**
+ * a_dialog_get_positive_number:
+ *
* Dialog to return a positive number via a spinbox within the supplied limits
- * A return value of zero indicates the dialog was cancelled
+ *
+ * Returns: A value of zero indicates the dialog was cancelled
*/
guint a_dialog_get_positive_number ( GtkWindow *parent, gchar *title_text, gchar *label_text, guint default_num, guint min, guint max, guint step )
{
@@ -760,7 +740,7 @@ guint a_dialog_get_positive_number ( GtkWindow *parent, gchar *title_text, gchar
guint result = default_num;
table = gtk_table_new ( 2, 1, FALSE );
- gtk_box_pack_start ( GTK_BOX(GTK_DIALOG(dialog)->vbox), table, TRUE, TRUE, 0 );
+ gtk_box_pack_start ( GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), table, TRUE, TRUE, 0 );
label = gtk_label_new (label_text);
spin = gtk_spin_button_new ( (GtkAdjustment *) gtk_adjustment_new ( default_num, min, max, step, 5, 0 ), 1, 0 );
@@ -785,6 +765,7 @@ guint a_dialog_get_positive_number ( GtkWindow *parent, gchar *title_text, gchar
return 0;
}
+#if (GTK_MAJOR_VERSION == 2 && GTK_MINOR_VERSION < 24)
static void about_url_hook (GtkAboutDialog *about,
const gchar *link,
gpointer data)
@@ -798,13 +779,14 @@ static void about_email_hook (GtkAboutDialog *about,
{
new_email (GTK_WINDOW(about), email);
}
+#endif
void a_dialog_about ( GtkWindow *parent )
{
const gchar *program_name = PACKAGE_NAME;
const gchar *version = VIKING_VERSION;
const gchar *website = VIKING_URL;
- const gchar *copyright = "2003-2008, Evan Battaglia\n2008-2010, Viking's contributors";
+ const gchar *copyright = "2003-2008, Evan Battaglia\n2008-2013, Viking's contributors";
const gchar *comments = _("GPS Data and Topo Analyzer, Explorer, and Manager.");
const gchar *license = _("This program is free software; you can redistribute it and/or modify "
"it under the terms of the GNU General Public License as published by "
@@ -820,8 +802,51 @@ void a_dialog_about ( GtkWindow *parent )
"along with this program; if not, write to the Free Software "
"Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA");
+ // Would be nice to use gtk_about_dialog_add_credit_section (), but that requires gtk 3.4
+ // For now shove it in the 'artists' section so at least the information is easily visible
+ // Something more advanced might have proper version information too...
+ const gchar *libs[] = {
+ "Compiled in libraries:",
+ // Default libs
+ "libglib-2.0",
+ "libgthread-2.0",
+ "libgtk+-2.0",
+ "libgio-2.0",
+ // Potentially optional libs (but probably couldn't build without them)
+#ifdef HAVE_LIBM
+ "libm",
+#endif
+#ifdef HAVE_LIBZ
+ "libz",
+#endif
+#ifdef HAVE_LIBCURL
+ "libcurl",
+#endif
+ // Actually optional libs
+#ifdef HAVE_LIBGPS
+ "libgps",
+#endif
+#ifdef HAVE_LIBEXIF
+ "libexif",
+#endif
+#ifdef HAVE_LIBX11
+ "libX11",
+#endif
+#ifdef HAVE_LIBMAGIC
+ "libmagic",
+#endif
+#ifdef HAVE_LIBBZ2
+ "libbz2",
+#endif
+ NULL
+ };
+ // Newer versions of GTK 'just work', calling gtk_show_uri() on the URL or email and opens up the appropriate program
+ // This is the old method:
+#if (GTK_MAJOR_VERSION == 2 && GTK_MINOR_VERSION < 24)
gtk_about_dialog_set_url_hook (about_url_hook, NULL, NULL);
gtk_about_dialog_set_email_hook (about_email_hook, NULL, NULL);
+#endif
+
gtk_show_about_dialog (parent,
/* TODO do not set program-name and correctly set info for g_get_application_name */
"program-name", program_name,
@@ -835,6 +860,7 @@ void a_dialog_about ( GtkWindow *parent )
"authors", AUTHORS,
"documenters", DOCUMENTERS,
"translator-credits", _("Translation is coordinated on http://launchpad.net/viking"),
+ "artists", libs,
NULL);
}
@@ -848,24 +874,26 @@ gboolean a_dialog_map_n_zoom(GtkWindow *parent, gchar *mapnames[], gint default_
#if GTK_CHECK_VERSION (2, 20, 0)
response_w = gtk_dialog_get_widget_for_response ( GTK_DIALOG(dialog), GTK_RESPONSE_ACCEPT );
#endif
+
GtkWidget *map_label = gtk_label_new(_("Map type:"));
- GtkComboBox *map_combo = GTK_COMBO_BOX(gtk_combo_box_new_text());
+ GtkWidget *map_combo = vik_combo_box_text_new();
for (s = mapnames; *s; s++)
- gtk_combo_box_append_text(map_combo, *s);
- gtk_combo_box_set_active (map_combo, default_map);
+ vik_combo_box_text_append (GTK_COMBO_BOX(map_combo), *s);
+ gtk_combo_box_set_active (GTK_COMBO_BOX(map_combo), default_map);
+
GtkWidget *zoom_label = gtk_label_new(_("Zoom level:"));
- GtkComboBox *zoom_combo = GTK_COMBO_BOX(gtk_combo_box_new_text());
+ GtkWidget *zoom_combo = vik_combo_box_text_new();
for (s = zoom_list; *s; s++)
- gtk_combo_box_append_text(zoom_combo, *s);
- gtk_combo_box_set_active (zoom_combo, default_zoom);
+ vik_combo_box_text_append (GTK_COMBO_BOX(zoom_combo), *s);
+ gtk_combo_box_set_active (GTK_COMBO_BOX(zoom_combo), default_zoom);
GtkTable *box = GTK_TABLE(gtk_table_new(2, 2, FALSE));
- gtk_table_attach_defaults(box, GTK_WIDGET(map_label), 0, 1, 0, 1);
- gtk_table_attach_defaults(box, GTK_WIDGET(map_combo), 1, 2, 0, 1);
- gtk_table_attach_defaults(box, GTK_WIDGET(zoom_label), 0, 1, 1, 2);
- gtk_table_attach_defaults(box, GTK_WIDGET(zoom_combo), 1, 2, 1, 2);
+ gtk_table_attach_defaults(box, map_label, 0, 1, 0, 1);
+ gtk_table_attach_defaults(box, map_combo, 1, 2, 0, 1);
+ gtk_table_attach_defaults(box, zoom_label, 0, 1, 1, 2);
+ gtk_table_attach_defaults(box, zoom_combo, 1, 2, 1, 2);
- gtk_box_pack_start ( GTK_BOX(GTK_DIALOG(dialog)->vbox), GTK_WIDGET(box), FALSE, FALSE, 5 );
+ gtk_box_pack_start ( GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), GTK_WIDGET(box), FALSE, FALSE, 5 );
if ( response_w )
gtk_widget_grab_focus ( response_w );
@@ -876,8 +904,8 @@ gboolean a_dialog_map_n_zoom(GtkWindow *parent, gchar *mapnames[], gint default_
return FALSE;
}
- *selected_map = gtk_combo_box_get_active(map_combo);
- *selected_zoom = gtk_combo_box_get_active(zoom_combo);
+ *selected_map = gtk_combo_box_get_active(GTK_COMBO_BOX(map_combo));
+ *selected_zoom = gtk_combo_box_get_active(GTK_COMBO_BOX(zoom_combo));
gtk_widget_destroy(dialog);
return TRUE;
@@ -896,8 +924,7 @@ void a_dialog_license ( GtkWindow *parent, const gchar *map, const gchar *licens
_("The map data is licensed: %s."),
license);
gtk_message_dialog_format_secondary_markup (GTK_MESSAGE_DIALOG (dialog),
- _("The data provided by '<b>%s</b>' are licensed under the following license: <b>%s</b>.\n"
- "Please, read the license before continuing."),
+ _("The data provided by '<b>%s</b>' are licensed under the following license: <b>%s</b>."),
map, license);
#define RESPONSE_OPEN_LICENSE 600
if (url != NULL) {
diff --git a/src/dialog.h b/src/dialog.h
index d6af9a4..f4734c0 100644
--- a/src/dialog.h
+++ b/src/dialog.h
@@ -28,6 +28,7 @@
#include "coords.h"
#include "vikwaypoint.h"
#include "vikcoord.h"
+#include "viktrwlayer.h"
G_BEGIN_DECLS
@@ -40,7 +41,7 @@ G_BEGIN_DECLS
#define a_dialog_info_msg_extra(win,info,extra) a_dialog_msg(win,GTK_MESSAGE_INFO,info,extra)
#define a_dialog_error_msg_extra(win,info,extra) a_dialog_msg(win,GTK_MESSAGE_ERROR,info,extra)
-GtkWidget *a_dialog_create_label_vbox ( gchar **texts, int label_count );
+GtkWidget *a_dialog_create_label_vbox ( gchar **texts, int label_count, gint spacing, gint padding );
void a_dialog_msg ( GtkWindow *parent, gint type, const gchar *info, const gchar *extra );
@@ -57,18 +58,14 @@ gboolean a_dialog_goto_utm ( GtkWindow *parent, struct UTM *utm, const struct UT
The name to use is returned
When an existing waypoint the name is shown but is not allowed to be changed and NULL is returned
*/
-gchar *a_dialog_waypoint ( GtkWindow *parent, gchar *default_name, VikWaypoint *wp, VikCoordMode coord_mode, gboolean is_new, gboolean *updated );
+gchar *a_dialog_waypoint ( GtkWindow *parent, gchar *default_name, VikTrwLayer *vtl, VikWaypoint *wp, VikCoordMode coord_mode, gboolean is_new, gboolean *updated );
-gchar *a_dialog_new_track ( GtkWindow *parent, GHashTable *tracks, gchar *default_name, gboolean is_route );
+gchar *a_dialog_new_track ( GtkWindow *parent, gchar *default_name, gboolean is_route );
gboolean a_dialog_yes_or_no ( GtkWindow *parent, const gchar *message, const gchar *extra );
gboolean a_dialog_custom_zoom ( GtkWindow *parent, gdouble *xmpp, gdouble *ympp );
gboolean a_dialog_time_threshold ( GtkWindow *parent, gchar *title_text, gchar *label_text, guint *thr );
-/**
- * Dialog to return a positive number via a spinbox within the supplied limits
- * A return value of zero indicates the dialog was cancelled
- */
guint a_dialog_get_positive_number ( GtkWindow *parent, gchar *title_text, gchar *label_text, guint default_num, guint min, guint max, guint step );
void a_dialog_choose_dir ( GtkWidget *entry );
diff --git a/src/dir.c b/src/dir.c
index a6b6049..161ed40 100644
--- a/src/dir.c
+++ b/src/dir.c
@@ -32,37 +32,45 @@
#include <glib.h>
#include <glib/gstdio.h>
-const gchar *a_get_viking_dir()
+/**
+ * For external use, free the result
+ * Made externally available primarily to detect when Viking is first run
+ */
+gchar *a_get_viking_dir_no_create()
{
- static gchar *viking_dir = NULL;
-
// TODO: use g_get_user_config_dir ?
- if (!viking_dir) {
- const gchar *home = g_getenv("HOME");
- if (!home || g_access(home, W_OK))
- home = g_get_home_dir ();
+ const gchar *home = g_getenv("HOME");
+ if (!home || g_access(home, W_OK))
+ home = g_get_home_dir ();
#ifdef HAVE_MKDTEMP
- if (!home || g_access(home, W_OK))
+ if (!home || g_access(home, W_OK))
{
static gchar temp[] = {"/tmp/vikXXXXXX"};
home = mkdtemp(temp);
}
#endif
- if (!home || g_access(home, W_OK))
- /* Fatal error */
- g_critical("Unable to find a base directory");
+ if (!home || g_access(home, W_OK))
+ /* Fatal error */
+ g_critical("Unable to find a base directory");
/* Build the name of the directory */
#ifdef __APPLE__
- viking_dir = g_build_filename(home, "/Library/Application Support/Viking", NULL);
+ return g_build_filename(home, "/Library/Application Support/Viking", NULL);
#else
- viking_dir = g_build_filename(home, ".viking", NULL);
+ return g_build_filename(home, ".viking", NULL);
#endif
+}
+
+static gchar *viking_dir = NULL;
+
+const gchar *a_get_viking_dir()
+{
+ if (!viking_dir) {
+ viking_dir = a_get_viking_dir_no_create ();
if (g_file_test(viking_dir, G_FILE_TEST_EXISTS) == FALSE)
g_mkdir(viking_dir, 0755);
}
-
return viking_dir;
}
diff --git a/src/dir.h b/src/dir.h
index 3e16ad6..77e480d 100644
--- a/src/dir.h
+++ b/src/dir.h
@@ -25,8 +25,13 @@
#include <glib.h>
+G_BEGIN_DECLS
+
const gchar *a_get_viking_dir();
+gchar *a_get_viking_dir_no_create();
gchar ** a_get_viking_data_path();
gchar *a_get_viking_data_home();
+G_END_DECLS
+
#endif
diff --git a/src/download.c b/src/download.c
index 7671a5a..3660fa1 100644
--- a/src/download.c
+++ b/src/download.c
@@ -1,8 +1,10 @@
+/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 4; tab-width: 4 -*- */
/*
* viking -- GPS Data and Topo Analyzer, Explorer, and Manager
*
* Copyright (C) 2003-2005, Evan Battaglia <gtoevan@gmx.net>
* Copyright (C) 2007, Guilhem Bonnefille <guilhem.bonnefille@gmail.com>
+ * Copyright (C) 2013, Rob Norris <rw_norris@hotmail.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -38,6 +40,10 @@
#include <glib/gstdio.h>
#include <glib/gi18n.h>
+#ifdef HAVE_MAGIC_H
+#include <magic.h>
+#endif
+#include "compression.h"
#include "download.h"
@@ -104,18 +110,30 @@ static GList *file_list = NULL;
static GMutex *file_list_mutex = NULL;
/* spin button scales */
-VikLayerParamScale params_scales[] = {
- {1, 86400*7, 60, 0}, /* download_tile_age */
+static VikLayerParamScale params_scales[] = {
+ {1, 365, 1, 0}, /* download_tile_age */
};
+static VikLayerParamData convert_to_display ( VikLayerParamData value )
+{
+ // From seconds into days
+ return VIK_LPD_UINT ( value.u / 86400 );
+}
+
+static VikLayerParamData convert_to_internal ( VikLayerParamData value )
+{
+ // From days into seconds
+ return VIK_LPD_UINT ( 86400 * value.u );
+}
+
static VikLayerParam prefs[] = {
- { VIKING_PREFERENCES_NAMESPACE "download_tile_age", VIK_LAYER_PARAM_UINT, VIK_LAYER_GROUP_NONE, N_("Tile age (s):"), VIK_LAYER_WIDGET_SPINBUTTON, &params_scales[0], NULL, NULL },
+ { VIK_LAYER_NUM_TYPES, VIKING_PREFERENCES_NAMESPACE "download_tile_age", VIK_LAYER_PARAM_UINT, VIK_LAYER_GROUP_NONE, N_("Tile age (days):"), VIK_LAYER_WIDGET_SPINBUTTON, &params_scales[0], NULL, NULL, NULL, convert_to_display, convert_to_internal },
};
void a_download_init (void)
{
VikLayerParamData tmp;
- tmp.u = VIK_CONFIG_DEFAULT_TILE_AGE;
+ tmp.u = VIK_CONFIG_DEFAULT_TILE_AGE / 86400; // Now in days
a_preferences_register(prefs, tmp, VIKING_PREFERENCES_GROUP_KEY);
file_list_mutex = g_mutex_new();
@@ -142,6 +160,83 @@ static void unlock_file(const char *fn)
g_mutex_unlock(file_list_mutex);
}
+
+static void uncompress_zip ( gchar *name )
+{
+ GError *error = NULL;
+ GMappedFile *mf;
+
+ if ((mf = g_mapped_file_new ( name, FALSE, &error )) == NULL) {
+ g_critical(_("Couldn't map file %s: %s"), name, error->message);
+ g_error_free(error);
+ return;
+ }
+ gchar *file_contents = g_mapped_file_get_contents ( mf );
+
+ void *unzip_mem = NULL;
+ gulong ucsize;
+
+ if ((unzip_mem = unzip_file (file_contents, &ucsize)) == NULL) {
+ g_mapped_file_unref ( mf );
+ return;
+ }
+
+ // This overwrires any previous file contents
+ if ( ! g_file_set_contents ( name, unzip_mem, ucsize, &error ) ) {
+ g_critical ( "Couldn't write file '%s', because of %s", name, error->message );
+ g_error_free ( error );
+ }
+}
+
+/**
+ * a_try_decompress_file:
+ * @name: The potentially compressed filename
+ *
+ * Perform magic to decide how which type of decompression to attempt
+ */
+void a_try_decompress_file (gchar *name)
+{
+#ifdef HAVE_MAGIC_H
+ magic_t myt = magic_open ( MAGIC_CONTINUE|MAGIC_ERROR|MAGIC_MIME );
+ gboolean zip = FALSE;
+ gboolean bzip2 = FALSE;
+ if ( myt ) {
+#ifdef WINDOWS
+ // We have to 'package' the magic database ourselves :(
+ // --> %PROGRAM FILES%\Viking\magic.mgc
+ magic_load ( myt, "magic.mgc" );
+#else
+ // Use system default
+ magic_load ( myt, NULL );
+#endif
+ const char* magic = magic_file (myt, name);
+ g_debug ("%s: magic output: %s", __FUNCTION__, magic );
+
+ if ( g_strcmp0 (magic, "application/zip; charset=binary") == 0 )
+ zip = TRUE;
+
+ if ( g_strcmp0 (magic, "application/x-bzip2; charset=binary") == 0 )
+ bzip2 = TRUE;
+
+ magic_close ( myt );
+ }
+
+ if ( !(zip || bzip2) )
+ return;
+
+ if ( zip ) {
+ uncompress_zip ( name );
+ }
+ else if ( bzip2 ) {
+ gchar* bz2_name = uncompress_bzip2 ( name );
+ g_remove ( name );
+ g_rename ( bz2_name, name );
+ }
+
+ return;
+#endif
+}
+
static int download( const char *hostname, const char *uri, const char *fn, DownloadMapOptions *options, gboolean ftp, void *handle)
{
FILE *f;
@@ -241,6 +336,9 @@ static int download( const char *hostname, const char *uri, const char *fn, Down
return -1;
}
+ if ( options->convert_file )
+ options->convert_file ( tmpfilename );
+
if (options->use_etag) {
if (file_options.new_etag) {
/* server returned an etag value */
diff --git a/src/download.h b/src/download.h
index 91caa9d..424d28b 100644
--- a/src/download.h
+++ b/src/download.h
@@ -32,6 +32,9 @@ typedef gboolean (*VikFileContentCheckerFunc) (FILE*);
gboolean a_check_map_file(FILE*);
gboolean a_check_html_file(FILE*);
gboolean a_check_kml_file(FILE*);
+// Convert
+void a_try_decompress_file (gchar *name);
+typedef void (*VikFileContentConvertFunc) (gchar*); // filename (temporary)
typedef struct {
/**
@@ -68,6 +71,11 @@ typedef struct {
*/
gchar *user_pass;
+ /**
+ * File manipulation if necessary such as uncompressing the downloaded file.
+ */
+ VikFileContentConvertFunc convert_file;
+
} DownloadMapOptions;
typedef struct {
diff --git a/src/expedia.c b/src/expedia.c
index 6fc0d1f..2443ceb 100644
--- a/src/expedia.c
+++ b/src/expedia.c
@@ -46,7 +46,7 @@ static int expedia_download ( MapCoord *src, const gchar *dest_fn, void *handle
static void * expedia_handle_init ( );
static void expedia_handle_cleanup ( void *handle );
-static DownloadMapOptions expedia_options = { FALSE, FALSE, NULL, 2, a_check_map_file };
+static DownloadMapOptions expedia_options = { FALSE, FALSE, NULL, 2, a_check_map_file, NULL };
void expedia_init() {
VikMapsLayer_MapType map_type = { 5, 0, 0, VIK_VIEWPORT_DRAWMODE_EXPEDIA, expedia_coord_to_mapcoord, expedia_mapcoord_to_center_coord, expedia_download, expedia_handle_init, expedia_handle_cleanup };
diff --git a/src/file.c b/src/file.c
index de287a1..646b99f 100644
--- a/src/file.c
+++ b/src/file.c
@@ -34,21 +34,20 @@
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif
+#ifdef WINDOWS
+#define realpath(X,Y) _fullpath(Y,X,MAX_PATH)
+#endif
#include <glib.h>
#include <glib/gstdio.h>
#include <glib/gi18n.h>
+#include "file.h"
+
#define TEST_BOOLEAN(str) (! ((str)[0] == '\0' || (str)[0] == '0' || (str)[0] == 'n' || (str)[0] == 'N' || (str)[0] == 'f' || (str)[0] == 'F') )
#define VIK_MAGIC "#VIK"
#define GPX_MAGIC "<?xm"
#define VIK_MAGIC_LEN 4
-#ifdef WINDOWS
-#define FILE_SEP '\\'
-#else
-#define FILE_SEP '/'
-#endif
-
#define VIKING_FILE_VERSION 1
typedef struct _Stack Stack;
@@ -92,16 +91,7 @@ static gboolean str_starts_with ( const gchar *haystack, const gchar *needle, gu
return FALSE;
}
-static guint16 layer_type_from_string ( const gchar *str )
-{
- guint8 i;
- for ( i = 0; i < VIK_LAYER_NUM_TYPES; i++ )
- if ( strcasecmp ( str, vik_layer_get_interface(i)->fixed_layer_name ) == 0 )
- return i;
- return -1;
-}
-
-void file_write_layer_param ( FILE *f, const gchar *name, guint8 type, VikLayerParamData data ) {
+void file_write_layer_param ( FILE *f, const gchar *name, VikLayerParamType type, VikLayerParamData data ) {
/* string lists are handled differently. We get a GList (that shouldn't
* be freed) back for get_param and if it is null we shouldn't write
* anything at all (otherwise we'd read in a list with an empty string,
@@ -129,8 +119,9 @@ void file_write_layer_param ( FILE *f, const gchar *name, guint8 type, VikLayerP
case VIK_LAYER_PARAM_UINT: fprintf ( f, "%d\n", data.u ); break;
case VIK_LAYER_PARAM_INT: fprintf ( f, "%d\n", data.i ); break;
case VIK_LAYER_PARAM_BOOLEAN: fprintf ( f, "%c\n", data.b ? 't' : 'f' ); break;
- case VIK_LAYER_PARAM_STRING: fprintf ( f, "%s\n", data.s ); break;
+ case VIK_LAYER_PARAM_STRING: fprintf ( f, "%s\n", data.s ? data.s : "" ); break;
case VIK_LAYER_PARAM_COLOR: fprintf ( f, "#%.2x%.2x%.2x\n", (int)(data.c.red/256),(int)(data.c.green/256),(int)(data.c.blue/256)); break;
+ default: break;
}
}
}
@@ -333,9 +324,9 @@ static gboolean file_read ( VikAggregateLayer *top, FILE *f, VikViewport *vp )
}
else
{
- gint16 type = layer_type_from_string ( line+6 );
+ VikLayerTypeEnum type = vik_layer_type_from_string ( line+6 );
push(&stack);
- if ( type == -1 )
+ if ( type == VIK_LAYER_NUM_TYPES )
{
successful_read = FALSE;
g_warning ( "Line %ld: Unknown type %s", line_num, line+6 );
@@ -373,7 +364,7 @@ static gboolean file_read ( VikAggregateLayer *top, FILE *f, VikViewport *vp )
if ( stack->data && stack->under->data )
{
if (VIK_LAYER(stack->under->data)->type == VIK_LAYER_AGGREGATE) {
- vik_aggregate_layer_add_layer ( VIK_AGGREGATE_LAYER(stack->under->data), VIK_LAYER(stack->data) );
+ vik_aggregate_layer_add_layer ( VIK_AGGREGATE_LAYER(stack->under->data), VIK_LAYER(stack->data), FALSE );
vik_layer_post_read ( VIK_LAYER(stack->data), vp, TRUE );
}
else if (VIK_LAYER(stack->under->data)->type == VIK_LAYER_GPS) {
@@ -547,7 +538,7 @@ name=this
{
if ( stack->under && stack->under->data && stack->data )
{
- vik_aggregate_layer_add_layer ( VIK_AGGREGATE_LAYER(stack->under->data), VIK_LAYER(stack->data) );
+ vik_aggregate_layer_add_layer ( VIK_AGGREGATE_LAYER(stack->under->data), VIK_LAYER(stack->data), FALSE );
vik_layer_post_read ( VIK_LAYER(stack->data), vp, TRUE );
}
pop(&stack);
@@ -617,9 +608,13 @@ VikLoadType_t a_file_load ( VikAggregateLayer *top, VikViewport *vp, const gchar
g_return_val_if_fail ( vp != NULL, LOAD_TYPE_READ_FAILURE );
char *filename = (char *)filename_or_uri;
- if (strncmp(filename, "file://", 7) == 0)
+ if (strncmp(filename, "file://", 7) == 0) {
+ // Consider replacing this with:
+ // filename = g_filename_from_uri ( entry, NULL, NULL );
+ // Since this doesn't support URIs properly (i.e. will failure if is it has %20 characters in it)
filename = filename + 7;
-
+ g_debug ( "Loading file %s from URI %s", filename, filename_or_uri );
+ }
FILE *f = xfopen ( filename, "r" );
if ( ! f )
@@ -630,10 +625,28 @@ VikLoadType_t a_file_load ( VikAggregateLayer *top, VikViewport *vp, const gchar
// Attempt loading the primary file type first - our internal .vik file:
if ( check_magic ( f, VIK_MAGIC ) )
{
+ // Enables relative paths in a .vik file to work
+ gchar *cwd = g_get_current_dir();
+ gchar *dir = g_path_get_dirname ( filename );
+ if ( dir ) {
+ if ( g_chdir ( dir ) ) {
+ g_warning ( "Could not change directory to %s", dir );
+ }
+ g_free (dir);
+ }
+
if ( file_read ( top, f, vp ) )
load_answer = LOAD_TYPE_VIK_SUCCESS;
else
load_answer = LOAD_TYPE_VIK_FAILURE_NON_FATAL;
+
+ // Restore previous working directory
+ if ( cwd ) {
+ if ( g_chdir ( cwd ) ) {
+ g_warning ( "Could not return to directory %s", cwd );
+ }
+ g_free (cwd);
+ }
}
else
{
@@ -674,7 +687,7 @@ VikLoadType_t a_file_load ( VikAggregateLayer *top, VikViewport *vp, const gchar
// Complete the setup from the successful load
vik_layer_rename ( vtl, a_file_basename ( filename ) );
vik_layer_post_read ( vtl, vp, TRUE );
- vik_aggregate_layer_add_layer ( top, vtl );
+ vik_aggregate_layer_add_layer ( top, vtl, FALSE );
vik_trw_layer_auto_set_view ( VIK_TRW_LAYER(vtl), vp );
}
}
@@ -694,8 +707,26 @@ gboolean a_file_save ( VikAggregateLayer *top, gpointer vp, const gchar *filenam
if ( ! f )
return FALSE;
+ // Enable relative paths in .vik files to work
+ gchar *cwd = g_get_current_dir();
+ gchar *dir = g_path_get_dirname ( filename );
+ if ( dir ) {
+ if ( g_chdir ( dir ) ) {
+ g_warning ( "Could not change directory to %s", dir );
+ }
+ g_free (dir);
+ }
+
file_write ( top, f, vp );
+ // Restore previous working directory
+ if ( cwd ) {
+ if ( g_chdir ( cwd ) ) {
+ g_warning ( "Could not return to directory %s", cwd );
+ }
+ g_free (cwd);
+ }
+
fclose(f);
f = NULL;
@@ -703,17 +734,6 @@ gboolean a_file_save ( VikAggregateLayer *top, gpointer vp, const gchar *filenam
}
-const gchar *a_file_basename ( const gchar *filename )
-{
- const gchar *t = filename + strlen(filename) - 1;
- while ( --t > filename )
- if ( *(t-1) == FILE_SEP )
- break;
- if ( t >= filename )
- return t;
- return filename;
-}
-
/* example:
gboolean is_gpx = check_file_ext ( "a/b/c.gpx", ".gpx" );
*/
@@ -797,3 +817,129 @@ gboolean a_file_export ( VikTrwLayer *vtl, const gchar *filename, VikFileType_t
return FALSE;
}
+/**
+ * Just a wrapper around realpath, which itself is platform dependent
+ */
+char *file_realpath ( const char *path, char *real )
+{
+ return realpath ( path, real );
+}
+
+/**
+ * Permission granted to use this code after personal correspondance
+ * Slightly reworked for better cross platform use, glibisms, function rename and a compacter format
+ *
+ * FROM http://www.codeguru.com/cpp/misc/misc/fileanddirectorynaming/article.php/c263
+ */
+
+// GetRelativeFilename(), by Rob Fisher.
+// rfisher@iee.org
+// http://come.to/robfisher
+
+// defines
+#ifndef MAXPATHLEN
+#define MAXPATHLEN 1024
+#endif
+// The number of characters at the start of an absolute filename. e.g. in DOS,
+// absolute filenames start with "X:\" so this value should be 3, in UNIX they start
+// with "\" so this value should be 1.
+#ifdef WINDOWS
+#define ABSOLUTE_NAME_START 3
+#else
+#define ABSOLUTE_NAME_START 1
+#endif
+
+// Given the absolute current directory and an absolute file name, returns a relative file name.
+// For example, if the current directory is C:\foo\bar and the filename C:\foo\whee\text.txt is given,
+// GetRelativeFilename will return ..\whee\text.txt.
+
+const gchar *file_GetRelativeFilename ( gchar *currentDirectory, gchar *absoluteFilename )
+{
+ gint afMarker = 0, rfMarker = 0;
+ gint cdLen = 0, afLen = 0;
+ gint i = 0;
+ gint levels = 0;
+ static gchar relativeFilename[MAXPATHLEN+1];
+
+ cdLen = strlen(currentDirectory);
+ afLen = strlen(absoluteFilename);
+
+ // make sure the names are not too long or too short
+ if (cdLen > MAXPATHLEN || cdLen < ABSOLUTE_NAME_START+1 ||
+ afLen > MAXPATHLEN || afLen < ABSOLUTE_NAME_START+1) {
+ return NULL;
+ }
+
+ // Handle DOS names that are on different drives:
+ if (currentDirectory[0] != absoluteFilename[0]) {
+ // not on the same drive, so only absolute filename will do
+ strcpy(relativeFilename, absoluteFilename);
+ return relativeFilename;
+ }
+
+ // they are on the same drive, find out how much of the current directory
+ // is in the absolute filename
+ i = ABSOLUTE_NAME_START;
+ while (i < afLen && i < cdLen && currentDirectory[i] == absoluteFilename[i]) {
+ i++;
+ }
+
+ if (i == cdLen && (absoluteFilename[i] == G_DIR_SEPARATOR || absoluteFilename[i-1] == G_DIR_SEPARATOR)) {
+ // the whole current directory name is in the file name,
+ // so we just trim off the current directory name to get the
+ // current file name.
+ if (absoluteFilename[i] == G_DIR_SEPARATOR) {
+ // a directory name might have a trailing slash but a relative
+ // file name should not have a leading one...
+ i++;
+ }
+
+ strcpy(relativeFilename, &absoluteFilename[i]);
+ return relativeFilename;
+ }
+
+ // The file is not in a child directory of the current directory, so we
+ // need to step back the appropriate number of parent directories by
+ // using "..\"s. First find out how many levels deeper we are than the
+ // common directory
+ afMarker = i;
+ levels = 1;
+
+ // count the number of directory levels we have to go up to get to the
+ // common directory
+ while (i < cdLen) {
+ i++;
+ if (currentDirectory[i] == G_DIR_SEPARATOR) {
+ // make sure it's not a trailing slash
+ i++;
+ if (currentDirectory[i] != '\0') {
+ levels++;
+ }
+ }
+ }
+
+ // move the absolute filename marker back to the start of the directory name
+ // that it has stopped in.
+ while (afMarker > 0 && absoluteFilename[afMarker-1] != G_DIR_SEPARATOR) {
+ afMarker--;
+ }
+
+ // check that the result will not be too long
+ if (levels * 3 + afLen - afMarker > MAXPATHLEN) {
+ return NULL;
+ }
+
+ // add the appropriate number of "..\"s.
+ rfMarker = 0;
+ for (i = 0; i < levels; i++) {
+ relativeFilename[rfMarker++] = '.';
+ relativeFilename[rfMarker++] = '.';
+ relativeFilename[rfMarker++] = G_DIR_SEPARATOR;
+ }
+
+ // copy the rest of the filename into the result string
+ strcpy(&relativeFilename[rfMarker], &absoluteFilename[afMarker]);
+
+ return relativeFilename;
+}
+/* END http://www.codeguru.com/cpp/misc/misc/fileanddirectorynaming/article.php/c263 */
diff --git a/src/file.h b/src/file.h
index a66baf6..c258aa1 100644
--- a/src/file.h
+++ b/src/file.h
@@ -38,7 +38,6 @@ FILE_TYPE_GPX=3,
FILE_TYPE_KML=4,
} VikFileType_t;
-const gchar *a_file_basename ( const gchar *filename );
gboolean check_file_ext ( const gchar *filename, const gchar *fileext );
/*
@@ -61,7 +60,11 @@ gboolean a_file_save ( VikAggregateLayer *top, gpointer vp, const gchar *filenam
/* Only need to define VikTrack if the file type is FILE_TYPE_GPX_TRACK */
gboolean a_file_export ( VikTrwLayer *vtl, const gchar *filename, VikFileType_t file_type, VikTrack *trk, gboolean write_hidden );
-void file_write_layer_param ( FILE *f, const gchar *name, guint8 type, VikLayerParamData data );
+void file_write_layer_param ( FILE *f, const gchar *name, VikLayerParamType type, VikLayerParamData data );
+
+char *file_realpath ( const char *path, char *real );
+
+const gchar *file_GetRelativeFilename ( gchar *currentDirectory, gchar *absoluteFilename );
G_END_DECLS
diff --git a/src/fileutils.c b/src/fileutils.c
new file mode 100644
index 0000000..7181c4f
--- /dev/null
+++ b/src/fileutils.c
@@ -0,0 +1,46 @@
+/*
+ * viking -- GPS Data and Topo Analyzer, Explorer, and Manager
+ *
+ * Copyright (C) 2003-2005, Evan Battaglia <gtoevan@gmx.net>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ */
+/*
+ * Code that is independent of any other Viking specific types
+ * Otherwise see file.c
+ */
+#include <string.h>
+#include <stdlib.h>
+#include <stdio.h>
+
+#include "fileutils.h"
+
+#ifdef WINDOWS
+#define FILE_SEP '\\'
+#else
+#define FILE_SEP '/'
+#endif
+
+const gchar *a_file_basename ( const gchar *filename )
+{
+ const gchar *t = filename + strlen(filename) - 1;
+ while ( --t > filename )
+ if ( *(t-1) == FILE_SEP )
+ break;
+ if ( t >= filename )
+ return t;
+ return filename;
+}
diff --git a/src/fileutils.h b/src/fileutils.h
new file mode 100644
index 0000000..4052e42
--- /dev/null
+++ b/src/fileutils.h
@@ -0,0 +1,32 @@
+/*
+ * viking -- GPS Data and Topo Analyzer, Explorer, and Manager
+ *
+ * Copyright (C) 2003-2005, Evan Battaglia <gtoevan@gmx.net>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ */
+#ifndef __FILE_UTILS_H
+#define __FILE_UTILS_H
+
+#include <glib.h>
+
+G_BEGIN_DECLS
+
+const gchar *a_file_basename ( const gchar *filename );
+
+G_END_DECLS
+
+#endif
diff --git a/src/garminsymbols.c b/src/garminsymbols.c
index b0b2cdb..4c7d3f1 100644
--- a/src/garminsymbols.c
+++ b/src/garminsymbols.c
@@ -37,103 +37,101 @@ static struct {
const GdkPixdata *data_large;
GdkPixbuf *icon;
} garmin_syms[] = {
- /* "sym" are in all lower case. This is because viking convert symbol
- * names to lowercase when reading gpx files (see gpx.c:gpx_end()).
- * This method works with gpsbable (when viking upload back to GPS
- * device), but I don't know it works with other application.
- * The method (lower case for sym, that is) is more eficient but if
- * it is not compatible to all application, change sym to the right
- * case (see http://www.gpsbabel.org/) change gpx.c not to convert
- * symbol to lower case and use g_utf8_casefold() in key_equal_func
- * for g_hash_table_new_full() (see init_icons() in this file).
- * Quy Tonthat <qtonthat@gmail.com>
+ /* "sym" are in 'Title Case' like in gpsbabel. This is needed for
+ * devices like Garmin Oregon 450. Old exports with lower case
+ * identifiers will be automatically converted to the version defined
+ * inside the table by vikwaypoint.c:vik_waypoint_set_symbol().
+ * The hash itself tries to keep all operations case independent
+ * using str_equal_casefold() and str_hash_casefold(). This is
+ * necessary to allow a_get_hashed_sym() to match the lower case
+ * version with the identifier stored in "sym".
*/
/*---------------------------------------------------------------
Marine symbols
---------------------------------------------------------------*/
- { "marina", "anchor", 0, "white anchor symbol", &wp_anchor_pixbuf, &wp_anchor_large_pixbuf, NULL },
- { "bell", "bell", 1, "white bell symbol", &wp_bell_pixbuf, &wp_bell_large_pixbuf, NULL },
- { "green diamon", "diamond_grn", 2, "green diamond symbol", &wp_diamond_grn_pixbuf, NULL, NULL },
- { "red diamon", "diamond_red", 3, "red diamond symbol", &wp_diamond_red_pixbuf, NULL, NULL },
- { "diver down flag 1", "dive1", 4, "diver down flag 1", &wp_dive1_pixbuf, &wp_dive1_large_pixbuf, NULL },
- { "diver down flag 2", "dive2", 5, "diver down flag 2", &wp_dive2_pixbuf, &wp_dive2_large_pixbuf, NULL },
- { "bank", "dollar", 6, "white dollar symbol", &wp_dollar_pixbuf, &wp_dollar_large_pixbuf, NULL },
- { "fishing area", "fish", 7, "white fish symbol", &wp_fish_pixbuf, &wp_fish_large_pixbuf, NULL },
- { "gas station", "fuel", 8, "white fuel symbol", &wp_fuel_pixbuf, &wp_fuel_large_pixbuf, NULL },
- { "horn", "horn", 9, "white horn symbol", &wp_horn_pixbuf, &wp_horn_large_pixbuf, NULL },
- { "residence", "house", 10, "white house symbol", &wp_house_pixbuf, &wp_house_large_pixbuf, NULL },
- { "restaurant", "knife", 11, "white knife & fork symbol", &wp_knife_pixbuf, &wp_knife_large_pixbuf, NULL },
- { "light", "light", 12, "white light symbol", &wp_light_pixbuf, &wp_light_large_pixbuf, NULL },
- { "bar", "mug", 13, "white mug symbol", &wp_mug_pixbuf, &wp_mug_large_pixbuf, NULL },
- { "skull and crossbones", "skull", 14, "white skull and crossbones symbol", &wp_skull_pixbuf, &wp_skull_large_pixbuf, NULL },
- { "green square", "square_grn", 15, "green square symbol", &wp_square_grn_pixbuf, NULL, NULL },
- { "red square", "square_red", 16, "red square symbol", &wp_square_red_pixbuf, NULL, NULL },
- { "white buoy", "wbuoy", 17, "white buoy waypoint symbol", &wp_wbuoy_pixbuf, &wp_wbuoy_large_pixbuf, NULL },
- { "waypoint", "wpt_dot", 18, "waypoint dot", &wp_wpt_dot_pixbuf, NULL, NULL },
- { "shipwreck", "wreck", 19, "white wreck symbol", &wp_wreck_pixbuf, &wp_wreck_large_pixbuf, NULL },
- { "none", "null", 20, "null symbol (transparent)", &wp_null_pixbuf, NULL, NULL },
- { "man overboard", "mob", 21, "man overboard symbol", &wp_mob_pixbuf, &wp_mob_large_pixbuf, NULL },
- { "navaid, amber", "buoy_ambr", 22, "amber map buoy symbol", &wp_buoy_ambr_pixbuf, &wp_buoy_ambr_large_pixbuf, NULL },
- { "navaid, black", "buoy_blck", 23, "black map buoy symbol", &wp_buoy_blck_pixbuf, &wp_buoy_blck_large_pixbuf, NULL },
- { "navaid, blue", "buoy_blue", 24, "blue map buoy symbol", &wp_buoy_blue_pixbuf, &wp_buoy_blue_large_pixbuf, NULL },
- { "navaid, green", "buoy_grn", 25, "green map buoy symbol", &wp_buoy_grn_pixbuf, &wp_buoy_grn_large_pixbuf, NULL },
- { "navaid, green/Red", "buoy_grn_red", 26, "green/red map buoy symbol", &wp_buoy_grn_red_pixbuf, &wp_buoy_grn_red_large_pixbuf, NULL },
- { "navaid, green/White", "buoy_grn_wht", 27, "green/white map buoy symbol", &wp_buoy_grn_wht_pixbuf, &wp_buoy_grn_wht_large_pixbuf, NULL },
- { "navaid, orange", "buoy_orng", 28, "orange map buoy symbol", &wp_buoy_orng_pixbuf, &wp_buoy_orng_large_pixbuf, NULL },
- { "navaid, red", "buoy_red", 29, "red map buoy symbol", &wp_buoy_red_pixbuf, &wp_buoy_red_large_pixbuf, NULL },
- { "navaid, red/green", "buoy_red_grn", 30, "red/green map buoy symbol", &wp_buoy_red_grn_pixbuf, &wp_buoy_red_grn_large_pixbuf, NULL },
- { "navaid, red/white", "buoy_red_wht", 31, "red/white map buoy symbol", &wp_buoy_red_wht_pixbuf, &wp_buoy_red_wht_large_pixbuf, NULL },
- { "navaid, violet", "buoy_violet", 32, "violet map buoy symbol", &wp_buoy_violet_pixbuf, &wp_buoy_violet_large_pixbuf, NULL },
- { "navaid, white", "buoy_wht", 33, "white map buoy symbol", &wp_buoy_wht_pixbuf, &wp_buoy_wht_large_pixbuf, NULL },
- { "navaid, whit/green", "buoy_wht_grn", 34, "white/green map buoy symbol", &wp_buoy_wht_grn_pixbuf, &wp_buoy_wht_grn_large_pixbuf, NULL },
- { "navaid, white/red", "buoy_wht_red", 35, "white/red map buoy symbol", &wp_buoy_wht_red_pixbuf, &wp_buoy_wht_red_large_pixbuf, NULL },
- { "white dot", "dot", 36, "white dot symbol", &wp_dot_pixbuf, NULL, NULL },
- { "radio beacon", "rbcn", 37, "radio beacon symbol", &wp_rbcn_pixbuf, &wp_rbcn_large_pixbuf, NULL },
- { "boat ramp", "boat_ramp", 150, "boat ramp symbol", &wp_boat_ramp_pixbuf, &wp_boat_ramp_large_pixbuf, NULL },
- { "campground", "camp", 151, "campground symbol", &wp_camp_pixbuf, &wp_camp_large_pixbuf, NULL },
- { "restroom", "restrooms", 152, "restrooms symbol", &wp_restroom_pixbuf, &wp_restroom_large_pixbuf, NULL },
- { "shower", "showers", 153, "shower symbol", &wp_shower_pixbuf, &wp_shower_large_pixbuf, NULL },
- { "drinking water", "drinking_wtr", 154, "drinking water symbol", &wp_drinking_wtr_pixbuf, &wp_drinking_wtr_large_pixbuf, NULL },
- { "telephone", "phone", 155, "telephone symbol", &wp_phone_pixbuf, &wp_phone_large_pixbuf, NULL },
- { "medical facility", "1st_aid", 156, "first aid symbol", &wp_1st_aid_pixbuf, &wp_1st_aid_large_pixbuf, NULL },
- { "information", "info", 157, "information symbol", &wp_info_pixbuf, &wp_info_large_pixbuf, NULL },
- { "parking area", "parking", 158, "parking symbol", &wp_parking_pixbuf, &wp_parking_large_pixbuf, NULL },
- { "park", "park", 159, "park symbol", &wp_park_pixbuf, &wp_park_large_pixbuf, NULL },
- { "picnic area", "picnic", 160, "picnic symbol", &wp_picnic_pixbuf, &wp_picnic_large_pixbuf, NULL },
- { "scenic", "scenic", 161, "scenic area symbol", &wp_scenic_pixbuf, &wp_scenic_large_pixbuf, NULL },
- { "skiing area", "skiing", 162, "skiing symbol", &wp_skiing_pixbuf, &wp_skiing_large_pixbuf, NULL },
- { "swimming area", "swimming", 163, "swimming symbol", &wp_swimming_pixbuf, &wp_swimming_large_pixbuf, NULL },
- { "dam", "dam", 164, "dam symbol", &wp_dam_pixbuf, &wp_dam_large_pixbuf, NULL },
- { "controlled area", "controlled", 165, "controlled area symbol", &wp_controlled_pixbuf, &wp_controlled_large_pixbuf, NULL },
- { "danger area", "danger", 166, "danger symbol", &wp_danger_pixbuf, &wp_danger_large_pixbuf, NULL },
- { "restricted area", "restricted", 167, "restricted area symbol", &wp_restricted_pixbuf, &wp_restricted_large_pixbuf, NULL },
- { "null 2", "null_2", 168, "null symbol", NULL, NULL, NULL }, /* not exist */
- { "ball park", "ball", 169, "ball symbol", &wp_ball_pixbuf, &wp_ball_large_pixbuf, NULL },
- { "car", "car", 170, "car symbol", &wp_car_pixbuf, &wp_car_large_pixbuf, NULL },
- { "hunting area", "deer", 171, "deer symbol", &wp_deer_pixbuf, &wp_deer_large_pixbuf, NULL },
- { "shopping center", "shopping", 172, "shopping cart symbol", NULL, &wp_shopping_large_pixbuf, NULL },
- { "lodging", "lodging", 173, "lodging symbol", NULL, &wp_lodging_large_pixbuf, NULL },
- { "mine", "mine", 174, "mine symbol", &wp_mine_pixbuf, &wp_mine_large_pixbuf, NULL },
- { "trail head", "trail_head", 175, "trail head symbol", NULL, &wp_trail_head_large_pixbuf, NULL },
- { "truck stop", "truck_stop", 176, "truck stop symbol", NULL, &wp_truck_stop_large_pixbuf, NULL },
- { "exit", "user_exit", 177, "user exit symbol", NULL, NULL, NULL },
- { "flag", "flag", 178, "flag symbol", &wp_flag_pixbuf, NULL, NULL },
- { "circle with x", "circle_x", 179, "circle with x in the center", NULL, NULL, NULL },
- { "open 24 hours", "open_24hr", 180, "open 24 hours symbol", NULL, NULL, NULL },
- { "fishing hot spot facility", "fhs_facility", 181, "U Fishing Hot SpotsTM Facility", NULL, &wp_fhs_facility_large_pixbuf, NULL },
- { "bottom conditions", "bot_cond", 182, "Bottom Conditions", NULL, NULL, NULL },
- { "tide/current prediction station", "tide_pred_stn", 183, "Tide/Current Prediction Station", NULL, NULL, NULL },
- { "anchor prohibited", "anchor_prohib", 184, "U anchor prohibited symbol", NULL, NULL, NULL },
- { "beacon", "beacon", 185, "U beacon symbol", NULL, NULL, NULL },
- { "coast Guard", "coast_guard", 186, "U coast guard symbol", NULL, NULL, NULL },
- { "reef", "reef", 187, "U reef symbol", NULL, NULL, NULL },
- { "weed bed", "weedbed", 188, "U weedbed symbol", NULL, NULL, NULL },
- { "dropoff", "dropoff", 189, "U dropoff symbol", NULL, NULL, NULL },
- { "dock", "dock", 190, "U dock symbol", NULL, NULL, NULL },
- { "u marina", "marina", 191, "U marina symbol", NULL, NULL, NULL },
- { "bait and tackle", "bait_tackle", 192, "U bait and tackle symbol", NULL, NULL, NULL },
- { "stump", "stump", 193, "U stump symbol", NULL, NULL, NULL },
- { "ground transportation", "grnd_trans", 229, "ground transportation", NULL, &wp_grnd_trans_large_pixbuf, NULL },
+ { "Marina", "anchor", 0, "white anchor symbol", &wp_anchor_pixbuf, &wp_anchor_large_pixbuf, NULL },
+ { "Bell", "bell", 1, "white bell symbol", &wp_bell_pixbuf, &wp_bell_large_pixbuf, NULL },
+ { "Green Diamon", "diamond_grn", 2, "green diamond symbol", &wp_diamond_grn_pixbuf, NULL, NULL },
+ { "Red Diamon", "diamond_red", 3, "red diamond symbol", &wp_diamond_red_pixbuf, NULL, NULL },
+ { "Diver Down Flag 1", "dive1", 4, "diver down flag 1", &wp_dive1_pixbuf, &wp_dive1_large_pixbuf, NULL },
+ { "Diver Down Flag 2", "dive2", 5, "diver down flag 2", &wp_dive2_pixbuf, &wp_dive2_large_pixbuf, NULL },
+ { "Bank", "dollar", 6, "white dollar symbol", &wp_dollar_pixbuf, &wp_dollar_large_pixbuf, NULL },
+ { "Fishing Area", "fish", 7, "white fish symbol", &wp_fish_pixbuf, &wp_fish_large_pixbuf, NULL },
+ { "Gas Station", "fuel", 8, "white fuel symbol", &wp_fuel_pixbuf, &wp_fuel_large_pixbuf, NULL },
+ { "Horn", "horn", 9, "white horn symbol", &wp_horn_pixbuf, &wp_horn_large_pixbuf, NULL },
+ { "Residence", "house", 10, "white house symbol", &wp_house_pixbuf, &wp_house_large_pixbuf, NULL },
+ { "Restaurant", "knife", 11, "white knife & fork symbol", &wp_knife_pixbuf, &wp_knife_large_pixbuf, NULL },
+ { "Light", "light", 12, "white light symbol", &wp_light_pixbuf, &wp_light_large_pixbuf, NULL },
+ { "Bar", "mug", 13, "white mug symbol", &wp_mug_pixbuf, &wp_mug_large_pixbuf, NULL },
+ { "Skull and Crossbones", "skull", 14, "white skull and crossbones symbol", &wp_skull_pixbuf, &wp_skull_large_pixbuf, NULL },
+ { "Green Square", "square_grn", 15, "green square symbol", &wp_square_grn_pixbuf, NULL, NULL },
+ { "Red Square", "square_red", 16, "red square symbol", &wp_square_red_pixbuf, NULL, NULL },
+ { "Buoy, White", "wbuoy", 17, "white buoy waypoint symbol", &wp_wbuoy_pixbuf, &wp_wbuoy_large_pixbuf, NULL },
+ { "Waypoint", "wpt_dot", 18, "waypoint dot", &wp_wpt_dot_pixbuf, NULL, NULL },
+ { "Shipwreck", "wreck", 19, "white wreck symbol", &wp_wreck_pixbuf, &wp_wreck_large_pixbuf, NULL },
+ { "None", "null", 20, "null symbol (transparent)", &wp_null_pixbuf, NULL, NULL },
+ { "Man Overboard", "mob", 21, "man overboard symbol", &wp_mob_pixbuf, &wp_mob_large_pixbuf, NULL },
+ { "Navaid, Amber", "buoy_ambr", 22, "amber map buoy symbol", &wp_buoy_ambr_pixbuf, &wp_buoy_ambr_large_pixbuf, NULL },
+ { "Navaid, Black", "buoy_blck", 23, "black map buoy symbol", &wp_buoy_blck_pixbuf, &wp_buoy_blck_large_pixbuf, NULL },
+ { "Navaid, Blue", "buoy_blue", 24, "blue map buoy symbol", &wp_buoy_blue_pixbuf, &wp_buoy_blue_large_pixbuf, NULL },
+ { "Navaid, Green", "buoy_grn", 25, "green map buoy symbol", &wp_buoy_grn_pixbuf, &wp_buoy_grn_large_pixbuf, NULL },
+ { "Navaid, Green/Red", "buoy_grn_red", 26, "green/red map buoy symbol", &wp_buoy_grn_red_pixbuf, &wp_buoy_grn_red_large_pixbuf, NULL },
+ { "Navaid, Green/White", "buoy_grn_wht", 27, "green/white map buoy symbol", &wp_buoy_grn_wht_pixbuf, &wp_buoy_grn_wht_large_pixbuf, NULL },
+ { "Navaid, Orange", "buoy_orng", 28, "orange map buoy symbol", &wp_buoy_orng_pixbuf, &wp_buoy_orng_large_pixbuf, NULL },
+ { "Navaid, Red", "buoy_red", 29, "red map buoy symbol", &wp_buoy_red_pixbuf, &wp_buoy_red_large_pixbuf, NULL },
+ { "Navaid, Red/Green", "buoy_red_grn", 30, "red/green map buoy symbol", &wp_buoy_red_grn_pixbuf, &wp_buoy_red_grn_large_pixbuf, NULL },
+ { "Navaid, Red/White", "buoy_red_wht", 31, "red/white map buoy symbol", &wp_buoy_red_wht_pixbuf, &wp_buoy_red_wht_large_pixbuf, NULL },
+ { "Navaid, Violet", "buoy_violet", 32, "violet map buoy symbol", &wp_buoy_violet_pixbuf, &wp_buoy_violet_large_pixbuf, NULL },
+ { "Navaid, White", "buoy_wht", 33, "white map buoy symbol", &wp_buoy_wht_pixbuf, &wp_buoy_wht_large_pixbuf, NULL },
+ { "Navaid, White/Green", "buoy_wht_grn", 34, "white/green map buoy symbol", &wp_buoy_wht_grn_pixbuf, &wp_buoy_wht_grn_large_pixbuf, NULL },
+ { "Navaid, White/Red", "buoy_wht_red", 35, "white/red map buoy symbol", &wp_buoy_wht_red_pixbuf, &wp_buoy_wht_red_large_pixbuf, NULL },
+ { "White Dot", "dot", 36, "white dot symbol", &wp_dot_pixbuf, NULL, NULL },
+ { "Radio Beacon", "rbcn", 37, "radio beacon symbol", &wp_rbcn_pixbuf, &wp_rbcn_large_pixbuf, NULL },
+ { "Boat Ramp", "boat_ramp", 150, "boat ramp symbol", &wp_boat_ramp_pixbuf, &wp_boat_ramp_large_pixbuf, NULL },
+ { "Campground", "camp", 151, "campground symbol", &wp_camp_pixbuf, &wp_camp_large_pixbuf, NULL },
+ { "Restroom", "restrooms", 152, "restrooms symbol", &wp_restroom_pixbuf, &wp_restroom_large_pixbuf, NULL },
+ { "Shower", "showers", 153, "shower symbol", &wp_shower_pixbuf, &wp_shower_large_pixbuf, NULL },
+ { "Drinking Water", "drinking_wtr", 154, "drinking water symbol", &wp_drinking_wtr_pixbuf, &wp_drinking_wtr_large_pixbuf, NULL },
+ { "Telephone", "phone", 155, "telephone symbol", &wp_phone_pixbuf, &wp_phone_large_pixbuf, NULL },
+ { "Medical Facility", "1st_aid", 156, "first aid symbol", &wp_1st_aid_pixbuf, &wp_1st_aid_large_pixbuf, NULL },
+ { "Information", "info", 157, "information symbol", &wp_info_pixbuf, &wp_info_large_pixbuf, NULL },
+ { "Parking Area", "parking", 158, "parking symbol", &wp_parking_pixbuf, &wp_parking_large_pixbuf, NULL },
+ { "Park", "park", 159, "park symbol", &wp_park_pixbuf, &wp_park_large_pixbuf, NULL },
+ { "Picnic Area", "picnic", 160, "picnic symbol", &wp_picnic_pixbuf, &wp_picnic_large_pixbuf, NULL },
+ { "Scenic Area", "scenic", 161, "scenic area symbol", &wp_scenic_pixbuf, &wp_scenic_large_pixbuf, NULL },
+ { "Skiing Area", "skiing", 162, "skiing symbol", &wp_skiing_pixbuf, &wp_skiing_large_pixbuf, NULL },
+ { "Swimming Area", "swimming", 163, "swimming symbol", &wp_swimming_pixbuf, &wp_swimming_large_pixbuf, NULL },
+ { "Dam", "dam", 164, "dam symbol", &wp_dam_pixbuf, &wp_dam_large_pixbuf, NULL },
+ { "Controlled Area", "controlled", 165, "controlled area symbol", &wp_controlled_pixbuf, &wp_controlled_large_pixbuf, NULL },
+ { "Danger Area", "danger", 166, "danger symbol", &wp_danger_pixbuf, &wp_danger_large_pixbuf, NULL },
+ { "Restricted Area", "restricted", 167, "restricted area symbol", &wp_restricted_pixbuf, &wp_restricted_large_pixbuf, NULL },
+ { "Null 2", "null_2", 168, "null symbol", NULL, NULL, NULL }, /* not exist */
+ { "Ball Park", "ball", 169, "ball symbol", &wp_ball_pixbuf, &wp_ball_large_pixbuf, NULL },
+ { "Car", "car", 170, "car symbol", &wp_car_pixbuf, &wp_car_large_pixbuf, NULL },
+ { "Hunting Area", "deer", 171, "deer symbol", &wp_deer_pixbuf, &wp_deer_large_pixbuf, NULL },
+ { "Shopping Center", "shopping", 172, "shopping cart symbol", NULL, &wp_shopping_large_pixbuf, NULL },
+ { "Lodging", "lodging", 173, "lodging symbol", NULL, &wp_lodging_large_pixbuf, NULL },
+ { "Mine", "mine", 174, "mine symbol", &wp_mine_pixbuf, &wp_mine_large_pixbuf, NULL },
+ { "Trail Head", "trail_head", 175, "trail head symbol", NULL, &wp_trail_head_large_pixbuf, NULL },
+ { "Truck Stop", "truck_stop", 176, "truck stop symbol", NULL, &wp_truck_stop_large_pixbuf, NULL },
+ { "Exit", "user_exit", 177, "user exit symbol", NULL, &wp_exit_large_pixbuf, NULL },
+ { "Flag", "flag", 178, "flag symbol", &wp_flag_pixbuf, NULL, NULL },
+ { "Circle with X", "circle_x", 179, "circle with x in the center", NULL, NULL, NULL },
+ { "Open 24 Hours", "open_24hr", 180, "open 24 hours symbol", NULL, NULL, NULL },
+ { "Fishing Hot Spot Facility", "fhs_facility", 181, "U Fishing Hot SpotsTM Facility", NULL, &wp_fhs_facility_large_pixbuf, NULL },
+ { "Bottom Conditions", "bot_cond", 182, "Bottom Conditions", NULL, NULL, NULL },
+ { "Tide/Current PRediction Station", "tide_pred_stn", 183, "Tide/Current Prediction Station", NULL, NULL, NULL },
+ { "Anchor Prohibited", "anchor_prohib", 184, "U anchor prohibited symbol", NULL, NULL, NULL },
+ { "Beacon", "beacon", 185, "U beacon symbol", NULL, NULL, NULL },
+ { "Coast Guard", "coast_guard", 186, "U coast guard symbol", NULL, NULL, NULL },
+ { "Reef", "reef", 187, "U reef symbol", NULL, NULL, NULL },
+ { "Weed Bed", "weedbed", 188, "U weedbed symbol", NULL, NULL, NULL },
+ { "Dropoff", "dropoff", 189, "U dropoff symbol", NULL, NULL, NULL },
+ { "Dock", "dock", 190, "U dock symbol", NULL, NULL, NULL },
+ { "U Marina", "marina", 191, "U marina symbol", NULL, NULL, NULL },
+ { "Bait and Tackle", "bait_tackle", 192, "U bait and tackle symbol", NULL, NULL, NULL },
+ { "Stump", "stump", 193, "U stump symbol", NULL, NULL, NULL },
+ { "Ground Transportation", "grnd_trans", 229, "ground transportation", NULL, &wp_grnd_trans_large_pixbuf, NULL },
/*---------------------------------------------------------------
User customizable symbols
The values from begin_custom to end_custom inclusive are
@@ -144,186 +142,223 @@ static struct {
/*---------------------------------------------------------------
Land symbols
---------------------------------------------------------------*/
- { "interstate highway", "is_hwy", 8192, "interstate hwy symbol", NULL, NULL, NULL }, /* TODO: check symbol name */
- { "us hwy", "us_hwy", 8193, "us hwy symbol", NULL, NULL, NULL },
- { "state hwy", "st_hwy", 8194, "state hwy symbol", NULL, NULL, NULL },
- { "mile marker", "mi_mrkr", 8195, "mile marker symbol", NULL, NULL, NULL },
- { "tracBack point", "trcbck", 8196, "TracBack (feet) symbol", NULL, NULL, NULL },
- { "golf course", "golf", 8197, "golf symbol", &wp_golf_pixbuf, &wp_golf_large_pixbuf, NULL },
- { "city (small)", "sml_cty", 8198, "small city symbol", &wp_sml_cty_pixbuf, &wp_sml_cty_large_pixbuf, NULL },
- { "city (medium)", "med_cty", 8199, "medium city symbol", &wp_med_cty_pixbuf, &wp_med_cty_large_pixbuf, NULL },
- { "city (large)", "lrg_cty", 8200, "large city symbol", &wp_lrg_cty_pixbuf, &wp_lrg_cty_large_pixbuf, NULL },
- { "intl freeway hwy", "freeway", 8201, "intl freeway hwy symbol", NULL, NULL, NULL },
- { "intl national hwy", "ntl_hwy", 8202, "intl national hwy symbol", NULL, NULL, NULL },
- { "city (capitol)", "cap_cty", 8203, "capitol city symbol (star)", &wp_cap_cty_pixbuf, NULL, NULL },
- { "amusement park", "amuse_pk", 8204, "amusement park symbol", NULL, &wp_amuse_pk_large_pixbuf, NULL },
- { "bowling", "bowling", 8205, "bowling symbol", NULL, &wp_bowling_large_pixbuf, NULL },
- { "car rental", "car_rental", 8206, "car rental symbol", NULL, &wp_car_rental_large_pixbuf, NULL },
- { "car repair", "car_repair", 8207, "car repair symbol", NULL, &wp_car_repair_large_pixbuf, NULL },
- { "fast food", "fastfood", 8208, "fast food symbol", NULL, &wp_fastfood_large_pixbuf, NULL },
- { "fitness center", "fitness", 8209, "fitness symbol", NULL, &wp_fitness_large_pixbuf, NULL },
- { "movie theater", "movie", 8210, "movie symbol", NULL, &wp_movie_large_pixbuf, NULL },
- { "museum", "museum", 8211, "museum symbol", NULL, &wp_museum_large_pixbuf, NULL },
- { "pharmacy", "pharmacy", 8212, "pharmacy symbol", NULL, &wp_pharmacy_large_pixbuf, NULL },
- { "pizza", "pizza", 8213, "pizza symbol", NULL, &wp_pizza_large_pixbuf, NULL },
- { "post office", "post_ofc", 8214, "post office symbol", NULL, &wp_post_ofc_large_pixbuf, NULL },
- { "rv park", "rv_park", 8215, "RV park symbol", &wp_rv_park_pixbuf, &wp_rv_park_large_pixbuf, NULL },
- { "school", "school", 8216, "school symbol", &wp_school_pixbuf, &wp_school_large_pixbuf, NULL },
- { "stadium", "stadium", 8217, "stadium symbol", NULL, &wp_stadium_large_pixbuf, NULL },
- { "department store", "store", 8218, "dept. store symbol", NULL, &wp_store_large_pixbuf, NULL },
- { "zoo", "zoo", 8219, "zoo symbol", NULL, &wp_zoo_large_pixbuf, NULL },
- { "convenience store", "conv_store", 8220, "convenience store symbol", NULL, &wp_conv_store_large_pixbuf, NULL },
- { "live theater", "theater", 8221, "live theater symbol", NULL, &wp_theater_large_pixbuf, NULL },
- { "ramp intersection", "ramp_int", 8222, "ramp intersection symbol", NULL, NULL, NULL },
- { "street intersection", "st_int", 8223, "street intersection symbol", NULL, NULL, NULL },
- { "scales", "weigh_station", 8226, "inspection/weigh station symbol", NULL, &wp_weigh_station_large_pixbuf, NULL },
- { "toll booth", "toll_booth", 8227, "toll booth symbol", NULL, &wp_toll_booth_large_pixbuf, NULL },
- { "elevation point", "elev_pt", 8228, "elevation point symbol", NULL, NULL, NULL },
- { "exit without services", "ex_no_srvc", 8229, "exit without services symbol", NULL, NULL, NULL },
- { "geographic place name, man-made", "geo_place_mm", 8230, "Geographic place name, man-made", NULL, NULL, NULL },
- { "geographic place name, water","geo_place_wtr", 8231, "Geographic place name, water", NULL, NULL, NULL },
- { "geographic place name, land", "geo_place_lnd", 8232, "Geographic place name, land", NULL, NULL, NULL },
- { "bridge", "bridge", 8233, "bridge symbol", &wp_bridge_pixbuf, &wp_bridge_large_pixbuf, NULL },
- { "building", "building", 8234, "building symbol", &wp_building_pixbuf, &wp_building_large_pixbuf, NULL },
- { "cemetery", "cemetery", 8235, "cemetery symbol", &wp_cemetery_pixbuf, &wp_cemetery_large_pixbuf, NULL },
- { "church", "church", 8236, "church symbol", &wp_church_pixbuf, &wp_church_large_pixbuf, NULL },
- { "civil", "civil", 8237, "civil location symbol", NULL, &wp_civil_large_pixbuf, NULL },
- { "crossing", "crossing", 8238, "crossing symbol", NULL, &wp_crossing_large_pixbuf, NULL },
- { "ghost town", "hist_town", 8239, "historical town symbol", NULL, NULL, NULL },
- { "levee", "levee", 8240, "levee symbol", NULL, NULL, NULL },
- { "military", "military", 8241, "military location symbol", &wp_military_pixbuf, NULL, NULL },
- { "oil field", "oil_field", 8242, "oil field symbol", NULL, &wp_oil_field_large_pixbuf, NULL },
- { "tunnel", "tunnel", 8243, "tunnel symbol", &wp_tunnel_pixbuf, &wp_tunnel_large_pixbuf, NULL },
- { "beach", "beach", 8244, "beach symbol", &wp_beach_pixbuf, &wp_beach_large_pixbuf, NULL },
- { "forest", "forest", 8245, "forest symbol", &wp_forest_pixbuf, &wp_forest_large_pixbuf, NULL },
- { "summit", "summit", 8246, "summit symbol", &wp_summit_pixbuf, &wp_summit_large_pixbuf, NULL },
- { "large ramp intersection", "lrg_ramp_int", 8247, "large ramp intersection symbol", NULL, NULL, NULL },
- { "large exit without services", "lrg_ex_no_srvc", 8248, "large exit without services smbl", NULL, NULL, NULL },
- { "police station", "police", 8249, "police/official badge symbol", NULL, &wp_police_large_pixbuf, NULL },
- { "gambling/casino", "cards", 8250, "gambling/casino symbol", NULL, NULL, NULL },
- { "ski resort", "ski_resort", 8251, "snow skiing symbol", NULL, &wp_ski_resort_large_pixbuf, NULL },
- { "ice skating", "ice_skating", 8252, "ice skating symbol", &wp_ice_skating_pixbuf, &wp_ice_skating_large_pixbuf, NULL },
- { "wrecker", "wrecker", 8253, "tow truck (wrecker) symbol", NULL, &wp_wrecker_large_pixbuf, NULL },
- { "border crossing (port of entry)", "border", 8254, "border crossing (port of entry)", NULL, NULL, NULL },
- { "geocache", "geocache", 8255, "geocache location", &wp_geocache_pixbuf, &wp_geocache_large_pixbuf, NULL },
- { "geocache found", "geocache_fnd", 8256, "found geocache", &wp_geocache_fnd_pixbuf, &wp_geocache_fnd_large_pixbuf, NULL },
- { "contact, smiley", "cntct_smiley", 8257, "Rino contact symbol, ""smiley""", NULL, NULL, NULL },
- { "contact, ball cap", "cntct_ball_cap", 8258, "Rino contact symbol, ""ball cap""", NULL, NULL, NULL },
- { "contact, big ears", "cntct_big_ears", 8259, "Rino contact symbol, ""big ear""", NULL, NULL, NULL },
- { "contact, spike", "cntct_spike", 8260, "Rino contact symbol, ""spike""", NULL, NULL, NULL },
- { "contact, goatee", "cntct_goatee", 8261, "Rino contact symbol, ""goatee""", NULL, NULL, NULL },
- { "contact, afro", "cntct_afro", 8262, "Rino contact symbol, ""afro""", NULL, NULL, NULL },
- { "contact, dreadlocks", "cntct_dreads", 8263, "Rino contact symbol, ""dreads""", NULL, NULL, NULL },
- { "contact, female1", "cntct_female1", 8264, "Rino contact symbol, ""female 1""", NULL, NULL, NULL },
- { "contact, female2", "cntct_female2", 8265, "Rino contact symbol, ""female 2""", NULL, NULL, NULL },
- { "contact, female3", "cntct_female3", 8266, "Rino contact symbol, ""female 3""", NULL, NULL, NULL },
- { "contact, ranger", "cntct_ranger", 8267, "Rino contact symbol, ""ranger""", NULL, NULL, NULL },
- { "contact, kung-Fu", "cntct_kung_fu", 8268, "Rino contact symbol, ""kung fu""", NULL, NULL, NULL },
- { "contact, sumo", "cntct_sumo", 8269, "Rino contact symbol, ""sumo""", NULL, NULL, NULL },
- { "contact, pirate", "cntct_pirate", 8270, "Rino contact symbol, ""pirate""", NULL, NULL, NULL },
- { "contact, biker", "cntct_biker", 8271, "Rino contact symbol, ""biker""", NULL, NULL, NULL },
- { "contact, alien", "cntct_alien", 8272, "Rino contact symbol, ""alien""", NULL, NULL, NULL },
- { "contact, bug", "cntct_bug", 8273, "Rino contact symbol, ""bug""", NULL, NULL, NULL },
- { "contact, cat", "cntct_cat", 8274, "Rino contact symbol, ""cat""", NULL, NULL, NULL },
- { "contact, dog", "cntct_dog", 8275, "Rino contact symbol, ""dog""", NULL, NULL, NULL },
- { "contact, pig", "cntct_pig", 8276, "Rino contact symbol, ""pig""", NULL, NULL, NULL },
- { "water hydrant", "hydrant", 8282, "water hydrant symbol", NULL, NULL, NULL },
- { "flag, blue", "flag_blue", 8284, "blue flag symbol", NULL, &wp_flag_blue_large_pixbuf, NULL },
- { "flag, green", "flag_green", 8285, "green flag symbol", NULL, &wp_flag_green_large_pixbuf, NULL },
- { "flag, red", "flag_red", 8286, "red flag symbol", NULL, &wp_flag_red_large_pixbuf, NULL },
- { "pin, blue", "pin_blue", 8287, "blue pin symbol", NULL, &wp_pin_blue_large_pixbuf, NULL },
- { "pin, green", "pin_green", 8288, "green pin symbol", NULL, &wp_pin_green_large_pixbuf, NULL },
- { "pin, red", "pin_red", 8289, "red pin symbol", NULL, &wp_pin_red_large_pixbuf, NULL },
- { "block, blue", "block_blue", 8290, "blue block symbol", NULL, &wp_block_blue_large_pixbuf, NULL },
- { "block, green", "block_green", 8291, "green block symbol", NULL, &wp_block_green_large_pixbuf, NULL },
- { "block, red", "block_red", 8292, "red block symbol", NULL, &wp_block_red_large_pixbuf, NULL },
- { "bike trail", "bike_trail", 8293, "bike trail symbol", NULL, &wp_bike_trail_large_pixbuf, NULL },
- { "circle, red", "circle_red", 8294, "red circle symbol", NULL, NULL, NULL },
- { "circle, green", "circle_green", 8295, "green circle symbol", NULL, NULL, NULL },
- { "circle, blue", "circle_blue", 8296, "blue circle symbol", NULL, NULL, NULL },
- { "diamond, blue", "diamond_blue", 8299, "blue diamond symbol", NULL, NULL, NULL },
- { "oval, red", "oval_red", 8300, "red oval symbol", NULL, NULL, NULL },
- { "oval, green", "oval_green", 8301, "green oval symbol", NULL, NULL, NULL },
- { "oval, blue", "oval_blue", 8302, "blue oval symbol", NULL, NULL, NULL },
- { "rectangle, red", "rect_red", 8303, "red rectangle symbol", NULL, NULL, NULL },
- { "rectangle, green", "rect_green", 8304, "green rectangle symbol", NULL, NULL, NULL },
- { "rectangle, blue", "rect_blue", 8305, "blue rectangle symbol", NULL, NULL, NULL },
- { "square, blue", "square_blue", 8308, "blue square symbol", NULL, NULL, NULL },
- { "letter a, red", "letter_a_red", 8309, "red letter 'A' symbol", NULL, NULL, NULL },
- { "letter b, red", "letter_b_red", 8310, "red letter 'B' symbol", NULL, NULL, NULL },
- { "letter c, red", "letter_c_red", 8311, "red letter 'C' symbol", NULL, NULL, NULL },
- { "letter d, red", "letter_d_red", 8312, "red letter 'D' symbol", NULL, NULL, NULL },
- { "letter a, green", "letter_a_green", 8313, "green letter 'A' symbol", NULL, NULL, NULL },
- { "letter c, green", "letter_c_green", 8314, "green letter 'C' symbol", NULL, NULL, NULL },
- { "letter b, green", "letter_b_green", 8315, "green letter 'B' symbol", NULL, NULL, NULL },
- { "letter d, green", "letter_d_green", 8316, "green letter 'D' symbol", NULL, NULL, NULL },
- { "letter a, blue", "letter_a_blue", 8317, "blue letter 'A' symbol", NULL, NULL, NULL },
- { "letter b, blue", "letter_b_blue", 8318, "blue letter 'B' symbol", NULL, NULL, NULL },
- { "letter c, blue", "letter_c_blue", 8319, "blue letter 'C' symbol", NULL, NULL, NULL },
- { "letter d, blue", "letter_d_blue", 8320, "blue letter 'D' symbol", NULL, NULL, NULL },
- { "number 0, red", "number_0_red", 8321, "red number '0' symbol", NULL, NULL, NULL },
- { "number 1, red", "number_1_red", 8322, "red number '1' symbol", NULL, NULL, NULL },
- { "number 2, red", "number_2_red", 8323, "red number '2' symbol", NULL, NULL, NULL },
- { "number 3, red", "number_3_red", 8324, "red number '3' symbol", NULL, NULL, NULL },
- { "number 4, red", "number_4_red", 8325, "red number '4' symbol", NULL, NULL, NULL },
- { "number 5, red", "number_5_red", 8326, "red number '5' symbol", NULL, NULL, NULL },
- { "number 6, red", "number_6_red", 8327, "red number '6' symbol", NULL, NULL, NULL },
- { "number 7, red", "number_7_red", 8328, "red number '7' symbol", NULL, NULL, NULL },
- { "number 8, red", "number_8_red", 8329, "red number '8' symbol", NULL, NULL, NULL },
- { "number 9, red", "number_9_red", 8330, "red number '9' symbol", NULL, NULL, NULL },
- { "number 0, green", "number_0_green", 8331, "green number '0' symbol", NULL, NULL, NULL },
- { "number 1, green", "number_1_green", 8332, "green number '1' symbol", NULL, NULL, NULL },
- { "number 2, green", "number_2_green", 8333, "green number '2' symbol", NULL, NULL, NULL },
- { "number 3, green", "number_3_green", 8334, "green number '3' symbol", NULL, NULL, NULL },
- { "number 4, green", "number_4_green", 8335, "green number '4' symbol", NULL, NULL, NULL },
- { "number 5, green", "number_5_green", 8336, "green number '5' symbol", NULL, NULL, NULL },
- { "number 6, green", "number_6_green", 8337, "green number '6' symbol", NULL, NULL, NULL },
- { "number 7, green", "number_7_green", 8338, "green number '7' symbol", NULL, NULL, NULL },
- { "number 8, green", "number_8_green", 8339, "green number '8' symbol", NULL, NULL, NULL },
- { "number 9, green", "number_9_green", 8340, "green number '9' symbol", NULL, NULL, NULL },
- { "number 0, blue", "number_0_blue", 8341, "blue number '0' symbol", NULL, NULL, NULL },
- { "number 1, blue", "number_1_blue", 8342, "blue number '1' symbol", NULL, NULL, NULL },
- { "number 2, blue", "number_2_blue", 8343, "blue number '2' symbol", NULL, NULL, NULL },
- { "number 3, blue", "number_3_blue", 8344, "blue number '3' symbol", NULL, NULL, NULL },
- { "number 4, blue", "number_4_blue", 8345, "blue number '4' symbol", NULL, NULL, NULL },
- { "number 5, blue", "number_5_blue", 8346, "blue number '5' symbol", NULL, NULL, NULL },
- { "number 6, blue", "number_6_blue", 8347, "blue number '6' symbol", NULL, NULL, NULL },
- { "number 7, blue", "number_7_blue", 8348, "blue number '7' symbol", NULL, NULL, NULL },
- { "number 8, blue", "number_8_blue", 8349, "blue number '8' symbol", NULL, NULL, NULL },
- { "number 9, blue", "number_9_blue", 8350, "blue number '9' symbol", NULL, NULL, NULL },
- { "triangle, blue", "triangle_blue", 8351, "blue triangle symbol", NULL, NULL, NULL },
- { "triangle, green", "triangle_green", 8352, "green triangle symbol", NULL, NULL, NULL },
- { "triangle, red", "triangle_red", 8353, "red triangle symbol", NULL, NULL, NULL },
+ { "Interstate Highway", "is_hwy", 8192, "interstate hwy symbol", NULL, NULL, NULL }, /* TODO: check symbol name */
+ { "US hwy", "us_hwy", 8193, "us hwy symbol", NULL, NULL, NULL },
+ { "State Hwy", "st_hwy", 8194, "state hwy symbol", NULL, NULL, NULL },
+ { "Mile Marker", "mi_mrkr", 8195, "mile marker symbol", NULL, NULL, NULL },
+ { "TracBack Point", "trcbck", 8196, "TracBack (feet) symbol", NULL, NULL, NULL },
+ { "Golf Course", "golf", 8197, "golf symbol", &wp_golf_pixbuf, &wp_golf_large_pixbuf, NULL },
+ { "City (Small)", "sml_cty", 8198, "small city symbol", &wp_sml_cty_pixbuf, &wp_sml_cty_large_pixbuf, NULL },
+ { "City (Medium)", "med_cty", 8199, "medium city symbol", &wp_med_cty_pixbuf, &wp_med_cty_large_pixbuf, NULL },
+ { "City (Large)", "lrg_cty", 8200, "large city symbol", &wp_lrg_cty_pixbuf, &wp_lrg_cty_large_pixbuf, NULL },
+ { "Intl freeway hwy", "freeway", 8201, "intl freeway hwy symbol", NULL, NULL, NULL },
+ { "Intl national hwy", "ntl_hwy", 8202, "intl national hwy symbol", NULL, NULL, NULL },
+ { "City (Capitol)", "cap_cty", 8203, "capitol city symbol (star)", &wp_cap_cty_pixbuf, NULL, NULL },
+ { "Amusement Park", "amuse_pk", 8204, "amusement park symbol", NULL, &wp_amuse_pk_large_pixbuf, NULL },
+ { "Bowling", "bowling", 8205, "bowling symbol", NULL, &wp_bowling_large_pixbuf, NULL },
+ { "Car Rental", "car_rental", 8206, "car rental symbol", NULL, &wp_car_rental_large_pixbuf, NULL },
+ { "Car Repair", "car_repair", 8207, "car repair symbol", NULL, &wp_car_repair_large_pixbuf, NULL },
+ { "Fast Food", "fastfood", 8208, "fast food symbol", NULL, &wp_fastfood_large_pixbuf, NULL },
+ { "Fitness Center", "fitness", 8209, "fitness symbol", NULL, &wp_fitness_large_pixbuf, NULL },
+ { "Movie Theater", "movie", 8210, "movie symbol", NULL, &wp_movie_large_pixbuf, NULL },
+ { "Museum", "museum", 8211, "museum symbol", NULL, &wp_museum_large_pixbuf, NULL },
+ { "Pharmacy", "pharmacy", 8212, "pharmacy symbol", NULL, &wp_pharmacy_large_pixbuf, NULL },
+ { "Pizza", "pizza", 8213, "pizza symbol", NULL, &wp_pizza_large_pixbuf, NULL },
+ { "Post Office", "post_ofc", 8214, "post office symbol", NULL, &wp_post_ofc_large_pixbuf, NULL },
+ { "RV Park", "rv_park", 8215, "RV park symbol", &wp_rv_park_pixbuf, &wp_rv_park_large_pixbuf, NULL },
+ { "School", "school", 8216, "school symbol", &wp_school_pixbuf, &wp_school_large_pixbuf, NULL },
+ { "Stadium", "stadium", 8217, "stadium symbol", NULL, &wp_stadium_large_pixbuf, NULL },
+ { "Department Store", "store", 8218, "dept. store symbol", NULL, &wp_store_large_pixbuf, NULL },
+ { "Zoo", "zoo", 8219, "zoo symbol", NULL, &wp_zoo_large_pixbuf, NULL },
+ { "Convenience Store", "conv_store", 8220, "convenience store symbol", NULL, &wp_conv_store_large_pixbuf, NULL },
+ { "Live Theater", "theater", 8221, "live theater symbol", NULL, &wp_theater_large_pixbuf, NULL },
+ { "Ramp intersection", "ramp_int", 8222, "ramp intersection symbol", NULL, NULL, NULL },
+ { "Street Intersection", "st_int", 8223, "street intersection symbol", NULL, NULL, NULL },
+ { "Scales", "weigh_station", 8226, "inspection/weigh station symbol", NULL, &wp_weigh_station_large_pixbuf, NULL },
+ { "Toll Booth", "toll_booth", 8227, "toll booth symbol", NULL, &wp_toll_booth_large_pixbuf, NULL },
+ { "Elevation point", "elev_pt", 8228, "elevation point symbol", NULL, NULL, NULL },
+ { "Exit without services", "ex_no_srvc", 8229, "exit without services symbol", NULL, NULL, NULL },
+ { "Geographic place name, Man-made", "geo_place_mm", 8230, "Geographic place name, man-made", NULL, NULL, NULL },
+ { "Geographic place name, water","geo_place_wtr", 8231, "Geographic place name, water", NULL, NULL, NULL },
+ { "Geographic place name, Land", "geo_place_lnd", 8232, "Geographic place name, land", NULL, NULL, NULL },
+ { "Bridge", "bridge", 8233, "bridge symbol", &wp_bridge_pixbuf, &wp_bridge_large_pixbuf, NULL },
+ { "Building", "building", 8234, "building symbol", &wp_building_pixbuf, &wp_building_large_pixbuf, NULL },
+ { "Cemetery", "cemetery", 8235, "cemetery symbol", &wp_cemetery_pixbuf, &wp_cemetery_large_pixbuf, NULL },
+ { "Church", "church", 8236, "church symbol", &wp_church_pixbuf, &wp_church_large_pixbuf, NULL },
+ { "Civil", "civil", 8237, "civil location symbol", NULL, &wp_civil_large_pixbuf, NULL },
+ { "Crossing", "crossing", 8238, "crossing symbol", NULL, &wp_crossing_large_pixbuf, NULL },
+ { "Ghost Town", "hist_town", 8239, "historical town symbol", NULL, NULL, NULL },
+ { "Levee", "levee", 8240, "levee symbol", NULL, NULL, NULL },
+ { "Military", "military", 8241, "military location symbol", &wp_military_pixbuf, NULL, NULL },
+ { "Oil Field", "oil_field", 8242, "oil field symbol", NULL, &wp_oil_field_large_pixbuf, NULL },
+ { "Tunnel", "tunnel", 8243, "tunnel symbol", &wp_tunnel_pixbuf, &wp_tunnel_large_pixbuf, NULL },
+ { "Beach", "beach", 8244, "beach symbol", &wp_beach_pixbuf, &wp_beach_large_pixbuf, NULL },
+ { "Forest", "forest", 8245, "forest symbol", &wp_forest_pixbuf, &wp_forest_large_pixbuf, NULL },
+ { "Summit", "summit", 8246, "summit symbol", &wp_summit_pixbuf, &wp_summit_large_pixbuf, NULL },
+ { "Large Ramp intersection", "lrg_ramp_int", 8247, "large ramp intersection symbol", NULL, NULL, NULL },
+ { "Large exit without services", "lrg_ex_no_srvc", 8248, "large exit without services smbl", NULL, NULL, NULL },
+ { "Police Station", "police", 8249, "police/official badge symbol", NULL, &wp_police_large_pixbuf, NULL },
+ { "Gambling/casino", "cards", 8250, "gambling/casino symbol", NULL, NULL, NULL },
+ { "Ski Resort", "ski_resort", 8251, "snow skiing symbol", NULL, &wp_ski_resort_large_pixbuf, NULL },
+ { "Ice Skating", "ice_skating", 8252, "ice skating symbol", &wp_ice_skating_pixbuf, &wp_ice_skating_large_pixbuf, NULL },
+ { "Wrecker", "wrecker", 8253, "tow truck (wrecker) symbol", NULL, &wp_wrecker_large_pixbuf, NULL },
+ { "Border Crossing (Port Of Entry)", "border", 8254, "border crossing (port of entry)", NULL, NULL, NULL },
+ { "Geocache", "geocache", 8255, "geocache location", &wp_geocache_pixbuf, &wp_geocache_large_pixbuf, NULL },
+ { "Geocache Found", "geocache_fnd", 8256, "found geocache", &wp_geocache_fnd_pixbuf, &wp_geocache_fnd_large_pixbuf, NULL },
+ { "Contact, Smiley", "cntct_smiley", 8257, "Rino contact symbol, ""smiley""", NULL, NULL, NULL },
+ { "Contact, Ball Cap", "cntct_ball_cap", 8258, "Rino contact symbol, ""ball cap""", NULL, NULL, NULL },
+ { "Contact, Big Ears", "cntct_big_ears", 8259, "Rino contact symbol, ""big ear""", NULL, NULL, NULL },
+ { "Contact, Spike", "cntct_spike", 8260, "Rino contact symbol, ""spike""", NULL, NULL, NULL },
+ { "Contact, Goatee", "cntct_goatee", 8261, "Rino contact symbol, ""goatee""", NULL, NULL, NULL },
+ { "Contact, Afro", "cntct_afro", 8262, "Rino contact symbol, ""afro""", NULL, NULL, NULL },
+ { "Contact, Dreadlocks", "cntct_dreads", 8263, "Rino contact symbol, ""dreads""", NULL, NULL, NULL },
+ { "Contact, Female1", "cntct_female1", 8264, "Rino contact symbol, ""female 1""", NULL, NULL, NULL },
+ { "Contact, Female2", "cntct_female2", 8265, "Rino contact symbol, ""female 2""", NULL, NULL, NULL },
+ { "Contact, Female3", "cntct_female3", 8266, "Rino contact symbol, ""female 3""", NULL, NULL, NULL },
+ { "Contact, Ranger", "cntct_ranger", 8267, "Rino contact symbol, ""ranger""", NULL, NULL, NULL },
+ { "Contact, Kung-Fu", "cntct_kung_fu", 8268, "Rino contact symbol, ""kung fu""", NULL, NULL, NULL },
+ { "Contact, Sumo", "cntct_sumo", 8269, "Rino contact symbol, ""sumo""", NULL, NULL, NULL },
+ { "Contact, Pirate", "cntct_pirate", 8270, "Rino contact symbol, ""pirate""", NULL, NULL, NULL },
+ { "Contact, Biker", "cntct_biker", 8271, "Rino contact symbol, ""biker""", NULL, NULL, NULL },
+ { "Contact, Alien", "cntct_alien", 8272, "Rino contact symbol, ""alien""", NULL, NULL, NULL },
+ { "Contact, Bug", "cntct_bug", 8273, "Rino contact symbol, ""bug""", NULL, NULL, NULL },
+ { "Contact, Cat", "cntct_cat", 8274, "Rino contact symbol, ""cat""", NULL, NULL, NULL },
+ { "Contact, Dog", "cntct_dog", 8275, "Rino contact symbol, ""dog""", NULL, NULL, NULL },
+ { "Contact, Pig", "cntct_pig", 8276, "Rino contact symbol, ""pig""", NULL, NULL, NULL },
+ { "Water Hydrant", "hydrant", 8282, "water hydrant symbol", NULL, NULL, NULL },
+ { "Flag, Blue", "flag_blue", 8284, "blue flag symbol", NULL, &wp_flag_blue_large_pixbuf, NULL },
+ { "Flag, Green", "flag_green", 8285, "green flag symbol", NULL, &wp_flag_green_large_pixbuf, NULL },
+ { "Flag, Red", "flag_red", 8286, "red flag symbol", NULL, &wp_flag_red_large_pixbuf, NULL },
+ { "Pin, Blue", "pin_blue", 8287, "blue pin symbol", NULL, &wp_pin_blue_large_pixbuf, NULL },
+ { "Pin, Green", "pin_green", 8288, "green pin symbol", NULL, &wp_pin_green_large_pixbuf, NULL },
+ { "Pin, Red", "pin_red", 8289, "red pin symbol", NULL, &wp_pin_red_large_pixbuf, NULL },
+ { "Block, Blue", "block_blue", 8290, "blue block symbol", NULL, &wp_block_blue_large_pixbuf, NULL },
+ { "Block, Green", "block_green", 8291, "green block symbol", NULL, &wp_block_green_large_pixbuf, NULL },
+ { "Block, Red", "block_red", 8292, "red block symbol", NULL, &wp_block_red_large_pixbuf, NULL },
+ { "Bike Trail", "bike_trail", 8293, "bike trail symbol", NULL, &wp_bike_trail_large_pixbuf, NULL },
+ { "Circle, Red", "circle_red", 8294, "red circle symbol", NULL, NULL, NULL },
+ { "Circle, Green", "circle_green", 8295, "green circle symbol", NULL, NULL, NULL },
+ { "Circle, Blue", "circle_blue", 8296, "blue circle symbol", NULL, NULL, NULL },
+ { "Diamond, Blue", "diamond_blue", 8299, "blue diamond symbol", NULL, NULL, NULL },
+ { "Oval, Red", "oval_red", 8300, "red oval symbol", NULL, NULL, NULL },
+ { "Oval, Green", "oval_green", 8301, "green oval symbol", NULL, NULL, NULL },
+ { "Oval, Blue", "oval_blue", 8302, "blue oval symbol", NULL, NULL, NULL },
+ { "Rectangle, Red", "rect_red", 8303, "red rectangle symbol", NULL, NULL, NULL },
+ { "Rectangle, Green", "rect_green", 8304, "green rectangle symbol", NULL, NULL, NULL },
+ { "Rectangle, Blue", "rect_blue", 8305, "blue rectangle symbol", NULL, NULL, NULL },
+ { "Square, Blue", "square_blue", 8308, "blue square symbol", NULL, NULL, NULL },
+ { "Letter A, Red", "letter_a_red", 8309, "red letter 'A' symbol", NULL, NULL, NULL },
+ { "Letter B, Red", "letter_b_red", 8310, "red letter 'B' symbol", NULL, NULL, NULL },
+ { "Letter C, Red", "letter_c_red", 8311, "red letter 'C' symbol", NULL, NULL, NULL },
+ { "Letter D, Red", "letter_d_red", 8312, "red letter 'D' symbol", NULL, NULL, NULL },
+ { "Letter A, Green", "letter_a_green", 8313, "green letter 'A' symbol", NULL, NULL, NULL },
+ { "Letter C, Green", "letter_c_green", 8314, "green letter 'C' symbol", NULL, NULL, NULL },
+ { "Letter B, Green", "letter_b_green", 8315, "green letter 'B' symbol", NULL, NULL, NULL },
+ { "Letter D, Green", "letter_d_green", 8316, "green letter 'D' symbol", NULL, NULL, NULL },
+ { "Letter A, Blue", "letter_a_blue", 8317, "blue letter 'A' symbol", NULL, NULL, NULL },
+ { "Letter B, Blue", "letter_b_blue", 8318, "blue letter 'B' symbol", NULL, NULL, NULL },
+ { "Letter C, Blue", "letter_c_blue", 8319, "blue letter 'C' symbol", NULL, NULL, NULL },
+ { "Letter D, Blue", "letter_d_blue", 8320, "blue letter 'D' symbol", NULL, NULL, NULL },
+ { "Number 0, Red", "number_0_red", 8321, "red number '0' symbol", NULL, NULL, NULL },
+ { "Number 1, Red", "number_1_red", 8322, "red number '1' symbol", NULL, NULL, NULL },
+ { "Number 2, Red", "number_2_red", 8323, "red number '2' symbol", NULL, NULL, NULL },
+ { "Number 3, Red", "number_3_red", 8324, "red number '3' symbol", NULL, NULL, NULL },
+ { "Number 4, Red", "number_4_red", 8325, "red number '4' symbol", NULL, NULL, NULL },
+ { "Number 5, Red", "number_5_red", 8326, "red number '5' symbol", NULL, NULL, NULL },
+ { "Number 6, Red", "number_6_red", 8327, "red number '6' symbol", NULL, NULL, NULL },
+ { "Number 7, Red", "number_7_red", 8328, "red number '7' symbol", NULL, NULL, NULL },
+ { "Number 8, Red", "number_8_red", 8329, "red number '8' symbol", NULL, NULL, NULL },
+ { "Number 9, Red", "number_9_red", 8330, "red number '9' symbol", NULL, NULL, NULL },
+ { "Number 0, Green", "number_0_green", 8331, "green number '0' symbol", NULL, NULL, NULL },
+ { "Number 1, Green", "number_1_green", 8332, "green number '1' symbol", NULL, NULL, NULL },
+ { "Number 2, Green", "number_2_green", 8333, "green number '2' symbol", NULL, NULL, NULL },
+ { "Number 3, Green", "number_3_green", 8334, "green number '3' symbol", NULL, NULL, NULL },
+ { "Number 4, Green", "number_4_green", 8335, "green number '4' symbol", NULL, NULL, NULL },
+ { "Number 5, Green", "number_5_green", 8336, "green number '5' symbol", NULL, NULL, NULL },
+ { "Number 6, Green", "number_6_green", 8337, "green number '6' symbol", NULL, NULL, NULL },
+ { "Number 7, Green", "number_7_green", 8338, "green number '7' symbol", NULL, NULL, NULL },
+ { "Number 8, Green", "number_8_green", 8339, "green number '8' symbol", NULL, NULL, NULL },
+ { "Number 9, Green", "number_9_green", 8340, "green number '9' symbol", NULL, NULL, NULL },
+ { "Number 0, Blue", "number_0_blue", 8341, "blue number '0' symbol", NULL, NULL, NULL },
+ { "Number 1, Blue", "number_1_blue", 8342, "blue number '1' symbol", NULL, NULL, NULL },
+ { "Number 2, Blue", "number_2_blue", 8343, "blue number '2' symbol", NULL, NULL, NULL },
+ { "Number 3, Blue", "number_3_blue", 8344, "blue number '3' symbol", NULL, NULL, NULL },
+ { "Number 4, Blue", "number_4_blue", 8345, "blue number '4' symbol", NULL, NULL, NULL },
+ { "Number 5, Blue", "number_5_blue", 8346, "blue number '5' symbol", NULL, NULL, NULL },
+ { "Number 6, Blue", "number_6_blue", 8347, "blue number '6' symbol", NULL, NULL, NULL },
+ { "Number 7, Blue", "number_7_blue", 8348, "blue number '7' symbol", NULL, NULL, NULL },
+ { "Number 8, Blue", "number_8_blue", 8349, "blue number '8' symbol", NULL, NULL, NULL },
+ { "Number 9, Blue", "number_9_blue", 8350, "blue number '9' symbol", NULL, NULL, NULL },
+ { "Triangle, Blue", "triangle_blue", 8351, "blue triangle symbol", NULL, NULL, NULL },
+ { "Triangle, Green", "triangle_green", 8352, "green triangle symbol", NULL, NULL, NULL },
+ { "Triangle, Red", "triangle_red", 8353, "red triangle symbol", NULL, NULL, NULL },
/*---------------------------------------------------------------
Aviation symbols
---------------------------------------------------------------*/
- { "airport", "airport", 16384, "airport symbol", &wp_airplane_pixbuf, &wp_airplane_large_pixbuf, NULL },
- { "intersection", "int", 16385, "intersection symbol", NULL, NULL, NULL },
- { "non-directional beacon", "ndb", 16386, "non-directional beacon symbol", NULL, NULL, NULL },
- { "vhf omni-range", "vor", 16387, "VHF omni-range symbol", NULL, NULL, NULL },
- { "heliport", "heliport", 16388, "heliport symbol", NULL, NULL, NULL },
- { "private field", "private", 16389, "private field symbol", NULL, NULL, NULL },
- { "soft field", "soft_fld", 16390, "soft field symbol", NULL, NULL, NULL },
- { "tall tower", "tall_tower", 16391, "tall tower symbol", NULL, &wp_tall_tower_large_pixbuf, NULL },
- { "short tower", "short_tower", 16392, "short tower symbol", NULL, &wp_short_tower_large_pixbuf, NULL },
- { "glider area", "glider", 16393, "glider symbol", NULL, &wp_glider_large_pixbuf, NULL },
- { "ultralight area", "ultralight", 16394, "ultralight symbol", NULL, &wp_ultralight_large_pixbuf, NULL },
- { "parachute area", "parachute", 16395, "parachute symbol", NULL, &wp_parachute_large_pixbuf, NULL },
- { "vor/tacan", "vortac", 16396, "VOR/TACAN symbol", NULL, NULL, NULL },
- { "vor-dme", "vordme", 16397, "VOR-DME symbol", NULL, NULL, NULL },
- { "first approach fix", "faf", 16398, "first approach fix", NULL, NULL, NULL },
- { "localizer outer marker", "lom", 16399, "localizer outer marker", NULL, NULL, NULL },
- { "missed approach point", "map", 16400, "missed approach point", NULL, NULL, NULL },
- { "tacan", "tacan", 16401, "TACAN symbol", NULL, NULL, NULL },
- { "seaplane base", "seaplane", 16402, "Seaplane Base", NULL, NULL, NULL }
+ { "Airport", "airport", 16384, "airport symbol", &wp_airplane_pixbuf, &wp_airplane_large_pixbuf, NULL },
+ { "Intersection", "int", 16385, "intersection symbol", NULL, NULL, NULL },
+ { "Non-directional beacon", "ndb", 16386, "non-directional beacon symbol", NULL, NULL, NULL },
+ { "VHF Omni-range", "vor", 16387, "VHF omni-range symbol", NULL, NULL, NULL },
+ { "Heliport", "heliport", 16388, "heliport symbol", NULL, &wp_helipad_large_pixbuf, NULL },
+ { "Private Field", "private", 16389, "private field symbol", NULL, NULL, NULL },
+ { "Soft Field", "soft_fld", 16390, "soft field symbol", NULL, NULL, NULL },
+ { "Tall Tower", "tall_tower", 16391, "tall tower symbol", NULL, &wp_tall_tower_large_pixbuf, NULL },
+ { "Short Tower", "short_tower", 16392, "short tower symbol", NULL, &wp_short_tower_large_pixbuf, NULL },
+ { "Glider Area", "glider", 16393, "glider symbol", NULL, &wp_glider_large_pixbuf, NULL },
+ { "Ultralight Area", "ultralight", 16394, "ultralight symbol", NULL, &wp_ultralight_large_pixbuf, NULL },
+ { "Parachute Area", "parachute", 16395, "parachute symbol", NULL, &wp_parachute_large_pixbuf, NULL },
+ { "VOR/TACAN", "vortac", 16396, "VOR/TACAN symbol", NULL, NULL, NULL },
+ { "VOR-DME", "vordme", 16397, "VOR-DME symbol", NULL, NULL, NULL },
+ { "First approach fix", "faf", 16398, "first approach fix", NULL, NULL, NULL },
+ { "Localizer Outer Marker", "lom", 16399, "localizer outer marker", NULL, NULL, NULL },
+ { "Missed Approach Point", "map", 16400, "missed approach point", NULL, NULL, NULL },
+ { "TACAN", "tacan", 16401, "TACAN symbol", NULL, NULL, NULL },
+ { "Seaplane Base", "seaplane", 16402, "Seaplane Base", NULL, NULL, NULL }
};
static GHashTable *icons = NULL;
static GHashTable *old_icons = NULL;
+static gboolean str_equal_casefold ( gconstpointer v1, gconstpointer v2 ) {
+ gboolean equal;
+ gchar *v1_lower;
+ gchar *v2_lower;
+
+ v1_lower = g_utf8_casefold ( v1, -1 );
+ if (!v1_lower)
+ return FALSE;
+ v2_lower = g_utf8_casefold ( v2, -1 );
+ if (!v2_lower) {
+ g_free ( v1_lower );
+ return FALSE;
+ }
+
+ equal = g_str_equal( v1_lower, v2_lower );
+
+ g_free ( v1_lower );
+ g_free ( v2_lower );
+
+ return equal;
+}
+
+static guint str_hash_casefold ( gconstpointer key ) {
+ guint h;
+ gchar *key_lower;
+
+ key_lower = g_utf8_casefold ( key, -1 );
+ if (!key_lower)
+ return 0;
+
+ h = g_str_hash ( key_lower );
+
+ g_free ( key_lower );
+
+ return h;
+}
+
static void init_icons() {
- icons = g_hash_table_new_full ( g_str_hash, g_str_equal, NULL, NULL);
- old_icons = g_hash_table_new_full ( g_str_hash, g_str_equal, NULL, NULL);
+ icons = g_hash_table_new_full ( str_hash_casefold, str_equal_casefold, NULL, NULL);
+ old_icons = g_hash_table_new_full ( str_hash_casefold, str_equal_casefold, NULL, NULL);
gint i;
for (i=0; i<G_N_ELEMENTS(garmin_syms); i++) {
g_hash_table_insert(icons, garmin_syms[i].sym, GINT_TO_POINTER (i));
@@ -372,6 +407,24 @@ GdkPixbuf *a_get_wp_sym ( const gchar *sym ) {
return NULL;
}
+const gchar *a_get_hashed_sym ( const gchar *sym ) {
+ gpointer gp;
+ gpointer x;
+
+ if (!sym) {
+ return NULL;
+ }
+ if (!icons) {
+ init_icons();
+ }
+ if (g_hash_table_lookup_extended(icons, sym, &x, &gp))
+ return garmin_syms[GPOINTER_TO_INT(gp)].sym;
+ else if (g_hash_table_lookup_extended(old_icons, sym, &x, &gp))
+ return garmin_syms[GPOINTER_TO_INT(gp)].sym;
+ else
+ return NULL;
+}
+
void a_populate_sym_list ( GtkListStore *list ) {
gint i;
for (i=0; i<G_N_ELEMENTS(garmin_syms); i++) {
diff --git a/src/garminsymbols.h b/src/garminsymbols.h
index 71f4184..14452e7 100644
--- a/src/garminsymbols.h
+++ b/src/garminsymbols.h
@@ -29,6 +29,7 @@
G_BEGIN_DECLS
GdkPixbuf *a_get_wp_sym ( const gchar *sym );
+const gchar *a_get_hashed_sym ( const gchar *sym );
void a_populate_sym_list ( GtkListStore *list );
/* Use when preferences have changed to reload icons*/
void clear_garmin_icon_syms ();
diff --git a/src/geonamessearch.c b/src/geonamessearch.c
index 3af6426..0fd9380 100644
--- a/src/geonamessearch.c
+++ b/src/geonamessearch.c
@@ -121,7 +121,7 @@ static void none_found(VikWindow *vw)
gtk_window_set_title(GTK_WINDOW(dialog), _("Search"));
GtkWidget *search_label = gtk_label_new(_("No entries found!"));
- gtk_box_pack_start ( GTK_BOX(GTK_DIALOG(dialog)->vbox), search_label, FALSE, FALSE, 5 );
+ gtk_box_pack_start ( GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), search_label, FALSE, FALSE, 5 );
gtk_dialog_set_default_response ( GTK_DIALOG(dialog), GTK_RESPONSE_ACCEPT );
gtk_widget_show_all(dialog);
@@ -197,8 +197,8 @@ static GList *a_select_geoname_from_list(GtkWindow *parent, GList *geonames, gbo
gtk_scrolled_window_set_policy ( GTK_SCROLLED_WINDOW(scrolledwindow), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC );
gtk_container_add ( GTK_CONTAINER(scrolledwindow), view );
- gtk_box_pack_start (GTK_BOX(GTK_DIALOG(dialog)->vbox), label, FALSE, FALSE, 0);
- gtk_box_pack_start (GTK_BOX(GTK_DIALOG(dialog)->vbox), scrolledwindow, TRUE, TRUE, 0);
+ gtk_box_pack_start (GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), label, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), scrolledwindow, TRUE, TRUE, 0);
// Ensure a reasonable number of items are shown, but let the width be automatically sized
gtk_widget_set_size_request ( dialog, -1, 400) ;
@@ -230,6 +230,7 @@ static GList *a_select_geoname_from_list(GtkWindow *parent, GList *geonames, gbo
}
geoname_runner = g_list_next(geoname_runner);
}
+ g_free ( name );
}
}
while ( gtk_tree_model_iter_next ( GTK_TREE_MODEL(store), &iter ) );
diff --git a/src/geotag_exif.c b/src/geotag_exif.c
index 85a1766..73d8ee7 100644
--- a/src/geotag_exif.c
+++ b/src/geotag_exif.c
@@ -37,6 +37,7 @@
#include <ctype.h>
#include <math.h>
#include <glib/gi18n.h>
+#include <glib/gstdio.h>
#include <libexif/exif-data.h>
#include "libjpeg/jpeg-data.h"
diff --git a/src/globals.c b/src/globals.c
index a798a5d..a5077de 100644
--- a/src/globals.c
+++ b/src/globals.c
@@ -3,7 +3,7 @@
*
* Copyright (C) 2003-2005, Evan Battaglia <gtoevan@gmx.net>
* Copyright (C) 2008, Guilhem Bonnefille <guilhem.bonnefille@gmail.com>
- * Copyright (C) 2010, Rob Norris <rw_norris@hotmail.com>
+ * Copyright (C) 2010-2013, Rob Norris <rw_norris@hotmail.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -32,6 +32,7 @@
#include "globals.h"
#include "preferences.h"
#include "math.h"
+#include "dir.h"
gboolean vik_debug = FALSE;
gboolean vik_verbose = FALSE;
@@ -69,57 +70,91 @@ static gchar * params_units_speed[] = {"km/h", "mph", "m/s", "knots", NULL};
static gchar * params_units_height[] = {"Metres", "Feet", NULL};
static VikLayerParamScale params_scales_lat[] = { {-90.0, 90.0, 0.05, 2} };
static VikLayerParamScale params_scales_long[] = { {-180.0, 180.0, 0.05, 2} };
-
-static VikLayerParam prefs1[] = {
- { VIKING_PREFERENCES_NAMESPACE "degree_format", VIK_LAYER_PARAM_UINT, VIK_LAYER_GROUP_NONE, N_("Degree format:"), VIK_LAYER_WIDGET_COMBOBOX, params_degree_formats, NULL, NULL },
-};
-
-static VikLayerParam prefs2[] = {
- { VIKING_PREFERENCES_NAMESPACE "units_distance", VIK_LAYER_PARAM_UINT, VIK_LAYER_GROUP_NONE, N_("Distance units:"), VIK_LAYER_WIDGET_COMBOBOX, params_units_distance, NULL, NULL },
-};
-
-static VikLayerParam prefs3[] = {
- { VIKING_PREFERENCES_NAMESPACE "units_speed", VIK_LAYER_PARAM_UINT, VIK_LAYER_GROUP_NONE, N_("Speed units:"), VIK_LAYER_WIDGET_COMBOBOX, params_units_speed, NULL, NULL },
-};
-
-static VikLayerParam prefs4[] = {
- { VIKING_PREFERENCES_NAMESPACE "units_height", VIK_LAYER_PARAM_UINT, VIK_LAYER_GROUP_NONE, N_("Height units:"), VIK_LAYER_WIDGET_COMBOBOX, params_units_height, NULL, NULL },
-};
-
-static VikLayerParam prefs5[] = {
- { VIKING_PREFERENCES_NAMESPACE "use_large_waypoint_icons", VIK_LAYER_PARAM_BOOLEAN, VIK_LAYER_GROUP_NONE, N_("Use large waypoint icons:"), VIK_LAYER_WIDGET_CHECKBUTTON, NULL, NULL, NULL },
-};
-
-static VikLayerParam prefs6[] = {
- { VIKING_PREFERENCES_NAMESPACE "default_latitude", VIK_LAYER_PARAM_DOUBLE, VIK_LAYER_GROUP_NONE, N_("Default latitude:"), VIK_LAYER_WIDGET_SPINBUTTON, params_scales_lat, NULL, NULL },
-};
-static VikLayerParam prefs7[] = {
- { VIKING_PREFERENCES_NAMESPACE "default_longitude", VIK_LAYER_PARAM_DOUBLE, VIK_LAYER_GROUP_NONE, N_("Default longitude:"), VIK_LAYER_WIDGET_SPINBUTTON, params_scales_long, NULL, NULL },
+static gchar * params_vik_fileref[] = {N_("Absolute"), N_("Relative"), NULL};
+
+static VikLayerParam general_prefs[] = {
+ { VIK_LAYER_NUM_TYPES, VIKING_PREFERENCES_NAMESPACE "degree_format", VIK_LAYER_PARAM_UINT, VIK_LAYER_GROUP_NONE, N_("Degree format:"), VIK_LAYER_WIDGET_COMBOBOX, params_degree_formats, NULL, NULL, NULL, NULL },
+ { VIK_LAYER_NUM_TYPES, VIKING_PREFERENCES_NAMESPACE "units_distance", VIK_LAYER_PARAM_UINT, VIK_LAYER_GROUP_NONE, N_("Distance units:"), VIK_LAYER_WIDGET_COMBOBOX, params_units_distance, NULL, NULL, NULL, NULL },
+ { VIK_LAYER_NUM_TYPES, VIKING_PREFERENCES_NAMESPACE "units_speed", VIK_LAYER_PARAM_UINT, VIK_LAYER_GROUP_NONE, N_("Speed units:"), VIK_LAYER_WIDGET_COMBOBOX, params_units_speed, NULL, NULL, NULL, NULL },
+ { VIK_LAYER_NUM_TYPES, VIKING_PREFERENCES_NAMESPACE "units_height", VIK_LAYER_PARAM_UINT, VIK_LAYER_GROUP_NONE, N_("Height units:"), VIK_LAYER_WIDGET_COMBOBOX, params_units_height, NULL, NULL, NULL, NULL },
+ { VIK_LAYER_NUM_TYPES, VIKING_PREFERENCES_NAMESPACE "use_large_waypoint_icons", VIK_LAYER_PARAM_BOOLEAN, VIK_LAYER_GROUP_NONE, N_("Use large waypoint icons:"), VIK_LAYER_WIDGET_CHECKBUTTON, NULL, NULL, NULL, NULL, NULL },
+ { VIK_LAYER_NUM_TYPES, VIKING_PREFERENCES_NAMESPACE "default_latitude", VIK_LAYER_PARAM_DOUBLE, VIK_LAYER_GROUP_NONE, N_("Default latitude:"), VIK_LAYER_WIDGET_SPINBUTTON, params_scales_lat, NULL, NULL, NULL, NULL },
+ { VIK_LAYER_NUM_TYPES, VIKING_PREFERENCES_NAMESPACE "default_longitude", VIK_LAYER_PARAM_DOUBLE, VIK_LAYER_GROUP_NONE, N_("Default longitude:"), VIK_LAYER_WIDGET_SPINBUTTON, params_scales_long, NULL, NULL, NULL, NULL },
};
/* External/Export Options */
static gchar * params_kml_export_units[] = {"Metric", "Statute", "Nautical", NULL};
-static gchar * params_gpx_export_trk_sort[] = {N_("Alphabetical"), N_("Time"), NULL};
+static gchar * params_gpx_export_trk_sort[] = {N_("Alphabetical"), N_("Time"), N_("Creation"), NULL };
+static gchar * params_gpx_export_wpt_symbols[] = {N_("Title Case"), N_("Lowercase"), NULL};
static VikLayerParam io_prefs[] = {
- { VIKING_PREFERENCES_IO_NAMESPACE "kml_export_units", VIK_LAYER_PARAM_UINT, VIK_LAYER_GROUP_NONE, N_("KML File Export Units:"), VIK_LAYER_WIDGET_COMBOBOX, params_kml_export_units, NULL, NULL },
- { VIKING_PREFERENCES_IO_NAMESPACE "gpx_export_track_sort", VIK_LAYER_PARAM_UINT, VIK_LAYER_GROUP_NONE, N_("GPX Track Order:"), VIK_LAYER_WIDGET_COMBOBOX, params_gpx_export_trk_sort, NULL, NULL },
+ { VIK_LAYER_NUM_TYPES, VIKING_PREFERENCES_IO_NAMESPACE "kml_export_units", VIK_LAYER_PARAM_UINT, VIK_LAYER_GROUP_NONE, N_("KML File Export Units:"), VIK_LAYER_WIDGET_COMBOBOX, params_kml_export_units, NULL, NULL, NULL, NULL, NULL },
+ { VIK_LAYER_NUM_TYPES, VIKING_PREFERENCES_IO_NAMESPACE "gpx_export_track_sort", VIK_LAYER_PARAM_UINT, VIK_LAYER_GROUP_NONE, N_("GPX Track Order:"), VIK_LAYER_WIDGET_COMBOBOX, params_gpx_export_trk_sort, NULL, NULL, NULL, NULL, NULL },
+ { VIK_LAYER_NUM_TYPES, VIKING_PREFERENCES_IO_NAMESPACE "gpx_export_wpt_sym_names", VIK_LAYER_PARAM_UINT, VIK_LAYER_GROUP_NONE, N_("GPX Waypoint Symbols:"), VIK_LAYER_WIDGET_COMBOBOX, params_gpx_export_wpt_symbols, NULL,
+ N_("Save GPX Waypoint Symbol names in the specified case. May be useful for compatibility with various devices"), NULL, NULL, NULL },
};
#ifndef WINDOWS
static VikLayerParam io_prefs_non_windows[] = {
- { VIKING_PREFERENCES_IO_NAMESPACE "image_viewer", VIK_LAYER_PARAM_STRING, VIK_LAYER_GROUP_NONE, N_("Image Viewer:"), VIK_LAYER_WIDGET_FILEENTRY, NULL, NULL, NULL },
+ { VIK_LAYER_NUM_TYPES, VIKING_PREFERENCES_IO_NAMESPACE "image_viewer", VIK_LAYER_PARAM_STRING, VIK_LAYER_GROUP_NONE, N_("Image Viewer:"), VIK_LAYER_WIDGET_FILEENTRY, NULL, NULL, NULL, NULL, NULL },
};
#endif
static VikLayerParam io_prefs_external_gpx[] = {
- { VIKING_PREFERENCES_IO_NAMESPACE "external_gpx_1", VIK_LAYER_PARAM_STRING, VIK_LAYER_GROUP_NONE, N_("External GPX Program 1:"), VIK_LAYER_WIDGET_FILEENTRY, NULL, NULL, NULL },
- { VIKING_PREFERENCES_IO_NAMESPACE "external_gpx_2", VIK_LAYER_PARAM_STRING, VIK_LAYER_GROUP_NONE, N_("External GPX Program 2:"), VIK_LAYER_WIDGET_FILEENTRY, NULL, NULL, NULL },
+ { VIK_LAYER_NUM_TYPES, VIKING_PREFERENCES_IO_NAMESPACE "external_gpx_1", VIK_LAYER_PARAM_STRING, VIK_LAYER_GROUP_NONE, N_("External GPX Program 1:"), VIK_LAYER_WIDGET_FILEENTRY, NULL, NULL, NULL, NULL, NULL },
+ { VIK_LAYER_NUM_TYPES, VIKING_PREFERENCES_IO_NAMESPACE "external_gpx_2", VIK_LAYER_PARAM_STRING, VIK_LAYER_GROUP_NONE, N_("External GPX Program 2:"), VIK_LAYER_WIDGET_FILEENTRY, NULL, NULL, NULL, NULL, NULL },
+};
+
+static VikLayerParam prefs_advanced[] = {
+ { VIK_LAYER_NUM_TYPES, VIKING_PREFERENCES_ADVANCED_NAMESPACE "save_file_reference_mode", VIK_LAYER_PARAM_UINT, VIK_LAYER_GROUP_NONE, N_("Save File Reference Mode:"), VIK_LAYER_WIDGET_COMBOBOX, params_vik_fileref, NULL,
+ N_("When saving a Viking .vik file, this determines how the directory paths of filenames are written."), NULL, NULL, NULL },
+ { VIK_LAYER_NUM_TYPES, VIKING_PREFERENCES_ADVANCED_NAMESPACE "create_track_tooltip", VIK_LAYER_PARAM_BOOLEAN, VIK_LAYER_GROUP_NONE, N_("Show Tooltip during Track Creation:"), VIK_LAYER_WIDGET_CHECKBUTTON, NULL, NULL, NULL, NULL, NULL },
};
+static gchar * params_startup_methods[] = {N_("Home Location"), N_("Last Location"), N_("Specified File"), N_("Auto Location"), NULL};
+
+static VikLayerParam startup_prefs[] = {
+ { VIK_LAYER_NUM_TYPES, VIKING_PREFERENCES_STARTUP_NAMESPACE "restore_window_state", VIK_LAYER_PARAM_BOOLEAN, VIK_LAYER_GROUP_NONE, N_("Restore Window Setup:"), VIK_LAYER_WIDGET_CHECKBUTTON, NULL, NULL,
+ N_("Restore window size and layout"), NULL, NULL, NULL},
+ { VIK_LAYER_NUM_TYPES, VIKING_PREFERENCES_STARTUP_NAMESPACE "add_default_map_layer", VIK_LAYER_PARAM_BOOLEAN, VIK_LAYER_GROUP_NONE, N_("Add a Default Map Layer:"), VIK_LAYER_WIDGET_CHECKBUTTON, NULL, NULL,
+ N_("The default map layer added is defined by the Layer Defaults. Use the menu Edit->Layer Defaults->Map... to change the map type and other values."), NULL, NULL, NULL},
+ { VIK_LAYER_NUM_TYPES, VIKING_PREFERENCES_STARTUP_NAMESPACE "startup_method", VIK_LAYER_PARAM_UINT, VIK_LAYER_GROUP_NONE, N_("Startup Method:"), VIK_LAYER_WIDGET_COMBOBOX, params_startup_methods, NULL, NULL, NULL, NULL, NULL },
+ { VIK_LAYER_NUM_TYPES, VIKING_PREFERENCES_STARTUP_NAMESPACE "startup_file", VIK_LAYER_PARAM_STRING, VIK_LAYER_GROUP_NONE, N_("Startup File:"), VIK_LAYER_WIDGET_FILEENTRY, NULL, NULL,
+ N_("The default file to load on startup. Only applies when the startup method is set to 'Specified File'"), NULL, NULL, NULL },
+ { VIK_LAYER_NUM_TYPES, VIKING_PREFERENCES_STARTUP_NAMESPACE "check_version", VIK_LAYER_PARAM_BOOLEAN, VIK_LAYER_GROUP_NONE, N_("Check For New Version:"), VIK_LAYER_WIDGET_CHECKBUTTON, NULL, NULL,
+ N_("Periodically check to see if a new version of Viking is available"), NULL, NULL, NULL },
+};
/* End of Options static stuff */
+/**
+ * Detect when Viking is run for the very first time
+ * Call this very early in the startup sequence to ensure subsequent correct results
+ * The return value is cached, since later on the test will no longer be true
+ */
+gboolean a_vik_very_first_run ()
+{
+ static gboolean vik_very_first_run_known = FALSE;
+ static gboolean vik_very_first_run = FALSE;
+
+ // use cached result if available
+ if ( vik_very_first_run_known )
+ return vik_very_first_run;
+
+ gchar *dir = a_get_viking_dir_no_create();
+ // NB: will need extra logic if default dir gets changed e.g. from ~/.viking to ~/.config/viking
+ if ( dir ) {
+ // If directory exists - Viking has been run before
+ vik_very_first_run = ! g_file_test ( dir, G_FILE_TEST_EXISTS );
+ g_free ( dir );
+ }
+ else
+ vik_very_first_run = TRUE;
+ vik_very_first_run_known = TRUE;
+
+ return vik_very_first_run;
+}
+
void a_vik_preferences_init ()
{
g_debug ( "VIKING VERSION as number: %d", viking_version_to_number (VIKING_VERSION) );
@@ -129,25 +164,43 @@ void a_vik_preferences_init ()
VikLayerParamData tmp;
tmp.u = VIK_DEGREE_FORMAT_DMS;
- a_preferences_register(prefs1, tmp, VIKING_PREFERENCES_GROUP_KEY);
+ a_preferences_register(&general_prefs[0], tmp, VIKING_PREFERENCES_GROUP_KEY);
tmp.u = VIK_UNITS_DISTANCE_KILOMETRES;
- a_preferences_register(prefs2, tmp, VIKING_PREFERENCES_GROUP_KEY);
+ a_preferences_register(&general_prefs[1], tmp, VIKING_PREFERENCES_GROUP_KEY);
tmp.u = VIK_UNITS_SPEED_KILOMETRES_PER_HOUR;
- a_preferences_register(prefs3, tmp, VIKING_PREFERENCES_GROUP_KEY);
+ a_preferences_register(&general_prefs[2], tmp, VIKING_PREFERENCES_GROUP_KEY);
tmp.u = VIK_UNITS_HEIGHT_METRES;
- a_preferences_register(prefs4, tmp, VIKING_PREFERENCES_GROUP_KEY);
+ a_preferences_register(&general_prefs[3], tmp, VIKING_PREFERENCES_GROUP_KEY);
tmp.b = TRUE;
- a_preferences_register(prefs5, tmp, VIKING_PREFERENCES_GROUP_KEY);
+ a_preferences_register(&general_prefs[4], tmp, VIKING_PREFERENCES_GROUP_KEY);
/* Maintain the default location to New York */
tmp.d = 40.714490;
- a_preferences_register(prefs6, tmp, VIKING_PREFERENCES_GROUP_KEY);
+ a_preferences_register(&general_prefs[5], tmp, VIKING_PREFERENCES_GROUP_KEY);
tmp.d = -74.007130;
- a_preferences_register(prefs7, tmp, VIKING_PREFERENCES_GROUP_KEY);
+ a_preferences_register(&general_prefs[6], tmp, VIKING_PREFERENCES_GROUP_KEY);
+
+ // New Tab
+ a_preferences_register_group ( VIKING_PREFERENCES_STARTUP_GROUP_KEY, _("Startup") );
+
+ tmp.b = FALSE;
+ a_preferences_register(&startup_prefs[0], tmp, VIKING_PREFERENCES_STARTUP_GROUP_KEY);
+
+ tmp.b = FALSE;
+ a_preferences_register(&startup_prefs[1], tmp, VIKING_PREFERENCES_STARTUP_GROUP_KEY);
+
+ tmp.u = VIK_STARTUP_METHOD_HOME_LOCATION;
+ a_preferences_register(&startup_prefs[2], tmp, VIKING_PREFERENCES_STARTUP_GROUP_KEY);
+
+ tmp.s = "";
+ a_preferences_register(&startup_prefs[3], tmp, VIKING_PREFERENCES_STARTUP_GROUP_KEY);
+
+ tmp.b = FALSE;
+ a_preferences_register(&startup_prefs[4], tmp, VIKING_PREFERENCES_STARTUP_GROUP_KEY);
// New Tab
a_preferences_register_group ( VIKING_PREFERENCES_IO_GROUP_KEY, _("Export/External") );
@@ -158,6 +211,9 @@ void a_vik_preferences_init ()
tmp.u = VIK_GPX_EXPORT_TRK_SORT_TIME;
a_preferences_register(&io_prefs[1], tmp, VIKING_PREFERENCES_IO_GROUP_KEY);
+ tmp.b = VIK_GPX_EXPORT_WPT_SYM_NAME_TITLECASE;
+ a_preferences_register(&io_prefs[2], tmp, VIKING_PREFERENCES_IO_GROUP_KEY);
+
#ifndef WINDOWS
tmp.s = "xdg-open";
a_preferences_register(&io_prefs_non_windows[0], tmp, VIKING_PREFERENCES_IO_GROUP_KEY);
@@ -169,6 +225,15 @@ void a_vik_preferences_init ()
// Add a second external program - another OSM editor by default
tmp.s = "merkaartor";
a_preferences_register(&io_prefs_external_gpx[1], tmp, VIKING_PREFERENCES_IO_GROUP_KEY);
+
+ // 'Advanced' Properties
+ a_preferences_register_group ( VIKING_PREFERENCES_ADVANCED_GROUP_KEY, _("Advanced") );
+
+ tmp.u = VIK_FILE_REF_FORMAT_ABSOLUTE;
+ a_preferences_register(&prefs_advanced[0], tmp, VIKING_PREFERENCES_ADVANCED_GROUP_KEY);
+
+ tmp.b = TRUE;
+ a_preferences_register(&prefs_advanced[1], tmp, VIKING_PREFERENCES_ADVANCED_GROUP_KEY);
}
vik_degree_format_t a_vik_get_degree_format ( )
@@ -236,6 +301,13 @@ vik_gpx_export_trk_sort_t a_vik_get_gpx_export_trk_sort ( )
return sort;
}
+vik_gpx_export_wpt_sym_name_t a_vik_gpx_export_wpt_sym_name ( )
+{
+ gboolean val;
+ val = a_preferences_get(VIKING_PREFERENCES_IO_NAMESPACE "gpx_export_wpt_sym_names")->b;
+ return val;
+}
+
#ifndef WINDOWS
const gchar* a_vik_get_image_viewer ( )
{
@@ -252,3 +324,47 @@ const gchar* a_vik_get_external_gpx_program_2 ( )
{
return a_preferences_get(VIKING_PREFERENCES_IO_NAMESPACE "external_gpx_2")->s;
}
+
+vik_file_ref_format_t a_vik_get_file_ref_format ( )
+{
+ vik_file_ref_format_t format;
+ format = a_preferences_get(VIKING_PREFERENCES_ADVANCED_NAMESPACE "save_file_reference_mode")->u;
+ return format;
+}
+
+gboolean a_vik_get_create_track_tooltip ( )
+{
+ return a_preferences_get(VIKING_PREFERENCES_ADVANCED_NAMESPACE "create_track_tooltip")->b;
+}
+
+// Startup Options
+gboolean a_vik_get_restore_window_state ( )
+{
+ gboolean data;
+ data = a_preferences_get(VIKING_PREFERENCES_STARTUP_NAMESPACE "restore_window_state")->b;
+ return data;
+}
+
+gboolean a_vik_get_add_default_map_layer ( )
+{
+ gboolean data;
+ data = a_preferences_get(VIKING_PREFERENCES_STARTUP_NAMESPACE "add_default_map_layer")->b;
+ return data;
+}
+
+vik_startup_method_t a_vik_get_startup_method ( )
+{
+ vik_startup_method_t data;
+ data = a_preferences_get(VIKING_PREFERENCES_STARTUP_NAMESPACE "startup_method")->u;
+ return data;
+}
+
+const gchar *a_vik_get_startup_file ( )
+{
+ return a_preferences_get(VIKING_PREFERENCES_STARTUP_NAMESPACE "startup_file")->s;
+}
+
+gboolean a_vik_get_check_version ( )
+{
+ return a_preferences_get(VIKING_PREFERENCES_STARTUP_NAMESPACE "check_version")->b;
+}
diff --git a/src/globals.h b/src/globals.h
index 208c3e0..b22e973 100644
--- a/src/globals.h
+++ b/src/globals.h
@@ -2,6 +2,7 @@
* viking -- GPS Data and Topo Analyzer, Explorer, and Manager
*
* Copyright (C) 2003-2005, Evan Battaglia <gtoevan@gmx.net>
+ * Copyright (C) 2013, Rob Norris <rw_norris@hotmail.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -29,7 +30,7 @@ G_BEGIN_DECLS
#define PROJECT "Viking"
#define VIKING_VERSION PACKAGE_VERSION
#define VIKING_VERSION_NAME "This Name For Rent"
-#define VIKING_URL "http://viking.sf.net/"
+#define VIKING_URL PACKAGE_URL
#define ALTI_TO_MPP 1.4017295
#define MPP_TO_ALTI 0.7134044
@@ -78,6 +79,9 @@ extern gboolean vik_version;
/* Allow comparing versions */
gint viking_version_to_number ( gchar *version );
+/* Very first run */
+gboolean a_vik_very_first_run ();
+
/* Global preferences */
void a_vik_preferences_init ();
@@ -139,10 +143,18 @@ vik_kml_export_units_t a_vik_get_kml_export_units ( );
typedef enum {
VIK_GPX_EXPORT_TRK_SORT_ALPHA,
VIK_GPX_EXPORT_TRK_SORT_TIME,
+ VIK_GPX_EXPORT_TRK_SORT_CREATION,
} vik_gpx_export_trk_sort_t;
vik_gpx_export_trk_sort_t a_vik_get_gpx_export_trk_sort ( );
+typedef enum {
+ VIK_GPX_EXPORT_WPT_SYM_NAME_TITLECASE,
+ VIK_GPX_EXPORT_WPT_SYM_NAME_LOWERCASE,
+} vik_gpx_export_wpt_sym_name_t;
+
+vik_gpx_export_wpt_sym_name_t a_vik_gpx_export_wpt_sym_name ( );
+
#ifndef WINDOWS
/* Windows automatically uses the system defined viewer
ATM for other systems need to specify the program to use */
@@ -153,6 +165,33 @@ const gchar* a_vik_get_external_gpx_program_1 ( );
const gchar* a_vik_get_external_gpx_program_2 ( );
+/* File reference preferences - mainly in saving of a viking file */
+typedef enum {
+ VIK_FILE_REF_FORMAT_ABSOLUTE,
+ VIK_FILE_REF_FORMAT_RELATIVE,
+} vik_file_ref_format_t;
+
+vik_file_ref_format_t a_vik_get_file_ref_format ( );
+
+gboolean a_vik_get_create_track_tooltip ( );
+
+gboolean a_vik_get_restore_window_state ( );
+
+gboolean a_vik_get_add_default_map_layer ( );
+
+typedef enum {
+ VIK_STARTUP_METHOD_HOME_LOCATION,
+ VIK_STARTUP_METHOD_LAST_LOCATION,
+ VIK_STARTUP_METHOD_SPECIFIED_FILE,
+ VIK_STARTUP_METHOD_AUTO_LOCATION,
+} vik_startup_method_t;
+
+vik_startup_method_t a_vik_get_startup_method ( );
+
+const gchar *a_vik_get_startup_file ( );
+
+gboolean a_vik_get_check_version ( );
+
/* Group for global preferences */
#define VIKING_PREFERENCES_GROUP_KEY "viking.globals"
#define VIKING_PREFERENCES_NAMESPACE "viking.globals."
@@ -163,6 +202,14 @@ const gchar* a_vik_get_external_gpx_program_2 ( );
#define VIKING_PREFERENCES_IO_GROUP_KEY "viking.io"
#define VIKING_PREFERENCES_IO_NAMESPACE "viking.io."
+/* Group for global preferences - but 'advanced'
+ User changeable but only for those that need it */
+#define VIKING_PREFERENCES_ADVANCED_GROUP_KEY "viking.advanced"
+#define VIKING_PREFERENCES_ADVANCED_NAMESPACE "viking.advanced."
+
+#define VIKING_PREFERENCES_STARTUP_GROUP_KEY "viking.startup"
+#define VIKING_PREFERENCES_STARTUP_NAMESPACE "viking.startup."
+
G_END_DECLS
#endif
diff --git a/src/google.c b/src/google.c
index de20d08..2e1aa61 100644
--- a/src/google.c
+++ b/src/google.c
@@ -30,6 +30,8 @@
#include "vikwebtoolcenter.h"
#include "vikgoto.h"
#include "googlesearch.h"
+#include "vikrouting.h"
+#include "vikroutingwebengine.h"
void google_init () {
// Webtools
@@ -41,4 +43,26 @@ void google_init () {
GoogleGotoTool *gototool = google_goto_tool_new ( );
vik_goto_register ( VIK_GOTO_TOOL ( gototool ) );
g_object_unref ( gototool );
+
+ // Routing
+ /* Google Directions service as routing engine.
+ *
+ * Technical details are available here:
+ * https://developers.google.com/maps/documentation/directions/#DirectionsResponses
+ *
+ * gpsbabel supports this format.
+ */
+ VikRoutingEngine *routing = g_object_new ( VIK_ROUTING_WEB_ENGINE_TYPE,
+ "id", "google",
+ "label", "Google",
+ "format", "google",
+ "url-base", "http://maps.google.com/maps?output=js&q=",
+ "url-start-ll", "from:%s,%s",
+ "url-stop-ll", "+to:%s,%s",
+ "url-start-dir", "from:%s",
+ "url-stop-dir", "+to:%s",
+ "referer", "http://maps.google.com/",
+ NULL);
+ vik_routing_register ( VIK_ROUTING_ENGINE ( routing ) );
+ g_object_unref ( routing );
}
diff --git a/src/googlesearch.c b/src/googlesearch.c
index 553e24a..e8bf181 100644
--- a/src/googlesearch.c
+++ b/src/googlesearch.c
@@ -45,7 +45,7 @@
#define GOOGLE_GOTO_PATTERN_2 ",lng:"
#define GOOGLE_GOTO_NOT_FOUND "not understand the location"
-static DownloadMapOptions googlesearch_options = { FALSE, FALSE, "http://maps.google.com/", 2, a_check_map_file };
+static DownloadMapOptions googlesearch_options = { FALSE, FALSE, "http://maps.google.com/", 2, a_check_map_file, NULL };
static void google_goto_tool_finalize ( GObject *gob );
diff --git a/src/gpspoint.c b/src/gpspoint.c
index 11311b9..849c8e3 100644
--- a/src/gpspoint.c
+++ b/src/gpspoint.c
@@ -78,6 +78,8 @@ static gchar *line_name;
static gchar *line_comment;
static gchar *line_description;
static gchar *line_color;
+static gint line_name_label = 0;
+static gint line_dist_label = 0;
static gchar *line_image;
static gchar *line_symbol;
static gboolean line_newsegment = FALSE;
@@ -220,6 +222,8 @@ gboolean a_gpspoint_read_file(VikTrwLayer *trw, FILE *f ) {
VikWaypoint *wp = vik_waypoint_new();
wp->visible = line_visible;
wp->altitude = line_altitude;
+ wp->has_timestamp = line_has_timestamp;
+ wp->timestamp = line_timestamp;
vik_coord_load_from_latlon ( &(wp->coord), coord_mode, &line_latlon );
@@ -243,6 +247,8 @@ gboolean a_gpspoint_read_file(VikTrwLayer *trw, FILE *f ) {
{
have_read_something = TRUE;
VikTrack *pl = vik_track_new();
+ // NB don't set defaults here as all properties are stored in the GPS_POINT format
+ //vik_track_set_defaults ( pl );
/* Thanks to Peter Jones for this Fix */
if (!line_name) line_name = g_strdup("UNK");
@@ -262,6 +268,9 @@ gboolean a_gpspoint_read_file(VikTrwLayer *trw, FILE *f ) {
pl->has_color = TRUE;
}
+ pl->draw_name_mode = line_name_label;
+ pl->max_number_dist_labels = line_dist_label;
+
pl->trackpoints = NULL;
vik_trw_layer_filein_add_track ( trw, line_name, pl );
g_free ( line_name );
@@ -278,6 +287,7 @@ gboolean a_gpspoint_read_file(VikTrwLayer *trw, FILE *f ) {
tp->has_timestamp = line_has_timestamp;
tp->timestamp = line_timestamp;
tp->altitude = line_altitude;
+ vik_trackpoint_set_name ( tp, line_name );
if (line_extended) {
tp->speed = line_speed;
tp->course = line_course;
@@ -318,6 +328,8 @@ gboolean a_gpspoint_read_file(VikTrwLayer *trw, FILE *f ) {
line_course = NAN;
line_sat = 0;
line_fix = 0;
+ line_name_label = 0;
+ line_dist_label = 0;
}
return have_read_something;
@@ -416,6 +428,14 @@ static void gpspoint_process_key_and_value ( const gchar *key, gint key_len, con
if (line_color == NULL)
line_color = deslashndup ( value, value_len );
}
+ else if (key_len == 14 && strncasecmp( key, "draw_name_mode", key_len ) == 0 && value != NULL)
+ {
+ line_name_label = atoi(value);
+ }
+ else if (key_len == 18 && strncasecmp( key, "number_dist_labels", key_len ) == 0 && value != NULL)
+ {
+ line_dist_label = atoi(value);
+ }
else if (key_len == 5 && strncasecmp( key, "image", key_len ) == 0 && value != NULL)
{
if (line_image == NULL)
@@ -495,6 +515,8 @@ static void a_gpspoint_write_waypoint ( const gpointer id, const VikWaypoint *wp
fprintf ( f, " altitude=\"%s\"", s_alt );
g_free(s_alt);
}
+ if ( wp->has_timestamp )
+ fprintf ( f, " unixtime=\"%ld\"", wp->timestamp );
if ( wp->comment )
{
gchar *tmp_comment = slashdup(wp->comment);
@@ -509,13 +531,33 @@ static void a_gpspoint_write_waypoint ( const gpointer id, const VikWaypoint *wp
}
if ( wp->image )
{
- gchar *tmp_image = slashdup(wp->image);
- fprintf ( f, " image=\"%s\"", tmp_image );
+ gchar *tmp_image = NULL;
+ gchar *cwd = NULL;
+ if ( a_vik_get_file_ref_format() == VIK_FILE_REF_FORMAT_RELATIVE ) {
+ cwd = g_get_current_dir();
+ if ( cwd )
+ tmp_image = g_strdup ( file_GetRelativeFilename ( cwd, wp->image ) );
+ }
+
+ // if cwd not available - use image filename as is
+ // this should be an absolute path as set in thumbnails
+ if ( !cwd )
+ tmp_image = slashdup(wp->image);
+
+ if ( tmp_image )
+ fprintf ( f, " image=\"%s\"", tmp_image );
+
+ g_free ( cwd );
g_free ( tmp_image );
}
if ( wp->symbol )
{
- fprintf ( f, " symbol=\"%s\"", wp->symbol );
+ // Due to changes in garminsymbols - the symbol name is now in Title Case
+ // However to keep newly generated .vik files better compatible with older Viking versions
+ // The symbol names will always be lowercase
+ gchar *tmp_symbol = g_utf8_strdown(wp->symbol, -1);
+ fprintf ( f, " symbol=\"%s\"", tmp_symbol );
+ g_free ( tmp_symbol );
}
if ( ! wp->visible )
fprintf ( f, " visible=\"n\"" );
@@ -538,6 +580,12 @@ static void a_gpspoint_write_trackpoint ( VikTrackpoint *tp, TP_write_info_type
g_free ( s_lat );
g_free ( s_lon );
+ if ( tp->name ) {
+ gchar *name = slashdup(tp->name);
+ fprintf ( f, " name=\"%s\"", name );
+ g_free(name);
+ }
+
if ( tp->altitude != VIK_DEFAULT_ALTITUDE ) {
gchar *s_alt = a_coords_dtostr(tp->altitude);
fprintf ( f, " altitude=\"%s\"", s_alt );
@@ -597,6 +645,12 @@ static void a_gpspoint_write_track ( const gpointer id, const VikTrack *trk, FIL
fprintf ( f, " color=#%.2x%.2x%.2x", (int)(trk->color.red/256),(int)(trk->color.green/256),(int)(trk->color.blue/256));
}
+ if ( trk->draw_name_mode > 0 )
+ fprintf ( f, " draw_name_mode=\"%d\"", trk->draw_name_mode );
+
+ if ( trk->max_number_dist_labels > 0 )
+ fprintf ( f, " number_dist_labels=\"%d\"", trk->max_number_dist_labels );
+
if ( ! trk->visible ) {
fprintf ( f, " visible=\"n\"" );
}
diff --git a/src/gpx.c b/src/gpx.c
index 7892b20..cd54ba9 100644
--- a/src/gpx.c
+++ b/src/gpx.c
@@ -54,7 +54,8 @@ typedef enum {
tt_wpt_desc,
tt_wpt_name,
tt_wpt_ele,
- tt_wpt_sym,
+ tt_wpt_sym,
+ tt_wpt_time,
tt_wpt_link, /* New in GPX 1.1 */
tt_trk,
@@ -68,6 +69,7 @@ typedef enum {
tt_trk_trkseg_trkpt,
tt_trk_trkseg_trkpt_ele,
tt_trk_trkseg_trkpt_time,
+ tt_trk_trkseg_trkpt_name,
/* extended */
tt_trk_trkseg_trkpt_course,
tt_trk_trkseg_trkpt_speed,
@@ -108,6 +110,7 @@ tag_mapping tag_path_map[] = {
{ tt_waypoint_name, "/loc/waypoint/name" },
{ tt_wpt_ele, "/gpx/wpt/ele" },
+ { tt_wpt_time, "/gpx/wpt/time" },
{ tt_wpt_name, "/gpx/wpt/name" },
{ tt_wpt_cmt, "/gpx/wpt/cmt" },
{ tt_wpt_desc, "/gpx/wpt/desc" },
@@ -123,6 +126,7 @@ tag_mapping tag_path_map[] = {
{ tt_trk_trkseg_trkpt, "/gpx/trk/trkseg/trkpt" },
{ tt_trk_trkseg_trkpt_ele, "/gpx/trk/trkseg/trkpt/ele" },
{ tt_trk_trkseg_trkpt_time, "/gpx/trk/trkseg/trkpt/time" },
+ { tt_trk_trkseg_trkpt_name, "/gpx/trk/trkseg/trkpt/name" },
/* extended */
{ tt_trk_trkseg_trkpt_course, "/gpx/trk/trkseg/trkpt/course" },
{ tt_trk_trkseg_trkpt_speed, "/gpx/trk/trkseg/trkpt/speed" },
@@ -139,6 +143,7 @@ tag_mapping tag_path_map[] = {
{ tt_trk_cmt, "/gpx/rte/cmt" },
{ tt_trk_desc, "/gpx/rte/desc" },
{ tt_trk_trkseg_trkpt, "/gpx/rte/rtept" },
+ { tt_trk_trkseg_trkpt_name, "/gpx/rte/rtept/name" },
{ tt_trk_trkseg_trkpt_ele, "/gpx/rte/rtept/ele" },
{0}
@@ -175,7 +180,7 @@ struct LatLon c_ll;
gboolean f_tr_newseg;
guint unnamed_waypoints = 0;
guint unnamed_tracks = 0;
-
+guint unnamed_routes = 0;
static const char *get_attr ( const char **attr, const char *key )
{
@@ -221,6 +226,7 @@ static void gpx_start(VikTrwLayer *vtl, const char *el, const char **attr)
case tt_trk:
case tt_rte:
c_tr = vik_track_new ();
+ vik_track_set_defaults ( c_tr );
c_tr->is_route = (current_tag == tt_rte) ? TRUE : FALSE;
c_tr->visible = TRUE;
if ( get_attr ( attr, "hidden" ) )
@@ -243,12 +249,14 @@ static void gpx_start(VikTrwLayer *vtl, const char *el, const char **attr)
}
break;
+ case tt_trk_trkseg_trkpt_name:
case tt_trk_trkseg_trkpt_ele:
case tt_trk_trkseg_trkpt_time:
case tt_wpt_cmt:
case tt_wpt_desc:
case tt_wpt_name:
case tt_wpt_ele:
+ case tt_wpt_time:
case tt_wpt_link:
case tt_trk_cmt:
case tt_trk_desc:
@@ -282,6 +290,7 @@ static void gpx_start(VikTrwLayer *vtl, const char *el, const char **attr)
static void gpx_end(VikTrwLayer *vtl, const char *el)
{
static GTimeVal tp_time;
+ static GTimeVal wp_time;
g_string_truncate ( xpath, xpath->len - strlen(el) - 1 );
@@ -290,7 +299,7 @@ static void gpx_end(VikTrwLayer *vtl, const char *el)
case tt_waypoint:
case tt_wpt:
if ( ! c_wp_name )
- c_wp_name = g_strdup_printf("VIKING_WP%d", unnamed_waypoints++);
+ c_wp_name = g_strdup_printf("VIKING_WP%04d", unnamed_waypoints++);
vik_trw_layer_filein_add_waypoint ( vtl, c_wp_name, c_wp );
g_free ( c_wp_name );
c_wp = NULL;
@@ -298,9 +307,12 @@ static void gpx_end(VikTrwLayer *vtl, const char *el)
break;
case tt_trk:
+ if ( ! c_tr_name )
+ c_tr_name = g_strdup_printf("VIKING_TR%03d", unnamed_tracks++);
+ // Delibrate fall through
case tt_rte:
if ( ! c_tr_name )
- c_tr_name = g_strdup_printf("VIKING_TR%d", unnamed_tracks++);
+ c_tr_name = g_strdup_printf("VIKING_RT%03d", unnamed_routes++);
vik_trw_layer_filein_add_track ( vtl, c_tr_name, c_tr );
g_free ( c_tr_name );
c_tr = NULL;
@@ -348,9 +360,7 @@ static void gpx_end(VikTrwLayer *vtl, const char *el)
break;
case tt_wpt_sym: {
- gchar *tmp_lower = g_utf8_strdown(c_cdata->str, -1); /* for things like <type>Geocache</type> */
- vik_waypoint_set_symbol ( c_wp, tmp_lower );
- g_free ( tmp_lower );
+ vik_waypoint_set_symbol ( c_wp, c_cdata->str );
g_string_erase ( c_cdata, 0, -1 );
break;
}
@@ -365,6 +375,19 @@ static void gpx_end(VikTrwLayer *vtl, const char *el)
g_string_erase ( c_cdata, 0, -1 );
break;
+ case tt_wpt_time:
+ if ( g_time_val_from_iso8601(c_cdata->str, &wp_time) ) {
+ c_wp->timestamp = wp_time.tv_sec;
+ c_wp->has_timestamp = TRUE;
+ }
+ g_string_erase ( c_cdata, 0, -1 );
+ break;
+
+ case tt_trk_trkseg_trkpt_name:
+ vik_trackpoint_set_name ( c_tp, c_cdata->str );
+ g_string_erase ( c_cdata, 0, -1 );
+ break;
+
case tt_trk_trkseg_trkpt_time:
if ( g_time_val_from_iso8601(c_cdata->str, &tp_time) ) {
c_tp->timestamp = tp_time.tv_sec;
@@ -433,6 +456,8 @@ static void gpx_cdata(void *dta, const XML_Char *s, int len)
case tt_trk_cmt:
case tt_trk_desc:
case tt_trk_trkseg_trkpt_time:
+ case tt_wpt_time:
+ case tt_trk_trkseg_trkpt_name:
case tt_trk_trkseg_trkpt_course:
case tt_trk_trkseg_trkpt_speed:
case tt_trk_trkseg_trkpt_fix:
@@ -467,8 +492,9 @@ gboolean a_gpx_read_file( VikTrwLayer *vtl, FILE *f ) {
xpath = g_string_new ( "" );
c_cdata = g_string_new ( "" );
- unnamed_waypoints = 0;
- unnamed_tracks = 0;
+ unnamed_waypoints = 1;
+ unnamed_tracks = 1;
+ unnamed_routes = 1;
while (!done) {
len = fread(buf, 1, sizeof(buf)-7, f);
@@ -687,6 +713,18 @@ static void gpx_write_waypoint ( VikWaypoint *wp, GpxWritingContext *context )
fprintf ( f, " <ele>%s</ele>\n", tmp );
g_free ( tmp );
}
+
+ if ( wp->has_timestamp ) {
+ GTimeVal timestamp;
+ timestamp.tv_sec = wp->timestamp;
+ timestamp.tv_usec = 0;
+
+ gchar *time_iso8601 = g_time_val_to_iso8601 ( &timestamp );
+ if ( time_iso8601 != NULL )
+ fprintf ( f, " <time>%s</time>\n", time_iso8601 );
+ g_free ( time_iso8601 );
+ }
+
if ( wp->comment )
{
tmp = entitize(wp->comment);
@@ -708,7 +746,14 @@ static void gpx_write_waypoint ( VikWaypoint *wp, GpxWritingContext *context )
if ( wp->symbol )
{
tmp = entitize(wp->symbol);
- fprintf ( f, " <sym>%s</sym>\n", tmp);
+ if ( a_vik_gpx_export_wpt_sym_name ( ) ) {
+ // Lowercase the symbol name
+ gchar *tmp2 = g_utf8_strdown ( tmp, -1 );
+ fprintf ( f, " <sym>%s</sym>\n", tmp2 );
+ g_free ( tmp2 );
+ }
+ else
+ fprintf ( f, " <sym>%s</sym>\n", tmp);
g_free ( tmp );
}
@@ -733,6 +778,12 @@ static void gpx_write_trackpoint ( VikTrackpoint *tp, GpxWritingContext *context
g_free ( s_lat ); s_lat = NULL;
g_free ( s_lon ); s_lon = NULL;
+ if (tp->name) {
+ gchar *s_name = entitize(tp->name);
+ fprintf ( f, " <name>%s</name>\n", s_name );
+ g_free(s_name);
+ }
+
s_alt = NULL;
if ( tp->altitude != VIK_DEFAULT_ALTITUDE )
{
@@ -945,11 +996,21 @@ void a_gpx_write_file ( VikTrwLayer *vtl, FILE *f, GpxWritingOptions *options )
g_list_free ( gl );
- gl = g_hash_table_get_values ( vik_trw_layer_get_tracks ( vtl ) );
+ //gl = g_hash_table_get_values ( vik_trw_layer_get_tracks ( vtl ) );
+ // Forming the list manually seems to produce one that is more likely to be nearer to the creation order
+ gl = NULL;
+ gpointer key, value;
+ GHashTableIter ght_iter;
+ g_hash_table_iter_init ( &ght_iter, vik_trw_layer_get_tracks ( vtl ) );
+ while ( g_hash_table_iter_next (&ght_iter, &key, &value) ) {
+ gl = g_list_prepend ( gl ,value );
+ }
+ gl = g_list_reverse ( gl );
+
// Sort method determined by preference
if ( a_vik_get_gpx_export_trk_sort() == VIK_GPX_EXPORT_TRK_SORT_TIME )
gl = g_list_sort ( gl, gpx_track_compare_timestamp );
- else
+ else if ( a_vik_get_gpx_export_trk_sort() == VIK_GPX_EXPORT_TRK_SORT_ALPHA )
gl = g_list_sort ( gl, gpx_track_compare_name );
// Routes sorted by name
diff --git a/src/gpx.h b/src/gpx.h
index d8f7d4e..7b1c925 100644
--- a/src/gpx.h
+++ b/src/gpx.h
@@ -30,6 +30,7 @@ G_BEGIN_DECLS
* Options adapting GPX writing.
*/
typedef struct {
+ // NB force options only apply to trackpoints
gboolean force_ele; /// Force ele field
gboolean force_time; /// Force time field
gboolean hidden; /// Write invisible tracks/waypoints (default is yes)
diff --git a/src/icons/Makefile.am b/src/icons/Makefile.am
index a0c84c0..231184b 100644
--- a/src/icons/Makefile.am
+++ b/src/icons/Makefile.am
@@ -128,6 +128,7 @@ WAYPOINT_ICONS_LARGE += wp_dive1_large.png
WAYPOINT_ICONS_LARGE += wp_dive2_large.png
WAYPOINT_ICONS_LARGE += wp_dollar_large.png
WAYPOINT_ICONS_LARGE += wp_drinking_wtr_large.png
+WAYPOINT_ICONS_LARGE += wp_exit_large.png
WAYPOINT_ICONS_LARGE += wp_fastfood_large.png
WAYPOINT_ICONS_LARGE += wp_fhs_facility_large.png
WAYPOINT_ICONS_LARGE += wp_fish_large.png
@@ -142,6 +143,7 @@ WAYPOINT_ICONS_LARGE += wp_geocache_large.png
WAYPOINT_ICONS_LARGE += wp_glider_large.png
WAYPOINT_ICONS_LARGE += wp_golf_large.png
WAYPOINT_ICONS_LARGE += wp_grnd_trans_large.png
+WAYPOINT_ICONS_LARGE += wp_helipad_large.png
WAYPOINT_ICONS_LARGE += wp_horn_large.png
WAYPOINT_ICONS_LARGE += wp_house_large.png
WAYPOINT_ICONS_LARGE += wp_ice_skating_large.png
diff --git a/src/icons/Makefile.in b/src/icons/Makefile.in
index b17f57d..908b9f1 100644
--- a/src/icons/Makefile.in
+++ b/src/icons/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.3 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2013 Free Software Foundation, Inc.
@@ -82,7 +82,8 @@ DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
$(top_srcdir)/mkinstalldirs $(top_srcdir)/depcomp
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/expat.m4 \
- $(top_srcdir)/m4/libcurl.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/libcurl.m4 $(top_srcdir)/m4/nls.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -222,6 +223,7 @@ GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@
GREP = @GREP@
GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
@@ -431,23 +433,23 @@ WAYPOINT_ICONS_LARGE = wp_1st_aid_large.png wp_airplane_large.png \
wp_conv_store_large.png wp_crossing_large.png wp_dam_large.png \
wp_danger_large.png wp_deer_large.png wp_dive1_large.png \
wp_dive2_large.png wp_dollar_large.png \
- wp_drinking_wtr_large.png wp_fastfood_large.png \
- wp_fhs_facility_large.png wp_fish_large.png \
- wp_fitness_large.png wp_flag_blue_large.png \
+ wp_drinking_wtr_large.png wp_exit_large.png \
+ wp_fastfood_large.png wp_fhs_facility_large.png \
+ wp_fish_large.png wp_fitness_large.png wp_flag_blue_large.png \
wp_flag_green_large.png wp_flag_red_large.png \
wp_forest_large.png wp_fuel_large.png \
wp_geocache_fnd_large.png wp_geocache_large.png \
wp_glider_large.png wp_golf_large.png wp_grnd_trans_large.png \
- wp_horn_large.png wp_house_large.png wp_ice_skating_large.png \
- wp_info_large.png wp_knife_large.png wp_light_large.png \
- wp_lodging_large.png wp_lrg_cty_large.png wp_med_cty_large.png \
- wp_mine_large.png wp_mob_large.png wp_movie_large.png \
- wp_mug_large.png wp_museum_large.png wp_oil_field_large.png \
- wp_parachute_large.png wp_parking_large.png wp_park_large.png \
- wp_pharmacy_large.png wp_phone_large.png wp_picnic_large.png \
- wp_pin_blue_large.png wp_pin_green_large.png \
- wp_pin_red_large.png wp_pizza_large.png wp_police_large.png \
- wp_post_ofc_large.png wp_rbcn_large.png \
+ wp_helipad_large.png wp_horn_large.png wp_house_large.png \
+ wp_ice_skating_large.png wp_info_large.png wp_knife_large.png \
+ wp_light_large.png wp_lodging_large.png wp_lrg_cty_large.png \
+ wp_med_cty_large.png wp_mine_large.png wp_mob_large.png \
+ wp_movie_large.png wp_mug_large.png wp_museum_large.png \
+ wp_oil_field_large.png wp_parachute_large.png \
+ wp_parking_large.png wp_park_large.png wp_pharmacy_large.png \
+ wp_phone_large.png wp_picnic_large.png wp_pin_blue_large.png \
+ wp_pin_green_large.png wp_pin_red_large.png wp_pizza_large.png \
+ wp_police_large.png wp_post_ofc_large.png wp_rbcn_large.png \
wp_restricted_large.png wp_restroom_large.png \
wp_rv_park_large.png wp_scenic_large.png wp_school_large.png \
wp_shopping_large.png wp_short_tower_large.png \
@@ -574,14 +576,14 @@ distclean-compile:
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $<
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
.c.obj:
@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
install-iconsDATA: $(icons_DATA)
@$(NORMAL_INSTALL)
@list='$(icons_DATA)'; test -n "$(iconsdir)" || list=; \
diff --git a/src/icons/icons.h b/src/icons/icons.h
index 280c4f2..af7463a 100644
--- a/src/icons/icons.h
+++ b/src/icons/icons.h
@@ -151,6 +151,7 @@ extern const GdkPixdata wp_dive1_large_pixbuf;
extern const GdkPixdata wp_dive2_large_pixbuf;
extern const GdkPixdata wp_dollar_large_pixbuf;
extern const GdkPixdata wp_drinking_wtr_large_pixbuf;
+extern const GdkPixdata wp_exit_large_pixbuf;
extern const GdkPixdata wp_fastfood_large_pixbuf;
extern const GdkPixdata wp_fhs_facility_large_pixbuf;
extern const GdkPixdata wp_fish_large_pixbuf;
@@ -165,6 +166,7 @@ extern const GdkPixdata wp_geocache_large_pixbuf;
extern const GdkPixdata wp_glider_large_pixbuf;
extern const GdkPixdata wp_golf_large_pixbuf;
extern const GdkPixdata wp_grnd_trans_large_pixbuf;
+extern const GdkPixdata wp_helipad_large_pixbuf;
extern const GdkPixdata wp_horn_large_pixbuf;
extern const GdkPixdata wp_house_large_pixbuf;
extern const GdkPixdata wp_ice_skating_large_pixbuf;
diff --git a/src/icons/wp_exit_large.png b/src/icons/wp_exit_large.png
new file mode 100644
index 0000000..1ff9cbc
--- /dev/null
+++ b/src/icons/wp_exit_large.png
Binary files differ
diff --git a/src/icons/wp_grnd_trans_large.png b/src/icons/wp_grnd_trans_large.png
index 61655ab..aa8a0e6 100644
--- a/src/icons/wp_grnd_trans_large.png
+++ b/src/icons/wp_grnd_trans_large.png
Binary files differ
diff --git a/src/icons/wp_helipad_large.png b/src/icons/wp_helipad_large.png
new file mode 100644
index 0000000..1b47b2e
--- /dev/null
+++ b/src/icons/wp_helipad_large.png
Binary files differ
diff --git a/src/libjpeg/jpeg-data.c b/src/libjpeg/jpeg-data.c
index c175f59..9848301 100644
--- a/src/libjpeg/jpeg-data.c
+++ b/src/libjpeg/jpeg-data.c
@@ -94,7 +94,6 @@ jpeg_data_save_file (JPEGData *data, const char *path)
if (!d)
return 0;
- remove (path);
f = fopen (path, "wb");
if (!f) {
free (d);
@@ -201,7 +200,7 @@ jpeg_data_load_data (JPEGData *data, const unsigned char *d,
for (i = 0; i < MIN(7, size - o); i++)
if (d[o + i] != 0xff)
break;
- if (!JPEG_IS_MARKER (d[o + i])) {
+ if ((i >= size - o) || !JPEG_IS_MARKER (d[o + i])) {
exif_log (data->priv->log, EXIF_LOG_CODE_CORRUPT_DATA, "jpeg-data",
_("Data does not follow JPEG specification."));
return;
@@ -222,10 +221,11 @@ jpeg_data_load_data (JPEGData *data, const unsigned char *d,
default:
/* Read the length of the section */
+ if (2 > size - o) { o = size; break; }
len = ((d[o] << 8) | d[o + 1]) - 2;
if (len > size) { o = size; break; }
o += 2;
- if (o + len > size) { o = size; break; }
+ if (len > size - o) { o = size; break; }
switch (s->marker) {
case JPEG_MARKER_APP1:
@@ -235,24 +235,35 @@ jpeg_data_load_data (JPEGData *data, const unsigned char *d,
default:
s->content.generic.data =
malloc (sizeof (char) * len);
- if (!s->content.generic.data) return;
+ if (!s->content.generic.data) {
+ EXIF_LOG_NO_MEMORY (data->priv->log, "jpeg-data", sizeof (char) * len);
+ return;
+ }
s->content.generic.size = len;
memcpy (s->content.generic.data, &d[o], len);
/* In case of SOS, image data will follow. */
if (s->marker == JPEG_MARKER_SOS) {
- /* -2 means 'take all but the last 2 bytes which are hoped to be JPEG_MARKER_EOI */
- data->size = size - 2 - o - len;
- if (d[o + len + data->size] != 0xFF) {
- /* A truncated file (i.e. w/o JPEG_MARKER_EOI at the end).
- Instead of trying to use the last two bytes as marker,
- touching memory beyond allocated memory and posssibly saving
- back screwed file, we rather take the rest of the file. */
- data->size += 2;
+ data->size = size - o - len;
+ if (data->size >= 2) {
+ /* -2 means 'take all but the last 2 bytes which are
+ hoped to be JPEG_MARKER_EOI */
+ data->size -= 2;
+ if (d[o + len + data->size] != 0xFF) {
+ /* A truncated file (i.e. w/o JPEG_MARKER_EOI at the end).
+ Instead of trying to use the last two bytes as marker,
+ touching memory beyond allocated memory and posssibly saving
+ back screwed file, we rather take the rest of the file. */
+ data->size += 2;
+ }
}
data->data = malloc (
sizeof (char) * data->size);
- if (!data->data) return;
+ if (!data->data) {
+ EXIF_LOG_NO_MEMORY (data->priv->log, "jpeg-data", sizeof (char) * data->size);
+ data->size = 0;
+ return;
+ }
memcpy (data->data, d + o + len,
data->size);
o += data->size;
diff --git a/src/main.c b/src/main.c
index 4e84131..f20fdcf 100644
--- a/src/main.c
+++ b/src/main.c
@@ -31,9 +31,11 @@
#include "babel.h"
#include "curl_download.h"
#include "preferences.h"
+#include "viklayer_defaults.h"
#include "globals.h"
#include "vikmapslayer.h"
-#include "util.h"
+#include "vikrouting.h"
+#include "vikutils.h"
#ifdef VIK_CONFIG_GEOCACHES
void a_datasource_gc_init();
@@ -119,7 +121,9 @@ int main( int argc, char *argv[] )
bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
textdomain (GETTEXT_PACKAGE);
+#if ! GLIB_CHECK_VERSION (2, 32, 0)
g_thread_init ( NULL );
+#endif
gdk_threads_init ();
gui_initialized = gtk_init_with_args (&argc, &argv, "files+", entries, NULL, &error);
@@ -160,10 +164,16 @@ int main( int argc, char *argv[] )
XSetErrorHandler(myXErrorHandler);
#endif
+ // Discover if this is the very first run
+ a_vik_very_first_run ();
+
+ a_settings_init ();
a_preferences_init ();
a_vik_preferences_init ();
+ a_layer_defaults_init ();
+
a_download_init();
curl_download_init();
@@ -180,16 +190,21 @@ int main( int argc, char *argv[] )
a_datasource_gc_init();
#endif
+ vik_routing_prefs_init();
+
/* Set the icon */
main_icon = gdk_pixbuf_from_pixdata(&viking_pixbuf, FALSE, NULL);
gtk_window_set_default_icon(main_icon);
gdk_threads_enter ();
+ // Ask for confirmation of default settings on first run
+ vu_set_auto_features_on_first_run ();
+
/* Create the first window */
first_window = vik_window_new_window();
- check_latest_version ( GTK_WINDOW(first_window) );
+ vu_check_latest_version ( GTK_WINDOW(first_window) );
while ( ++i < argc ) {
if ( strcmp(argv[i],"--") == 0 && !dashdash_already )
@@ -208,6 +223,8 @@ int main( int argc, char *argv[] )
}
}
+ vik_window_new_window_finish ( first_window );
+
gtk_main ();
gdk_threads_leave ();
@@ -216,7 +233,9 @@ int main( int argc, char *argv[] )
a_background_uninit ();
a_mapcache_uninit ();
a_dems_uninit ();
+ a_layer_defaults_uninit ();
a_preferences_uninit ();
+ a_settings_uninit ();
curl_download_uninit();
diff --git a/src/mapcache.c b/src/mapcache.c
index fe48e1f..7b731bc 100644
--- a/src/mapcache.c
+++ b/src/mapcache.c
@@ -58,7 +58,7 @@ static VikLayerParamScale params_scales[] = {
};
static VikLayerParam prefs[] = {
- { VIKING_PREFERENCES_NAMESPACE "mapcache_size", VIK_LAYER_PARAM_UINT, VIK_LAYER_GROUP_NONE, N_("Map cache memory size (MB):"), VIK_LAYER_WIDGET_HSCALE, params_scales, NULL, NULL },
+ { VIK_LAYER_NUM_TYPES, VIKING_PREFERENCES_NAMESPACE "mapcache_size", VIK_LAYER_PARAM_UINT, VIK_LAYER_GROUP_NONE, N_("Map cache memory size (MB):"), VIK_LAYER_WIDGET_HSCALE, params_scales, NULL, NULL },
};
void a_mapcache_init ()
diff --git a/src/maputils.c b/src/maputils.c
new file mode 100644
index 0000000..fa576b2
--- /dev/null
+++ b/src/maputils.c
@@ -0,0 +1,74 @@
+/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 4; tab-width: 4 -*- */
+/*
+ * viking -- GPS Data and Topo Analyzer, Explorer, and Manager
+ *
+ * Copyright (C) 2013, Rob Norris <rw_norris@hotmail.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ */
+#include "maputils.h"
+
+// World Scale: VIK_GZ(17)
+// down to
+// Submeter scale: 1/VIK_GZ(5)
+// No map provider is going to have tiles at the highest zoom in level - but we can interpolate to that.
+
+static const gdouble scale_mpps[] = { VIK_GZ(0), VIK_GZ(1), VIK_GZ(2), VIK_GZ(3), VIK_GZ(4), VIK_GZ(5),
+ VIK_GZ(6), VIK_GZ(7), VIK_GZ(8), VIK_GZ(9), VIK_GZ(10), VIK_GZ(11),
+ VIK_GZ(12), VIK_GZ(13), VIK_GZ(14), VIK_GZ(15), VIK_GZ(16), VIK_GZ(17) };
+static const gint num_scales = (sizeof(scale_mpps) / sizeof(scale_mpps[0]));
+
+static const gdouble scale_neg_mpps[] = { 1.0/VIK_GZ(0), 1.0/VIK_GZ(1), 1.0/VIK_GZ(2),
+ 1.0/VIK_GZ(3), 1.0/VIK_GZ(4), 1.0/VIK_GZ(5) };
+static const gint num_scales_neg = (sizeof(scale_neg_mpps) / sizeof(scale_neg_mpps[0]));
+
+#define ERROR_MARGIN 0.01
+/**
+ * map_utils_mpp_to_scale:
+ * @mpp: The so called 'mpp'
+ *
+ * Returns: the zoom scale value which may be negative.
+ */
+gint map_utils_mpp_to_scale ( gdouble mpp ) {
+ gint i;
+ for ( i = 0; i < num_scales; i++ ) {
+ if ( ABS(scale_mpps[i] - mpp) < ERROR_MARGIN ) {
+ return i;
+ }
+ }
+ for ( i = 0; i < num_scales_neg; i++ ) {
+ if ( ABS(scale_neg_mpps[i] - mpp) < 0.000001 ) {
+ return -i;
+ }
+ }
+
+ return 255;
+}
+
+/**
+ * map_utils_mpp_to_zoom_level:
+ * @mpp: The so called 'mpp'
+ *
+ * Returns: a Zoom Level
+ * See: http://wiki.openstreetmap.org/wiki/Zoom_levels
+ */
+guint8 map_utils_mpp_to_zoom_level ( gdouble mpp )
+{
+ gint answer = 17 - map_utils_mpp_to_scale ( mpp );
+ if ( answer < 0 )
+ answer = 17;
+ return answer;
+}
diff --git a/src/maputils.h b/src/maputils.h
new file mode 100644
index 0000000..dd8317d
--- /dev/null
+++ b/src/maputils.h
@@ -0,0 +1,39 @@
+/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 4; tab-width: 4 -*- */
+/*
+ * viking -- GPS Data and Topo Analyzer, Explorer, and Manager
+ *
+ * Copyright (C) 2013, Rob Norris <rw_norris@hotmail.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ */
+#ifndef _MAP_UTILS_H
+#define _MAP_UTILS_H
+
+#include <glib.h>
+
+G_BEGIN_DECLS
+
+/* 1 << (x) is like a 2**(x) */
+#define VIK_GZ(x) ((1<<(x)))
+// Not sure what GZ stands for probably Google Zoom
+
+gint map_utils_mpp_to_scale ( gdouble mpp );
+
+guint8 map_utils_mpp_to_zoom_level ( gdouble mpp );
+
+G_BEGIN_DECLS
+
+#endif
diff --git a/src/menu.xml.h b/src/menu.xml.h
index 31117fd..ea04891 100644
--- a/src/menu.xml.h
+++ b/src/menu.xml.h
@@ -11,13 +11,15 @@ static const char *menu_xml =
" <menuitem action='Append'/>"
" <menuitem action='Save'/>"
" <menuitem action='SaveAs'/>"
+ " <menuitem action='FileProperties'/>"
" <separator/>"
+ " <menu action='Export'>"
+ " <menuitem action='ExportGPX'/>"
+ " </menu>"
" <menu action='Acquire'>"
" <menuitem action='AcquireGPS'/>"
" <menuitem action='AcquireGPSBabel'/>"
-#ifdef VIK_CONFIG_GOOGLE
- " <menuitem action='AcquireGoogle'/>"
-#endif
+ " <menuitem action='AcquireRouting'/>"
#ifdef VIK_CONFIG_OPENSTREETMAP
" <menuitem action='AcquireOSM'/>"
" <menuitem action='AcquireMyOSM'/>"
@@ -28,6 +30,7 @@ static const char *menu_xml =
#ifdef VIK_CONFIG_GEOTAG
" <menuitem action='AcquireGeotag'/>"
#endif
+ " <menuitem action='AcquireURL'/>"
#ifdef VIK_CONFIG_GEONAMES
" <menuitem action='AcquireWikipedia'/>"
#endif
@@ -52,6 +55,7 @@ static const char *menu_xml =
" <menuitem action='MapCacheFlush'/>"
" <menuitem action='SetDefaultLocation'/>"
" <menuitem action='Preferences'/>"
+ " <menu action='LayerDefaults'/>"
" </menu>"
" <menu action='View'>"
" <menuitem action='ModeUTM'/>"
diff --git a/src/modules.c b/src/modules.c
index c8c146f..3b2dc79 100644
--- a/src/modules.c
+++ b/src/modules.c
@@ -43,12 +43,27 @@
#include "dir.h"
#include "vikmapslayer.h"
#include "vikexttools.h"
+#include "vikexttool_datasources.h"
#include "vikgoto.h"
+#include "vikrouting.h"
+
+/* Loadable types */
+#include "vikslippymapsource.h"
+#include "viktmsmapsource.h"
+#include "vikwmscmapsource.h"
+#include "vikwebtoolcenter.h"
+#include "vikwebtoolbounds.h"
+#include "vikgotoxmltool.h"
+#include "vikwebtool_datasource.h"
+#include "vikroutingwebengine.h"
+
#include "vikgobjectbuilder.h"
#define VIKING_MAPS_FILE "maps.xml"
#define VIKING_EXTTOOLS_FILE "external_tools.xml"
+#define VIKING_DATASOURCES_FILE "datasources.xml"
#define VIKING_GOTOTOOLS_FILE "goto_tools.xml"
+#define VIKING_ROUTING_FILE "routing.xml"
static void
modules_register_map_source(VikGobjectBuilder *self, GObject *object)
@@ -68,6 +83,14 @@ modules_register_exttools(VikGobjectBuilder *self, GObject *object)
}
static void
+modules_register_datasources(VikGobjectBuilder *self, GObject *object)
+{
+ g_debug (__FUNCTION__);
+ VikExtTool *tool = VIK_EXT_TOOL (object);
+ vik_ext_tool_datasources_register (tool);
+}
+
+static void
modules_register_gototools(VikGobjectBuilder *self, GObject *object)
{
g_debug (__FUNCTION__);
@@ -76,6 +99,14 @@ modules_register_gototools(VikGobjectBuilder *self, GObject *object)
}
static void
+modules_register_routing_engine(VikGobjectBuilder *self, GObject *object)
+{
+ g_debug (__FUNCTION__);
+ VikRoutingEngine *engine = VIK_ROUTING_ENGINE (object);
+ vik_routing_register (engine);
+}
+
+static void
modules_load_config_dir(const gchar *dir)
{
g_debug("Loading configurations from directory %s", dir);
@@ -89,6 +120,7 @@ modules_load_config_dir(const gchar *dir)
vik_gobject_builder_parse (builder, maps);
g_object_unref (builder);
}
+ g_free ( maps );
/* External tools */
gchar *tools = g_build_filename(dir, VIKING_EXTTOOLS_FILE, NULL);
@@ -99,6 +131,17 @@ modules_load_config_dir(const gchar *dir)
vik_gobject_builder_parse (builder, tools);
g_object_unref (builder);
}
+ g_free ( tools );
+
+ gchar *datasources = g_build_filename(dir, VIKING_DATASOURCES_FILE, NULL);
+ if (g_access (datasources, R_OK) == 0)
+ {
+ VikGobjectBuilder *builder = vik_gobject_builder_new ();
+ g_signal_connect (builder, "new-object", G_CALLBACK (modules_register_datasources), NULL);
+ vik_gobject_builder_parse (builder, datasources);
+ g_object_unref (builder);
+ }
+ g_free ( datasources );
/* Go-to search engines */
gchar *go_to = g_build_filename(dir, VIKING_GOTOTOOLS_FILE, NULL);
@@ -109,6 +152,18 @@ modules_load_config_dir(const gchar *dir)
vik_gobject_builder_parse (builder, go_to);
g_object_unref (builder);
}
+ g_free ( go_to );
+
+ /* Routing engines */
+ gchar *routing = g_build_filename(dir, VIKING_ROUTING_FILE, NULL);
+ if (g_access (routing, R_OK) == 0)
+ {
+ VikGobjectBuilder *builder = vik_gobject_builder_new ();
+ g_signal_connect (builder, "new-object", G_CALLBACK (modules_register_routing_engine), NULL);
+ vik_gobject_builder_parse (builder, routing);
+ g_object_unref (builder);
+ }
+ g_free ( routing );
}
static void
@@ -147,6 +202,34 @@ modules_load_config(void)
modules_load_config_dir(a_get_viking_dir());
}
+static void
+register_loadable_types(void)
+{
+ /* Force registering of loadable types */
+ volatile GType types[] = {
+ /* Maps */
+ VIK_TYPE_SLIPPY_MAP_SOURCE,
+ VIK_TYPE_TMS_MAP_SOURCE,
+ VIK_TYPE_WMSC_MAP_SOURCE,
+
+ /* Goto */
+ VIK_GOTO_XML_TOOL_TYPE,
+
+ /* Tools */
+ VIK_WEBTOOL_CENTER_TYPE,
+ VIK_WEBTOOL_BOUNDS_TYPE,
+
+ /* Datasource */
+ VIK_WEBTOOL_DATASOURCE_TYPE,
+
+ /* Routing */
+ VIK_ROUTING_WEB_ENGINE_TYPE
+ };
+
+ /* kill 'unused variable' + argument type warnings */
+ g_debug("%d types loaded", (int)sizeof(types)/(int)sizeof(GType));
+}
+
void modules_init()
{
#ifdef VIK_CONFIG_BING
@@ -175,6 +258,8 @@ void modules_init()
spotmaps_init();
#endif
+ register_loadable_types ();
+
/* As modules are loaded, we can load configuration files */
modules_load_config ();
}
diff --git a/src/osm-traces.c b/src/osm-traces.c
index 2224c1e..d4924b6 100644
--- a/src/osm-traces.c
+++ b/src/osm-traces.c
@@ -46,6 +46,9 @@
#define VIKING_OSM_TRACES_PARAMS_GROUP_KEY "osm_traces"
#define VIKING_OSM_TRACES_PARAMS_NAMESPACE "osm_traces."
+#define VIK_SETTINGS_OSM_TRACE_VIS "osm_trace_visibility"
+static gint last_active = -1;
+
/**
* Login to use for OSM uploading.
*/
@@ -84,14 +87,15 @@ typedef struct _OsmTracesInfo {
gchar *name;
gchar *description;
gchar *tags;
+ gboolean anonymize_times; // ATM only available on a single track.
const OsmTraceVis_t *vistype;
VikTrwLayer *vtl;
VikTrack *trk;
} OsmTracesInfo;
static VikLayerParam prefs[] = {
- { VIKING_OSM_TRACES_PARAMS_NAMESPACE "username", VIK_LAYER_PARAM_STRING, VIK_LAYER_GROUP_NONE, N_("OSM username:"), VIK_LAYER_WIDGET_ENTRY, NULL, NULL, NULL },
- { VIKING_OSM_TRACES_PARAMS_NAMESPACE "password", VIK_LAYER_PARAM_STRING, VIK_LAYER_GROUP_NONE, N_("OSM password:"), VIK_LAYER_WIDGET_PASSWORD, NULL, NULL, NULL },
+ { VIK_LAYER_NUM_TYPES, VIKING_OSM_TRACES_PARAMS_NAMESPACE "username", VIK_LAYER_PARAM_STRING, VIK_LAYER_GROUP_NONE, N_("OSM username:"), VIK_LAYER_WIDGET_ENTRY, NULL, NULL, NULL },
+ { VIK_LAYER_NUM_TYPES, VIKING_OSM_TRACES_PARAMS_NAMESPACE "password", VIK_LAYER_PARAM_STRING, VIK_LAYER_GROUP_NONE, N_("OSM password:"), VIK_LAYER_WIDGET_PASSWORD, NULL, NULL, NULL },
};
/**
@@ -285,7 +289,15 @@ static void osm_traces_upload_thread ( OsmTracesInfo *oti, gpointer threaddata )
if (oti->trk != NULL)
{
/* Upload only the selected track */
- a_gpx_write_track_file(oti->trk, file, &options);
+ if ( oti->anonymize_times )
+ {
+ VikTrack *trk = vik_track_copy(oti->trk, TRUE);
+ vik_track_anonymize_times(trk);
+ a_gpx_write_track_file(trk, file, &options);
+ vik_track_free(trk);
+ }
+ else
+ a_gpx_write_track_file(oti->trk, file, &options);
}
else
{
@@ -394,21 +406,22 @@ static void osm_traces_upload_viktrwlayer ( VikTrwLayer *vtl, VikTrack *trk )
GtkWidget *name_label, *name_entry;
GtkWidget *description_label, *description_entry;
GtkWidget *tags_label, *tags_entry;
- GtkComboBox *visibility;
+ GtkWidget *visibility;
+ GtkWidget *anonymize_checkbutton = NULL;
const OsmTraceVis_t *vis_t;
user_label = gtk_label_new(_("Email:"));
user_entry = gtk_entry_new();
- gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dia)->vbox), user_label, FALSE, FALSE, 0);
- gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dia)->vbox), user_entry, FALSE, FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dia))), user_label, FALSE, FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dia))), user_entry, FALSE, FALSE, 0);
gtk_widget_set_tooltip_markup(GTK_WIDGET(user_entry),
_("The email used as login\n"
"<small>Enter the email you use to login into www.openstreetmap.org.</small>"));
password_label = gtk_label_new(_("Password:"));
password_entry = gtk_entry_new();
- gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dia)->vbox), password_label, FALSE, FALSE, 0);
- gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dia)->vbox), password_entry, FALSE, FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dia))), password_label, FALSE, FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dia))), password_entry, FALSE, FALSE, 0);
gtk_widget_set_tooltip_markup(GTK_WIDGET(password_entry),
_("The password used to login\n"
"<small>Enter the password you use to login into www.openstreetmap.org.</small>"));
@@ -422,8 +435,8 @@ static void osm_traces_upload_viktrwlayer ( VikTrwLayer *vtl, VikTrack *trk )
else
name = vik_layer_get_name(VIK_LAYER(vtl));
gtk_entry_set_text(GTK_ENTRY(name_entry), name);
- gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dia)->vbox), name_label, FALSE, FALSE, 0);
- gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dia)->vbox), name_entry, FALSE, FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dia))), name_label, FALSE, FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dia))), name_entry, FALSE, FALSE, 0);
gtk_widget_set_tooltip_markup(GTK_WIDGET(name_entry),
_("The name of the file on OSM\n"
"<small>This is the name of the file created on the server."
@@ -431,24 +444,55 @@ static void osm_traces_upload_viktrwlayer ( VikTrwLayer *vtl, VikTrack *trk )
description_label = gtk_label_new(_("Description:"));
description_entry = gtk_entry_new();
- gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dia)->vbox), description_label, FALSE, FALSE, 0);
- gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dia)->vbox), description_entry, FALSE, FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dia))), description_label, FALSE, FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dia))), description_entry, FALSE, FALSE, 0);
gtk_widget_set_tooltip_text(GTK_WIDGET(description_entry),
_("The description of the trace"));
+ if (trk != NULL) {
+ GtkWidget *label = gtk_label_new(_("Anonymize Times:"));
+ anonymize_checkbutton = gtk_check_button_new ();
+ gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dia))), label, FALSE, FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dia))), anonymize_checkbutton, FALSE, FALSE, 0);
+ gtk_widget_set_tooltip_text(GTK_WIDGET(anonymize_checkbutton),
+ _("Anonymize times of the trace.\n"
+ "<small>You may choose to make the trace identifiable, yet mask the actual real time values</small>"));
+ }
+
tags_label = gtk_label_new(_("Tags:"));
tags_entry = gtk_entry_new();
- gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dia)->vbox), tags_label, FALSE, FALSE, 0);
- gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dia)->vbox), tags_entry, FALSE, FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dia))), tags_label, FALSE, FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dia))), tags_entry, FALSE, FALSE, 0);
gtk_widget_set_tooltip_text(GTK_WIDGET(tags_entry),
_("The tags associated to the trace"));
- visibility = GTK_COMBO_BOX(gtk_combo_box_new_text ());
+ visibility = vik_combo_box_text_new();
for (vis_t = OsmTraceVis; vis_t->combostr != NULL; vis_t++)
- gtk_combo_box_append_text(visibility, vis_t->combostr);
- /* Set identifiable by default */
- gtk_combo_box_set_active(visibility, 0);
- gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dia)->vbox), GTK_WIDGET(visibility), FALSE, FALSE, 0);
+ vik_combo_box_text_append (visibility, vis_t->combostr);
+
+ // Set identifiable by default or use the settings for the value
+ if ( last_active < 0 ) {
+ gint find_entry = -1;
+ gint wanted_entry = -1;
+ gchar *vis = NULL;
+ if ( a_settings_get_string ( VIK_SETTINGS_OSM_TRACE_VIS, &vis ) ) {
+ // Use setting
+ if ( vis ) {
+ for (vis_t = OsmTraceVis; vis_t->apistr != NULL; vis_t++) {
+ find_entry++;
+ if (!strcmp(vis, vis_t->apistr)) {
+ wanted_entry = find_entry;
+ }
+ }
+ }
+ // If not found set it to the first entry, otherwise use the entry
+ last_active = ( wanted_entry < 0 ) ? 0 : wanted_entry;
+ }
+ else
+ last_active = 0;
+ }
+ gtk_combo_box_set_active(GTK_COMBO_BOX(visibility), last_active);
+ gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dia))), GTK_WIDGET(visibility), FALSE, FALSE, 0);
/* User should think about it first... */
gtk_dialog_set_default_response ( GTK_DIALOG(dia), GTK_RESPONSE_REJECT );
@@ -470,9 +514,17 @@ static void osm_traces_upload_viktrwlayer ( VikTrwLayer *vtl, VikTrack *trk )
info->description = g_strdup(gtk_entry_get_text(GTK_ENTRY(description_entry)));
/* TODO Normalize tags: they will be used as URL part */
info->tags = g_strdup(gtk_entry_get_text(GTK_ENTRY(tags_entry)));
- info->vistype = &OsmTraceVis[gtk_combo_box_get_active(visibility)];
+ info->vistype = &OsmTraceVis[gtk_combo_box_get_active(GTK_COMBO_BOX(visibility))];
info->vtl = VIK_TRW_LAYER(g_object_ref(vtl));
info->trk = trk;
+ if (trk != NULL && anonymize_checkbutton != NULL )
+ info->anonymize_times = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(anonymize_checkbutton));
+ else
+ info->anonymize_times = FALSE;
+
+ // Save visibility value for default reuse
+ last_active = gtk_combo_box_get_active(GTK_COMBO_BOX(visibility));
+ a_settings_set_string ( VIK_SETTINGS_OSM_TRACE_VIS, OsmTraceVis[last_active].apistr );
title = g_strdup_printf(_("Uploading %s to OSM"), info->name);
diff --git a/src/osm-traces.h b/src/osm-traces.h
index 2aa1427..01fd8ba 100644
--- a/src/osm-traces.h
+++ b/src/osm-traces.h
@@ -35,6 +35,6 @@ void osm_set_login (const gchar *user_, const gchar *password_);
gchar *osm_get_login();
void osm_login_widgets (GtkWidget *user_entry, GtkWidget *password_entry);
-G_BEGIN_DECLS
+G_END_DECLS
#endif
diff --git a/src/osm.c b/src/osm.c
index cf23c72..8b31dfd 100644
--- a/src/osm.c
+++ b/src/osm.c
@@ -2,7 +2,7 @@
* viking -- GPS Data and Topo Analyzer, Explorer, and Manager
*
* Copyright (C) 2003-2005, Evan Battaglia <gtoevan@gmx.net>
- * Copyright (C) 2007, Guilhem Bonnefille <guilhem.bonnefille@gmail.com>
+ * Copyright (C) 2007,2013, Guilhem Bonnefille <guilhem.bonnefille@gmail.com>
* Copyright (c) 2012, Rob Norris <rw_norris@hotmail.com>
*
* This program is free software; you can redistribute it and/or modify
@@ -32,9 +32,13 @@
#include "vikwmscmapsource.h"
#include "vikwebtoolcenter.h"
#include "vikwebtoolbounds.h"
+#include "vikwebtool_datasource.h"
#include "vikexttools.h"
+#include "vikexttool_datasources.h"
#include "vikgotoxmltool.h"
#include "vikgoto.h"
+#include "vikrouting.h"
+#include "vikroutingwebengine.h"
/* initialisation */
void osm_init () {
@@ -87,6 +91,18 @@ void osm_init () {
"license", "MapQuest Specific",
"license-url", "http://developer.mapquest.com/web/info/terms-of-use",
NULL));
+ VikMapSource *hot_type =
+ VIK_MAP_SOURCE(g_object_new(VIK_TYPE_SLIPPY_MAP_SOURCE,
+ "id", 22,
+ "label", "OpenStreetMap (Humanitarian)",
+ "hostname", "c.tile.openstreetmap.fr",
+ "url", "/hot/%d/%d/%d.png",
+ "check-file-server-time", TRUE,
+ "use-etag", FALSE,
+ "copyright", "© OpenStreetMap contributors. Tiles courtesy of Humanitarian OpenStreetMap Team",
+ "license", "CC-BY-SA",
+ "license-url", "http://www.openstreetmap.org/copyright",
+ NULL));
// NB no cache needed for this type!!
VikMapSource *direct_type =
@@ -102,11 +118,12 @@ void osm_init () {
maps_layer_register_map_source (mapnik_type);
maps_layer_register_map_source (cycle_type);
maps_layer_register_map_source (transport_type);
+ maps_layer_register_map_source (hot_type);
maps_layer_register_map_source (direct_type);
// Webtools
VikWebtoolCenter *webtool = NULL;
- webtool = vik_webtool_center_new_with_members ( _("OSM (view)"), "http://openstreetmap.org/?lat=%s&lon=%s&zoom=%d&layers=B000FTF" );
+ webtool = vik_webtool_center_new_with_members ( _("OSM (view)"), "http://openstreetmap.org/?lat=%s&lon=%s&zoom=%d" );
vik_ext_tools_register ( VIK_EXT_TOOL ( webtool ) );
g_object_unref ( webtool );
@@ -125,6 +142,12 @@ void osm_init () {
vik_ext_tools_register ( VIK_EXT_TOOL ( webtoolbounds ) );
g_object_unref ( webtoolbounds );
+ // Datasource
+ VikWebtoolDatasource *vwtds = NULL;
+ vwtds = vik_webtool_datasource_new_with_members ( _("OpenStreetMap Notes"), "http://api.openstreetmap.org/api/0.6/notes.gpx?bbox=%s,%s,%s,%s&amp;closed=0", "LBRT", NULL );
+ vik_ext_tool_datasources_register ( VIK_EXT_TOOL ( vwtds ) );
+ g_object_unref ( vwtds );
+
// Goto
VikGotoXmlTool *nominatim = VIK_GOTO_XML_TOOL ( g_object_new ( VIK_GOTO_XML_TOOL_TYPE, "label", "OSM Nominatim",
"url-format", "http://nominatim.openstreetmap.org/search?q=%s&format=xml",
@@ -145,5 +168,23 @@ void osm_init () {
NULL ) );
vik_goto_register ( VIK_GOTO_TOOL ( namefinder ) );
g_object_unref ( namefinder );
+
+ // Not really OSM but can't be bothered to create somewhere else to put it...
+ webtool = vik_webtool_center_new_with_members ( _("Wikimedia Toolserver GeoHack"), "http://toolserver.org/~geohack/geohack.php?params=%s;%s" );
+ vik_ext_tools_register ( VIK_EXT_TOOL ( webtool ) );
+ g_object_unref ( webtool );
+
+ /* See API references: https://github.com/DennisOSRM/Project-OSRM/wiki/Server-api */
+ VikRoutingEngine *osrm = g_object_new ( VIK_ROUTING_WEB_ENGINE_TYPE,
+ "id", "osrm",
+ "label", "OSRM",
+ "format", "gpx",
+ "url-base", "http://router.project-osrm.org/viaroute?output=gpx",
+ "url-start-ll", "&loc=%s,%s",
+ "url-stop-ll", "&loc=%s,%s",
+ "url-via-ll", "&loc=%s,%s",
+ NULL);
+ vik_routing_register ( VIK_ROUTING_ENGINE ( osrm ) );
+ g_object_unref ( osrm );
}
diff --git a/src/preferences.c b/src/preferences.c
index fc75ae3..907b1ec 100644
--- a/src/preferences.c
+++ b/src/preferences.c
@@ -21,24 +21,19 @@
#include <gtk/gtk.h>
#include <glib/gi18n.h>
#include <string.h>
-#include <stdlib.h>
#include <stdio.h>
#include <glib/gstdio.h>
#include "preferences.h"
#include "dir.h"
#include "file.h"
+#include "util.h"
-// TODO: register_group
// TODO: STRING_LIST
// TODO: share code in file reading
// TODO: remove hackaround in show_window
-// TODO: move typeddata to uibuilder, make it more used & general, it's a "prettier" solution methinks
-// maybe this wasn't such a good idea...
#define VIKING_PREFS_FILE "viking.prefs"
-#define TEST_BOOLEAN(str) (! ((str)[0] == '\0' || (str)[0] == '0' || (str)[0] == 'n' || (str)[0] == 'N' || (str)[0] == 'f' || (str)[0] == 'F') )
-
static GPtrArray *params;
static GHashTable *values;
gboolean loaded;
@@ -56,6 +51,7 @@ static void preferences_groups_init()
static void preferences_groups_uninit()
{
+ g_ptr_array_foreach ( groups_names, (GFunc)g_free, NULL );
g_ptr_array_free ( groups_names, TRUE );
g_hash_table_destroy ( groups_keys_to_indices );
}
@@ -81,101 +77,6 @@ static gint16 preferences_groups_key_to_index( const gchar *key )
/*****************************/
-/************/
-
-typedef struct {
- VikLayerParamData data;
- guint8 type;
-} VikLayerTypedParamData;
-
-static void layer_typed_param_data_free(gpointer p)
-{
- VikLayerTypedParamData *val = (VikLayerTypedParamData *)p;
- switch ( val->type ) {
- case VIK_LAYER_PARAM_STRING:
- if ( val->data.s )
- g_free ( (gpointer)val->data.s );
- break;
- /* TODO: APPLICABLE TO US? NOTE: string layer works auniquely: data.sl should NOT be free'd when
- * the internals call get_param -- i.e. it should be managed w/in the layer.
- * The value passed by the internals into set_param should also be managed
- * by the layer -- i.e. free'd by the layer.
- */
- case VIK_LAYER_PARAM_STRING_LIST:
- g_critical ( "Param strings not implemented in preferences"); //fake it
- break;
- }
- g_free ( val );
-}
-
-static VikLayerTypedParamData *layer_typed_param_data_copy_from_data(guint8 type, VikLayerParamData val) {
- VikLayerTypedParamData *newval = g_new(VikLayerTypedParamData,1);
- newval->data = val;
- newval->type = type;
- switch ( newval->type ) {
- case VIK_LAYER_PARAM_STRING: {
- gchar *s = g_strdup(newval->data.s);
- newval->data.s = s;
- break;
- }
- /* TODO: APPLICABLE TO US? NOTE: string layer works auniquely: data.sl should NOT be free'd when
- * the internals call get_param -- i.e. it should be managed w/in the layer.
- * The value passed by the internals into set_param should also be managed
- * by the layer -- i.e. free'd by the layer.
- */
- case VIK_LAYER_PARAM_STRING_LIST:
- g_critical ( "Param strings not implemented in preferences"); //fake it
- break;
- }
- return newval;
-}
-
-/* TODO: share this code with file.c */
-static VikLayerTypedParamData *layer_data_typed_param_copy_from_string ( guint8 type, const gchar *str )
-{
- g_assert ( type != VIK_LAYER_PARAM_STRING_LIST );
- VikLayerTypedParamData *rv = g_new(VikLayerTypedParamData,1);
- rv->type = type;
- switch ( type )
- {
- case VIK_LAYER_PARAM_DOUBLE: rv->data.d = strtod(str, NULL); break;
- case VIK_LAYER_PARAM_UINT: rv->data.u = strtoul(str, NULL, 10); break;
- case VIK_LAYER_PARAM_INT: rv->data.i = strtol(str, NULL, 10); break;
- case VIK_LAYER_PARAM_BOOLEAN: rv->data.b = TEST_BOOLEAN(str); break;
- case VIK_LAYER_PARAM_COLOR: memset(&(rv->data.c), 0, sizeof(rv->data.c)); /* default: black */
- gdk_color_parse ( str, &(rv->data.c) ); break;
- /* STRING or STRING_LIST -- if STRING_LIST, just set param to add a STRING */
- default: {
- gchar *s = g_strdup(str);
- rv->data.s = s;
- }
- }
- return rv;
-}
-
-/************/
-
-/* MAKES A COPY OF THE KEY!!! */
-static gboolean preferences_load_parse_param(gchar *buf, gchar **key, gchar **val )
-{
- gchar *eq_pos;
- gint len;
-
- // comments, special characters in viking file format
- if ( buf == NULL || buf[0] == '\0' || buf[0] == '~' || buf[0] == '=' || buf[0] == '#' )
- return FALSE;
- eq_pos = strchr ( buf, '=' );
- if ( ! eq_pos )
- return FALSE;
- *key = g_strndup ( buf, eq_pos - buf );
- *val = eq_pos + 1;
- len = strlen(*val);
- if ( len > 0 )
- if ( (*val)[len - 1] == '\n' )
- (*val) [ len - 1 ] = '\0'; /* cut off newline */
- return TRUE;
-}
-
static gboolean preferences_load_from_file()
{
gchar *fn = g_build_filename(a_get_viking_dir(), VIKING_PREFS_FILE, NULL);
@@ -189,11 +90,12 @@ static gboolean preferences_load_from_file()
while ( ! feof (f) ) {
if (fgets(buf,sizeof(buf),f) == NULL)
break;
- if ( preferences_load_parse_param(buf, &key, &val ) ) {
+ if ( split_string_from_file_on_equals ( buf, &key, &val ) ) {
// if it's not in there, ignore it
oldval = g_hash_table_lookup ( values, key );
if ( ! oldval ) {
g_free(key);
+ g_free(val);
continue;
}
@@ -202,11 +104,11 @@ static gboolean preferences_load_from_file()
if ( oldval->type == VIK_LAYER_PARAM_STRING_LIST )
g_critical ( "Param strings not implemented in preferences"); // fake it
- newval = layer_data_typed_param_copy_from_string ( oldval->type, val );
+ newval = vik_layer_data_typed_param_copy_from_string ( oldval->type, val );
g_hash_table_insert ( values, key, newval );
g_free(key);
-
+ g_free(val);
// change value
}
}
@@ -221,7 +123,7 @@ static void preferences_run_setparam ( gpointer notused, guint16 i, VikLayerPara
{
if ( params[i].type == VIK_LAYER_PARAM_STRING_LIST )
g_critical ( "Param strings not implemented in preferences"); //fake it
- g_hash_table_insert ( values, (gchar *)(params[i].name), layer_typed_param_data_copy_from_data(params[i].type, data) );
+ g_hash_table_insert ( values, (gchar *)(params[i].name), vik_layer_typed_param_data_copy_from_data(params[i].type, data) );
}
/* Allow preferences to be manipulated externally */
@@ -239,7 +141,11 @@ static VikLayerParamData preferences_run_getparam ( gpointer notused, guint16 i,
return val->data;
}
-/* TRUE on success */
+/**
+ * a_preferences_save_to_file:
+ *
+ * Returns: TRUE on success
+ */
gboolean a_preferences_save_to_file()
{
gchar *fn = g_build_filename(a_get_viking_dir(), VIKING_PREFS_FILE, NULL);
@@ -297,7 +203,7 @@ void a_preferences_register(VikLayerParam *pref, VikLayerParamData defaultval, c
/* copy value */
VikLayerParam *newpref = g_new(VikLayerParam,1);
*newpref = *pref;
- VikLayerTypedParamData *newval = layer_typed_param_data_copy_from_data(pref->type, defaultval);
+ VikLayerTypedParamData *newval = vik_layer_typed_param_data_copy_from_data(pref->type, defaultval);
if ( group_key )
newpref->group = preferences_groups_key_to_index ( group_key );
@@ -313,7 +219,7 @@ void a_preferences_init()
params = g_ptr_array_new ();
/* key not copied (same ptr as in pref), actual param data yes */
- values = g_hash_table_new_full ( g_str_hash, g_str_equal, NULL, layer_typed_param_data_free);
+ values = g_hash_table_new_full ( g_str_hash, g_str_equal, NULL, vik_layer_typed_param_data_free);
loaded = FALSE;
}
@@ -322,6 +228,7 @@ void a_preferences_uninit()
{
preferences_groups_uninit();
+ g_ptr_array_foreach ( params, (GFunc)g_free, NULL );
g_ptr_array_free ( params, TRUE );
g_hash_table_destroy ( values );
}
diff --git a/src/preferences.h b/src/preferences.h
index 6fc0577..09b045c 100644
--- a/src/preferences.h
+++ b/src/preferences.h
@@ -23,6 +23,8 @@
#include "uibuilder.h"
+G_BEGIN_DECLS
+
// TODO IMPORTANT!!!! add REGISTER_GROUP !!! OR SOMETHING!!! CURRENTLY GROUPLESS!!!
void a_preferences_init();
@@ -47,8 +49,9 @@ VikLayerParamData *a_preferences_get(const gchar *key);
/* Allow preferences to be manipulated externally */
void a_preferences_run_setparam ( VikLayerParamData data, VikLayerParam *params );
-/* TRUE on success */
gboolean a_preferences_save_to_file();
+G_END_DECLS
+
#endif
diff --git a/src/print-preview.c b/src/print-preview.c
index b7c8b71..8209605 100644
--- a/src/print-preview.c
+++ b/src/print-preview.c
@@ -21,8 +21,6 @@
#include <gtk/gtk.h>
-#if GTK_CHECK_VERSION(2,10,0)
-
#include "print-preview.h"
@@ -346,7 +344,7 @@ vik_print_preview_realize (GtkWidget *widget)
cursor = gdk_cursor_new_for_display (gtk_widget_get_display (widget),
GDK_FLEUR);
- gdk_window_set_cursor (widget->window, cursor);
+ gdk_window_set_cursor (gtk_widget_get_window(widget), cursor);
gdk_cursor_unref (cursor);
}
@@ -367,7 +365,7 @@ vik_print_preview_event (GtkWidget *widget,
switch (event->type)
{
case GDK_BUTTON_PRESS:
- gdk_pointer_grab (widget->window, FALSE,
+ gdk_pointer_grab (gtk_widget_get_window(widget), FALSE,
(GDK_BUTTON1_MOTION_MASK |
GDK_BUTTON_RELEASE_MASK),
NULL, NULL, event->button.time);
@@ -456,18 +454,18 @@ vik_print_preview_expose_event (GtkWidget *widget,
&top_margin,
&bottom_margin);
- cr = gdk_cairo_create (widget->window);
+ cr = gdk_cairo_create (gtk_widget_get_window(widget));
scale = vik_print_preview_get_scale (preview);
/* draw background */
cairo_scale (cr, scale, scale);
- gdk_cairo_set_source_color (cr, &widget->style->white);
+ gdk_cairo_set_source_color (cr, &gtk_widget_get_style(widget)->white);
cairo_rectangle (cr, 0, 0, paper_width, paper_height);
cairo_fill (cr);
/* draw page_margins */
- gdk_cairo_set_source_color (cr, &widget->style->black);
+ gdk_cairo_set_source_color (cr, &gtk_widget_get_style(widget)->black);
cairo_rectangle (cr,
left_margin,
top_margin,
@@ -588,5 +586,3 @@ print_preview_queue_draw (VikPrintPreview *preview)
{
gtk_widget_queue_draw (GTK_WIDGET (preview->area));
}
-
-#endif
diff --git a/src/print.c b/src/print.c
index 8b50671..c5e7186 100644
--- a/src/print.c
+++ b/src/print.c
@@ -30,8 +30,6 @@
#include <glib/gi18n.h>
#include <gtk/gtk.h>
-#if GTK_CHECK_VERSION(2,10,0)
-
#include "viking.h"
#include "print.h"
#include "print-preview.h"
@@ -107,7 +105,7 @@ void a_print(VikWindow *vw, VikViewport *vvp)
data.width = vik_viewport_get_width(vvp);
data.height = vik_viewport_get_height(vvp);
- data.xres = data.yres = 230; /* FIXME */
+ data.xres = data.yres = 1; // This forces it to default to a 100% page size
if (print_settings != NULL)
gtk_print_operation_set_print_settings (print_oper, print_settings);
@@ -354,7 +352,11 @@ static void page_setup_cb (GtkWidget *widget, CustomWidgetInfo *info)
GtkWidget *toplevel;
toplevel = gtk_widget_get_toplevel (widget);
+#if GTK_CHECK_VERSION (2,18,0)
+ if (! gtk_widget_is_toplevel (toplevel))
+#else
if (! GTK_WIDGET_TOPLEVEL (toplevel))
+#endif
toplevel = NULL;
settings = gtk_print_operation_get_print_settings (operation);
@@ -593,9 +595,9 @@ static GtkWidget *create_custom_widget_cb(GtkPrintOperation *operation, PrintDat
gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
gtk_widget_show (label);
- combo = gtk_combo_box_new_text ();
+ combo = vik_combo_box_text_new ();
for (center = center_modes; center->name; center++) {
- gtk_combo_box_append_text(GTK_COMBO_BOX(combo), _(center->name));
+ vik_combo_box_text_append (combo, _(center->name));
}
gtk_combo_box_set_active(GTK_COMBO_BOX(combo), VIK_PRINT_CENTER_BOTH);
gtk_box_pack_start (GTK_BOX (hbox), combo, TRUE, TRUE, 0);
@@ -667,5 +669,3 @@ static GtkWidget *create_custom_widget_cb(GtkPrintOperation *operation, PrintDat
return layout;
}
-
-#endif
diff --git a/src/print.h b/src/print.h
index 8a3dcca..d233817 100644
--- a/src/print.h
+++ b/src/print.h
@@ -26,8 +26,14 @@
#ifndef __VIKING_PRINT_H
#define __VIKING_PRINT_H
+#include "vikwindow.h"
+
+G_BEGIN_DECLS
+
void a_print(VikWindow *vw, VikViewport *vvp);
+G_END_DECLS
+
#endif /*__VIKING_PRINT_H*/
#endif
diff --git a/src/settings.c b/src/settings.c
new file mode 100644
index 0000000..09d99f9
--- /dev/null
+++ b/src/settings.c
@@ -0,0 +1,289 @@
+/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 4; tab-width: 4 -*- */
+/*
+ * viking -- GPS Data and Topo Analyzer, Explorer, and Manager
+ *
+ * Copyright (C) 2013, Rob Norris <rw_norris@hotmail.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ */
+ /*
+ * Sort of like the globals file, but values are automatically saved via program use.
+ * Some settings are *not* intended to have any GUI controls.
+ * Other settings be can used to set other GUI elements.
+ *
+ * ATM This is implemented using the simple (for me!) GKeyFile API - AKA an .ini file
+ * One might wish to consider the more modern alternative such as:
+ * http://developer.gnome.org/gio/2.26/GSettings.html
+ * Since these settings are 'internal' I have no problem with them *not* being supported
+ * between various Viking versions, should one switch to different API/storage methods.
+ * Indeed even the internal settings themselves can be liable to change.
+ */
+#include <glib.h>
+#include "dir.h"
+
+static GKeyFile *keyfile;
+
+#define VIKING_INI_FILE "viking.ini"
+
+static gboolean settings_load_from_file()
+{
+ GKeyFileFlags flags = G_KEY_FILE_KEEP_COMMENTS;
+
+ GError *error = NULL;
+
+ gchar *fn = g_build_filename ( a_get_viking_dir(), VIKING_INI_FILE, NULL );
+
+ if ( !g_key_file_load_from_file ( keyfile, fn, flags, &error ) ) {
+ g_warning ( "%s: %s", error->message, fn );
+ g_free ( fn );
+ g_error_free ( error );
+ return FALSE;
+ }
+
+ g_free ( fn );
+
+ return TRUE;
+}
+
+void a_settings_init()
+{
+ keyfile = g_key_file_new();
+ settings_load_from_file();
+}
+
+/**
+ * a_settings_uninit:
+ *
+ * ATM: The only time settings are saved is on program exit
+ * Could change this to occur on window exit or dialog exit or have memory hash of values...?
+ */
+void a_settings_uninit()
+{
+ GError *error = NULL;
+ gchar *fn = g_build_filename ( a_get_viking_dir(), VIKING_INI_FILE, NULL );
+ gsize size;
+
+ gchar *keyfilestr = g_key_file_to_data ( keyfile, &size, &error );
+
+ if ( error ) {
+ g_warning ( "%s", error->message );
+ g_error_free ( error );
+ goto tidy;
+ }
+
+ g_file_set_contents ( fn, keyfilestr, size, &error );
+ if ( error ) {
+ g_warning ( "%s: %s", error->message, fn );
+ g_error_free ( error );
+ }
+
+ g_key_file_free ( keyfile );
+ tidy:
+ g_free ( keyfilestr );
+ g_free ( fn );
+}
+
+// ATM, can't see a point in having any more than one group for various settings
+#define VIKING_SETTINGS_GROUP "viking"
+
+static gboolean settings_get_boolean ( const gchar *group, const gchar *name, gboolean *val )
+{
+ GError *error = NULL;
+ gboolean success = TRUE;
+ gboolean bb = g_key_file_get_boolean ( keyfile, group, name, &error );
+ if ( error ) {
+ // Only print on debug - as often may have requests for keys not in the file
+ g_debug ( "%s", error->message );
+ g_error_free ( error );
+ success = FALSE;
+ }
+ *val = bb;
+ return success;
+}
+
+gboolean a_settings_get_boolean ( const gchar *name, gboolean *val )
+{
+ return settings_get_boolean ( VIKING_SETTINGS_GROUP, name, val );
+}
+
+void a_settings_set_boolean ( const gchar *name, gboolean val )
+{
+ g_key_file_set_boolean ( keyfile, VIKING_SETTINGS_GROUP, name, val );
+}
+
+static gboolean settings_get_string ( const gchar *group, const gchar *name, gchar **val )
+{
+ GError *error = NULL;
+ gboolean success = TRUE;
+ gchar *str = g_key_file_get_string ( keyfile, group, name, &error );
+ if ( error ) {
+ // Only print on debug - as often may have requests for keys not in the file
+ g_debug ( "%s", error->message );
+ g_error_free ( error );
+ success = FALSE;
+ }
+ *val = str;
+ return success;
+}
+
+gboolean a_settings_get_string ( const gchar *name, gchar **val )
+{
+ return settings_get_string ( VIKING_SETTINGS_GROUP, name, val );
+}
+
+void a_settings_set_string ( const gchar *name, const gchar *val )
+{
+ g_key_file_set_string ( keyfile, VIKING_SETTINGS_GROUP, name, val );
+}
+
+static gboolean settings_get_integer ( const gchar *group, const gchar *name, gint *val )
+{
+ GError *error = NULL;
+ gboolean success = TRUE;
+ gint ii = g_key_file_get_integer ( keyfile, group, name, &error );
+ if ( error ) {
+ // Only print on debug - as often may have requests for keys not in the file
+ g_debug ( "%s", error->message );
+ g_error_free ( error );
+ success = FALSE;
+ }
+ *val = ii;
+ return success;
+}
+
+gboolean a_settings_get_integer ( const gchar *name, gint *val )
+{
+ return settings_get_integer ( VIKING_SETTINGS_GROUP, name, val );
+}
+
+void a_settings_set_integer ( const gchar *name, gint val )
+{
+ g_key_file_set_integer ( keyfile, VIKING_SETTINGS_GROUP, name, val );
+}
+
+static gboolean settings_get_double ( const gchar *group, const gchar *name, gdouble *val )
+{
+ GError *error = NULL;
+ gboolean success = TRUE;
+ gdouble dd = g_key_file_get_double ( keyfile, group, name, &error );
+ if ( error ) {
+ // Only print on debug - as often may have requests for keys not in the file
+ g_debug ( "%s", error->message );
+ g_error_free ( error );
+ success = FALSE;
+ }
+ *val = dd;
+ return success;
+}
+
+gboolean a_settings_get_double ( const gchar *name, gdouble *val )
+{
+ return settings_get_double ( VIKING_SETTINGS_GROUP, name, val );
+}
+
+void a_settings_set_double ( const gchar *name, gdouble val )
+{
+ g_key_file_set_double ( keyfile, VIKING_SETTINGS_GROUP, name, val );
+}
+
+static gboolean settings_get_integer_list ( const gchar *group, const gchar *name, gint **vals, gsize *length )
+{
+ GError *error = NULL;
+ gboolean success = TRUE;
+ gint *ints = g_key_file_get_integer_list ( keyfile, group, name, length, &error );
+ if ( error ) {
+ // Only print on debug - as often may have requests for keys not in the file
+ g_debug ( "%s", error->message );
+ g_error_free ( error );
+ success = FALSE;
+ }
+ *vals = ints;
+ return success;
+}
+
+/*
+ * The returned list of integers should be freed when no longer needed
+ */
+static gboolean a_settings_get_integer_list ( const gchar *name, gint **vals, gsize* length )
+{
+ return settings_get_integer_list ( VIKING_SETTINGS_GROUP, name, vals, length );
+}
+
+static void a_settings_set_integer_list ( const gchar *name, gint vals[], gsize length )
+{
+ g_key_file_set_integer_list ( keyfile, VIKING_SETTINGS_GROUP, name, vals, length );
+}
+
+gboolean a_settings_get_integer_list_contains ( const gchar *name, gint val )
+{
+ gint* vals = NULL;
+ gsize length;
+ // Get current list and see if the value supplied is in the list
+ gboolean contains = FALSE;
+ // Get current list
+ if ( a_settings_get_integer_list ( name, &vals, &length ) ) {
+ // See if it's not already there
+ gint ii = 0;
+ if ( vals && length ) {
+ while ( ii < length ) {
+ if ( vals[ii] == val ) {
+ contains = TRUE;
+ break;
+ }
+ ii++;
+ }
+ // Free old array
+ g_free (vals);
+ }
+ }
+ return contains;
+}
+
+void a_settings_set_integer_list_containing ( const gchar *name, gint val )
+{
+ gint* vals = NULL;
+ gsize length;
+ gboolean need_to_add = TRUE;
+ gint ii = 0;
+ // Get current list
+ if ( a_settings_get_integer_list ( name, &vals, &length ) ) {
+ // See if it's not already there
+ if ( vals && length ) {
+ while ( ii < length ) {
+ if ( vals[ii] == val ) {
+ need_to_add = FALSE;
+ break;
+ }
+ ii++;
+ }
+ }
+ }
+ // Add value into array if necessary
+ if ( need_to_add ) {
+ // NB not bothering to sort this 'list' ATM as there is not much to be gained
+ guint new_length = length + 1;
+ gint new_vals[new_length];
+ // Copy array
+ for ( ii = 0; ii < length; ii++ ) {
+ new_vals[ii] = vals[ii];
+ }
+ new_vals[length] = val; // Set the new value
+ // Apply
+ a_settings_set_integer_list ( name, new_vals, new_length );
+ // Free old array
+ g_free (vals);
+ }
+}
diff --git a/src/settings.h b/src/settings.h
new file mode 100644
index 0000000..812926e
--- /dev/null
+++ b/src/settings.h
@@ -0,0 +1,58 @@
+/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 4; tab-width: 4 -*- */
+/*
+ * viking -- GPS Data and Topo Analyzer, Explorer, and Manager
+ *
+ * Copyright (C) 2013, Rob Norris <rw_norris@hotmail.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ */
+#ifndef __SETTINGS_H
+#define __SETTINGS_H
+
+G_BEGIN_DECLS
+
+void a_settings_init();
+
+void a_settings_uninit();
+
+gboolean a_settings_get_boolean ( const gchar *name, gboolean *val );
+
+void a_settings_set_boolean ( const gchar *name, gboolean val );
+
+gboolean a_settings_get_string ( const gchar *name, gchar **val );
+
+void a_settings_set_string ( const gchar *name, const gchar *val );
+
+gboolean a_settings_get_integer ( const gchar *name, gint *val );
+
+void a_settings_set_integer ( const gchar *name, gint val );
+
+gboolean a_settings_get_double ( const gchar *name, gdouble *val );
+
+void a_settings_set_double ( const gchar *name, gdouble val );
+
+/*
+gboolean a_settings_get_integer_list ( const gchar *name, gint *vals, gsize* length );
+
+void a_settings_set_integer_list ( const gchar *name, gint vals[], gsize length );
+*/
+gboolean a_settings_get_integer_list_contains ( const gchar *name, gint val );
+
+void a_settings_set_integer_list_containing ( const gchar *name, gint val );
+
+G_END_DECLS
+
+#endif
diff --git a/src/terraservermapsource.c b/src/terraservermapsource.c
index 826cd24..5c06e6a 100644
--- a/src/terraservermapsource.c
+++ b/src/terraservermapsource.c
@@ -36,7 +36,7 @@ static gchar *_get_hostname( VikMapSourceDefault *self );
static DownloadMapOptions *_get_download_options( VikMapSourceDefault *self );
/* FIXME Huge gruik */
-static DownloadMapOptions terraserver_options = { FALSE, FALSE, NULL, 0, a_check_map_file };
+static DownloadMapOptions terraserver_options = { FALSE, FALSE, NULL, 0, a_check_map_file, NULL };
typedef struct _TerraserverMapSourcePrivate TerraserverMapSourcePrivate;
struct _TerraserverMapSourcePrivate
diff --git a/src/terraservermapsource.h b/src/terraservermapsource.h
index 3aa94c3..673d44c 100644
--- a/src/terraservermapsource.h
+++ b/src/terraservermapsource.h
@@ -5,7 +5,7 @@
*
* viking is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
- * Free Software Foundation, either version 3 of the License, or
+ * Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* viking is distributed in the hope that it will be useful, but
diff --git a/src/thumbnails.c b/src/thumbnails.c
index c6d3a0c..bd97f31 100644
--- a/src/thumbnails.c
+++ b/src/thumbnails.c
@@ -55,7 +55,6 @@
#undef MIN /* quit yer whining, gcc */
#undef MAX
-#include <sys/param.h> /* for realpath() */
#ifndef MAX
/* We need MAX macro and some system does not offer it */
#define MAX(a,b) (((a)>(b))?(a):(b))
@@ -66,8 +65,6 @@
#ifdef WINDOWS
#define THUMB_DIR "\\THUMBNAILS\\" /* viking maps default viking\maps */
#define THUMB_SUB_DIR "normal\\"
-#define realpath(X,Y) _fullpath(Y,X,MAX_PATH)
-
#else
#define THUMB_DIR "/.thumbnails/"
#define THUMB_SUB_DIR "normal/"
@@ -305,7 +302,7 @@ static char *pathdup(const char *path)
g_return_val_if_fail(path != NULL, NULL);
- if (realpath(path, real))
+ if (file_realpath(path, real))
return g_strdup(real);
return g_strdup(path);
diff --git a/src/uibuilder.c b/src/uibuilder.c
index 9eec9b3..8f7dcad 100644
--- a/src/uibuilder.c
+++ b/src/uibuilder.c
@@ -29,58 +29,96 @@
#include "vikfileentry.h"
#include "vikfilelist.h"
+VikLayerParamData vik_lpd_true_default ( void ) { return VIK_LPD_BOOLEAN ( TRUE ); }
+VikLayerParamData vik_lpd_false_default ( void ) { return VIK_LPD_BOOLEAN ( FALSE ); }
+
GtkWidget *a_uibuilder_new_widget ( VikLayerParam *param, VikLayerParamData data )
{
+ // Perform pre conversion if necessary
+ VikLayerParamData vlpd = data;
+ if ( param->convert_to_display )
+ vlpd = param->convert_to_display ( data );
+
GtkWidget *rv = NULL;
switch ( param->widget_type )
{
case VIK_LAYER_WIDGET_COLOR:
if ( param->type == VIK_LAYER_PARAM_COLOR )
- rv = gtk_color_button_new_with_color ( &(data.c) );
+ rv = gtk_color_button_new_with_color ( &(vlpd.c) );
break;
case VIK_LAYER_WIDGET_CHECKBUTTON:
if ( param->type == VIK_LAYER_PARAM_BOOLEAN )
{
//rv = gtk_check_button_new_with_label ( //param->title );
rv = gtk_check_button_new ();
- if ( data.b )
+ if ( vlpd.b )
gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON(rv), TRUE );
}
break;
case VIK_LAYER_WIDGET_COMBOBOX:
-#ifndef GTK_2_2
if ( param->type == VIK_LAYER_PARAM_UINT && param->widget_data )
{
+ /* Build a simple combobox */
gchar **pstr = param->widget_data;
- rv = gtk_combo_box_new_text ();
+ rv = vik_combo_box_text_new ();
while ( *pstr )
- gtk_combo_box_append_text ( GTK_COMBO_BOX ( rv ), *(pstr++) );
+ vik_combo_box_text_append ( rv, *(pstr++) );
if ( param->extra_widget_data ) /* map of alternate uint values for options */
{
+ /* Set the effective default value */
int i;
for ( i = 0; ((const char **)param->widget_data)[i]; i++ )
- if ( ((guint *)param->extra_widget_data)[i] == data.u )
+ if ( ((guint *)param->extra_widget_data)[i] == vlpd.u )
{
+ /* Match default value */
gtk_combo_box_set_active ( GTK_COMBO_BOX(rv), i );
break;
}
}
else
- gtk_combo_box_set_active ( GTK_COMBO_BOX ( rv ), data.u );
+ gtk_combo_box_set_active ( GTK_COMBO_BOX ( rv ), vlpd.u );
+ }
+ else if ( param->type == VIK_LAYER_PARAM_STRING && param->widget_data && !param->extra_widget_data )
+ {
+ /* Build a combobox with editable text */
+ gchar **pstr = param->widget_data;
+#if GTK_CHECK_VERSION (2, 24, 0)
+ rv = gtk_combo_box_text_new_with_entry ();
+#else
+ rv = gtk_combo_box_entry_new_text ();
+#endif
+ if ( vlpd.s )
+ vik_combo_box_text_append ( rv, vlpd.s );
+ while ( *pstr )
+ vik_combo_box_text_append ( rv, *(pstr++) );
+ if ( vlpd.s )
+ gtk_combo_box_set_active ( GTK_COMBO_BOX ( rv ), 0 );
}
- else if ( param->type == VIK_LAYER_PARAM_STRING && param->widget_data )
+ else if ( param->type == VIK_LAYER_PARAM_STRING && param->widget_data && param->extra_widget_data)
{
+ /* Build a combobox with fixed selections without editable text */
gchar **pstr = param->widget_data;
- rv = GTK_WIDGET ( gtk_combo_box_entry_new_text () );
- if ( data.s )
- gtk_combo_box_append_text ( GTK_COMBO_BOX ( rv ), data.s );
+ rv = GTK_WIDGET ( vik_combo_box_text_new () );
while ( *pstr )
- gtk_combo_box_append_text ( GTK_COMBO_BOX ( rv ), *(pstr++) );
- if ( data.s )
+ vik_combo_box_text_append ( rv, *(pstr++) );
+ if ( vlpd.s )
+ {
+ /* Set the effective default value */
+ /* In case of value does not exist, set the first value */
+ gtk_combo_box_set_active ( GTK_COMBO_BOX ( rv ), 0 );
+ int i;
+ for ( i = 0; ((const char **)param->widget_data)[i]; i++ )
+ if ( strcmp(((const char **)param->extra_widget_data)[i], vlpd.s) == 0 )
+ {
+ /* Match default value */
+ gtk_combo_box_set_active ( GTK_COMBO_BOX ( rv ), i );
+ break;
+ }
+ }
+ else
gtk_combo_box_set_active ( GTK_COMBO_BOX ( rv ), 0 );
}
break;
-#endif
case VIK_LAYER_WIDGET_RADIOGROUP:
/* widget_data and extra_widget_data are GList */
if ( param->type == VIK_LAYER_PARAM_UINT && param->widget_data )
@@ -91,14 +129,14 @@ GtkWidget *a_uibuilder_new_widget ( VikLayerParam *param, VikLayerParamData data
int i;
int nb_elem = g_list_length(param->widget_data);
for ( i = 0; i < nb_elem; i++ )
- if ( GPOINTER_TO_UINT ( g_list_nth_data(param->extra_widget_data, i) ) == data.u )
+ if ( GPOINTER_TO_UINT ( g_list_nth_data(param->extra_widget_data, i) ) == vlpd.u )
{
vik_radio_group_set_selected ( VIK_RADIO_GROUP(rv), i );
break;
}
}
- else if ( data.u ) /* zero is already default */
- vik_radio_group_set_selected ( VIK_RADIO_GROUP(rv), data.u );
+ else if ( vlpd.u ) /* zero is already default */
+ vik_radio_group_set_selected ( VIK_RADIO_GROUP(rv), vlpd.u );
}
break;
case VIK_LAYER_WIDGET_RADIOGROUP_STATIC:
@@ -109,21 +147,21 @@ GtkWidget *a_uibuilder_new_widget ( VikLayerParam *param, VikLayerParamData data
{
int i;
for ( i = 0; ((const char **)param->widget_data)[i]; i++ )
- if ( ((guint *)param->extra_widget_data)[i] == data.u )
+ if ( ((guint *)param->extra_widget_data)[i] == vlpd.u )
{
vik_radio_group_set_selected ( VIK_RADIO_GROUP(rv), i );
break;
}
}
- else if ( data.u ) /* zero is already default */
- vik_radio_group_set_selected ( VIK_RADIO_GROUP(rv), data.u );
+ else if ( vlpd.u ) /* zero is already default */
+ vik_radio_group_set_selected ( VIK_RADIO_GROUP(rv), vlpd.u );
}
break;
case VIK_LAYER_WIDGET_SPINBUTTON:
if ( (param->type == VIK_LAYER_PARAM_DOUBLE || param->type == VIK_LAYER_PARAM_UINT
|| param->type == VIK_LAYER_PARAM_INT) && param->widget_data )
{
- gdouble init_val = (param->type == VIK_LAYER_PARAM_DOUBLE) ? data.d : (param->type == VIK_LAYER_PARAM_UINT ? data.u : data.i);
+ gdouble init_val = (param->type == VIK_LAYER_PARAM_DOUBLE) ? vlpd.d : (param->type == VIK_LAYER_PARAM_UINT ? vlpd.u : vlpd.i);
VikLayerParamScale *scale = (VikLayerParamScale *) param->widget_data;
rv = gtk_spin_button_new ( GTK_ADJUSTMENT(gtk_adjustment_new( init_val, scale->min, scale->max, scale->step, scale->step, 0 )), scale->step, scale->digits );
}
@@ -132,8 +170,8 @@ GtkWidget *a_uibuilder_new_widget ( VikLayerParam *param, VikLayerParamData data
if ( param->type == VIK_LAYER_PARAM_STRING )
{
rv = gtk_entry_new ();
- if (data.s)
- gtk_entry_set_text ( GTK_ENTRY(rv), data.s );
+ if ( vlpd.s )
+ gtk_entry_set_text ( GTK_ENTRY(rv), vlpd.s );
}
break;
case VIK_LAYER_WIDGET_PASSWORD:
@@ -141,8 +179,8 @@ GtkWidget *a_uibuilder_new_widget ( VikLayerParam *param, VikLayerParamData data
{
rv = gtk_entry_new ();
gtk_entry_set_visibility ( GTK_ENTRY(rv), FALSE );
- if (data.s)
- gtk_entry_set_text ( GTK_ENTRY(rv), data.s );
+ if ( vlpd.s )
+ gtk_entry_set_text ( GTK_ENTRY(rv), vlpd.s );
gtk_widget_set_tooltip_text ( GTK_WIDGET(rv),
_("Take care that this password will be stored clearly in a plain file.") );
}
@@ -151,29 +189,31 @@ GtkWidget *a_uibuilder_new_widget ( VikLayerParam *param, VikLayerParamData data
if ( param->type == VIK_LAYER_PARAM_STRING )
{
rv = vik_file_entry_new (GTK_FILE_CHOOSER_ACTION_OPEN);
- vik_file_entry_set_filename ( VIK_FILE_ENTRY(rv), data.s );
+ if ( vlpd.s )
+ vik_file_entry_set_filename ( VIK_FILE_ENTRY(rv), vlpd.s );
}
break;
case VIK_LAYER_WIDGET_FOLDERENTRY:
if ( param->type == VIK_LAYER_PARAM_STRING )
{
rv = vik_file_entry_new (GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER);
- vik_file_entry_set_filename ( VIK_FILE_ENTRY(rv), data.s );
+ if ( vlpd.s )
+ vik_file_entry_set_filename ( VIK_FILE_ENTRY(rv), vlpd.s );
}
break;
case VIK_LAYER_WIDGET_FILELIST:
if ( param->type == VIK_LAYER_PARAM_STRING_LIST )
{
- rv = vik_file_list_new ( _(param->title) );
- vik_file_list_set_files ( VIK_FILE_LIST(rv), data.sl );
+ rv = vik_file_list_new ( _(param->title), NULL );
+ vik_file_list_set_files ( VIK_FILE_LIST(rv), vlpd.sl );
}
break;
case VIK_LAYER_WIDGET_HSCALE:
if ( (param->type == VIK_LAYER_PARAM_DOUBLE || param->type == VIK_LAYER_PARAM_UINT
|| param->type == VIK_LAYER_PARAM_INT) && param->widget_data )
{
- gdouble init_val = (param->type == VIK_LAYER_PARAM_DOUBLE) ? data.d : (param->type == VIK_LAYER_PARAM_UINT ? data.u : data.i);
+ gdouble init_val = (param->type == VIK_LAYER_PARAM_DOUBLE) ? vlpd.d : (param->type == VIK_LAYER_PARAM_UINT ? vlpd.u : vlpd.i);
VikLayerParamScale *scale = (VikLayerParamScale *) param->widget_data;
rv = gtk_hscale_new_with_range ( scale->min, scale->max, scale->step );
gtk_scale_set_digits ( GTK_SCALE(rv), scale->digits );
@@ -199,7 +239,6 @@ VikLayerParamData a_uibuilder_widget_get_value ( GtkWidget *widget, VikLayerPara
rv.b = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget));
break;
case VIK_LAYER_WIDGET_COMBOBOX:
-#ifndef GTK_2_2
if ( param->type == VIK_LAYER_PARAM_UINT )
{
rv.i = gtk_combo_box_get_active ( GTK_COMBO_BOX(widget) );
@@ -210,11 +249,24 @@ VikLayerParamData a_uibuilder_widget_get_value ( GtkWidget *widget, VikLayerPara
}
if ( param->type == VIK_LAYER_PARAM_STRING)
{
- rv.s = gtk_combo_box_get_active_text ( GTK_COMBO_BOX(widget) );
+ if ( param->extra_widget_data )
+ {
+ /* Combobox displays labels and we want values from extra */
+ int pos = gtk_combo_box_get_active ( GTK_COMBO_BOX(widget) );
+ rv.s = ((const char **)param->extra_widget_data)[pos];
+ }
+ else
+ {
+ /* Return raw value */
+#if GTK_CHECK_VERSION (2, 24, 0)
+ rv.s = gtk_entry_get_text (GTK_ENTRY (gtk_bin_get_child (GTK_BIN (widget))));
+#else
+ rv.s = gtk_combo_box_get_active_text ( GTK_COMBO_BOX(widget) );
+#endif
+ }
g_debug("%s: %s", __FUNCTION__, rv.s);
}
break;
-#endif
case VIK_LAYER_WIDGET_RADIOGROUP:
case VIK_LAYER_WIDGET_RADIOGROUP_STATIC:
rv.u = vik_radio_group_get_selected(VIK_RADIO_GROUP(widget));
@@ -249,10 +301,14 @@ VikLayerParamData a_uibuilder_widget_get_value ( GtkWidget *widget, VikLayerPara
rv.d = gtk_range_get_value ( GTK_RANGE(widget) );
break;
}
+
+ // Perform conversion if necessary
+ if ( param->convert_to_internal )
+ rv = param->convert_to_internal ( rv );
+
return rv;
}
-
gint a_uibuilder_properties_factory ( const gchar *dialog_name, GtkWindow *parent, VikLayerParam *params,
guint16 params_count, gchar **groups, guint8 groups_count,
gboolean (*setparam) (gpointer,guint16,VikLayerParamData,gpointer,gboolean),
@@ -299,7 +355,10 @@ gint a_uibuilder_properties_factory ( const gchar *dialog_name, GtkWindow *paren
guint8 current_group;
guint16 tab_widget_count;
notebook = gtk_notebook_new ();
- gtk_box_pack_start (GTK_BOX(GTK_DIALOG(dialog)->vbox), notebook, FALSE, FALSE, 0);
+ // Switch to vertical notebook mode when many groups
+ if ( groups_count > 4 )
+ gtk_notebook_set_tab_pos ( GTK_NOTEBOOK(notebook), GTK_POS_LEFT );
+ gtk_box_pack_start (GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), notebook, FALSE, FALSE, 0);
tables = g_malloc ( sizeof(GtkWidget *) * groups_count );
for ( current_group = 0; current_group < groups_count; current_group++ )
{
@@ -318,7 +377,7 @@ gint a_uibuilder_properties_factory ( const gchar *dialog_name, GtkWindow *paren
else
{
table = gtk_table_new( widget_count, 1, FALSE );
- gtk_box_pack_start (GTK_BOX(GTK_DIALOG(dialog)->vbox), table, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), table, FALSE, FALSE, 0);
}
for ( i = 0, j = 0; i < params_count; i++ )
@@ -330,10 +389,10 @@ gint a_uibuilder_properties_factory ( const gchar *dialog_name, GtkWindow *paren
widgets[j] = a_uibuilder_new_widget ( &(params[i]), getparam ( pass_along_getparam, i, FALSE ) );
- g_assert ( widgets[j] != NULL );
-
- gtk_table_attach ( GTK_TABLE(table), gtk_label_new(_(params[i].title)), 0, 1, j, j+1, 0, 0, 0, 0 );
- gtk_table_attach ( GTK_TABLE(table), widgets[j], 1, 2, j, j+1, GTK_EXPAND | GTK_FILL, 0, 2, 2 );
+ if ( widgets[j] ) {
+ gtk_table_attach ( GTK_TABLE(table), gtk_label_new(_(params[i].title)), 0, 1, j, j+1, 0, 0, 0, 0 );
+ gtk_table_attach ( GTK_TABLE(table), widgets[j], 1, 2, j, j+1, GTK_EXPAND | GTK_FILL, 0, 2, 2 );
+ }
j++;
}
}
@@ -437,6 +496,8 @@ void a_uibuilder_free_paramdatas ( VikLayerParamData *paramdatas, VikLayerParam
}
g_list_free ( paramdatas[i].sl );
break;
+ default:
+ break;
}
}
}
diff --git a/src/uibuilder.h b/src/uibuilder.h
index afa7e84..6b29f4b 100644
--- a/src/uibuilder.h
+++ b/src/uibuilder.h
@@ -37,15 +37,76 @@ typedef union {
GList *sl;
} VikLayerParamData;
+typedef enum {
+ VIK_LAYER_WIDGET_CHECKBUTTON=0,
+ VIK_LAYER_WIDGET_RADIOGROUP,
+ VIK_LAYER_WIDGET_RADIOGROUP_STATIC,
+ VIK_LAYER_WIDGET_SPINBUTTON,
+ VIK_LAYER_WIDGET_ENTRY,
+ VIK_LAYER_WIDGET_PASSWORD,
+ VIK_LAYER_WIDGET_FILEENTRY,
+ VIK_LAYER_WIDGET_FOLDERENTRY,
+ VIK_LAYER_WIDGET_HSCALE,
+ VIK_LAYER_WIDGET_COLOR,
+ VIK_LAYER_WIDGET_COMBOBOX,
+ VIK_LAYER_WIDGET_FILELIST,
+} VikLayerWidgetType;
+
+/* id is index */
+typedef enum {
+VIK_LAYER_PARAM_DOUBLE=1,
+VIK_LAYER_PARAM_UINT,
+VIK_LAYER_PARAM_INT,
+
+/* in my_layer_set_param, if you want to use the string, you should dup it
+ * in my_layer_get_param, the string returned will NOT be free'd, you are responsible for managing it (I think) */
+VIK_LAYER_PARAM_STRING,
+VIK_LAYER_PARAM_BOOLEAN,
+VIK_LAYER_PARAM_COLOR,
+
+/* NOTE: string list works uniquely: data.sl should NOT be free'd when
+ * the internals call get_param -- i.e. it should be managed w/in the layer.
+ * The value passed by the internals into set_param should also be managed
+ * by the layer -- i.e. free'd by the layer.
+ */
+
+VIK_LAYER_PARAM_STRING_LIST,
+} VikLayerParamType;
+
+typedef enum {
+ VIK_LAYER_AGGREGATE = 0,
+ VIK_LAYER_TRW,
+ VIK_LAYER_COORD,
+ VIK_LAYER_GEOREF,
+ VIK_LAYER_GPS,
+ VIK_LAYER_MAPS,
+ VIK_LAYER_DEM,
+ VIK_LAYER_NUM_TYPES // Also use this value to indicate no layer association
+} VikLayerTypeEnum;
+
+// Default value has to be returned via a function
+// because certain types value are can not be statically allocated
+// (i.e. a string value that is dependent on other functions)
+// Also easier for colours to be set via a function call rather than a static assignment
+typedef VikLayerParamData (*VikLayerDefaultFunc) ( void );
+
+// Convert between the value held internally and the value used for display
+// e.g. keep the internal value in seconds yet use days in the display
+typedef VikLayerParamData (*VikLayerConvertFunc) ( VikLayerParamData );
+
typedef struct {
+ VikLayerTypeEnum layer;
const gchar *name;
- guint8 type;
+ VikLayerParamType type;
gint16 group;
const gchar *title;
- guint8 widget_type;
+ VikLayerWidgetType widget_type;
gpointer widget_data;
gpointer extra_widget_data;
const gchar *tooltip;
+ VikLayerDefaultFunc default_value;
+ VikLayerConvertFunc convert_to_display;
+ VikLayerConvertFunc convert_to_internal;
} VikLayerParam;
enum {
@@ -53,21 +114,6 @@ VIK_LAYER_NOT_IN_PROPERTIES=-2,
VIK_LAYER_GROUP_NONE=-1
};
-enum {
-VIK_LAYER_WIDGET_CHECKBUTTON=0,
-VIK_LAYER_WIDGET_RADIOGROUP,
-VIK_LAYER_WIDGET_RADIOGROUP_STATIC,
-VIK_LAYER_WIDGET_SPINBUTTON,
-VIK_LAYER_WIDGET_ENTRY,
-VIK_LAYER_WIDGET_PASSWORD,
-VIK_LAYER_WIDGET_FILEENTRY,
-VIK_LAYER_WIDGET_FOLDERENTRY,
-VIK_LAYER_WIDGET_HSCALE,
-VIK_LAYER_WIDGET_COLOR,
-VIK_LAYER_WIDGET_COMBOBOX,
-VIK_LAYER_WIDGET_FILELIST,
-};
-
typedef struct {
gdouble min;
gdouble max;
@@ -75,38 +121,41 @@ typedef struct {
guint8 digits;
} VikLayerParamScale;
-/* id is index */
-enum {
-VIK_LAYER_PARAM_DOUBLE=1,
-VIK_LAYER_PARAM_UINT,
-VIK_LAYER_PARAM_INT,
-
-/* in my_layer_set_param, if you want to use the string, you should dup it
- * in my_layer_get_param, the string returned will NOT be free'd, you are responsible for managing it (I think) */
-VIK_LAYER_PARAM_STRING,
-VIK_LAYER_PARAM_BOOLEAN,
-VIK_LAYER_PARAM_COLOR,
-/* NOTE: string list works uniquely: data.sl should NOT be free'd when
- * the internals call get_param -- i.e. it should be managed w/in the layer.
- * The value passed by the internals into set_param should also be managed
- * by the layer -- i.e. free'd by the layer.
- */
+ /* Annoyingly 'C' cannot initialize unions properly */
+ /* It's dependent on the standard used or the compiler support... */
+#if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L || __GNUC__
+#define VIK_LPD_BOOLEAN(X) (VikLayerParamData) { .b = (X) }
+#define VIK_LPD_INT(X) (VikLayerParamData) { .u = (X) }
+#define VIK_LPD_UINT(X) (VikLayerParamData) { .i = (X) }
+#define VIK_LPD_COLOR(X,Y,Z,A) (VikLayerParamData) { .c = (GdkColor){ (X), (Y), (Z), (A) } }
+#define VIK_LPD_DOUBLE(X) (VikLayerParamData) { .d = (X) }
+#else
+#define VIK_LPD_BOOLEAN(X) (VikLayerParamData) { (X) }
+#define VIK_LPD_INT(X) (VikLayerParamData) { (X) }
+#define VIK_LPD_UINT(X) (VikLayerParamData) { (X) }
+#define VIK_LPD_COLOR(X,Y,Z,A) (VikLayerParamData) { (X), (Y), (Z), (A) }
+#define VIK_LPD_DOUBLE(X) (VikLayerParamData) { (X) }
+#endif
-VIK_LAYER_PARAM_STRING_LIST,
-};
+VikLayerParamData vik_lpd_true_default ( void );
+VikLayerParamData vik_lpd_false_default ( void );
GtkWidget *a_uibuilder_new_widget ( VikLayerParam *param, VikLayerParamData data );
VikLayerParamData a_uibuilder_widget_get_value ( GtkWidget *widget, VikLayerParam *param );
-gint a_uibuilder_properties_factory ( const gchar *dialog_name, GtkWindow *parent, VikLayerParam *params,
- guint16 params_count, gchar **groups, guint8 groups_count,
- gboolean (*setparam) (gpointer,guint16,VikLayerParamData,gpointer,gboolean),
- gpointer pass_along1, gpointer pass_along2,
- VikLayerParamData (*getparam) (gpointer,guint16,gboolean),
- gpointer pass_along_getparam );
+gint a_uibuilder_properties_factory ( const gchar *dialog_name,
+ GtkWindow *parent,
+ VikLayerParam *params,
+ guint16 params_count,
+ gchar **groups,
+ guint8 groups_count,
+ gboolean (*setparam) (gpointer,guint16,VikLayerParamData,gpointer,gboolean),
+ gpointer pass_along1,
+ gpointer pass_along2,
+ VikLayerParamData (*getparam) (gpointer,guint16,gboolean),
+ gpointer pass_along_getparam );
/* pass_along1 and pass_along2 are for set_param first and last params */
-
VikLayerParamData *a_uibuilder_run_dialog ( const gchar *dialog_name, GtkWindow *parent, VikLayerParam *params,
guint16 params_count, gchar **groups, guint8 groups_count,
VikLayerParamData *params_defaults );
@@ -114,6 +163,27 @@ VikLayerParamData *a_uibuilder_run_dialog ( const gchar *dialog_name, GtkWindow
/* frees data from last (if ness) */
void a_uibuilder_free_paramdatas ( VikLayerParamData *paramdatas, VikLayerParam *params, guint16 params_count );
+/*
+ * Since combo boxes are used in various places
+ * keep the code reasonably tidy and only have one ifdef to cater for the naming variances
+ */
+#if GTK_CHECK_VERSION (2, 24, 0)
+#define vik_combo_box_text_new gtk_combo_box_text_new
+#define vik_combo_box_text_append(X,Y) gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(X),Y)
+#else
+#define vik_combo_box_text_new gtk_combo_box_new_text
+#define vik_combo_box_text_append(X,Y) gtk_combo_box_append_text(GTK_COMBO_BOX(X),Y)
+#endif
+
+// Consider adding sort options such as by time
+// However use within the treeview then is more complicated as one would need to store that data in the treeview...
+typedef enum {
+ VL_SO_NONE = 0,
+ VL_SO_ALPHABETICAL_ASCENDING,
+ VL_SO_ALPHABETICAL_DESCENDING,
+ VL_SO_LAST
+} vik_layer_sort_order_t;
+
G_END_DECLS
#endif
diff --git a/src/util.c b/src/util.c
index 0bd834d..7814fc2 100644
--- a/src/util.c
+++ b/src/util.c
@@ -17,23 +17,26 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
+ /*
+ * Ideally dependencies should just be on Glib, Gtk,
+ * see vikutils for things that further depend on other Viking types
+ */
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
-#ifdef WINDOWS
-#include <windows.h>
-#endif
-
#include <glib/gstdio.h>
#include <glib/gi18n.h>
#include <glib/gprintf.h>
#include "util.h"
#include "dialog.h"
-#include "globals.h"
-#include "download.h"
+#ifdef WINDOWS
+#include <windows.h>
+#endif
+
+/*
#ifndef WINDOWS
static gboolean spawn_command_line_async(const gchar * cmd,
const gchar * arg)
@@ -51,53 +54,45 @@ static gboolean spawn_command_line_async(const gchar * cmd,
return status;
}
#endif
+*/
+
+// Annoyingly gtk_show_uri() doesn't work so resort to ShellExecute method
+// (non working at least in our Windows build with GTK+2.24.10 on Windows 7)
void open_url(GtkWindow *parent, const gchar * url)
{
#ifdef WINDOWS
ShellExecute(NULL, NULL, (char *) url, NULL, ".\\", 0);
-#else /* WINDOWS */
- const gchar *browsers[] = {
- "xdg-open", "gnome-open", "kfmclient openURL",
- "sensible-browser", "firefox", "epiphany",
- "iceweasel", "seamonkey", "galeon", "mozilla",
- "opera", "konqueror", "netscape", "links -g",
- "chromium-browser", "chromium", "chrome",
- "safari", "camino", "omniweb", "icab",
- NULL
- };
- gint i=0;
-
- const gchar *browser = g_getenv("BROWSER");
- if (browser == NULL || browser[0] == '\0') {
- /* $BROWSER not set -> use first entry */
- browser = browsers[i++];
+#else
+ GError *error = NULL;
+ gtk_show_uri ( gtk_widget_get_screen (GTK_WIDGET(parent)), url, GDK_CURRENT_TIME, &error );
+ if ( error ) {
+ a_dialog_error_msg_extra ( parent, _("Could not launch web browser. %s"), error->message );
+ g_error_free ( error );
}
- do {
- if (spawn_command_line_async(browser, url)) {
- return;
- }
-
- browser = browsers[i++];
- } while(browser);
-
- a_dialog_error_msg ( parent, _("Could not launch web browser.") );
-#endif /* WINDOWS */
+#endif
}
void new_email(GtkWindow *parent, const gchar * address)
{
gchar *uri = g_strdup_printf("mailto:%s", address);
+ GError *error = NULL;
+ gtk_show_uri ( gtk_widget_get_screen (GTK_WIDGET(parent)), uri, GDK_CURRENT_TIME, &error );
+ if ( error ) {
+ a_dialog_error_msg_extra ( parent, _("Could not create new email. %s"), error->message );
+ g_error_free ( error );
+ }
+ /*
#ifdef WINDOWS
ShellExecute(NULL, NULL, (char *) uri, NULL, ".\\", 0);
-#else /* WINDOWS */
+#else
if (!spawn_command_line_async("xdg-email", uri))
a_dialog_error_msg ( parent, _("Could not create new email.") );
-#endif /* WINDOWS */
+#endif
+ */
g_free(uri);
uri = NULL;
}
-
gchar *uri_escape(gchar *str)
{
gchar *esc_str = g_malloc(3*strlen(str));
@@ -129,81 +124,48 @@ GList * str_array_to_glist(gchar* data[])
return g_list_reverse(gl);
}
-typedef struct {
- GtkWindow *window; // Layer needed for redrawing
- gchar *version; // Image list
-} new_version_thread_data;
-
-static gboolean new_version_available_message ( new_version_thread_data *nvtd )
-{
- // Only a simple goto website option is offered
- // Trying to do an installation update is platform specific
- if ( a_dialog_yes_or_no ( nvtd->window,
- _("There is a newer version of Viking available: %s\n\nDo you wish to go to Viking's website now?"), nvtd->version ) )
- // NB 'VIKING_URL' redirects to the Wiki, here we want to go the main site.
- open_url ( nvtd->window, "http://sourceforge.net/projects/viking/" );
- //else
- // increase amount of time between performing version checks
- g_free ( nvtd->version );
- g_free ( nvtd );
- return FALSE;
-}
-
-static void latest_version_thread ( GtkWindow *window )
-{
- // Need to allow a few of redirects, as SF file is often served from different server
- DownloadMapOptions options = { FALSE, FALSE, NULL, 5, NULL, NULL };
- gchar *filename = a_download_uri_to_tmp_file ( "http://sourceforge.net/projects/viking/files/VERSION", &options );
- //gchar *filename = g_strdup ( "VERSION" );
- if ( !filename ) {
- return;
- }
-
- GMappedFile *mf = g_mapped_file_new ( filename, FALSE, NULL );
- if ( !mf )
- return;
-
- gchar *text = g_mapped_file_get_contents ( mf );
-
- gint latest_version = viking_version_to_number ( text );
- gint my_version = viking_version_to_number ( VIKING_VERSION );
-
- g_debug ( "The lastest version is: %s", text );
-
- if ( my_version < latest_version ) {
- new_version_thread_data *nvtd = g_malloc ( sizeof(new_version_thread_data) );
- nvtd->window = window;
- nvtd->version = g_strdup ( text );
- gdk_threads_add_idle ( (GSourceFunc) new_version_available_message, nvtd );
- }
- else
- g_debug ( "Running the lastest version: %s", VIKING_VERSION );
-
- g_mapped_file_unref ( mf );
- if ( filename ) {
- g_remove ( filename );
- g_free ( filename );
- }
-}
-
-/*
- * check_latest_version:
- * @window: Somewhere where we may need use the display to inform the user about the version status
+/**
+ * split_string_from_file_on_equals:
*
- * Periodically checks the released latest VERSION file on the website to compare with the running version
+ * @buf: the input string
+ * @key: newly allocated string that is before the '='
+ * @val: newly allocated string after the '='
*
- * ATM the plan is for a 1.4.2 release to be always on *just* for Windows platforms
- * Then in 1.5.X it will made entirely optional (default on for Windows)
- * with a longer periodic check (enabled via state saving using the soon to be released 'settings' code)
+ * Designed for file line processing, so it ignores strings beginning with special
+ * characters, such as '#'; returns false in such situations.
+ * Also returns false if no equals character is found
*
+ * e.g. if buf = "GPS.parameter=42"
+ * key = "GPS.parameter"
+ * val = "42"
*/
-void check_latest_version ( GtkWindow *window )
+gboolean split_string_from_file_on_equals ( const gchar *buf, gchar **key, gchar **val )
{
-#ifdef WINDOWS
-#if GLIB_CHECK_VERSION (2, 32, 0)
- g_thread_try_new ( "latest_version_thread", (GThreadFunc)latest_version_thread, window, NULL );
-#else
- g_thread_create ( (GThreadFunc)latest_version_thread, window, FALSE, NULL );
-#endif
-#endif
+ // comments, special characters in viking file format
+ if ( buf == NULL || buf[0] == '\0' || buf[0] == '~' || buf[0] == '=' || buf[0] == '#' )
+ return FALSE;
+
+ if ( ! strchr ( buf, '=' ) )
+ return FALSE;
+
+ gchar **strv = g_strsplit ( buf, "=", 2 );
+
+ gint gi = 0;
+ gchar *str = strv[gi];
+ while ( str ) {
+ if ( gi == 0 )
+ *key = g_strdup ( str );
+ else
+ *val = g_strdup ( str );
+ gi++;
+ str = strv[gi];
+ }
+
+ g_strfreev ( strv );
+
+ // Remove newline from val and also any other whitespace
+ *key = g_strstrip ( *key );
+ *val = g_strstrip ( *val );
+
+ return TRUE;
}
diff --git a/src/util.h b/src/util.h
index 060b294..9ddfb34 100644
--- a/src/util.h
+++ b/src/util.h
@@ -36,9 +36,8 @@ gchar *uri_escape(gchar *str);
GList * str_array_to_glist(gchar* data[]);
-void check_latest_version ( GtkWindow *window );
+gboolean split_string_from_file_on_equals ( const gchar *buf, gchar **key, gchar **val );
G_END_DECLS
#endif
-
diff --git a/src/vikaggregatelayer.c b/src/vikaggregatelayer.c
index 7f20956..2f1826f 100644
--- a/src/vikaggregatelayer.c
+++ b/src/vikaggregatelayer.c
@@ -2,6 +2,7 @@
* viking -- GPS Data and Topo Analyzer, Explorer, and Manager
*
* Copyright (C) 2003-2005, Evan Battaglia <gtoevan@gmx.net>
+ * Copyright (C) 2013, Rob Norris <rw_norris@hotmail.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -20,6 +21,9 @@
*/
#include "viking.h"
+#include "viktrwlayer_analysis.h"
+#include "viktrwlayer_tracklist.h"
+#include "viktrwlayer_waypointlist.h"
#include "icons/icons.h"
#include <string.h>
@@ -32,6 +36,8 @@ static VikAggregateLayer *aggregate_layer_unmarshall( guint8 *data, gint len, Vi
static void aggregate_layer_change_coord_mode ( VikAggregateLayer *val, VikCoordMode mode );
static void aggregate_layer_drag_drop_request ( VikAggregateLayer *val_src, VikAggregateLayer *val_dest, GtkTreeIter *src_item_iter, GtkTreePath *dest_path );
+static void aggregate_layer_add_menu_items ( VikAggregateLayer *val, GtkMenu *menu, gpointer vlp );
+
VikLayerInterface vik_aggregate_layer_interface = {
"Aggregate",
N_("Aggregate"),
@@ -60,7 +66,7 @@ VikLayerInterface vik_aggregate_layer_interface = {
(VikLayerFuncSetMenuItemsSelection) NULL,
(VikLayerFuncGetMenuItemsSelection) NULL,
- (VikLayerFuncAddMenuItems) NULL,
+ (VikLayerFuncAddMenuItems) aggregate_layer_add_menu_items,
(VikLayerFuncSublayerAddMenuItems) NULL,
(VikLayerFuncSublayerRenameRequest) NULL,
@@ -94,6 +100,8 @@ VikLayerInterface vik_aggregate_layer_interface = {
struct _VikAggregateLayer {
VikLayer vl;
GList *children;
+ // One per layer
+ GtkWidget *tracks_analysis_dialog;
};
GType vik_aggregate_layer_get_type ()
@@ -200,9 +208,16 @@ void vik_aggregate_layer_insert_layer ( VikAggregateLayer *val, VikLayer *l, Gtk
GtkTreeIter iter;
VikLayer *vl = VIK_LAYER(val);
+ // By default layers are inserted above the selected layer
+ gboolean put_above = TRUE;
+
+ // These types are 'base' types in that you what other information on top
+ if ( l->type == VIK_LAYER_MAPS || l->type == VIK_LAYER_DEM || l->type == VIK_LAYER_GEOREF )
+ put_above = FALSE;
+
if ( vl->realized )
{
- vik_treeview_insert_layer ( vl->vt, &(vl->iter), &iter, l->name, val, l, l->type, l->type, replace_iter );
+ vik_treeview_insert_layer ( vl->vt, &(vl->iter), &iter, l->name, val, put_above, l, l->type, l->type, replace_iter );
if ( ! l->visible )
vik_treeview_item_set_visible ( vl->vt, &iter, FALSE );
vik_layer_realize ( l, vl->vt, &iter );
@@ -213,7 +228,11 @@ void vik_aggregate_layer_insert_layer ( VikAggregateLayer *val, VikLayer *l, Gtk
if (replace_iter) {
GList *theone = g_list_find ( val->children, vik_treeview_item_get_pointer ( vl->vt, replace_iter ) );
- val->children = g_list_insert ( val->children, l, g_list_position(val->children,theone)+1 );
+ if ( put_above )
+ val->children = g_list_insert ( val->children, l, g_list_position(val->children,theone)+1 );
+ else
+ // Thus insert 'here' (so don't add 1)
+ val->children = g_list_insert ( val->children, l, g_list_position(val->children,theone) );
} else {
// Effectively insert at 'end' of the list to match how displayed in the treeview
// - but since it is drawn from 'bottom first' it is actually the first in the child list
@@ -225,14 +244,28 @@ void vik_aggregate_layer_insert_layer ( VikAggregateLayer *val, VikLayer *l, Gtk
g_signal_connect_swapped ( G_OBJECT(l), "update", G_CALLBACK(vik_layer_emit_update_secondary), val );
}
-void vik_aggregate_layer_add_layer ( VikAggregateLayer *val, VikLayer *l )
+/**
+ * vik_aggregate_layer_add_layer:
+ * @allow_reordering: should be set for GUI interactions,
+ * whereas loading from a file needs strict ordering and so should be FALSE
+ */
+void vik_aggregate_layer_add_layer ( VikAggregateLayer *val, VikLayer *l, gboolean allow_reordering )
{
GtkTreeIter iter;
VikLayer *vl = VIK_LAYER(val);
+ // By default layers go to the top
+ gboolean put_above = TRUE;
+
+ if ( allow_reordering ) {
+ // These types are 'base' types in that you what other information on top
+ if ( l->type == VIK_LAYER_MAPS || l->type == VIK_LAYER_DEM || l->type == VIK_LAYER_GEOREF )
+ put_above = FALSE;
+ }
+
if ( vl->realized )
{
- vik_treeview_add_layer ( vl->vt, &(vl->iter), &iter, l->name, val, l, l->type, l->type);
+ vik_treeview_add_layer ( vl->vt, &(vl->iter), &iter, l->name, val, put_above, l, l->type, l->type);
if ( ! l->visible )
vik_treeview_item_set_visible ( vl->vt, &iter, FALSE );
vik_layer_realize ( l, vl->vt, &iter );
@@ -241,7 +274,11 @@ void vik_aggregate_layer_add_layer ( VikAggregateLayer *val, VikLayer *l )
vik_treeview_expand ( vl->vt, &(vl->iter) );
}
- val->children = g_list_append ( val->children, l );
+ if ( put_above )
+ val->children = g_list_append ( val->children, l );
+ else
+ val->children = g_list_prepend ( val->children, l );
+
g_signal_connect_swapped ( G_OBJECT(l), "update", G_CALLBACK(vik_layer_emit_update_secondary), val );
}
@@ -294,24 +331,23 @@ void vik_aggregate_layer_move_layer ( VikAggregateLayer *val, GtkTreeIter *child
* of the pixmap before drawing the trigger layer so we can use it again
* later.
*/
-void vik_aggregate_layer_draw ( VikAggregateLayer *val, gpointer data )
+void vik_aggregate_layer_draw ( VikAggregateLayer *val, VikViewport *vp )
{
GList *iter = val->children;
VikLayer *vl;
- VikViewport *viewport = VIK_VIEWPORT(data);
- VikLayer *trigger = VIK_LAYER(vik_viewport_get_trigger( viewport ));
+ VikLayer *trigger = VIK_LAYER(vik_viewport_get_trigger( vp ));
while ( iter ) {
vl = VIK_LAYER(iter->data);
if ( vl == trigger ) {
- if ( vik_viewport_get_half_drawn ( viewport ) ) {
- vik_viewport_set_half_drawn ( viewport, FALSE );
- vik_viewport_snapshot_load( viewport );
+ if ( vik_viewport_get_half_drawn ( vp ) ) {
+ vik_viewport_set_half_drawn ( vp, FALSE );
+ vik_viewport_snapshot_load( vp );
} else {
- vik_viewport_snapshot_save( viewport );
+ vik_viewport_snapshot_save( vp );
}
}
- if ( vl->type == VIK_LAYER_AGGREGATE || vl->type == VIK_LAYER_GPS || ! vik_viewport_get_half_drawn( viewport ) )
- vik_layer_draw ( vl, data );
+ if ( vl->type == VIK_LAYER_AGGREGATE || vl->type == VIK_LAYER_GPS || ! vik_viewport_get_half_drawn( vp ) )
+ vik_layer_draw ( vl, vp );
iter = iter->next;
}
}
@@ -326,6 +362,270 @@ static void aggregate_layer_change_coord_mode ( VikAggregateLayer *val, VikCoord
}
}
+static void aggregate_layer_child_visible_toggle ( gpointer data[2] )
+{
+ // Convert data back to correct types
+ VikAggregateLayer *val = VIK_AGGREGATE_LAYER ( data[0] );
+ VikLayersPanel *vlp = VIK_LAYERS_PANEL ( data[1] );
+ VikLayer *vl;
+
+ // Loop around all (child) layers applying visibility setting
+ // This does not descend the tree if there are aggregates within aggregrate - just the first level of layers held
+ GList *iter = val->children;
+ while ( iter ) {
+ vl = VIK_LAYER ( iter->data );
+ vl->visible = !vl->visible;
+ // Also set checkbox on/off
+ vik_treeview_item_toggle_visible ( vik_layers_panel_get_treeview ( vlp ), &(vl->iter) );
+ iter = iter->next;
+ }
+ // Redraw as view may have changed
+ vik_layer_emit_update ( VIK_LAYER ( val ) );
+}
+
+static void aggregate_layer_child_visible ( gpointer data[2], gboolean on_off)
+{
+ // Convert data back to correct types
+ VikAggregateLayer *val = VIK_AGGREGATE_LAYER ( data[0] );
+ VikLayersPanel *vlp = VIK_LAYERS_PANEL ( data[1] );
+ VikLayer *vl;
+
+ // Loop around all (child) layers applying visibility setting
+ // This does not descend the tree if there are aggregates within aggregrate - just the first level of layers held
+ GList *iter = val->children;
+ while ( iter ) {
+ vl = VIK_LAYER ( iter->data );
+ vl->visible = on_off;
+ // Also set checkbox on_off
+ vik_treeview_item_set_visible ( vik_layers_panel_get_treeview ( vlp ), &(vl->iter), on_off );
+ iter = iter->next;
+ }
+ // Redraw as view may have changed
+ vik_layer_emit_update ( VIK_LAYER ( val ) );
+}
+
+static void aggregate_layer_child_visible_on ( gpointer data[2] )
+{
+ aggregate_layer_child_visible ( data, TRUE );
+}
+
+static void aggregate_layer_child_visible_off ( gpointer data[2] )
+{
+ aggregate_layer_child_visible ( data, FALSE );
+}
+
+/**
+ * If order is true sort ascending, otherwise a descending sort
+ */
+static gint sort_layer_compare ( gconstpointer a, gconstpointer b, gpointer order )
+{
+ VikLayer *sa = (VikLayer *)a;
+ VikLayer *sb = (VikLayer *)b;
+
+ // Default ascending order
+ gint answer = g_strcmp0 ( sa->name, sb->name );
+
+ if ( GPOINTER_TO_INT(order) ) {
+ // Invert sort order for ascending order
+ answer = -answer;
+ }
+
+ return answer;
+}
+
+static void aggregate_layer_sort_a2z ( gpointer lav[2] )
+{
+ VikAggregateLayer *val = VIK_AGGREGATE_LAYER(lav[0]);
+ vik_treeview_sort_children ( VIK_LAYER(val)->vt, &(VIK_LAYER(val)->iter), VL_SO_ALPHABETICAL_ASCENDING );
+ val->children = g_list_sort_with_data ( val->children, sort_layer_compare, GINT_TO_POINTER(TRUE) );
+}
+
+static void aggregate_layer_sort_z2a ( gpointer lav[2] )
+{
+ VikAggregateLayer *val = VIK_AGGREGATE_LAYER(lav[0]);
+ vik_treeview_sort_children ( VIK_LAYER(val)->vt, &(VIK_LAYER(val)->iter), VL_SO_ALPHABETICAL_DESCENDING );
+ val->children = g_list_sort_with_data ( val->children, sort_layer_compare, GINT_TO_POINTER(FALSE) );
+}
+
+/**
+ * aggregate_layer_waypoint_create_list:
+ * @vl: The layer that should create the waypoint and layers list
+ * @user_data: Not used in this function
+ *
+ * Returns: A list of #vik_trw_waypoint_list_t
+ */
+static GList* aggregate_layer_waypoint_create_list ( VikLayer *vl, gpointer user_data )
+{
+ VikAggregateLayer *val = VIK_AGGREGATE_LAYER(vl);
+
+ // Get all TRW layers
+ GList *layers = NULL;
+ layers = vik_aggregate_layer_get_all_layers_of_type ( val, layers, VIK_LAYER_TRW, TRUE );
+
+ // For each TRW layers keep adding the waypoints to build a list of all of them
+ GList *waypoints_and_layers = NULL;
+ layers = g_list_first ( layers );
+ while ( layers ) {
+ GList *waypoints = NULL;
+ waypoints = g_list_concat ( waypoints, g_hash_table_get_values ( vik_trw_layer_get_waypoints( VIK_TRW_LAYER(layers->data) ) ) );
+
+ waypoints_and_layers = g_list_concat ( waypoints_and_layers, vik_trw_layer_build_waypoint_list_t ( VIK_TRW_LAYER(layers->data), waypoints ) );
+
+ layers = g_list_next ( layers );
+ }
+ g_list_free ( layers );
+
+ return waypoints_and_layers;
+}
+
+static void aggregate_layer_waypoint_list_dialog ( gpointer data[2] )
+{
+ VikAggregateLayer *val = VIK_AGGREGATE_LAYER(data[0]);
+ gchar *title = g_strdup_printf ( _("%s: Waypoint List"), VIK_LAYER(val)->name );
+ vik_trw_layer_waypoint_list_show_dialog ( title, VIK_LAYER(val), NULL, aggregate_layer_waypoint_create_list, TRUE );
+ g_free ( title );
+}
+
+/**
+ * aggregate_layer_track_create_list:
+ * @vl: The layer that should create the track and layers list
+ * @user_data: Not used in this function
+ *
+ * Returns: A list of #vik_trw_track_list_t
+ */
+static GList* aggregate_layer_track_create_list ( VikLayer *vl, gpointer user_data )
+{
+ VikAggregateLayer *val = VIK_AGGREGATE_LAYER(vl);
+
+ // Get all TRW layers
+ GList *layers = NULL;
+ layers = vik_aggregate_layer_get_all_layers_of_type ( val, layers, VIK_LAYER_TRW, TRUE );
+
+ // For each TRW layers keep adding the tracks and routes to build a list of all of them
+ GList *tracks_and_layers = NULL;
+ layers = g_list_first ( layers );
+ while ( layers ) {
+ GList *tracks = NULL;
+ tracks = g_list_concat ( tracks, g_hash_table_get_values ( vik_trw_layer_get_tracks( VIK_TRW_LAYER(layers->data) ) ) );
+ tracks = g_list_concat ( tracks, g_hash_table_get_values ( vik_trw_layer_get_routes( VIK_TRW_LAYER(layers->data) ) ) );
+
+ tracks_and_layers = g_list_concat ( tracks_and_layers, vik_trw_layer_build_track_list_t ( VIK_TRW_LAYER(layers->data), tracks ) );
+
+ layers = g_list_next ( layers );
+ }
+ g_list_free ( layers );
+
+ return tracks_and_layers;
+}
+
+static void aggregate_layer_track_list_dialog ( gpointer data[2] )
+{
+ VikAggregateLayer *val = VIK_AGGREGATE_LAYER(data[0]);
+ gchar *title = g_strdup_printf ( _("%s: Track and Route List"), VIK_LAYER(val)->name );
+ vik_trw_layer_track_list_show_dialog ( title, VIK_LAYER(val), NULL, aggregate_layer_track_create_list, TRUE );
+ g_free ( title );
+}
+
+/**
+ * aggregate_layer_analyse_close:
+ *
+ * Stuff to do on dialog closure
+ */
+static void aggregate_layer_analyse_close ( GtkWidget *dialog, gint resp, VikLayer* vl )
+{
+ VikAggregateLayer *val = VIK_AGGREGATE_LAYER(vl);
+ gtk_widget_destroy ( dialog );
+ val->tracks_analysis_dialog = NULL;
+}
+
+static void aggregate_layer_analyse ( gpointer data[2] )
+{
+ VikAggregateLayer *val = VIK_AGGREGATE_LAYER(data[0]);
+
+ // There can only be one!
+ if ( val->tracks_analysis_dialog )
+ return;
+
+ val->tracks_analysis_dialog = vik_trw_layer_analyse_this ( VIK_GTK_WINDOW_FROM_LAYER(VIK_LAYER(val)),
+ VIK_LAYER(val)->name,
+ VIK_LAYER(val),
+ NULL,
+ aggregate_layer_track_create_list,
+ aggregate_layer_analyse_close );
+}
+
+static void aggregate_layer_add_menu_items ( VikAggregateLayer *val, GtkMenu *menu, gpointer vlp )
+{
+ // Data to pass on in menu functions
+ static gpointer data[2];
+ data[0] = val;
+ data[1] = vlp;
+
+ GtkWidget *item = gtk_menu_item_new();
+ gtk_menu_shell_append ( GTK_MENU_SHELL(menu), item );
+ gtk_widget_show ( item );
+
+ GtkWidget *vis_submenu = gtk_menu_new ();
+ item = gtk_menu_item_new_with_mnemonic ( _("_Visibility") );
+ gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
+ gtk_widget_show ( item );
+ gtk_menu_item_set_submenu (GTK_MENU_ITEM (item), vis_submenu );
+
+ item = gtk_image_menu_item_new_with_mnemonic ( _("_Show All") );
+ gtk_image_menu_item_set_image ( (GtkImageMenuItem*)item, gtk_image_new_from_stock (GTK_STOCK_APPLY, GTK_ICON_SIZE_MENU) );
+ g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(aggregate_layer_child_visible_on), data );
+ gtk_menu_shell_append (GTK_MENU_SHELL (vis_submenu), item);
+ gtk_widget_show ( item );
+
+ item = gtk_image_menu_item_new_with_mnemonic ( _("_Hide All") );
+ gtk_image_menu_item_set_image ( (GtkImageMenuItem*)item, gtk_image_new_from_stock (GTK_STOCK_CLEAR, GTK_ICON_SIZE_MENU) );
+ g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(aggregate_layer_child_visible_off), data );
+ gtk_menu_shell_append (GTK_MENU_SHELL (vis_submenu), item);
+ gtk_widget_show ( item );
+
+ item = gtk_image_menu_item_new_with_mnemonic ( _("_Toggle") );
+ gtk_image_menu_item_set_image ( (GtkImageMenuItem*)item, gtk_image_new_from_stock (GTK_STOCK_REFRESH, GTK_ICON_SIZE_MENU) );
+ g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(aggregate_layer_child_visible_toggle), data );
+ gtk_menu_shell_append (GTK_MENU_SHELL (vis_submenu), item);
+ gtk_widget_show ( item );
+
+ GtkWidget *submenu_sort = gtk_menu_new ();
+ item = gtk_image_menu_item_new_with_mnemonic ( _("_Sort") );
+ gtk_image_menu_item_set_image ( (GtkImageMenuItem*)item, gtk_image_new_from_stock (GTK_STOCK_REFRESH, GTK_ICON_SIZE_MENU) );
+ gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
+ gtk_widget_show ( item );
+ gtk_menu_item_set_submenu (GTK_MENU_ITEM (item), submenu_sort );
+
+ item = gtk_image_menu_item_new_with_mnemonic ( _("Name _Ascending") );
+ gtk_image_menu_item_set_image ( (GtkImageMenuItem*)item, gtk_image_new_from_stock (GTK_STOCK_SORT_ASCENDING, GTK_ICON_SIZE_MENU) );
+ g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(aggregate_layer_sort_a2z), data );
+ gtk_menu_shell_append ( GTK_MENU_SHELL(submenu_sort), item );
+ gtk_widget_show ( item );
+
+ item = gtk_image_menu_item_new_with_mnemonic ( _("Name _Descending") );
+ gtk_image_menu_item_set_image ( (GtkImageMenuItem*)item, gtk_image_new_from_stock (GTK_STOCK_SORT_DESCENDING, GTK_ICON_SIZE_MENU) );
+ g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(aggregate_layer_sort_z2a), data );
+ gtk_menu_shell_append ( GTK_MENU_SHELL(submenu_sort), item );
+ gtk_widget_show ( item );
+
+ item = gtk_menu_item_new_with_mnemonic ( _("_Statistics") );
+ g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(aggregate_layer_analyse), data );
+ gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
+ gtk_widget_show ( item );
+
+ item = gtk_image_menu_item_new_with_mnemonic ( _("Track _List...") );
+ gtk_image_menu_item_set_image ( (GtkImageMenuItem*)item, gtk_image_new_from_stock (GTK_STOCK_INDEX, GTK_ICON_SIZE_MENU) );
+ g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(aggregate_layer_track_list_dialog), data );
+ gtk_menu_shell_append ( GTK_MENU_SHELL(menu), item );
+ gtk_widget_show ( item );
+
+ item = gtk_image_menu_item_new_with_mnemonic ( _("_Waypoint List...") );
+ gtk_image_menu_item_set_image ( (GtkImageMenuItem*)item, gtk_image_new_from_stock (GTK_STOCK_INDEX, GTK_ICON_SIZE_MENU) );
+ g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(aggregate_layer_waypoint_list_dialog), data );
+ gtk_menu_shell_append ( GTK_MENU_SHELL(menu), item );
+ gtk_widget_show ( item );
+}
+
static void disconnect_layer_signal ( VikLayer *vl, VikAggregateLayer *val )
{
g_assert(DISCONNECT_UPDATE_SIGNAL(vl,val)==1);
@@ -336,6 +636,8 @@ void vik_aggregate_layer_free ( VikAggregateLayer *val )
g_list_foreach ( val->children, (GFunc)(disconnect_layer_signal), val );
g_list_foreach ( val->children, (GFunc)(g_object_unref), NULL );
g_list_free ( val->children );
+ if ( val->tracks_analysis_dialog != NULL )
+ gtk_widget_destroy ( val->tracks_analysis_dialog );
}
static void delete_layer_iter ( VikLayer *vl )
@@ -368,7 +670,7 @@ gboolean vik_aggregate_layer_delete ( VikAggregateLayer *val, GtkTreeIter *iter
#if 0
/* returns 0 == we're good, 1 == didn't find any layers, 2 == got rejected */
-guint vik_aggregate_layer_tool ( VikAggregateLayer *val, guint16 layer_type, VikToolInterfaceFunc tool_func, GdkEventButton *event, VikViewport *vvp )
+guint vik_aggregate_layer_tool ( VikAggregateLayer *val, VikLayerTypeEnum layer_type, VikToolInterfaceFunc tool_func, GdkEventButton *event, VikViewport *vvp )
{
GList *iter = val->children;
gboolean found_rej = FALSE;
@@ -403,7 +705,7 @@ guint vik_aggregate_layer_tool ( VikAggregateLayer *val, guint16 layer_type, Vik
}
#endif
-VikLayer *vik_aggregate_layer_get_top_visible_layer_of_type ( VikAggregateLayer *val, gint type )
+VikLayer *vik_aggregate_layer_get_top_visible_layer_of_type ( VikAggregateLayer *val, VikLayerTypeEnum type )
{
VikLayer *rv;
GList *ls = val->children;
@@ -428,7 +730,7 @@ VikLayer *vik_aggregate_layer_get_top_visible_layer_of_type ( VikAggregateLayer
return NULL;
}
-GList *vik_aggregate_layer_get_all_layers_of_type(VikAggregateLayer *val, GList *layers, gint type, gboolean include_invisible)
+GList *vik_aggregate_layer_get_all_layers_of_type(VikAggregateLayer *val, GList *layers, VikLayerTypeEnum type, gboolean include_invisible)
{
GList *l = layers;
GList *children = val->children;
@@ -442,11 +744,11 @@ GList *vik_aggregate_layer_get_all_layers_of_type(VikAggregateLayer *val, GList
if (vl->type == VIK_LAYER_AGGREGATE ) {
// Don't even consider invisible aggregrates, unless told to
if (vl->visible || include_invisible)
- l = vik_aggregate_layer_get_all_layers_of_type(VIK_AGGREGATE_LAYER(children->data), l, type, include_invisible);
+ l = vik_aggregate_layer_get_all_layers_of_type(VIK_AGGREGATE_LAYER(children->data), l, type, include_invisible);
}
else if (vl->type == type) {
if (vl->visible || include_invisible)
- l = g_list_prepend(l, children->data); /* now in top down order */
+ l = g_list_prepend(l, children->data); /* now in top down order */
}
else if (type == VIK_LAYER_TRW) {
/* GPS layers contain TRW layers. cf with usage in file.c */
@@ -484,7 +786,7 @@ void vik_aggregate_layer_realize ( VikAggregateLayer *val, VikTreeview *vt, GtkT
while ( i )
{
vli = VIK_LAYER(i->data);
- vik_treeview_add_layer ( vl->vt, layer_iter, &iter, vli->name, val,
+ vik_treeview_add_layer ( vl->vt, layer_iter, &iter, vli->name, val, TRUE,
vli, vli->type, vli->type );
if ( ! vli->visible )
vik_treeview_item_set_visible ( vl->vt, &iter, FALSE );
diff --git a/src/vikaggregatelayer.h b/src/vikaggregatelayer.h
index 388a879..4f29ed5 100644
--- a/src/vikaggregatelayer.h
+++ b/src/vikaggregatelayer.h
@@ -22,6 +22,8 @@
#ifndef _VIKING_AGGREGATELAYER_H
#define _VIKING_AGGREGATELAYER_H
+#include <glib.h>
+
#include "viklayer.h"
G_BEGIN_DECLS
@@ -43,10 +45,10 @@ GType vik_aggregate_layer_get_type ();
typedef struct _VikAggregateLayer VikAggregateLayer;
VikAggregateLayer *vik_aggregate_layer_new ();
-void vik_aggregate_layer_add_layer ( VikAggregateLayer *val, VikLayer *l );
+void vik_aggregate_layer_add_layer ( VikAggregateLayer *val, VikLayer *l, gboolean allow_reordering );
void vik_aggregate_layer_insert_layer ( VikAggregateLayer *val, VikLayer *l, GtkTreeIter *replace_layer );
void vik_aggregate_layer_move_layer ( VikAggregateLayer *val, GtkTreeIter *child_iter, gboolean up );
-void vik_aggregate_layer_draw ( VikAggregateLayer *val, gpointer data );
+void vik_aggregate_layer_draw ( VikAggregateLayer *val, VikViewport *vp );
void vik_aggregate_layer_free ( VikAggregateLayer *val );
void vik_aggregate_layer_clear ( VikAggregateLayer *val );
gboolean vik_aggregate_layer_delete ( VikAggregateLayer *val, GtkTreeIter *iter );
@@ -55,13 +57,13 @@ VikAggregateLayer *vik_aggregate_layer_create (VikViewport *vp);
/* returns: 0 = success, 1 = none appl. found, 2 = found but rejected */
// guint vik_aggregate_layer_tool ( VikAggregateLayer *val, guint16 layer_type, VikToolInterfaceFunc tool_func, GdkEventButton *event, VikViewport *vvp);
-VikLayer *vik_aggregate_layer_get_top_visible_layer_of_type ( VikAggregateLayer *val, gint type );
+VikLayer *vik_aggregate_layer_get_top_visible_layer_of_type ( VikAggregateLayer *val, VikLayerTypeEnum type );
void vik_aggregate_layer_realize ( VikAggregateLayer *val, VikTreeview *vt, GtkTreeIter *layer_iter );
gboolean vik_aggregate_layer_load_layers ( VikAggregateLayer *val, FILE *f, gpointer vp );
gboolean vik_aggregate_layer_is_empty ( VikAggregateLayer *val );
const GList *vik_aggregate_layer_get_children ( VikAggregateLayer *val );
-GList *vik_aggregate_layer_get_all_layers_of_type(VikAggregateLayer *val, GList *layers, gint type, gboolean include_invisible);
+GList *vik_aggregate_layer_get_all_layers_of_type(VikAggregateLayer *val, GList *layers, VikLayerTypeEnum type, gboolean include_invisible);
G_END_DECLS
diff --git a/src/vikcoordlayer.c b/src/vikcoordlayer.c
index 5b983b7..64996f2 100644
--- a/src/vikcoordlayer.c
+++ b/src/vikcoordlayer.c
@@ -30,25 +30,35 @@
#include "viking.h"
#include "icons/icons.h"
+static VikCoordLayer *coord_layer_new ( VikViewport *vp );
+static void coord_layer_draw ( VikCoordLayer *vcl, VikViewport *vp );
+static void coord_layer_free ( VikCoordLayer *vcl );
+static VikCoordLayer *coord_layer_create ( VikViewport *vp );
static void coord_layer_marshall( VikCoordLayer *vcl, guint8 **data, gint *len );
static VikCoordLayer *coord_layer_unmarshall( guint8 *data, gint len, VikViewport *vvp );
static gboolean coord_layer_set_param ( VikCoordLayer *vcl, guint16 id, VikLayerParamData data, VikViewport *vp, gboolean is_file_operation );
static VikLayerParamData coord_layer_get_param ( VikCoordLayer *vcl, guint16 id, gboolean is_file_operation );
-static void coord_layer_update_gc ( VikCoordLayer *vcl, VikViewport *vp, const gchar *color );
static void coord_layer_post_read ( VikLayer *vl, VikViewport *vp, gboolean from_file );
+static void coord_layer_update_gc ( VikCoordLayer *vcl, VikViewport *vp );
static VikLayerParamScale param_scales[] = {
{ 0.05, 60.0, 0.25, 10 },
{ 1, 10, 1, 0 },
};
+static VikLayerParamData color_default ( void ) {
+ VikLayerParamData data; gdk_color_parse ( "red", &data.c ); return data;
+ // or: return VIK_LPD_COLOR ( 0, 65535, 0, 0 );
+}
+static VikLayerParamData min_inc_default ( void ) { return VIK_LPD_DOUBLE ( 1.0 ); }
+static VikLayerParamData line_thickness_default ( void ) { return VIK_LPD_UINT ( 3 ); }
+
static VikLayerParam coord_layer_params[] = {
- { "color", VIK_LAYER_PARAM_COLOR, VIK_LAYER_GROUP_NONE, N_("Color:"), VIK_LAYER_WIDGET_COLOR, NULL, NULL, NULL },
- { "min_inc", VIK_LAYER_PARAM_DOUBLE, VIK_LAYER_GROUP_NONE, N_("Minutes Width:"), VIK_LAYER_WIDGET_SPINBUTTON, &param_scales[0], NULL, NULL },
- { "line_thickness", VIK_LAYER_PARAM_UINT, VIK_LAYER_GROUP_NONE, N_("Line Thickness:"), VIK_LAYER_WIDGET_SPINBUTTON, &param_scales[1], NULL, NULL },
+ { VIK_LAYER_COORD, "color", VIK_LAYER_PARAM_COLOR, VIK_LAYER_GROUP_NONE, N_("Color:"), VIK_LAYER_WIDGET_COLOR, NULL, NULL, NULL, color_default, NULL, NULL },
+ { VIK_LAYER_COORD, "min_inc", VIK_LAYER_PARAM_DOUBLE, VIK_LAYER_GROUP_NONE, N_("Minutes Width:"), VIK_LAYER_WIDGET_SPINBUTTON, &param_scales[0], NULL, NULL, min_inc_default, NULL, NULL },
+ { VIK_LAYER_COORD, "line_thickness", VIK_LAYER_PARAM_UINT, VIK_LAYER_GROUP_NONE, N_("Line Thickness:"), VIK_LAYER_WIDGET_SPINBUTTON, &param_scales[1], NULL, NULL, line_thickness_default, NULL, NULL },
};
-
enum { PARAM_COLOR = 0, PARAM_MIN_INC, PARAM_LINE_THICKNESS, NUM_PARAMS };
VikLayerInterface vik_coord_layer_interface = {
@@ -67,13 +77,13 @@ VikLayerInterface vik_coord_layer_interface = {
VIK_MENU_ITEM_ALL,
- (VikLayerFuncCreate) vik_coord_layer_create,
+ (VikLayerFuncCreate) coord_layer_create,
(VikLayerFuncRealize) NULL,
(VikLayerFuncPostRead) coord_layer_post_read,
- (VikLayerFuncFree) vik_coord_layer_free,
+ (VikLayerFuncFree) coord_layer_free,
(VikLayerFuncProperties) NULL,
- (VikLayerFuncDraw) vik_coord_layer_draw,
+ (VikLayerFuncDraw) coord_layer_draw,
(VikLayerFuncChangeCoordMode) NULL,
(VikLayerFuncSetMenuItemsSelection) NULL,
@@ -115,7 +125,7 @@ struct _VikCoordLayer {
GdkGC *gc;
gdouble deg_inc;
guint8 line_thickness;
- GdkColor *color;
+ GdkColor color;
};
GType vik_coord_layer_get_type ()
@@ -149,16 +159,18 @@ static void coord_layer_marshall( VikCoordLayer *vcl, guint8 **data, gint *len )
static VikCoordLayer *coord_layer_unmarshall( guint8 *data, gint len, VikViewport *vvp )
{
- VikCoordLayer *rv = vik_coord_layer_new ();
+ VikCoordLayer *rv = coord_layer_new ( vvp );
vik_layer_unmarshall_params ( VIK_LAYER(rv), data, len, vvp );
+ coord_layer_update_gc ( rv, vvp );
return rv;
}
+// NB VikViewport can be null as it's not used ATM
gboolean coord_layer_set_param ( VikCoordLayer *vcl, guint16 id, VikLayerParamData data, VikViewport *vp, gboolean is_file_operation )
{
switch ( id )
{
- case PARAM_COLOR: if ( vcl->color ) gdk_color_free ( vcl->color ); vcl->color = gdk_color_copy( &(data.c)); break;
+ case PARAM_COLOR: vcl->color = data.c; break;
case PARAM_MIN_INC: vcl->deg_inc = data.d / 60.0; break;
case PARAM_LINE_THICKNESS: if ( data.u >= 1 && data.u <= 15 ) vcl->line_thickness = data.u; break;
}
@@ -170,15 +182,7 @@ static VikLayerParamData coord_layer_get_param ( VikCoordLayer *vcl, guint16 id,
VikLayerParamData rv;
switch ( id )
{
- case PARAM_COLOR:
- if (vcl->color)
- {
- rv.c.pixel = vcl->color->pixel;
- rv.c.red = vcl->color->red;
- rv.c.green = vcl->color->green;
- rv.c.blue = vcl->color->blue;
- }
- break;
+ case PARAM_COLOR: rv.c = vcl->color; break;
case PARAM_MIN_INC: rv.d = vcl->deg_inc * 60.0; break;
case PARAM_LINE_THICKNESS: rv.i = vcl->line_thickness; break;
}
@@ -191,33 +195,23 @@ static void coord_layer_post_read ( VikLayer *vl, VikViewport *vp, gboolean from
if ( vcl->gc )
g_object_unref ( G_OBJECT(vcl->gc) );
- vcl->gc = vik_viewport_new_gc_from_color ( vp, vcl->color, vcl->line_thickness );
-
+ vcl->gc = vik_viewport_new_gc_from_color ( vp, &(vcl->color), vcl->line_thickness );
}
-VikCoordLayer *vik_coord_layer_new ( )
+static VikCoordLayer *coord_layer_new ( VikViewport *vvp )
{
- GdkColor InitColor;
-
VikCoordLayer *vcl = VIK_COORD_LAYER ( g_object_new ( VIK_COORD_LAYER_TYPE, NULL ) );
vik_layer_set_type ( VIK_LAYER(vcl), VIK_LAYER_COORD );
- InitColor.pixel = 0;
- InitColor.red = 65535;
- InitColor.green = 65535;
- InitColor.blue = 65535;
+ vik_layer_set_defaults ( VIK_LAYER(vcl), vvp );
vcl->gc = NULL;
- vcl->deg_inc = 1.0/60.0;
- vcl->line_thickness = 3;
- vcl->color = gdk_color_copy (&InitColor);
+
return vcl;
}
-void vik_coord_layer_draw ( VikCoordLayer *vcl, gpointer data )
+static void coord_layer_draw ( VikCoordLayer *vcl, VikViewport *vp )
{
- VikViewport *vp = (VikViewport *) data;
-
if ( !vcl->gc ) {
return;
}
@@ -228,9 +222,9 @@ void vik_coord_layer_draw ( VikCoordLayer *vcl, gpointer data )
gdouble l, r, i, j;
gint x1, y1, x2, y2, smod = 1, mmod = 1;
gboolean mins = FALSE, secs = FALSE;
- GdkGC *dgc = vik_viewport_new_gc_from_color(vp, vcl->color, vcl->line_thickness);
- GdkGC *mgc = vik_viewport_new_gc_from_color(vp, vcl->color, MAX(vcl->line_thickness/2, 1));
- GdkGC *sgc = vik_viewport_new_gc_from_color(vp, vcl->color, MAX(vcl->line_thickness/5, 1));
+ GdkGC *dgc = vik_viewport_new_gc_from_color(vp, &(vcl->color), vcl->line_thickness);
+ GdkGC *mgc = vik_viewport_new_gc_from_color(vp, &(vcl->color), MAX(vcl->line_thickness/2, 1));
+ GdkGC *sgc = vik_viewport_new_gc_from_color(vp, &(vcl->color), MAX(vcl->line_thickness/5, 1));
vik_viewport_screen_to_coord ( vp, 0, 0, &left );
vik_viewport_screen_to_coord ( vp, vik_viewport_get_width(vp), 0, &right );
@@ -390,35 +384,24 @@ void vik_coord_layer_draw ( VikCoordLayer *vcl, gpointer data )
}
}
-void vik_coord_layer_free ( VikCoordLayer *vcl )
+static void coord_layer_free ( VikCoordLayer *vcl )
{
if ( vcl->gc != NULL )
g_object_unref ( G_OBJECT(vcl->gc) );
-
- if ( vcl->color != NULL )
- gdk_color_free ( vcl->color );
}
-static void coord_layer_update_gc ( VikCoordLayer *vcl, VikViewport *vp, const gchar *color )
+static void coord_layer_update_gc ( VikCoordLayer *vcl, VikViewport *vp )
{
- GdkColor InitColor;
-
- if ( vcl->color )
- gdk_color_free ( vcl->color );
-
- gdk_color_parse( color, &InitColor);
- vcl->color = gdk_color_copy( &InitColor );
-
if ( vcl->gc )
g_object_unref ( G_OBJECT(vcl->gc) );
- vcl->gc = vik_viewport_new_gc_from_color ( vp, vcl->color, vcl->line_thickness );
+ vcl->gc = vik_viewport_new_gc_from_color ( vp, &(vcl->color), vcl->line_thickness );
}
-VikCoordLayer *vik_coord_layer_create ( VikViewport *vp )
+static VikCoordLayer *coord_layer_create ( VikViewport *vp )
{
- VikCoordLayer *vcl = vik_coord_layer_new ();
- coord_layer_update_gc ( vcl, vp, "red" );
+ VikCoordLayer *vcl = coord_layer_new ( vp );
+ if ( vp )
+ coord_layer_update_gc ( vcl, vp );
return vcl;
}
-
diff --git a/src/vikcoordlayer.h b/src/vikcoordlayer.h
index 2e69aa8..591a531 100644
--- a/src/vikcoordlayer.h
+++ b/src/vikcoordlayer.h
@@ -42,15 +42,6 @@ GType vik_coord_layer_get_type ();
typedef struct _VikCoordLayer VikCoordLayer;
-/* TODO 0.0.8: yup, everything goes. */
-
-VikCoordLayer *vik_coord_layer_new ( );
-void vik_coord_layer_draw ( VikCoordLayer *vcl, gpointer data );
-void vik_coord_layer_free ( VikCoordLayer *vcl );
-
-VikCoordLayer *vik_coord_layer_create ( VikViewport *vp );
-gboolean vik_coord_layer_properties ( VikCoordLayer *vcl, gpointer vp );
-
G_END_DECLS
#endif
diff --git a/src/vikdemlayer.c b/src/vikdemlayer.c
index 2530121..2a7e9eb 100644
--- a/src/vikdemlayer.c
+++ b/src/vikdemlayer.c
@@ -35,28 +35,15 @@
#include <string.h>
#endif
#include <stdlib.h>
+#include <glib/gstdio.h>
#include <glib/gi18n.h>
-#include "config.h"
-#include "globals.h"
-#include "coords.h"
-#include "vikcoord.h"
-#include "download.h"
#include "background.h"
-#include "vikwaypoint.h"
-#include "viktrack.h"
-#include "vikviewport.h"
-#include "viktreeview.h"
-#include "viklayer.h"
-#include "vikaggregatelayer.h"
-#include "viklayerspanel.h"
+#include "viking.h"
#include "vikmapslayer.h"
#include "vikdemlayer.h"
-#include "dialog.h"
-
#include "dem.h"
#include "dems.h"
-
#include "icons/icons.h"
#define MAPS_CACHE_DIR maps_layer_default_dir()
@@ -71,6 +58,10 @@
#define UNUSED_LINE_THICKNESS 3
+static VikDEMLayer *dem_layer_new ( VikViewport *vvp );
+static void dem_layer_draw ( VikDEMLayer *vdl, VikViewport *vp );
+static void dem_layer_free ( VikDEMLayer *vdl );
+static VikDEMLayer *dem_layer_create ( VikViewport *vp );
static const gchar* dem_layer_tooltip( VikDEMLayer *vdl );
static void dem_layer_marshall( VikDEMLayer *vdl, guint8 **data, gint *len );
static VikDEMLayer *dem_layer_unmarshall( guint8 *data, gint len, VikViewport *vvp );
@@ -114,13 +105,22 @@ enum { DEM_TYPE_HEIGHT = 0,
DEM_TYPE_NONE,
};
+static VikLayerParamData color_default ( void ) {
+ VikLayerParamData data; gdk_color_parse ( "blue", &data.c ); return data;
+}
+
+static VikLayerParamData source_default ( void ) { return VIK_LPD_UINT ( DEM_SOURCE_SRTM ); }
+static VikLayerParamData type_default ( void ) { return VIK_LPD_UINT ( DEM_TYPE_HEIGHT ); }
+static VikLayerParamData min_elev_default ( void ) { return VIK_LPD_DOUBLE ( 0.0 ); }
+static VikLayerParamData max_elev_default ( void ) { return VIK_LPD_DOUBLE ( 1000.0 ); }
+
static VikLayerParam dem_layer_params[] = {
- { "files", VIK_LAYER_PARAM_STRING_LIST, VIK_LAYER_GROUP_NONE, N_("DEM Files:"), VIK_LAYER_WIDGET_FILELIST, NULL, NULL, NULL },
- { "source", VIK_LAYER_PARAM_UINT, VIK_LAYER_GROUP_NONE, N_("Download Source:"), VIK_LAYER_WIDGET_RADIOGROUP_STATIC, params_source, NULL },
- { "color", VIK_LAYER_PARAM_COLOR, VIK_LAYER_GROUP_NONE, N_("Min Elev Color:"), VIK_LAYER_WIDGET_COLOR, NULL, NULL, NULL },
- { "type", VIK_LAYER_PARAM_UINT, VIK_LAYER_GROUP_NONE, N_("Type:"), VIK_LAYER_WIDGET_RADIOGROUP_STATIC, params_type, NULL, NULL },
- { "min_elev", VIK_LAYER_PARAM_DOUBLE, VIK_LAYER_GROUP_NONE, N_("Min Elev:"), VIK_LAYER_WIDGET_SPINBUTTON, &param_scales[0], NULL, NULL },
- { "max_elev", VIK_LAYER_PARAM_DOUBLE, VIK_LAYER_GROUP_NONE, N_("Max Elev:"), VIK_LAYER_WIDGET_SPINBUTTON, &param_scales[0], NULL, NULL },
+ { VIK_LAYER_DEM, "files", VIK_LAYER_PARAM_STRING_LIST, VIK_LAYER_GROUP_NONE, N_("DEM Files:"), VIK_LAYER_WIDGET_FILELIST, NULL, NULL, NULL, NULL, NULL, NULL },
+ { VIK_LAYER_DEM, "source", VIK_LAYER_PARAM_UINT, VIK_LAYER_GROUP_NONE, N_("Download Source:"), VIK_LAYER_WIDGET_RADIOGROUP_STATIC, params_source, NULL, NULL, source_default, NULL, NULL },
+ { VIK_LAYER_DEM, "color", VIK_LAYER_PARAM_COLOR, VIK_LAYER_GROUP_NONE, N_("Min Elev Color:"), VIK_LAYER_WIDGET_COLOR, NULL, NULL, NULL, color_default, NULL, NULL },
+ { VIK_LAYER_DEM, "type", VIK_LAYER_PARAM_UINT, VIK_LAYER_GROUP_NONE, N_("Type:"), VIK_LAYER_WIDGET_RADIOGROUP_STATIC, params_type, NULL, NULL, type_default, NULL, NULL },
+ { VIK_LAYER_DEM, "min_elev", VIK_LAYER_PARAM_DOUBLE, VIK_LAYER_GROUP_NONE, N_("Min Elev:"), VIK_LAYER_WIDGET_SPINBUTTON, param_scales + 0, NULL, NULL, min_elev_default, NULL, NULL },
+ { VIK_LAYER_DEM, "max_elev", VIK_LAYER_PARAM_DOUBLE, VIK_LAYER_GROUP_NONE, N_("Max Elev:"), VIK_LAYER_WIDGET_SPINBUTTON, param_scales + 0, NULL, NULL, max_elev_default, NULL, NULL },
};
@@ -199,13 +199,13 @@ VikLayerInterface vik_dem_layer_interface = {
VIK_MENU_ITEM_ALL,
- (VikLayerFuncCreate) vik_dem_layer_create,
+ (VikLayerFuncCreate) dem_layer_create,
(VikLayerFuncRealize) NULL,
(VikLayerFuncPostRead) dem_layer_post_read,
- (VikLayerFuncFree) vik_dem_layer_free,
+ (VikLayerFuncFree) dem_layer_free,
(VikLayerFuncProperties) NULL,
- (VikLayerFuncDraw) vik_dem_layer_draw,
+ (VikLayerFuncDraw) dem_layer_draw,
(VikLayerFuncChangeCoordMode) NULL,
(VikLayerFuncSetMenuItemsSelection) NULL,
@@ -249,9 +249,12 @@ struct _VikDEMLayer {
GList *files;
gdouble min_elev;
gdouble max_elev;
- GdkGC *color;
+ GdkColor color;
guint source;
guint type;
+
+ // right click menu only stuff - similar to mapslayer
+ GtkMenu *right_click_menu;
};
GType vik_dem_layer_get_type ()
@@ -292,13 +295,16 @@ static void dem_layer_marshall( VikDEMLayer *vdl, guint8 **data, gint *len )
static VikDEMLayer *dem_layer_unmarshall( guint8 *data, gint len, VikViewport *vvp )
{
- VikDEMLayer *rv = vik_dem_layer_new ();
+ VikDEMLayer *rv = dem_layer_new ( vvp );
gint i;
/* TODO: share GCS between layers */
- for ( i = 0; i < DEM_N_HEIGHT_COLORS; i++ )
- rv->gcs[i] = vik_viewport_new_gc ( vvp, dem_height_colors[i], UNUSED_LINE_THICKNESS );
-
+ for ( i = 0; i < DEM_N_HEIGHT_COLORS; i++ ) {
+ if ( i == 0 )
+ rv->gcs[i] = vik_viewport_new_gc_from_color ( vvp, &(rv->color), UNUSED_LINE_THICKNESS );
+ else
+ rv->gcs[i] = vik_viewport_new_gc ( vvp, dem_height_colors[i], UNUSED_LINE_THICKNESS );
+ }
for ( i = 0; i < DEM_N_GRADIENT_COLORS; i++ )
rv->gcsgradient[i] = vik_viewport_new_gc ( vvp, dem_gradient_colors[i], UNUSED_LINE_THICKNESS );
@@ -347,11 +353,45 @@ static void dem_layer_thread_cancel ( dem_load_thread_data *data )
// Thus we can see/use what was done
}
+/**
+ * Process the list of DEM files and convert each one to a relative path
+ */
+static GList *dem_layer_convert_to_relative_filenaming ( GList *files )
+{
+ gchar *cwd = g_get_current_dir();
+ if ( !cwd )
+ return files;
+
+ GList *relfiles = NULL;
+
+ while ( files ) {
+ gchar *file = g_strdup ( file_GetRelativeFilename ( cwd, files->data ) );
+ relfiles = g_list_prepend ( relfiles, file );
+ files = files->next;
+ }
+
+ g_free ( cwd );
+
+ if ( relfiles ) {
+ // Replacing current list, so delete old values first.
+ GList *iter = files;
+ while ( iter ) {
+ g_free ( iter->data );
+ iter = iter->next;
+ }
+ g_list_free ( files );
+
+ return relfiles;
+ }
+
+ return files;
+}
+
gboolean dem_layer_set_param ( VikDEMLayer *vdl, guint16 id, VikLayerParamData data, VikViewport *vp, gboolean is_file_operation )
{
switch ( id )
{
- case PARAM_COLOR: gdk_gc_set_rgb_fg_color ( vdl->gcs[0], &(data.c) ); break;
+ case PARAM_COLOR: vdl->color = data.c; gdk_gc_set_rgb_fg_color ( vdl->gcs[0], &(vdl->color) ); break;
case PARAM_SOURCE: vdl->source = data.u; break;
case PARAM_TYPE: vdl->type = data.u; break;
case PARAM_MIN_ELEV:
@@ -402,10 +442,16 @@ static VikLayerParamData dem_layer_get_param ( VikDEMLayer *vdl, guint16 id, gbo
VikLayerParamData rv;
switch ( id )
{
- case PARAM_FILES: rv.sl = vdl->files; break;
+ case PARAM_FILES:
+ rv.sl = vdl->files;
+ if ( is_file_operation )
+ // Save in relative format if necessary
+ if ( a_vik_get_file_ref_format() == VIK_FILE_REF_FORMAT_RELATIVE )
+ rv.sl = dem_layer_convert_to_relative_filenaming ( rv.sl );
+ break;
case PARAM_SOURCE: rv.u = vdl->source; break;
case PARAM_TYPE: rv.u = vdl->type; break;
- case PARAM_COLOR: vik_gc_get_fg_color ( vdl->gcs[0], &(rv.c) ); break;
+ case PARAM_COLOR: rv.c = vdl->color; break;
case PARAM_MIN_ELEV:
/* Convert for display in desired units
NB file operation always in internal units (metres) */
@@ -431,7 +477,7 @@ static void dem_layer_post_read ( VikLayer *vl, VikViewport *vp, gboolean from_f
/* nothing ATM, but keep in case it's needed the future */
}
-VikDEMLayer *vik_dem_layer_new ( )
+static VikDEMLayer *dem_layer_new ( VikViewport *vvp )
{
VikDEMLayer *vdl = VIK_DEM_LAYER ( g_object_new ( VIK_DEM_LAYER_TYPE, NULL ) );
@@ -443,10 +489,11 @@ VikDEMLayer *vik_dem_layer_new ( )
vdl->gcsgradient = g_malloc(sizeof(GdkGC *)*DEM_N_GRADIENT_COLORS);
/* make new gcs only if we need it (copy layer -> use old) */
- vdl->min_elev = 0.0;
- vdl->max_elev = 1000.0;
- vdl->source = DEM_SOURCE_SRTM;
- vdl->type = DEM_TYPE_HEIGHT;
+ // Ensure the base GC is available so the default colour can be applied
+ if ( vvp ) vdl->gcs[0] = vik_viewport_new_gc ( vvp, "#0000FF", 1 );
+
+ vik_layer_set_defaults ( VIK_LAYER(vdl), vvp );
+
return vdl;
}
@@ -522,7 +569,7 @@ static void vik_dem_layer_draw_dem ( VikDEMLayer *vdl, VikViewport *vp, VikDEM *
if ( y2 > vik_viewport_get_height(vp) ) y2=vik_viewport_get_height(vp);
if ( x2 < 0 ) x2 = 0;
if ( y1 < 0 ) y1 = 0;
- vik_viewport_draw_rectangle ( vp, GTK_WIDGET(vp)->style->black_gc,
+ vik_viewport_draw_rectangle ( vp, gtk_widget_get_style(GTK_WIDGET(vp))->black_gc,
FALSE, x2, y1, x1-x2, y2-y1 );
return;
}
@@ -804,9 +851,8 @@ static const gchar *srtm_continent_dir ( gint lat, gint lon )
return(g_hash_table_lookup(srtm_continent, name));
}
-void vik_dem_layer_draw ( VikDEMLayer *vdl, gpointer data )
+static void dem_layer_draw ( VikDEMLayer *vdl, VikViewport *vp )
{
- VikViewport *vp = (VikViewport *) data;
GList *dems_iter = vdl->files;
VikDEM *dem;
@@ -828,12 +874,9 @@ void vik_dem_layer_draw ( VikDEMLayer *vdl, gpointer data )
}
}
-void vik_dem_layer_free ( VikDEMLayer *vdl )
+static void dem_layer_free ( VikDEMLayer *vdl )
{
gint i;
- if ( vdl->color != NULL )
- g_object_unref ( vdl->color );
-
if ( vdl->gcs )
for ( i = 0; i < DEM_N_HEIGHT_COLORS; i++ )
g_object_unref ( vdl->gcs[i] );
@@ -847,18 +890,19 @@ void vik_dem_layer_free ( VikDEMLayer *vdl )
a_dems_list_free ( vdl->files );
}
-VikDEMLayer *vik_dem_layer_create ( VikViewport *vp )
+VikDEMLayer *dem_layer_create ( VikViewport *vp )
{
- VikDEMLayer *vdl = vik_dem_layer_new ();
+ VikDEMLayer *vdl = dem_layer_new ( vp );
gint i;
-
- /* TODO: share GCS between layers */
- for ( i = 0; i < DEM_N_HEIGHT_COLORS; i++ )
- vdl->gcs[i] = vik_viewport_new_gc ( vp, dem_height_colors[i], UNUSED_LINE_THICKNESS );
-
- for ( i = 0; i < DEM_N_GRADIENT_COLORS; i++ )
- vdl->gcsgradient[i] = vik_viewport_new_gc ( vp, dem_gradient_colors[i], UNUSED_LINE_THICKNESS );
-
+ if ( vp ) {
+ /* TODO: share GCS between layers */
+ for ( i = 0; i < DEM_N_HEIGHT_COLORS; i++ ) {
+ if ( i > 0 )
+ vdl->gcs[i] = vik_viewport_new_gc ( vp, dem_height_colors[i], UNUSED_LINE_THICKNESS );
+ }
+ for ( i = 0; i < DEM_N_GRADIENT_COLORS; i++ )
+ vdl->gcsgradient[i] = vik_viewport_new_gc ( vp, dem_gradient_colors[i], UNUSED_LINE_THICKNESS );
+ }
return vdl;
}
/**************************************************************
@@ -889,7 +933,11 @@ static void srtm_dem_download_thread ( DEMDownloadParams *p, gpointer threaddata
continent_dir = srtm_continent_dir(intlat, intlon);
if (!continent_dir) {
- g_warning(N_("No SRTM data available for %f, %f"), p->lat, p->lon);
+ if ( p->vdl ) {
+ gchar *msg = g_strdup_printf ( _("No SRTM data available for %f, %f"), p->lat, p->lon );
+ vik_window_statusbar_update ( (VikWindow*)VIK_GTK_WINDOW_FROM_LAYER(p->vdl), msg, VIK_STATUSBAR_INFO );
+ g_free ( msg );
+ }
return;
}
@@ -901,7 +949,7 @@ static void srtm_dem_download_thread ( DEMDownloadParams *p, gpointer threaddata
(intlon >= 0) ? 'E' : 'W',
ABS(intlon) );
- static DownloadMapOptions options = { FALSE, FALSE, NULL, 0, a_check_map_file };
+ static DownloadMapOptions options = { FALSE, FALSE, NULL, 0, a_check_map_file, NULL };
a_http_download_get_url ( SRTM_HTTP_SITE, src_fn, p->dest, &options, NULL );
g_free ( src_fn );
}
@@ -963,7 +1011,7 @@ static void srtm_draw_existence ( VikViewport *vp )
vik_viewport_coord_to_screen ( vp, &ne, &x2, &y2 );
if ( x1 < 0 ) x1 = 0;
if ( y2 < 0 ) y2 = 0;
- vik_viewport_draw_rectangle ( vp, GTK_WIDGET(vp)->style->black_gc,
+ vik_viewport_draw_rectangle ( vp, gtk_widget_get_style(GTK_WIDGET(vp))->black_gc,
FALSE, x1, y2, x2-x1, y1-y2 );
}
}
@@ -1041,7 +1089,7 @@ static void dem24k_draw_existence ( VikViewport *vp )
vik_viewport_coord_to_screen ( vp, &ne, &x2, &y2 );
if ( x1 < 0 ) x1 = 0;
if ( y2 < 0 ) y2 = 0;
- vik_viewport_draw_rectangle ( vp, GTK_WIDGET(vp)->style->black_gc,
+ vik_viewport_draw_rectangle ( vp, gtk_widget_get_style(GTK_WIDGET(vp))->black_gc,
FALSE, x1, y2, x2-x1, y1-y2 );
}
}
@@ -1063,17 +1111,17 @@ static void weak_ref_cb ( gpointer ptr, GObject * dead_vdl )
}
/* Try to add file full_path.
- * full_path will be copied.
+ * filename will be copied.
* returns FALSE if file does not exists, TRUE otherwise.
*/
-static gboolean dem_layer_add_file ( VikDEMLayer *vdl, const gchar *full_path )
+static gboolean dem_layer_add_file ( VikDEMLayer *vdl, const gchar *filename )
{
- if ( g_file_test(full_path, G_FILE_TEST_EXISTS ) == TRUE ) {
+ if ( g_file_test(filename, G_FILE_TEST_EXISTS) == TRUE ) {
/* only load if file size is not 0 (not in progress) */
struct stat sb;
- stat (full_path, &sb);
+ stat ( filename, &sb );
if ( sb.st_size ) {
- gchar *duped_path = g_strdup(full_path);
+ gchar *duped_path = g_strdup(filename);
vdl->files = g_list_prepend ( vdl->files, duped_path );
a_dems_load ( duped_path );
g_debug("%s: %s", __FUNCTION__, duped_path);
@@ -1119,11 +1167,68 @@ static gpointer dem_layer_download_create ( VikWindow *vw, VikViewport *vvp)
return vvp;
}
+/**
+ * Display a simple dialog with information about the DEM file at this location
+ */
+static void dem_layer_file_info ( GtkWidget *widget, struct LatLon *ll )
+{
+ gint intlat, intlon;
+ const gchar *continent_dir;
+
+ intlat = (int)floor(ll->lat);
+ intlon = (int)floor(ll->lon);
+ continent_dir = srtm_continent_dir(intlat, intlon);
+
+ gchar *source = NULL;
+ if ( continent_dir )
+ source = g_strdup_printf ( "http://%s%s%s/%c%02d%c%03d.hgt.zip",
+ SRTM_HTTP_SITE,
+ SRTM_HTTP_URI,
+ continent_dir,
+ (intlat >= 0) ? 'N' : 'S',
+ ABS(intlat),
+ (intlon >= 0) ? 'E' : 'W',
+ ABS(intlon) );
+ else
+ // Probably not over any land...
+ source = g_strdup ( _("No DEM File Available") );
+
+ gchar *filename = NULL;
+ gchar *dem_file = NULL;
+#ifdef VIK_CONFIG_DEM24K
+ dem_file = dem24k_lat_lon_to_dest_fn ( ll->lat, ll->lon );
+#else
+ dem_file = srtm_lat_lon_to_dest_fn ( ll->lat, ll->lon );
+#endif
+ gchar *message = NULL;
+
+ filename = g_strdup_printf ( "%s%s", MAPS_CACHE_DIR, dem_file );
+
+ if ( g_file_test ( filename, G_FILE_TEST_EXISTS ) ) {
+ // Get some timestamp information of the file
+ struct stat stat_buf;
+ if ( g_stat ( filename, &stat_buf ) == 0 ) {
+ gchar time_buf[64];
+ strftime ( time_buf, sizeof(time_buf), "%c", gmtime((const time_t *)&stat_buf.st_mtime) );
+ message = g_strdup_printf ( _("\nSource: %s\n\nDEM File: %s\nDEM File Timestamp: %s"), source, filename, time_buf );
+ }
+ }
+ else
+ message = g_strdup_printf ( _("Source: %s\n\nNo DEM File!"), source );
+
+ // Show the info
+ a_dialog_info_msg ( GTK_WINDOW(gtk_widget_get_toplevel(widget)), message );
+
+ g_free ( message );
+ g_free ( source );
+ g_free ( dem_file );
+ g_free ( filename );
+}
static gboolean dem_layer_download_release ( VikDEMLayer *vdl, GdkEventButton *event, VikViewport *vvp )
{
VikCoord coord;
- struct LatLon ll;
+ static struct LatLon ll;
gchar *full_path;
gchar *dem_file = NULL;
@@ -1146,27 +1251,42 @@ static gboolean dem_layer_download_release ( VikDEMLayer *vdl, GdkEventButton *e
g_debug("%s: %s", __FUNCTION__, full_path);
- // TODO: check if already in filelist
-
- if ( ! dem_layer_add_file(vdl, full_path) ) {
- gchar *tmp = g_strdup_printf ( _("Downloading DEM %s"), dem_file );
- DEMDownloadParams *p = g_malloc(sizeof(DEMDownloadParams));
- p->dest = g_strdup(full_path);
- p->lat = ll.lat;
- p->lon = ll.lon;
- p->vdl = vdl;
- p->mutex = g_mutex_new();
- p->source = vdl->source;
- g_object_weak_ref(G_OBJECT(p->vdl), weak_ref_cb, p );
-
- a_background_thread ( VIK_GTK_WINDOW_FROM_LAYER(vdl), tmp,
- (vik_thr_func) dem_download_thread, p,
- (vik_thr_free_func) free_dem_download_params, NULL, 1 );
+ if ( event->button == 1 ) {
+ // TODO: check if already in filelist
+ if ( ! dem_layer_add_file(vdl, full_path) ) {
+ gchar *tmp = g_strdup_printf ( _("Downloading DEM %s"), dem_file );
+ DEMDownloadParams *p = g_malloc(sizeof(DEMDownloadParams));
+ p->dest = g_strdup(full_path);
+ p->lat = ll.lat;
+ p->lon = ll.lon;
+ p->vdl = vdl;
+ p->mutex = g_mutex_new();
+ p->source = vdl->source;
+ g_object_weak_ref(G_OBJECT(p->vdl), weak_ref_cb, p );
+
+ a_background_thread ( VIK_GTK_WINDOW_FROM_LAYER(vdl), tmp,
+ (vik_thr_func) dem_download_thread, p,
+ (vik_thr_free_func) free_dem_download_params, NULL, 1 );
+
+ g_free ( tmp );
+ }
+ else
+ vik_layer_emit_update ( VIK_LAYER(vdl) );
+ }
+ else {
+ if ( !vdl->right_click_menu ) {
+ GtkWidget *item;
+ vdl->right_click_menu = GTK_MENU ( gtk_menu_new () );
+
+ item = gtk_image_menu_item_new_with_mnemonic ( _("_Show DEM File Information") );
+ gtk_image_menu_item_set_image ( (GtkImageMenuItem*)item, gtk_image_new_from_stock (GTK_STOCK_INFO, GTK_ICON_SIZE_MENU) );
+ g_signal_connect ( G_OBJECT(item), "activate", G_CALLBACK(dem_layer_file_info), &ll );
+ gtk_menu_shell_append (GTK_MENU_SHELL(vdl->right_click_menu), item);
+ }
- g_free ( tmp );
+ gtk_menu_popup ( vdl->right_click_menu, NULL, NULL, NULL, NULL, event->button, event->time );
+ gtk_widget_show_all ( GTK_WIDGET(vdl->right_click_menu) );
}
- else
- vik_layer_emit_update ( VIK_LAYER(vdl) );
g_free ( dem_file );
g_free ( full_path );
diff --git a/src/vikdemlayer.h b/src/vikdemlayer.h
index 60fc539..e36cf78 100644
--- a/src/vikdemlayer.h
+++ b/src/vikdemlayer.h
@@ -42,15 +42,6 @@ GType vik_dem_layer_get_type ();
typedef struct _VikDEMLayer VikDEMLayer;
-/* TODO 0.0.8: yup, everything goes. */
-
-VikDEMLayer *vik_dem_layer_new ( );
-void vik_dem_layer_draw ( VikDEMLayer *vcl, gpointer data );
-void vik_dem_layer_free ( VikDEMLayer *vcl );
-
-VikDEMLayer *vik_dem_layer_create ( VikViewport *vp );
-gboolean vik_dem_layer_properties ( VikDEMLayer *vcl, gpointer vp );
-
G_END_DECLS
#endif
diff --git a/src/vikexttool_datasources.c b/src/vikexttool_datasources.c
new file mode 100644
index 0000000..fbe707b
--- /dev/null
+++ b/src/vikexttool_datasources.c
@@ -0,0 +1,89 @@
+/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 4; tab-width: 4 -*- */
+/*
+ * viking -- GPS Data and Topo Analyzer, Explorer, and Manager
+ *
+ * Copyright (C) 2013, Rob Norris <rw_norris@hotmail.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include "vikexttools.h"
+
+#include <string.h>
+
+#include <glib/gi18n.h>
+
+#define VIK_TOOL_DATASOURCE_KEY "vik-datasource-tool"
+
+static GList *ext_tool_datasources_list = NULL;
+
+void vik_ext_tool_datasources_register ( VikExtTool *tool )
+{
+ if ( IS_VIK_EXT_TOOL( tool ) )
+ ext_tool_datasources_list = g_list_append ( ext_tool_datasources_list, g_object_ref ( tool ) );
+}
+
+void vik_ext_tool_datasources_unregister_all ()
+{
+ g_list_foreach ( ext_tool_datasources_list, (GFunc) g_object_unref, NULL );
+}
+
+static void ext_tool_datasources_open_cb ( GtkWidget *widget, VikWindow *vw )
+{
+ gpointer ptr = g_object_get_data ( G_OBJECT(widget), VIK_TOOL_DATASOURCE_KEY );
+ VikExtTool *ext_tool = VIK_EXT_TOOL ( ptr );
+ vik_ext_tool_open ( ext_tool, vw );
+}
+
+/**
+ * Add to any menu
+ * mostly for allowing to assign for TrackWaypoint layer menus
+ */
+void vik_ext_tool_datasources_add_menu_items_to_menu ( VikWindow *vw, GtkMenu *menu )
+{
+ GList *iter;
+ for (iter = ext_tool_datasources_list; iter; iter = iter->next) {
+ VikExtTool *ext_tool = NULL;
+ gchar *label = NULL;
+ ext_tool = VIK_EXT_TOOL ( iter->data );
+ label = vik_ext_tool_get_label ( ext_tool );
+ if ( label ) {
+ GtkWidget *item = NULL;
+ item = gtk_menu_item_new_with_label ( _(label) );
+ g_free ( label ); label = NULL;
+ // Store tool's ref into the menu entry
+ g_object_set_data ( G_OBJECT(item), VIK_TOOL_DATASOURCE_KEY, ext_tool );
+ g_signal_connect ( G_OBJECT(item), "activate", G_CALLBACK(ext_tool_datasources_open_cb), vw );
+ gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
+ gtk_widget_show ( item );
+ }
+ }
+}
+
+/**
+ * Adds to the File->Acquire menu only
+ */
+void vik_ext_tool_datasources_add_menu_items ( VikWindow *vw, GtkUIManager *uim )
+{
+ GtkWidget *widget = gtk_ui_manager_get_widget ( uim, "/MainMenu/File/Acquire/" );
+ GtkMenu *menu = GTK_MENU ( gtk_menu_item_get_submenu ( GTK_MENU_ITEM(widget) ) );
+ vik_ext_tool_datasources_add_menu_items_to_menu ( vw, menu );
+ gtk_widget_show ( widget );
+}
diff --git a/src/vikexttool_datasources.h b/src/vikexttool_datasources.h
new file mode 100644
index 0000000..52be479
--- /dev/null
+++ b/src/vikexttool_datasources.h
@@ -0,0 +1,40 @@
+/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 4; tab-width: 4 -*- */
+/*
+ * viking -- GPS Data and Topo Analyzer, Explorer, and Manager
+ *
+ * Copyright (C) 2013, Rob Norris <rw_norris@hotmail.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ */
+#ifndef _VIKING_EXT_TOOL_DATASOURCES_H
+#define _VIKING_EXT_TOOL_DATASOURCES_H
+
+#include <gtk/gtk.h>
+
+#include "vikwindow.h"
+
+#include "vikexttool.h"
+
+G_BEGIN_DECLS
+
+void vik_ext_tool_datasources_register ( VikExtTool *tool );
+void vik_ext_tool_datasources_unregister_all ();
+void vik_ext_tool_datasources_add_menu_items_to_menu ( VikWindow *vw, GtkMenu *menu );
+void vik_ext_tool_datasources_add_menu_items ( VikWindow *vw, GtkUIManager *uim );
+
+G_END_DECLS
+
+#endif
diff --git a/src/vikexttools.c b/src/vikexttools.c
index 4dc3158..7ae540f 100644
--- a/src/vikexttools.c
+++ b/src/vikexttools.c
@@ -51,7 +51,7 @@ static void ext_tools_open_cb ( GtkWidget *widget, VikWindow *vwindow )
vik_ext_tool_open ( ext_tool, vwindow );
}
-void vik_ext_tools_add_menu_items_to_menu ( VikWindow *vwindow, GtkMenu *menu )
+void vik_ext_tools_add_action_items ( VikWindow *vwindow, GtkUIManager *uim, GtkActionGroup *action_group, guint mid )
{
GList *iter;
for (iter = ext_tools_list; iter; iter = iter->next)
@@ -62,24 +62,20 @@ void vik_ext_tools_add_menu_items_to_menu ( VikWindow *vwindow, GtkMenu *menu )
label = vik_ext_tool_get_label ( ext_tool );
if ( label )
{
- GtkWidget *item = NULL;
- item = gtk_menu_item_new_with_label ( _(label) );
+ gtk_ui_manager_add_ui ( uim, mid, "/ui/MainMenu/Tools/Exttools",
+ _(label),
+ label,
+ GTK_UI_MANAGER_MENUITEM, FALSE );
+
+ GtkAction *action = gtk_action_new ( label, label, NULL, NULL );
+ g_object_set_data ( G_OBJECT(action), VIK_TOOL_DATA_KEY, ext_tool );
+ g_signal_connect ( G_OBJECT(action), "activate", G_CALLBACK(ext_tools_open_cb), vwindow );
+
+ gtk_action_group_add_action ( action_group, action );
+
+ g_object_unref ( action );
+
g_free ( label ); label = NULL;
- // Store tool's ref into the menu entry
- g_object_set_data ( G_OBJECT(item), VIK_TOOL_DATA_KEY, ext_tool );
- g_signal_connect ( G_OBJECT(item), "activate", G_CALLBACK(ext_tools_open_cb), vwindow );
- gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
- gtk_widget_show ( item );
}
}
}
-
-void vik_ext_tools_add_menu_items ( VikWindow *vwindow, GtkUIManager *uim )
-{
- GtkWidget *widget = NULL;
- GtkMenu *menu = NULL;
- widget = gtk_ui_manager_get_widget (uim, "/MainMenu/Tools/Exttools");
- menu = GTK_MENU ( gtk_menu_item_get_submenu ( GTK_MENU_ITEM ( widget ) ) );
- vik_ext_tools_add_menu_items_to_menu ( vwindow, menu );
- gtk_widget_show ( widget );
-}
diff --git a/src/vikexttools.h b/src/vikexttools.h
index 172663c..35fac62 100644
--- a/src/vikexttools.h
+++ b/src/vikexttools.h
@@ -31,7 +31,7 @@ G_BEGIN_DECLS
void vik_ext_tools_register ( VikExtTool *tool );
void vik_ext_tools_unregister_all ();
-void vik_ext_tools_add_menu_items ( VikWindow *vwindow, GtkUIManager *uim );
+void vik_ext_tools_add_action_items ( VikWindow *vwindow, GtkUIManager *uim, GtkActionGroup *action_group, guint mid );
G_END_DECLS
diff --git a/src/vikfileentry.c b/src/vikfileentry.c
index 707fb01..b5ec18b 100644
--- a/src/vikfileentry.c
+++ b/src/vikfileentry.c
@@ -77,7 +77,7 @@ GtkWidget *vik_file_entry_new (GtkFileChooserAction action)
return GTK_WIDGET(vfe);
}
-G_CONST_RETURN gchar *vik_file_entry_get_filename ( VikFileEntry *vfe )
+const gchar *vik_file_entry_get_filename ( VikFileEntry *vfe )
{
return gtk_entry_get_text ( GTK_ENTRY(vfe->entry) );
}
diff --git a/src/vikfileentry.h b/src/vikfileentry.h
index 41684b0..c58fb8c 100644
--- a/src/vikfileentry.h
+++ b/src/vikfileentry.h
@@ -45,7 +45,7 @@ struct _VikFileEntryClass
GType vik_file_entry_get_type ();
GtkWidget *vik_file_entry_new (GtkFileChooserAction action);
-G_CONST_RETURN gchar *vik_file_entry_get_filename ( VikFileEntry *vfe );
+const gchar *vik_file_entry_get_filename ( VikFileEntry *vfe );
void vik_file_entry_set_filename ( VikFileEntry *vfe, const gchar *filename );
G_END_DECLS
diff --git a/src/vikfilelist.c b/src/vikfilelist.c
index 8ed372c..6bd3529 100644
--- a/src/vikfilelist.c
+++ b/src/vikfilelist.c
@@ -34,6 +34,7 @@ struct _VikFileList {
GtkWidget *treeview;
GtkWidget *file_selector;
GtkTreeModel *model;
+ GtkFileFilter *filter;
};
static void file_list_add ( VikFileList *vfl )
@@ -54,6 +55,9 @@ static void file_list_add ( VikFileList *vfl )
gtk_file_chooser_set_select_multiple ( GTK_FILE_CHOOSER(vfl->file_selector), TRUE );
gtk_window_set_transient_for ( GTK_WINDOW(vfl->file_selector), GTK_WINDOW(win) );
gtk_window_set_destroy_with_parent ( GTK_WINDOW(vfl->file_selector), TRUE );
+
+ if ( vfl->filter )
+ gtk_file_chooser_add_filter ( GTK_FILE_CHOOSER(vfl->file_selector), vfl->filter );
}
if ( gtk_dialog_run ( GTK_DIALOG(vfl->file_selector) ) == GTK_RESPONSE_ACCEPT ) {
@@ -150,12 +154,18 @@ GType vik_file_list_get_type (void)
return vs_type;
}
-GtkWidget *vik_file_list_new ( const gchar *title )
+/**
+ * Support just one filter, as that's all that's needed ATM
+ * Probably need to use a GList of them if more than one is required
+ */
+GtkWidget *vik_file_list_new ( const gchar *title, GtkFileFilter *filter )
{
GtkWidget *add_btn, *del_btn;
GtkWidget *hbox, *scrolledwindow;
VikFileList *vfl = VIK_FILE_LIST ( g_object_new ( VIK_FILE_LIST_TYPE, NULL ) );
+ vfl->filter = filter;
+
GtkTreeViewColumn *column;
vfl->model = GTK_TREE_MODEL ( gtk_list_store_new(1, G_TYPE_STRING) );
@@ -199,7 +209,7 @@ static gboolean get_file_name(GtkTreeModel *model, GtkTreePath *path, GtkTreeIte
gchar *str;
gtk_tree_model_get ( model, iter, 0, &str, -1 );
g_debug ("%s: %s", __FUNCTION__, str);
- (*list) = g_list_append((*list), g_strdup(str));
+ (*list) = g_list_append((*list), str); // NB str is already a copy
return FALSE;
}
diff --git a/src/vikfilelist.h b/src/vikfilelist.h
index 8037603..faa9869 100644
--- a/src/vikfilelist.h
+++ b/src/vikfilelist.h
@@ -44,7 +44,7 @@ struct _VikFileListClass
GType vik_file_list_get_type ();
-GtkWidget *vik_file_list_new ( const gchar *title );
+GtkWidget *vik_file_list_new ( const gchar *title, GtkFileFilter *filter );
/* result must be freed */
GList *vik_file_list_get_files ( VikFileList *vfl );
void vik_file_list_set_files ( VikFileList *vfl, GList * );
diff --git a/src/vikgeoreflayer.c b/src/vikgeoreflayer.c
index 6f8afb3..75dbef1 100644
--- a/src/vikgeoreflayer.c
+++ b/src/vikgeoreflayer.c
@@ -32,13 +32,21 @@
#include <stdlib.h>
#include "icons/icons.h"
+/*
+static VikLayerParamData image_default ( void )
+{
+ VikLayerParamData data;
+ data.s = g_strdup ("");
+ return data;
+}
+*/
VikLayerParam georef_layer_params[] = {
- { "image", VIK_LAYER_PARAM_STRING, VIK_LAYER_NOT_IN_PROPERTIES, NULL, 0, NULL, NULL, },
- { "corner_easting", VIK_LAYER_PARAM_DOUBLE, VIK_LAYER_NOT_IN_PROPERTIES, NULL, 0, NULL, NULL, NULL },
- { "corner_northing", VIK_LAYER_PARAM_DOUBLE, VIK_LAYER_NOT_IN_PROPERTIES, NULL, 0, NULL, NULL, NULL },
- { "mpp_easting", VIK_LAYER_PARAM_DOUBLE, VIK_LAYER_NOT_IN_PROPERTIES, NULL, 0, NULL, NULL, NULL },
- { "mpp_northing", VIK_LAYER_PARAM_DOUBLE, VIK_LAYER_NOT_IN_PROPERTIES, NULL, 0, NULL, NULL, NULL },
+ { VIK_LAYER_GEOREF, "image", VIK_LAYER_PARAM_STRING, VIK_LAYER_NOT_IN_PROPERTIES, NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL },
+ { VIK_LAYER_GEOREF, "corner_easting", VIK_LAYER_PARAM_DOUBLE, VIK_LAYER_NOT_IN_PROPERTIES, NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL },
+ { VIK_LAYER_GEOREF, "corner_northing", VIK_LAYER_PARAM_DOUBLE, VIK_LAYER_NOT_IN_PROPERTIES, NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL },
+ { VIK_LAYER_GEOREF, "mpp_easting", VIK_LAYER_PARAM_DOUBLE, VIK_LAYER_NOT_IN_PROPERTIES, NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL },
+ { VIK_LAYER_GEOREF, "mpp_northing", VIK_LAYER_PARAM_DOUBLE, VIK_LAYER_NOT_IN_PROPERTIES, NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL },
};
enum { PARAM_IMAGE = 0, PARAM_CE, PARAM_CN, PARAM_ME, PARAM_MN, NUM_PARAMS };
@@ -48,15 +56,15 @@ static void georef_layer_marshall( VikGeorefLayer *vgl, guint8 **data, gint *len
static VikGeorefLayer *georef_layer_unmarshall( guint8 *data, gint len, VikViewport *vvp );
static gboolean georef_layer_set_param ( VikGeorefLayer *vgl, guint16 id, VikLayerParamData data, VikViewport *vp, gboolean is_file_operation );
static VikLayerParamData georef_layer_get_param ( VikGeorefLayer *vgl, guint16 id, gboolean is_file_operation );
-VikGeorefLayer *georef_layer_new ( );
-VikGeorefLayer *georef_layer_create ( VikViewport *vp );
+static VikGeorefLayer *georef_layer_new ( VikViewport *vvp );
+static VikGeorefLayer *georef_layer_create ( VikViewport *vp );
static void georef_layer_free ( VikGeorefLayer *vgl );
-gboolean georef_layer_properties ( VikGeorefLayer *vgl, gpointer vp );
-static void georef_layer_draw ( VikGeorefLayer *vgl, gpointer data );
+static gboolean georef_layer_properties ( VikGeorefLayer *vgl, gpointer vp );
+static void georef_layer_draw ( VikGeorefLayer *vgl, VikViewport *vp );
static void georef_layer_add_menu_items ( VikGeorefLayer *vgl, GtkMenu *menu, gpointer vlp );
static void georef_layer_set_image ( VikGeorefLayer *vgl, const gchar *image );
static gboolean georef_layer_dialog ( VikGeorefLayer **vgl, gpointer vp, GtkWindow *w );
-static void georef_layer_load_image ( VikGeorefLayer *vgl );
+static void georef_layer_load_image ( VikGeorefLayer *vgl, VikViewport *vp, gboolean from_file );
/* tools */
static gpointer georef_layer_move_create ( VikWindow *vw, VikViewport *vvp);
@@ -193,10 +201,10 @@ static void georef_layer_marshall( VikGeorefLayer *vgl, guint8 **data, gint *len
static VikGeorefLayer *georef_layer_unmarshall( guint8 *data, gint len, VikViewport *vvp )
{
- VikGeorefLayer *rv = georef_layer_new ();
+ VikGeorefLayer *rv = georef_layer_new ( vvp );
vik_layer_unmarshall_params ( VIK_LAYER(rv), data, len, vvp );
if (rv->image) {
- georef_layer_load_image ( rv );
+ georef_layer_load_image ( rv, vvp, TRUE );
}
return rv;
}
@@ -219,7 +227,22 @@ static VikLayerParamData georef_layer_get_param ( VikGeorefLayer *vgl, guint16 i
VikLayerParamData rv;
switch ( id )
{
- case PARAM_IMAGE: rv.s = vgl->image ? vgl->image : ""; break;
+ case PARAM_IMAGE: {
+ gboolean set = FALSE;
+ if ( is_file_operation ) {
+ if ( a_vik_get_file_ref_format() == VIK_FILE_REF_FORMAT_RELATIVE ) {
+ gchar *cwd = g_get_current_dir();
+ if ( cwd ) {
+ rv.s = file_GetRelativeFilename ( cwd, vgl->image );
+ if ( !rv.s ) rv.s = "";
+ set = TRUE;
+ }
+ }
+ }
+ if ( !set )
+ rv.s = vgl->image ? vgl->image : "";
+ break;
+ }
case PARAM_CN: rv.d = vgl->corner.northing; break;
case PARAM_CE: rv.d = vgl->corner.easting; break;
case PARAM_MN: rv.d = vgl->mpp_northing; break;
@@ -228,11 +251,20 @@ static VikLayerParamData georef_layer_get_param ( VikGeorefLayer *vgl, guint16 i
return rv;
}
-VikGeorefLayer *georef_layer_new ( )
+static VikGeorefLayer *georef_layer_new ( VikViewport *vvp )
{
VikGeorefLayer *vgl = VIK_GEOREF_LAYER ( g_object_new ( VIK_GEOREF_LAYER_TYPE, NULL ) );
vik_layer_set_type ( VIK_LAYER(vgl), VIK_LAYER_GEOREF );
+ // Since GeoRef layer doesn't use uibuilder
+ // initializing this way won't do anything yet..
+ vik_layer_set_defaults ( VIK_LAYER(vgl), vvp );
+
+ // Make these defaults based on the current view
+ vgl->mpp_northing = vik_viewport_get_ympp ( vvp );
+ vgl->mpp_easting = vik_viewport_get_xmpp ( vvp );
+ vik_coord_to_utm ( vik_viewport_get_center ( vvp ), &(vgl->corner) );
+
vgl->image = NULL;
vgl->pixbuf = NULL;
vgl->click_x = -1;
@@ -243,12 +275,13 @@ VikGeorefLayer *georef_layer_new ( )
return vgl;
}
-static void georef_layer_draw ( VikGeorefLayer *vgl, gpointer data )
+static void georef_layer_draw ( VikGeorefLayer *vgl, VikViewport *vp )
{
-/* bla, bla */
+ if ( vik_viewport_get_drawmode(vp) != VIK_VIEWPORT_DRAWMODE_UTM )
+ return;
+
if ( vgl->pixbuf )
{
- VikViewport *vp = VIK_VIEWPORT(data);
struct UTM utm_middle;
gdouble xmpp = vik_viewport_get_xmpp(vp), ympp = vik_viewport_get_ympp(vp);
GdkPixbuf *pixbuf = vgl->pixbuf;
@@ -257,33 +290,6 @@ static void georef_layer_draw ( VikGeorefLayer *vgl, gpointer data )
vik_coord_to_utm ( vik_viewport_get_center ( vp ), &utm_middle );
- /* scale the pixbuf if it doesn't match our dimensions */
- if ( xmpp != vgl->mpp_easting || ympp != vgl->mpp_northing )
- {
- layer_width = round(vgl->width * vgl->mpp_easting / xmpp);
- layer_height = round(vgl->height * vgl->mpp_northing / ympp);
-
- /* rescale if necessary */
- if (layer_width == vgl->scaled_width && layer_height == vgl->scaled_height && vgl->scaled != NULL)
- pixbuf = vgl->scaled;
- else
- {
- pixbuf = gdk_pixbuf_scale_simple(
- vgl->pixbuf,
- layer_width,
- layer_height,
- GDK_INTERP_BILINEAR
- );
-
- if (vgl->scaled != NULL)
- g_object_unref(vgl->scaled);
-
- vgl->scaled = pixbuf;
- vgl->scaled_width = layer_width;
- vgl->scaled_height = layer_height;
- }
- }
-
guint width = vik_viewport_get_width(vp), height = vik_viewport_get_height(vp);
gint32 x, y;
vgl->corner.zone = utm_middle.zone;
@@ -291,8 +297,43 @@ static void georef_layer_draw ( VikGeorefLayer *vgl, gpointer data )
VikCoord corner_coord;
vik_coord_load_from_utm ( &corner_coord, vik_viewport_get_coord_mode(vp), &(vgl->corner) );
vik_viewport_coord_to_screen ( vp, &corner_coord, &x, &y );
- if ( (x < 0 || x < width) && (y < 0 || y < height) && x+layer_width > 0 && y+layer_height > 0 )
+
+ /* mark to scale the pixbuf if it doesn't match our dimensions */
+ gboolean scale = FALSE;
+ if ( xmpp != vgl->mpp_easting || ympp != vgl->mpp_northing )
+ {
+ scale = TRUE;
+ layer_width = round(vgl->width * vgl->mpp_easting / xmpp);
+ layer_height = round(vgl->height * vgl->mpp_northing / ympp);
+ }
+
+ // If image not in viewport bounds - no need to draw it (or bother with any scaling)
+ if ( (x < 0 || x < width) && (y < 0 || y < height) && x+layer_width > 0 && y+layer_height > 0 ) {
+
+ if ( scale )
+ {
+ /* rescale if necessary */
+ if (layer_width == vgl->scaled_width && layer_height == vgl->scaled_height && vgl->scaled != NULL)
+ pixbuf = vgl->scaled;
+ else
+ {
+ pixbuf = gdk_pixbuf_scale_simple(
+ vgl->pixbuf,
+ layer_width,
+ layer_height,
+ GDK_INTERP_BILINEAR
+ );
+
+ if (vgl->scaled != NULL)
+ g_object_unref(vgl->scaled);
+
+ vgl->scaled = pixbuf;
+ vgl->scaled_width = layer_width;
+ vgl->scaled_height = layer_height;
+ }
+ }
vik_viewport_draw_pixbuf ( vp, pixbuf, 0, 0, x, y, layer_width, layer_height ); /* todo: draw only what we need to. */
+ }
}
}
@@ -304,17 +345,17 @@ static void georef_layer_free ( VikGeorefLayer *vgl )
g_object_unref ( vgl->scaled );
}
-VikGeorefLayer *georef_layer_create ( VikViewport *vp )
+static VikGeorefLayer *georef_layer_create ( VikViewport *vp )
{
- return georef_layer_new ();
+ return georef_layer_new ( vp );
}
-gboolean georef_layer_properties ( VikGeorefLayer *vgl, gpointer vp )
+static gboolean georef_layer_properties ( VikGeorefLayer *vgl, gpointer vp )
{
return georef_layer_dialog ( &vgl, vp, VIK_GTK_WINDOW_FROM_WIDGET(vp) );
}
-static void georef_layer_load_image ( VikGeorefLayer *vgl )
+static void georef_layer_load_image ( VikGeorefLayer *vgl, VikViewport *vp, gboolean from_file )
{
GError *gx = NULL;
if ( vgl->image == NULL )
@@ -332,7 +373,8 @@ static void georef_layer_load_image ( VikGeorefLayer *vgl )
if (gx)
{
- g_warning ( _("Couldn't open image file: %s"), gx->message );
+ if ( !from_file )
+ a_dialog_error_msg_extra ( VIK_GTK_WINDOW_FROM_WIDGET(vp), _("Couldn't open image file: %s"), gx->message );
g_error_free ( gx );
}
else
@@ -341,6 +383,14 @@ static void georef_layer_load_image ( VikGeorefLayer *vgl )
vgl->height = gdk_pixbuf_get_height ( vgl->pixbuf );
}
+ if ( !from_file )
+ {
+ if ( vik_viewport_get_drawmode(vp) != VIK_VIEWPORT_DRAWMODE_UTM )
+ {
+ a_dialog_warning_msg ( VIK_GTK_WINDOW_FROM_WIDGET(vp),
+ _("GeoRef map cannot be displayed in the current drawmode.\nSelect \"UTM Mode\" from View menu to view it.") );
+ }
+ }
/* should find length and width here too */
}
@@ -472,7 +522,7 @@ static gboolean georef_layer_dialog ( VikGeorefLayer **vgl, gpointer vp, GtkWind
GtkWidget *pass_along[4];
table = gtk_table_new ( 6, 2, FALSE );
- gtk_box_pack_start ( GTK_BOX(GTK_DIALOG(dialog)->vbox), table, TRUE, TRUE, 0 );
+ gtk_box_pack_start ( GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), table, TRUE, TRUE, 0 );
wfp_hbox = gtk_hbox_new ( FALSE, 0 );
wfp_label = gtk_label_new ( _("World File Parameters:") );
@@ -483,11 +533,11 @@ static gboolean georef_layer_dialog ( VikGeorefLayer **vgl, gpointer vp, GtkWind
ce_label = gtk_label_new ( _("Corner pixel easting:") );
ce_spin = gtk_spin_button_new ( (GtkAdjustment *) gtk_adjustment_new ( 4, 0.0, 1500000.0, 1, 5, 0 ), 1, 4 );
- gtk_widget_set_tooltip_text ( GTK_WIDGET(ce_spin), _("the UTM \"easting\" value of the upper-right corner pixel of the map") );
+ gtk_widget_set_tooltip_text ( GTK_WIDGET(ce_spin), _("the UTM \"easting\" value of the upper-left corner pixel of the map") );
cn_label = gtk_label_new ( _("Corner pixel northing:") );
cn_spin = gtk_spin_button_new ( (GtkAdjustment *) gtk_adjustment_new ( 4, 0.0, 9000000.0, 1, 5, 0 ), 1, 4 );
- gtk_widget_set_tooltip_text ( GTK_WIDGET(cn_spin), _("the UTM \"northing\" value of the upper-right corner pixel of the map") );
+ gtk_widget_set_tooltip_text ( GTK_WIDGET(cn_spin), _("the UTM \"northing\" value of the upper-left corner pixel of the map") );
xlabel = gtk_label_new ( _("X (easting) scale (mpp): "));
ylabel = gtk_label_new ( _("Y (northing) scale (mpp): "));
@@ -548,7 +598,7 @@ static gboolean georef_layer_dialog ( VikGeorefLayer **vgl, gpointer vp, GtkWind
{
if (! *vgl)
{
- *vgl = georef_layer_new ();
+ *vgl = georef_layer_new ( VIK_VIEWPORT(vp) );
vik_layer_rename ( VIK_LAYER(*vgl), vik_georef_layer_interface.name );
}
(*vgl)->corner.easting = gtk_spin_button_get_value ( GTK_SPIN_BUTTON(ce_spin) );
@@ -558,7 +608,7 @@ static gboolean georef_layer_dialog ( VikGeorefLayer **vgl, gpointer vp, GtkWind
if ( (!(*vgl)->image) || strcmp( (*vgl)->image, vik_file_entry_get_filename(VIK_FILE_ENTRY(imageentry)) ) != 0 )
{
georef_layer_set_image ( *vgl, vik_file_entry_get_filename(VIK_FILE_ENTRY(imageentry)) );
- georef_layer_load_image ( *vgl );
+ georef_layer_load_image ( *vgl, VIK_VIEWPORT(vp), FALSE );
}
gtk_widget_destroy ( GTK_WIDGET(dialog) );
diff --git a/src/vikgobjectbuilder.c b/src/vikgobjectbuilder.c
index 9867d93..f864837 100644
--- a/src/vikgobjectbuilder.c
+++ b/src/vikgobjectbuilder.c
@@ -5,7 +5,7 @@
*
* viking is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
- * Free Software Foundation, either version 3 of the License, or
+ * Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* viking is distributed in the hope that it will be useful, but
@@ -34,7 +34,6 @@
#include "vikgobjectbuilder.h"
/* FIXME use private fields */
-static gchar *class_name = NULL;
GType gtype = 0;
gchar *property_name = NULL;
GParameter *parameters = NULL;
@@ -104,13 +103,14 @@ _start_element (GMarkupParseContext *context,
{
if (strcmp(element_name, "object") == 0)
{
- class_name = g_strdup(attribute_values[0]);
+ gchar *class_name = g_strdup(attribute_values[0]);
gtype = g_type_from_name (class_name);
if (gtype == 0)
{
g_warning("Unknown GObject type '%s'", class_name);
return;
}
+ g_free (class_name);
}
if (strcmp(element_name, "property") == 0 && gtype != 0)
{
diff --git a/src/vikgobjectbuilder.h b/src/vikgobjectbuilder.h
index 682340d..ea1a1ca 100644
--- a/src/vikgobjectbuilder.h
+++ b/src/vikgobjectbuilder.h
@@ -5,7 +5,7 @@
*
* viking is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
- * Free Software Foundation, either version 3 of the License, or
+ * Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* viking is distributed in the hope that it will be useful, but
diff --git a/src/vikgoto.c b/src/vikgoto.c
index 382887d..7293162 100644
--- a/src/vikgoto.c
+++ b/src/vikgoto.c
@@ -35,13 +35,19 @@
#include "vikgototool.h"
#include "vikgoto.h"
+/* Compatibility */
+#if ! GLIB_CHECK_VERSION(2,22,0)
+#define g_mapped_file_unref g_mapped_file_free
+#endif
+
static gchar *last_goto_str = NULL;
static VikCoord *last_coord = NULL;
static gchar *last_successful_goto_str = NULL;
static GList *goto_tools_list = NULL;
-int last_goto_tool = 0;
+#define VIK_SETTINGS_GOTO_PROVIDER "goto_provider"
+int last_goto_tool = -1;
void vik_goto_register ( VikGotoTool *tool )
{
@@ -88,7 +94,7 @@ static gboolean prompt_try_again(VikWindow *vw)
gtk_window_set_title(GTK_WINDOW(dialog), _("goto"));
GtkWidget *goto_label = gtk_label_new(_("I don't know that place. Do you want another goto?"));
- gtk_box_pack_start ( GTK_BOX(GTK_DIALOG(dialog)->vbox), goto_label, FALSE, FALSE, 5 );
+ gtk_box_pack_start ( GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), goto_label, FALSE, FALSE, 5 );
gtk_dialog_set_default_response ( GTK_DIALOG(dialog), GTK_RESPONSE_ACCEPT );
gtk_widget_show_all(dialog);
@@ -99,7 +105,42 @@ static gboolean prompt_try_again(VikWindow *vw)
return ret;
}
-static gchar * a_prompt_for_goto_string(VikWindow *vw)
+static gint find_entry = -1;
+static gint wanted_entry = -1;
+
+static void find_provider (gpointer elem, gpointer user_data)
+{
+ const gchar *name = vik_goto_tool_get_label (elem);
+ const gchar *provider = user_data;
+ find_entry++;
+ if (!strcmp(name, provider)) {
+ wanted_entry = find_entry;
+ }
+}
+
+/**
+ * Setup last_goto_tool value
+ */
+static void get_provider ()
+{
+ // Use setting for the provider if available
+ if ( last_goto_tool < 0 ) {
+ find_entry = -1;
+ wanted_entry = -1;
+ gchar *provider = NULL;
+ if ( a_settings_get_string ( VIK_SETTINGS_GOTO_PROVIDER, &provider ) ) {
+ // Use setting
+ if ( provider )
+ g_list_foreach (goto_tools_list, find_provider, provider);
+ // If not found set it to the first entry, otherwise use the entry
+ last_goto_tool = ( wanted_entry < 0 ) ? 0 : wanted_entry;
+ }
+ else
+ last_goto_tool = 0;
+ }
+}
+
+static gchar *a_prompt_for_goto_string(VikWindow *vw)
{
GtkWidget *dialog = NULL;
@@ -107,38 +148,47 @@ static gchar * a_prompt_for_goto_string(VikWindow *vw)
gtk_window_set_title(GTK_WINDOW(dialog), _("goto"));
GtkWidget *tool_label = gtk_label_new(_("goto provider:"));
- GtkWidget *tool_list = gtk_combo_box_new_text ();
-
+ GtkWidget *tool_list = vik_combo_box_text_new ();
GList *current = g_list_first (goto_tools_list);
while (current != NULL)
{
char *label = NULL;
VikGotoTool *tool = current->data;
label = vik_goto_tool_get_label (tool);
- gtk_combo_box_append_text ( GTK_COMBO_BOX( tool_list ), label);
+ vik_combo_box_text_append ( tool_list, label );
current = g_list_next (current);
}
- /* Set the previously selected provider as default */
- gtk_combo_box_set_active ( GTK_COMBO_BOX( tool_list ), last_goto_tool);
+
+ get_provider ();
+ gtk_combo_box_set_active ( GTK_COMBO_BOX( tool_list ), last_goto_tool );
GtkWidget *goto_label = gtk_label_new(_("Enter address or place name:"));
GtkWidget *goto_entry = gtk_entry_new();
if (last_goto_str)
gtk_entry_set_text(GTK_ENTRY(goto_entry), last_goto_str);
- gtk_box_pack_start ( GTK_BOX(GTK_DIALOG(dialog)->vbox), tool_label, FALSE, FALSE, 5 );
- gtk_box_pack_start ( GTK_BOX(GTK_DIALOG(dialog)->vbox), tool_list, FALSE, FALSE, 5 );
- gtk_box_pack_start ( GTK_BOX(GTK_DIALOG(dialog)->vbox), goto_label, FALSE, FALSE, 5 );
- gtk_box_pack_start ( GTK_BOX(GTK_DIALOG(dialog)->vbox), goto_entry, FALSE, FALSE, 5 );
+ // 'ok' when press return in the entry
+ g_signal_connect_swapped (goto_entry, "activate", G_CALLBACK(a_dialog_response_accept), dialog);
+
+ gtk_box_pack_start ( GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), tool_label, FALSE, FALSE, 5 );
+ gtk_box_pack_start ( GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), tool_list, FALSE, FALSE, 5 );
+ gtk_box_pack_start ( GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), goto_label, FALSE, FALSE, 5 );
+ gtk_box_pack_start ( GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), goto_entry, FALSE, FALSE, 5 );
gtk_dialog_set_default_response ( GTK_DIALOG(dialog), GTK_RESPONSE_ACCEPT );
gtk_widget_show_all(dialog);
+ // Ensure the text field has focus so we can start typing straight away
+ gtk_widget_grab_focus ( goto_entry );
+
if ( gtk_dialog_run ( GTK_DIALOG(dialog) ) != GTK_RESPONSE_ACCEPT ) {
gtk_widget_destroy(dialog);
return NULL;
}
- last_goto_tool = gtk_combo_box_get_active ( GTK_COMBO_BOX (tool_list) );
+ // TODO check if list is empty
+ last_goto_tool = gtk_combo_box_get_active ( GTK_COMBO_BOX(tool_list) );
+ gchar *provider = vik_goto_tool_get_label ( g_list_nth_data (goto_tools_list, last_goto_tool) );
+ a_settings_set_string ( VIK_SETTINGS_GOTO_PROVIDER, provider );
gchar *goto_str = g_strdup ( gtk_entry_get_text ( GTK_ENTRY(goto_entry) ) );
@@ -153,6 +203,26 @@ static gchar * a_prompt_for_goto_string(VikWindow *vw)
return(goto_str); /* goto_str needs to be freed by caller */
}
+/**
+ * Goto a place when we already have a string to search on
+ *
+ * Returns: %TRUE if a successful lookup
+ */
+static gboolean vik_goto_place ( VikWindow *vw, VikViewport *vvp, gchar* name, VikCoord *vcoord )
+{
+ // Ensure last_goto_tool is given a value
+ get_provider ();
+
+ if ( goto_tools_list ) {
+ VikGotoTool *gototool = g_list_nth_data ( goto_tools_list, last_goto_tool );
+ if ( gototool ) {
+ if ( vik_goto_tool_get_coord ( gototool, vw, vvp, name, vcoord ) == 0 )
+ return TRUE;
+ }
+ }
+ return FALSE;
+}
+
void a_vik_goto(VikWindow *vw, VikViewport *vvp)
{
VikCoord new_center;
@@ -188,3 +258,153 @@ void a_vik_goto(VikWindow *vw, VikViewport *vvp)
g_free(s_str);
} while (more);
}
+
+#define HOSTIP_LATITUDE_PATTERN "\"lat\":\""
+#define HOSTIP_LONGITUDE_PATTERN "\"lng\":\""
+#define HOSTIP_CITY_PATTERN "\"city\":\""
+#define HOSTIP_COUNTRY_PATTERN "\"country_name\":\""
+
+/**
+ * Automatic attempt to find out where you are using:
+ * 1. http://www.hostip.info ++
+ * 2. if not specific enough fallback to using the default goto tool with a country name
+ * ++ Using returned JSON information
+ * c.f. with googlesearch.c - similar implementation is used here
+ *
+ * returns:
+ * 0 if failed to locate anything
+ * 1 if exact latitude/longitude found
+ * 2 if position only as precise as a city
+ * 3 if position only as precise as a country
+ * @name: Contains the name of place found. Free this string after use.
+ */
+gint a_vik_goto_where_am_i ( VikViewport *vvp, struct LatLon *ll, gchar **name )
+{
+ gint result = 0;
+ *name = NULL;
+
+ gchar *tmpname = a_download_uri_to_tmp_file ( "http://api.hostip.info/get_json.php?position=true", NULL );
+ //gchar *tmpname = g_strdup ("../test/hostip2.json");
+ if (!tmpname) {
+ return result;
+ }
+
+ ll->lat = 0.0;
+ ll->lon = 0.0;
+
+ gchar *pat;
+ GMappedFile *mf;
+ gchar *ss;
+ gint fragment_len;
+
+ gchar lat_buf[32], lon_buf[32];
+ lat_buf[0] = lon_buf[0] = '\0';
+ gchar *country = NULL;
+ gchar *city = NULL;
+
+ if ((mf = g_mapped_file_new(tmpname, FALSE, NULL)) == NULL) {
+ g_critical(_("couldn't map temp file"));
+ goto tidy;
+ }
+
+ gsize len = g_mapped_file_get_length(mf);
+ gchar *text = g_mapped_file_get_contents(mf);
+
+ if ((pat = g_strstr_len(text, len, HOSTIP_COUNTRY_PATTERN))) {
+ pat += strlen(HOSTIP_COUNTRY_PATTERN);
+ fragment_len = 0;
+ ss = pat;
+ while (*pat != '"') {
+ fragment_len++;
+ pat++;
+ }
+ country = g_strndup(ss, fragment_len);
+ }
+
+ if ((pat = g_strstr_len(text, len, HOSTIP_CITY_PATTERN))) {
+ pat += strlen(HOSTIP_CITY_PATTERN);
+ fragment_len = 0;
+ ss = pat;
+ while (*pat != '"') {
+ fragment_len++;
+ pat++;
+ }
+ city = g_strndup(ss, fragment_len);
+ }
+
+ if ((pat = g_strstr_len(text, len, HOSTIP_LATITUDE_PATTERN))) {
+ pat += strlen(HOSTIP_LATITUDE_PATTERN);
+ ss = lat_buf;
+ if (*pat == '-')
+ *ss++ = *pat++;
+ while ((ss < (lat_buf + sizeof(lat_buf))) && (pat < (text + len)) &&
+ (g_ascii_isdigit(*pat) || (*pat == '.')))
+ *ss++ = *pat++;
+ *ss = '\0';
+ ll->lat = g_ascii_strtod(lat_buf, NULL);
+ }
+
+ if ((pat = g_strstr_len(text, len, HOSTIP_LONGITUDE_PATTERN))) {
+ pat += strlen(HOSTIP_LONGITUDE_PATTERN);
+ ss = lon_buf;
+ if (*pat == '-')
+ *ss++ = *pat++;
+ while ((ss < (lon_buf + sizeof(lon_buf))) && (pat < (text + len)) &&
+ (g_ascii_isdigit(*pat) || (*pat == '.')))
+ *ss++ = *pat++;
+ *ss = '\0';
+ ll->lon = g_ascii_strtod(lon_buf, NULL);
+ }
+
+ if ( ll->lat != 0.0 && ll->lon != 0.0 ) {
+ if ( ll->lat > -90.0 && ll->lat < 90.0 && ll->lon > -180.0 && ll->lon < 180.0 ) {
+ // Found a 'sensible' & 'precise' location
+ result = 1;
+ *name = g_strdup ( _("Locality") ); //Albeit maybe not known by an actual name!
+ }
+ }
+ else {
+ // Hopefully city name is unique enough to lookup position on
+ // Maybe for American places where hostip appends the State code on the end
+ // But if the country code is not appended if could easily get confused
+ // e.g. 'Portsmouth' could be at least
+ // Portsmouth, Hampshire, UK or
+ // Portsmouth, Viginia, USA.
+
+ // Try city name lookup
+ if ( city ) {
+ g_debug ( "%s: found city %s", __FUNCTION__, city );
+ if ( strcmp ( city, "(Unknown city)" ) != 0 ) {
+ VikCoord new_center;
+ if ( vik_goto_place ( NULL, vvp, city, &new_center ) ) {
+ // Got something
+ vik_coord_to_latlon ( &new_center, ll );
+ result = 2;
+ *name = city;
+ goto tidy;
+ }
+ }
+ }
+
+ // Try country name lookup
+ if ( country ) {
+ g_debug ( "%s: found country %s", __FUNCTION__, country );
+ if ( strcmp ( country, "(Unknown Country)" ) != 0 ) {
+ VikCoord new_center;
+ if ( vik_goto_place ( NULL, vvp, country, &new_center ) ) {
+ // Finally got something
+ vik_coord_to_latlon ( &new_center, ll );
+ result = 3;
+ *name = country;
+ goto tidy;
+ }
+ }
+ }
+ }
+
+ tidy:
+ g_mapped_file_unref ( mf );
+ g_remove ( tmpname );
+ g_free ( tmpname );
+ return result;
+}
diff --git a/src/vikgoto.h b/src/vikgoto.h
index 7bc69a2..49019ae 100644
--- a/src/vikgoto.h
+++ b/src/vikgoto.h
@@ -31,6 +31,7 @@ G_BEGIN_DECLS
void vik_goto_register (VikGotoTool *tool);
void vik_goto_unregister_all (void);
+gint a_vik_goto_where_am_i ( VikViewport *vvp, struct LatLon *ll, gchar **name );
void a_vik_goto(VikWindow *vw, VikViewport *vvp);
gchar * a_vik_goto_get_search_string_for_this_place(VikWindow *vw);
diff --git a/src/vikgpslayer.c b/src/vikgpslayer.c
index 032df6d..14aa083 100644
--- a/src/vikgpslayer.c
+++ b/src/vikgpslayer.c
@@ -43,13 +43,14 @@
#include <glib/gi18n.h>
#ifdef VIK_CONFIG_REALTIME_GPS_TRACKING
#include <gps.h>
+#include "vikutils.h"
#endif
#define DISCONNECT_UPDATE_SIGNAL(vl, val) g_signal_handlers_disconnect_matched(vl, G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, val)
static VikGpsLayer *vik_gps_layer_create (VikViewport *vp);
static void vik_gps_layer_realize ( VikGpsLayer *val, VikTreeview *vt, GtkTreeIter *layer_iter );
static void vik_gps_layer_free ( VikGpsLayer *val );
-static void vik_gps_layer_draw ( VikGpsLayer *val, gpointer data );
+static void vik_gps_layer_draw ( VikGpsLayer *val, VikViewport *vp );
static VikGpsLayer *vik_gps_layer_new ( VikViewport *vp );
static void gps_layer_marshall( VikGpsLayer *val, guint8 **data, gint *len );
@@ -132,6 +133,35 @@ static gchar *params_groups[] = {
enum {GROUP_DATA_MODE, GROUP_REALTIME_MODE};
+
+static VikLayerParamData gps_protocol_default ( void )
+{
+ VikLayerParamData data;
+ data.s = g_strdup ( "garmin" );
+ return data;
+}
+
+static VikLayerParamData gps_port_default ( void )
+{
+ VikLayerParamData data;
+ data.s = g_strdup ( "usb:" );
+#ifndef WINDOWS
+ /* Attempt to auto set default USB serial port entry */
+ /* Ordered to make lowest device favourite if available */
+ if (g_access ("/dev/ttyUSB1", R_OK) == 0) {
+ if ( data.s )
+ g_free ( (gchar *)data.s );
+ data.s = g_strdup ("/dev/ttyUSB1");
+ }
+ if (g_access ("/dev/ttyUSB0", R_OK) == 0) {
+ if ( data.s )
+ g_free ( (gchar *)data.s );
+ data.s = g_strdup ("/dev/ttyUSB0");
+ }
+#endif
+ return data;
+}
+
#if defined (VIK_CONFIG_REALTIME_GPS_TRACKING) && defined (GPSD_API_MAJOR_VERSION)
static gchar *params_vehicle_position[] = {
N_("Keep vehicle at center"),
@@ -144,24 +174,52 @@ enum {
VEHICLE_POSITION_ON_SCREEN,
VEHICLE_POSITION_NONE,
};
+
+static VikLayerParamData moving_map_method_default ( void ) { return VIK_LPD_UINT ( VEHICLE_POSITION_ON_SCREEN ); }
+
+static VikLayerParamData gpsd_host_default ( void )
+{
+ VikLayerParamData data;
+ data.s = g_strdup ( "localhost" );
+ return data;
+}
+
+static VikLayerParamData gpsd_port_default ( void )
+{
+ VikLayerParamData data;
+ data.s = g_strdup ( DEFAULT_GPSD_PORT );
+ return data;
+}
+
+static VikLayerParamData gpsd_retry_interval_default ( void )
+{
+ VikLayerParamData data;
+ data.s = g_strdup ( "10" );
+ return data;
+}
+
#endif
static VikLayerParam gps_layer_params[] = {
- { "gps_protocol", VIK_LAYER_PARAM_STRING, GROUP_DATA_MODE, N_("GPS Protocol:"), VIK_LAYER_WIDGET_COMBOBOX, NULL, NULL, NULL }, // List now assigned at runtime
- { "gps_port", VIK_LAYER_PARAM_STRING, GROUP_DATA_MODE, N_("Serial Port:"), VIK_LAYER_WIDGET_COMBOBOX, params_ports, NULL, NULL },
- { "gps_download_tracks", VIK_LAYER_PARAM_BOOLEAN, GROUP_DATA_MODE, N_("Download Tracks:"), VIK_LAYER_WIDGET_CHECKBUTTON, NULL, NULL, NULL },
- { "gps_upload_tracks", VIK_LAYER_PARAM_BOOLEAN, GROUP_DATA_MODE, N_("Upload Tracks:"), VIK_LAYER_WIDGET_CHECKBUTTON, NULL, NULL, NULL },
- { "gps_download_routes", VIK_LAYER_PARAM_BOOLEAN, GROUP_DATA_MODE, N_("Download Routes:"), VIK_LAYER_WIDGET_CHECKBUTTON, NULL, NULL, NULL },
- { "gps_upload_routes", VIK_LAYER_PARAM_BOOLEAN, GROUP_DATA_MODE, N_("Upload Routes:"), VIK_LAYER_WIDGET_CHECKBUTTON, NULL, NULL, NULL },
- { "gps_download_waypoints", VIK_LAYER_PARAM_BOOLEAN, GROUP_DATA_MODE, N_("Download Waypoints:"), VIK_LAYER_WIDGET_CHECKBUTTON, NULL, NULL, NULL },
- { "gps_upload_waypoints", VIK_LAYER_PARAM_BOOLEAN, GROUP_DATA_MODE, N_("Upload Waypoints:"), VIK_LAYER_WIDGET_CHECKBUTTON, NULL, NULL, NULL },
+ // NB gps_layer_inst_init() is performed after parameter registeration
+ // thus to give the protocols some potential values use the old static list
+ // TODO: find another way to use gps_layer_inst_init()?
+ { VIK_LAYER_GPS, "gps_protocol", VIK_LAYER_PARAM_STRING, GROUP_DATA_MODE, N_("GPS Protocol:"), VIK_LAYER_WIDGET_COMBOBOX, protocols_args, NULL, NULL, gps_protocol_default, NULL, NULL }, // List reassigned at runtime
+ { VIK_LAYER_GPS, "gps_port", VIK_LAYER_PARAM_STRING, GROUP_DATA_MODE, N_("Serial Port:"), VIK_LAYER_WIDGET_COMBOBOX, params_ports, NULL, NULL, gps_port_default, NULL, NULL },
+ { VIK_LAYER_GPS, "gps_download_tracks", VIK_LAYER_PARAM_BOOLEAN, GROUP_DATA_MODE, N_("Download Tracks:"), VIK_LAYER_WIDGET_CHECKBUTTON, NULL, NULL, NULL, vik_lpd_true_default, NULL, NULL },
+ { VIK_LAYER_GPS, "gps_upload_tracks", VIK_LAYER_PARAM_BOOLEAN, GROUP_DATA_MODE, N_("Upload Tracks:"), VIK_LAYER_WIDGET_CHECKBUTTON, NULL, NULL, NULL, vik_lpd_true_default, NULL, NULL },
+ { VIK_LAYER_GPS, "gps_download_routes", VIK_LAYER_PARAM_BOOLEAN, GROUP_DATA_MODE, N_("Download Routes:"), VIK_LAYER_WIDGET_CHECKBUTTON, NULL, NULL, NULL, vik_lpd_true_default, NULL, NULL },
+ { VIK_LAYER_GPS, "gps_upload_routes", VIK_LAYER_PARAM_BOOLEAN, GROUP_DATA_MODE, N_("Upload Routes:"), VIK_LAYER_WIDGET_CHECKBUTTON, NULL, NULL, NULL, vik_lpd_true_default, NULL, NULL },
+ { VIK_LAYER_GPS, "gps_download_waypoints", VIK_LAYER_PARAM_BOOLEAN, GROUP_DATA_MODE, N_("Download Waypoints:"), VIK_LAYER_WIDGET_CHECKBUTTON, NULL, NULL, NULL, vik_lpd_true_default, NULL, NULL },
+ { VIK_LAYER_GPS, "gps_upload_waypoints", VIK_LAYER_PARAM_BOOLEAN, GROUP_DATA_MODE, N_("Upload Waypoints:"), VIK_LAYER_WIDGET_CHECKBUTTON, NULL, NULL, NULL, vik_lpd_true_default, NULL, NULL },
#if defined (VIK_CONFIG_REALTIME_GPS_TRACKING) && defined (GPSD_API_MAJOR_VERSION)
- { "record_tracking", VIK_LAYER_PARAM_BOOLEAN, GROUP_REALTIME_MODE, N_("Recording tracks"), VIK_LAYER_WIDGET_CHECKBUTTON, NULL, NULL, NULL },
- { "center_start_tracking", VIK_LAYER_PARAM_BOOLEAN, GROUP_REALTIME_MODE, N_("Jump to current position on start"), VIK_LAYER_WIDGET_CHECKBUTTON, NULL, NULL, NULL },
- { "moving_map_method", VIK_LAYER_PARAM_UINT, GROUP_REALTIME_MODE, N_("Moving Map Method:"), VIK_LAYER_WIDGET_RADIOGROUP_STATIC, params_vehicle_position, NULL, NULL },
- { "gpsd_host", VIK_LAYER_PARAM_STRING, GROUP_REALTIME_MODE, N_("Gpsd Host:"), VIK_LAYER_WIDGET_ENTRY, NULL, NULL, NULL },
- { "gpsd_port", VIK_LAYER_PARAM_STRING, GROUP_REALTIME_MODE, N_("Gpsd Port:"), VIK_LAYER_WIDGET_ENTRY, NULL, NULL, NULL },
- { "gpsd_retry_interval", VIK_LAYER_PARAM_STRING, GROUP_REALTIME_MODE, N_("Gpsd Retry Interval (seconds):"), VIK_LAYER_WIDGET_ENTRY, NULL, NULL, NULL },
+ { VIK_LAYER_GPS, "record_tracking", VIK_LAYER_PARAM_BOOLEAN, GROUP_REALTIME_MODE, N_("Recording tracks"), VIK_LAYER_WIDGET_CHECKBUTTON, NULL, NULL, NULL, vik_lpd_true_default, NULL, NULL },
+ { VIK_LAYER_GPS, "center_start_tracking", VIK_LAYER_PARAM_BOOLEAN, GROUP_REALTIME_MODE, N_("Jump to current position on start"), VIK_LAYER_WIDGET_CHECKBUTTON, NULL, NULL, NULL, vik_lpd_false_default, NULL, NULL },
+ { VIK_LAYER_GPS, "moving_map_method", VIK_LAYER_PARAM_UINT, GROUP_REALTIME_MODE, N_("Moving Map Method:"), VIK_LAYER_WIDGET_RADIOGROUP_STATIC, params_vehicle_position, NULL, NULL, moving_map_method_default, NULL, NULL },
+ { VIK_LAYER_GPS, "realtime_update_statusbar", VIK_LAYER_PARAM_BOOLEAN, GROUP_REALTIME_MODE, N_("Update Statusbar:"), VIK_LAYER_WIDGET_CHECKBUTTON, NULL, NULL, N_("Display information in the statusbar on GPS updates"), vik_lpd_true_default, NULL, NULL },
+ { VIK_LAYER_GPS, "gpsd_host", VIK_LAYER_PARAM_STRING, GROUP_REALTIME_MODE, N_("Gpsd Host:"), VIK_LAYER_WIDGET_ENTRY, NULL, NULL, NULL, gpsd_host_default, NULL, NULL },
+ { VIK_LAYER_GPS, "gpsd_port", VIK_LAYER_PARAM_STRING, GROUP_REALTIME_MODE, N_("Gpsd Port:"), VIK_LAYER_WIDGET_ENTRY, NULL, NULL, NULL, gpsd_port_default, NULL, NULL },
+ { VIK_LAYER_GPS, "gpsd_retry_interval", VIK_LAYER_PARAM_STRING, GROUP_REALTIME_MODE, N_("Gpsd Retry Interval (seconds):"), VIK_LAYER_WIDGET_ENTRY, NULL, NULL, NULL, gpsd_retry_interval_default, NULL, NULL },
#endif /* VIK_CONFIG_REALTIME_GPS_TRACKING */
};
enum {
@@ -170,7 +228,13 @@ enum {
PARAM_DOWNLOAD_ROUTES, PARAM_UPLOAD_ROUTES,
PARAM_DOWNLOAD_WAYPOINTS, PARAM_UPLOAD_WAYPOINTS,
#if defined (VIK_CONFIG_REALTIME_GPS_TRACKING) && defined (GPSD_API_MAJOR_VERSION)
- PARAM_REALTIME_REC, PARAM_REALTIME_CENTER_START, PARAM_VEHICLE_POSITION, PARAM_GPSD_HOST, PARAM_GPSD_PORT, PARAM_GPSD_RETRY_INTERVAL,
+ PARAM_REALTIME_REC,
+ PARAM_REALTIME_CENTER_START,
+ PARAM_VEHICLE_POSITION,
+ PARAM_REALTIME_UPDATE_STATUSBAR,
+ PARAM_GPSD_HOST,
+ PARAM_GPSD_PORT,
+ PARAM_GPSD_RETRY_INTERVAL,
#endif /* VIK_CONFIG_REALTIME_GPS_TRACKING */
NUM_PARAMS};
@@ -288,6 +352,9 @@ struct _VikGpsLayer {
gboolean realtime_record;
gboolean realtime_jump_to_start;
guint vehicle_position;
+ gboolean realtime_update_statusbar;
+ VikTrackpoint *trkpt;
+ VikTrackpoint *trkpt_prev;
#endif /* VIK_CONFIG_REALTIME_GPS_TRACKING */
gchar *protocol;
gchar *serial_port;
@@ -317,8 +384,7 @@ static void gps_layer_inst_init ( VikGpsLayer *self )
}
new_protocols[new_proto] = NULL;
- vik_gps_layer_interface.params[0].widget_data = new_protocols;
- // assigned to [0] because this^ is the GPS protocol in the params list
+ vik_gps_layer_interface.params[PARAM_PROTOCOL].widget_data = new_protocols;
}
GType vik_gps_layer_get_type ()
@@ -488,14 +554,18 @@ static gboolean gps_layer_set_param ( VikGpsLayer *vgl, guint16 id, VikLayerPara
break;
#if defined (VIK_CONFIG_REALTIME_GPS_TRACKING) && defined (GPSD_API_MAJOR_VERSION)
case PARAM_GPSD_HOST:
- if (vgl->gpsd_host)
- g_free(vgl->gpsd_host);
- vgl->gpsd_host = g_strdup(data.s);
+ if (data.s) {
+ if (vgl->gpsd_host)
+ g_free(vgl->gpsd_host);
+ vgl->gpsd_host = g_strdup(data.s);
+ }
break;
case PARAM_GPSD_PORT:
- if (vgl->gpsd_port)
- g_free(vgl->gpsd_port);
- vgl->gpsd_port = g_strdup(data.s); /* TODO: check for number */
+ if (data.s) {
+ if (vgl->gpsd_port)
+ g_free(vgl->gpsd_port);
+ vgl->gpsd_port = g_strdup(data.s);
+ }
break;
case PARAM_GPSD_RETRY_INTERVAL:
vgl->gpsd_retry_interval = strtol(data.s, NULL, 10);
@@ -509,6 +579,9 @@ static gboolean gps_layer_set_param ( VikGpsLayer *vgl, guint16 id, VikLayerPara
case PARAM_VEHICLE_POSITION:
vgl->vehicle_position = data.u;
break;
+ case PARAM_REALTIME_UPDATE_STATUSBAR:
+ vgl->realtime_update_statusbar = data.b;
+ break;
#endif /* VIK_CONFIG_REALTIME_GPS_TRACKING */
default:
g_warning("gps_layer_set_param(): unknown parameter");
@@ -567,6 +640,9 @@ static VikLayerParamData gps_layer_get_param ( VikGpsLayer *vgl, guint16 id, gbo
case PARAM_VEHICLE_POSITION:
rv.u = vgl->vehicle_position;
break;
+ case PARAM_REALTIME_UPDATE_STATUSBAR:
+ rv.u = vgl->realtime_update_statusbar;
+ break;
#endif /* VIK_CONFIG_REALTIME_GPS_TRACKING */
default:
g_warning(_("%s: unknown parameter"), __FUNCTION__);
@@ -587,85 +663,59 @@ VikGpsLayer *vik_gps_layer_new (VikViewport *vp)
vgl->cur_read_child = 0;
#if defined (VIK_CONFIG_REALTIME_GPS_TRACKING) && defined (GPSD_API_MAJOR_VERSION)
- vgl->realtime_tracking = FALSE;
vgl->first_realtime_trackpoint = FALSE;
+ vgl->trkpt = NULL;
+ vgl->trkpt_prev = NULL;
vgl->vgpsd = NULL;
vgl->realtime_io_channel = NULL;
vgl->realtime_io_watch_id = 0;
vgl->realtime_retry_timer = 0;
- vgl->realtime_track_gc = vik_viewport_new_gc ( vp, "#203070", 2 );
- vgl->realtime_track_bg_gc = vik_viewport_new_gc ( vp, "grey", 2 );
- vgl->realtime_track_pt1_gc = vik_viewport_new_gc ( vp, "red", 2 );
- vgl->realtime_track_pt2_gc = vik_viewport_new_gc ( vp, "green", 2 );
- vgl->realtime_track_pt_gc = vgl->realtime_track_pt1_gc;
+ if ( vp ) {
+ vgl->realtime_track_gc = vik_viewport_new_gc ( vp, "#203070", 2 );
+ vgl->realtime_track_bg_gc = vik_viewport_new_gc ( vp, "grey", 2 );
+ vgl->realtime_track_pt1_gc = vik_viewport_new_gc ( vp, "red", 2 );
+ vgl->realtime_track_pt2_gc = vik_viewport_new_gc ( vp, "green", 2 );
+ vgl->realtime_track_pt_gc = vgl->realtime_track_pt1_gc;
+ }
vgl->realtime_track = NULL;
+#endif // VIK_CONFIG_REALTIME_GPS_TRACKING
- /* Setting params here */
- vgl->gpsd_host = g_strdup("localhost");
- vgl->gpsd_port = g_strdup(DEFAULT_GPSD_PORT);
- vgl->realtime_record = TRUE;
- vgl->realtime_jump_to_start = TRUE;
- vgl->vehicle_position = VEHICLE_POSITION_ON_SCREEN;
- vgl->gpsd_retry_interval = 10;
-#endif /* VIK_CONFIG_REALTIME_GPS_TRACKING */
- vgl->protocol = g_strdup("garmin");
- vgl->serial_port = NULL;
- vgl->download_tracks = TRUE;
- vgl->download_waypoints = TRUE;
- vgl->download_routes = TRUE;
- vgl->upload_routes = TRUE;
- vgl->upload_tracks = TRUE;
- vgl->upload_waypoints = TRUE;
-
-#ifndef WINDOWS
- /* Attempt to auto set default USB serial port entry */
- /* Ordered to make lowest device favourite if available */
- if (g_access ("/dev/ttyUSB1", R_OK) == 0) {
- if (vgl->serial_port != NULL)
- g_free (vgl->serial_port);
- vgl->serial_port = g_strdup ("/dev/ttyUSB1");
- }
- if (g_access ("/dev/ttyUSB0", R_OK) == 0) {
- if (vgl->serial_port != NULL)
- g_free (vgl->serial_port);
- vgl->serial_port = g_strdup ("/dev/ttyUSB0");
- }
-#endif
+ vik_layer_set_defaults ( VIK_LAYER(vgl), vp );
return vgl;
}
-static void vik_gps_layer_draw ( VikGpsLayer *vgl, gpointer data )
+static void vik_gps_layer_draw ( VikGpsLayer *vgl, VikViewport *vp )
{
gint i;
VikLayer *vl;
- VikLayer *trigger = VIK_LAYER(vik_viewport_get_trigger( VIK_VIEWPORT(data) ));
+ VikLayer *trigger = VIK_LAYER(vik_viewport_get_trigger( vp ));
for (i = 0; i < NUM_TRW; i++) {
vl = VIK_LAYER(vgl->trw_children[i]);
if (vl == trigger) {
- if ( vik_viewport_get_half_drawn ( VIK_VIEWPORT(data) ) ) {
- vik_viewport_set_half_drawn ( VIK_VIEWPORT(data), FALSE );
- vik_viewport_snapshot_load( VIK_VIEWPORT(data) );
+ if ( vik_viewport_get_half_drawn ( vp ) ) {
+ vik_viewport_set_half_drawn ( vp, FALSE );
+ vik_viewport_snapshot_load( vp );
} else {
- vik_viewport_snapshot_save( VIK_VIEWPORT(data) );
+ vik_viewport_snapshot_save( vp );
}
}
- if (!vik_viewport_get_half_drawn( VIK_VIEWPORT(data)))
- vik_layer_draw ( vl, data );
+ if (!vik_viewport_get_half_drawn(vp))
+ vik_layer_draw ( vl, vp );
}
#if defined (VIK_CONFIG_REALTIME_GPS_TRACKING) && defined (GPSD_API_MAJOR_VERSION)
if (vgl->realtime_tracking) {
if (VIK_LAYER(vgl) == trigger) {
- if ( vik_viewport_get_half_drawn ( VIK_VIEWPORT(data) ) ) {
- vik_viewport_set_half_drawn ( VIK_VIEWPORT(data), FALSE );
- vik_viewport_snapshot_load( VIK_VIEWPORT(data) );
+ if ( vik_viewport_get_half_drawn ( vp ) ) {
+ vik_viewport_set_half_drawn ( vp, FALSE );
+ vik_viewport_snapshot_load( vp );
} else {
- vik_viewport_snapshot_save( VIK_VIEWPORT(data) );
+ vik_viewport_snapshot_save( vp );
}
}
- if (!vik_viewport_get_half_drawn( VIK_VIEWPORT(data)))
- realtime_tracking_draw(vgl, VIK_VIEWPORT(data));
+ if (!vik_viewport_get_half_drawn(vp))
+ realtime_tracking_draw(vgl, vp);
}
#endif /* VIK_CONFIG_REALTIME_GPS_TRACKING */
}
@@ -808,7 +858,7 @@ static void vik_gps_layer_realize ( VikGpsLayer *vgl, VikTreeview *vt, GtkTreeIt
for (ix = 0; ix < NUM_TRW; ix++) {
VikLayer * trw = VIK_LAYER(vgl->trw_children[ix]);
vik_treeview_add_layer ( VIK_LAYER(vgl)->vt, layer_iter, &iter,
- _(trw_names[ix]), vgl,
+ _(trw_names[ix]), vgl, TRUE,
trw, trw->type, trw->type );
if ( ! trw->visible )
vik_treeview_item_set_visible ( VIK_LAYER(vgl)->vt, &iter, FALSE );
@@ -1299,7 +1349,7 @@ gint vik_gps_comm ( VikTrwLayer *vtl,
gtk_window_set_title ( GTK_WINDOW(sess->dialog), sess->window_title );
sess->status_label = gtk_label_new (_("Status: detecting gpsbabel"));
- gtk_box_pack_start ( GTK_BOX(GTK_DIALOG(sess->dialog)->vbox), sess->status_label, FALSE, FALSE, 5 );
+ gtk_box_pack_start ( GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(sess->dialog))), sess->status_label, FALSE, FALSE, 5 );
gtk_widget_show_all(sess->status_label);
sess->gps_label = gtk_label_new (_("GPS device: N/A"));
@@ -1309,10 +1359,10 @@ gint vik_gps_comm ( VikTrwLayer *vtl,
sess->trk_label = gtk_label_new ("");
sess->rte_label = gtk_label_new ("");
- gtk_box_pack_start ( GTK_BOX(GTK_DIALOG(sess->dialog)->vbox), sess->gps_label, FALSE, FALSE, 5 );
- gtk_box_pack_start ( GTK_BOX(GTK_DIALOG(sess->dialog)->vbox), sess->wp_label, FALSE, FALSE, 5 );
- gtk_box_pack_start ( GTK_BOX(GTK_DIALOG(sess->dialog)->vbox), sess->trk_label, FALSE, FALSE, 5 );
- gtk_box_pack_start ( GTK_BOX(GTK_DIALOG(sess->dialog)->vbox), sess->rte_label, FALSE, FALSE, 5 );
+ gtk_box_pack_start ( GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(sess->dialog))), sess->gps_label, FALSE, FALSE, 5 );
+ gtk_box_pack_start ( GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(sess->dialog))), sess->wp_label, FALSE, FALSE, 5 );
+ gtk_box_pack_start ( GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(sess->dialog))), sess->trk_label, FALSE, FALSE, 5 );
+ gtk_box_pack_start ( GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(sess->dialog))), sess->rte_label, FALSE, FALSE, 5 );
gtk_widget_show_all(sess->dialog);
@@ -1320,7 +1370,11 @@ gint vik_gps_comm ( VikTrwLayer *vtl,
sess->total_count = -1;
// Starting gps read/write thread
- g_thread_create((GThreadFunc)gps_comm_thread, sess, FALSE, NULL );
+#if GLIB_CHECK_VERSION (2, 32, 0)
+ g_thread_try_new ( "gps_comm_thread", (GThreadFunc)gps_comm_thread, sess, NULL );
+#else
+ g_thread_create ( (GThreadFunc)gps_comm_thread, sess, FALSE, NULL );
+#endif
gtk_dialog_set_default_response ( GTK_DIALOG(sess->dialog), GTK_RESPONSE_ACCEPT );
gtk_dialog_run(GTK_DIALOG(sess->dialog));
@@ -1450,7 +1504,8 @@ static void realtime_tracking_draw(VikGpsLayer *vgl, VikViewport *vp)
if ( vgl->realtime_fix.fix.latitude > lse.lat &&
vgl->realtime_fix.fix.latitude < lnw.lat &&
vgl->realtime_fix.fix.longitude > lnw.lon &&
- vgl->realtime_fix.fix.longitude < lse.lon ) {
+ vgl->realtime_fix.fix.longitude < lse.lon &&
+ !isnan (vgl->realtime_fix.fix.track) ) {
VikCoord gps;
gint x, y;
gint half_back_x, half_back_y;
@@ -1500,7 +1555,7 @@ static void realtime_tracking_draw(VikGpsLayer *vgl, VikViewport *vp)
}
}
-static void create_realtime_trackpoint(VikGpsLayer *vgl, gboolean forced)
+static VikTrackpoint* create_realtime_trackpoint(VikGpsLayer *vgl, gboolean forced)
{
struct LatLon ll;
GList *last_tp;
@@ -1511,13 +1566,13 @@ static void create_realtime_trackpoint(VikGpsLayer *vgl, gboolean forced)
time_t last_timestamp = vgl->last_fix.fix.time;
if (cur_timestamp < last_timestamp) {
- return;
+ return NULL;
}
if (vgl->realtime_record && vgl->realtime_fix.dirty) {
gboolean replace = FALSE;
- int heading = (int)floor(vgl->realtime_fix.fix.track);
- int last_heading = (int)floor(vgl->last_fix.fix.track);
+ int heading = isnan(vgl->realtime_fix.fix.track) ? 0 : (int)floor(vgl->realtime_fix.fix.track);
+ int last_heading = isnan(vgl->last_fix.fix.track) ? 0 : (int)floor(vgl->last_fix.fix.track);
int alt = isnan(vgl->realtime_fix.fix.altitude) ? VIK_DEFAULT_ALTITUDE : floor(vgl->realtime_fix.fix.altitude);
int last_alt = isnan(vgl->last_fix.fix.altitude) ? VIK_DEFAULT_ALTITUDE : floor(vgl->last_fix.fix.altitude);
if (((last_tp = g_list_last(vgl->realtime_track->trackpoints)) != NULL) &&
@@ -1551,12 +1606,34 @@ static void create_realtime_trackpoint(VikGpsLayer *vgl, gboolean forced)
vik_coord_load_from_latlon(&tp->coord,
vik_trw_layer_get_coord_mode(vgl->trw_children[TRW_REALTIME]), &ll);
- vgl->realtime_track->trackpoints = g_list_append(vgl->realtime_track->trackpoints, tp);
+ vik_track_add_trackpoint ( vgl->realtime_track, tp, TRUE ); // Ensure bounds is recalculated
vgl->realtime_fix.dirty = FALSE;
vgl->realtime_fix.satellites_used = 0;
vgl->last_fix = vgl->realtime_fix;
+ return tp;
}
}
+ return NULL;
+}
+
+#define VIK_SETTINGS_GPS_STATUSBAR_FORMAT "gps_statusbar_format"
+
+static void update_statusbar ( VikGpsLayer *vgl, VikWindow *vw )
+{
+ gchar *statusbar_format_code = NULL;
+ gboolean need2free = FALSE;
+ if ( !a_settings_get_string ( VIK_SETTINGS_GPS_STATUSBAR_FORMAT, &statusbar_format_code ) ) {
+ // Otherwise use default
+ statusbar_format_code = g_strdup ( "GSA" );
+ need2free = TRUE;
+ }
+
+ gchar *msg = vu_trackpoint_formatted_message ( statusbar_format_code, vgl->trkpt, vgl->trkpt_prev, vgl->realtime_track );
+ vik_statusbar_set_message ( vik_window_get_statusbar (vw), VIK_STATUSBAR_INFO, msg );
+ g_free ( msg );
+
+ if ( need2free )
+ g_free ( statusbar_format_code );
}
@@ -1572,8 +1649,7 @@ static void gpsd_raw_hook(VglGpsd *vgpsd, gchar *data)
if ((vgpsd->gpsd.fix.mode >= MODE_2D) &&
!isnan(vgpsd->gpsd.fix.latitude) &&
- !isnan(vgpsd->gpsd.fix.longitude) &&
- !isnan(vgpsd->gpsd.fix.track)) {
+ !isnan(vgpsd->gpsd.fix.longitude)) {
VikWindow *vw = VIK_WINDOW(VIK_GTK_WINDOW_FROM_LAYER(vgl));
VikViewport *vvp = vik_window_viewport(vw);
@@ -1617,7 +1693,14 @@ static void gpsd_raw_hook(VglGpsd *vgpsd, gchar *data)
}
vgl->first_realtime_trackpoint = FALSE;
- create_realtime_trackpoint(vgl, FALSE);
+
+ vgl->trkpt = create_realtime_trackpoint ( vgl, FALSE );
+
+ if ( vgl->trkpt ) {
+ if ( vgl->realtime_update_statusbar )
+ update_statusbar ( vgl, vw );
+ vgl->trkpt_prev = vgl->trkpt;
+ }
vik_layer_emit_update ( update_all ? VIK_LAYER(vgl) : VIK_LAYER(vgl->trw_children[TRW_REALTIME]) ); // NB update from background thread
}
@@ -1801,10 +1884,12 @@ static void gps_start_stop_tracking_cb( gpointer layer_and_vlp[2])
if (!rt_gpsd_connect(vgl, TRUE)) {
vgl->first_realtime_trackpoint = FALSE;
vgl->realtime_tracking = FALSE;
+ vgl->trkpt = NULL;
}
}
else { /* stop realtime tracking */
vgl->first_realtime_trackpoint = FALSE;
+ vgl->trkpt = NULL;
rt_gpsd_disconnect(vgl);
}
}
diff --git a/src/viking.h b/src/viking.h
index 8a44830..74545d3 100644
--- a/src/viking.h
+++ b/src/viking.h
@@ -42,6 +42,7 @@
#include "vikviewport.h"
#include "viktreeview.h"
#include "viklayer.h"
+#include "viklayer_defaults.h"
#include "vikaggregatelayer.h"
#include "viklayerspanel.h"
#include "vikcoordlayer.h"
@@ -53,8 +54,10 @@
#include "clipboard.h"
#include "dialog.h"
#include "file.h"
+#include "fileutils.h"
#include "vikwindow.h"
#include "gpspoint.h"
#include "gpsmapper.h"
+#include "settings.h"
#endif
diff --git a/src/viklayer.c b/src/viklayer.c
index 897fbe5..6e07c71 100644
--- a/src/viklayer.c
+++ b/src/viklayer.c
@@ -28,6 +28,8 @@
#include "viking.h"
#include <string.h>
+#include <stdlib.h>
+#include "viklayer_defaults.h"
/* functions common to all layers. */
/* TODO longone: rename interface free -> finalize */
@@ -50,6 +52,7 @@ static GObjectClass *parent_class;
static void vik_layer_finalize ( VikLayer *vl );
static gboolean vik_layer_properties_factory ( VikLayer *vl, VikViewport *vp );
+static gboolean layer_defaults_register ( VikLayerTypeEnum type );
G_DEFINE_TYPE (VikLayer, vik_layer, G_TYPE_OBJECT)
@@ -66,6 +69,12 @@ static void vik_layer_class_init (VikLayerClass *klass)
layer_signals[VL_UPDATE_SIGNAL] = g_signal_new ( "update", G_TYPE_FROM_CLASS (klass),
G_SIGNAL_RUN_FIRST | G_SIGNAL_ACTION, G_STRUCT_OFFSET (VikLayerClass, update), NULL, NULL,
g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
+
+ // Register all parameter defaults, early in the start up sequence
+ VikLayerTypeEnum layer;
+ for ( layer = 0; layer < VIK_LAYER_NUM_TYPES; layer++ )
+ // ATM ignore the returned value
+ layer_defaults_register ( layer );
}
/**
@@ -123,12 +132,41 @@ static VikLayerInterface *vik_layer_interfaces[VIK_LAYER_NUM_TYPES] = {
&vik_dem_layer_interface,
};
-VikLayerInterface *vik_layer_get_interface ( gint type )
+VikLayerInterface *vik_layer_get_interface ( VikLayerTypeEnum type )
{
g_assert ( type < VIK_LAYER_NUM_TYPES );
return vik_layer_interfaces[type];
}
+/**
+ * Store default values for this layer
+ *
+ * Returns whether any parameters where registered
+ */
+static gboolean layer_defaults_register ( VikLayerTypeEnum type )
+{
+ // See if any parameters
+ VikLayerParam *params = vik_layer_interfaces[type]->params;
+ if ( ! params )
+ return FALSE;
+
+ gboolean answer = FALSE; // Incase all parameters are 'not in properties'
+ guint16 params_count = vik_layer_interfaces[type]->params_count;
+ guint16 i;
+ // Process each parameter
+ for ( i = 0; i < params_count; i++ ) {
+ if ( params[i].group != VIK_LAYER_NOT_IN_PROPERTIES ) {
+ if ( params[i].default_value ) {
+ VikLayerParamData paramd = params[i].default_value();
+ a_layer_defaults_register ( &params[i], paramd, vik_layer_interfaces[type]->fixed_layer_name );
+ answer = TRUE;
+ }
+ }
+ }
+
+ return answer;
+}
+
static void vik_layer_init ( VikLayer *vl )
{
vl->visible = TRUE;
@@ -136,7 +174,7 @@ static void vik_layer_init ( VikLayer *vl )
vl->realized = FALSE;
}
-void vik_layer_set_type ( VikLayer *vl, gint type )
+void vik_layer_set_type ( VikLayer *vl, VikLayerTypeEnum type )
{
vl->type = type;
}
@@ -164,7 +202,7 @@ const gchar *vik_layer_get_name ( VikLayer *l )
return l->name;
}
-VikLayer *vik_layer_create ( gint type, gpointer vp, GtkWindow *w, gboolean interactive )
+VikLayer *vik_layer_create ( VikLayerTypeEnum type, gpointer vp, GtkWindow *w, gboolean interactive )
{
VikLayer *new_layer = NULL;
g_assert ( type < VIK_LAYER_NUM_TYPES );
@@ -196,11 +234,11 @@ gboolean vik_layer_properties ( VikLayer *layer, gpointer vp )
return vik_layer_properties_factory ( layer, vp );
}
-void vik_layer_draw ( VikLayer *l, gpointer data )
+void vik_layer_draw ( VikLayer *l, VikViewport *vp )
{
if ( l->visible )
if ( vik_layer_interfaces[l->type]->draw )
- vik_layer_interfaces[l->type]->draw ( l, data );
+ vik_layer_interfaces[l->type]->draw ( l, vp );
}
void vik_layer_change_coord_mode ( VikLayer *l, VikCoordMode mode )
@@ -210,7 +248,7 @@ void vik_layer_change_coord_mode ( VikLayer *l, VikCoordMode mode )
}
typedef struct {
- gint layer_type;
+ VikLayerTypeEnum layer_type;
gint len;
guint8 data[0];
} header_t;
@@ -258,10 +296,16 @@ void vik_layer_marshall_params ( VikLayer *vl, guint8 **data, gint *datalen )
d = get_param(vl, i, FALSE);
switch ( params[i].type )
{
- case VIK_LAYER_PARAM_STRING:
- vlm_append(d.s, strlen(d.s));
- break;
-
+ case VIK_LAYER_PARAM_STRING:
+ // Remember need braces as these are macro calls, not single statement functions!
+ if ( d.s ) {
+ vlm_append(d.s, strlen(d.s));
+ }
+ else {
+ // Need to insert empty string otherwise the unmarshall will get confused
+ vlm_append("", 0);
+ }
+ break;
/* print out the string list in the array */
case VIK_LAYER_PARAM_STRING_LIST: {
GList *list = d.sl;
@@ -454,7 +498,7 @@ const gchar* vik_layer_layer_tooltip ( VikLayer *l )
return NULL;
}
-GdkPixbuf *vik_layer_load_icon ( gint type )
+GdkPixbuf *vik_layer_load_icon ( VikLayerTypeEnum type )
{
g_assert ( type < VIK_LAYER_NUM_TYPES );
if ( vik_layer_interfaces[type]->icon )
@@ -499,3 +543,107 @@ static gboolean vik_layer_properties_factory ( VikLayer *vl, VikViewport *vp )
}
}
+VikLayerTypeEnum vik_layer_type_from_string ( const gchar *str )
+{
+ VikLayerTypeEnum i;
+ for ( i = 0; i < VIK_LAYER_NUM_TYPES; i++ )
+ if ( strcasecmp ( str, vik_layer_get_interface(i)->fixed_layer_name ) == 0 )
+ return i;
+ return VIK_LAYER_NUM_TYPES;
+}
+
+void vik_layer_typed_param_data_free ( gpointer gp )
+{
+ VikLayerTypedParamData *val = (VikLayerTypedParamData *)gp;
+ switch ( val->type ) {
+ case VIK_LAYER_PARAM_STRING:
+ if ( val->data.s )
+ g_free ( (gpointer)val->data.s );
+ break;
+ /* TODO: APPLICABLE TO US? NOTE: string layer works auniquely: data.sl should NOT be free'd when
+ * the internals call get_param -- i.e. it should be managed w/in the layer.
+ * The value passed by the internals into set_param should also be managed
+ * by the layer -- i.e. free'd by the layer.
+ */
+ case VIK_LAYER_PARAM_STRING_LIST:
+ g_warning ("Param strings not implemented"); //fake it
+ break;
+ default:
+ break;
+ }
+ g_free ( val );
+}
+
+VikLayerTypedParamData *vik_layer_typed_param_data_copy_from_data (VikLayerParamType type, VikLayerParamData val) {
+ VikLayerTypedParamData *newval = g_new(VikLayerTypedParamData,1);
+ newval->data = val;
+ newval->type = type;
+ switch ( newval->type ) {
+ case VIK_LAYER_PARAM_STRING: {
+ gchar *s = g_strdup(newval->data.s);
+ newval->data.s = s;
+ break;
+ }
+ /* TODO: APPLICABLE TO US? NOTE: string layer works auniquely: data.sl should NOT be free'd when
+ * the internals call get_param -- i.e. it should be managed w/in the layer.
+ * The value passed by the internals into set_param should also be managed
+ * by the layer -- i.e. free'd by the layer.
+ */
+ case VIK_LAYER_PARAM_STRING_LIST:
+ g_critical ( "Param strings not implemented"); //fake it
+ break;
+ default:
+ break;
+ }
+ return newval;
+}
+
+#define TEST_BOOLEAN(str) (! ((str)[0] == '\0' || (str)[0] == '0' || (str)[0] == 'n' || (str)[0] == 'N' || (str)[0] == 'f' || (str)[0] == 'F') )
+
+VikLayerTypedParamData *vik_layer_data_typed_param_copy_from_string ( VikLayerParamType type, const gchar *str )
+{
+ VikLayerTypedParamData *rv = g_new(VikLayerTypedParamData,1);
+ rv->type = type;
+ switch ( type )
+ {
+ case VIK_LAYER_PARAM_DOUBLE: rv->data.d = strtod(str, NULL); break;
+ case VIK_LAYER_PARAM_UINT: rv->data.u = strtoul(str, NULL, 10); break;
+ case VIK_LAYER_PARAM_INT: rv->data.i = strtol(str, NULL, 10); break;
+ case VIK_LAYER_PARAM_BOOLEAN: rv->data.b = TEST_BOOLEAN(str); break;
+ case VIK_LAYER_PARAM_COLOR: memset(&(rv->data.c), 0, sizeof(rv->data.c)); /* default: black */
+ gdk_color_parse ( str, &(rv->data.c) ); break;
+ /* STRING or STRING_LIST -- if STRING_LIST, just set param to add a STRING */
+ default: {
+ gchar *s = g_strdup(str);
+ rv->data.s = s;
+ }
+ }
+ return rv;
+}
+
+
+/**
+ * vik_layer_set_defaults:
+ *
+ * Loop around all parameters for the specified layer to call the function to get the
+ * default value for that parameter
+ */
+void vik_layer_set_defaults ( VikLayer *vl, VikViewport *vvp )
+{
+ VikLayerInterface *vli = vik_layer_get_interface ( vl->type );
+ const gchar *layer_name = vli->fixed_layer_name;
+ VikLayerParamData data;
+
+ int i;
+ for ( i = 0; i < vli->params_count; i++ ) {
+ // Ensure parameter is for use
+ if ( vli->params[i].group > VIK_LAYER_NOT_IN_PROPERTIES ) {
+ // ATM can't handle string lists
+ // only DEM files uses this currently
+ if ( vli->params[i].type != VIK_LAYER_PARAM_STRING_LIST ) {
+ data = a_layer_defaults_get ( layer_name, vli->params[i].name, vli->params[i].type );
+ vik_layer_set_param ( vl, i, data, vvp, TRUE ); // Possibly come from a file
+ }
+ }
+ }
+}
diff --git a/src/viklayer.h b/src/viklayer.h
index 52cefb0..1933fb4 100644
--- a/src/viklayer.h
+++ b/src/viklayer.h
@@ -60,20 +60,7 @@ struct _VikLayer {
GtkTreeIter iter;
/* for explicit "polymorphism" (function type switching) */
- guint16 type;
-};
-
-
-
-enum {
- VIK_LAYER_AGGREGATE = 0,
- VIK_LAYER_TRW,
- VIK_LAYER_COORD,
- VIK_LAYER_GEOREF,
- VIK_LAYER_GPS,
- VIK_LAYER_MAPS,
- VIK_LAYER_DEM,
- VIK_LAYER_NUM_TYPES
+ VikLayerTypeEnum type;
};
/* I think most of these are ignored,
@@ -266,11 +253,11 @@ struct _VikLayerInterface {
VikLayerFuncSelectedViewportMenu show_viewport_menu;
};
-VikLayerInterface *vik_layer_get_interface ( gint type );
+VikLayerInterface *vik_layer_get_interface ( VikLayerTypeEnum type );
-void vik_layer_set_type ( VikLayer *vl, gint type );
-void vik_layer_draw ( VikLayer *l, gpointer data );
+void vik_layer_set_type ( VikLayer *vl, VikLayerTypeEnum type );
+void vik_layer_draw ( VikLayer *l, VikViewport *vp );
void vik_layer_change_coord_mode ( VikLayer *l, VikCoordMode mode );
void vik_layer_rename ( VikLayer *l, const gchar *new_name );
void vik_layer_rename_no_copy ( VikLayer *l, gchar *new_name );
@@ -278,13 +265,15 @@ const gchar *vik_layer_get_name ( VikLayer *l );
gboolean vik_layer_set_param (VikLayer *layer, guint16 id, VikLayerParamData data, gpointer vp, gboolean is_file_operation);
+void vik_layer_set_defaults ( VikLayer *vl, VikViewport *vvp );
+
void vik_layer_emit_update ( VikLayer *vl );
/* GUI */
void vik_layer_set_menu_items_selection(VikLayer *l, guint16 selection);
guint16 vik_layer_get_menu_items_selection(VikLayer *l);
void vik_layer_add_menu_items ( VikLayer *l, GtkMenu *menu, gpointer vlp );
-VikLayer *vik_layer_create ( gint type, gpointer vp, GtkWindow *w, gboolean interactive );
+VikLayer *vik_layer_create ( VikLayerTypeEnum type, gpointer vp, GtkWindow *w, gboolean interactive );
gboolean vik_layer_properties ( VikLayer *layer, gpointer vp );
void vik_layer_realize ( VikLayer *l, VikTreeview *vt, GtkTreeIter * layer_iter );
@@ -309,12 +298,23 @@ const gchar* vik_layer_layer_tooltip ( VikLayer *l );
gboolean vik_layer_selected ( VikLayer *l, gint subtype, gpointer sublayer, gint type, gpointer vlp );
/* TODO: put in layerspanel */
-GdkPixbuf *vik_layer_load_icon ( gint type );
+GdkPixbuf *vik_layer_load_icon ( VikLayerTypeEnum type );
VikLayer *vik_layer_get_and_reset_trigger();
void vik_layer_emit_update_secondary ( VikLayer *vl ); /* to be called by aggregate layer only. doesn't set the trigger */
void vik_layer_emit_update_although_invisible ( VikLayer *vl );
+VikLayerTypeEnum vik_layer_type_from_string ( const gchar *str );
+
+typedef struct {
+ VikLayerParamData data;
+ VikLayerParamType type;
+} VikLayerTypedParamData;
+
+void vik_layer_typed_param_data_free ( gpointer gp );
+VikLayerTypedParamData *vik_layer_typed_param_data_copy_from_data ( VikLayerParamType type, VikLayerParamData val );
+VikLayerTypedParamData *vik_layer_data_typed_param_copy_from_string ( VikLayerParamType type, const gchar *str );
+
G_END_DECLS
#endif
diff --git a/src/viklayer_defaults.c b/src/viklayer_defaults.c
new file mode 100644
index 0000000..8a37003
--- /dev/null
+++ b/src/viklayer_defaults.c
@@ -0,0 +1,390 @@
+/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 4; tab-width: 4 -*- */
+/*
+ * viking -- GPS Data and Topo Analyzer, Explorer, and Manager
+ *
+ * Copyright (C) 2013, Rob Norris <rw_norris@hotmail.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ */
+#include <gtk/gtk.h>
+#include <glib/gi18n.h>
+#include <string.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <glib/gstdio.h>
+#include "viklayer_defaults.h"
+#include "dir.h"
+#include "file.h"
+
+#define VIKING_LAYER_DEFAULTS_INI_FILE "viking_layer_defaults.ini"
+
+// A list of the parameter types in use
+static GPtrArray *paramsVD;
+
+static GKeyFile *keyfile;
+
+static gboolean loaded;
+
+static VikLayerParamData get_default_data_answer ( const gchar *group, const gchar *name, VikLayerParamType ptype, gpointer *success )
+{
+ VikLayerParamData data = VIK_LPD_BOOLEAN ( FALSE );
+
+ GError *error = NULL;
+
+ switch ( ptype ) {
+ case VIK_LAYER_PARAM_DOUBLE: {
+ gdouble dd = g_key_file_get_double ( keyfile, group, name, &error );
+ if ( !error ) data.d = dd;
+ break;
+ }
+ case VIK_LAYER_PARAM_UINT: {
+ guint32 uu = g_key_file_get_integer ( keyfile, group, name, &error );
+ if ( !error ) data.u = uu;
+ break;
+ }
+ case VIK_LAYER_PARAM_INT: {
+ gint32 ii = g_key_file_get_integer ( keyfile, group, name, &error );
+ if ( !error ) data.i = ii;
+ break;
+ }
+ case VIK_LAYER_PARAM_BOOLEAN: {
+ gboolean bb = g_key_file_get_boolean ( keyfile, group, name, &error );
+ if ( !error ) data.b = bb;
+ break;
+ }
+ case VIK_LAYER_PARAM_STRING: {
+ gchar *str = g_key_file_get_string ( keyfile, group, name, &error );
+ if ( !error ) data.s = str;
+ break;
+ }
+ //case VIK_LAYER_PARAM_STRING_LIST: {
+ // gchar **str = g_key_file_get_string_list ( keyfile, group, name, &error );
+ // data.sl = str_to_glist (str); //TODO convert
+ // break;
+ //}
+ case VIK_LAYER_PARAM_COLOR: {
+ gchar *str = g_key_file_get_string ( keyfile, group, name, &error );
+ if ( !error ) {
+ memset(&(data.c), 0, sizeof(data.c));
+ gdk_color_parse ( str, &(data.c) );
+ }
+ g_free ( str );
+ break;
+ }
+ default: break;
+ }
+ *success = GINT_TO_POINTER (TRUE);
+ if ( error ) {
+ g_warning ( "%s", error->message );
+ g_error_free ( error );
+ *success = GINT_TO_POINTER (FALSE);
+ }
+
+ return data;
+}
+
+static VikLayerParamData get_default_data ( const gchar *group, const gchar *name, VikLayerParamType ptype )
+{
+ gpointer success = GINT_TO_POINTER (TRUE);
+ // NB This should always succeed - don't worry about 'success'
+ return get_default_data_answer ( group, name, ptype, &success );
+}
+
+static void set_default_data ( VikLayerParamData data, const gchar *group, const gchar *name, VikLayerParamType ptype )
+{
+ switch ( ptype ) {
+ case VIK_LAYER_PARAM_DOUBLE:
+ g_key_file_set_double ( keyfile, group, name, data.d );
+ break;
+ case VIK_LAYER_PARAM_UINT:
+ g_key_file_set_integer ( keyfile, group, name, data.u );
+ break;
+ case VIK_LAYER_PARAM_INT:
+ g_key_file_set_integer ( keyfile, group, name, data.i );
+ break;
+ case VIK_LAYER_PARAM_BOOLEAN:
+ g_key_file_set_boolean ( keyfile, group, name, data.b );
+ break;
+ case VIK_LAYER_PARAM_STRING:
+ g_key_file_set_string ( keyfile, group, name, data.s );
+ break;
+ case VIK_LAYER_PARAM_COLOR: {
+ gchar *str = g_strdup_printf ( "#%.2x%.2x%.2x", (int)(data.c.red/256),(int)(data.c.green/256),(int)(data.c.blue/256));
+ g_key_file_set_string ( keyfile, group, name, str );
+ g_free ( str );
+ break;
+ }
+ default: break;
+ }
+}
+
+static void defaults_run_setparam ( gpointer index_ptr, guint16 i, VikLayerParamData data, VikLayerParam *params )
+{
+ // Index is only an index into values from this layer
+ gint index = GPOINTER_TO_INT ( index_ptr );
+ VikLayerParam *vlp = (VikLayerParam *)g_ptr_array_index(paramsVD,index+i);
+
+ set_default_data ( data, vik_layer_get_interface(vlp->layer)->fixed_layer_name, vlp->name, vlp->type );
+}
+
+static VikLayerParamData defaults_run_getparam ( gpointer index_ptr, guint16 i, gboolean notused2 )
+{
+ // Index is only an index into values from this layer
+ gint index = GPOINTER_TO_INT ( index_ptr );
+ VikLayerParam *vlp = (VikLayerParam *)g_ptr_array_index(paramsVD,index+i);
+
+ return get_default_data ( vik_layer_get_interface(vlp->layer)->fixed_layer_name, vlp->name, vlp->type );
+}
+
+static void use_internal_defaults_if_missing_default ( VikLayerTypeEnum type )
+{
+ VikLayerParam *params = vik_layer_get_interface(type)->params;
+ if ( ! params )
+ return;
+
+ guint16 params_count = vik_layer_get_interface(type)->params_count;
+ guint16 i;
+ // Process each parameter
+ for ( i = 0; i < params_count; i++ ) {
+ if ( params[i].group != VIK_LAYER_NOT_IN_PROPERTIES ) {
+ gpointer success = GINT_TO_POINTER (FALSE);
+ // Check current default is available
+ get_default_data_answer ( vik_layer_get_interface(type)->fixed_layer_name, params[i].name, params[i].type, &success );
+ // If no longer have a viable default
+ if ( ! GPOINTER_TO_INT (success) ) {
+ // Reset value
+ if ( params[i].default_value ) {
+ VikLayerParamData paramd = params[i].default_value();
+ set_default_data ( paramd, vik_layer_get_interface(type)->fixed_layer_name, params[i].name, params[i].type );
+ }
+ }
+ }
+ }
+}
+
+static gboolean defaults_load_from_file()
+{
+ GKeyFileFlags flags = G_KEY_FILE_KEEP_COMMENTS;
+
+ GError *error = NULL;
+
+ gchar *fn = g_build_filename ( a_get_viking_dir(), VIKING_LAYER_DEFAULTS_INI_FILE, NULL );
+
+ if ( !g_key_file_load_from_file ( keyfile, fn, flags, &error ) ) {
+ g_warning ( "%s: %s", error->message, fn );
+ g_free ( fn );
+ g_error_free ( error );
+ return FALSE;
+ }
+
+ g_free ( fn );
+
+ // Ensure if have a key file, then any missing values are set from the internal defaults
+ VikLayerTypeEnum layer;
+ for ( layer = 0; layer < VIK_LAYER_NUM_TYPES; layer++ ) {
+ use_internal_defaults_if_missing_default ( layer );
+ }
+
+ return TRUE;
+}
+
+/* TRUE on success */
+static gboolean layer_defaults_save_to_file()
+{
+ gboolean answer = TRUE;
+ GError *error = NULL;
+ gchar *fn = g_build_filename ( a_get_viking_dir(), VIKING_LAYER_DEFAULTS_INI_FILE, NULL );
+ gsize size;
+
+ gchar *keyfilestr = g_key_file_to_data ( keyfile, &size, &error );
+
+ if ( error ) {
+ g_warning ( "%s", error->message );
+ g_error_free ( error );
+ answer = FALSE;
+ goto tidy;
+ }
+
+ // optionally could do:
+ // g_file_set_contents ( fn, keyfilestr, size, &error );
+ // if ( error ) {
+ // g_warning ( "%s: %s", error->message, fn );
+ // g_error_free ( error );
+ // answer = FALSE;
+ // goto tidy;
+ // }
+
+ FILE *ff;
+ if ( !(ff = g_fopen ( fn, "w")) ) {
+ g_warning ( _("Could not open file: %s"), fn );
+ answer = FALSE;
+ goto tidy;
+ }
+ // Layer defaults not that secret, but just incase...
+ g_chmod ( fn, 0600 );
+
+ fputs ( keyfilestr, ff );
+ fclose ( ff );
+
+tidy:
+ g_free ( keyfilestr );
+ g_free ( fn );
+
+ return answer;
+}
+
+/**
+ * a_layer_defaults_show_window:
+ * @parent: The Window
+ * @layername: The layer
+ *
+ * This displays a Window showing the default parameter values for the selected layer
+ * It allows the parameters to be changed.
+ *
+ * Returns: %TRUE if the window is displayed (because there are parameters to view)
+ */
+gboolean a_layer_defaults_show_window ( GtkWindow *parent, const gchar *layername )
+{
+ if ( ! loaded ) {
+ // since we can't load the file in a_defaults_init (no params registered yet),
+ // do it once before we display the params.
+ defaults_load_from_file();
+ loaded = TRUE;
+ }
+
+ VikLayerTypeEnum layer = vik_layer_type_from_string ( layername );
+
+ // Need to know where the params start and they finish for this layer
+
+ // 1. inspect every registered param - see if it has the layer value required to determine overall size
+ // [they are contiguous from the start index]
+ // 2. copy the these params from the main list into a tmp struct
+ //
+ // Then pass this tmp struct to uibuilder for display
+
+ guint layer_params_count = 0;
+
+ gboolean found_first = FALSE;
+ gint index = 0;
+ int i;
+ for ( i = 0; i < paramsVD->len; i++ ) {
+ VikLayerParam *param = (VikLayerParam*)(g_ptr_array_index(paramsVD,i));
+ if ( param->layer == layer ) {
+ layer_params_count++;
+ if ( !found_first ) {
+ index = i;
+ found_first = TRUE;
+ }
+ }
+ }
+
+ // Have we any parameters to show!
+ if ( !layer_params_count )
+ return FALSE;
+
+ VikLayerParam *params = g_new(VikLayerParam,layer_params_count);
+ for ( i = 0; i < layer_params_count; i++ ) {
+ params[i] = *((VikLayerParam*)(g_ptr_array_index(paramsVD,i+index)));
+ }
+
+ gchar *title = g_strconcat ( layername, ": ", _("Layer Defaults"), NULL );
+
+ if ( a_uibuilder_properties_factory ( title,
+ parent,
+ params,
+ layer_params_count,
+ vik_layer_get_interface(layer)->params_groups,
+ vik_layer_get_interface(layer)->params_groups_count,
+ (gboolean (*) (gpointer,guint16,VikLayerParamData,gpointer,gboolean)) defaults_run_setparam,
+ GINT_TO_POINTER ( index ),
+ params,
+ defaults_run_getparam,
+ GINT_TO_POINTER ( index ) ) ) {
+ // Save
+ layer_defaults_save_to_file();
+ }
+
+ g_free ( title );
+ g_free ( params );
+
+ return TRUE;
+}
+
+/**
+ * a_layer_defaults_register:
+ * @vlp: The parameter
+ * @defaultval: The default value
+ * @layername: The layer in which the parameter resides
+ *
+ * Call this function on to set the default value for the particular parameter
+ */
+void a_layer_defaults_register (VikLayerParam *vlp, VikLayerParamData defaultval, const gchar *layername )
+{
+ /* copy value */
+ VikLayerParam *newvlp = g_new(VikLayerParam,1);
+ *newvlp = *vlp;
+
+ g_ptr_array_add ( paramsVD, newvlp );
+
+ set_default_data ( defaultval, layername, vlp->name, vlp->type );
+}
+
+/**
+ * a_layer_defaults_init:
+ *
+ * Call this function at startup
+ */
+void a_layer_defaults_init()
+{
+ keyfile = g_key_file_new();
+
+ /* not copied */
+ paramsVD = g_ptr_array_new ();
+
+ loaded = FALSE;
+}
+
+/**
+ * a_layer_defaults_uninit:
+ *
+ * Call this function on program exit
+ */
+void a_layer_defaults_uninit()
+{
+ g_key_file_free ( keyfile );
+ g_ptr_array_foreach ( paramsVD, (GFunc)g_free, NULL );
+ g_ptr_array_free ( paramsVD, TRUE );
+}
+
+/**
+ * a_layer_defaults_get:
+ * @layername: String name of the layer
+ * @param_name: String name of the parameter
+ * @param_type: The parameter type
+ *
+ * Call this function to get the default value for the parameter requested
+ */
+VikLayerParamData a_layer_defaults_get ( const gchar *layername, const gchar *param_name, VikLayerParamType param_type )
+{
+ if ( ! loaded ) {
+ // since we can't load the file in a_defaults_init (no params registered yet),
+ // do it once before we get the first key.
+ defaults_load_from_file();
+ loaded = TRUE;
+ }
+
+ return get_default_data ( layername, param_name, param_type );
+}
diff --git a/src/viklayer_defaults.h b/src/viklayer_defaults.h
new file mode 100644
index 0000000..e0eb869
--- /dev/null
+++ b/src/viklayer_defaults.h
@@ -0,0 +1,40 @@
+/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 4; tab-width: 4 -*- */
+/*
+ * viking -- GPS Data and Topo Analyzer, Explorer, and Manager
+ *
+ * Copyright (C) 2013, Rob Norris <rw_norris@hotmail.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ */
+#ifndef __VIKING_LAYER_DEFAULTS_H
+#define __VIKING_LAYER_DEFAULTS_H
+
+#include "uibuilder.h"
+
+G_BEGIN_DECLS
+
+void a_layer_defaults_init();
+void a_layer_defaults_uninit();
+
+void a_layer_defaults_register ( VikLayerParam *vlp, VikLayerParamData defaultval, const gchar *layername );
+
+gboolean a_layer_defaults_show_window ( GtkWindow *parent, const gchar *layername );
+
+VikLayerParamData a_layer_defaults_get ( const gchar *layername, const gchar *param_name, VikLayerParamType param_type );
+
+G_END_DECLS
+
+#endif
diff --git a/src/viklayerspanel.c b/src/viklayerspanel.c
index 2fa9ff8..0b06716 100644
--- a/src/viklayerspanel.c
+++ b/src/viklayerspanel.c
@@ -47,20 +47,15 @@ struct _VikLayersPanel {
VikTreeview *vt;
VikViewport *vvp; /* reference */
-
- GtkItemFactory *popup_factory;
};
-static GtkItemFactoryEntry base_entries[] = {
- { N_("/C_ut"), NULL, (GtkItemFactoryCallback) vik_layers_panel_cut_selected, -1, "<StockItem>", GTK_STOCK_CUT },
- { N_("/_Copy"), NULL, (GtkItemFactoryCallback) vik_layers_panel_copy_selected, -1, "<StockItem>", GTK_STOCK_COPY },
- { N_("/_Paste"), NULL, (GtkItemFactoryCallback) vik_layers_panel_paste_selected, -1, "<StockItem>", GTK_STOCK_PASTE },
- { N_("/_Delete"), NULL, (GtkItemFactoryCallback) vik_layers_panel_delete_selected, -1, "<StockItem>", GTK_STOCK_DELETE },
- { N_("/New Layer"), NULL, NULL, -1, "<Branch>" },
+static GtkActionEntry entries[] = {
+ { "Cut", GTK_STOCK_CUT, N_("C_ut"), NULL, NULL, (GCallback) vik_layers_panel_cut_selected },
+ { "Copy", GTK_STOCK_COPY, N_("_Copy"), NULL, NULL, (GCallback) vik_layers_panel_copy_selected },
+ { "Paste", GTK_STOCK_PASTE, N_("_Paste"), NULL, NULL, (GCallback) vik_layers_panel_paste_selected },
+ { "Delete", GTK_STOCK_DELETE, N_("_Delete"), NULL, NULL, (GCallback) vik_layers_panel_delete_selected },
};
-#define NUM_BASE_ENTRIES (sizeof(base_entries)/sizeof(base_entries[0]))
-
static void layers_item_toggled (VikLayersPanel *vlp, GtkTreeIter *iter);
static void layers_item_edited (VikLayersPanel *vlp, GtkTreeIter *iter, const gchar *new_text);
static void menu_popup_cb (VikLayersPanel *vlp);
@@ -104,6 +99,64 @@ VikViewport *vik_layers_panel_get_viewport ( VikLayersPanel *vlp )
return vlp->vvp;
}
+static gboolean layers_panel_new_layer ( gpointer lpnl[2] )
+{
+ return vik_layers_panel_new_layer ( lpnl[0], GPOINTER_TO_INT(lpnl[1]) );
+}
+
+/**
+ * Create menu popup on demand
+ * @full: offer cut/copy options as well - not just the new layer options
+ */
+static GtkWidget* layers_panel_create_popup ( VikLayersPanel *vlp, gboolean full )
+{
+ GtkWidget *menu = gtk_menu_new ();
+ GtkWidget *menuitem;
+ guint ii;
+
+ if ( full ) {
+ for ( ii = 0; ii < G_N_ELEMENTS(entries); ii++ ) {
+ if ( entries[ii].stock_id ) {
+ menuitem = gtk_image_menu_item_new_with_mnemonic ( entries[ii].label );
+ gtk_image_menu_item_set_image ( (GtkImageMenuItem*)menuitem, gtk_image_new_from_stock (entries[ii].stock_id, GTK_ICON_SIZE_MENU) );
+ }
+ else
+ menuitem = gtk_menu_item_new_with_mnemonic ( entries[ii].label );
+
+ g_signal_connect_swapped ( G_OBJECT(menuitem), "activate", G_CALLBACK(entries[ii].callback), vlp );
+ gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem);
+ gtk_widget_show ( menuitem );
+ }
+ }
+
+ GtkWidget *submenu = gtk_menu_new();
+ menuitem = gtk_menu_item_new_with_mnemonic ( _("New Layer") );
+ gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem);
+ gtk_widget_show ( menuitem );
+ gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem), submenu );
+
+ // Static: so memory accessible yet not continually allocated
+ static gpointer lpnl[VIK_LAYER_NUM_TYPES][2];
+
+ for ( ii = 0; ii < VIK_LAYER_NUM_TYPES; ii++ ) {
+ if ( vik_layer_get_interface(ii)->icon ) {
+ menuitem = gtk_image_menu_item_new_with_mnemonic ( vik_layer_get_interface(ii)->name );
+ gtk_image_menu_item_set_image ( (GtkImageMenuItem*)menuitem, gtk_image_new_from_pixbuf ( vik_layer_load_icon (ii) ) );
+ }
+ else
+ menuitem = gtk_menu_item_new_with_mnemonic ( vik_layer_get_interface(ii)->name );
+
+ lpnl[ii][0] = vlp;
+ lpnl[ii][1] = GINT_TO_POINTER(ii);
+
+ g_signal_connect_swapped ( G_OBJECT(menuitem), "activate", G_CALLBACK(layers_panel_new_layer), lpnl[ii] );
+ gtk_menu_shell_append (GTK_MENU_SHELL (submenu), menuitem);
+ gtk_widget_show ( menuitem );
+ }
+
+ return menu;
+}
+
static void vik_layers_panel_init ( VikLayersPanel *vlp )
{
GtkWidget *hbox;
@@ -115,8 +168,6 @@ static void vik_layers_panel_init ( VikLayersPanel *vlp )
GtkWidget *copybutton, *copyimage;
GtkWidget *pastebutton, *pasteimage;
GtkWidget *scrolledwindow;
- GtkItemFactoryEntry entry;
- guint i, tmp;
vlp->vvp = NULL;
@@ -127,7 +178,7 @@ static void vik_layers_panel_init ( VikLayersPanel *vlp )
vik_layer_rename ( VIK_LAYER(vlp->toplayer), _("Top Layer"));
g_signal_connect_swapped ( G_OBJECT(vlp->toplayer), "update", G_CALLBACK(vik_layers_panel_emit_update), vlp );
- vik_treeview_add_layer ( vlp->vt, NULL, &(vlp->toplayer_iter), VIK_LAYER(vlp->toplayer)->name, NULL, vlp->toplayer, VIK_LAYER_AGGREGATE, VIK_LAYER_AGGREGATE );
+ vik_treeview_add_layer ( vlp->vt, NULL, &(vlp->toplayer_iter), VIK_LAYER(vlp->toplayer)->name, NULL, TRUE, vlp->toplayer, VIK_LAYER_AGGREGATE, VIK_LAYER_AGGREGATE );
vik_layer_realize ( VIK_LAYER(vlp->toplayer), vlp->vt, &(vlp->toplayer_iter) );
g_signal_connect_swapped ( vlp->vt, "popup_menu", G_CALLBACK(menu_popup_cb), vlp);
@@ -182,7 +233,7 @@ static void vik_layers_panel_init ( VikLayersPanel *vlp )
pasteimage = gtk_image_new_from_stock ( GTK_STOCK_PASTE, GTK_ICON_SIZE_SMALL_TOOLBAR );
pastebutton = gtk_button_new ( );
gtk_container_add ( GTK_CONTAINER(pastebutton),pasteimage );
- gtk_widget_set_tooltip_text ( GTK_WIDGET(pastebutton), _("Paste layer below selected layer"));
+ gtk_widget_set_tooltip_text ( GTK_WIDGET(pastebutton), _("Paste layer into selected container layer or otherwise above selected layer"));
gtk_box_pack_start ( GTK_BOX(hbox), pastebutton, TRUE, TRUE, 0 );
g_signal_connect_swapped ( G_OBJECT(pastebutton), "clicked", G_CALLBACK(vik_layers_panel_paste_selected), vlp );
@@ -192,33 +243,6 @@ static void vik_layers_panel_init ( VikLayersPanel *vlp )
gtk_box_pack_start ( GTK_BOX(vlp), scrolledwindow, TRUE, TRUE, 0 );
gtk_box_pack_start ( GTK_BOX(vlp), hbox, FALSE, FALSE, 0 );
-
- vlp->popup_factory = gtk_item_factory_new ( GTK_TYPE_MENU, "<main>", NULL );
- gtk_item_factory_set_translate_func (vlp->popup_factory,
- (GtkTranslateFunc) gettext, NULL, NULL);
- gtk_item_factory_create_items ( vlp->popup_factory, NUM_BASE_ENTRIES, base_entries, vlp );
- for ( i = 0; i < VIK_LAYER_NUM_TYPES; i++ )
- {
- /* TODO: FIXME: if name has a '/' in it it will get all messed up. why not have an itemfactory field with
- name, icon, shortcut, etc.? */
- gchar *label = g_strdup_printf(_("New _%s Layer"), vik_layer_get_interface(i)->name );
- entry.path = g_strdup_printf("%s/%s", base_entries[NUM_BASE_ENTRIES-1].path, label );
- g_free ( label );
- entry.accelerator = NULL;
- entry.callback = (GtkItemFactoryCallback) vik_layers_panel_new_layer;
- entry.callback_action = i;
- if ( vik_layer_get_interface(i)->icon )
- {
- entry.item_type = "<ImageItem>";
- entry.extra_data = gdk_pixdata_serialize ( vik_layer_get_interface(i)->icon, &tmp );
- }
- else
- entry.item_type = "<Item>";
-
- gtk_item_factory_create_item ( vlp->popup_factory, &entry, vlp, 1 );
- g_free ( (gpointer) entry.extra_data );
- g_free ( entry.path );
- }
}
/**
@@ -337,7 +361,7 @@ static void layers_popup ( VikLayersPanel *vlp, GtkTreeIter *iter, gint mouse_bu
VikLayer *layer = VIK_LAYER(vik_treeview_item_get_pointer ( vlp->vt, iter ));
if ( layer->type == VIK_LAYER_AGGREGATE )
- menu = GTK_MENU(gtk_item_factory_get_widget ( vlp->popup_factory, "<main>" ));
+ menu = GTK_MENU ( layers_panel_create_popup ( vlp, TRUE ) );
else
{
GtkWidget *del, *prop;
@@ -379,9 +403,8 @@ static void layers_popup ( VikLayersPanel *vlp, GtkTreeIter *iter, gint mouse_bu
gtk_menu_shell_append (GTK_MENU_SHELL (menu), del);
gtk_widget_show ( del );
}
-
- vik_layer_add_menu_items ( layer, menu, vlp );
- }
+ }
+ vik_layer_add_menu_items ( layer, menu, vlp );
}
else
{
@@ -395,7 +418,9 @@ static void layers_popup ( VikLayersPanel *vlp, GtkTreeIter *iter, gint mouse_bu
}
}
else
- menu = GTK_MENU(gtk_item_factory_get_widget ( vlp->popup_factory, base_entries[NUM_BASE_ENTRIES-1].path ));
+ {
+ menu = GTK_MENU ( layers_panel_create_popup ( vlp, FALSE ) );
+ }
gtk_menu_popup ( menu, NULL, NULL, NULL, NULL, mouse_button, gtk_get_current_event_time() );
}
@@ -416,7 +441,7 @@ static void layers_popup_cb ( VikLayersPanel *vlp )
*
* Create a new layer and add to panel.
*/
-gboolean vik_layers_panel_new_layer ( VikLayersPanel *vlp, gint type )
+gboolean vik_layers_panel_new_layer ( VikLayersPanel *vlp, VikLayerTypeEnum type )
{
VikLayer *l;
g_assert ( vlp->vvp );
@@ -444,7 +469,7 @@ void vik_layers_panel_add_layer ( VikLayersPanel *vlp, VikLayer *l )
vik_layer_change_coord_mode ( l, vik_viewport_get_coord_mode(vlp->vvp) );
if ( ! vik_treeview_get_selected_iter ( vlp->vt, &iter ) )
- vik_aggregate_layer_add_layer ( vlp->toplayer, l );
+ vik_aggregate_layer_add_layer ( vlp->toplayer, l, TRUE );
else
{
VikAggregateLayer *addtoagg;
@@ -480,7 +505,7 @@ void vik_layers_panel_add_layer ( VikLayersPanel *vlp, VikLayer *l )
if ( replace_iter )
vik_aggregate_layer_insert_layer ( addtoagg, l, replace_iter );
else
- vik_aggregate_layer_add_layer ( addtoagg, l );
+ vik_aggregate_layer_add_layer ( addtoagg, l, TRUE );
}
vik_layers_panel_emit_update ( vlp );
@@ -581,13 +606,13 @@ void vik_layers_panel_copy_selected ( VikLayersPanel *vlp )
a_clipboard_copy_selected ( vlp );
}
-void vik_layers_panel_paste_selected ( VikLayersPanel *vlp )
+gboolean vik_layers_panel_paste_selected ( VikLayersPanel *vlp )
{
GtkTreeIter iter;
if ( ! vik_treeview_get_selected_iter ( vlp->vt, &iter ) )
/* Nothing to do */
- return;
- a_clipboard_paste ( vlp );
+ return FALSE;
+ return a_clipboard_paste ( vlp );
}
void vik_layers_panel_delete_selected ( VikLayersPanel *vlp )
@@ -680,7 +705,7 @@ gboolean vik_layers_panel_tool ( VikLayersPanel *vlp, guint16 layer_type, VikToo
}
#endif
-VikLayer *vik_layers_panel_get_layer_of_type ( VikLayersPanel *vlp, gint type )
+VikLayer *vik_layers_panel_get_layer_of_type ( VikLayersPanel *vlp, VikLayerTypeEnum type )
{
VikLayer *rv = vik_layers_panel_get_selected ( vlp );
if ( rv == NULL || rv->type != type )
@@ -719,7 +744,6 @@ static void layers_panel_finalize ( GObject *gob )
{
VikLayersPanel *vlp = VIK_LAYERS_PANEL ( gob );
g_object_unref ( VIK_LAYER(vlp->toplayer) );
- g_object_unref ( G_OBJECT(vlp->popup_factory) );
G_OBJECT_CLASS(parent_class)->finalize(gob);
}
diff --git a/src/viklayerspanel.h b/src/viklayerspanel.h
index 02128c5..8dcb771 100644
--- a/src/viklayerspanel.h
+++ b/src/viklayerspanel.h
@@ -55,16 +55,15 @@ void vik_layers_panel_draw_all ( VikLayersPanel *vlp );
VikLayer *vik_layers_panel_get_selected ( VikLayersPanel *vlp );
void vik_layers_panel_cut_selected ( VikLayersPanel *vlp );
void vik_layers_panel_copy_selected ( VikLayersPanel *vlp );
-void vik_layers_panel_paste_selected ( VikLayersPanel *vlp );
+gboolean vik_layers_panel_paste_selected ( VikLayersPanel *vlp );
void vik_layers_panel_delete_selected ( VikLayersPanel *vlp );
-VikLayer *vik_layers_panel_get_layer_of_type ( VikLayersPanel *vlp, gint type );
+VikLayer *vik_layers_panel_get_layer_of_type ( VikLayersPanel *vlp, VikLayerTypeEnum type );
void vik_layers_panel_set_viewport ( VikLayersPanel *vlp, VikViewport *vvp );
//gboolean vik_layers_panel_tool ( VikLayersPanel *vlp, guint16 layer_type, VikToolInterfaceFunc tool_func, GdkEventButton *event, VikViewport *vvp );
VikViewport *vik_layers_panel_get_viewport ( VikLayersPanel *vlp );
void vik_layers_panel_emit_update ( VikLayersPanel *vlp );
-VikLayer *vik_layers_panel_get_layer_of_type ( VikLayersPanel *vlp, gint type );
gboolean vik_layers_panel_properties ( VikLayersPanel *vlp );
-gboolean vik_layers_panel_new_layer ( VikLayersPanel *vlp, gint type );
+gboolean vik_layers_panel_new_layer ( VikLayersPanel *vlp, VikLayerTypeEnum type );
void vik_layers_panel_clear ( VikLayersPanel *vlp );
VikAggregateLayer *vik_layers_panel_get_top_layer ( VikLayersPanel *vlp );
void vik_layers_panel_change_coord_mode ( VikLayersPanel *vlp, VikCoordMode mode );
diff --git a/src/vikmapslayer.c b/src/vikmapslayer.c
index 78c6d2c..c8d027b 100644
--- a/src/vikmapslayer.c
+++ b/src/vikmapslayer.c
@@ -26,11 +26,6 @@
#include "config.h"
#endif
-#define MAX_SHRINKFACTOR 8.0000001 /* zoom 1 viewing 8-tiles */
-#define MIN_SHRINKFACTOR 0.0312499 /* zoom 32 viewing 1-tiles */
-
-#define REAL_MIN_SHRINKFACTOR 0.0039062499 /* if shrinkfactor is between MAX and REAL_MAX, will only check for existence */
-
#include <gtk/gtk.h>
#include <gdk-pixbuf/gdk-pixdata.h>
#include <glib.h>
@@ -44,35 +39,29 @@
#include <math.h>
#endif
-#include "globals.h"
-#include "util.h"
-#include "coords.h"
-#include "vikcoord.h"
-#include "viktreeview.h"
-#include "vikviewport.h"
-#include "viklayer.h"
-#include "vikmapslayer.h"
-
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif
+#include "viking.h"
#include "vikmapsourcedefault.h"
+#include "maputils.h"
#include "mapcache.h"
-/* only for dialog.h -- ugh */
-#include "vikwaypoint.h"
-#include "dialog.h"
-#include "preferences.h"
-
-#include "vikstatus.h"
#include "background.h"
+#include "preferences.h"
+#include "vikmapslayer.h"
+#include "icons/icons.h"
-#include "vikaggregatelayer.h"
-#include "viklayerspanel.h"
+#define VIK_SETTINGS_MAP_MAX_TILES "maps_max_tiles"
+static gint MAX_TILES = 1000;
-#include "mapcoord.h"
+#define VIK_SETTINGS_MAP_MIN_SHRINKFACTOR "maps_min_shrinkfactor"
+#define VIK_SETTINGS_MAP_MAX_SHRINKFACTOR "maps_max_shrinkfactor"
+static gdouble MAX_SHRINKFACTOR = 8.0000001; /* zoom 1 viewing 8-tiles */
+static gdouble MIN_SHRINKFACTOR = 0.0312499; /* zoom 32 viewing 1-tiles */
-#include "icons/icons.h"
+#define VIK_SETTINGS_MAP_REAL_MIN_SHRINKFACTOR "maps_real_min_shrinkfactor"
+static gdouble REAL_MIN_SHRINKFACTOR = 0.0039062499; /* if shrinkfactor is between MAX and REAL_MAX, will only check for existence */
/****** MAP TYPES ******/
@@ -120,16 +109,28 @@ static VikLayerParamScale params_scales[] = {
{ 0, 255, 3, 0 }, /* alpha */
};
+static VikLayerParamData mode_default ( void ) { return VIK_LPD_UINT ( 19 ); } // OSM MapQuest maps
+static VikLayerParamData directory_default ( void )
+{
+ VikLayerParamData data;
+ VikLayerParamData *pref = a_preferences_get(VIKING_PREFERENCES_NAMESPACE "maplayer_default_dir");
+ if (pref) data.s = g_strdup ( pref->s ); else data.s = "";
+ return data;
+}
+static VikLayerParamData alpha_default ( void ) { return VIK_LPD_UINT ( 255 ); }
+static VikLayerParamData mapzoom_default ( void ) { return VIK_LPD_UINT ( 0 ); }
+
VikLayerParam maps_layer_params[] = {
- { "mode", VIK_LAYER_PARAM_UINT, VIK_LAYER_GROUP_NONE, N_("Map Type:"), VIK_LAYER_WIDGET_COMBOBOX, NULL, NULL, NULL },
- { "directory", VIK_LAYER_PARAM_STRING, VIK_LAYER_GROUP_NONE, N_("Maps Directory:"), VIK_LAYER_WIDGET_FOLDERENTRY, NULL, NULL, NULL },
- { "alpha", VIK_LAYER_PARAM_UINT, VIK_LAYER_GROUP_NONE, N_("Alpha:"), VIK_LAYER_WIDGET_HSCALE, params_scales, NULL,
- N_("Control the Alpha value for transparency effects") },
- { "autodownload", VIK_LAYER_PARAM_BOOLEAN, VIK_LAYER_GROUP_NONE, N_("Autodownload maps:"), VIK_LAYER_WIDGET_CHECKBUTTON, NULL, NULL, NULL },
- { "adlonlymissing", VIK_LAYER_PARAM_BOOLEAN, VIK_LAYER_GROUP_NONE, N_("Autodownload Only Gets Missing Maps:"), VIK_LAYER_WIDGET_CHECKBUTTON, NULL, NULL,
- N_("Using this option avoids attempting to update already acquired tiles. This can be useful if you want to restrict the network usage, without having to resort to manual control. Only applies when 'Autodownload Maps' is on.") },
- { "mapzoom", VIK_LAYER_PARAM_UINT, VIK_LAYER_GROUP_NONE, N_("Zoom Level:"), VIK_LAYER_WIDGET_COMBOBOX, params_mapzooms, NULL,
- N_("Determines the method of displaying map tiles for the current zoom level. 'Viking Zoom Level' uses the best matching level, otherwise setting a fixed value will always use map tiles of the specified value regardless of the actual zoom level.") },
+ { VIK_LAYER_MAPS, "mode", VIK_LAYER_PARAM_UINT, VIK_LAYER_GROUP_NONE, N_("Map Type:"), VIK_LAYER_WIDGET_COMBOBOX, NULL, NULL, NULL, mode_default, NULL, NULL },
+ { VIK_LAYER_MAPS, "directory", VIK_LAYER_PARAM_STRING, VIK_LAYER_GROUP_NONE, N_("Maps Directory:"), VIK_LAYER_WIDGET_FOLDERENTRY, NULL, NULL, NULL, directory_default, NULL, NULL },
+ { VIK_LAYER_MAPS, "alpha", VIK_LAYER_PARAM_UINT, VIK_LAYER_GROUP_NONE, N_("Alpha:"), VIK_LAYER_WIDGET_HSCALE, params_scales, NULL,
+ N_("Control the Alpha value for transparency effects"), alpha_default, NULL, NULL },
+ { VIK_LAYER_MAPS, "autodownload", VIK_LAYER_PARAM_BOOLEAN, VIK_LAYER_GROUP_NONE, N_("Autodownload maps:"), VIK_LAYER_WIDGET_CHECKBUTTON, NULL, NULL, NULL, vik_lpd_true_default, NULL, NULL },
+ { VIK_LAYER_MAPS, "adlonlymissing", VIK_LAYER_PARAM_BOOLEAN, VIK_LAYER_GROUP_NONE, N_("Autodownload Only Gets Missing Maps:"), VIK_LAYER_WIDGET_CHECKBUTTON, NULL, NULL,
+ N_("Using this option avoids attempting to update already acquired tiles. This can be useful if you want to restrict the network usage, without having to resort to manual control. Only applies when 'Autodownload Maps' is on."), vik_lpd_false_default, NULL, NULL },
+ { VIK_LAYER_MAPS, "mapzoom", VIK_LAYER_PARAM_UINT, VIK_LAYER_GROUP_NONE, N_("Zoom Level:"), VIK_LAYER_WIDGET_COMBOBOX, params_mapzooms, NULL,
+ N_("Determines the method of displaying map tiles for the current zoom level. 'Viking Zoom Level' uses the best matching level, otherwise setting a fixed value will always use map tiles of the specified value regardless of the actual zoom level."),
+ mapzoom_default, NULL, NULL },
};
enum {
@@ -142,6 +143,15 @@ enum {
NUM_PARAMS
};
+void maps_layer_set_autodownload_default ( gboolean autodownload )
+{
+ // Set appropriate function
+ if ( autodownload )
+ maps_layer_params[PARAM_AUTODOWNLOAD].default_value = vik_lpd_true_default;
+ else
+ maps_layer_params[PARAM_AUTODOWNLOAD].default_value = vik_lpd_false_default;
+}
+
static VikToolInterface maps_tools[] = {
{ { "MapsDownload", "vik-icon-Maps Download", N_("_Maps Download"), NULL, N_("Maps Download"), 0 },
(VikToolConstructorFunc) maps_layer_download_create,
@@ -234,9 +244,6 @@ struct _VikMapsLayer {
GtkMenu *dl_right_click_menu;
VikCoord redownload_ul, redownload_br; /* right click menu only */
VikViewport *redownload_vvp;
-
- gboolean license_notice_shown; // FALSE for new maps only, otherwise
- // TRUE for saved maps & other layer changes as we don't need to show it again
};
enum { REDOWNLOAD_NONE = 0, /* download only missing maps */
@@ -246,7 +253,7 @@ enum { REDOWNLOAD_NONE = 0, /* download only missing maps */
DOWNLOAD_OR_REFRESH }; /* download missing maps and refresh cache */
static VikLayerParam prefs[] = {
- { VIKING_PREFERENCES_NAMESPACE "maplayer_default_dir", VIK_LAYER_PARAM_STRING, VIK_LAYER_GROUP_NONE, N_("Default maplayer directory:"), VIK_LAYER_WIDGET_FOLDERENTRY, NULL, NULL, N_("Choose a directory to store cached Map tiles for this layer") },
+ { VIK_LAYER_NUM_TYPES, VIKING_PREFERENCES_NAMESPACE "maplayer_default_dir", VIK_LAYER_PARAM_STRING, VIK_LAYER_GROUP_NONE, N_("Default map layer directory:"), VIK_LAYER_WIDGET_FOLDERENTRY, NULL, NULL, N_("Choose a directory to store cached Map tiles for this layer") },
};
void maps_layer_init ()
@@ -254,24 +261,26 @@ void maps_layer_init ()
VikLayerParamData tmp;
tmp.s = maps_layer_default_dir();
a_preferences_register(prefs, tmp, VIKING_PREFERENCES_GROUP_KEY);
+
+ gint max_tiles = MAX_TILES;
+ if ( a_settings_get_integer ( VIK_SETTINGS_MAP_MAX_TILES, &max_tiles ) )
+ MAX_TILES = max_tiles;
+
+ gdouble gdtmp;
+ if ( a_settings_get_double ( VIK_SETTINGS_MAP_MIN_SHRINKFACTOR, &gdtmp ) )
+ MIN_SHRINKFACTOR = gdtmp;
+
+ if ( a_settings_get_double ( VIK_SETTINGS_MAP_MAX_SHRINKFACTOR, &gdtmp ) )
+ MAX_SHRINKFACTOR = gdtmp;
+
+ if ( a_settings_get_double ( VIK_SETTINGS_MAP_REAL_MIN_SHRINKFACTOR, &gdtmp ) )
+ REAL_MIN_SHRINKFACTOR = gdtmp;
}
/****************************************/
/******** MAPS LAYER TYPES **************/
/****************************************/
-int _get_index_for_id ( guint id )
-{
- int index = 0 ;
- while (params_maptypes_ids[index] != 0)
- {
- if (params_maptypes_ids[index] == id)
- return index;
- index++;
- }
- return -1;
-}
-
void _add_map_source ( guint id, const char *label, VikMapSource *map )
{
gsize len = 0;
@@ -422,25 +431,26 @@ static void maps_layer_set_cache_dir ( VikMapsLayer *vml, const gchar *dir )
g_assert ( vml != NULL);
g_free ( vml->cache_dir );
vml->cache_dir = NULL;
+ const gchar *mydir = dir;
if ( dir == NULL || dir[0] == '\0' )
{
if ( a_preferences_get(VIKING_PREFERENCES_NAMESPACE "maplayer_default_dir") )
- vml->cache_dir = g_strdup ( a_preferences_get(VIKING_PREFERENCES_NAMESPACE "maplayer_default_dir")->s );
+ mydir = a_preferences_get(VIKING_PREFERENCES_NAMESPACE "maplayer_default_dir")->s;
}
- else
+
+ // Ensure cache_dir always ends with a separator
+ len = strlen(mydir);
+ if ( mydir[len-1] != G_DIR_SEPARATOR )
{
- len = strlen(dir);
- if ( dir[len-1] != G_DIR_SEPARATOR )
- {
- vml->cache_dir = g_malloc ( len+2 );
- strncpy ( vml->cache_dir, dir, len );
- vml->cache_dir[len] = G_DIR_SEPARATOR;
- vml->cache_dir[len+1] = '\0';
- }
- else
- vml->cache_dir = g_strdup ( dir );
+ vml->cache_dir = g_malloc ( len+2 );
+ strncpy ( vml->cache_dir, mydir, len );
+ vml->cache_dir[len] = G_DIR_SEPARATOR;
+ vml->cache_dir[len+1] = '\0';
}
+ else
+ vml->cache_dir = g_strdup ( mydir );
+
maps_layer_mkdir_if_default_dir ( vml );
}
@@ -491,19 +501,47 @@ static guint map_uniq_id_to_index ( guint uniq_id )
return NUM_MAP_TYPES; /* no such thing */
}
-static gboolean maps_layer_set_param ( VikMapsLayer *vml, guint16 id, VikLayerParamData data, VikViewport *vvp, gboolean is_file_operation )
+#define VIK_SETTINGS_MAP_LICENSE_SHOWN "map_license_shown"
+
+/**
+ * Convenience function to display the license
+ */
+static void maps_show_license ( GtkWindow *parent, VikMapSource *map )
{
- // When loading from a file don't need the license reminder
- if ( is_file_operation )
- vml->license_notice_shown = TRUE;
+ a_dialog_license ( parent,
+ vik_map_source_get_label (map),
+ vik_map_source_get_license (map),
+ vik_map_source_get_license_url (map) );
+}
+static gboolean maps_layer_set_param ( VikMapsLayer *vml, guint16 id, VikLayerParamData data, VikViewport *vvp, gboolean is_file_operation )
+{
switch ( id )
{
case PARAM_CACHE_DIR: maps_layer_set_cache_dir ( vml, data.s ); break;
case PARAM_MAPTYPE: {
gint maptype = map_uniq_id_to_index(data.u);
- if ( maptype == NUM_MAP_TYPES ) g_warning(_("Unknown map type"));
- else vml->maptype = maptype;
+ if ( maptype == NUM_MAP_TYPES )
+ g_warning(_("Unknown map type"));
+ else {
+ vml->maptype = maptype;
+
+ // When loading from a file don't need the license reminder - ensure it's saved into the 'seen' list
+ if ( is_file_operation ) {
+ a_settings_set_integer_list_containing ( VIK_SETTINGS_MAP_LICENSE_SHOWN, maptype );
+ }
+ else {
+ VikMapSource *map = MAPS_LAYER_NTH_TYPE(vml->maptype);
+ if (vik_map_source_get_license (map) != NULL) {
+ // Check if licence for this map type has been shown before
+ if ( ! a_settings_get_integer_list_contains ( VIK_SETTINGS_MAP_LICENSE_SHOWN, maptype ) ) {
+ if ( vvp )
+ maps_show_license ( VIK_GTK_WINDOW_FROM_WIDGET(vvp), map );
+ a_settings_set_integer_list_containing ( VIK_SETTINGS_MAP_LICENSE_SHOWN, maptype );
+ }
+ }
+ }
+ }
break;
}
case PARAM_ALPHA: if ( data.u <= 255 ) vml->alpha = data.u; break;
@@ -523,7 +561,30 @@ static VikLayerParamData maps_layer_get_param ( VikMapsLayer *vml, guint16 id, g
VikLayerParamData rv;
switch ( id )
{
- case PARAM_CACHE_DIR: rv.s = vml->cache_dir ? vml->cache_dir : ""; break;
+ case PARAM_CACHE_DIR:
+ {
+ gboolean set = FALSE;
+ /* Only save a blank when the map cache location equals the default
+ On reading in, when it is blank then the default is reconstructed
+ Since the default changes dependent on the user and OS, it means the resultant file is more portable */
+ if ( is_file_operation && vml->cache_dir && strcmp ( vml->cache_dir, MAPS_CACHE_DIR ) == 0 ) {
+ rv.s = "";
+ set = TRUE;
+ }
+ else if ( is_file_operation ) {
+ if ( a_vik_get_file_ref_format() == VIK_FILE_REF_FORMAT_RELATIVE ) {
+ gchar *cwd = g_get_current_dir();
+ if ( cwd ) {
+ rv.s = file_GetRelativeFilename ( cwd, vml->cache_dir );
+ if ( !rv.s ) rv.s = "";
+ set = TRUE;
+ }
+ }
+ }
+ if ( !set )
+ rv.s = vml->cache_dir ? vml->cache_dir : "";
+ break;
+ }
case PARAM_MAPTYPE: rv.u = map_index_to_uniq_id ( vml->maptype ); break;
case PARAM_ALPHA: rv.u = vml->alpha; break;
case PARAM_AUTODOWNLOAD: rv.u = vml->autodownload; break;
@@ -539,24 +600,18 @@ static VikLayerParamData maps_layer_get_param ( VikMapsLayer *vml, guint16 id, g
static VikMapsLayer *maps_layer_new ( VikViewport *vvp )
{
- int idx;
VikMapsLayer *vml = VIK_MAPS_LAYER ( g_object_new ( VIK_MAPS_LAYER_TYPE, NULL ) );
vik_layer_set_type ( VIK_LAYER(vml), VIK_LAYER_MAPS );
- idx = map_uniq_id_to_index(19); /* 19 is id for OSM MapQuest maps */
- vml->maptype = (idx < NUM_MAP_TYPES) ? idx : 0;
- vml->maptype = (idx < NUM_MAP_TYPES) ? idx : 0;
- vml->alpha = 255;
- vml->mapzoom_id = 0;
+
+ vik_layer_set_defaults ( VIK_LAYER(vml), vvp );
+
vml->dl_tool_x = vml->dl_tool_y = -1;
- maps_layer_set_cache_dir ( vml, NULL );
- vml->autodownload = FALSE;
- vml->adl_only_missing = FALSE;
vml->last_center = NULL;
vml->last_xmpp = 0.0;
vml->last_ympp = 0.0;
vml->dl_right_click_menu = NULL;
- vml->license_notice_shown = FALSE;
+ //vml->license_notice_shown = FALSE;
return vml;
}
@@ -590,14 +645,6 @@ static void maps_layer_post_read (VikLayer *vl, VikViewport *vp, gboolean from_f
a_dialog_warning_msg ( VIK_GTK_WINDOW_FROM_WIDGET(vp), msg );
g_free(msg);
}
-
- if (vik_map_source_get_license (map) != NULL) {
- if ( ! vml->license_notice_shown ) {
- a_dialog_license (VIK_GTK_WINDOW_FROM_WIDGET(vp), vik_map_source_get_label (map),
- vik_map_source_get_license (map), vik_map_source_get_license_url (map) );
- vml->license_notice_shown = TRUE;
- }
- }
}
}
@@ -632,6 +679,8 @@ static GdkPixbuf *pixbuf_set_alpha ( GdkPixbuf *pixbuf, guint8 alpha )
GdkPixbuf *tmp = gdk_pixbuf_add_alpha(pixbuf,FALSE,0,0,0);
g_object_unref(G_OBJECT(pixbuf));
pixbuf = tmp;
+ if ( !pixbuf )
+ return NULL;
}
pixels = gdk_pixbuf_get_pixels(pixbuf);
@@ -651,7 +700,7 @@ static GdkPixbuf *pixbuf_shrink ( GdkPixbuf *pixbuf, gdouble xshrinkfactor, gdou
{
GdkPixbuf *tmp;
guint16 width = gdk_pixbuf_get_width(pixbuf), height = gdk_pixbuf_get_height(pixbuf);
- tmp = gdk_pixbuf_scale_simple(pixbuf, ceil(width * xshrinkfactor), ceil(height * yshrinkfactor), GDK_INTERP_NEAREST);
+ tmp = gdk_pixbuf_scale_simple(pixbuf, ceil(width * xshrinkfactor), ceil(height * yshrinkfactor), GDK_INTERP_BILINEAR);
g_object_unref ( G_OBJECT(pixbuf) );
return tmp;
}
@@ -694,16 +743,17 @@ static GdkPixbuf *get_pixbuf( VikMapsLayer *vml, gint mode, MapCoord *mapcoord,
if ( xshrinkfactor != 1.0 || yshrinkfactor != 1.0 )
pixbuf = pixbuf_shrink ( pixbuf, xshrinkfactor, yshrinkfactor );
- a_mapcache_add ( pixbuf, mapcoord->x, mapcoord->y,
- mapcoord->z, vik_map_source_get_uniq_id(MAPS_LAYER_NTH_TYPE(vml->maptype)),
- mapcoord->scale, vml->alpha, xshrinkfactor, yshrinkfactor );
+ if ( pixbuf )
+ a_mapcache_add ( pixbuf, mapcoord->x, mapcoord->y,
+ mapcoord->z, vik_map_source_get_uniq_id(MAPS_LAYER_NTH_TYPE(vml->maptype)),
+ mapcoord->scale, vml->alpha, xshrinkfactor, yshrinkfactor );
}
}
}
return pixbuf;
}
-gboolean should_start_autodownload(VikMapsLayer *vml, VikViewport *vvp)
+static gboolean should_start_autodownload(VikMapsLayer *vml, VikViewport *vvp)
{
const VikCoord *center = vik_viewport_get_center ( vvp );
@@ -711,6 +761,14 @@ gboolean should_start_autodownload(VikMapsLayer *vml, VikViewport *vvp)
/* D'n'D pan in action: do not download */
return FALSE;
+ // TEMPORARY HACK
+ // Prevent requests for downloading tiles at Zoom Level 19 and above for most map types
+ // Allow MapQuest Zoom Level up to 19
+ // TODO: This should be made a property of the map source and then use that value
+ gdouble xzoom = vik_viewport_get_xmpp ( vvp );
+ if ( (vml->maptype != 19 && map_utils_mpp_to_scale (xzoom) < -1) || (vml->maptype == 19 && map_utils_mpp_to_scale (xzoom) < -2) )
+ return FALSE;
+
if (vml->last_center == NULL) {
VikCoord *new_center = g_malloc(sizeof(VikCoord));
*new_center = *center;
@@ -747,8 +805,10 @@ static void maps_layer_draw_section ( VikMapsLayer *vml, VikViewport *vvp, VikCo
yzoom = vml->xmapzoom;
if ( ! (xshrinkfactor > MIN_SHRINKFACTOR && xshrinkfactor < MAX_SHRINKFACTOR &&
yshrinkfactor > MIN_SHRINKFACTOR && yshrinkfactor < MAX_SHRINKFACTOR ) ) {
- if ( xshrinkfactor > REAL_MIN_SHRINKFACTOR && yshrinkfactor > REAL_MIN_SHRINKFACTOR )
+ if ( xshrinkfactor > REAL_MIN_SHRINKFACTOR && yshrinkfactor > REAL_MIN_SHRINKFACTOR ) {
+ g_debug ( "%s: existence_only due to SHRINKFACTORS", __FUNCTION__ );
existence_only = TRUE;
+ }
else {
g_warning ( _("Cowardly refusing to draw tiles or existence of tiles beyond %d zoom out factor"), (int)( 1.0/REAL_MIN_SHRINKFACTOR));
return;
@@ -771,6 +831,15 @@ static void maps_layer_draw_section ( VikMapsLayer *vml, VikViewport *vvp, VikCo
gint xx, yy, width, height;
GdkPixbuf *pixbuf;
+ // Prevent the program grinding to a halt if trying to deal with thousands of tiles
+ // which can happen when using a small fixed zoom level and viewing large areas.
+ // Also prevents very large number of tile download requests
+ gint tiles = (xmax-xmin) * (ymax-ymin);
+ if ( tiles > MAX_TILES ) {
+ g_debug ( "%s: existence_only due to wanting too many tiles (%d)", __FUNCTION__, tiles );
+ existence_only = TRUE;
+ }
+
guint max_path_len = strlen(vml->cache_dir) + 40;
gchar *path_buf = g_malloc ( max_path_len * sizeof(char) );
@@ -840,7 +909,7 @@ static void maps_layer_draw_section ( VikMapsLayer *vml, VikViewport *vvp, VikCo
vml->cache_dir, mode,
ulm.scale, ulm.z, ulm.x, ulm.y );
if ( g_file_test ( path_buf, G_FILE_TEST_EXISTS ) == TRUE ) {
- GdkGC *black_gc = GTK_WIDGET(vvp)->style->black_gc;
+ GdkGC *black_gc = gtk_widget_get_style(GTK_WIDGET(vvp))->black_gc;
vik_viewport_draw_line ( vvp, black_gc, xx+tilesize_x_ceil, yy, xx, yy+tilesize_y_ceil );
}
} else {
@@ -1117,7 +1186,6 @@ static void start_download_thread ( VikMapsLayer *vml, VikViewport *vvp, const V
mdi->maptype = vml->maptype;
mdi->mapcoord = ulm;
-
mdi->redownload = redownload;
mdi->x0 = MIN(ulm.x, brm.x);
@@ -1180,7 +1248,7 @@ static void start_download_thread ( VikMapsLayer *vml, VikViewport *vvp, const V
}
}
-void maps_layer_download_section ( VikMapsLayer *vml, VikViewport *vvp, VikCoord *ul, VikCoord *br, gdouble zoom)
+static void maps_layer_download_section ( VikMapsLayer *vml, VikViewport *vvp, VikCoord *ul, VikCoord *br, gdouble zoom, gint download_method )
{
MapCoord ulm, brm;
VikMapSource *map = MAPS_LAYER_NTH_TYPE(vml->maptype);
@@ -1210,8 +1278,7 @@ void maps_layer_download_section ( VikMapsLayer *vml, VikViewport *vvp, VikCoord
mdi->maptype = vml->maptype;
mdi->mapcoord = ulm;
-
- mdi->redownload = REDOWNLOAD_NONE;
+ mdi->redownload = download_method;
mdi->x0 = MIN(ulm.x, brm.x);
mdi->xf = MAX(ulm.x, brm.x);
@@ -1255,6 +1322,21 @@ void maps_layer_download_section ( VikMapsLayer *vml, VikViewport *vvp, VikCoord
mdi_free ( mdi );
}
+/**
+ * vik_maps_layer_download_section:
+ * @vml: The Map Layer
+ * @vvp: The Viewport that the map is on
+ * @ul: Upper left coordinate of the area to be downloaded
+ * @br: Bottom right coordinate of the area to be downloaded
+ * @zoom: The zoom level at which the maps are to be download
+ *
+ * Download a specified map area at a certain zoom level
+ */
+void vik_maps_layer_download_section ( VikMapsLayer *vml, VikViewport *vvp, VikCoord *ul, VikCoord *br, gdouble zoom )
+{
+ maps_layer_download_section (vml, vvp, ul, br, zoom, REDOWNLOAD_NONE);
+}
+
static void maps_layer_redownload_bad ( VikMapsLayer *vml )
{
start_download_thread ( vml, vml->redownload_vvp, &(vml->redownload_ul), &(vml->redownload_br), REDOWNLOAD_BAD );
@@ -1304,23 +1386,9 @@ static void maps_layer_tile_info ( VikMapsLayer *vml )
// Get some timestamp information of the tile
struct stat stat_buf;
if ( g_stat ( filename, &stat_buf ) == 0 ) {
- time_t file_time = stat_buf.st_mtime;
-#if GLIB_CHECK_VERSION(2,26,0)
- GDateTime* gdt = g_date_time_new_from_unix_utc ( file_time );
- gchar *time = g_date_time_format ( gdt, "%c" );
-#else
- GDate* gdate = g_date_new ();
- g_date_set_time_t ( gdate, file_time );
- char time[32];
- g_date_strftime ( time, sizeof(time), "%c", gdate );
- g_date_free ( gdate );
-#endif
- message = g_strdup_printf ( _("\nSource: %s\n\nTile File: %s\nTile File Timestamp: %s"), source, filename, time );
-
-#if GLIB_CHECK_VERSION(2,26,0)
- g_free ( time );
- g_date_time_unref ( gdt);
-#endif
+ gchar time_buf[64];
+ strftime ( time_buf, sizeof(time_buf), "%c", gmtime((const time_t *)&stat_buf.st_mtime) );
+ message = g_strdup_printf ( _("\nSource: %s\n\nTile File: %s\nTile File Timestamp: %s"), source, filename, time_buf );
}
}
else
@@ -1479,6 +1547,278 @@ static void maps_layer_redownload_all_onscreen_maps ( gpointer vml_vvp[2] )
download_onscreen_maps( vml_vvp, REDOWNLOAD_ALL);
}
+static void maps_layers_about ( gpointer vml_vvp[2] )
+{
+ VikMapsLayer *vml = vml_vvp[0];
+ VikMapSource *map = MAPS_LAYER_NTH_TYPE(vml->maptype);
+
+ if ( vik_map_source_get_license (map) )
+ maps_show_license ( VIK_GTK_WINDOW_FROM_LAYER(vml), map );
+ else
+ a_dialog_info_msg ( VIK_GTK_WINDOW_FROM_LAYER(vml),
+ vik_map_source_get_label (map) );
+}
+
+/**
+ * maps_layer_how_many_maps:
+ * Copied from maps_layer_download_section but without the actual download and this returns a value
+ */
+static gint maps_layer_how_many_maps ( VikMapsLayer *vml, VikViewport *vvp, VikCoord *ul, VikCoord *br, gdouble zoom, gint redownload )
+{
+ MapCoord ulm, brm;
+ VikMapSource *map = MAPS_LAYER_NTH_TYPE(vml->maptype);
+
+ if ( vik_map_source_is_direct_file_access ( map ) )
+ return 0;
+
+ if (!vik_map_source_coord_to_mapcoord(map, ul, zoom, zoom, &ulm)
+ || !vik_map_source_coord_to_mapcoord(map, br, zoom, zoom, &brm)) {
+ g_warning("%s() coord_to_mapcoord() failed", __PRETTY_FUNCTION__);
+ return 0;
+ }
+
+ MapDownloadInfo *mdi = g_malloc(sizeof(MapDownloadInfo));
+ gint i, j;
+
+ mdi->vml = vml;
+ mdi->vvp = vvp;
+ mdi->map_layer_alive = TRUE;
+ mdi->mutex = g_mutex_new();
+ mdi->refresh_display = FALSE;
+
+ mdi->cache_dir = g_strdup ( vml->cache_dir );
+ mdi->maxlen = strlen ( vml->cache_dir ) + 40;
+ mdi->filename_buf = g_malloc ( mdi->maxlen * sizeof(gchar) );
+ mdi->maptype = vml->maptype;
+
+ mdi->mapcoord = ulm;
+ mdi->redownload = redownload;
+
+ mdi->x0 = MIN(ulm.x, brm.x);
+ mdi->xf = MAX(ulm.x, brm.x);
+ mdi->y0 = MIN(ulm.y, brm.y);
+ mdi->yf = MAX(ulm.y, brm.y);
+
+ mdi->mapstoget = 0;
+
+ if ( mdi->redownload == REDOWNLOAD_ALL ) {
+ mdi->mapstoget = (mdi->xf - mdi->x0 + 1) * (mdi->yf - mdi->y0 + 1);
+ }
+ else {
+ /* calculate how many we need */
+ for (i = mdi->x0; i <= mdi->xf; i++) {
+ for (j = mdi->y0; j <= mdi->yf; j++) {
+ g_snprintf ( mdi->filename_buf, mdi->maxlen, DIRSTRUCTURE,
+ vml->cache_dir, vik_map_source_get_uniq_id(map), ulm.scale,
+ ulm.z, i, j );
+ if ( mdi->redownload == REDOWNLOAD_NEW ) {
+ // Assume the worst - always a new file
+ // Absolute value would requires server lookup - but that is too slow
+ mdi->mapstoget++;
+ }
+ else {
+ if ( g_file_test ( mdi->filename_buf, G_FILE_TEST_EXISTS ) == FALSE ) {
+ // Missing
+ mdi->mapstoget++;
+ }
+ else {
+ if ( mdi->redownload == REDOWNLOAD_BAD ) {
+ /* see if this one is bad or what */
+ GError *gx = NULL;
+ GdkPixbuf *pixbuf = gdk_pixbuf_new_from_file ( mdi->filename_buf, &gx );
+ if (gx || (!pixbuf)) {
+ mdi->mapstoget++;
+ }
+ break;
+ // Other download cases already considered or just ignored
+ }
+ }
+ }
+ }
+ }
+ }
+
+ gint rv = mdi->mapstoget;
+
+ mdi_free ( mdi );
+
+ return rv;
+}
+
+/**
+ * maps_dialog_zoom_between:
+ * This dialog is specific to the map layer, so it's here rather than in dialog.c
+ */
+gboolean maps_dialog_zoom_between ( GtkWindow *parent,
+ gchar *title,
+ gchar *zoom_list[],
+ gint default_zoom1,
+ gint default_zoom2,
+ gint *selected_zoom1,
+ gint *selected_zoom2,
+ gchar *download_list[],
+ gint default_download,
+ gint *selected_download )
+{
+ GtkWidget *dialog = gtk_dialog_new_with_buttons ( title,
+ parent,
+ GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT,
+ GTK_STOCK_OK, GTK_RESPONSE_ACCEPT,
+ GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT,
+ NULL );
+ gtk_dialog_set_default_response ( GTK_DIALOG(dialog), GTK_RESPONSE_ACCEPT );
+ GtkWidget *response_w = NULL;
+#if GTK_CHECK_VERSION (2, 20, 0)
+ response_w = gtk_dialog_get_widget_for_response ( GTK_DIALOG(dialog), GTK_RESPONSE_ACCEPT );
+#endif
+ GtkWidget *zoom_label1 = gtk_label_new ( _("Zoom Start:") );
+ GtkWidget *zoom_combo1 = vik_combo_box_text_new();
+ gchar **s;
+ for (s = zoom_list; *s; s++)
+ vik_combo_box_text_append ( zoom_combo1, *s );
+ gtk_combo_box_set_active ( GTK_COMBO_BOX(zoom_combo1), default_zoom1 );
+
+ GtkWidget *zoom_label2 = gtk_label_new ( _("Zoom End:") );
+ GtkWidget *zoom_combo2 = vik_combo_box_text_new();
+ for (s = zoom_list; *s; s++)
+ vik_combo_box_text_append ( zoom_combo2, *s );
+ gtk_combo_box_set_active ( GTK_COMBO_BOX(zoom_combo2), default_zoom2 );
+
+ GtkWidget *download_label = gtk_label_new(_("Download Maps Method:"));
+ GtkWidget *download_combo = vik_combo_box_text_new();
+ for (s = download_list; *s; s++)
+ vik_combo_box_text_append ( download_combo, *s );
+ gtk_combo_box_set_active ( GTK_COMBO_BOX(download_combo), default_download );
+
+ GtkTable *box = GTK_TABLE(gtk_table_new(3, 2, FALSE));
+ gtk_table_attach_defaults (box, GTK_WIDGET(zoom_label1), 0, 1, 0, 1);
+ gtk_table_attach_defaults (box, GTK_WIDGET(zoom_combo1), 1, 2, 0, 1);
+ gtk_table_attach_defaults (box, GTK_WIDGET(zoom_label2), 0, 1, 1, 2);
+ gtk_table_attach_defaults (box, GTK_WIDGET(zoom_combo2), 1, 2, 1, 2);
+ gtk_table_attach_defaults (box, GTK_WIDGET(download_label), 0, 1, 2, 3);
+ gtk_table_attach_defaults (box, GTK_WIDGET(download_combo), 1, 2, 2, 3);
+
+ gtk_box_pack_start ( GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), GTK_WIDGET(box), FALSE, FALSE, 5 );
+
+ if ( response_w )
+ gtk_widget_grab_focus ( response_w );
+
+ gtk_widget_show_all ( dialog );
+ if ( gtk_dialog_run ( GTK_DIALOG(dialog) ) != GTK_RESPONSE_ACCEPT ) {
+ gtk_widget_destroy(dialog);
+ return FALSE;
+ }
+
+ // Return selected options
+ *selected_zoom1 = gtk_combo_box_get_active ( GTK_COMBO_BOX(zoom_combo1) );
+ *selected_zoom2 = gtk_combo_box_get_active ( GTK_COMBO_BOX(zoom_combo2) );
+ *selected_download = gtk_combo_box_get_active ( GTK_COMBO_BOX(download_combo) );
+
+ gtk_widget_destroy(dialog);
+ return TRUE;
+}
+
+// My best guess of sensible limits
+#define REALLY_LARGE_AMOUNT_OF_TILES 5000
+#define CONFIRM_LARGE_AMOUNT_OF_TILES 500
+
+/**
+ * Get all maps in the region for zoom levels specified by the user
+ * Sort of similar to trw_layer_download_map_along_track_cb function
+ */
+static void maps_layer_download_all ( gpointer vml_vvp[2] )
+{
+ VikMapsLayer *vml = vml_vvp[0];
+ VikViewport *vvp = vml_vvp[1];
+
+ // I don't think we should allow users to hammer the servers too much...
+ // Delibrately not allowing lowest zoom levels
+ // Still can give massive numbers to download
+ // A screen size of 1600x1200 gives around 300,000 tiles between 1..128 when none exist before !!
+ gchar *zoom_list[] = {"1", "2", "4", "8", "16", "32", "64", "128", "256", "512", "1024", NULL };
+ gdouble zoom_vals[] = {1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024};
+
+ gint selected_zoom1, selected_zoom2, default_zoom, lower_zoom;
+ gint selected_download_method;
+
+ gdouble cur_zoom = vik_viewport_get_zoom(vvp);
+
+ for (default_zoom = 0; default_zoom < sizeof(zoom_vals)/sizeof(gdouble); default_zoom++) {
+ if (cur_zoom == zoom_vals[default_zoom])
+ break;
+ }
+ default_zoom = (default_zoom == sizeof(zoom_vals)/sizeof(gdouble)) ? sizeof(zoom_vals)/sizeof(gdouble) - 1 : default_zoom;
+
+ // Default to only 2 zoom levels below the current one
+ if (default_zoom > 1 )
+ lower_zoom = default_zoom - 2;
+ else
+ lower_zoom = default_zoom;
+
+ // redownload method - needs to align with REDOWNLOAD* macro values
+ gchar *download_list[] = { _("Missing"), _("Bad"), _("New"), _("Reload All"), NULL };
+
+ gchar *title = g_strdup_printf ( ("%s: %s"), vik_maps_layer_get_map_label (vml), _("Download for Zoom Levels") );
+
+ if ( ! maps_dialog_zoom_between ( VIK_GTK_WINDOW_FROM_LAYER(vml),
+ title,
+ zoom_list,
+ lower_zoom,
+ default_zoom,
+ &selected_zoom1,
+ &selected_zoom2,
+ download_list,
+ REDOWNLOAD_NONE, // AKA Missing
+ &selected_download_method ) ) {
+ // Cancelled
+ g_free ( title );
+ return;
+ }
+ g_free ( title );
+
+ // Find out new current positions
+ gdouble min_lat, max_lat, min_lon, max_lon;
+ VikCoord vc_ul, vc_br;
+ vik_viewport_get_min_max_lat_lon ( vvp, &min_lat, &max_lat, &min_lon, &max_lon );
+ struct LatLon ll_ul = { max_lat, min_lon };
+ struct LatLon ll_br = { min_lat, max_lon };
+ vik_coord_load_from_latlon ( &vc_ul, vik_viewport_get_coord_mode (vvp), &ll_ul );
+ vik_coord_load_from_latlon ( &vc_br, vik_viewport_get_coord_mode (vvp), &ll_br );
+
+ // Get Maps Count - call for each zoom level (in reverse)
+ // With REDOWNLOAD_NEW this is a possible maximum
+ // With REDOWNLOAD_NONE this only missing ones - however still has a server lookup per tile
+ gint map_count = 0;
+ gint zz;
+ for ( zz = selected_zoom2; zz >= selected_zoom1; zz-- ) {
+ map_count = map_count + maps_layer_how_many_maps ( vml, vvp, &vc_ul, &vc_br, zoom_vals[zz], selected_download_method );
+ }
+
+ g_debug ("vikmapslayer: download request map count %d for method %d", map_count, selected_download_method);
+
+ // Absolute protection of hammering a map server
+ if ( map_count > REALLY_LARGE_AMOUNT_OF_TILES ) {
+ gchar *str = g_strdup_printf (_("You are not allowed to download more than %d tiles in one go (requested %d)"), REALLY_LARGE_AMOUNT_OF_TILES, map_count);
+ a_dialog_error_msg ( VIK_GTK_WINDOW_FROM_LAYER(vml), str );
+ g_free (str);
+ return;
+ }
+
+ // Confirm really want to do this
+ if ( map_count > CONFIRM_LARGE_AMOUNT_OF_TILES ) {
+ gchar *str = g_strdup_printf (_("Do you really want to download %d tiles?"), map_count);
+ gboolean ans = a_dialog_yes_or_no ( VIK_GTK_WINDOW_FROM_LAYER(vml), str, NULL );
+ g_free (str);
+ if ( ! ans )
+ return;
+ }
+
+ // Get Maps - call for each zoom level (in reverse)
+ for ( zz = selected_zoom2; zz >= selected_zoom1; zz-- ) {
+ maps_layer_download_section ( vml, vvp, &vc_ul, &vc_br, zoom_vals[zz], selected_download_method );
+ }
+}
+
static void maps_layer_add_menu_items ( VikMapsLayer *vml, GtkMenu *menu, VikLayersPanel *vlp )
{
static gpointer pass_along[2];
@@ -1510,6 +1850,17 @@ static void maps_layer_add_menu_items ( VikMapsLayer *vml, GtkMenu *menu, VikLay
g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(maps_layer_redownload_all_onscreen_maps), pass_along );
gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
gtk_widget_show ( item );
+
+ item = gtk_image_menu_item_new_with_mnemonic ( _("Download Maps in _Zoom Levels...") );
+ gtk_image_menu_item_set_image ( (GtkImageMenuItem*)item, gtk_image_new_from_stock (GTK_STOCK_DND_MULTIPLE, GTK_ICON_SIZE_MENU) );
+ g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(maps_layer_download_all), pass_along );
+ gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
+ gtk_widget_show ( item );
+
+ item = gtk_image_menu_item_new_from_stock ( GTK_STOCK_ABOUT, NULL );
+ g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(maps_layers_about), pass_along );
+ gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
+ gtk_widget_show ( item );
}
/**
diff --git a/src/vikmapslayer.h b/src/vikmapslayer.h
index 568a092..fd050d2 100644
--- a/src/vikmapslayer.h
+++ b/src/vikmapslayer.h
@@ -48,8 +48,9 @@ GType vik_maps_layer_get_type ();
typedef struct _VikMapsLayer VikMapsLayer;
void maps_layer_init ();
+void maps_layer_set_autodownload_default ( gboolean autodownload );
void maps_layer_register_map_source ( VikMapSource *map );
-void maps_layer_download_section ( VikMapsLayer *vml, VikViewport *vvp, VikCoord *ul, VikCoord *br, gdouble zoom);
+void vik_maps_layer_download_section ( VikMapsLayer *vml, VikViewport *vvp, VikCoord *ul, VikCoord *br, gdouble zoom );
gint vik_maps_layer_get_map_type(VikMapsLayer *vml);
gchar *vik_maps_layer_get_map_label(VikMapsLayer *vml);
gchar *maps_layer_default_dir ();
diff --git a/src/vikmapslayer_compat.h b/src/vikmapslayer_compat.h
index 1cf14e0..c149705 100644
--- a/src/vikmapslayer_compat.h
+++ b/src/vikmapslayer_compat.h
@@ -26,6 +26,8 @@
#include "vikviewport.h"
#include "mapcoord.h"
+G_BEGIN_DECLS
+
typedef struct {
guint16 uniq_id;
guint16 tilesize_x;
@@ -41,4 +43,6 @@ typedef struct {
void maps_layer_register_type ( const char *label, guint id, VikMapsLayer_MapType *map_type );
+G_END_DECLS
+
#endif
diff --git a/src/vikmapsource.c b/src/vikmapsource.c
index 31d12e1..6abfb03 100644
--- a/src/vikmapsource.c
+++ b/src/vikmapsource.c
@@ -220,7 +220,7 @@ vik_map_source_get_drawmode (VikMapSource *self)
* @self: the VikMapSource of interest.
*
* Return true when we can bypass all this download malarky
- * Treat the files as a pre generated data set in OSM tile server layout: <tiledir>/%d/%d/%d.png
+ * Treat the files as a pre generated data set in OSM tile server layout: tiledir/%d/%d/%d.png
*/
gboolean
vik_map_source_is_direct_file_access (VikMapSource * self)
diff --git a/src/vikmapsourcedefault.h b/src/vikmapsourcedefault.h
index 4d39ca7..d380e0f 100644
--- a/src/vikmapsourcedefault.h
+++ b/src/vikmapsourcedefault.h
@@ -5,7 +5,7 @@
*
* viking is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
- * Free Software Foundation, either version 3 of the License, or
+ * Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* viking is distributed in the hope that it will be useful, but
diff --git a/src/vikmaptype.h b/src/vikmaptype.h
index 42020c3..ae5672d 100644
--- a/src/vikmaptype.h
+++ b/src/vikmaptype.h
@@ -5,7 +5,7 @@
*
* viking is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
- * Free Software Foundation, either version 3 of the License, or
+ * Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* viking is distributed in the hope that it will be useful, but
diff --git a/src/vikrouting.c b/src/vikrouting.c
new file mode 100644
index 0000000..c88f460
--- /dev/null
+++ b/src/vikrouting.c
@@ -0,0 +1,305 @@
+/*
+ * viking -- GPS Data and Topo Analyzer, Explorer, and Manager
+ *
+ * Copyright (C) 2012-2013, Guilhem Bonnefille <guilhem.bonnefille@gmail.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+/**
+ * SECTION:vikrouting
+ * @short_description: the routing framework
+ *
+ * This module handles the list of #VikRoutingEngine.
+ * It also handles the "default" functions.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <glib.h>
+#include <glib/gstdio.h>
+#include <glib/gi18n.h>
+
+#include "curl_download.h"
+#include "babel.h"
+
+#include "preferences.h"
+
+#include "vikrouting.h"
+#include "vikroutingengine.h"
+
+/* params will be routing.default */
+/* we have to make sure these don't collide. */
+#define VIKING_ROUTING_PARAMS_GROUP_KEY "routing"
+#define VIKING_ROUTING_PARAMS_NAMESPACE "routing."
+
+/* List to register all routing engines */
+static GList *routing_engine_list = NULL;
+
+static VikLayerParam prefs[] = {
+ { VIK_LAYER_NUM_TYPES, VIKING_ROUTING_PARAMS_NAMESPACE "default", VIK_LAYER_PARAM_STRING, VIK_LAYER_GROUP_NONE, N_("Default engine:"), VIK_LAYER_WIDGET_COMBOBOX, NULL, NULL, NULL, NULL, NULL },
+};
+
+gchar **routing_engine_labels = NULL;
+gchar **routing_engine_ids = NULL;
+
+/**
+ * vik_routing_prefs_init:
+ *
+ * Initialize the preferences of the routing feature.
+ */
+void
+vik_routing_prefs_init()
+{
+ a_preferences_register_group ( VIKING_ROUTING_PARAMS_GROUP_KEY, "Routing" );
+
+ VikLayerParamData tmp;
+ tmp.s = NULL;
+ a_preferences_register(prefs, tmp, VIKING_ROUTING_PARAMS_GROUP_KEY);
+}
+
+/* @see g_list_find_custom */
+static gint
+search_by_id (gconstpointer a,
+ gconstpointer b)
+{
+ const gchar *id = b;
+ VikRoutingEngine *engine = (VikRoutingEngine *)a;
+ gchar *engineId = vik_routing_engine_get_id (engine);
+ if (id && engine)
+ return strcmp(id, engineId);
+ else
+ return -1;
+}
+
+/**
+ * vik_routing_find_engine:
+ * @id: the id of the engine we are looking for
+ *
+ * Returns: the found engine or %NULL
+ */
+VikRoutingEngine *
+vik_routing_find_engine ( const gchar *id )
+{
+ VikRoutingEngine *engine = NULL;
+ GList *elem = g_list_find_custom (routing_engine_list, id, search_by_id);
+ if (elem)
+ engine = elem->data;
+ return engine;
+}
+
+/**
+ * vik_routing_default_engine:
+ *
+ * Retrieve the default engine, based on user's preferences.
+ *
+ * Returns: the default engine
+ */
+static VikRoutingEngine *
+vik_routing_default_engine ( void )
+{
+ const gchar *id = a_preferences_get ( VIKING_ROUTING_PARAMS_NAMESPACE "default")->s;
+ VikRoutingEngine *engine = vik_routing_find_engine(id);
+ if (engine == NULL && routing_engine_list != NULL && g_list_first (routing_engine_list) != NULL)
+ /* Fallback to first element */
+ engine = g_list_first (routing_engine_list)->data;
+
+ return engine;
+}
+
+/**
+ * vik_routing_default_find:
+ *
+ * Route computation with default engine.
+ */
+void
+vik_routing_default_find(VikTrwLayer *vt, struct LatLon start, struct LatLon end)
+{
+ /* The engine */
+ VikRoutingEngine *engine = vik_routing_default_engine ( );
+ /* The route computation */
+ vik_routing_engine_find ( engine, vt, start, end );
+}
+
+/**
+ * vik_routing_register:
+ * @engine: new routing engine to register
+ *
+ * Register a new routing engine.
+ */
+void
+vik_routing_register( VikRoutingEngine *engine )
+{
+ gchar *label = vik_routing_engine_get_label ( engine );
+ gchar *id = vik_routing_engine_get_id ( engine );
+ gsize len = 0;
+
+ /* check if id already exists in list */
+ GList *elem = g_list_find_custom (routing_engine_list, id, search_by_id);
+ if (elem != NULL) {
+ g_debug("%s: %s already exists: update", __FUNCTION__, id);
+
+ /* Update main list */
+ g_object_unref (elem->data);
+ elem->data = g_object_ref ( engine );
+
+ /* Update GUI arrays */
+ len = g_strv_length (routing_engine_labels);
+ for (; len > 0 ; len--) {
+ if (strcmp (routing_engine_ids[len-1], id) == 0)
+ break;
+ }
+ /* Update the label (possibly different */
+ g_free (routing_engine_labels[len-1]);
+ routing_engine_labels[len-1] = g_strdup (label);
+
+ } else {
+ g_debug("%s: %s is new: append", __FUNCTION__, id);
+ routing_engine_list = g_list_append ( routing_engine_list, g_object_ref ( engine ) );
+
+ if (routing_engine_labels)
+ len = g_strv_length (routing_engine_labels);
+
+ /* Add the label */
+ routing_engine_labels = g_realloc (routing_engine_labels, (len+2)*sizeof(gchar*));
+ routing_engine_labels[len] = g_strdup (label);
+ routing_engine_labels[len+1] = NULL;
+
+ /* Add the id */
+ routing_engine_ids = g_realloc (routing_engine_ids, (len+2)*sizeof(gchar*));
+ routing_engine_ids[len] = g_strdup (id);
+ routing_engine_ids[len+1] = NULL;
+
+ /* Hack
+ We have to ensure the mode LayerParam references the up-to-date
+ GLists.
+ */
+ /*
+ memcpy(&maps_layer_params[0].widget_data, &params_maptypes, sizeof(gpointer));
+ memcpy(&maps_layer_params[0].extra_widget_data, &params_maptypes_ids, sizeof(gpointer));
+ */
+ prefs[0].widget_data = routing_engine_labels;
+ prefs[0].extra_widget_data = routing_engine_ids;
+ }
+}
+
+/**
+ * vik_routing_unregister_all:
+ *
+ * Unregister all registered routing engines.
+ */
+void
+vik_routing_unregister_all ()
+{
+ g_list_foreach ( routing_engine_list, (GFunc) g_object_unref, NULL );
+ g_strfreev ( routing_engine_labels );
+ g_strfreev ( routing_engine_ids );
+}
+
+/**
+ * vik_routing_foreach_engine:
+ * @func: the function to run on each element
+ * @user_data: user's data to give to each call of @func
+ *
+ * Loop over all registered routing engines.
+ */
+void
+vik_routing_foreach_engine (GFunc func, gpointer user_data)
+{
+ g_list_foreach ( routing_engine_list, func, user_data );
+}
+
+/*
+ * This function is called for all routing engine registered.
+ * Following result of the predicate function, the current engine
+ * is added to the combobox. In order to retrieve the VikRoutingEngine
+ * object, we store a list of added engine in a GObject's data "engines".
+ *
+ * @see g_list_foreach()
+ */
+static void
+fill_engine_box (gpointer data, gpointer user_data)
+{
+ VikRoutingEngine *engine = (VikRoutingEngine*) data;
+ /* Retrieve combo */
+ GtkWidget *widget = (GtkWidget*) user_data;
+
+ /* Only register engine fulliling expected behavior */
+ Predicate predicate = g_object_get_data ( G_OBJECT ( widget ), "func" );
+ gpointer predicate_data = g_object_get_data ( G_OBJECT ( widget ), "user_data" );
+ /* No predicate means to register all engines */
+ gboolean ok = predicate == NULL || predicate (engine, predicate_data);
+
+ if (ok)
+ {
+ /* Add item in widget */
+ const gchar *label = vik_routing_engine_get_label (engine);
+ vik_combo_box_text_append (widget, label);
+ /* Save engine in internal list */
+ GList *engines = (GList*) g_object_get_data ( G_OBJECT ( widget ) , "engines" );
+ engines = g_list_append ( engines, engine );
+ g_object_set_data ( G_OBJECT ( widget ), "engines", engines );
+ }
+}
+
+/**
+ * vik_routing_ui_selector_new:
+ * @func: user function to decide if an engine has to be added or not
+ * @user_data: user data for previous function
+ *
+ * Creates a combo box to allow selection of a routing engine.
+ *
+ * We use GObject data hastable to store and retrieve the VikRoutingEngine
+ * associated to the selection.
+ *
+ * Returns: the combo box
+ */
+GtkWidget *
+vik_routing_ui_selector_new (Predicate func, gpointer user_data)
+{
+ /* Create the combo */
+ GtkWidget * combo = vik_combo_box_text_new ();
+
+ /* Save data for foreach function */
+ g_object_set_data ( G_OBJECT ( combo ), "func", func );
+ g_object_set_data ( G_OBJECT ( combo ), "user_data", user_data );
+
+ /* Filter all engines with given user function */
+ vik_routing_foreach_engine (fill_engine_box, combo);
+
+ return combo;
+}
+
+/**
+ * vik_routing_ui_selector_get_nth:
+ * @combo: the GtkWidget combobox
+ * @pos: the selected position
+ *
+ * Retrieve the VikRoutingEngine stored in a list attached to @combo
+ * via the "engines" property.
+ *
+ * Returns: the VikRoutingEngine object associated to @pos
+ */
+VikRoutingEngine *
+vik_routing_ui_selector_get_nth (GtkWidget *combo, int pos)
+{
+ /* Retrieve engine */
+ GList *engines = (GList*) g_object_get_data ( G_OBJECT ( combo ) , "engines" );
+ VikRoutingEngine *engine = g_list_nth_data ( engines, pos );
+
+ return engine;
+}
diff --git a/src/vikrouting.h b/src/vikrouting.h
new file mode 100644
index 0000000..8e9aa2d
--- /dev/null
+++ b/src/vikrouting.h
@@ -0,0 +1,46 @@
+/*
+ * viking -- GPS Data and Topo Analyzer, Explorer, and Manager
+ *
+ * Copyright (C) 2012-2013, Guilhem Bonnefille <guilhem.bonnefille@gmail.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ */
+#ifndef _VIKING_ROUTING_H
+#define _VIKING_ROUTING_H
+
+#include <glib.h>
+
+#include "vikroutingengine.h"
+
+G_BEGIN_DECLS
+
+/* Default */
+void vik_routing_default_find ( VikTrwLayer *vt, struct LatLon start, struct LatLon end );
+
+/* Routing engines management */
+void vik_routing_prefs_init();
+void vik_routing_register( VikRoutingEngine *engine );
+void vik_routing_unregister_all ();
+void vik_routing_foreach_engine ( GFunc func, gpointer user_data );
+
+/* UI */
+typedef gboolean (*Predicate)( gpointer data, gpointer user_data );
+GtkWidget *vik_routing_ui_selector_new ( Predicate func, gpointer user_data );
+VikRoutingEngine *vik_routing_ui_selector_get_nth ( GtkWidget *combo, int pos );
+
+G_END_DECLS
+
+#endif
diff --git a/src/vikroutingengine.c b/src/vikroutingengine.c
new file mode 100644
index 0000000..894b011
--- /dev/null
+++ b/src/vikroutingengine.c
@@ -0,0 +1,347 @@
+/*
+ * viking -- GPS Data and Topo Analyzer, Explorer, and Manager
+ *
+ * Copyright (C) 2012-2013, Guilhem Bonnefille <guilhem.bonnefille@gmail.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+/**
+ * SECTION:vikroutingengine
+ * @short_description: the base class to describe routing engine
+ *
+ * The #VikRoutingEngine class is both the interface and the base class
+ * for the hierarchie of routing engines.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <glib.h>
+#include <glib/gstdio.h>
+#include <glib/gi18n.h>
+
+#include "babel.h"
+
+#include "vikroutingengine.h"
+
+static void vik_routing_engine_finalize ( GObject *gob );
+static GObjectClass *parent_class;
+
+typedef struct _VikRoutingPrivate VikRoutingPrivate;
+struct _VikRoutingPrivate
+{
+ gchar *id;
+ gchar *label;
+ gchar *format;
+};
+
+#define VIK_ROUTING_ENGINE_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), VIK_ROUTING_ENGINE_TYPE, VikRoutingPrivate))
+
+/* properties */
+enum
+{
+ PROP_0,
+
+ PROP_ID,
+ PROP_LABEL,
+ PROP_FORMAT,
+};
+
+G_DEFINE_ABSTRACT_TYPE (VikRoutingEngine, vik_routing_engine, G_TYPE_OBJECT)
+
+static void
+vik_routing_engine_set_property (GObject *object,
+ guint property_id,
+ const GValue *value,
+ GParamSpec *pspec)
+{
+ VikRoutingPrivate *priv = VIK_ROUTING_ENGINE_PRIVATE ( object );
+
+ switch (property_id)
+ {
+ case PROP_ID:
+ g_free (priv->id);
+ priv->id = g_strdup(g_value_get_string (value));
+ break;
+
+ case PROP_LABEL:
+ g_free (priv->label);
+ priv->label = g_strdup(g_value_get_string (value));
+ break;
+
+ case PROP_FORMAT:
+ g_free (priv->format);
+ priv->format = g_strdup(g_value_get_string (value));
+ break;
+
+ default:
+ /* We don't have any other property... */
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
+ break;
+ }
+}
+
+static void
+vik_routing_engine_get_property (GObject *object,
+ guint property_id,
+ GValue *value,
+ GParamSpec *pspec)
+{
+ VikRoutingPrivate *priv = VIK_ROUTING_ENGINE_PRIVATE ( object );
+
+ switch (property_id)
+ {
+ case PROP_ID:
+ g_value_set_string (value, priv->id);
+ break;
+
+ case PROP_LABEL:
+ g_value_set_string (value, priv->label);
+ break;
+
+ case PROP_FORMAT:
+ g_value_set_string (value, priv->format);
+ break;
+
+ default:
+ /* We don't have any other property... */
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
+ break;
+ }
+}
+
+static void
+vik_routing_engine_class_init ( VikRoutingEngineClass *klass )
+{
+ GObjectClass *object_class;
+ VikRoutingEngineClass *routing_class;
+ GParamSpec *pspec = NULL;
+
+ object_class = G_OBJECT_CLASS (klass);
+
+ object_class->set_property = vik_routing_engine_set_property;
+ object_class->get_property = vik_routing_engine_get_property;
+ object_class->finalize = vik_routing_engine_finalize;
+
+ parent_class = g_type_class_peek_parent (klass);
+
+ routing_class = VIK_ROUTING_ENGINE_CLASS ( klass );
+ routing_class->find = NULL;
+
+ routing_class->supports_direction = NULL;
+ routing_class->get_cmd_from_directions = NULL;
+
+ routing_class->refine = NULL;
+ routing_class->supports_refine = NULL;
+
+ pspec = g_param_spec_string ("id",
+ "Identifier",
+ "The identifier of the routing engine",
+ "<no-set>" /* default value */,
+ G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE);
+ g_object_class_install_property (object_class, PROP_ID, pspec);
+
+ pspec = g_param_spec_string ("label",
+ "Label",
+ "The label of the routing engine",
+ "<no-set>" /* default value */,
+ G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE);
+ g_object_class_install_property (object_class, PROP_LABEL, pspec);
+
+ pspec = g_param_spec_string ("format",
+ "Format",
+ "The format of the output (see gpsbabel)",
+ "<no-set>" /* default value */,
+ G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE);
+ g_object_class_install_property (object_class, PROP_FORMAT, pspec);
+
+ g_type_class_add_private (klass, sizeof (VikRoutingPrivate));
+}
+
+static void
+vik_routing_engine_init ( VikRoutingEngine *self )
+{
+ VikRoutingPrivate *priv = VIK_ROUTING_ENGINE_PRIVATE (self);
+
+ priv->id = NULL;
+ priv->label = NULL;
+ priv->format = NULL;
+}
+
+static void
+vik_routing_engine_finalize ( GObject *self )
+{
+ VikRoutingPrivate *priv = VIK_ROUTING_ENGINE_PRIVATE (self);
+
+ g_free (priv->id);
+ priv->id = NULL;
+
+ g_free (priv->label);
+ priv->label = NULL;
+
+ g_free (priv->format);
+ priv->format = NULL;
+
+ G_OBJECT_CLASS(parent_class)->finalize(self);
+}
+
+/**
+ * vik_routing_engine_find:
+ * @self: self object
+ * @vtl:
+ * @start: starting point
+ * @end: ending point
+ *
+ * Retrieve a route between two coordinates.
+ *
+ * Returns: indicates success or not.
+ */
+int
+vik_routing_engine_find ( VikRoutingEngine *self, VikTrwLayer *vtl, struct LatLon start, struct LatLon end )
+{
+ VikRoutingEngineClass *klass;
+
+ g_return_val_if_fail ( VIK_IS_ROUTING_ENGINE (self), 0 );
+ klass = VIK_ROUTING_ENGINE_GET_CLASS( self );
+ g_return_val_if_fail ( klass->find != NULL, 0 );
+
+ return klass->find( self, vtl, start, end );
+}
+
+/**
+ * vik_routing_engine_get_id:
+ *
+ * Returns: the id of self
+ */
+gchar *
+vik_routing_engine_get_id ( VikRoutingEngine *self )
+{
+ VikRoutingPrivate *priv = VIK_ROUTING_ENGINE_PRIVATE (self);
+
+ return priv->id;
+}
+
+/**
+ * vik_routing_engine_get_label:
+ *
+ * Returns: the label of self
+ */
+gchar *
+vik_routing_engine_get_label ( VikRoutingEngine *self )
+{
+ VikRoutingPrivate *priv = VIK_ROUTING_ENGINE_PRIVATE (self);
+
+ return priv->label;
+}
+
+/**
+ * vik_routing_engine_get_format:
+ *
+ * GPSbabel's Format of result.
+ *
+ * Returns: the format of self
+ */
+gchar *
+vik_routing_engine_get_format ( VikRoutingEngine *self )
+{
+ VikRoutingPrivate *priv = VIK_ROUTING_ENGINE_PRIVATE (self);
+
+ return priv->format;
+}
+
+/**
+ * vik_routing_engine_supports_direction:
+ *
+ * Returns: %TRUE if this engine supports the route finding based on directions
+ */
+gboolean
+vik_routing_engine_supports_direction ( VikRoutingEngine *self )
+{
+ VikRoutingEngineClass *klass;
+
+ g_return_val_if_fail ( VIK_IS_ROUTING_ENGINE (self), FALSE );
+ klass = VIK_ROUTING_ENGINE_GET_CLASS( self );
+ g_return_val_if_fail ( klass->supports_direction != NULL, FALSE );
+
+ return klass->supports_direction( self );
+}
+
+/**
+ * vik_routing_engine_get_cmd_from_directions:
+ * @self: routing engine
+ * @start: the start direction
+ * @end: the end direction
+ *
+ * Compute a "cmd" for acquire framework.
+ *
+ * Returns: the computed cmd
+ */
+gchar *
+vik_routing_engine_get_cmd_from_directions ( VikRoutingEngine *self, const gchar *start, const gchar *end )
+{
+ VikRoutingEngineClass *klass;
+
+ g_return_val_if_fail ( VIK_IS_ROUTING_ENGINE (self), NULL );
+ klass = VIK_ROUTING_ENGINE_GET_CLASS( self );
+ g_return_val_if_fail ( klass->get_cmd_from_directions != NULL, NULL );
+
+ return klass->get_cmd_from_directions( self, start, end );
+}
+
+/**
+ * vik_routing_engine_refine:
+ * @self: self object
+ * @vtl: layer where to create new track
+ * @vt: the simple route to refine
+ *
+ * Retrieve a route refining the @vt track/route.
+ *
+ * A refined route is computed from @vt.
+ * The route is computed from first trackpoint to last trackpoint,
+ * and going via all intermediate trackpoints.
+ *
+ * Returns: indicates success or not.
+ */
+int
+vik_routing_engine_refine ( VikRoutingEngine *self, VikTrwLayer *vtl, VikTrack *vt )
+{
+ VikRoutingEngineClass *klass;
+
+ g_return_val_if_fail ( VIK_IS_ROUTING_ENGINE (self), 0 );
+ klass = VIK_ROUTING_ENGINE_GET_CLASS ( self );
+ g_return_val_if_fail ( klass->refine != NULL, 0 );
+
+ return klass->refine ( self, vtl, vt );
+}
+
+/**
+ * vik_routing_engine_supports_refine:
+ * @self: routing engine
+ *
+ * Returns: %TRUE if this engine supports the refine of track
+ */
+gboolean
+vik_routing_engine_supports_refine ( VikRoutingEngine *self )
+{
+ VikRoutingEngineClass *klass;
+
+ g_return_val_if_fail ( VIK_IS_ROUTING_ENGINE (self), FALSE );
+ klass = VIK_ROUTING_ENGINE_GET_CLASS ( self );
+ g_return_val_if_fail ( klass->supports_refine != NULL, FALSE );
+
+ return klass->supports_refine ( self );
+}
diff --git a/src/vikroutingengine.h b/src/vikroutingengine.h
new file mode 100644
index 0000000..7762c73
--- /dev/null
+++ b/src/vikroutingengine.h
@@ -0,0 +1,75 @@
+/*
+ * viking -- GPS Data and Topo Analyzer, Explorer, and Manager
+ *
+ * Copyright (C) 2012-2013, Guilhem Bonnefille <guilhem.bonnefille@gmail.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ */
+#ifndef _VIKING_ROUTING_ENGINE_H
+#define _VIKING_ROUTING_ENGINE_H
+
+#include <glib.h>
+
+#include "viktrwlayer.h"
+#include "coords.h"
+#include "download.h"
+
+#include "vikwindow.h"
+
+G_BEGIN_DECLS
+
+#define VIK_ROUTING_ENGINE_TYPE (vik_routing_engine_get_type ())
+#define VIK_ROUTING_ENGINE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VIK_ROUTING_ENGINE_TYPE, VikRoutingEngine))
+#define VIK_ROUTING_ENGINE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VIK_ROUTING_ENGINE_TYPE, VikRoutingEngineClass))
+#define VIK_IS_ROUTING_ENGINE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VIK_ROUTING_ENGINE_TYPE))
+#define VIK_IS_ROUTING_ENGINE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VIK_ROUTING_ENGINE_TYPE))
+#define VIK_ROUTING_ENGINE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VIK_ROUTING_ENGINE_TYPE, VikRoutingEngineClass))
+
+
+typedef struct _VikRoutingEngine VikRoutingEngine;
+typedef struct _VikRoutingEngineClass VikRoutingEngineClass;
+
+struct _VikRoutingEngineClass
+{
+ GObjectClass object_class;
+ int (*find)(VikRoutingEngine *self, VikTrwLayer *vtl, struct LatLon start, struct LatLon end);
+ gchar *(*get_cmd_from_directions)(VikRoutingEngine *self, const gchar *start, const gchar *end);
+ gboolean (*supports_direction)(VikRoutingEngine *self);
+ int (*refine)(VikRoutingEngine *self, VikTrwLayer *vtl, VikTrack *vt);
+ gboolean (*supports_refine)(VikRoutingEngine *self);
+};
+
+GType vik_routing_engine_get_type ();
+
+struct _VikRoutingEngine {
+ GObject obj;
+};
+
+int vik_routing_engine_find ( VikRoutingEngine *self, VikTrwLayer *vtl, struct LatLon start, struct LatLon end );
+int vik_routing_engine_refine ( VikRoutingEngine *self, VikTrwLayer *vtl, VikTrack *vt );
+gchar *vik_routing_engine_get_cmd_from_directions ( VikRoutingEngine *self, const gchar *start, const gchar *end );
+
+/* Acessors */
+gchar *vik_routing_engine_get_id ( VikRoutingEngine *self );
+gchar *vik_routing_engine_get_label ( VikRoutingEngine *self );
+gchar *vik_routing_engine_get_format ( VikRoutingEngine *self );
+
+gboolean vik_routing_engine_supports_direction ( VikRoutingEngine *self );
+gboolean vik_routing_engine_supports_refine ( VikRoutingEngine *self );
+
+G_END_DECLS
+
+#endif
diff --git a/src/vikroutingwebengine.c b/src/vikroutingwebengine.c
new file mode 100644
index 0000000..8c3226b
--- /dev/null
+++ b/src/vikroutingwebengine.c
@@ -0,0 +1,583 @@
+/*
+ * viking -- GPS Data and Topo Analyzer, Explorer, and Manager
+ *
+ * Copyright (c) 2013, Guilhem Bonnefille <guilhem.bonnefille@gmail.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ */
+
+/**
+ * SECTION:vikroutingwebengine
+ * @short_description: A generic class for WEB based routing engine
+ *
+ * The #VikRoutingWebEngine class handles WEB based
+ * routing engine.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <string.h>
+
+#include <glib.h>
+#include <glib/gstdio.h>
+
+#include "babel.h"
+
+#include "vikroutingwebengine.h"
+
+static void vik_routing_web_engine_finalize ( GObject *gob );
+
+static int vik_routing_web_engine_find ( VikRoutingEngine *self, VikTrwLayer *vtl, struct LatLon start, struct LatLon end );
+static gchar *vik_routing_web_engine_get_cmd_from_directions(VikRoutingEngine *self, const gchar *start, const gchar *end);
+static gboolean vik_routing_web_engine_supports_direction(VikRoutingEngine *self);
+static int vik_routing_web_engine_refine ( VikRoutingEngine *self, VikTrwLayer *vtl, VikTrack *vt );
+static gboolean vik_routing_web_engine_supports_refine ( VikRoutingEngine *self );
+
+typedef struct _VikRoutingWebEnginePrivate VikRoutingWebEnginePrivate;
+struct _VikRoutingWebEnginePrivate
+{
+ gchar *url_base;
+
+ /* LatLon */
+ gchar *url_start_ll_fmt;
+ gchar *url_stop_ll_fmt;
+ gchar *url_via_ll_fmt;
+
+ /* Directions */
+ gchar *url_start_dir_fmt;
+ gchar *url_stop_dir_fmt;
+
+ DownloadMapOptions options;
+};
+
+#define VIK_ROUTING_WEB_ENGINE_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), VIK_ROUTING_WEB_ENGINE_TYPE, VikRoutingWebEnginePrivate))
+
+/* properties */
+enum
+{
+ PROP_0,
+
+ PROP_URL_BASE,
+
+ /* LatLon */
+ PROP_URL_START_LL,
+ PROP_URL_STOP_LL,
+ PROP_URL_VIA_LL,
+
+ /* Direction */
+ PROP_URL_START_DIR,
+ PROP_URL_STOP_DIR,
+
+ PROP_REFERER,
+ PROP_FOLLOW_LOCATION,
+};
+
+G_DEFINE_TYPE (VikRoutingWebEngine, vik_routing_web_engine, VIK_ROUTING_ENGINE_TYPE)
+
+static void
+vik_routing_web_engine_set_property (GObject *object,
+ guint property_id,
+ const GValue *value,
+ GParamSpec *pspec)
+{
+ VikRoutingWebEnginePrivate *priv = VIK_ROUTING_WEB_ENGINE_PRIVATE ( object );
+
+ switch (property_id)
+ {
+ case PROP_URL_BASE:
+ g_free (priv->url_base);
+ priv->url_base = g_strdup(g_value_get_string (value));
+ break;
+
+ case PROP_URL_START_LL:
+ g_free (priv->url_start_ll_fmt);
+ priv->url_start_ll_fmt = g_strdup(g_value_get_string (value));
+ break;
+
+ case PROP_URL_STOP_LL:
+ g_free (priv->url_stop_ll_fmt);
+ priv->url_stop_ll_fmt = g_strdup(g_value_get_string (value));
+ break;
+
+ case PROP_URL_VIA_LL:
+ g_free (priv->url_via_ll_fmt);
+ priv->url_via_ll_fmt = g_strdup(g_value_get_string (value));
+ break;
+
+ case PROP_URL_START_DIR:
+ g_free (priv->url_start_dir_fmt);
+ priv->url_start_dir_fmt = g_strdup(g_value_get_string (value));
+ break;
+
+ case PROP_URL_STOP_DIR:
+ g_free (priv->url_stop_dir_fmt);
+ priv->url_stop_dir_fmt = g_strdup(g_value_get_string (value));
+ break;
+
+ case PROP_REFERER:
+ g_free (priv->options.referer);
+ priv->options.referer = g_value_dup_string (value);
+ break;
+
+ case PROP_FOLLOW_LOCATION:
+ priv->options.follow_location = g_value_get_long (value);
+ break;
+
+ default:
+ /* We don't have any other property... */
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
+ break;
+ }
+}
+
+static void
+vik_routing_web_engine_get_property (GObject *object,
+ guint property_id,
+ GValue *value,
+ GParamSpec *pspec)
+{
+ VikRoutingWebEnginePrivate *priv = VIK_ROUTING_WEB_ENGINE_PRIVATE ( object );
+
+ switch (property_id)
+ {
+ case PROP_URL_BASE:
+ g_value_set_string (value, priv->url_base);
+ break;
+
+ case PROP_URL_START_LL:
+ g_value_set_string (value, priv->url_start_ll_fmt);
+ break;
+
+ case PROP_URL_STOP_LL:
+ g_value_set_string (value, priv->url_stop_ll_fmt);
+ break;
+
+ case PROP_URL_VIA_LL:
+ g_value_set_string (value, priv->url_via_ll_fmt);
+ break;
+
+ case PROP_URL_START_DIR:
+ g_value_set_string (value, priv->url_start_dir_fmt);
+ break;
+
+ case PROP_URL_STOP_DIR:
+ g_value_set_string (value, priv->url_stop_dir_fmt);
+ break;
+
+ case PROP_REFERER:
+ g_value_set_string (value, priv->options.referer);
+ break;
+
+ case PROP_FOLLOW_LOCATION:
+ g_value_set_long (value, priv->options.follow_location);
+ break;
+
+ default:
+ /* We don't have any other property... */
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
+ break;
+ }
+}
+
+static void vik_routing_web_engine_class_init ( VikRoutingWebEngineClass *klass )
+{
+ GObjectClass *object_class;
+ VikRoutingEngineClass *parent_class;
+ GParamSpec *pspec = NULL;
+
+ object_class = G_OBJECT_CLASS (klass);
+
+ object_class->set_property = vik_routing_web_engine_set_property;
+ object_class->get_property = vik_routing_web_engine_get_property;
+ object_class->finalize = vik_routing_web_engine_finalize;
+
+ parent_class = VIK_ROUTING_ENGINE_CLASS (klass);
+
+ parent_class->find = vik_routing_web_engine_find;
+ parent_class->supports_direction = vik_routing_web_engine_supports_direction;
+ parent_class->get_cmd_from_directions = vik_routing_web_engine_get_cmd_from_directions;
+ parent_class->refine = vik_routing_web_engine_refine;
+ parent_class->supports_refine = vik_routing_web_engine_supports_refine;
+
+ /**
+ * VikRoutingWebEngine:url-base:
+ *
+ * The base URL of the routing engine.
+ */
+ pspec = g_param_spec_string ("url-base",
+ "URL's base",
+ "The base URL of the routing engine",
+ "<no-set>" /* default value */,
+ G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE);
+ g_object_class_install_property (object_class, PROP_URL_BASE, pspec);
+
+
+ /**
+ * VikRoutingWebEngine:url-start-ll:
+ *
+ * The part of the request hosting the end point.
+ */
+ pspec = g_param_spec_string ("url-start-ll",
+ "Start part of the URL",
+ "The part of the request hosting the start point",
+ "<no-set>" /* default value */,
+ G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE);
+ g_object_class_install_property (object_class, PROP_URL_START_LL, pspec);
+
+
+ /**
+ * VikRoutingWebEngine:url-stop-ll:
+ *
+ * The part of the request hosting the end point.
+ */
+ pspec = g_param_spec_string ("url-stop-ll",
+ "Stop part of the URL",
+ "The part of the request hosting the end point",
+ "<no-set>" /* default value */,
+ G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE);
+ g_object_class_install_property (object_class, PROP_URL_STOP_LL, pspec);
+
+
+ /**
+ * VikRoutingWebEngine:url-via-ll:
+ *
+ * The param of the request for setting a via point.
+ */
+ pspec = g_param_spec_string ("url-via-ll",
+ "Via part of the URL",
+ "The param of the request for setting a via point",
+ NULL /* default value */,
+ G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE);
+ g_object_class_install_property (object_class, PROP_URL_VIA_LL, pspec);
+
+
+ /**
+ * VikRoutingWebEngine:url-start-dir:
+ *
+ * The part of the request hosting the end point.
+ */
+ pspec = g_param_spec_string ("url-start-dir",
+ "Start part of the URL",
+ "The part of the request hosting the start point",
+ NULL /* default value */,
+ G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE);
+ g_object_class_install_property (object_class, PROP_URL_START_DIR, pspec);
+
+
+ /**
+ * VikRoutingWebEngine:url-stop-dir:
+ *
+ * The part of the request hosting the end point.
+ */
+ pspec = g_param_spec_string ("url-stop-dir",
+ "Stop part of the URL",
+ "The part of the request hosting the end point",
+ NULL /* default value */,
+ G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE);
+ g_object_class_install_property (object_class, PROP_URL_STOP_DIR, pspec);
+
+
+ /**
+ * VikRoutingWebEngine:referer:
+ *
+ * The REFERER string to use in HTTP request.
+ */
+ pspec = g_param_spec_string ("referer",
+ "Referer",
+ "The REFERER string to use in HTTP request",
+ NULL /* default value */,
+ G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE);
+ g_object_class_install_property (object_class, PROP_REFERER, pspec);
+
+
+ /**
+ * VikRoutingWebEngine:follow-location:
+ *
+ * Specifies the number of retries to follow a redirect while downloading a page.
+ */
+ pspec = g_param_spec_long ("follow-location",
+ "Follow location",
+ "Specifies the number of retries to follow a redirect while downloading a page",
+ 0 /* minimum value */,
+ G_MAXLONG /* maximum value */,
+ 2 /* default value */,
+ G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE);
+ g_object_class_install_property (object_class, PROP_FOLLOW_LOCATION, pspec);
+
+ g_type_class_add_private (klass, sizeof (VikRoutingWebEnginePrivate));
+}
+
+static void vik_routing_web_engine_init ( VikRoutingWebEngine *self )
+{
+ VikRoutingWebEnginePrivate *priv = VIK_ROUTING_WEB_ENGINE_PRIVATE ( self );
+
+ priv->url_base = NULL;
+
+ /* LatLon */
+ priv->url_start_ll_fmt = NULL;
+ priv->url_stop_ll_fmt = NULL;
+ priv->url_via_ll_fmt = NULL;
+
+ /* Directions */
+ priv->url_start_dir_fmt = NULL;
+ priv->url_stop_dir_fmt = NULL;
+
+ priv->options.referer = NULL;
+ priv->options.follow_location = 0;
+ priv->options.check_file = NULL;
+ priv->options.check_file_server_time = FALSE;
+ priv->options.use_etag = FALSE;
+}
+
+static void vik_routing_web_engine_finalize ( GObject *gob )
+{
+ VikRoutingWebEnginePrivate *priv = VIK_ROUTING_WEB_ENGINE_PRIVATE ( gob );
+
+ g_free (priv->url_base);
+ priv->url_base = NULL;
+
+ /* LatLon */
+ g_free (priv->url_start_ll_fmt);
+ priv->url_start_ll_fmt = NULL;
+ g_free (priv->url_stop_ll_fmt);
+ priv->url_stop_ll_fmt = NULL;
+ g_free (priv->url_via_ll_fmt);
+ priv->url_via_ll_fmt = NULL;
+
+ /* Directions */
+ g_free (priv->url_start_dir_fmt);
+ priv->url_start_dir_fmt = NULL;
+ g_free (priv->url_stop_dir_fmt);
+ priv->url_stop_dir_fmt = NULL;
+
+ g_free (priv->options.referer);
+ priv->options.referer = NULL;
+
+ G_OBJECT_CLASS (vik_routing_web_engine_parent_class)->finalize(gob);
+}
+
+static DownloadMapOptions *
+vik_routing_web_engine_get_download_options ( VikRoutingEngine *self )
+{
+ g_return_val_if_fail (VIK_IS_ROUTING_WEB_ENGINE(self), NULL);
+
+ VikRoutingWebEnginePrivate *priv = VIK_ROUTING_WEB_ENGINE_PRIVATE(self);
+
+ return &(priv->options);
+}
+
+static gchar *
+substitute_latlon ( const gchar *fmt, struct LatLon ll )
+{
+ gchar lat[G_ASCII_DTOSTR_BUF_SIZE], lon[G_ASCII_DTOSTR_BUF_SIZE];
+ gchar *substituted = g_strdup_printf(fmt,
+ g_ascii_dtostr (lat, G_ASCII_DTOSTR_BUF_SIZE, (gdouble) ll.lat),
+ g_ascii_dtostr (lon, G_ASCII_DTOSTR_BUF_SIZE, (gdouble) ll.lon));
+ return substituted;
+}
+
+static gchar *
+vik_routing_web_engine_get_url_for_coords ( VikRoutingEngine *self, struct LatLon start, struct LatLon end )
+{
+ gchar *startURL;
+ gchar *endURL;
+ gchar *url;
+
+ g_return_val_if_fail ( VIK_IS_ROUTING_WEB_ENGINE (self), NULL);
+
+ VikRoutingWebEnginePrivate *priv = VIK_ROUTING_WEB_ENGINE_PRIVATE ( self );
+
+ g_return_val_if_fail ( priv->url_base != NULL, NULL);
+ g_return_val_if_fail ( priv->url_start_ll_fmt != NULL, NULL);
+ g_return_val_if_fail ( priv->url_stop_ll_fmt != NULL, NULL);
+
+ startURL = substitute_latlon ( priv->url_start_ll_fmt, start );
+ endURL = substitute_latlon ( priv->url_stop_ll_fmt, end );
+ url = g_strconcat ( priv->url_base, startURL, endURL, NULL );
+
+ /* Free memory */
+ g_free ( startURL );
+ g_free ( endURL );
+
+ return url;
+}
+
+static int
+vik_routing_web_engine_find ( VikRoutingEngine *self, VikTrwLayer *vtl, struct LatLon start, struct LatLon end )
+{
+ gchar *uri;
+ int ret = 0; /* OK */
+
+ uri = vik_routing_web_engine_get_url_for_coords(self, start, end);
+
+ DownloadMapOptions *options = vik_routing_web_engine_get_download_options(self);
+
+ gchar *format = vik_routing_engine_get_format ( self );
+ a_babel_convert_from_url ( vtl, uri, format, NULL, NULL, options );
+
+ g_free(uri);
+
+ return ret;
+}
+
+static gchar *
+vik_routing_web_engine_get_cmd_from_directions ( VikRoutingEngine *self, const gchar *start, const gchar *end )
+{
+ g_return_val_if_fail ( VIK_IS_ROUTING_WEB_ENGINE (self), NULL);
+
+ VikRoutingWebEnginePrivate *priv = VIK_ROUTING_WEB_ENGINE_PRIVATE ( self );
+
+ g_return_val_if_fail ( priv->url_base != NULL, NULL);
+ g_return_val_if_fail ( priv->url_start_dir_fmt != NULL, NULL);
+ g_return_val_if_fail ( priv->url_stop_dir_fmt != NULL, NULL);
+
+ gchar *from_quoted, *to_quoted;
+ gchar **from_split, **to_split;
+ from_quoted = g_shell_quote ( start );
+ to_quoted = g_shell_quote ( end );
+
+ from_split = g_strsplit( from_quoted, " ", 0);
+ to_split = g_strsplit( to_quoted, " ", 0);
+
+ from_quoted = g_strjoinv( "%20", from_split);
+ to_quoted = g_strjoinv( "%20", to_split);
+
+ gchar *url_fmt = g_strconcat ( priv->url_base, priv->url_start_dir_fmt, priv->url_stop_dir_fmt, NULL );
+ gchar *url = g_strdup_printf ( url_fmt, from_quoted, to_quoted );
+
+ g_free ( url_fmt );
+
+ g_free(from_quoted);
+ g_free(to_quoted);
+ g_strfreev(from_split);
+ g_strfreev(to_split);
+
+ return url;
+}
+
+static gboolean
+vik_routing_web_engine_supports_direction ( VikRoutingEngine *self )
+{
+ g_return_val_if_fail ( VIK_IS_ROUTING_WEB_ENGINE (self), FALSE);
+
+ VikRoutingWebEnginePrivate *priv = VIK_ROUTING_WEB_ENGINE_PRIVATE ( self );
+
+ return (priv->url_start_dir_fmt) != NULL;
+}
+
+struct _append_ctx {
+ VikRoutingWebEnginePrivate *priv;
+ gchar **urlParts;
+ int nb;
+};
+
+static void
+_append_stringified_coords ( gpointer data, gpointer user_data )
+{
+ VikTrackpoint *vtp = (VikTrackpoint*)data;
+ struct _append_ctx *ctx = (struct _append_ctx*)user_data;
+
+ /* Stringify coordinate */
+ struct LatLon position;
+ vik_coord_to_latlon ( &(vtp->coord), &position );
+ gchar *string = substitute_latlon ( ctx->priv->url_via_ll_fmt, position );
+
+ /* Append */
+ ctx->urlParts[ctx->nb] = string;
+ ctx->nb++;
+}
+
+static gchar *
+vik_routing_web_engine_get_url_for_track ( VikRoutingEngine *self, VikTrack *vt )
+{
+ gchar **urlParts;
+ gchar *url;
+
+ VikRoutingWebEnginePrivate *priv = VIK_ROUTING_WEB_ENGINE_PRIVATE ( self );
+
+ g_return_val_if_fail ( priv->url_base != NULL, NULL );
+ g_return_val_if_fail ( priv->url_start_ll_fmt != NULL, NULL );
+ g_return_val_if_fail ( priv->url_stop_ll_fmt != NULL, NULL );
+ g_return_val_if_fail ( priv->url_via_ll_fmt != NULL, NULL );
+
+ /* Init temporary storage */
+ gsize len = 1 + g_list_length ( vt->trackpoints ) + 1; /* base + trackpoints + NULL */
+ urlParts = g_malloc ( sizeof(gchar*)*len );
+ urlParts[0] = g_strdup ( priv->url_base );
+ urlParts[len-1] = NULL;
+
+ struct _append_ctx ctx;
+ ctx.priv = priv;
+ ctx.urlParts = urlParts;
+ ctx.nb = 1; /* First cell available, previous used for base URL */
+
+ /* Append all trackpoints to URL */
+ g_list_foreach ( vt->trackpoints, _append_stringified_coords, &ctx );
+
+ /* Override first and last positions with associated formats */
+ struct LatLon position;
+ VikTrackpoint *vtp;
+ g_free ( urlParts[1] );
+ vtp = g_list_first ( vt->trackpoints )->data;
+ vik_coord_to_latlon ( &(vtp->coord ), &position );
+ urlParts[1] = substitute_latlon ( priv->url_start_ll_fmt, position );
+ g_free ( urlParts[len-2] );
+ vtp = g_list_last ( vt->trackpoints )->data;
+ vik_coord_to_latlon ( &(vtp->coord), &position );
+ urlParts[len-2] = substitute_latlon ( priv->url_stop_ll_fmt, position );
+
+ /* Concat */
+ url = g_strjoinv ( NULL, urlParts );
+ g_debug ( "%s: %s", __FUNCTION__, url );
+
+ /* Free */
+ g_strfreev ( urlParts );
+
+ return url;
+}
+
+static int
+vik_routing_web_engine_refine ( VikRoutingEngine *self, VikTrwLayer *vtl, VikTrack *vt )
+{
+ gchar *uri;
+ int ret = 0; /* OK */
+
+ /* Compute URL */
+ uri = vik_routing_web_engine_get_url_for_track ( self, vt );
+
+ /* Download data */
+ DownloadMapOptions *options = vik_routing_web_engine_get_download_options ( self );
+
+ /* Convert and insert data in model */
+ gchar *format = vik_routing_engine_get_format ( self );
+ a_babel_convert_from_url ( vtl, uri, format, NULL, NULL, options );
+
+ g_free(uri);
+
+ return ret;
+}
+
+static gboolean
+vik_routing_web_engine_supports_refine ( VikRoutingEngine *self )
+{
+ g_return_val_if_fail ( VIK_IS_ROUTING_WEB_ENGINE (self), FALSE);
+
+ VikRoutingWebEnginePrivate *priv = VIK_ROUTING_WEB_ENGINE_PRIVATE ( self );
+
+ return priv->url_via_ll_fmt != NULL;
+}
diff --git a/src/vikroutingwebengine.h b/src/vikroutingwebengine.h
new file mode 100644
index 0000000..a8300b8
--- /dev/null
+++ b/src/vikroutingwebengine.h
@@ -0,0 +1,54 @@
+/*
+ * viking -- GPS Data and Topo Analyzer, Explorer, and Manager
+ *
+ * Copyright (C) 2012-2013, Guilhem Bonnefille <guilhem.bonnefille@gmail.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ */
+#ifndef _WEB_ROUTING_H
+#define _WEB_ROUTING_H
+
+#include <glib.h>
+
+#include "vikroutingengine.h"
+
+G_BEGIN_DECLS
+
+#define VIK_ROUTING_WEB_ENGINE_TYPE (vik_routing_web_engine_get_type ())
+#define VIK_ROUTING_WEB_ENGINE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VIK_ROUTING_WEB_ENGINE_TYPE, VikRoutingWebEngine))
+#define VIK_ROUTING_WEB_ENGINE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VIK_ROUTING_WEB_ENGINE_TYPE, VikRoutingWebEngineClass))
+#define VIK_IS_ROUTING_WEB_ENGINE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VIK_ROUTING_WEB_ENGINE_TYPE))
+#define VIK_IS_ROUTING_WEB_ENGINE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VIK_ROUTING_WEB_ENGINE_TYPE))
+#define VIK_ROUTING_WEB_ENGINE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VIK_ROUTING_WEB_ENGINE_TYPE, VikRoutingWebEngineClass))
+
+
+typedef struct _VikRoutingWebEngine VikRoutingWebEngine;
+typedef struct _VikRoutingWebEngineClass VikRoutingWebEngineClass;
+
+struct _VikRoutingWebEngineClass
+{
+ VikRoutingEngineClass object_class;
+};
+
+GType vik_routing_web_engine_get_type ();
+
+struct _VikRoutingWebEngine {
+ VikRoutingEngine obj;
+};
+
+G_END_DECLS
+
+#endif
diff --git a/src/vikslippymapsource.c b/src/vikslippymapsource.c
index 1287abf..0bae6f8 100644
--- a/src/vikslippymapsource.c
+++ b/src/vikslippymapsource.c
@@ -51,6 +51,7 @@
#include "globals.h"
#include "vikslippymapsource.h"
+#include "maputils.h"
static gboolean _coord_to_mapcoord ( VikMapSource *self, const VikCoord *src, gdouble xzoom, gdouble yzoom, MapCoord *dest );
static void _mapcoord_to_center_coord ( VikMapSource *self, MapCoord *src, VikCoord *dest );
@@ -299,36 +300,7 @@ vik_slippy_map_source_class_init (VikSlippyMapSourceClass *klass)
object_class->finalize = vik_slippy_map_source_finalize;
}
-/* 1 << (x) is like a 2**(x) */
-#define GZ(x) ((1<<(x)))
-
-static const gdouble scale_mpps[] = { GZ(0), GZ(1), GZ(2), GZ(3), GZ(4), GZ(5), GZ(6), GZ(7), GZ(8), GZ(9),
- GZ(10), GZ(11), GZ(12), GZ(13), GZ(14), GZ(15), GZ(16), GZ(17) };
-
-static const gint num_scales = (sizeof(scale_mpps) / sizeof(scale_mpps[0]));
-
-static const gdouble scale_neg_mpps[] = { 1.0/GZ(0), 1.0/GZ(1), 1.0/GZ(2), 1.0/GZ(3) };
-static const gint num_scales_neg = (sizeof(scale_neg_mpps) / sizeof(scale_neg_mpps[0]));
-
-#define ERROR_MARGIN 0.01
-gint
-vik_slippy_map_source_zoom_to_scale ( gdouble mpp ) {
- gint i;
- for ( i = 0; i < num_scales; i++ ) {
- if ( ABS(scale_mpps[i] - mpp) < ERROR_MARGIN ) {
- return i;
- }
- }
- for ( i = 0; i < num_scales_neg; i++ ) {
- if ( ABS(scale_neg_mpps[i] - mpp) < 0.000001 ) {
- return -i;
- }
- }
-
- return 255;
-}
-
-gboolean
+static gboolean
_is_direct_file_access (VikMapSource *self)
{
g_return_val_if_fail (VIK_IS_SLIPPY_MAP_SOURCE(self), FALSE);
@@ -338,7 +310,7 @@ _is_direct_file_access (VikMapSource *self)
return priv->is_direct_file_access;
}
-gboolean
+static gboolean
_supports_download_only_new (VikMapSource *self)
{
g_return_val_if_fail (VIK_IS_SLIPPY_MAP_SOURCE(self), FALSE);
@@ -356,12 +328,12 @@ _coord_to_mapcoord ( VikMapSource *self, const VikCoord *src, gdouble xzoom, gdo
if ( xzoom != yzoom )
return FALSE;
- dest->scale = vik_slippy_map_source_zoom_to_scale ( xzoom );
+ dest->scale = map_utils_mpp_to_scale ( xzoom );
if ( dest->scale == 255 )
return FALSE;
- dest->x = (src->east_west + 180) / 360 * GZ(17) / xzoom;
- dest->y = (180 - MERCLAT(src->north_south)) / 360 * GZ(17) / xzoom;
+ dest->x = (src->east_west + 180) / 360 * VIK_GZ(17) / xzoom;
+ dest->y = (180 - MERCLAT(src->north_south)) / 360 * VIK_GZ(17) / xzoom;
dest->z = 0;
return TRUE;
@@ -372,12 +344,12 @@ _mapcoord_to_center_coord ( VikMapSource *self, MapCoord *src, VikCoord *dest )
{
gdouble socalled_mpp;
if (src->scale >= 0)
- socalled_mpp = GZ(src->scale);
+ socalled_mpp = VIK_GZ(src->scale);
else
- socalled_mpp = 1.0/GZ(-src->scale);
+ socalled_mpp = 1.0/VIK_GZ(-src->scale);
dest->mode = VIK_COORD_LATLON;
- dest->east_west = ((src->x+0.5) / GZ(17) * socalled_mpp * 360) - 180;
- dest->north_south = DEMERCLAT(180 - ((src->y+0.5) / GZ(17) * socalled_mpp * 360));
+ dest->east_west = ((src->x+0.5) / VIK_GZ(17) * socalled_mpp * 360) - 180;
+ dest->north_south = DEMERCLAT(180 - ((src->y+0.5) / VIK_GZ(17) * socalled_mpp * 360));
}
static gchar *
diff --git a/src/vikslippymapsource.h b/src/vikslippymapsource.h
index ef7f702..9ec2b05 100644
--- a/src/vikslippymapsource.h
+++ b/src/vikslippymapsource.h
@@ -5,7 +5,7 @@
*
* viking is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
- * Free Software Foundation, either version 3 of the License, or
+ * Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* viking is distributed in the hope that it will be useful, but
@@ -20,6 +20,8 @@
#ifndef _VIK_SLIPPY_MAP_SOURCE_H
#define _VIK_SLIPPY_MAP_SOURCE_H
+#include <glib.h>
+
#include "vikcoord.h"
#include "mapcoord.h"
#include "vikmapsourcedefault.h"
diff --git a/src/vikstatus.c b/src/vikstatus.c
index 49e3ac2..35b745e 100644
--- a/src/vikstatus.c
+++ b/src/vikstatus.c
@@ -30,6 +30,7 @@
#include <math.h>
#include "vikstatus.h"
+#include "background.h"
enum
{
@@ -48,14 +49,18 @@ G_DEFINE_TYPE (VikStatusbar, vik_statusbar, GTK_TYPE_HBOX)
static guint vik_statusbar_signals[LAST_SIGNAL] = { 0 };
static gint
-forward_signal (GtkObject *object, gpointer user_data)
+forward_signal (GObject *object, gpointer user_data)
{
- gint item = GPOINTER_TO_INT (gtk_object_get_data ( object, "type" ));
+ gint item = GPOINTER_TO_INT (g_object_get_data ( object, "type" ));
VikStatusbar *vs = VIK_STATUSBAR (user_data);
- g_signal_emit (G_OBJECT (vs),
- vik_statusbar_signals[CLICKED], 0,
- item);
+ // Clicking on the items field will bring up the background jobs window
+ if ( item == VIK_STATUSBAR_ITEMS )
+ a_background_show_window();
+ else
+ g_signal_emit (G_OBJECT (vs),
+ vik_statusbar_signals[CLICKED], 0,
+ item);
return TRUE;
}
@@ -84,19 +89,22 @@ vik_statusbar_init (VikStatusbar *vs)
for ( i = 0; i < VIK_STATUSBAR_NUM_TYPES; i++ ) {
vs->empty[i] = TRUE;
- if (i == VIK_STATUSBAR_ZOOM)
+ if (i == VIK_STATUSBAR_ITEMS || i == VIK_STATUSBAR_ZOOM )
vs->status[i] = gtk_button_new();
else
{
vs->status[i] = gtk_statusbar_new();
gtk_statusbar_set_has_resize_grip ( GTK_STATUSBAR(vs->status[i]), FALSE );
}
- gtk_object_set_data (GTK_OBJECT (vs->status[i]), "type", GINT_TO_POINTER(i));
+ g_object_set_data (G_OBJECT (vs->status[i]), "type", GINT_TO_POINTER(i));
}
gtk_box_pack_start ( GTK_BOX(vs), vs->status[VIK_STATUSBAR_TOOL], FALSE, FALSE, 1);
gtk_widget_set_size_request ( vs->status[VIK_STATUSBAR_TOOL], 125, -1 );
+ g_signal_connect ( G_OBJECT(vs->status[VIK_STATUSBAR_ITEMS]), "clicked", G_CALLBACK (forward_signal), vs);
+ gtk_button_set_relief ( GTK_BUTTON(vs->status[VIK_STATUSBAR_ITEMS]), GTK_RELIEF_NONE );
+ gtk_widget_set_tooltip_text (GTK_WIDGET (vs->status[VIK_STATUSBAR_ITEMS]), _("Current number of background tasks. Click to see the background jobs."));
gtk_box_pack_start ( GTK_BOX(vs), vs->status[VIK_STATUSBAR_ITEMS], FALSE, FALSE, 1);
gtk_widget_set_size_request ( vs->status[VIK_STATUSBAR_ITEMS], 100, -1 );
@@ -145,7 +153,7 @@ vik_statusbar_set_message ( VikStatusbar *vs, vik_statusbar_type_t field, const
{
if ( field >= 0 && field < VIK_STATUSBAR_NUM_TYPES )
{
- if ( field == VIK_STATUSBAR_ZOOM )
+ if ( field == VIK_STATUSBAR_ITEMS || field == VIK_STATUSBAR_ZOOM )
{
gtk_button_set_label ( GTK_BUTTON(vs->status[field]), message);
}
diff --git a/src/viktmsmapsource.c b/src/viktmsmapsource.c
index e3bef9f..fefa175 100644
--- a/src/viktmsmapsource.c
+++ b/src/viktmsmapsource.c
@@ -5,7 +5,7 @@
*
* viking is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
- * Free Software Foundation, either version 3 of the License, or
+ * Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* viking is distributed in the hope that it will be useful, but
@@ -43,6 +43,7 @@
#include "globals.h"
#include "viktmsmapsource.h"
+#include "maputils.h"
static gboolean _coord_to_mapcoord ( VikMapSource *self, const VikCoord *src, gdouble xzoom, gdouble yzoom, MapCoord *dest );
static void _mapcoord_to_center_coord ( VikMapSource *self, MapCoord *src, VikCoord *dest );
@@ -255,34 +256,6 @@ vik_tms_map_source_class_init (VikTmsMapSourceClass *klass)
object_class->finalize = vik_tms_map_source_finalize;
}
-/* 1 << (x) is like a 2**(x) */
-#define GZ(x) ((1<<(x)))
-
-static const gdouble scale_mpps[] = { GZ(0), GZ(1), GZ(2), GZ(3), GZ(4), GZ(5), GZ(6), GZ(7), GZ(8), GZ(9),
- GZ(10), GZ(11), GZ(12), GZ(13), GZ(14), GZ(15), GZ(16), GZ(17) };
-
-static const gint num_scales = (sizeof(scale_mpps) / sizeof(scale_mpps[0]));
-
-static const gdouble scale_neg_mpps[] = { 1.0/GZ(0), 1.0/GZ(1), 1.0/GZ(2), 1.0/GZ(3) };
-static const gint num_scales_neg = (sizeof(scale_neg_mpps) / sizeof(scale_neg_mpps[0]));
-
-#define ERROR_MARGIN 0.01
-static gint tms_zoom ( gdouble mpp ) {
- gint i;
- for ( i = 0; i < num_scales; i++ ) {
- if ( ABS(scale_mpps[i] - mpp) < ERROR_MARGIN ) {
- return i;
- }
- }
- for ( i = 0; i < num_scales_neg; i++ ) {
- if ( ABS(scale_neg_mpps[i] - mpp) < 0.000001 ) {
- return -i;
- }
- }
-
- return 255;
-}
-
static gboolean
_is_direct_file_access ( VikMapSource *self )
{
@@ -307,18 +280,18 @@ _coord_to_mapcoord ( VikMapSource *self, const VikCoord *src, gdouble xzoom, gdo
if ( xzoom != yzoom )
return FALSE;
- dest->scale = tms_zoom ( xzoom );
+ dest->scale = map_utils_mpp_to_scale ( xzoom );
if ( dest->scale == 255 )
return FALSE;
- /* Note : GZ(17) / xzoom / 2 = number of tile on Y axis */
+ /* Note : VIK_GZ(17) / xzoom / 2 = number of tile on Y axis */
g_debug("%s: xzoom=%f yzoom=%f -> %f", __FUNCTION__,
- xzoom, yzoom, GZ(17) / xzoom / 2);
- dest->x = floor((src->east_west + 180) / 180 * GZ(17) / xzoom / 2);
+ xzoom, yzoom, VIK_GZ(17) / xzoom / 2);
+ dest->x = floor((src->east_west + 180) / 180 * VIK_GZ(17) / xzoom / 2);
/* We should restore logic of viking:
* tile index on Y axis follow a screen logic (top -> down)
*/
- dest->y = floor((180 - (src->north_south + 90)) / 180 * GZ(17) / xzoom / 2);
+ dest->y = floor((180 - (src->north_south + 90)) / 180 * VIK_GZ(17) / xzoom / 2);
dest->z = 0;
g_debug("%s: %f,%f -> %d,%d", __FUNCTION__,
src->east_west, src->north_south, dest->x, dest->y);
@@ -330,15 +303,15 @@ _mapcoord_to_center_coord ( VikMapSource *self, MapCoord *src, VikCoord *dest )
{
gdouble socalled_mpp;
if (src->scale >= 0)
- socalled_mpp = GZ(src->scale);
+ socalled_mpp = VIK_GZ(src->scale);
else
- socalled_mpp = 1.0/GZ(-src->scale);
+ socalled_mpp = 1.0/VIK_GZ(-src->scale);
dest->mode = VIK_COORD_LATLON;
- dest->east_west = (src->x+0.5) * 180 / GZ(17) * socalled_mpp * 2 - 180;
+ dest->east_west = (src->x+0.5) * 180 / VIK_GZ(17) * socalled_mpp * 2 - 180;
/* We should restore logic of viking:
* tile index on Y axis follow a screen logic (top -> down)
*/
- dest->north_south = -((src->y+0.5) * 180 / GZ(17) * socalled_mpp * 2 - 90);
+ dest->north_south = -((src->y+0.5) * 180 / VIK_GZ(17) * socalled_mpp * 2 - 90);
g_debug("%s: %d,%d -> %f,%f", __FUNCTION__,
src->x, src->y, dest->east_west, dest->north_south);
}
@@ -354,7 +327,7 @@ _get_uri( VikMapSourceDefault *self, MapCoord *src )
*/
/* Note : nb tiles on Y axis */
- gint nb_tiles = GZ(17 - src->scale - 1);
+ gint nb_tiles = VIK_GZ(17 - src->scale - 1);
gchar *uri = g_strdup_printf (priv->url, 17 - src->scale - 1, src->x, nb_tiles - src->y - 1);
diff --git a/src/viktmsmapsource.h b/src/viktmsmapsource.h
index 5b8d179..354067d 100644
--- a/src/viktmsmapsource.h
+++ b/src/viktmsmapsource.h
@@ -5,7 +5,7 @@
*
* viking is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
- * Free Software Foundation, either version 3 of the License, or
+ * Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* viking is distributed in the hope that it will be useful, but
diff --git a/src/viktrack.c b/src/viktrack.c
index 5d612f4..39b5632 100644
--- a/src/viktrack.c
+++ b/src/viktrack.c
@@ -38,6 +38,7 @@
#include "viktrack.h"
#include "globals.h"
#include "dems.h"
+#include "settings.h"
VikTrack *vik_track_new()
{
@@ -46,6 +47,26 @@ VikTrack *vik_track_new()
return tr;
}
+#define VIK_SETTINGS_TRACK_NAME_MODE "track_draw_name_mode"
+#define VIK_SETTINGS_TRACK_NUM_DIST_LABELS "track_number_dist_labels"
+
+/**
+ * vik_track_set_defaults:
+ *
+ * Set some default values for a track.
+ * ATM This uses the 'settings' method to get values,
+ * so there is no GUI way to control these yet...
+ */
+void vik_track_set_defaults(VikTrack *tr)
+{
+ gint tmp;
+ if ( a_settings_get_integer ( VIK_SETTINGS_TRACK_NAME_MODE, &tmp ) )
+ tr->draw_name_mode = tmp;
+
+ if ( a_settings_get_integer ( VIK_SETTINGS_TRACK_NUM_DIST_LABELS, &tmp ) )
+ tr->max_number_dist_labels = tmp;
+}
+
void vik_track_set_comment_no_copy(VikTrack *tr, gchar *comment)
{
if ( tr->comment )
@@ -111,7 +132,7 @@ void vik_track_free(VikTrack *tr)
g_free ( tr->comment );
if ( tr->description )
g_free ( tr->description );
- g_list_foreach ( tr->trackpoints, (GFunc) g_free, NULL );
+ g_list_foreach ( tr->trackpoints, (GFunc) vik_trackpoint_free, NULL );
g_list_free( tr->trackpoints );
if (tr->property_dialog)
if ( GTK_IS_WIDGET(tr->property_dialog) )
@@ -132,22 +153,26 @@ void vik_track_free(VikTrack *tr)
VikTrack *vik_track_copy ( const VikTrack *tr, gboolean copy_points )
{
VikTrack *new_tr = vik_track_new();
- VikTrackpoint *new_tp;
- GList *tp_iter = tr->trackpoints;
+ new_tr->name = g_strdup(tr->name);
new_tr->visible = tr->visible;
new_tr->is_route = tr->is_route;
+ new_tr->draw_name_mode = tr->draw_name_mode;
+ new_tr->max_number_dist_labels = tr->max_number_dist_labels;
new_tr->has_color = tr->has_color;
new_tr->color = tr->color;
+ new_tr->bbox = tr->bbox;
new_tr->trackpoints = NULL;
if ( copy_points )
{
+ GList *tp_iter = tr->trackpoints;
while ( tp_iter )
{
- new_tp = g_malloc ( sizeof ( VikTrackpoint ) );
- *new_tp = *((VikTrackpoint *)(tp_iter->data));
- new_tr->trackpoints = g_list_append ( new_tr->trackpoints, new_tp );
+ VikTrackpoint *new_tp = vik_trackpoint_copy ( (VikTrackpoint*)(tp_iter->data) );
+ new_tr->trackpoints = g_list_prepend ( new_tr->trackpoints, new_tp );
tp_iter = tp_iter->next;
}
+ if ( new_tr->trackpoints )
+ new_tr->trackpoints = g_list_reverse ( new_tr->trackpoints );
}
vik_track_set_name(new_tr,tr->name);
vik_track_set_comment(new_tr,tr->comment);
@@ -169,14 +194,104 @@ VikTrackpoint *vik_trackpoint_new()
void vik_trackpoint_free(VikTrackpoint *tp)
{
+ g_free(tp->name);
g_free(tp);
}
+void vik_trackpoint_set_name(VikTrackpoint *tp, const gchar *name)
+{
+ if ( tp->name )
+ g_free ( tp->name );
+
+ // If the name is blank then completely remove it
+ if ( name && name[0] == '\0' )
+ tp->name = NULL;
+ else if ( name )
+ tp->name = g_strdup(name);
+ else
+ tp->name = NULL;
+}
+
VikTrackpoint *vik_trackpoint_copy(VikTrackpoint *tp)
{
- VikTrackpoint *rv = vik_trackpoint_new();
- *rv = *tp;
- return rv;
+ VikTrackpoint *new_tp = vik_trackpoint_new();
+ memcpy ( new_tp, tp, sizeof(VikTrackpoint) );
+ if ( tp->name )
+ new_tp->name = g_strdup (tp->name);
+ return new_tp;
+}
+
+/**
+ * track_recalculate_bounds_last_tp:
+ * @trk: The track to consider the recalculation on
+ *
+ * A faster bounds check, since it only considers the last track point
+ */
+static void track_recalculate_bounds_last_tp ( VikTrack *trk )
+{
+ GList *tpl = g_list_last ( trk->trackpoints );
+
+ if ( tpl ) {
+ struct LatLon ll;
+ // See if this trackpoint increases the track bounds and update if so
+ vik_coord_to_latlon ( &(VIK_TRACKPOINT(tpl->data)->coord), &ll );
+ if ( ll.lat > trk->bbox.north )
+ trk->bbox.north = ll.lat;
+ if ( ll.lon < trk->bbox.west )
+ trk->bbox.west = ll.lon;
+ if ( ll.lat < trk->bbox.south )
+ trk->bbox.south = ll.lat;
+ if ( ll.lon > trk->bbox.east )
+ trk->bbox.east = ll.lon;
+ }
+}
+
+/**
+ * vik_track_add_trackpoint:
+ * @tr: The track to which the trackpoint will be added
+ * @tp: The trackpoint to add
+ * @recalculate: Whether to perform any associated properties recalculations
+ * Generally one should avoid recalculation via this method if adding lots of points
+ * (But ensure calculate_bounds() is called after adding all points!!)
+ *
+ * The trackpoint is added to the end of the existing trackpoint list
+ */
+void vik_track_add_trackpoint ( VikTrack *tr, VikTrackpoint *tp, gboolean recalculate )
+{
+ tr->trackpoints = g_list_append ( tr->trackpoints, tp );
+ if ( recalculate )
+ track_recalculate_bounds_last_tp ( tr );
+}
+
+/**
+ * vik_track_get_length_to_trackpoint:
+ *
+ */
+gdouble vik_track_get_length_to_trackpoint (const VikTrack *tr, const VikTrackpoint *tp)
+{
+ gdouble len = 0.0;
+ if ( tr->trackpoints )
+ {
+ // Is it the very first track point?
+ if ( VIK_TRACKPOINT(tr->trackpoints->data) == tp )
+ return len;
+
+ GList *iter = tr->trackpoints->next;
+ while (iter)
+ {
+ VikTrackpoint *tp1 = VIK_TRACKPOINT(iter->data);
+ if ( ! tp1->newsegment )
+ len += vik_coord_diff ( &(tp1->coord),
+ &(VIK_TRACKPOINT(iter->prev->data)->coord) );
+
+ // Exit when we reach the desired point
+ if ( tp1 == tp )
+ break;
+
+ iter = iter->next;
+ }
+ }
+ return len;
}
gdouble vik_track_get_length(const VikTrack *tr)
@@ -214,14 +329,7 @@ gdouble vik_track_get_length_including_gaps(const VikTrack *tr)
gulong vik_track_get_tp_count(const VikTrack *tr)
{
- gulong num = 0;
- GList *iter = tr->trackpoints;
- while ( iter )
- {
- num++;
- iter = iter->next;
- }
- return num;
+ return g_list_length(tr->trackpoints);
}
gulong vik_track_get_dup_point_count ( const VikTrack *tr )
@@ -262,6 +370,10 @@ gulong vik_track_remove_dup_points ( VikTrack *tr )
else
iter = iter->next;
}
+
+ // NB isn't really be necessary as removing duplicate points shouldn't alter the bounds!
+ vik_track_calculate_bounds ( tr );
+
return num;
}
@@ -312,6 +424,9 @@ gulong vik_track_remove_same_time_points ( VikTrack *tr )
else
iter = iter->next;
}
+
+ vik_track_calculate_bounds ( tr );
+
return num;
}
@@ -382,6 +497,9 @@ VikTrack **vik_track_split_into_segments(VikTrack *t, guint *ret_len)
iter->prev = NULL;
rv[i] = vik_track_copy ( tr, FALSE );
rv[i]->trackpoints = iter;
+
+ vik_track_calculate_bounds ( rv[i] );
+
i++;
}
}
@@ -415,11 +533,13 @@ guint vik_track_merge_segments(VikTrack *tr)
void vik_track_reverse ( VikTrack *tr )
{
- GList *iter;
+ if ( ! tr->trackpoints )
+ return;
+
tr->trackpoints = g_list_reverse(tr->trackpoints);
/* fix 'newsegment' */
- iter = g_list_last ( tr->trackpoints );
+ GList *iter = g_list_last ( tr->trackpoints );
while ( iter )
{
if ( ! iter->next ) /* last segment, was first, cancel newsegment. */
@@ -1034,6 +1154,55 @@ gdouble *vik_track_make_speed_dist_map ( const VikTrack *tr, guint16 num_chunks
return v;
}
+/**
+ * vik_track_get_tp_by_dist:
+ * @trk: The Track on which to find a Trackpoint
+ * @meters_from_start: The distance along a track that the trackpoint returned is near
+ * @get_next_point: Since there is a choice of trackpoints, this determines which one to return
+ * @tp_metres_from_start: For the returned Trackpoint, returns the distance along the track
+ *
+ * TODO: Consider changing the boolean get_next_point into an enum with these options PREVIOUS, NEXT, NEAREST
+ *
+ * Returns: The #VikTrackpoint fitting the criteria or NULL
+ */
+VikTrackpoint *vik_track_get_tp_by_dist ( VikTrack *trk, gdouble meters_from_start, gboolean get_next_point, gdouble *tp_metres_from_start )
+{
+ gdouble current_dist = 0.0;
+ gdouble current_inc = 0.0;
+ if ( tp_metres_from_start )
+ *tp_metres_from_start = 0.0;
+
+ if ( trk->trackpoints ) {
+ GList *iter = g_list_next ( g_list_first ( trk->trackpoints ) );
+ while (iter) {
+ current_inc = vik_coord_diff ( &(VIK_TRACKPOINT(iter->data)->coord),
+ &(VIK_TRACKPOINT(iter->prev->data)->coord) );
+ current_dist += current_inc;
+ if ( current_dist >= meters_from_start )
+ break;
+ iter = g_list_next ( iter );
+ }
+ // passed the end of the track
+ if ( !iter )
+ return NULL;
+
+ if ( tp_metres_from_start )
+ *tp_metres_from_start = current_dist;
+
+ // we've gone past the distance already, is the previous trackpoint wanted?
+ if ( !get_next_point ) {
+ if ( iter->prev ) {
+ if ( tp_metres_from_start )
+ *tp_metres_from_start = current_dist-current_inc;
+ return VIK_TRACKPOINT(iter->prev->data);
+ }
+ }
+ return VIK_TRACKPOINT(iter->data);
+ }
+
+ return NULL;
+}
+
/* by Alex Foobarian */
VikTrackpoint *vik_track_get_closest_tp_by_percentage_dist ( VikTrack *tr, gdouble reldist, gdouble *meters_from_start )
{
@@ -1232,22 +1401,23 @@ void vik_track_marshall ( VikTrack *tr, guint8 **data, guint *datalen)
intp = b->len;
g_byte_array_append(b, (guint8 *)&len, sizeof(len));
+ // This allocates space for variant sized strings
+ // and copies that amount of data from the track to byte array
+#define vtm_append(s) \
+ len = (s) ? strlen(s)+1 : 0; \
+ g_byte_array_append(b, (guint8 *)&len, sizeof(len)); \
+ if (s) g_byte_array_append(b, (guint8 *)s, len);
+
tps = tr->trackpoints;
ntp = 0;
while (tps) {
g_byte_array_append(b, (guint8 *)tps->data, sizeof(VikTrackpoint));
+ vtm_append(VIK_TRACKPOINT(tps->data)->name);
tps = tps->next;
ntp++;
}
*(guint *)(b->data + intp) = ntp;
- // This allocates space for variant sized strings
- // and copies that amount of data from the track to byte array
-#define vtm_append(s) \
- len = (s) ? strlen(s)+1 : 0; \
- g_byte_array_append(b, (guint8 *)&len, sizeof(len)); \
- if (s) g_byte_array_append(b, (guint8 *)s, len);
-
vtm_append(tr->name);
vtm_append(tr->comment);
vtm_append(tr->description);
@@ -1271,21 +1441,17 @@ VikTrack *vik_track_unmarshall (guint8 *data, guint datalen)
/* basic properties: */
new_tr->visible = ((VikTrack *)data)->visible;
new_tr->is_route = ((VikTrack *)data)->is_route;
+ new_tr->draw_name_mode = ((VikTrack *)data)->draw_name_mode;
+ new_tr->max_number_dist_labels = ((VikTrack *)data)->max_number_dist_labels;
new_tr->has_color = ((VikTrack *)data)->has_color;
new_tr->color = ((VikTrack *)data)->color;
+ new_tr->bbox = ((VikTrack *)data)->bbox;
data += sizeof(*new_tr);
ntp = *(guint *)data;
data += sizeof(ntp);
- for (i=0; i<ntp; i++) {
- new_tp = vik_trackpoint_new();
- memcpy(new_tp, data, sizeof(*new_tp));
- data += sizeof(*new_tp);
- new_tr->trackpoints = g_list_append(new_tr->trackpoints, new_tp);
- }
-
#define vtu_get(s) \
len = *(guint *)data; \
data += sizeof(len); \
@@ -1296,6 +1462,16 @@ VikTrack *vik_track_unmarshall (guint8 *data, guint datalen)
} \
data += len;
+ for (i=0; i<ntp; i++) {
+ new_tp = vik_trackpoint_new();
+ memcpy(new_tp, data, sizeof(*new_tp));
+ data += sizeof(*new_tp);
+ vtu_get(new_tp->name);
+ new_tr->trackpoints = g_list_prepend(new_tr->trackpoints, new_tp);
+ }
+ if ( new_tr->trackpoints )
+ new_tr->trackpoints = g_list_reverse(new_tr->trackpoints);
+
vtu_get(new_tr->name);
vtu_get(new_tr->comment);
vtu_get(new_tr->description);
@@ -1303,25 +1479,108 @@ VikTrack *vik_track_unmarshall (guint8 *data, guint datalen)
return new_tr;
}
-void vik_track_apply_dem_data ( VikTrack *tr )
+/**
+ * (Re)Calculate the bounds of the given track,
+ * updating the track's bounds data.
+ * This should be called whenever a track's trackpoints are changed
+ */
+void vik_track_calculate_bounds ( VikTrack *trk )
+{
+ GList *tp_iter;
+ tp_iter = trk->trackpoints;
+
+ struct LatLon topleft, bottomright, ll;
+
+ // Set bounds to first point
+ if ( tp_iter ) {
+ vik_coord_to_latlon ( &(VIK_TRACKPOINT(tp_iter->data)->coord), &topleft );
+ vik_coord_to_latlon ( &(VIK_TRACKPOINT(tp_iter->data)->coord), &bottomright );
+ }
+ while ( tp_iter ) {
+
+ // See if this trackpoint increases the track bounds.
+
+ vik_coord_to_latlon ( &(VIK_TRACKPOINT(tp_iter->data)->coord), &ll );
+
+ if ( ll.lat > topleft.lat) topleft.lat = ll.lat;
+ if ( ll.lon < topleft.lon) topleft.lon = ll.lon;
+ if ( ll.lat < bottomright.lat) bottomright.lat = ll.lat;
+ if ( ll.lon > bottomright.lon) bottomright.lon = ll.lon;
+
+ tp_iter = tp_iter->next;
+ }
+
+ g_debug ( "Bounds of track: '%s' is: %f,%f to: %f,%f", trk->name, topleft.lat, topleft.lon, bottomright.lat, bottomright.lon );
+
+ trk->bbox.north = topleft.lat;
+ trk->bbox.east = bottomright.lon;
+ trk->bbox.south = bottomright.lat;
+ trk->bbox.west = topleft.lon;
+}
+
+/**
+ * vik_track_anonymize_times:
+ *
+ * Shift all timestamps to be relatively offset from 1901-01-01
+ */
+void vik_track_anonymize_times ( VikTrack *tr )
{
+ GTimeVal gtv;
+ g_time_val_from_iso8601 ( "1901-01-01T00:00:00Z", &gtv );
+
+ time_t anon_timestamp = gtv.tv_sec;
+ time_t offset = 0;
+
+ GList *tp_iter;
+ tp_iter = tr->trackpoints;
+ while ( tp_iter ) {
+ VikTrackpoint *tp = VIK_TRACKPOINT(tp_iter->data);
+ if ( tp->has_timestamp ) {
+ // Calculate an offset in time using the first available timestamp
+ if ( offset == 0 )
+ offset = tp->timestamp - anon_timestamp;
+
+ // Apply this offset to shift all timestamps towards 1901 & hence anonymising the time
+ // Note that the relative difference between timestamps is kept - thus calculating speeds will still work
+ tp->timestamp = tp->timestamp - offset;
+ }
+ tp_iter = tp_iter->next;
+ }
+}
+
+
+/**
+ * vik_track_apply_dem_data:
+ * @skip_existing: When TRUE, don't change the elevation if the trackpoint already has a value
+ *
+ * Set elevation data for a track using any available DEM information
+ */
+gulong vik_track_apply_dem_data ( VikTrack *tr, gboolean skip_existing )
+{
+ gulong num = 0;
GList *tp_iter;
gint16 elev;
tp_iter = tr->trackpoints;
while ( tp_iter ) {
- /* TODO: of the 4 possible choices we have for choosing an elevation
- * (trackpoint in between samples), choose the one with the least elevation change
- * as the last */
- elev = a_dems_get_elev_by_coord ( &(VIK_TRACKPOINT(tp_iter->data)->coord), VIK_DEM_INTERPOL_BEST );
- if ( elev != VIK_DEM_INVALID_ELEVATION )
- VIK_TRACKPOINT(tp_iter->data)->altitude = elev;
+ // Don't apply if the point already has a value and the overwrite is off
+ if ( !(skip_existing && VIK_TRACKPOINT(tp_iter->data)->altitude != VIK_DEFAULT_ALTITUDE) ) {
+ /* TODO: of the 4 possible choices we have for choosing an elevation
+ * (trackpoint in between samples), choose the one with the least elevation change
+ * as the last */
+ elev = a_dems_get_elev_by_coord ( &(VIK_TRACKPOINT(tp_iter->data)->coord), VIK_DEM_INTERPOL_BEST );
+
+ if ( elev != VIK_DEM_INVALID_ELEVATION ) {
+ VIK_TRACKPOINT(tp_iter->data)->altitude = elev;
+ num++;
+ }
+ }
tp_iter = tp_iter->next;
}
+ return num;
}
/**
* vik_track_apply_dem_data_last_trackpoint:
- *
* Apply DEM data (if available) - to only the last trackpoint
*/
void vik_track_apply_dem_data_last_trackpoint ( VikTrack *tr )
@@ -1335,6 +1594,101 @@ void vik_track_apply_dem_data_last_trackpoint ( VikTrack *tr )
}
}
+
+/**
+ * smoothie:
+ *
+ * Apply elevation smoothing over range of trackpoints between the list start and end points
+ */
+static void smoothie ( GList *tp1, GList *tp2, gdouble elev1, gdouble elev2, guint points )
+{
+ // If was really clever could try and weigh interpolation according to the distance between trackpoints somehow
+ // Instead a simple average interpolation for the number of points given.
+ gdouble change = (elev2 - elev1)/(points+1);
+ gint count = 1;
+ GList *tp_iter = tp1;
+ while ( tp_iter != tp2 && tp_iter ) {
+ VikTrackpoint *tp = VIK_TRACKPOINT(tp_iter->data);
+
+ tp->altitude = elev1 + (change*count);
+
+ count++;
+ tp_iter = tp_iter->next;
+ }
+}
+
+/**
+ * vik_track_smooth_missing_elevation_data:
+ * @flat: Specify how the missing elevations will be set.
+ * When TRUE it uses a simple flat method, using the last known elevation
+ * When FALSE is uses an interpolation method to the next known elevation
+ *
+ * For each point with a missing elevation, set it to use the last known available elevation value.
+ * Primarily of use for smallish DEM holes where it is missing elevation data.
+ * Eg see Austria: around N47.3 & E13.8
+ *
+ * Returns: The number of points that were adjusted
+ */
+gulong vik_track_smooth_missing_elevation_data ( VikTrack *tr, gboolean flat )
+{
+ gulong num = 0;
+
+ GList *tp_iter;
+ gdouble elev = VIK_DEFAULT_ALTITUDE;
+
+ VikTrackpoint *tp_missing = NULL;
+ GList *iter_first = NULL;
+ guint points = 0;
+
+ tp_iter = tr->trackpoints;
+ while ( tp_iter ) {
+ VikTrackpoint *tp = VIK_TRACKPOINT(tp_iter->data);
+
+ if ( VIK_DEFAULT_ALTITUDE == tp->altitude ) {
+ if ( flat ) {
+ // Simply assign to last known value
+ if ( elev != VIK_DEFAULT_ALTITUDE ) {
+ tp->altitude = elev;
+ num++;
+ }
+ }
+ else {
+ if ( !tp_missing ) {
+ // Remember the first trackpoint (and the list pointer to it) of a section of no altitudes
+ tp_missing = tp;
+ iter_first = tp_iter;
+ points = 1;
+ }
+ else {
+ // More missing altitudes
+ points++;
+ }
+ }
+ }
+ else {
+ // Altitude available (maybe again!)
+ // If this marks the end of a section of altitude-less points
+ // then apply smoothing for that section of points
+ if ( points > 0 && elev != VIK_DEFAULT_ALTITUDE )
+ if ( !flat ) {
+ smoothie ( iter_first, tp_iter, elev, tp->altitude, points );
+ num = num + points;
+ }
+
+ // reset
+ points = 0;
+ tp_missing = NULL;
+
+ // Store for reuse as the last known good value
+ elev = tp->altitude;
+ }
+
+ tp_iter = tp_iter->next;
+ }
+
+ return num;
+}
+
/**
* vik_track_steal_and_append_trackpoints:
*
@@ -1343,14 +1697,13 @@ void vik_track_apply_dem_data_last_trackpoint ( VikTrack *tr )
void vik_track_steal_and_append_trackpoints ( VikTrack *t1, VikTrack *t2 )
{
if ( t1->trackpoints ) {
- GList *tpiter = t1->trackpoints;
- while ( tpiter->next )
- tpiter = tpiter->next;
- tpiter->next = t2->trackpoints;
- t2->trackpoints->prev = tpiter;
+ t1->trackpoints = g_list_concat ( t1->trackpoints, t2->trackpoints );
} else
t1->trackpoints = t2->trackpoints;
t2->trackpoints = NULL;
+
+ // Trackpoints updated - so update the bounds
+ vik_track_calculate_bounds ( t1 );
}
/**
diff --git a/src/viktrack.h b/src/viktrack.h
index e79b3ce..be7cb45 100644
--- a/src/viktrack.h
+++ b/src/viktrack.h
@@ -27,6 +27,7 @@
#include <gtk/gtk.h>
#include "vikcoord.h"
+#include "bbox.h"
G_BEGIN_DECLS
@@ -37,6 +38,7 @@ G_BEGIN_DECLS
typedef struct _VikTrackpoint VikTrackpoint;
struct _VikTrackpoint {
+ gchar* name;
VikCoord coord;
gboolean newsegment;
gboolean has_timestamp;
@@ -55,6 +57,16 @@ struct _VikTrackpoint {
gdouble pdop; /* VIK_DEFAULT_DOP if data unavailable */
};
+typedef enum {
+ TRACK_DRAWNAME_NO=0,
+ TRACK_DRAWNAME_CENTRE,
+ TRACK_DRAWNAME_START,
+ TRACK_DRAWNAME_END,
+ TRACK_DRAWNAME_START_END,
+ TRACK_DRAWNAME_START_END_CENTRE,
+ NUM_TRACK_DRAWNAMES
+} VikTrackDrawnameType;
+
// Instead of having a separate VikRoute type, routes are considered tracks
// Thus all track operations must cope with a 'route' version
// [track functions handle having no timestamps anyway - so there is no practical difference in most cases]
@@ -66,6 +78,8 @@ struct _VikTrack {
GList *trackpoints;
gboolean visible;
gboolean is_route;
+ VikTrackDrawnameType draw_name_mode;
+ guint8 max_number_dist_labels;
gchar *comment;
gchar *description;
guint8 ref_count;
@@ -73,9 +87,11 @@ struct _VikTrack {
GtkWidget *property_dialog;
gboolean has_color;
GdkColor color;
+ LatLonBBox bbox;
};
VikTrack *vik_track_new();
+void vik_track_set_defaults(VikTrack *tr);
void vik_track_set_name(VikTrack *tr, const gchar *name);
void vik_track_set_comment(VikTrack *tr, const gchar *comment);
void vik_track_set_description(VikTrack *tr, const gchar *description);
@@ -86,6 +102,10 @@ void vik_track_set_comment_no_copy(VikTrack *tr, gchar *comment);
VikTrackpoint *vik_trackpoint_new();
void vik_trackpoint_free(VikTrackpoint *tp);
VikTrackpoint *vik_trackpoint_copy(VikTrackpoint *tp);
+void vik_trackpoint_set_name(VikTrackpoint *tp, const gchar *name);
+
+void vik_track_add_trackpoint(VikTrack *tr, VikTrackpoint *tp, gboolean recalculate);
+gdouble vik_track_get_length_to_trackpoint (const VikTrack *tr, const VikTrackpoint *tp);
gdouble vik_track_get_length(const VikTrack *tr);
gdouble vik_track_get_length_including_gaps(const VikTrack *tr);
gulong vik_track_get_tp_count(const VikTrack *tr);
@@ -108,6 +128,7 @@ gdouble vik_track_get_average_speed_moving ( const VikTrack *tr, int stop_length
void vik_track_convert ( VikTrack *tr, VikCoordMode dest_mode );
gdouble *vik_track_make_elevation_map ( const VikTrack *tr, guint16 num_chunks );
void vik_track_get_total_elevation_gain(const VikTrack *tr, gdouble *up, gdouble *down);
+VikTrackpoint *vik_track_get_tp_by_dist ( VikTrack *trk, gdouble meters_from_start, gboolean get_next_point, gdouble *tp_metres_from_start );
VikTrackpoint *vik_track_get_closest_tp_by_percentage_dist ( VikTrack *tr, gdouble reldist, gdouble *meters_from_start );
VikTrackpoint *vik_track_get_closest_tp_by_percentage_time ( VikTrack *tr, gdouble reldist, time_t *seconds_from_start );
VikTrackpoint *vik_track_get_tp_by_max_speed ( const VikTrack *tr );
@@ -122,8 +143,12 @@ gboolean vik_track_get_minmax_alt ( const VikTrack *tr, gdouble *min_alt, gdoubl
void vik_track_marshall ( VikTrack *tr, guint8 **data, guint *len);
VikTrack *vik_track_unmarshall (guint8 *data, guint datalen);
-void vik_track_apply_dem_data ( VikTrack *tr);
+void vik_track_calculate_bounds ( VikTrack *trk );
+
+void vik_track_anonymize_times ( VikTrack *tr );
+gulong vik_track_apply_dem_data ( VikTrack *tr, gboolean skip_existing );
void vik_track_apply_dem_data_last_trackpoint ( VikTrack *tr );
+gulong vik_track_smooth_missing_elevation_data ( VikTrack *tr, gboolean flat );
void vik_track_steal_and_append_trackpoints ( VikTrack *t1, VikTrack *t2 );
diff --git a/src/viktreeview.c b/src/viktreeview.c
index 9ac5df3..0e50b30 100644
--- a/src/viktreeview.c
+++ b/src/viktreeview.c
@@ -67,6 +67,7 @@ struct _VikTreeview {
GdkPixbuf *layer_type_icons[VIK_LAYER_NUM_TYPES];
gboolean was_a_toggle;
+ gboolean editing;
};
/* TODO: find, make "static" and put up here all non-"a_" functions */
@@ -78,6 +79,39 @@ static gboolean vik_treeview_drag_data_delete ( GtkTreeDragSource *drag_source,
G_DEFINE_TYPE (VikTreeview, vik_treeview, GTK_TYPE_TREE_VIEW)
+static void vik_cclosure_marshal_VOID__POINTER_POINTER ( GClosure *closure,
+ GValue *return_value,
+ guint n_param_vals,
+ const GValue *param_values,
+ gpointer invocation_hint,
+ gpointer marshal_data )
+{
+ typedef gboolean (*VikMarshalFunc_VOID__POINTER_POINTER) ( gpointer data1,
+ gconstpointer arg_1,
+ gconstpointer arg_2,
+ gpointer data2 );
+
+ register VikMarshalFunc_VOID__POINTER_POINTER callback;
+ register GCClosure* cc = (GCClosure*) closure;
+ register gpointer data1, data2;
+
+ g_return_if_fail (n_param_vals == 3);
+
+ if (G_CCLOSURE_SWAP_DATA(closure)) {
+ data1 = closure->data;
+ data2 = g_value_peek_pointer (param_values + 0);
+ }
+ else {
+ data1 = g_value_peek_pointer (param_values + 0);
+ data2 = closure->data;
+ }
+ callback = (VikMarshalFunc_VOID__POINTER_POINTER) (marshal_data ? marshal_data : cc->callback);
+ callback ( data1,
+ g_value_get_pointer(param_values + 1),
+ g_value_get_pointer(param_values + 2),
+ data2 );
+}
+
static void vik_treeview_class_init ( VikTreeviewClass *klass )
{
/* Destructor */
@@ -90,15 +124,15 @@ static void vik_treeview_class_init ( VikTreeviewClass *klass )
parent_class = g_type_class_peek_parent (klass);
treeview_signals[VT_ITEM_EDITED_SIGNAL] = g_signal_new ( "item_edited", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_FIRST | G_SIGNAL_ACTION, G_STRUCT_OFFSET (VikTreeviewClass, item_edited), NULL, NULL,
- gtk_marshal_VOID__POINTER_POINTER, G_TYPE_NONE, 2, GTK_TYPE_POINTER, G_TYPE_POINTER);
- /* VOID__UINT_POINTER: kinda hack-ish, but it works. */
+ vik_cclosure_marshal_VOID__POINTER_POINTER, G_TYPE_NONE, 2, G_TYPE_POINTER, G_TYPE_POINTER);
treeview_signals[VT_ITEM_TOGGLED_SIGNAL] = g_signal_new ( "item_toggled", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_FIRST | G_SIGNAL_ACTION, G_STRUCT_OFFSET (VikTreeviewClass, item_toggled), NULL, NULL,
- g_cclosure_marshal_VOID__POINTER, G_TYPE_NONE, 1, GTK_TYPE_POINTER );
+ g_cclosure_marshal_VOID__POINTER, G_TYPE_NONE, 1, G_TYPE_POINTER );
}
static void vik_treeview_edited_cb (GtkCellRendererText *cell, gchar *path_str, const gchar *new_name, VikTreeview *vt)
{
+ vt->editing = FALSE;
GtkTreeIter iter;
/* get type and data */
@@ -107,6 +141,16 @@ static void vik_treeview_edited_cb (GtkCellRendererText *cell, gchar *path_str,
g_signal_emit ( G_OBJECT(vt), treeview_signals[VT_ITEM_EDITED_SIGNAL], 0, &iter, new_name );
}
+static void vik_treeview_edit_start_cb (GtkCellRenderer *cell, GtkCellEditable *editable, gchar *path, VikTreeview *vt)
+{
+ vt->editing = TRUE;
+}
+
+static void vik_treeview_edit_stop_cb (GtkCellRenderer *cell, VikTreeview *vt)
+{
+ vt->editing = FALSE;
+}
+
static void vik_treeview_toggled_cb (GtkCellRendererToggle *cell, gchar *path_str, VikTreeview *vt)
{
GtkTreeIter iter_toggle;
@@ -263,6 +307,9 @@ static void vik_treeview_add_columns ( VikTreeview *vt )
g_signal_connect (renderer, "edited",
G_CALLBACK (vik_treeview_edited_cb), vt);
+ g_signal_connect (renderer, "editing-started", G_CALLBACK (vik_treeview_edit_start_cb), vt);
+ g_signal_connect (renderer, "editing-canceled", G_CALLBACK (vik_treeview_edit_stop_cb), vt);
+
g_object_set (G_OBJECT (renderer), "xalign", 0.0, "ellipsize", PANGO_ELLIPSIZE_END, NULL);
col_offset = gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (vt),
@@ -391,9 +438,8 @@ static gboolean vik_treeview_selection_filter(GtkTreeSelection *selection, GtkTr
void vik_treeview_init ( VikTreeview *vt )
{
- guint16 i;
-
vt->was_a_toggle = FALSE;
+ vt->editing = FALSE;
vt->model = GTK_TREE_MODEL(gtk_tree_store_new ( NUM_COLUMNS, G_TYPE_STRING, G_TYPE_BOOLEAN, GDK_TYPE_PIXBUF, G_TYPE_INT, G_TYPE_POINTER, G_TYPE_POINTER, G_TYPE_INT, G_TYPE_BOOLEAN, G_TYPE_BOOLEAN ));
@@ -402,6 +448,11 @@ void vik_treeview_init ( VikTreeview *vt )
gtk_tree_view_set_model ( GTK_TREE_VIEW(vt), vt->model );
vik_treeview_add_columns ( vt );
+
+ // Can not specify 'auto' sort order with a 'GtkTreeSortable' on the name since we want to control the ordering of layers
+ // Thus need to create special sort to operate on a subsection of treeview (i.e. from a specific child either a layer or sublayer)
+ // see vik_treeview_sort_children()
+
g_object_unref (vt->model);
gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (vt), TRUE);
@@ -423,6 +474,7 @@ void vik_treeview_init ( VikTreeview *vt )
idest->drag_data_received = vik_treeview_drag_data_received;
}
+ VikLayerTypeEnum i;
for ( i = 0; i < VIK_LAYER_NUM_TYPES; i++ )
vt->layer_type_icons[i] = vik_layer_load_icon ( i ); /* if icon can't be loaded, it will be null and simply not be shown. */
@@ -507,6 +559,14 @@ gboolean vik_treeview_get_selected_iter ( VikTreeview *vt, GtkTreeIter *iter )
return gtk_tree_selection_get_selected ( gtk_tree_view_get_selection ( GTK_TREE_VIEW ( vt ) ), NULL, iter );
}
+gboolean vik_treeview_get_editing ( VikTreeview *vt )
+{
+ // Don't know how to get cell for the selected item
+ //return GPOINTER_TO_INT(g_object_get_data ( G_OBJECT(cell), "editing" ));
+ // Instead maintain our own value applying to the whole tree
+ return vt->editing;
+}
+
void vik_treeview_item_delete ( VikTreeview *vt, GtkTreeIter *iter )
{
gtk_tree_store_remove ( GTK_TREE_STORE(vt->model), iter );
@@ -532,6 +592,15 @@ void vik_treeview_item_set_visible ( VikTreeview *vt, GtkTreeIter *iter, gboolea
gtk_tree_store_set ( GTK_TREE_STORE(vt->model), iter, VISIBLE_COLUMN, to, -1 );
}
+void vik_treeview_item_toggle_visible ( VikTreeview *vt, GtkTreeIter *iter )
+{
+ g_return_if_fail ( iter != NULL );
+ gboolean to;
+ TREEVIEW_GET ( vt->model, iter, VISIBLE_COLUMN, &to );
+ to = !to;
+ gtk_tree_store_set ( GTK_TREE_STORE(vt->model), iter, VISIBLE_COLUMN, to, -1 );
+}
+
void vik_treeview_expand ( VikTreeview *vt, GtkTreeIter *iter )
{
GtkTreePath *path;
@@ -550,33 +619,40 @@ void vik_treeview_item_unselect ( VikTreeview *vt, GtkTreeIter *iter )
gtk_tree_selection_unselect_iter ( gtk_tree_view_get_selection ( GTK_TREE_VIEW ( vt ) ), iter );
}
-void vik_treeview_add_layer ( VikTreeview *vt, GtkTreeIter *parent_iter, GtkTreeIter *iter, const gchar *name, gpointer parent,
- gpointer item, gint data, gint icon_type )
+void vik_treeview_add_layer ( VikTreeview *vt, GtkTreeIter *parent_iter, GtkTreeIter *iter, const gchar *name, gpointer parent, gboolean above,
+ gpointer item, gint data, VikLayerTypeEnum layer_type )
{
g_assert ( iter != NULL );
- g_assert ( icon_type < VIK_LAYER_NUM_TYPES );
- gtk_tree_store_prepend ( GTK_TREE_STORE(vt->model), iter, parent_iter );
+ if ( above )
+ gtk_tree_store_prepend ( GTK_TREE_STORE(vt->model), iter, parent_iter );
+ else
+ gtk_tree_store_append ( GTK_TREE_STORE(vt->model), iter, parent_iter );
gtk_tree_store_set ( GTK_TREE_STORE(vt->model), iter, NAME_COLUMN, name, VISIBLE_COLUMN, TRUE,
TYPE_COLUMN, VIK_TREEVIEW_TYPE_LAYER, ITEM_PARENT_COLUMN, parent, ITEM_POINTER_COLUMN, item,
ITEM_DATA_COLUMN, data, HAS_VISIBLE_COLUMN, TRUE, EDITABLE_COLUMN, parent == NULL ? FALSE : TRUE,
- ICON_COLUMN, icon_type >= 0 ? vt->layer_type_icons[icon_type] : NULL, -1 );
+ ICON_COLUMN, layer_type >= 0 ? vt->layer_type_icons[layer_type] : NULL, -1 );
}
-void vik_treeview_insert_layer ( VikTreeview *vt, GtkTreeIter *parent_iter, GtkTreeIter *iter, const gchar *name, gpointer parent,
- gpointer item, gint data, gint icon_type, GtkTreeIter *sibling )
+void vik_treeview_insert_layer ( VikTreeview *vt, GtkTreeIter *parent_iter, GtkTreeIter *iter, const gchar *name, gpointer parent, gboolean above,
+ gpointer item, gint data, VikLayerTypeEnum layer_type, GtkTreeIter *sibling )
{
g_assert ( iter != NULL );
- g_assert ( icon_type < VIK_LAYER_NUM_TYPES );
if (sibling) {
- gtk_tree_store_insert_before ( GTK_TREE_STORE(vt->model), iter, parent_iter, sibling );
+ if (above)
+ gtk_tree_store_insert_before ( GTK_TREE_STORE(vt->model), iter, parent_iter, sibling );
+ else
+ gtk_tree_store_insert_after ( GTK_TREE_STORE(vt->model), iter, parent_iter, sibling );
} else {
- gtk_tree_store_append ( GTK_TREE_STORE(vt->model), iter, parent_iter );
+ if (above)
+ gtk_tree_store_append ( GTK_TREE_STORE(vt->model), iter, parent_iter );
+ else
+ gtk_tree_store_prepend ( GTK_TREE_STORE(vt->model), iter, parent_iter );
}
-
+
gtk_tree_store_set ( GTK_TREE_STORE(vt->model), iter, NAME_COLUMN, name, VISIBLE_COLUMN, TRUE,
TYPE_COLUMN, VIK_TREEVIEW_TYPE_LAYER, ITEM_PARENT_COLUMN, parent, ITEM_POINTER_COLUMN, item,
ITEM_DATA_COLUMN, data, HAS_VISIBLE_COLUMN, TRUE, EDITABLE_COLUMN, TRUE,
- ICON_COLUMN, icon_type >= 0 ? vt->layer_type_icons[icon_type] : NULL, -1 );
+ ICON_COLUMN, layer_type >= 0 ? vt->layer_type_icons[layer_type] : NULL, -1 );
}
void vik_treeview_add_sublayer ( VikTreeview *vt, GtkTreeIter *parent_iter, GtkTreeIter *iter, const gchar *name, gpointer parent, gpointer item,
@@ -584,80 +660,106 @@ void vik_treeview_add_sublayer ( VikTreeview *vt, GtkTreeIter *parent_iter, GtkT
{
g_assert ( iter != NULL );
- gtk_tree_store_prepend ( GTK_TREE_STORE(vt->model), iter, parent_iter );
+ gtk_tree_store_append ( GTK_TREE_STORE(vt->model), iter, parent_iter );
gtk_tree_store_set ( GTK_TREE_STORE(vt->model), iter, NAME_COLUMN, name, VISIBLE_COLUMN, TRUE, TYPE_COLUMN, VIK_TREEVIEW_TYPE_SUBLAYER, ITEM_PARENT_COLUMN, parent, ITEM_POINTER_COLUMN, item, ITEM_DATA_COLUMN, data, HAS_VISIBLE_COLUMN, has_visible, EDITABLE_COLUMN, editable, ICON_COLUMN, icon, -1 );
}
-
-#ifdef VIK_CONFIG_ALPHABETIZED_TRW
-
-void vik_treeview_sublayer_realphabetize ( VikTreeview *vt, GtkTreeIter *iter, const gchar *newname )
+// Inspired by the internals of GtkTreeView sorting itself
+typedef struct _SortTuple
{
- GtkTreeIter search_iter, parent_iter;
- gchar *search_name = NULL;
- g_assert ( iter != NULL );
+ gint offset;
+ gchar *name;
+} SortTuple;
- gtk_tree_model_iter_parent ( vt->model, &parent_iter, iter );
+/**
+ * If order is true sort ascending, otherwise a descending sort
+ */
+static gint sort_tuple_compare ( gconstpointer a, gconstpointer b, gpointer order )
+{
+ SortTuple *sa = (SortTuple *)a;
+ SortTuple *sb = (SortTuple *)b;
- g_assert ( gtk_tree_model_iter_children ( vt->model, &search_iter, &parent_iter ) );
+ // Default ascending order
+ gint answer = g_strcmp0 ( sa->name, sb->name );
- do {
- gtk_tree_model_get ( vt->model, &search_iter, NAME_COLUMN, &search_name, -1 );
- if ( strcmp ( search_name, newname ) > 0 ) /* not >= or would trip on itself */
- {
- gtk_tree_store_move_before ( GTK_TREE_STORE(vt->model), iter, &search_iter );
- g_free (search_name);
- search_name = NULL;
- return;
- }
- g_free (search_name);
- search_name = NULL;
- } while ( gtk_tree_model_iter_next ( vt->model, &search_iter ) );
+ if ( !GPOINTER_TO_INT(order) ) {
+ // Invert sort order for descending order
+ answer = -answer;
+ }
- gtk_tree_store_move_before ( GTK_TREE_STORE(vt->model), iter, NULL );
+ return answer;
}
-void vik_treeview_add_sublayer_alphabetized
- ( VikTreeview *vt, GtkTreeIter *parent_iter, GtkTreeIter *iter, const gchar *name, gpointer parent, gpointer item,
- gint data, GdkPixbuf *icon, gboolean has_visible, gboolean editable )
+/**
+ * Note: I don't believe we can sensibility use built in model sort gtk_tree_model_sort_new_with_model() on the name,
+ * since that would also sort the layers - but that needs to be user controlled for ordering, such as which maps get drawn on top.
+ *
+ * vik_treeview_sort_children:
+ * @vt: The treeview to operate on
+ * @parent: The level within the treeview to sort
+ * @order: How the items should be sorted
+ *
+ * Use the gtk_tree_store_reorder method as it very quick
+ *
+ * This ordering can be performed on demand and works for any parent iterator (i.e. both sublayer and layer levels)
+ *
+ * It should be called whenever an individual sublayer item is added or renamed (or after a group of sublayer items have been added).
+ *
+ * Previously with insertion sort on every sublayer addition: adding 10,000 items would take over 30 seconds!
+ * Now sorting after simply adding all tracks takes 1 second.
+ * For a KML file with over 10,000 tracks (3Mb zipped) - See 'UK Hampshire Rights of Way'
+ * http://www3.hants.gov.uk/row/row-maps.htm
+ */
+void vik_treeview_sort_children ( VikTreeview *vt, GtkTreeIter *parent, vik_layer_sort_order_t order )
{
- GtkTreeIter search_iter;
- gchar *search_name = NULL;
- g_assert ( iter != NULL );
+ if ( order == VL_SO_NONE )
+ // Nothing to do
+ return;
- if ( gtk_tree_model_iter_children ( vt->model, &search_iter, parent_iter ) )
- {
- gboolean found_greater_string = FALSE;
- do {
- gtk_tree_model_get ( vt->model, &search_iter, NAME_COLUMN, &search_name, -1 );
- if ( strcmp ( search_name, name ) >= 0 )
- {
- gtk_tree_store_insert_before ( GTK_TREE_STORE(vt->model), iter, parent_iter, &search_iter );
- found_greater_string = TRUE;
- g_free (search_name);
- search_name = NULL;
- break;
- }
- g_free (search_name);
- search_name = NULL;
- } while ( gtk_tree_model_iter_next ( vt->model, &search_iter ) );
+ GtkTreeModel *model = vt->model;
+ GtkTreeIter child;
+ if ( !gtk_tree_model_iter_children ( model, &child, parent ) )
+ return;
- if ( ! found_greater_string )
- gtk_tree_store_append ( GTK_TREE_STORE(vt->model), iter, parent_iter );
+ guint length = gtk_tree_model_iter_n_children ( model, parent );
+
+ // Create an array to store the position offsets
+ SortTuple *sort_array;
+ sort_array = g_new ( SortTuple, length );
+
+ guint ii = 0;
+ do {
+ sort_array[ii].offset = ii;
+ gtk_tree_model_get ( model, &child, NAME_COLUMN, &(sort_array[ii].name), -1 );
+ ii++;
+ } while ( gtk_tree_model_iter_next (model, &child) );
+
+ gboolean sort_order = (order == VL_SO_ALPHABETICAL_ASCENDING );
+
+ // Sort list...
+ g_qsort_with_data (sort_array,
+ length,
+ sizeof (SortTuple),
+ sort_tuple_compare,
+ GINT_TO_POINTER(sort_order));
+
+ // As the sorted list contains the reordered position offsets, extract this and then apply to the treeview
+ gint *positions = g_malloc ( sizeof(gdouble) * length );
+ for ( ii = 0; ii < length; ii++ ) {
+ positions[ii] = sort_array[ii].offset;
+ g_free ( sort_array[ii].name );
}
- else
- gtk_tree_store_prepend ( GTK_TREE_STORE(vt->model), iter, parent_iter );
+ g_free ( sort_array );
- gtk_tree_store_set ( GTK_TREE_STORE(vt->model), iter, NAME_COLUMN, name, VISIBLE_COLUMN, TRUE, TYPE_COLUMN, VIK_TREEVIEW_TYPE_SUBLAYER, ITEM_PARENT_COLUMN, parent, ITEM_POINTER_COLUMN, item, ITEM_DATA_COLUMN, data, HAS_VISIBLE_COLUMN, has_visible, EDITABLE_COLUMN, editable, ICON_COLUMN, icon, -1 );
+ // This is extremely fast compared to the old alphabetical insertion
+ gtk_tree_store_reorder ( GTK_TREE_STORE(model), parent, positions );
+ g_free ( positions );
}
-#endif
-
static void vik_treeview_finalize ( GObject *gob )
{
VikTreeview *vt = VIK_TREEVIEW ( gob );
- guint16 i;
-
+ VikLayerTypeEnum i;
for ( i = 0; i < VIK_LAYER_NUM_TYPES; i++ )
if ( vt->layer_type_icons[i] != NULL )
g_object_unref ( G_OBJECT(vt->layer_type_icons[i]) );
diff --git a/src/viktreeview.h b/src/viktreeview.h
index 3d6b04f..093bd24 100644
--- a/src/viktreeview.h
+++ b/src/viktreeview.h
@@ -23,6 +23,7 @@
#define _VIKING_TREEVIEW_H
#include "config.h"
+#include "uibuilder.h"
#include <glib.h>
#include <glib-object.h>
@@ -68,10 +69,12 @@ gpointer vik_treeview_item_get_parent ( VikTreeview *vt, GtkTreeIter *iter );
void vik_treeview_select_iter ( VikTreeview *vt, GtkTreeIter *iter, gboolean view_all );
gboolean vik_treeview_get_selected_iter ( VikTreeview *vt, GtkTreeIter *iter );
+gboolean vik_treeview_get_editing ( VikTreeview *vt );
void vik_treeview_item_set_icon ( VikTreeview *vt, GtkTreeIter *iter, const GdkPixbuf *icon );
void vik_treeview_item_set_name ( VikTreeview *vt, GtkTreeIter *iter, const gchar *to );
void vik_treeview_item_set_visible ( VikTreeview *vt, GtkTreeIter *iter, gboolean to );
+void vik_treeview_item_toggle_visible ( VikTreeview *vt, GtkTreeIter *iter );
void vik_treeview_item_delete ( VikTreeview *vt, GtkTreeIter *iter );
gboolean vik_treeview_get_iter_at_pos ( VikTreeview *vt, GtkTreeIter *iter, gint x, gint y );
@@ -85,21 +88,16 @@ gboolean vik_treeview_item_get_parent_iter ( VikTreeview *vt, GtkTreeIter *iter,
void vik_treeview_expand_toplevel ( VikTreeview *vt );
void vik_treeview_expand ( VikTreeview *vt, GtkTreeIter *iter );
-void vik_treeview_add_layer ( VikTreeview *vt, GtkTreeIter *parent_iter, GtkTreeIter *iter, const gchar *name, gpointer parent,
- gpointer item, gint data, gint icon_type ); /* icon type: type of layer or -1 -> no icon */
-void vik_treeview_insert_layer ( VikTreeview *vt, GtkTreeIter *parent_iter, GtkTreeIter *iter, const gchar *name, gpointer parent,
- gpointer item, gint data, gint icon_type, GtkTreeIter *sibling );
+void vik_treeview_add_layer ( VikTreeview *vt, GtkTreeIter *parent_iter, GtkTreeIter *iter, const gchar *name, gpointer parent, gboolean above,
+ gpointer item, gint data, VikLayerTypeEnum layer_type );
+void vik_treeview_insert_layer ( VikTreeview *vt, GtkTreeIter *parent_iter, GtkTreeIter *iter, const gchar *name, gpointer parent, gboolean above,
+ gpointer item, gint data, VikLayerTypeEnum layer_type, GtkTreeIter *sibling );
void vik_treeview_add_sublayer ( VikTreeview *vt, GtkTreeIter *parent_iter, GtkTreeIter *iter, const gchar *name, gpointer parent, gpointer item,
gint data, GdkPixbuf *icon, gboolean has_visible, gboolean editable );
gboolean vik_treeview_get_iter_with_name ( VikTreeview *vt, GtkTreeIter *iter, GtkTreeIter *parent_iter, const gchar *name );
-#ifdef VIK_CONFIG_ALPHABETIZED_TRW
-void vik_treeview_add_sublayer_alphabetized ( VikTreeview *vt, GtkTreeIter *parent_iter, GtkTreeIter *iter, const gchar *name, gpointer parent, gpointer item,
- gint data, GdkPixbuf *icon, gboolean has_visible, gboolean editable );
-
-void vik_treeview_sublayer_realphabetize ( VikTreeview *vt, GtkTreeIter *iter, const gchar *newname );
-#endif
+void vik_treeview_sort_children ( VikTreeview *vt, GtkTreeIter *parent, vik_layer_sort_order_t order );
G_END_DECLS
diff --git a/src/viktrwlayer.c b/src/viktrwlayer.c
index 227b32e..05fef69 100644
--- a/src/viktrwlayer.c
+++ b/src/viktrwlayer.c
@@ -6,6 +6,7 @@
* Copyright (C) 2007, Quy Tonthat <qtonthat@gmail.com>
* Copyright (C) 2009, Hein Ragas <viking@ragas.nl>
* Copyright (c) 2012, Rob Norris <rw_norris@hotmail.com>
+ * Copyright (c) 2012-2013, Guilhem Bonnefille <guilhem.bonnefille@gmail.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -34,6 +35,9 @@
#include "vikgpslayer.h"
#include "viktrwlayer_tpwin.h"
#include "viktrwlayer_propwin.h"
+#include "viktrwlayer_analysis.h"
+#include "viktrwlayer_tracklist.h"
+#include "viktrwlayer_waypointlist.h"
#ifdef VIK_CONFIG_GEOTAG
#include "viktrwlayer_geotag.h"
#include "geotag_exif.h"
@@ -52,7 +56,11 @@
#include "acquire.h"
#include "datasources.h"
#include "datasource_gps.h"
+#include "vikexttool_datasources.h"
#include "util.h"
+#include "vikutils.h"
+
+#include "vikrouting.h"
#include "icons/icons.h"
@@ -73,10 +81,6 @@
#include <glib/gstdio.h>
#include <glib/gi18n.h>
-#ifdef VIK_CONFIG_GOOGLE
-#define GOOGLE_DIRECTIONS_STRING "maps.google.com/maps?q=from:%s,%s+to:%s,%s&output=js"
-#endif
-
#define VIK_TRW_LAYER_TRACK_GC 6
#define VIK_TRW_LAYER_TRACK_GCS 10
#define VIK_TRW_LAYER_TRACK_GC_BLACK 0
@@ -128,6 +132,9 @@ struct _VikTrwLayer {
GHashTable *waypoints;
GtkTreeIter tracks_iter, routes_iter, waypoints_iter;
gboolean tracks_visible, routes_visible, waypoints_visible;
+ LatLonBBox waypoints_bbox;
+
+ gboolean track_draw_labels;
guint8 drawmode;
guint8 drawpoints;
guint8 drawpoints_size;
@@ -140,11 +147,18 @@ struct _VikTrwLayer {
guint8 drawdirections_size;
guint8 line_thickness;
guint8 bg_line_thickness;
+ vik_layer_sort_order_t track_sort_order;
+
+ PangoLayout *tracklabellayout;
+ font_size_t track_font_size;
+ gchar *track_fsize_str;
guint8 wp_symbol;
guint8 wp_size;
gboolean wp_draw_symbols;
font_size_t wp_font_size;
+ gchar *wp_fsize_str;
+ vik_layer_sort_order_t wp_sort_order;
gdouble track_draw_speed_factor;
GArray *track_gc;
@@ -154,10 +168,11 @@ struct _VikTrwLayer {
// Separate GC for a track's potential new point as drawn via separate method
// (compared to the actual track points drawn in the main trw_layer_draw_track function)
GdkGC *current_track_newpoint_gc;
- GdkGC *track_bg_gc;
- GdkGC *waypoint_gc;
- GdkGC *waypoint_text_gc;
- GdkGC *waypoint_bg_gc;
+ GdkGC *track_bg_gc; GdkColor track_bg_color;
+ GdkGC *waypoint_gc; GdkColor waypoint_color;
+ GdkGC *waypoint_text_gc; GdkColor waypoint_text_color;
+ GdkGC *waypoint_bg_gc; GdkColor waypoint_bg_color;
+ gboolean wpbgand;
GdkFont *waypoint_font;
VikTrack *current_track; // ATM shared between new tracks and new routes
guint16 ct_x1, ct_y1, ct_x2, ct_y2;
@@ -208,6 +223,9 @@ struct _VikTrwLayer {
VikStdLayerMenuItem menu_selection;
gint highest_wp_number;
+
+ // One per layer
+ GtkWidget *tracks_analysis_dialog;
};
/* A caached waypoint image. */
@@ -227,6 +245,7 @@ struct DrawingParams {
const VikCoord *center;
gboolean one_zone, lat_lon;
gdouble ce1, ce2, cn1, cn2;
+ LatLonBBox bbox;
};
static gboolean trw_layer_delete_waypoint ( VikTrwLayer *vtl, VikWaypoint *wp );
@@ -235,7 +254,6 @@ static void trw_layer_delete_item ( gpointer pass_along[6] );
static void trw_layer_copy_item_cb ( gpointer pass_along[6] );
static void trw_layer_cut_item_cb ( gpointer pass_along[6] );
-static void trw_layer_find_maxmin_waypoints ( const gpointer id, const VikWaypoint *w, struct LatLon maxmin[2] );
static void trw_layer_find_maxmin_tracks ( const gpointer id, const VikTrack *trk, struct LatLon maxmin[2] );
static void trw_layer_find_maxmin (VikTrwLayer *vtl, struct LatLon maxmin[2]);
@@ -260,6 +278,7 @@ static void trw_layer_split_by_timestamp ( gpointer pass_along[6] );
static void trw_layer_split_by_n_points ( gpointer pass_along[6] );
static void trw_layer_split_at_trackpoint ( gpointer pass_along[6] );
static void trw_layer_split_segments ( gpointer pass_along[6] );
+static void trw_layer_delete_point_selected ( gpointer pass_along[6] );
static void trw_layer_delete_points_same_position ( gpointer pass_along[6] );
static void trw_layer_delete_points_same_time ( gpointer pass_along[6] );
static void trw_layer_reverse ( gpointer pass_along[6] );
@@ -291,9 +310,8 @@ static void trw_layer_geotagging_track ( gpointer pass_along[6] );
static void trw_layer_geotagging ( gpointer lav[2] );
#endif
static void trw_layer_acquire_gps_cb ( gpointer lav[2] );
-#ifdef VIK_CONFIG_GOOGLE
-static void trw_layer_acquire_google_cb ( gpointer lav[2] );
-#endif
+static void trw_layer_acquire_routing_cb ( gpointer lav[2] );
+static void trw_layer_acquire_url_cb ( gpointer lav[2] );
#ifdef VIK_CONFIG_OPENSTREETMAP
static void trw_layer_acquire_osm_cb ( gpointer lav[2] );
static void trw_layer_acquire_osm_my_traces_cb ( gpointer lav[2] );
@@ -307,6 +325,10 @@ static void trw_layer_acquire_geotagged_cb ( gpointer lav[2] );
static void trw_layer_acquire_file_cb ( gpointer lav[2] );
static void trw_layer_gps_upload ( gpointer lav[2] );
+static void trw_layer_track_list_dialog_single ( gpointer pass_along[6] );
+static void trw_layer_track_list_dialog ( gpointer lav[2] );
+static void trw_layer_waypoint_list_dialog ( gpointer lav[2] );
+
// Specific route versions:
// Most track handling functions can handle operating on the route list
// However these ones are easier in separate functions
@@ -324,18 +346,20 @@ static void trw_layer_realize_waypoint ( gpointer id, VikWaypoint *wp, gpointer
static void trw_layer_realize_track ( gpointer id, VikTrack *track, gpointer pass_along[5] );
static void init_drawing_params ( struct DrawingParams *dp, VikTrwLayer *vtl, VikViewport *vp );
-static void trw_layer_insert_tp_after_current_tp ( VikTrwLayer *vtl );
+static void trw_layer_insert_tp_beside_current_tp ( VikTrwLayer *vtl, gboolean );
static void trw_layer_cancel_current_tp ( VikTrwLayer *vtl, gboolean destroy );
static void trw_layer_tpwin_response ( VikTrwLayer *vtl, gint response );
static void trw_layer_tpwin_init ( VikTrwLayer *vtl );
static gpointer tool_edit_trackpoint_create ( VikWindow *vw, VikViewport *vvp);
+static void tool_edit_trackpoint_destroy ( tool_ed_t *t );
static gboolean tool_edit_trackpoint_click ( VikTrwLayer *vtl, GdkEventButton *event, gpointer data );
static gboolean tool_edit_trackpoint_move ( VikTrwLayer *vtl, GdkEventMotion *event, gpointer data );
static gboolean tool_edit_trackpoint_release ( VikTrwLayer *vtl, GdkEventButton *event, gpointer data );
static gpointer tool_show_picture_create ( VikWindow *vw, VikViewport *vvp);
static gboolean tool_show_picture_click ( VikTrwLayer *vtl, GdkEventButton *event, VikViewport *vvp );
static gpointer tool_edit_waypoint_create ( VikWindow *vw, VikViewport *vvp);
+static void tool_edit_waypoint_destroy ( tool_ed_t *t );
static gboolean tool_edit_waypoint_click ( VikTrwLayer *vtl, GdkEventButton *event, gpointer data );
static gboolean tool_edit_waypoint_move ( VikTrwLayer *vtl, GdkEventMotion *event, gpointer data );
static gboolean tool_edit_waypoint_release ( VikTrwLayer *vtl, GdkEventButton *event, gpointer data );
@@ -348,10 +372,8 @@ static void tool_new_track_release ( VikTrwLayer *vtl, GdkEventButton *event, Vi
static gboolean tool_new_track_key_press ( VikTrwLayer *vtl, GdkEventKey *event, VikViewport *vvp );
static gpointer tool_new_waypoint_create ( VikWindow *vw, VikViewport *vvp);
static gboolean tool_new_waypoint_click ( VikTrwLayer *vtl, GdkEventButton *event, VikViewport *vvp );
-#ifdef VIK_CONFIG_GOOGLE
static gpointer tool_route_finder_create ( VikWindow *vw, VikViewport *vvp);
static gboolean tool_route_finder_click ( VikTrwLayer *vtl, GdkEventButton *event, VikViewport *vvp );
-#endif
static void cached_pixbuf_free ( CachedPixbuf *cp );
static gint cached_pixbuf_cmp ( CachedPixbuf *cp, const gchar *name );
@@ -399,7 +421,9 @@ static VikToolInterface trw_layer_tools[] = {
GDK_CURSOR_IS_PIXMAP, &cursor_new_route_pixbuf },
{ { "EditWaypoint", "vik-icon-Edit Waypoint", N_("_Edit Waypoint"), "<control><shift>E", N_("Edit Waypoint"), 0 },
- (VikToolConstructorFunc) tool_edit_waypoint_create, NULL, NULL, NULL,
+ (VikToolConstructorFunc) tool_edit_waypoint_create,
+ (VikToolDestructorFunc) tool_edit_waypoint_destroy,
+ NULL, NULL,
(VikToolMouseFunc) tool_edit_waypoint_click,
(VikToolMouseMoveFunc) tool_edit_waypoint_move,
(VikToolMouseFunc) tool_edit_waypoint_release, (VikToolKeyFunc) NULL,
@@ -407,7 +431,9 @@ static VikToolInterface trw_layer_tools[] = {
GDK_CURSOR_IS_PIXMAP, &cursor_edwp_pixbuf },
{ { "EditTrackpoint", "vik-icon-Edit Trackpoint", N_("Edit Trac_kpoint"), "<control><shift>K", N_("Edit Trackpoint"), 0 },
- (VikToolConstructorFunc) tool_edit_trackpoint_create, NULL, NULL, NULL,
+ (VikToolConstructorFunc) tool_edit_trackpoint_create,
+ (VikToolDestructorFunc) tool_edit_trackpoint_destroy,
+ NULL, NULL,
(VikToolMouseFunc) tool_edit_trackpoint_click,
(VikToolMouseMoveFunc) tool_edit_trackpoint_move,
(VikToolMouseFunc) tool_edit_trackpoint_release, (VikToolKeyFunc) NULL,
@@ -420,13 +446,11 @@ static VikToolInterface trw_layer_tools[] = {
FALSE,
GDK_CURSOR_IS_PIXMAP, &cursor_showpic_pixbuf },
-#ifdef VIK_CONFIG_GOOGLE
{ { "RouteFinder", "vik-icon-Route Finder", N_("Route _Finder"), "<control><shift>F", N_("Route Finder"), 0 },
(VikToolConstructorFunc) tool_route_finder_create, NULL, NULL, NULL,
(VikToolMouseFunc) tool_route_finder_click, NULL, NULL, (VikToolKeyFunc) NULL,
FALSE,
GDK_CURSOR_IS_PIXMAP, &cursor_route_finder_pixbuf },
-#endif
};
enum {
@@ -436,16 +460,14 @@ enum {
TOOL_EDIT_WAYPOINT,
TOOL_EDIT_TRACKPOINT,
TOOL_SHOW_PICTURE,
-#ifdef VIK_CONFIG_GOOGLE
TOOL_ROUTE_FINDER,
-#endif
NUM_TOOLS
};
/****** PARAMETERS ******/
-static gchar *params_groups[] = { N_("Waypoints"), N_("Tracks"), N_("Waypoint Images") };
-enum { GROUP_WAYPOINTS, GROUP_TRACKS, GROUP_IMAGES };
+static gchar *params_groups[] = { N_("Waypoints"), N_("Tracks"), N_("Waypoint Images"), N_("Tracks Advanced") };
+enum { GROUP_WAYPOINTS, GROUP_TRACKS, GROUP_IMAGES, GROUP_TRACKS_ADV };
static gchar *params_drawmodes[] = { N_("Draw by Track"), N_("Draw by Speed"), N_("All Tracks Same Color"), NULL };
static gchar *params_wpsymbols[] = { N_("Filled Square"), N_("Square"), N_("Circle"), N_("X"), 0 };
@@ -483,46 +505,90 @@ static gchar* params_font_sizes[] = {
N_("Extra Extra Large"),
NULL };
+// Needs to align with vik_layer_sort_order_t
+static gchar* params_sort_order[] = {
+ N_("None"),
+ N_("Name Ascending"),
+ N_("Name Descending"),
+ NULL
+};
+
+static VikLayerParamData black_color_default ( void ) {
+ VikLayerParamData data; gdk_color_parse ( "#000000", &data.c ); return data; // Black
+}
+static VikLayerParamData drawmode_default ( void ) { return VIK_LPD_UINT ( DRAWMODE_BY_TRACK ); }
+static VikLayerParamData line_thickness_default ( void ) { return VIK_LPD_UINT ( 1 ); }
+static VikLayerParamData trkpointsize_default ( void ) { return VIK_LPD_UINT ( MIN_POINT_SIZE ); }
+static VikLayerParamData trkdirectionsize_default ( void ) { return VIK_LPD_UINT ( 5 ); }
+static VikLayerParamData bg_line_thickness_default ( void ) { return VIK_LPD_UINT ( 0 ); }
+static VikLayerParamData trackbgcolor_default ( void ) {
+ VikLayerParamData data; gdk_color_parse ( "#FFFFFF", &data.c ); return data; // White
+}
+static VikLayerParamData elevation_factor_default ( void ) { return VIK_LPD_UINT ( 30 ); }
+static VikLayerParamData stop_length_default ( void ) { return VIK_LPD_UINT ( 60 ); }
+static VikLayerParamData speed_factor_default ( void ) { return VIK_LPD_DOUBLE ( 30.0 ); }
+
+static VikLayerParamData tnfontsize_default ( void ) { return VIK_LPD_UINT ( FS_MEDIUM ); }
+static VikLayerParamData wpfontsize_default ( void ) { return VIK_LPD_UINT ( FS_MEDIUM ); }
+static VikLayerParamData wptextcolor_default ( void ) {
+ VikLayerParamData data; gdk_color_parse ( "#FFFFFF", &data.c ); return data; // White
+}
+static VikLayerParamData wpbgcolor_default ( void ) {
+ VikLayerParamData data; gdk_color_parse ( "#8383C4", &data.c ); return data; // Kind of Blue
+}
+static VikLayerParamData wpsize_default ( void ) { return VIK_LPD_UINT ( 4 ); }
+static VikLayerParamData wpsymbol_default ( void ) { return VIK_LPD_UINT ( WP_SYMBOL_FILLED_SQUARE ); }
+
+static VikLayerParamData image_size_default ( void ) { return VIK_LPD_UINT ( 64 ); }
+static VikLayerParamData image_alpha_default ( void ) { return VIK_LPD_UINT ( 255 ); }
+static VikLayerParamData image_cache_size_default ( void ) { return VIK_LPD_UINT ( 300 ); }
+
+static VikLayerParamData sort_order_default ( void ) { return VIK_LPD_UINT ( 0 ); }
+
VikLayerParam trw_layer_params[] = {
- { "tracks_visible", VIK_LAYER_PARAM_BOOLEAN, VIK_LAYER_NOT_IN_PROPERTIES, NULL, 0, NULL, NULL },
- { "waypoints_visible", VIK_LAYER_PARAM_BOOLEAN, VIK_LAYER_NOT_IN_PROPERTIES, NULL, 0, NULL, NULL },
- { "routes_visible", VIK_LAYER_PARAM_BOOLEAN, VIK_LAYER_NOT_IN_PROPERTIES, NULL, 0, NULL, NULL },
-
- { "drawmode", VIK_LAYER_PARAM_UINT, GROUP_TRACKS, N_("Track Drawing Mode:"), VIK_LAYER_WIDGET_COMBOBOX, params_drawmodes, NULL, NULL },
- { "trackcolor", VIK_LAYER_PARAM_COLOR, GROUP_TRACKS, N_("All Tracks Color:"), VIK_LAYER_WIDGET_COLOR, NULL, NULL,
- N_("The color used when 'All Tracks Same Color' drawing mode is selected") },
- { "drawlines", VIK_LAYER_PARAM_BOOLEAN, GROUP_TRACKS, N_("Draw Track Lines"), VIK_LAYER_WIDGET_CHECKBUTTON, NULL, NULL, NULL },
- { "line_thickness", VIK_LAYER_PARAM_UINT, GROUP_TRACKS, N_("Track Thickness:"), VIK_LAYER_WIDGET_SPINBUTTON, &params_scales[0], NULL, NULL },
- { "drawdirections", VIK_LAYER_PARAM_BOOLEAN, GROUP_TRACKS, N_("Draw Track Direction"), VIK_LAYER_WIDGET_CHECKBUTTON, NULL, NULL, NULL },
- { "trkdirectionsize", VIK_LAYER_PARAM_UINT, GROUP_TRACKS, N_("Direction Size:"), VIK_LAYER_WIDGET_SPINBUTTON, &params_scales[11], NULL, NULL },
- { "drawpoints", VIK_LAYER_PARAM_BOOLEAN, GROUP_TRACKS, N_("Draw Trackpoints"), VIK_LAYER_WIDGET_CHECKBUTTON, NULL, NULL, NULL },
- { "trkpointsize", VIK_LAYER_PARAM_UINT, GROUP_TRACKS, N_("Trackpoint Size:"), VIK_LAYER_WIDGET_SPINBUTTON, &params_scales[10], NULL, NULL },
- { "drawelevation", VIK_LAYER_PARAM_BOOLEAN, GROUP_TRACKS, N_("Draw Elevation"), VIK_LAYER_WIDGET_CHECKBUTTON, NULL, NULL, NULL },
- { "elevation_factor", VIK_LAYER_PARAM_UINT, GROUP_TRACKS, N_("Draw Elevation Height %:"), VIK_LAYER_WIDGET_HSCALE, &params_scales[9], NULL, NULL },
-
- { "drawstops", VIK_LAYER_PARAM_BOOLEAN, GROUP_TRACKS, N_("Draw Stops"), VIK_LAYER_WIDGET_CHECKBUTTON, NULL, NULL,
- N_("Whether to draw a marker when trackpoints are at the same position but over the minimum stop length apart in time") },
- { "stop_length", VIK_LAYER_PARAM_UINT, GROUP_TRACKS, N_("Min Stop Length (seconds):"), VIK_LAYER_WIDGET_SPINBUTTON, &params_scales[8], NULL, NULL },
-
- { "bg_line_thickness", VIK_LAYER_PARAM_UINT, GROUP_TRACKS, N_("Track BG Thickness:"), VIK_LAYER_WIDGET_SPINBUTTON, &params_scales[6], NULL, NULL},
- { "trackbgcolor", VIK_LAYER_PARAM_COLOR, GROUP_TRACKS, N_("Track Background Color"), VIK_LAYER_WIDGET_COLOR, NULL, NULL, NULL },
- { "speed_factor", VIK_LAYER_PARAM_DOUBLE, GROUP_TRACKS, N_("Draw by Speed Factor (%):"), VIK_LAYER_WIDGET_HSCALE, &params_scales[1], NULL,
- N_("The percentage factor away from the average speed determining the color used") },
-
- { "drawlabels", VIK_LAYER_PARAM_BOOLEAN, GROUP_WAYPOINTS, N_("Draw Labels"), VIK_LAYER_WIDGET_CHECKBUTTON, NULL, NULL, NULL },
- { "wpfontsize", VIK_LAYER_PARAM_UINT, GROUP_WAYPOINTS, N_("Waypoint Font Size:"), VIK_LAYER_WIDGET_COMBOBOX, params_font_sizes, NULL, NULL },
- { "wpcolor", VIK_LAYER_PARAM_COLOR, GROUP_WAYPOINTS, N_("Waypoint Color:"), VIK_LAYER_WIDGET_COLOR, NULL, NULL, NULL },
- { "wptextcolor", VIK_LAYER_PARAM_COLOR, GROUP_WAYPOINTS, N_("Waypoint Text:"), VIK_LAYER_WIDGET_COLOR, NULL, NULL, NULL },
- { "wpbgcolor", VIK_LAYER_PARAM_COLOR, GROUP_WAYPOINTS, N_("Background:"), VIK_LAYER_WIDGET_COLOR, NULL, NULL, NULL },
- { "wpbgand", VIK_LAYER_PARAM_BOOLEAN, GROUP_WAYPOINTS, N_("Fake BG Color Translucency:"), VIK_LAYER_WIDGET_CHECKBUTTON, NULL, NULL, NULL },
- { "wpsymbol", VIK_LAYER_PARAM_UINT, GROUP_WAYPOINTS, N_("Waypoint marker:"), VIK_LAYER_WIDGET_COMBOBOX, params_wpsymbols, NULL, NULL },
- { "wpsize", VIK_LAYER_PARAM_UINT, GROUP_WAYPOINTS, N_("Waypoint size:"), VIK_LAYER_WIDGET_SPINBUTTON, &params_scales[7], NULL, NULL },
- { "wpsyms", VIK_LAYER_PARAM_BOOLEAN, GROUP_WAYPOINTS, N_("Draw Waypoint Symbols:"), VIK_LAYER_WIDGET_CHECKBUTTON, NULL, NULL, NULL },
-
- { "drawimages", VIK_LAYER_PARAM_BOOLEAN, GROUP_IMAGES, N_("Draw Waypoint Images"), VIK_LAYER_WIDGET_CHECKBUTTON, NULL, NULL, NULL },
- { "image_size", VIK_LAYER_PARAM_UINT, GROUP_IMAGES, N_("Image Size (pixels):"), VIK_LAYER_WIDGET_HSCALE, &params_scales[3], NULL, NULL },
- { "image_alpha", VIK_LAYER_PARAM_UINT, GROUP_IMAGES, N_("Image Alpha:"), VIK_LAYER_WIDGET_HSCALE, &params_scales[4], NULL, NULL },
- { "image_cache_size", VIK_LAYER_PARAM_UINT, GROUP_IMAGES, N_("Image Memory Cache Size:"), VIK_LAYER_WIDGET_HSCALE, &params_scales[5], NULL, NULL },
+ { VIK_LAYER_TRW, "tracks_visible", VIK_LAYER_PARAM_BOOLEAN, VIK_LAYER_NOT_IN_PROPERTIES, NULL, 0, NULL, NULL, NULL, vik_lpd_true_default, NULL, NULL },
+ { VIK_LAYER_TRW, "waypoints_visible", VIK_LAYER_PARAM_BOOLEAN, VIK_LAYER_NOT_IN_PROPERTIES, NULL, 0, NULL, NULL, NULL, vik_lpd_true_default, NULL, NULL },
+ { VIK_LAYER_TRW, "routes_visible", VIK_LAYER_PARAM_BOOLEAN, VIK_LAYER_NOT_IN_PROPERTIES, NULL, 0, NULL, NULL, NULL, vik_lpd_true_default, NULL, NULL },
+
+ { VIK_LAYER_TRW, "trackdrawlabels", VIK_LAYER_PARAM_BOOLEAN, GROUP_TRACKS, N_("Draw Labels"), VIK_LAYER_WIDGET_CHECKBUTTON, NULL, NULL,
+ N_("Note: the individual track controls what labels may be displayed"), vik_lpd_true_default, NULL, NULL },
+ { VIK_LAYER_TRW, "trackfontsize", VIK_LAYER_PARAM_UINT, GROUP_TRACKS_ADV, N_("Track Labels Font Size:"), VIK_LAYER_WIDGET_COMBOBOX, params_font_sizes, NULL, NULL, tnfontsize_default, NULL, NULL },
+ { VIK_LAYER_TRW, "drawmode", VIK_LAYER_PARAM_UINT, GROUP_TRACKS, N_("Track Drawing Mode:"), VIK_LAYER_WIDGET_COMBOBOX, params_drawmodes, NULL, NULL, drawmode_default, NULL, NULL },
+ { VIK_LAYER_TRW, "trackcolor", VIK_LAYER_PARAM_COLOR, GROUP_TRACKS, N_("All Tracks Color:"), VIK_LAYER_WIDGET_COLOR, NULL, NULL,
+ N_("The color used when 'All Tracks Same Color' drawing mode is selected"), black_color_default, NULL, NULL },
+ { VIK_LAYER_TRW, "drawlines", VIK_LAYER_PARAM_BOOLEAN, GROUP_TRACKS, N_("Draw Track Lines"), VIK_LAYER_WIDGET_CHECKBUTTON, NULL, NULL, NULL, vik_lpd_true_default, NULL, NULL },
+ { VIK_LAYER_TRW, "line_thickness", VIK_LAYER_PARAM_UINT, GROUP_TRACKS_ADV, N_("Track Thickness:"), VIK_LAYER_WIDGET_SPINBUTTON, &params_scales[0], NULL, NULL, line_thickness_default, NULL, NULL },
+ { VIK_LAYER_TRW, "drawdirections", VIK_LAYER_PARAM_BOOLEAN, GROUP_TRACKS, N_("Draw Track Direction"), VIK_LAYER_WIDGET_CHECKBUTTON, NULL, NULL, NULL, vik_lpd_false_default, NULL, NULL },
+ { VIK_LAYER_TRW, "trkdirectionsize", VIK_LAYER_PARAM_UINT, GROUP_TRACKS_ADV, N_("Direction Size:"), VIK_LAYER_WIDGET_SPINBUTTON, &params_scales[11], NULL, NULL, trkdirectionsize_default, NULL, NULL },
+ { VIK_LAYER_TRW, "drawpoints", VIK_LAYER_PARAM_BOOLEAN, GROUP_TRACKS, N_("Draw Trackpoints"), VIK_LAYER_WIDGET_CHECKBUTTON, NULL, NULL, NULL, vik_lpd_true_default, NULL, NULL },
+ { VIK_LAYER_TRW, "trkpointsize", VIK_LAYER_PARAM_UINT, GROUP_TRACKS_ADV, N_("Trackpoint Size:"), VIK_LAYER_WIDGET_SPINBUTTON, &params_scales[10], NULL, NULL, trkpointsize_default, NULL, NULL },
+ { VIK_LAYER_TRW, "drawelevation", VIK_LAYER_PARAM_BOOLEAN, GROUP_TRACKS, N_("Draw Elevation"), VIK_LAYER_WIDGET_CHECKBUTTON, NULL, NULL, NULL, vik_lpd_false_default, NULL, NULL },
+ { VIK_LAYER_TRW, "elevation_factor", VIK_LAYER_PARAM_UINT, GROUP_TRACKS_ADV, N_("Draw Elevation Height %:"), VIK_LAYER_WIDGET_HSCALE, &params_scales[9], NULL, NULL, elevation_factor_default, NULL, NULL },
+ { VIK_LAYER_TRW, "drawstops", VIK_LAYER_PARAM_BOOLEAN, GROUP_TRACKS, N_("Draw Stops"), VIK_LAYER_WIDGET_CHECKBUTTON, NULL, NULL,
+ N_("Whether to draw a marker when trackpoints are at the same position but over the minimum stop length apart in time"), vik_lpd_false_default, NULL, NULL },
+ { VIK_LAYER_TRW, "stop_length", VIK_LAYER_PARAM_UINT, GROUP_TRACKS_ADV, N_("Min Stop Length (seconds):"), VIK_LAYER_WIDGET_SPINBUTTON, &params_scales[8], NULL, NULL, stop_length_default, NULL, NULL },
+
+ { VIK_LAYER_TRW, "bg_line_thickness", VIK_LAYER_PARAM_UINT, GROUP_TRACKS_ADV, N_("Track BG Thickness:"), VIK_LAYER_WIDGET_SPINBUTTON, &params_scales[6], NULL, NULL, bg_line_thickness_default, NULL, NULL },
+ { VIK_LAYER_TRW, "trackbgcolor", VIK_LAYER_PARAM_COLOR, GROUP_TRACKS_ADV, N_("Track Background Color"), VIK_LAYER_WIDGET_COLOR, NULL, NULL, NULL, trackbgcolor_default, NULL, NULL },
+ { VIK_LAYER_TRW, "speed_factor", VIK_LAYER_PARAM_DOUBLE, GROUP_TRACKS_ADV, N_("Draw by Speed Factor (%):"), VIK_LAYER_WIDGET_HSCALE, &params_scales[1], NULL,
+ N_("The percentage factor away from the average speed determining the color used"), speed_factor_default, NULL, NULL },
+ { VIK_LAYER_TRW, "tracksortorder", VIK_LAYER_PARAM_UINT, GROUP_TRACKS_ADV, N_("Track Sort Order:"), VIK_LAYER_WIDGET_COMBOBOX, params_sort_order, NULL, NULL, sort_order_default, NULL, NULL },
+
+ { VIK_LAYER_TRW, "drawlabels", VIK_LAYER_PARAM_BOOLEAN, GROUP_WAYPOINTS, N_("Draw Labels"), VIK_LAYER_WIDGET_CHECKBUTTON, NULL, NULL, NULL, vik_lpd_true_default, NULL, NULL },
+ { VIK_LAYER_TRW, "wpfontsize", VIK_LAYER_PARAM_UINT, GROUP_WAYPOINTS, N_("Waypoint Font Size:"), VIK_LAYER_WIDGET_COMBOBOX, params_font_sizes, NULL, NULL, wpfontsize_default, NULL, NULL },
+ { VIK_LAYER_TRW, "wpcolor", VIK_LAYER_PARAM_COLOR, GROUP_WAYPOINTS, N_("Waypoint Color:"), VIK_LAYER_WIDGET_COLOR, NULL, NULL, NULL, black_color_default, NULL, NULL },
+ { VIK_LAYER_TRW, "wptextcolor", VIK_LAYER_PARAM_COLOR, GROUP_WAYPOINTS, N_("Waypoint Text:"), VIK_LAYER_WIDGET_COLOR, NULL, NULL, NULL, wptextcolor_default, NULL, NULL },
+ { VIK_LAYER_TRW, "wpbgcolor", VIK_LAYER_PARAM_COLOR, GROUP_WAYPOINTS, N_("Background:"), VIK_LAYER_WIDGET_COLOR, NULL, NULL, NULL, wpbgcolor_default, NULL, NULL },
+ { VIK_LAYER_TRW, "wpbgand", VIK_LAYER_PARAM_BOOLEAN, GROUP_WAYPOINTS, N_("Fake BG Color Translucency:"), VIK_LAYER_WIDGET_CHECKBUTTON, NULL, NULL, NULL, vik_lpd_false_default, NULL, NULL },
+ { VIK_LAYER_TRW, "wpsymbol", VIK_LAYER_PARAM_UINT, GROUP_WAYPOINTS, N_("Waypoint marker:"), VIK_LAYER_WIDGET_COMBOBOX, params_wpsymbols, NULL, NULL, wpsymbol_default, NULL, NULL },
+ { VIK_LAYER_TRW, "wpsize", VIK_LAYER_PARAM_UINT, GROUP_WAYPOINTS, N_("Waypoint size:"), VIK_LAYER_WIDGET_SPINBUTTON, &params_scales[7], NULL, NULL, wpsize_default, NULL, NULL },
+ { VIK_LAYER_TRW, "wpsyms", VIK_LAYER_PARAM_BOOLEAN, GROUP_WAYPOINTS, N_("Draw Waypoint Symbols:"), VIK_LAYER_WIDGET_CHECKBUTTON, NULL, NULL, NULL, vik_lpd_true_default, NULL, NULL },
+ { VIK_LAYER_TRW, "wpsortorder", VIK_LAYER_PARAM_UINT, GROUP_WAYPOINTS, N_("Waypoint Sort Order:"), VIK_LAYER_WIDGET_COMBOBOX, params_sort_order, NULL, NULL, sort_order_default, NULL, NULL },
+
+ { VIK_LAYER_TRW, "drawimages", VIK_LAYER_PARAM_BOOLEAN, GROUP_IMAGES, N_("Draw Waypoint Images"), VIK_LAYER_WIDGET_CHECKBUTTON, NULL, NULL, NULL, vik_lpd_true_default, NULL, NULL },
+ { VIK_LAYER_TRW, "image_size", VIK_LAYER_PARAM_UINT, GROUP_IMAGES, N_("Image Size (pixels):"), VIK_LAYER_WIDGET_HSCALE, &params_scales[3], NULL, NULL, image_size_default, NULL, NULL },
+ { VIK_LAYER_TRW, "image_alpha", VIK_LAYER_PARAM_UINT, GROUP_IMAGES, N_("Image Alpha:"), VIK_LAYER_WIDGET_HSCALE, &params_scales[4], NULL, NULL, image_alpha_default, NULL, NULL },
+ { VIK_LAYER_TRW, "image_cache_size", VIK_LAYER_PARAM_UINT, GROUP_IMAGES, N_("Image Memory Cache Size:"), VIK_LAYER_WIDGET_HSCALE, &params_scales[5], NULL, NULL, image_cache_size_default, NULL, NULL },
};
// ENUMERATION MUST BE IN THE SAME ORDER AS THE NAMED PARAMS ABOVE
@@ -532,6 +598,8 @@ enum {
PARAM_WV,
PARAM_RV,
// Tracks
+ PARAM_TDL,
+ PARAM_TLFONTSIZE,
PARAM_DM,
PARAM_TC,
PARAM_DL,
@@ -547,6 +615,7 @@ enum {
PARAM_BLT,
PARAM_TBGC,
PARAM_TDSF,
+ PARAM_TSO,
// Waypoints
PARAM_DLA,
PARAM_WPFONTSIZE,
@@ -557,6 +626,7 @@ enum {
PARAM_WPSYM,
PARAM_WPSIZE,
PARAM_WPSYMS,
+ PARAM_WPSO,
// WP images
PARAM_DI,
PARAM_IS,
@@ -572,11 +642,10 @@ enum {
/****** END PARAMETERS ******/
-static VikTrwLayer* trw_layer_new ( gint drawmode );
/* Layer Interface function definitions */
static VikTrwLayer* trw_layer_create ( VikViewport *vp );
static void trw_layer_realize ( VikTrwLayer *vtl, VikTreeview *vt, GtkTreeIter *layer_iter );
-static void trw_layer_post_read ( VikTrwLayer *vtl, GtkWidget *vvp );
+static void trw_layer_post_read ( VikTrwLayer *vtl, GtkWidget *vvp, gboolean from_file );
static void trw_layer_free ( VikTrwLayer *trwlayer );
static void trw_layer_draw ( VikTrwLayer *l, gpointer data );
static void trw_layer_change_coord_mode ( VikTrwLayer *vtl, VikCoordMode dest_mode );
@@ -820,6 +889,9 @@ static gboolean trw_layer_paste_item ( VikTrwLayer *vtl, gint subtype, guint8 *i
name = trw_layer_new_unique_sublayer_name(vtl, VIK_TRW_LAYER_SUBLAYER_WAYPOINT, w->name);
vik_trw_layer_add_waypoint ( vtl, name, w );
waypoint_convert (NULL, w, &vtl->coord_mode);
+ g_free ( name );
+
+ trw_layer_calculate_bounds_waypoints ( vtl );
// Consider if redraw necessary for the new item
if ( vtl->vl.visible && vtl->waypoints_visible && w->visible )
@@ -835,6 +907,7 @@ static gboolean trw_layer_paste_item ( VikTrwLayer *vtl, gint subtype, guint8 *i
name = trw_layer_new_unique_sublayer_name(vtl, VIK_TRW_LAYER_SUBLAYER_TRACK, t->name);
vik_trw_layer_add_track ( vtl, name, t );
vik_track_convert (t, vtl->coord_mode);
+ g_free ( name );
// Consider if redraw necessary for the new item
if ( vtl->vl.visible && vtl->tracks_visible && t->visible )
@@ -850,6 +923,7 @@ static gboolean trw_layer_paste_item ( VikTrwLayer *vtl, gint subtype, guint8 *i
name = trw_layer_new_unique_sublayer_name(vtl, VIK_TRW_LAYER_SUBLAYER_ROUTE, t->name);
vik_trw_layer_add_route ( vtl, name, t );
vik_track_convert (t, vtl->coord_mode);
+ g_free ( name );
// Consider if redraw necessary for the new item
if ( vtl->vl.visible && vtl->routes_visible && t->visible )
@@ -873,10 +947,26 @@ static gboolean trw_layer_set_param ( VikTrwLayer *vtl, guint16 id, VikLayerPara
case PARAM_TV: vtl->tracks_visible = data.b; break;
case PARAM_WV: vtl->waypoints_visible = data.b; break;
case PARAM_RV: vtl->routes_visible = data.b; break;
+ case PARAM_TDL: vtl->track_draw_labels = data.b; break;
+ case PARAM_TLFONTSIZE:
+ if ( data.u < FS_NUM_SIZES ) {
+ vtl->track_font_size = data.u;
+ g_free ( vtl->track_fsize_str );
+ switch ( vtl->track_font_size ) {
+ case FS_XX_SMALL: vtl->track_fsize_str = g_strdup ( "xx-small" ); break;
+ case FS_X_SMALL: vtl->track_fsize_str = g_strdup ( "x-small" ); break;
+ case FS_SMALL: vtl->track_fsize_str = g_strdup ( "small" ); break;
+ case FS_LARGE: vtl->track_fsize_str = g_strdup ( "large" ); break;
+ case FS_X_LARGE: vtl->track_fsize_str = g_strdup ( "x-large" ); break;
+ case FS_XX_LARGE: vtl->track_fsize_str = g_strdup ( "xx-large" ); break;
+ default: vtl->track_fsize_str = g_strdup ( "medium" ); break;
+ }
+ }
+ break;
case PARAM_DM: vtl->drawmode = data.u; break;
case PARAM_TC:
vtl->track_color = data.c;
- trw_layer_new_track_gcs ( vtl, vp );
+ if ( vp ) trw_layer_new_track_gcs ( vtl, vp );
break;
case PARAM_DP: vtl->drawpoints = data.b; break;
case PARAM_DPS:
@@ -900,17 +990,22 @@ static gboolean trw_layer_set_param ( VikTrwLayer *vtl, guint16 id, VikLayerPara
case PARAM_LT: if ( data.u > 0 && data.u < 15 && data.u != vtl->line_thickness )
{
vtl->line_thickness = data.u;
- trw_layer_new_track_gcs ( vtl, vp );
+ if ( vp ) trw_layer_new_track_gcs ( vtl, vp );
}
break;
case PARAM_BLT: if ( data.u <= 8 && data.u != vtl->bg_line_thickness )
{
vtl->bg_line_thickness = data.u;
- trw_layer_new_track_gcs ( vtl, vp );
+ if ( vp ) trw_layer_new_track_gcs ( vtl, vp );
}
break;
- case PARAM_TBGC: gdk_gc_set_rgb_fg_color(vtl->track_bg_gc, &(data.c)); break;
+ case PARAM_TBGC:
+ vtl->track_bg_color = data.c;
+ if ( vtl->track_bg_gc )
+ gdk_gc_set_rgb_fg_color(vtl->track_bg_gc, &(vtl->track_bg_color));
+ break;
case PARAM_TDSF: vtl->track_draw_speed_factor = data.d; break;
+ case PARAM_TSO: if ( data.u < VL_SO_LAST ) vtl->track_sort_order = data.u; break;
case PARAM_DLA: vtl->drawlabels = data.b; break;
case PARAM_DI: vtl->drawimages = data.b; break;
case PARAM_IS: if ( data.u != vtl->image_size )
@@ -926,14 +1021,45 @@ static gboolean trw_layer_set_param ( VikTrwLayer *vtl, guint16 id, VikLayerPara
while ( vtl->image_cache->length > vtl->image_cache_size ) /* if shrinking cache_size, free pixbuf ASAP */
cached_pixbuf_free ( g_queue_pop_tail ( vtl->image_cache ) );
break;
- case PARAM_WPC: gdk_gc_set_rgb_fg_color(vtl->waypoint_gc, &(data.c)); break;
- case PARAM_WPTC: gdk_gc_set_rgb_fg_color(vtl->waypoint_text_gc, &(data.c)); break;
- case PARAM_WPBC: gdk_gc_set_rgb_fg_color(vtl->waypoint_bg_gc, &(data.c)); break;
- case PARAM_WPBA: gdk_gc_set_function(vtl->waypoint_bg_gc, data.b ? GDK_AND : GDK_COPY ); break;
+ case PARAM_WPC:
+ vtl->waypoint_color = data.c;
+ if ( vtl->waypoint_gc )
+ gdk_gc_set_rgb_fg_color(vtl->waypoint_gc, &(vtl->waypoint_color));
+ break;
+ case PARAM_WPTC:
+ vtl->waypoint_text_color = data.c;
+ if ( vtl->waypoint_text_gc )
+ gdk_gc_set_rgb_fg_color(vtl->waypoint_text_gc, &(vtl->waypoint_text_color));
+ break;
+ case PARAM_WPBC:
+ vtl->waypoint_bg_color = data.c;
+ if ( vtl->waypoint_bg_gc )
+ gdk_gc_set_rgb_fg_color(vtl->waypoint_bg_gc, &(vtl->waypoint_bg_color));
+ break;
+ case PARAM_WPBA:
+ vtl->wpbgand = data.b;
+ if ( vtl->waypoint_bg_gc )
+ gdk_gc_set_function(vtl->waypoint_bg_gc, data.b ? GDK_AND : GDK_COPY );
+ break;
case PARAM_WPSYM: if ( data.u < WP_NUM_SYMBOLS ) vtl->wp_symbol = data.u; break;
case PARAM_WPSIZE: if ( data.u > 0 && data.u <= 64 ) vtl->wp_size = data.u; break;
case PARAM_WPSYMS: vtl->wp_draw_symbols = data.b; break;
- case PARAM_WPFONTSIZE: if ( data.u < FS_NUM_SIZES ) vtl->wp_font_size = data.u; break;
+ case PARAM_WPFONTSIZE:
+ if ( data.u < FS_NUM_SIZES ) {
+ vtl->wp_font_size = data.u;
+ g_free ( vtl->wp_fsize_str );
+ switch ( vtl->wp_font_size ) {
+ case FS_XX_SMALL: vtl->wp_fsize_str = g_strdup ( "xx-small" ); break;
+ case FS_X_SMALL: vtl->wp_fsize_str = g_strdup ( "x-small" ); break;
+ case FS_SMALL: vtl->wp_fsize_str = g_strdup ( "small" ); break;
+ case FS_LARGE: vtl->wp_fsize_str = g_strdup ( "large" ); break;
+ case FS_X_LARGE: vtl->wp_fsize_str = g_strdup ( "x-large" ); break;
+ case FS_XX_LARGE: vtl->wp_fsize_str = g_strdup ( "xx-large" ); break;
+ default: vtl->wp_fsize_str = g_strdup ( "medium" ); break;
+ }
+ }
+ break;
+ case PARAM_WPSO: if ( data.u < VL_SO_LAST ) vtl->wp_sort_order = data.u; break;
}
return TRUE;
}
@@ -946,6 +1072,8 @@ static VikLayerParamData trw_layer_get_param ( VikTrwLayer *vtl, guint16 id, gbo
case PARAM_TV: rv.b = vtl->tracks_visible; break;
case PARAM_WV: rv.b = vtl->waypoints_visible; break;
case PARAM_RV: rv.b = vtl->routes_visible; break;
+ case PARAM_TDL: rv.b = vtl->track_draw_labels; break;
+ case PARAM_TLFONTSIZE: rv.u = vtl->track_font_size; break;
case PARAM_DM: rv.u = vtl->drawmode; break;
case PARAM_TC: rv.c = vtl->track_color; break;
case PARAM_DP: rv.b = vtl->drawpoints; break;
@@ -961,19 +1089,21 @@ static VikLayerParamData trw_layer_get_param ( VikTrwLayer *vtl, guint16 id, gbo
case PARAM_BLT: rv.u = vtl->bg_line_thickness; break;
case PARAM_DLA: rv.b = vtl->drawlabels; break;
case PARAM_DI: rv.b = vtl->drawimages; break;
- case PARAM_TBGC: vik_gc_get_fg_color(vtl->track_bg_gc, &(rv.c)); break;
+ case PARAM_TBGC: rv.c = vtl->track_bg_color; break;
case PARAM_TDSF: rv.d = vtl->track_draw_speed_factor; break;
+ case PARAM_TSO: rv.u = vtl->track_sort_order; break;
case PARAM_IS: rv.u = vtl->image_size; break;
case PARAM_IA: rv.u = vtl->image_alpha; break;
case PARAM_ICS: rv.u = vtl->image_cache_size; break;
- case PARAM_WPC: vik_gc_get_fg_color(vtl->waypoint_gc, &(rv.c)); break;
- case PARAM_WPTC: vik_gc_get_fg_color(vtl->waypoint_text_gc, &(rv.c)); break;
- case PARAM_WPBC: vik_gc_get_fg_color(vtl->waypoint_bg_gc, &(rv.c)); break;
- case PARAM_WPBA: rv.b = (vik_gc_get_function(vtl->waypoint_bg_gc)==GDK_AND); break;
+ case PARAM_WPC: rv.c = vtl->waypoint_color; break;
+ case PARAM_WPTC: rv.c = vtl->waypoint_text_color; break;
+ case PARAM_WPBC: rv.c = vtl->waypoint_bg_color; break;
+ case PARAM_WPBA: rv.b = vtl->wpbgand; break;
case PARAM_WPSYM: rv.u = vtl->wp_symbol; break;
case PARAM_WPSIZE: rv.u = vtl->wp_size; break;
case PARAM_WPSYMS: rv.b = vtl->wp_draw_symbols; break;
case PARAM_WPFONTSIZE: rv.u = vtl->wp_font_size; break;
+ case PARAM_WPSO: rv.u = vtl->wp_sort_order; break;
}
return rv;
}
@@ -1100,6 +1230,9 @@ static VikTrwLayer *trw_layer_unmarshall( guint8 *data, gint len, VikViewport *v
}
//g_debug ("consumed_length %d vs len %d", consumed_length, len);
+ // Not stored anywhere else so need to regenerate
+ trw_layer_calculate_bounds_waypoints ( vtl );
+
return vtl;
}
@@ -1128,7 +1261,9 @@ static guint strcase_hash(gconstpointer v)
}
*/
-static VikTrwLayer* trw_layer_new ( gint drawmode )
+// Stick a 1 at the end of the function name to make it more unique
+// thus more easily searchable in a simple text editor
+static VikTrwLayer* trw_layer_new1 ( VikViewport *vvp )
{
VikTrwLayer *rv = VIK_TRW_LAYER ( g_object_new ( VIK_TRW_LAYER_TYPE, NULL ) );
vik_layer_set_type ( VIK_LAYER(rv), VIK_LAYER_TRW );
@@ -1152,27 +1287,16 @@ static VikTrwLayer* trw_layer_new ( gint drawmode )
rv->routes = g_hash_table_new_full ( g_direct_hash, g_direct_equal, NULL, (GDestroyNotify) vik_track_free );
rv->routes_iters = g_hash_table_new_full ( g_direct_hash, g_direct_equal, NULL, g_free );
- // Default values
+ rv->image_cache = g_queue_new(); // Must be performed before set_params via set_defaults
+
+ vik_layer_set_defaults ( VIK_LAYER(rv), vvp );
+
+ // Param settings that are not available via the GUI
+ // Force to on after processing params (which defaults them to off with a zero value)
rv->waypoints_visible = rv->tracks_visible = rv->routes_visible = TRUE;
- rv->drawmode = drawmode;
- rv->drawpoints = TRUE;
- rv->drawpoints_size = MIN_POINT_SIZE;
- rv->drawdirections_size = 5;
- rv->elevation_factor = 30;
- rv->stop_length = 60;
- rv->drawlines = TRUE;
- rv->track_draw_speed_factor = 30.0;
- rv->line_thickness = 1;
rv->draw_sync_done = TRUE;
rv->draw_sync_do = TRUE;
-
- rv->image_cache = g_queue_new();
- rv->image_size = 64;
- rv->image_alpha = 255;
- rv->image_cache_size = 300;
- rv->drawimages = TRUE;
- rv->drawlabels = TRUE;
// Everything else is 0, FALSE or NULL
return rv;
@@ -1195,7 +1319,10 @@ static void trw_layer_free ( VikTrwLayer *trwlayer )
g_object_ref_sink ( G_OBJECT(trwlayer->wp_right_click_menu) );
if ( trwlayer->track_right_click_menu )
- gtk_object_sink ( GTK_OBJECT(trwlayer->track_right_click_menu) );
+ g_object_ref_sink ( G_OBJECT(trwlayer->track_right_click_menu) );
+
+ if ( trwlayer->tracklabellayout != NULL)
+ g_object_unref ( G_OBJECT ( trwlayer->tracklabellayout ) );
if ( trwlayer->wplabellayout != NULL)
g_object_unref ( G_OBJECT ( trwlayer->wplabellayout ) );
@@ -1209,9 +1336,15 @@ static void trw_layer_free ( VikTrwLayer *trwlayer )
if ( trwlayer->waypoint_bg_gc != NULL )
g_object_unref ( G_OBJECT ( trwlayer->waypoint_bg_gc ) );
+ g_free ( trwlayer->wp_fsize_str );
+ g_free ( trwlayer->track_fsize_str );
+
if ( trwlayer->tpwin != NULL )
gtk_widget_destroy ( GTK_WIDGET(trwlayer->tpwin) );
+ if ( trwlayer->tracks_analysis_dialog != NULL )
+ gtk_widget_destroy ( GTK_WIDGET(trwlayer->tracks_analysis_dialog) );
+
g_list_foreach ( trwlayer->image_cache->head, (GFunc) cached_pixbuf_free, NULL );
g_queue_free ( trwlayer->image_cache );
}
@@ -1254,6 +1387,8 @@ static void init_drawing_params ( struct DrawingParams *dp, VikTrwLayer *vtl, Vi
dp->cn1 = bottomright.north_south;
dp->cn2 = upperleft.north_south;
}
+
+ vik_viewport_get_min_max_lat_lon ( vp, &(dp->bbox.south), &(dp->bbox.north), &(dp->bbox.west), &(dp->bbox.east) );
}
/*
@@ -1288,8 +1423,267 @@ static void draw_utm_skip_insignia ( VikViewport *vvp, GdkGC *gc, gint x, gint y
vik_viewport_draw_line ( vvp, gc, x+5, y-5, x-5, y+5 );
}
+
+static void trw_layer_draw_track_label ( gchar *name, gchar *fgcolour, gchar *bgcolour, struct DrawingParams *dp, VikCoord *coord )
+{
+ gchar *label_markup = g_strdup_printf ( "<span foreground=\"%s\" background=\"%s\" size=\"%s\">%s</span>", fgcolour, bgcolour, dp->vtl->track_fsize_str, name );
+
+ if ( pango_parse_markup ( label_markup, -1, 0, NULL, NULL, NULL, NULL ) )
+ pango_layout_set_markup ( dp->vtl->tracklabellayout, label_markup, -1 );
+ else
+ // Fallback if parse failure
+ pango_layout_set_text ( dp->vtl->tracklabellayout, name, -1 );
+
+ g_free ( label_markup );
+
+ gint label_x, label_y;
+ gint width, height;
+ pango_layout_get_pixel_size ( dp->vtl->tracklabellayout, &width, &height );
+
+ vik_viewport_coord_to_screen ( dp->vp, coord, &label_x, &label_y );
+ vik_viewport_draw_layout ( dp->vp, dp->vtl->track_bg_gc, label_x-width/2, label_y-height/2, dp->vtl->tracklabellayout );
+}
+
+/**
+ * distance_in_preferred_units:
+ * @dist: The source distance in standard SI Units (i.e. metres)
+ *
+ * TODO: This is a generic function that could be moved into globals.c or utils.c
+ *
+ * Probably best used if you have a only few conversions to perform.
+ * However if doing many points (such as on all points along a track) then this may be a bit slow,
+ * since it will be doing the preference check on each call
+ *
+ * Returns: The distance in the units as specified by the preferences
+ */
+static gdouble distance_in_preferred_units ( gdouble dist )
+{
+ gdouble mydist;
+ vik_units_distance_t dist_units = a_vik_get_units_distance ();
+ switch (dist_units) {
+ case VIK_UNITS_DISTANCE_MILES:
+ mydist = VIK_METERS_TO_MILES(dist);
+ break;
+ // VIK_UNITS_DISTANCE_KILOMETRES:
+ default:
+ mydist = dist/1000.0;
+ break;
+ }
+ return mydist;
+}
+
+/**
+ * trw_layer_draw_dist_labels:
+ *
+ * Draw a few labels along a track at nicely seperated distances
+ * This might slow things down if there's many tracks being displayed with this on.
+ */
+static void trw_layer_draw_dist_labels ( struct DrawingParams *dp, VikTrack *trk, gboolean drawing_highlight )
+{
+ static const gdouble chunksd[] = {0.25, 0.5, 1.0, 2.0, 5.0, 10.0, 15.0, 20.0,
+ 25.0, 40.0, 50.0, 75.0, 100.0,
+ 150.0, 200.0, 250.0, 500.0, 1000.0};
+
+ gdouble dist = vik_track_get_length_including_gaps ( trk ) / (trk->max_number_dist_labels+1);
+
+ // Convert to specified unit to find the friendly breakdown value
+ dist = distance_in_preferred_units ( dist );
+
+ gint index = 0;
+ gint i=0;
+ for ( i = 0; i < G_N_ELEMENTS(chunksd); i++ ) {
+ if ( chunksd[i] > dist ) {
+ index = i;
+ dist = chunksd[index];
+ break;
+ }
+ }
+
+ vik_units_distance_t dist_units = a_vik_get_units_distance ();
+
+ for ( i = 1; i < trk->max_number_dist_labels+1; i++ ) {
+ gdouble dist_i = dist * i;
+
+ // Convert distance back into metres for use in finding a trackpoint
+ switch (dist_units) {
+ case VIK_UNITS_DISTANCE_MILES:
+ dist_i = VIK_MILES_TO_METERS(dist_i);
+ break;
+ // VIK_UNITS_DISTANCE_KILOMETRES:
+ default:
+ dist_i = dist_i*1000.0;
+ break;
+ }
+
+ gdouble dist_current = 0.0;
+ VikTrackpoint *tp_current = vik_track_get_tp_by_dist ( trk, dist_i, FALSE, &dist_current );
+ gdouble dist_next = 0.0;
+ VikTrackpoint *tp_next = vik_track_get_tp_by_dist ( trk, dist_i, TRUE, &dist_next );
+
+ gdouble dist_between_tps = fabs (dist_next - dist_current);
+ gdouble ratio = 0.0;
+ // Prevent division by 0 errors
+ if ( dist_between_tps > 0.0 )
+ ratio = fabs(dist_i-dist_current)/dist_between_tps;
+
+ if ( tp_current && tp_next ) {
+ // Construct the name based on the distance value
+ gchar *name;
+ gchar *units;
+ switch (dist_units) {
+ case VIK_UNITS_DISTANCE_MILES:
+ units = g_strdup ( _("miles") );
+ break;
+ // VIK_UNITS_DISTANCE_KILOMETRES:
+ default:
+ units = g_strdup ( _("km") );
+ break;
+ }
+
+ // Convert for display
+ dist_i = distance_in_preferred_units ( dist_i );
+
+ // Make the precision of the output related to the unit size.
+ if ( index == 0 )
+ name = g_strdup_printf ( "%.2f %s", dist_i, units);
+ else if ( index == 1 )
+ name = g_strdup_printf ( "%.1f %s", dist_i, units);
+ else
+ name = g_strdup_printf ( "%d %s", (gint)round(dist_i), units); // TODO single vs plurals
+ g_free ( units );
+
+ struct LatLon ll_current, ll_next;
+ vik_coord_to_latlon ( &tp_current->coord, &ll_current );
+ vik_coord_to_latlon ( &tp_next->coord, &ll_next );
+
+ // positional interpolation
+ // Using a simple ratio - may not be perfectly correct due to lat/long projections
+ // but should be good enough over the small scale that I anticipate usage on
+ struct LatLon ll_new = { ll_current.lat + (ll_next.lat-ll_current.lat)*ratio,
+ ll_current.lon + (ll_next.lon-ll_current.lon)*ratio };
+ VikCoord coord;
+ vik_coord_load_from_latlon ( &coord, dp->vtl->coord_mode, &ll_new );
+
+ gchar *fgcolour;
+ if ( dp->vtl->drawmode == DRAWMODE_BY_TRACK )
+ fgcolour = gdk_color_to_string ( &(trk->color) );
+ else
+ fgcolour = gdk_color_to_string ( &(dp->vtl->track_color) );
+
+ // if highlight mode on, then colour the background in the highlight colour
+ gchar *bgcolour;
+ if ( drawing_highlight )
+ bgcolour = g_strdup ( vik_viewport_get_highlight_color ( dp->vp ) );
+ else
+ bgcolour = gdk_color_to_string ( &(dp->vtl->track_bg_color) );
+
+ trw_layer_draw_track_label ( name, fgcolour, bgcolour, dp, &coord );
+
+ g_free ( fgcolour );
+ g_free ( bgcolour );
+ g_free ( name );
+ }
+ }
+}
+
+/**
+ * trw_layer_draw_track_name_labels:
+ *
+ * Draw a label (or labels) for the track name somewhere depending on the track's properties
+ */
+static void trw_layer_draw_track_name_labels ( struct DrawingParams *dp, VikTrack *trk, gboolean drawing_highlight )
+{
+ gchar *fgcolour;
+ if ( dp->vtl->drawmode == DRAWMODE_BY_TRACK )
+ fgcolour = gdk_color_to_string ( &(trk->color) );
+ else
+ fgcolour = gdk_color_to_string ( &(dp->vtl->track_color) );
+
+ // if highlight mode on, then colour the background in the highlight colour
+ gchar *bgcolour;
+ if ( drawing_highlight )
+ bgcolour = g_strdup ( vik_viewport_get_highlight_color ( dp->vp ) );
+ else
+ bgcolour = gdk_color_to_string ( &(dp->vtl->track_bg_color) );
+
+ gchar *ename = g_markup_escape_text ( trk->name, -1 );
+
+ if ( trk->draw_name_mode == TRACK_DRAWNAME_START_END_CENTRE ||
+ trk->draw_name_mode == TRACK_DRAWNAME_CENTRE ) {
+ struct LatLon average, maxmin[2] = { {0,0}, {0,0} };
+ trw_layer_find_maxmin_tracks ( NULL, trk, maxmin );
+ average.lat = (maxmin[0].lat+maxmin[1].lat)/2;
+ average.lon = (maxmin[0].lon+maxmin[1].lon)/2;
+ VikCoord coord;
+ vik_coord_load_from_latlon ( &coord, dp->vtl->coord_mode, &average );
+
+ trw_layer_draw_track_label ( ename, fgcolour, bgcolour, dp, &coord );
+ }
+
+ if ( trk->draw_name_mode == TRACK_DRAWNAME_CENTRE )
+ // No other labels to draw
+ return;
+
+ GList *ending = g_list_last ( trk->trackpoints );
+ VikCoord begin_coord = VIK_TRACKPOINT(trk->trackpoints->data)->coord;
+ VikCoord end_coord = VIK_TRACKPOINT(ending->data)->coord;
+
+ gboolean done_start_end = FALSE;
+
+ if ( trk->draw_name_mode == TRACK_DRAWNAME_START_END ||
+ trk->draw_name_mode == TRACK_DRAWNAME_START_END_CENTRE ) {
+
+ // This number can be configured via the settings if you really want to change it
+ gdouble distance_diff;
+ if ( ! a_settings_get_double ( "trackwaypoint_start_end_distance_diff", &distance_diff ) )
+ distance_diff = 100.0; // Metres
+
+ if ( vik_coord_diff ( &begin_coord, &end_coord ) < distance_diff ) {
+ // Start and end 'close' together so only draw one label at an average location
+ gint x1, x2, y1, y2;
+ vik_viewport_coord_to_screen ( dp->vp, &begin_coord, &x1, &y1);
+ vik_viewport_coord_to_screen ( dp->vp, &end_coord, &x2, &y2);
+ VikCoord av_coord;
+ vik_viewport_screen_to_coord ( dp->vp, (x1 + x2) / 2, (y1 + y2) / 2, &av_coord );
+
+ gchar *name = g_strdup_printf ( "%s: %s", ename, _("start/end") );
+ trw_layer_draw_track_label ( name, fgcolour, bgcolour, dp, &av_coord );
+ g_free ( name );
+
+ done_start_end = TRUE;
+ }
+ }
+
+ if ( ! done_start_end ) {
+ if ( trk->draw_name_mode == TRACK_DRAWNAME_START ||
+ trk->draw_name_mode == TRACK_DRAWNAME_START_END ||
+ trk->draw_name_mode == TRACK_DRAWNAME_START_END_CENTRE ) {
+ gchar *name_start = g_strdup_printf ( "%s: %s", ename, _("start") );
+ trw_layer_draw_track_label ( name_start, fgcolour, bgcolour, dp, &begin_coord );
+ g_free ( name_start );
+ }
+ // Don't draw end label if this is the one being created
+ if ( trk != dp->vtl->current_track ) {
+ if ( trk->draw_name_mode == TRACK_DRAWNAME_END ||
+ trk->draw_name_mode == TRACK_DRAWNAME_START_END ||
+ trk->draw_name_mode == TRACK_DRAWNAME_START_END_CENTRE ) {
+ gchar *name_end = g_strdup_printf ( "%s: %s", ename, _("end") );
+ trw_layer_draw_track_label ( name_end, fgcolour, bgcolour, dp, &end_coord );
+ g_free ( name_end );
+ }
+ }
+ }
+
+ g_free ( fgcolour );
+ g_free ( bgcolour );
+ g_free ( ename );
+}
+
static void trw_layer_draw_track ( const gpointer id, VikTrack *track, struct DrawingParams *dp, gboolean draw_track_outline )
{
+ if ( ! track->visible )
+ return;
+
/* TODO: this function is a mess, get rid of any redundancy */
GList *list = track->trackpoints;
GdkGC *main_gc;
@@ -1311,9 +1705,6 @@ static void trw_layer_draw_track ( const gpointer id, VikTrack *track, struct Dr
alt_diff = max_alt - min_alt;
}
- if ( ! track->visible )
- return;
-
/* admittedly this is not an efficient way to do it because we go through the whole GC thing all over... */
if ( dp->vtl->bg_line_thickness && !draw_track_outline )
trw_layer_draw_track ( id, track, dp, TRUE );
@@ -1480,9 +1871,9 @@ static void trw_layer_draw_track ( const gpointer id, VikTrack *track, struct Dr
GdkGC *tmp_gc;
if ( ((oldx - x) > 0 && (oldy - y) > 0) || ((oldx - x) < 0 && (oldy - y) < 0))
- tmp_gc = GTK_WIDGET(dp->vp)->style->light_gc[3];
+ tmp_gc = gtk_widget_get_style(GTK_WIDGET(dp->vp))->light_gc[3];
else
- tmp_gc = GTK_WIDGET(dp->vp)->style->dark_gc[0];
+ tmp_gc = gtk_widget_get_style(GTK_WIDGET(dp->vp))->dark_gc[0];
vik_viewport_draw_polygon ( dp->vp, tmp_gc, TRUE, tmp, 4);
vik_viewport_draw_line ( dp->vp, main_gc, oldx, oldy-FIXALTITUDE(list->data), x, y-FIXALTITUDE(list->next->data));
@@ -1549,13 +1940,25 @@ static void trw_layer_draw_track ( const gpointer id, VikTrack *track, struct Dr
useoldvals = FALSE;
}
}
+
+ // Labels drawn after the trackpoints, so the labels are on top
+ if ( dp->vtl->track_draw_labels ) {
+ if ( track->max_number_dist_labels > 0 ) {
+ trw_layer_draw_dist_labels ( dp, track, drawing_highlight );
+ }
+
+ if ( track->draw_name_mode != TRACK_DRAWNAME_NO ) {
+ trw_layer_draw_track_name_labels ( dp, track, drawing_highlight );
+ }
+ }
}
}
-/* the only reason this exists is so that trw_layer_draw_track can first call itself to draw the white track background */
static void trw_layer_draw_track_cb ( const gpointer id, VikTrack *track, struct DrawingParams *dp )
{
- trw_layer_draw_track ( id, track, dp, FALSE );
+ if ( BBOX_INTERSECT ( track->bbox, dp->bbox ) ) {
+ trw_layer_draw_track ( id, track, dp, FALSE );
+ }
}
static void cached_pixbuf_free ( CachedPixbuf *cp )
@@ -1577,7 +1980,6 @@ static void trw_layer_draw_waypoint ( const gpointer id, VikWaypoint *wp, struct
wp->coord.north_south > dp->cn1 && wp->coord.north_south < dp->cn2 ) )
{
gint x, y;
- GdkPixbuf *sym = NULL;
vik_viewport_coord_to_screen ( dp->vp, &(wp->coord), &x, &y );
/* if in shrunken_cache, get that. If not, get and add to shrunken_cache */
@@ -1661,9 +2063,9 @@ static void trw_layer_draw_waypoint ( const gpointer id, VikWaypoint *wp, struct
}
}
- /* DRAW ACTUAL DOT */
- if ( dp->vtl->wp_draw_symbols && wp->symbol && (sym = a_get_wp_sym(wp->symbol)) ) {
- vik_viewport_draw_pixbuf ( dp->vp, sym, 0, 0, x - gdk_pixbuf_get_width(sym)/2, y - gdk_pixbuf_get_height(sym)/2, -1, -1 );
+ // Draw appropriate symbol - either symbol image or simple types
+ if ( dp->vtl->wp_draw_symbols && wp->symbol && wp->symbol_pixbuf ) {
+ vik_viewport_draw_pixbuf ( dp->vp, wp->symbol_pixbuf, 0, 0, x - gdk_pixbuf_get_width(wp->symbol_pixbuf)/2, y - gdk_pixbuf_get_height(wp->symbol_pixbuf)/2, -1, -1 );
}
else if ( wp == dp->vtl->current_wp ) {
switch ( dp->vtl->wp_symbol ) {
@@ -1692,18 +2094,7 @@ static void trw_layer_draw_waypoint ( const gpointer id, VikWaypoint *wp, struct
// Hopefully name won't break the markup (may need to sanitize - g_markup_escape_text())
// Could this stored in the waypoint rather than recreating each pass?
- gchar *fsize = NULL;
- switch (dp->vtl->wp_font_size) {
- case FS_XX_SMALL: fsize = g_strdup ( "xx-small" ); break;
- case FS_X_SMALL: fsize = g_strdup ( "x-small" ); break;
- case FS_SMALL: fsize = g_strdup ( "small" ); break;
- case FS_LARGE: fsize = g_strdup ( "large" ); break;
- case FS_X_LARGE: fsize = g_strdup ( "x-large" ); break;
- case FS_XX_LARGE: fsize = g_strdup ( "xx-large" ); break;
- default: fsize = g_strdup ( "medium" ); break;
- }
-
- gchar *wp_label_markup = g_strdup_printf ( "<span size=\"%s\">%s</span>", fsize, wp->name );
+ gchar *wp_label_markup = g_strdup_printf ( "<span size=\"%s\">%s</span>", dp->vtl->wp_fsize_str, wp->name );
if ( pango_parse_markup ( wp_label_markup, -1, 0, NULL, NULL, NULL, NULL ) )
pango_layout_set_markup ( dp->vtl->wplabellayout, wp_label_markup, -1 );
@@ -1712,12 +2103,11 @@ static void trw_layer_draw_waypoint ( const gpointer id, VikWaypoint *wp, struct
pango_layout_set_text ( dp->vtl->wplabellayout, wp->name, -1 );
g_free ( wp_label_markup );
- g_free ( fsize );
pango_layout_get_pixel_size ( dp->vtl->wplabellayout, &width, &height );
label_x = x - width/2;
- if (sym)
- label_y = y - height - 2 - gdk_pixbuf_get_height(sym)/2;
+ if ( wp->symbol_pixbuf )
+ label_y = y - height - 2 - gdk_pixbuf_get_height(wp->symbol_pixbuf)/2;
else
label_y = y - dp->vtl->wp_size - height - 2;
@@ -1738,6 +2128,13 @@ static void trw_layer_draw_waypoint ( const gpointer id, VikWaypoint *wp, struct
}
}
+static void trw_layer_draw_waypoint_cb ( gpointer id, VikWaypoint *wp, struct DrawingParams *dp )
+{
+ if ( BBOX_INTERSECT ( dp->vtl->waypoints_bbox, dp->bbox ) ) {
+ trw_layer_draw_waypoint ( id, wp, dp );
+ }
+}
+
static void trw_layer_draw ( VikTrwLayer *l, gpointer data )
{
static struct DrawingParams dp;
@@ -1752,7 +2149,7 @@ static void trw_layer_draw ( VikTrwLayer *l, gpointer data )
g_hash_table_foreach ( l->routes, (GHFunc) trw_layer_draw_track_cb, &dp );
if (l->waypoints_visible)
- g_hash_table_foreach ( l->waypoints, (GHFunc) trw_layer_draw_waypoint, &dp );
+ g_hash_table_foreach ( l->waypoints, (GHFunc) trw_layer_draw_waypoint_cb, &dp );
}
static void trw_layer_free_track_gcs ( VikTrwLayer *vtl )
@@ -1797,7 +2194,7 @@ static void trw_layer_new_track_gcs ( VikTrwLayer *vtl, VikViewport *vp )
if ( vtl->track_bg_gc )
g_object_unref ( vtl->track_bg_gc );
- vtl->track_bg_gc = vik_viewport_new_gc ( vp, "#FFFFFF", width + vtl->bg_line_thickness );
+ vtl->track_bg_gc = vik_viewport_new_gc_from_color ( vp, &(vtl->track_bg_color), width + vtl->bg_line_thickness );
// Ensure new track drawing heeds line thickness setting
// however always have a minium of 2, as 1 pixel is really narrow
@@ -1830,31 +2227,26 @@ static void trw_layer_new_track_gcs ( VikTrwLayer *vtl, VikViewport *vp )
static VikTrwLayer* trw_layer_create ( VikViewport *vp )
{
- VikTrwLayer *rv = trw_layer_new ( DRAWMODE_BY_TRACK );
+ VikTrwLayer *rv = trw_layer_new1 ( vp );
vik_layer_rename ( VIK_LAYER(rv), vik_trw_layer_interface.name );
- if ( vp == NULL || GTK_WIDGET(vp)->window == NULL ) {
+ if ( vp == NULL || gtk_widget_get_window(GTK_WIDGET(vp)) == NULL ) {
/* early exit, as the rest is GUI related */
return rv;
}
rv->wplabellayout = gtk_widget_create_pango_layout (GTK_WIDGET(vp), NULL);
- pango_layout_set_font_description (rv->wplabellayout, GTK_WIDGET(vp)->style->font_desc);
+ pango_layout_set_font_description (rv->wplabellayout, gtk_widget_get_style(GTK_WIDGET(vp))->font_desc);
- gdk_color_parse ( "#000000", &(rv->track_color) ); // Black
+ rv->tracklabellayout = gtk_widget_create_pango_layout (GTK_WIDGET(vp), NULL);
+ pango_layout_set_font_description (rv->tracklabellayout, gtk_widget_get_style(GTK_WIDGET(vp))->font_desc);
trw_layer_new_track_gcs ( rv, vp );
- rv->waypoint_gc = vik_viewport_new_gc ( vp, "#000000", 2 );
- rv->waypoint_text_gc = vik_viewport_new_gc ( vp, "#FFFFFF", 1 );
- rv->waypoint_bg_gc = vik_viewport_new_gc ( vp, "#8383C4", 1 );
- gdk_gc_set_function ( rv->waypoint_bg_gc, GDK_AND );
-
- rv->has_verified_thumbnails = FALSE;
- rv->wp_symbol = WP_SYMBOL_FILLED_SQUARE;
- rv->wp_size = 4;
- rv->wp_draw_symbols = TRUE;
- rv->wp_font_size = FS_MEDIUM;
+ rv->waypoint_gc = vik_viewport_new_gc_from_color ( vp, &(rv->waypoint_color), 2 );
+ rv->waypoint_text_gc = vik_viewport_new_gc_from_color ( vp, &(rv->waypoint_text_color), 1 );
+ rv->waypoint_bg_gc = vik_viewport_new_gc_from_color ( vp, &(rv->waypoint_bg_color), 1 );
+ gdk_gc_set_function ( rv->waypoint_bg_gc, rv->wpbgand );
rv->coord_mode = vik_viewport_get_coord_mode ( vp );
@@ -1867,7 +2259,7 @@ static VikTrwLayer* trw_layer_create ( VikViewport *vp )
/*
* Can accept a null symbol, and may return null value
*/
-static GdkPixbuf* get_wp_sym_small ( gchar *symbol )
+GdkPixbuf* get_wp_sym_small ( gchar *symbol )
{
GdkPixbuf* wp_icon = a_get_wp_sym (symbol);
// ATM a_get_wp_sym returns a cached icon, with the size dependent on the preferences.
@@ -1895,11 +2287,7 @@ static void trw_layer_realize_track ( gpointer id, VikTrack *track, gpointer pas
gdk_pixbuf_fill ( pixbuf, pixel );
}
-#ifdef VIK_CONFIG_ALPHABETIZED_TRW
- vik_treeview_add_sublayer_alphabetized ( (VikTreeview *) pass_along[3], (GtkTreeIter *) pass_along[0], (GtkTreeIter *) pass_along[1], track->name, pass_along[2], id, GPOINTER_TO_INT (pass_along[4]), pixbuf, TRUE, TRUE );
-#else
vik_treeview_add_sublayer ( (VikTreeview *) pass_along[3], (GtkTreeIter *) pass_along[0], (GtkTreeIter *) pass_along[1], track->name, pass_along[2], id, GPOINTER_TO_INT (pass_along[4]), pixbuf, TRUE, TRUE );
-#endif
if ( pixbuf )
g_object_unref (pixbuf);
@@ -1918,11 +2306,7 @@ static void trw_layer_realize_waypoint ( gpointer id, VikWaypoint *wp, gpointer
{
GtkTreeIter *new_iter = g_malloc(sizeof(GtkTreeIter));
-#ifdef VIK_CONFIG_ALPHABETIZED_TRW
- vik_treeview_add_sublayer_alphabetized ( (VikTreeview *) pass_along[3], (GtkTreeIter *) pass_along[0], (GtkTreeIter *) pass_along[1], wp->name, pass_along[2], id, GPOINTER_TO_INT (pass_along[4]), get_wp_sym_small (wp->symbol), TRUE, TRUE );
-#else
vik_treeview_add_sublayer ( (VikTreeview *) pass_along[3], (GtkTreeIter *) pass_along[0], (GtkTreeIter *) pass_along[1], wp->name, pass_along[2], id, GPOINTER_TO_UINT (pass_along[4]), get_wp_sym_small (wp->symbol), TRUE, TRUE );
-#endif
*new_iter = *((GtkTreeIter *) pass_along[1]);
g_hash_table_insert ( VIK_TRW_LAYER(pass_along[2])->waypoints_iters, id, new_iter );
@@ -1933,29 +2317,17 @@ static void trw_layer_realize_waypoint ( gpointer id, VikWaypoint *wp, gpointer
static void trw_layer_add_sublayer_tracks ( VikTrwLayer *vtl, VikTreeview *vt, GtkTreeIter *layer_iter )
{
-#ifdef VIK_CONFIG_ALPHABETIZED_TRW
- vik_treeview_add_sublayer_alphabetized ( (VikTreeview *) vt, layer_iter, &(vtl->tracks_iter), _("Tracks"), vtl, NULL, VIK_TRW_LAYER_SUBLAYER_TRACKS, NULL, TRUE, FALSE );
-#else
vik_treeview_add_sublayer ( (VikTreeview *) vt, layer_iter, &(vtl->tracks_iter), _("Tracks"), vtl, NULL, VIK_TRW_LAYER_SUBLAYER_TRACKS, NULL, TRUE, FALSE );
-#endif
}
static void trw_layer_add_sublayer_waypoints ( VikTrwLayer *vtl, VikTreeview *vt, GtkTreeIter *layer_iter )
{
-#ifdef VIK_CONFIG_ALPHABETIZED_TRW
- vik_treeview_add_sublayer_alphabetized ( (VikTreeview *) vt, layer_iter, &(vtl->waypoints_iter), _("Waypoints"), vtl, NULL, VIK_TRW_LAYER_SUBLAYER_WAYPOINTS, NULL, TRUE, FALSE );
-#else
vik_treeview_add_sublayer ( (VikTreeview *) vt, layer_iter, &(vtl->waypoints_iter), _("Waypoints"), vtl, NULL, VIK_TRW_LAYER_SUBLAYER_WAYPOINTS, NULL, TRUE, FALSE );
-#endif
}
static void trw_layer_add_sublayer_routes ( VikTrwLayer *vtl, VikTreeview *vt, GtkTreeIter *layer_iter )
{
-#ifdef VIK_CONFIG_ALPHABETIZED_TRW
- vik_treeview_add_sublayer_alphabetized ( (VikTreeview *) vt, layer_iter, &(vtl->routes_iter), _("Routes"), vtl, NULL, VIK_TRW_LAYER_SUBLAYER_ROUTES, NULL, TRUE, FALSE );
-#else
vik_treeview_add_sublayer ( (VikTreeview *) vt, layer_iter, &(vtl->routes_iter), _("Routes"), vtl, NULL, VIK_TRW_LAYER_SUBLAYER_ROUTES, NULL, TRUE, FALSE );
-#endif
}
static void trw_layer_realize ( VikTrwLayer *vtl, VikTreeview *vt, GtkTreeIter *layer_iter )
@@ -1965,13 +2337,13 @@ static void trw_layer_realize ( VikTrwLayer *vtl, VikTreeview *vt, GtkTreeIter *
if ( g_hash_table_size (vtl->tracks) > 0 ) {
trw_layer_add_sublayer_tracks ( vtl, vt , layer_iter );
+
g_hash_table_foreach ( vtl->tracks, (GHFunc) trw_layer_realize_track, pass_along );
- vik_treeview_item_set_visible ( (VikTreeview *) vt, &(vtl->tracks_iter), vtl->tracks_visible );
+ vik_treeview_item_set_visible ( vt, &(vtl->tracks_iter), vtl->tracks_visible );
}
if ( g_hash_table_size (vtl->routes) > 0 ) {
-
trw_layer_add_sublayer_routes ( vtl, vt, layer_iter );
pass_along[0] = &(vtl->routes_iter);
@@ -2263,52 +2635,30 @@ static const gchar* trw_layer_sublayer_tooltip ( VikTrwLayer *l, gint subtype, g
return NULL;
}
-/*
- * Function to show basic track point information on the statusbar
+#define VIK_SETTINGS_TRKPT_SELECTED_STATUSBAR_FORMAT "trkpt_selected_statusbar_format"
+
+/**
+ * set_statusbar_msg_info_trkpt:
+ *
+ * Function to show track point information on the statusbar
+ * Items displayed is controlled by the settings format code
*/
static void set_statusbar_msg_info_trkpt ( VikTrwLayer *vtl, VikTrackpoint *trkpt )
{
- gchar tmp_buf1[64];
- switch (a_vik_get_units_height ()) {
- case VIK_UNITS_HEIGHT_FEET:
- g_snprintf(tmp_buf1, sizeof(tmp_buf1), _("Trkpt: Alt %dft"), (int)round(VIK_METERS_TO_FEET(trkpt->altitude)));
- break;
- default:
- //VIK_UNITS_HEIGHT_METRES:
- g_snprintf(tmp_buf1, sizeof(tmp_buf1), _("Trkpt: Alt %dm"), (int)round(trkpt->altitude));
- }
-
- gchar tmp_buf2[64];
- tmp_buf2[0] = '\0';
- if ( trkpt->has_timestamp ) {
- // Compact date time format
- strftime (tmp_buf2, sizeof(tmp_buf2), _(" | Time %x %X"), localtime(&(trkpt->timestamp)));
+ gchar *statusbar_format_code = NULL;
+ gboolean need2free = FALSE;
+ if ( !a_settings_get_string ( VIK_SETTINGS_TRKPT_SELECTED_STATUSBAR_FORMAT, &statusbar_format_code ) ) {
+ // Otherwise use default
+ statusbar_format_code = g_strdup ( "KEATDN" );
+ need2free = TRUE;
}
- // Position part
- // Position is put later on, as this bit may not be seen if the display is not big enough,
- // one can easily use the current pointer position to see this if needed
- gchar *lat = NULL, *lon = NULL;
- static struct LatLon ll;
- vik_coord_to_latlon (&(trkpt->coord), &ll);
- a_coords_latlon_to_string ( &ll, &lat, &lon );
-
- // Track name
- // Again is put later on, as this bit may not be seen if the display is not big enough
- // trackname can be seen from the treeview (when enabled)
- // Also name could be very long to not leave room for anything else
- gchar tmp_buf3[64];
- tmp_buf3[0] = '\0';
- if ( vtl->current_tp_track ) {
- g_snprintf(tmp_buf3, sizeof(tmp_buf3), _(" | Track: %s"), vtl->current_tp_track->name );
- }
-
- // Combine parts to make overall message
- gchar *msg = g_strdup_printf (_("%s%s | %s %s %s"), tmp_buf1, tmp_buf2, lat, lon, tmp_buf3);
+ gchar *msg = vu_trackpoint_formatted_message ( statusbar_format_code, trkpt, NULL, vtl->current_tp_track );
vik_statusbar_set_message ( vik_window_get_statusbar (VIK_WINDOW(VIK_GTK_WINDOW_FROM_LAYER(vtl))), VIK_STATUSBAR_INFO, msg );
- g_free ( lat );
- g_free ( lon );
g_free ( msg );
+
+ if ( need2free )
+ g_free ( statusbar_format_code );
}
/*
@@ -2454,6 +2804,43 @@ GHashTable *vik_trw_layer_get_waypoints ( VikTrwLayer *l )
return l->waypoints;
}
+GHashTable *vik_trw_layer_get_tracks_iters ( VikTrwLayer *vtl )
+{
+ return vtl->tracks_iters;
+}
+
+GHashTable *vik_trw_layer_get_routes_iters ( VikTrwLayer *vtl )
+{
+ return vtl->routes_iters;
+}
+
+GHashTable *vik_trw_layer_get_waypoints_iters ( VikTrwLayer *vtl )
+{
+ return vtl->waypoints;
+}
+
+gboolean vik_trw_layer_is_empty ( VikTrwLayer *vtl )
+{
+ return ! ( g_hash_table_size ( vtl->tracks ) ||
+ g_hash_table_size ( vtl->routes ) ||
+ g_hash_table_size ( vtl->waypoints ) );
+}
+
+gboolean vik_trw_layer_get_tracks_visibility ( VikTrwLayer *vtl )
+{
+ return vtl->tracks_visible;
+}
+
+gboolean vik_trw_layer_get_routes_visibility ( VikTrwLayer *vtl )
+{
+ return vtl->routes_visible;
+}
+
+gboolean vik_trw_layer_get_waypoints_visibility ( VikTrwLayer *vtl )
+{
+ return vtl->waypoints_visible;
+}
+
/*
* ATM use a case sensitive find
* Finds the first one
@@ -2505,44 +2892,26 @@ VikTrack *vik_trw_layer_get_route ( VikTrwLayer *vtl, const gchar *name )
return g_hash_table_find ( vtl->routes, (GHRFunc) trw_layer_track_find, (gpointer) name );
}
-static void trw_layer_find_maxmin_waypoints ( const gpointer id, const VikWaypoint *w, struct LatLon maxmin[2] )
-{
- static VikCoord fixme;
- vik_coord_copy_convert ( &(w->coord), VIK_COORD_LATLON, &fixme );
- if ( VIK_LATLON(&fixme)->lat > maxmin[0].lat || maxmin[0].lat == 0.0 )
- maxmin[0].lat = VIK_LATLON(&fixme)->lat;
- if ( VIK_LATLON(&fixme)->lat < maxmin[1].lat || maxmin[1].lat == 0.0 )
- maxmin[1].lat = VIK_LATLON(&fixme)->lat;
- if ( VIK_LATLON(&fixme)->lon > maxmin[0].lon || maxmin[0].lon == 0.0 )
- maxmin[0].lon = VIK_LATLON(&fixme)->lon;
- if ( VIK_LATLON(&fixme)->lon < maxmin[1].lon || maxmin[1].lon == 0.0 )
- maxmin[1].lon = VIK_LATLON(&fixme)->lon;
-}
-
static void trw_layer_find_maxmin_tracks ( const gpointer id, const VikTrack *trk, struct LatLon maxmin[2] )
{
- GList *tr = trk->trackpoints;
- static VikCoord fixme;
-
- while ( tr )
- {
- vik_coord_copy_convert ( &(VIK_TRACKPOINT(tr->data)->coord), VIK_COORD_LATLON, &fixme );
- if ( VIK_LATLON(&fixme)->lat > maxmin[0].lat || maxmin[0].lat == 0.0 )
- maxmin[0].lat = VIK_LATLON(&fixme)->lat;
- if ( VIK_LATLON(&fixme)->lat < maxmin[1].lat || maxmin[1].lat == 0.0 )
- maxmin[1].lat = VIK_LATLON(&fixme)->lat;
- if ( VIK_LATLON(&fixme)->lon > maxmin[0].lon || maxmin[0].lon == 0.0 )
- maxmin[0].lon = VIK_LATLON(&fixme)->lon;
- if ( VIK_LATLON(&fixme)->lon < maxmin[1].lon || maxmin[1].lon == 0.0 )
- maxmin[1].lon = VIK_LATLON(&fixme)->lon;
- tr = tr->next;
- }
+ if ( trk->bbox.north > maxmin[0].lat || maxmin[0].lat == 0.0 )
+ maxmin[0].lat = trk->bbox.north;
+ if ( trk->bbox.south < maxmin[1].lat || maxmin[1].lat == 0.0 )
+ maxmin[1].lat = trk->bbox.south;
+ if ( trk->bbox.east > maxmin[0].lon || maxmin[0].lon == 0.0 )
+ maxmin[0].lon = trk->bbox.east;
+ if ( trk->bbox.west < maxmin[1].lon || maxmin[1].lon == 0.0 )
+ maxmin[1].lon = trk->bbox.west;
}
static void trw_layer_find_maxmin (VikTrwLayer *vtl, struct LatLon maxmin[2])
{
// Continually reuse maxmin to find the latest maximum and minimum values
- g_hash_table_foreach ( vtl->waypoints, (GHFunc) trw_layer_find_maxmin_waypoints, maxmin );
+ // First set to waypoints bounds
+ maxmin[0].lat = vtl->waypoints_bbox.north;
+ maxmin[1].lat = vtl->waypoints_bbox.south;
+ maxmin[0].lon = vtl->waypoints_bbox.east;
+ maxmin[1].lon = vtl->waypoints_bbox.west;
g_hash_table_foreach ( vtl->tracks, (GHFunc) trw_layer_find_maxmin_tracks, maxmin );
g_hash_table_foreach ( vtl->routes, (GHFunc) trw_layer_find_maxmin_tracks, maxmin );
}
@@ -2571,7 +2940,7 @@ static void trw_layer_centerize ( gpointer layer_and_vlp[2] )
a_dialog_info_msg ( VIK_GTK_WINDOW_FROM_LAYER(layer_and_vlp[0]), _("This layer has no waypoints or trackpoints.") );
}
-static void trw_layer_zoom_to_show_latlons ( VikTrwLayer *vtl, VikViewport *vvp, struct LatLon maxmin[2] )
+void trw_layer_zoom_to_show_latlons ( VikTrwLayer *vtl, VikViewport *vvp, struct LatLon maxmin[2] )
{
/* First set the center [in case previously viewing from elsewhere] */
/* Then loop through zoom levels until provided positions are in view */
@@ -2653,26 +3022,26 @@ static void trw_layer_export ( gpointer layer_and_vlp[2], const gchar *title, co
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT,
NULL);
+ gchar *cwd = g_get_current_dir();
+ if ( cwd ) {
+ gtk_file_chooser_set_current_folder ( GTK_FILE_CHOOSER(file_selector), cwd );
+ g_free ( cwd );
+ }
+
gtk_file_chooser_set_current_name (GTK_FILE_CHOOSER(file_selector), default_name);
while ( gtk_dialog_run ( GTK_DIALOG(file_selector) ) == GTK_RESPONSE_ACCEPT )
{
fn = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER(file_selector) );
- if ( g_file_test ( fn, G_FILE_TEST_EXISTS ) == FALSE )
+ if ( g_file_test ( fn, G_FILE_TEST_EXISTS ) == FALSE ||
+ a_dialog_yes_or_no ( GTK_WINDOW(file_selector), _("The file \"%s\" exists, do you wish to overwrite it?"), a_file_basename ( fn ) ) )
{
gtk_widget_hide ( file_selector );
+ vik_window_set_busy_cursor ( VIK_WINDOW(VIK_GTK_WINDOW_FROM_LAYER(layer_and_vlp[0])) );
failed = ! a_file_export ( VIK_TRW_LAYER(layer_and_vlp[0]), fn, file_type, trk, TRUE );
+ vik_window_clear_busy_cursor ( VIK_WINDOW(VIK_GTK_WINDOW_FROM_LAYER(layer_and_vlp[0])) );
break;
}
- else
- {
- if ( a_dialog_yes_or_no ( GTK_WINDOW(file_selector), _("The file \"%s\" exists, do you wish to overwrite it?"), a_file_basename ( fn ) ) )
- {
- gtk_widget_hide ( file_selector );
- failed = ! a_file_export ( VIK_TRW_LAYER(layer_and_vlp[0]), fn, file_type, trk, TRUE );
- break;
- }
- }
}
gtk_widget_destroy ( file_selector );
if ( failed )
@@ -2723,7 +3092,9 @@ static void trw_layer_export_external_gpx ( gpointer layer_and_vlp[2], const gch
int fd;
if ((fd = g_file_open_tmp("tmp-viking.XXXXXX.gpx", &name_used, NULL)) >= 0) {
+ vik_window_set_busy_cursor ( VIK_WINDOW(VIK_GTK_WINDOW_FROM_LAYER(layer_and_vlp[0])) );
gboolean failed = ! a_file_export ( VIK_TRW_LAYER(layer_and_vlp[0]), name_used, FILE_TYPE_GPX, NULL, TRUE);
+ vik_window_clear_busy_cursor ( VIK_WINDOW(VIK_GTK_WINDOW_FROM_LAYER(layer_and_vlp[0])) );
if (failed) {
a_dialog_error_msg (VIK_GTK_WINDOW_FROM_LAYER(layer_and_vlp[0]), _("Could not create temporary file for export.") );
}
@@ -2778,17 +3149,17 @@ static void trw_layer_export_gpx_track ( gpointer pass_along[6] )
if ( ! check_file_ext ( auto_save_name, ".gpx" ) )
auto_save_name = g_strconcat ( auto_save_name, ".gpx", NULL );
- trw_layer_export ( layer_and_vlp, _("Export Track as GPX"), auto_save_name, trk, FILE_TYPE_GPX );
+ gchar *label = NULL;
+ if ( GPOINTER_TO_INT (pass_along[2]) == VIK_TRW_LAYER_SUBLAYER_ROUTE )
+ label = _("Export Route as GPX");
+ else
+ label = _("Export Track as GPX");
+ trw_layer_export ( layer_and_vlp, label, auto_save_name, trk, FILE_TYPE_GPX );
g_free ( auto_save_name );
}
-typedef struct {
- VikWaypoint *wp; // input
- gpointer uuid; // output
-} wpu_udata;
-
-static gboolean trw_layer_waypoint_find_uuid ( const gpointer id, const VikWaypoint *wp, gpointer udata )
+gboolean trw_layer_waypoint_find_uuid ( const gpointer id, const VikWaypoint *wp, gpointer udata )
{
wpu_udata *user_data = udata;
if ( wp == user_data->wp ) {
@@ -2813,8 +3184,8 @@ static void trw_layer_goto_wp ( gpointer layer_and_vlp[2] )
label = gtk_label_new(_("Waypoint Name:"));
entry = gtk_entry_new();
- gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dia)->vbox), label, FALSE, FALSE, 0);
- gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dia)->vbox), entry, FALSE, FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dia))), label, FALSE, FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dia))), entry, FALSE, FALSE, 0);
gtk_widget_show_all ( label );
gtk_widget_show_all ( entry );
@@ -2864,11 +3235,9 @@ gboolean vik_trw_layer_new_waypoint ( VikTrwLayer *vtl, GtkWindow *w, const VikC
wp->coord = *def_coord;
// Attempt to auto set height if DEM data is available
- gint16 elev = a_dems_get_elev_by_coord ( &(wp->coord), VIK_DEM_INTERPOL_BEST );
- if ( elev != VIK_DEM_INVALID_ELEVATION )
- wp->altitude = (gdouble)elev;
+ vik_waypoint_apply_dem_data ( wp, TRUE );
- returned_name = a_dialog_waypoint ( w, default_name, wp, vtl->coord_mode, TRUE, &updated );
+ returned_name = a_dialog_waypoint ( w, default_name, vtl, wp, vtl->coord_mode, TRUE, &updated );
if ( returned_name )
{
@@ -2894,6 +3263,7 @@ static void trw_layer_new_wikipedia_wp_viewport ( gpointer lav[2] )
// Note the order is max part first then min part - thus reverse order of use in min_max function:
vik_viewport_get_min_max_lat_lon ( vvp, &maxmin[1].lat, &maxmin[0].lat, &maxmin[1].lon, &maxmin[0].lon );
a_geonames_wikipedia_box((VikWindow *)(VIK_GTK_WINDOW_FROM_LAYER(vtl)), vtl, maxmin);
+ trw_layer_calculate_bounds_waypoints ( vtl );
vik_layers_panel_emit_update ( vlp );
}
@@ -2905,6 +3275,7 @@ static void trw_layer_new_wikipedia_wp_layer ( gpointer lav[2] )
trw_layer_find_maxmin (vtl, maxmin);
a_geonames_wikipedia_box((VikWindow *)(VIK_GTK_WINDOW_FROM_LAYER(vtl)), vtl, maxmin);
+ trw_layer_calculate_bounds_waypoints ( vtl );
vik_layers_panel_emit_update ( vlp );
}
@@ -2936,9 +3307,20 @@ static void trw_layer_geotagging_track ( gpointer pass_along[6] )
vtl->has_verified_thumbnails = FALSE;
trw_layer_geotag_dialog ( VIK_GTK_WINDOW_FROM_LAYER(vtl),
- vtl,
- track,
- track->name );
+ vtl,
+ NULL,
+ track );
+}
+
+static void trw_layer_geotagging_waypoint ( gpointer pass_along[6] )
+{
+ VikTrwLayer *vtl = VIK_TRW_LAYER(pass_along[0]);
+ VikWaypoint *wpt = g_hash_table_lookup ( VIK_TRW_LAYER(pass_along[0])->waypoints, pass_along[3] );
+
+ trw_layer_geotag_dialog ( VIK_GTK_WINDOW_FROM_LAYER(vtl),
+ vtl,
+ wpt,
+ NULL );
}
static void trw_layer_geotagging ( gpointer lav[2] )
@@ -2948,9 +3330,9 @@ static void trw_layer_geotagging ( gpointer lav[2] )
vtl->has_verified_thumbnails = FALSE;
trw_layer_geotag_dialog ( VIK_GTK_WINDOW_FROM_LAYER(vtl),
- vtl,
- NULL,
- NULL);
+ vtl,
+ NULL,
+ NULL );
}
#endif
@@ -2967,23 +3349,35 @@ static void trw_layer_acquire_gps_cb ( gpointer lav[2] )
VikViewport *vvp = vik_window_viewport(vw);
vik_datasource_gps_interface.mode = VIK_DATASOURCE_ADDTOLAYER;
- a_acquire ( vw, vlp, vvp, &vik_datasource_gps_interface );
+ a_acquire ( vw, vlp, vvp, &vik_datasource_gps_interface, NULL, NULL );
}
-#ifdef VIK_CONFIG_GOOGLE
/*
- * Acquire into this TRW Layer from Google Directions
+ * Acquire into this TRW Layer from Directions
*/
-static void trw_layer_acquire_google_cb ( gpointer lav[2] )
+static void trw_layer_acquire_routing_cb ( gpointer lav[2] )
{
VikTrwLayer *vtl = VIK_TRW_LAYER(lav[0]);
VikLayersPanel *vlp = VIK_LAYERS_PANEL(lav[1]);
VikWindow *vw = (VikWindow *)(VIK_GTK_WINDOW_FROM_LAYER(vtl));
VikViewport *vvp = vik_window_viewport(vw);
- a_acquire ( vw, vlp, vvp, &vik_datasource_google_interface );
+ a_acquire ( vw, vlp, vvp, &vik_datasource_routing_interface, NULL, NULL );
+}
+
+/*
+ * Acquire into this TRW Layer from an entered URL
+ */
+static void trw_layer_acquire_url_cb ( gpointer lav[2] )
+{
+ VikTrwLayer *vtl = VIK_TRW_LAYER(lav[0]);
+ VikLayersPanel *vlp = VIK_LAYERS_PANEL(lav[1]);
+ VikWindow *vw = (VikWindow *)(VIK_GTK_WINDOW_FROM_LAYER(vtl));
+ VikViewport *vvp = vik_window_viewport(vw);
+
+ vik_datasource_url_interface.mode = VIK_DATASOURCE_ADDTOLAYER;
+ a_acquire ( vw, vlp, vvp, &vik_datasource_url_interface, NULL, NULL );
}
-#endif
#ifdef VIK_CONFIG_OPENSTREETMAP
/*
@@ -2996,7 +3390,7 @@ static void trw_layer_acquire_osm_cb ( gpointer lav[2] )
VikWindow *vw = (VikWindow *)(VIK_GTK_WINDOW_FROM_LAYER(vtl));
VikViewport *vvp = vik_window_viewport(vw);
- a_acquire ( vw, vlp, vvp, &vik_datasource_osm_interface );
+ a_acquire ( vw, vlp, vvp, &vik_datasource_osm_interface, NULL, NULL );
}
/**
@@ -3009,7 +3403,7 @@ static void trw_layer_acquire_osm_my_traces_cb ( gpointer lav[2] )
VikWindow *vw = (VikWindow *)(VIK_GTK_WINDOW_FROM_LAYER(vtl));
VikViewport *vvp = vik_window_viewport(vw);
- a_acquire ( vw, vlp, vvp, &vik_datasource_osm_my_traces_interface );
+ a_acquire ( vw, vlp, vvp, &vik_datasource_osm_my_traces_interface, NULL, NULL );
}
#endif
@@ -3024,7 +3418,7 @@ static void trw_layer_acquire_geocache_cb ( gpointer lav[2] )
VikWindow *vw = (VikWindow *)(VIK_GTK_WINDOW_FROM_LAYER(vtl));
VikViewport *vvp = vik_window_viewport(vw);
- a_acquire ( vw, vlp, vvp, &vik_datasource_gc_interface );
+ a_acquire ( vw, vlp, vvp, &vik_datasource_gc_interface, NULL, NULL );
}
#endif
@@ -3040,7 +3434,7 @@ static void trw_layer_acquire_geotagged_cb ( gpointer lav[2] )
VikViewport *vvp = vik_window_viewport(vw);
vik_datasource_geotag_interface.mode = VIK_DATASOURCE_ADDTOLAYER;
- a_acquire ( vw, vlp, vvp, &vik_datasource_geotag_interface );
+ a_acquire ( vw, vlp, vvp, &vik_datasource_geotag_interface, NULL, NULL );
// Reverify thumbnails as they may have changed
vtl->has_verified_thumbnails = FALSE;
@@ -3166,7 +3560,7 @@ static void trw_layer_acquire_file_cb ( gpointer lav[2] )
VikWindow *vw = (VikWindow *)(VIK_GTK_WINDOW_FROM_LAYER(vtl));
VikViewport *vvp = vik_window_viewport(vw);
- a_acquire ( vw, vlp, vvp, &vik_datasource_file_interface );
+ a_acquire ( vw, vlp, vvp, &vik_datasource_file_interface, NULL, NULL );
}
static void trw_layer_new_wp ( gpointer lav[2] )
@@ -3175,13 +3569,16 @@ static void trw_layer_new_wp ( gpointer lav[2] )
VikLayersPanel *vlp = VIK_LAYERS_PANEL(lav[1]);
/* TODO longone: okay, if layer above (aggregate) is invisible but vtl->visible is true, this redraws for no reason.
instead return true if you want to update. */
- if ( vik_trw_layer_new_waypoint ( vtl, VIK_GTK_WINDOW_FROM_LAYER(vtl), vik_viewport_get_center(vik_layers_panel_get_viewport(vlp))) && VIK_LAYER(vtl)->visible )
+ if ( vik_trw_layer_new_waypoint ( vtl, VIK_GTK_WINDOW_FROM_LAYER(vtl), vik_viewport_get_center(vik_layers_panel_get_viewport(vlp))) && VIK_LAYER(vtl)->visible ) {
+ trw_layer_calculate_bounds_waypoints ( vtl );
vik_layers_panel_emit_update ( vlp );
+ }
}
static void new_track_create_common ( VikTrwLayer *vtl, gchar *name )
{
vtl->current_track = vik_track_new();
+ vik_track_set_defaults ( vtl->current_track );
vtl->current_track->visible = TRUE;
if ( vtl->drawmode == DRAWMODE_ALL_SAME_COLOR )
// Create track with the preferred colour from the layer properties
@@ -3199,6 +3596,7 @@ static void trw_layer_new_track ( gpointer lav[2] )
if ( ! vtl->current_track ) {
gchar *name = trw_layer_new_unique_sublayer_name ( vtl, VIK_TRW_LAYER_SUBLAYER_TRACK, _("Track")) ;
new_track_create_common ( vtl, name );
+ g_free ( name );
vik_window_enable_layer_tool ( VIK_WINDOW(VIK_GTK_WINDOW_FROM_LAYER(vtl)), VIK_LAYER_TRW, TOOL_CREATE_TRACK );
}
@@ -3207,6 +3605,7 @@ static void trw_layer_new_track ( gpointer lav[2] )
static void new_route_create_common ( VikTrwLayer *vtl, gchar *name )
{
vtl->current_track = vik_track_new();
+ vik_track_set_defaults ( vtl->current_track );
vtl->current_track->visible = TRUE;
vtl->current_track->is_route = TRUE;
// By default make all routes red
@@ -3222,6 +3621,7 @@ static void trw_layer_new_route ( gpointer lav[2] )
if ( ! vtl->current_track ) {
gchar *name = trw_layer_new_unique_sublayer_name ( vtl, VIK_TRW_LAYER_SUBLAYER_ROUTE, _("Route")) ;
new_route_create_common ( vtl, name );
+ g_free ( name );
vik_window_enable_layer_tool ( VIK_WINDOW(VIK_GTK_WINDOW_FROM_LAYER(vtl)), VIK_LAYER_TRW, TOOL_CREATE_ROUTE );
}
}
@@ -3280,7 +3680,10 @@ static void trw_layer_auto_waypoints_view ( gpointer lav[2] )
else if ( g_hash_table_size (vtl->waypoints) > 1 )
{
struct LatLon maxmin[2] = { {0,0}, {0,0} };
- g_hash_table_foreach ( vtl->waypoints, (GHFunc) trw_layer_find_maxmin_waypoints, maxmin );
+ maxmin[0].lat = vtl->waypoints_bbox.north;
+ maxmin[1].lat = vtl->waypoints_bbox.south;
+ maxmin[0].lon = vtl->waypoints_bbox.east;
+ maxmin[1].lon = vtl->waypoints_bbox.west;
trw_layer_zoom_to_show_latlons ( vtl, vik_layers_panel_get_viewport (vlp), maxmin );
}
@@ -3381,14 +3784,14 @@ static void trw_layer_add_menu_items ( VikTrwLayer *vtl, GtkMenu *menu, gpointer
gtk_menu_shell_append (GTK_MENU_SHELL (export_submenu), item);
gtk_widget_show ( item );
- gchar* external1 = g_strconcat ( _("Open with External Program_1: "), a_vik_get_external_gpx_program_1(), NULL );
+ gchar* external1 = g_strdup_printf ( _("Open with External Program_1: %s"), a_vik_get_external_gpx_program_1() );
item = gtk_menu_item_new_with_mnemonic ( external1 );
g_free ( external1 );
g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(trw_layer_export_external_gpx_1), pass_along );
gtk_menu_shell_append (GTK_MENU_SHELL (export_submenu), item);
gtk_widget_show ( item );
- gchar* external2 = g_strconcat ( _("Open with External Program_2: "), a_vik_get_external_gpx_program_2(), NULL );
+ gchar* external2 = g_strdup_printf ( _("Open with External Program_2: %s"), a_vik_get_external_gpx_program_2() );
item = gtk_menu_item_new_with_mnemonic ( external2 );
g_free ( external2 );
g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(trw_layer_export_external_gpx_2), pass_along );
@@ -3443,12 +3846,11 @@ static void trw_layer_add_menu_items ( VikTrwLayer *vtl, GtkMenu *menu, gpointer
gtk_menu_shell_append (GTK_MENU_SHELL (acquire_submenu), item);
gtk_widget_show ( item );
-#ifdef VIK_CONFIG_GOOGLE
- item = gtk_menu_item_new_with_mnemonic ( _("From Google _Directions...") );
- g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(trw_layer_acquire_google_cb), pass_along );
+ /* FIXME: only add menu when at least a routing engine has support for Directions */
+ item = gtk_menu_item_new_with_mnemonic ( _("From _Directions...") );
+ g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(trw_layer_acquire_routing_cb), pass_along );
gtk_menu_shell_append (GTK_MENU_SHELL (acquire_submenu), item);
gtk_widget_show ( item );
-#endif
#ifdef VIK_CONFIG_OPENSTREETMAP
item = gtk_menu_item_new_with_mnemonic ( _("From _OSM Traces...") );
@@ -3462,6 +3864,11 @@ static void trw_layer_add_menu_items ( VikTrwLayer *vtl, GtkMenu *menu, gpointer
gtk_widget_show ( item );
#endif
+ item = gtk_menu_item_new_with_mnemonic ( _("From _URL...") );
+ g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(trw_layer_acquire_url_cb), pass_along );
+ gtk_menu_shell_append (GTK_MENU_SHELL (acquire_submenu), item);
+ gtk_widget_show ( item );
+
#ifdef VIK_CONFIG_GEONAMES
GtkWidget *wikipedia_submenu = gtk_menu_new();
item = gtk_image_menu_item_new_with_mnemonic ( _("From _Wikipedia Waypoints") );
@@ -3500,8 +3907,11 @@ static void trw_layer_add_menu_items ( VikTrwLayer *vtl, GtkMenu *menu, gpointer
item = gtk_menu_item_new_with_mnemonic ( _("From _File...") );
g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(trw_layer_acquire_file_cb), pass_along );
gtk_menu_shell_append (GTK_MENU_SHELL (acquire_submenu), item);
+ gtk_widget_set_tooltip_text (item, _("Import File With GPS_Babel..."));
gtk_widget_show ( item );
+ vik_ext_tool_datasources_add_menu_items_to_menu ( VIK_WINDOW(VIK_GTK_WINDOW_FROM_LAYER(vtl)), GTK_MENU (acquire_submenu) );
+
GtkWidget *upload_submenu = gtk_menu_new ();
item = gtk_image_menu_item_new_with_mnemonic ( _("_Upload") );
gtk_image_menu_item_set_image ( (GtkImageMenuItem*)item, gtk_image_new_from_stock (GTK_STOCK_GO_UP, GTK_ICON_SIZE_MENU) );
@@ -3578,7 +3988,21 @@ static void trw_layer_add_menu_items ( VikTrwLayer *vtl, GtkMenu *menu, gpointer
if ( item ) {
gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
gtk_widget_show ( item );
- }
+ }
+
+ item = gtk_image_menu_item_new_with_mnemonic ( _("Track _List...") );
+ gtk_image_menu_item_set_image ( (GtkImageMenuItem*)item, gtk_image_new_from_stock (GTK_STOCK_INDEX, GTK_ICON_SIZE_MENU) );
+ g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(trw_layer_track_list_dialog), pass_along );
+ gtk_menu_shell_append ( GTK_MENU_SHELL(menu), item );
+ gtk_widget_show ( item );
+ gtk_widget_set_sensitive ( item, (gboolean)(g_hash_table_size (vtl->tracks)+g_hash_table_size (vtl->routes)) );
+
+ item = gtk_image_menu_item_new_with_mnemonic ( _("_Waypoint List...") );
+ gtk_image_menu_item_set_image ( (GtkImageMenuItem*)item, gtk_image_new_from_stock (GTK_STOCK_INDEX, GTK_ICON_SIZE_MENU) );
+ g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(trw_layer_waypoint_list_dialog), pass_along );
+ gtk_menu_shell_append ( GTK_MENU_SHELL(menu), item );
+ gtk_widget_show ( item );
+ gtk_widget_set_sensitive ( item, (gboolean)(g_hash_table_size (vtl->waypoints)) );
}
// Fake Waypoint UUIDs vi simple increasing integer
@@ -3600,15 +4024,15 @@ void vik_trw_layer_add_waypoint ( VikTrwLayer *vtl, gchar *name, VikWaypoint *wp
GtkTreeIter *iter = g_malloc(sizeof(GtkTreeIter));
// Visibility column always needed for waypoints
-#ifdef VIK_CONFIG_ALPHABETIZED_TRW
- vik_treeview_add_sublayer_alphabetized ( VIK_LAYER(vtl)->vt, &(vtl->waypoints_iter), iter, name, vtl, GUINT_TO_POINTER(wp_uuid), VIK_TRW_LAYER_SUBLAYER_WAYPOINT, get_wp_sym_small (wp->symbol), TRUE, TRUE );
-#else
vik_treeview_add_sublayer ( VIK_LAYER(vtl)->vt, &(vtl->waypoints_iter), iter, name, vtl, GUINT_TO_POINTER(wp_uuid), VIK_TRW_LAYER_SUBLAYER_WAYPOINT, get_wp_sym_small (wp->symbol), TRUE, TRUE );
-#endif
+
// Actual setting of visibility dependent on the waypoint
vik_treeview_item_set_visible ( VIK_LAYER(vtl)->vt, iter, wp->visible );
g_hash_table_insert ( vtl->waypoints_iters, GUINT_TO_POINTER(wp_uuid), iter );
+
+ // Sort now as post_read is not called on a realized waypoint
+ vik_treeview_sort_children ( VIK_LAYER(vtl)->vt, &(vtl->waypoints_iter), vtl->wp_sort_order );
}
highest_wp_number_add_wp(vtl, name);
@@ -3634,20 +4058,20 @@ void vik_trw_layer_add_track ( VikTrwLayer *vtl, gchar *name, VikTrack *t )
GtkTreeIter *iter = g_malloc(sizeof(GtkTreeIter));
// Visibility column always needed for tracks
-#ifdef VIK_CONFIG_ALPHABETIZED_TRW
- vik_treeview_add_sublayer_alphabetized ( VIK_LAYER(vtl)->vt, &(vtl->tracks_iter), iter, name, vtl, GUINT_TO_POINTER(tr_uuid), VIK_TRW_LAYER_SUBLAYER_TRACK, NULL, TRUE, TRUE );
-#else
vik_treeview_add_sublayer ( VIK_LAYER(vtl)->vt, &(vtl->tracks_iter), iter, name, vtl, GUINT_TO_POINTER(tr_uuid), VIK_TRW_LAYER_SUBLAYER_TRACK, NULL, TRUE, TRUE );
-#endif
+
// Actual setting of visibility dependent on the track
vik_treeview_item_set_visible ( VIK_LAYER(vtl)->vt, iter, t->visible );
g_hash_table_insert ( vtl->tracks_iters, GUINT_TO_POINTER(tr_uuid), iter );
+
+ // Sort now as post_read is not called on a realized track
+ vik_treeview_sort_children ( VIK_LAYER(vtl)->vt, &(vtl->tracks_iter), vtl->track_sort_order );
}
g_hash_table_insert ( vtl->tracks, GUINT_TO_POINTER(tr_uuid), t );
- trw_layer_update_treeview ( vtl, t, GUINT_TO_POINTER(tr_uuid) );
+ trw_layer_update_treeview ( vtl, t );
}
// Fake Route UUIDs vi simple increasing integer
@@ -3667,21 +4091,20 @@ void vik_trw_layer_add_route ( VikTrwLayer *vtl, gchar *name, VikTrack *t )
}
GtkTreeIter *iter = g_malloc(sizeof(GtkTreeIter));
- // Visibility column always needed for tracks
-#ifdef VIK_CONFIG_ALPHABETIZED_TRW
- vik_treeview_add_sublayer_alphabetized ( VIK_LAYER(vtl)->vt, &(vtl->routes_iter), iter, name, vtl, GUINT_TO_POINTER(rt_uuid), VIK_TRW_LAYER_SUBLAYER_ROUTE, NULL, TRUE, TRUE );
-#else
+ // Visibility column always needed for routes
vik_treeview_add_sublayer ( VIK_LAYER(vtl)->vt, &(vtl->routes_iter), iter, name, vtl, GUINT_TO_POINTER(rt_uuid), VIK_TRW_LAYER_SUBLAYER_ROUTE, NULL, TRUE, TRUE );
-#endif
- // Actual setting of visibility dependent on the track
+ // Actual setting of visibility dependent on the route
vik_treeview_item_set_visible ( VIK_LAYER(vtl)->vt, iter, t->visible );
g_hash_table_insert ( vtl->routes_iters, GUINT_TO_POINTER(rt_uuid), iter );
+
+ // Sort now as post_read is not called on a realized route
+ vik_treeview_sort_children ( VIK_LAYER(vtl)->vt, &(vtl->routes_iter), vtl->track_sort_order );
}
g_hash_table_insert ( vtl->routes, GUINT_TO_POINTER(rt_uuid), t );
- trw_layer_update_treeview ( vtl, t, GUINT_TO_POINTER(rt_uuid) );
+ trw_layer_update_treeview ( vtl, t );
}
/* to be called whenever a track has been deleted or may have been changed. */
@@ -3691,6 +4114,32 @@ void trw_layer_cancel_tps_of_track ( VikTrwLayer *vtl, VikTrack *trk )
trw_layer_cancel_current_tp ( vtl, FALSE );
}
+/**
+ * Normally this is done to due the waypoint size preference having changed
+ */
+void vik_trw_layer_reset_waypoints ( VikTrwLayer *vtl )
+{
+ GHashTableIter iter;
+ gpointer key, value;
+
+ // Foreach waypoint
+ g_hash_table_iter_init ( &iter, vtl->waypoints );
+ while ( g_hash_table_iter_next ( &iter, &key, &value ) ) {
+ VikWaypoint *wp = VIK_WAYPOINT(value);
+ if ( wp->symbol ) {
+ // Reapply symbol setting to update the pixbuf
+ gchar *tmp_symbol = g_strdup ( wp->symbol );
+ vik_waypoint_set_symbol ( wp, tmp_symbol );
+ g_free ( tmp_symbol );
+ }
+ }
+}
+
+/**
+ * trw_layer_new_unique_sublayer_name:
+ *
+ * Allocates a unique new name
+ */
gchar *trw_layer_new_unique_sublayer_name (VikTrwLayer *vtl, gint sublayer_type, const gchar *name)
{
gint i = 2;
@@ -3761,34 +4210,58 @@ static void trw_layer_enum_item ( gpointer id, GList **tr, GList **l )
*/
static void trw_layer_move_item ( VikTrwLayer *vtl_src, VikTrwLayer *vtl_dest, gpointer id, gint type )
{
+ // TODO reconsider strategy when moving within layer (if anything...)
+ gboolean rename = ( vtl_src != vtl_dest );
+ if ( ! rename )
+ return;
+
if (type == VIK_TRW_LAYER_SUBLAYER_TRACK) {
VikTrack *trk = g_hash_table_lookup ( vtl_src->tracks, id );
- gchar *newname = trw_layer_new_unique_sublayer_name(vtl_dest, type, trk->name);
+ gchar *newname;
+ if ( rename )
+ newname = trw_layer_new_unique_sublayer_name ( vtl_dest, type, trk->name );
+ else
+ newname = g_strdup ( trk->name );
VikTrack *trk2 = vik_track_copy ( trk, TRUE );
vik_trw_layer_add_track ( vtl_dest, newname, trk2 );
+ g_free ( newname );
vik_trw_layer_delete_track ( vtl_src, trk );
}
if (type == VIK_TRW_LAYER_SUBLAYER_ROUTE) {
VikTrack *trk = g_hash_table_lookup ( vtl_src->routes, id );
- gchar *newname = trw_layer_new_unique_sublayer_name(vtl_dest, type, trk->name);
+ gchar *newname;
+ if ( rename )
+ newname = trw_layer_new_unique_sublayer_name ( vtl_dest, type, trk->name );
+ else
+ newname = g_strdup ( trk->name );
VikTrack *trk2 = vik_track_copy ( trk, TRUE );
vik_trw_layer_add_route ( vtl_dest, newname, trk2 );
+ g_free ( newname );
vik_trw_layer_delete_route ( vtl_src, trk );
}
if (type == VIK_TRW_LAYER_SUBLAYER_WAYPOINT) {
VikWaypoint *wp = g_hash_table_lookup ( vtl_src->waypoints, id );
- gchar *newname = trw_layer_new_unique_sublayer_name(vtl_dest, type, wp->name);
+ gchar *newname;
+ if ( rename )
+ newname = trw_layer_new_unique_sublayer_name ( vtl_dest, type, wp->name );
+ else
+ newname = g_strdup ( wp->name );
VikWaypoint *wp2 = vik_waypoint_copy ( wp );
vik_trw_layer_add_waypoint ( vtl_dest, newname, wp2 );
+ g_free ( newname );
trw_layer_delete_waypoint ( vtl_src, wp );
+
+ // Recalculate bounds even if not renamed as maybe dragged between layers
+ trw_layer_calculate_bounds_waypoints ( vtl_dest );
+ trw_layer_calculate_bounds_waypoints ( vtl_src );
}
}
@@ -3815,8 +4288,7 @@ static void trw_layer_drag_drop_request ( VikTrwLayer *vtl_src, VikTrwLayer *vtl
while (iter) {
if (type==VIK_TRW_LAYER_SUBLAYER_TRACKS) {
trw_layer_move_item ( vtl_src, vtl_dest, iter->data, VIK_TRW_LAYER_SUBLAYER_TRACK);
- }
- else if (type==VIK_TRW_LAYER_SUBLAYER_ROUTES) {
+ } else if (type==VIK_TRW_LAYER_SUBLAYER_ROUTES) {
trw_layer_move_item ( vtl_src, vtl_dest, iter->data, VIK_TRW_LAYER_SUBLAYER_ROUTE);
} else {
trw_layer_move_item ( vtl_src, vtl_dest, iter->data, VIK_TRW_LAYER_SUBLAYER_WAYPOINT);
@@ -3831,12 +4303,7 @@ static void trw_layer_drag_drop_request ( VikTrwLayer *vtl_src, VikTrwLayer *vtl
}
}
-typedef struct {
- VikTrack *trk; // input
- gpointer uuid; // output
-} trku_udata;
-
-static gboolean trw_layer_track_find_uuid ( const gpointer id, const VikTrack *trk, gpointer udata )
+gboolean trw_layer_track_find_uuid ( const gpointer id, const VikTrack *trk, gpointer udata )
{
trku_udata *user_data = udata;
if ( trk == user_data->trk ) {
@@ -4170,7 +4637,7 @@ static void trw_layer_delete_item ( gpointer pass_along[6] )
// Get confirmation from the user
// Maybe this Waypoint Delete should be optional as is it could get annoying...
if ( ! a_dialog_yes_or_no ( VIK_GTK_WINDOW_FROM_LAYER(vtl),
- _("Are you sure you want to delete the waypoint \"%s\""),
+ _("Are you sure you want to delete the waypoint \"%s\"?"),
wp->name ) )
return;
was_visible = trw_layer_delete_waypoint ( vtl, wp );
@@ -4183,7 +4650,7 @@ static void trw_layer_delete_item ( gpointer pass_along[6] )
if ( GPOINTER_TO_INT ( pass_along[4]) )
// Get confirmation from the user
if ( ! a_dialog_yes_or_no ( VIK_GTK_WINDOW_FROM_LAYER(vtl),
- _("Are you sure you want to delete the track \"%s\""),
+ _("Are you sure you want to delete the track \"%s\"?"),
trk->name ) )
return;
was_visible = vik_trw_layer_delete_track ( vtl, trk );
@@ -4196,7 +4663,7 @@ static void trw_layer_delete_item ( gpointer pass_along[6] )
if ( GPOINTER_TO_INT ( pass_along[4]) )
// Get confirmation from the user
if ( ! a_dialog_yes_or_no ( VIK_GTK_WINDOW_FROM_LAYER(vtl),
- _("Are you sure you want to delete the route \"%s\""),
+ _("Are you sure you want to delete the route \"%s\"?"),
trk->name ) )
return;
was_visible = vik_trw_layer_delete_route ( vtl, trk );
@@ -4206,6 +4673,52 @@ static void trw_layer_delete_item ( gpointer pass_along[6] )
vik_layer_emit_update ( VIK_LAYER(vtl) );
}
+/**
+ * Rename waypoint and maintain corresponding name of waypoint in the treeview
+ */
+void trw_layer_waypoint_rename ( VikTrwLayer *vtl, VikWaypoint *wp, const gchar *new_name )
+{
+ vik_waypoint_set_name ( wp, new_name );
+
+ // Now update the treeview as well
+ wpu_udata udataU;
+ udataU.wp = wp;
+ udataU.uuid = NULL;
+
+ // Need key of it for treeview update
+ gpointer *wpf = g_hash_table_find ( vtl->waypoints, (GHRFunc) trw_layer_waypoint_find_uuid, &udataU );
+
+ if ( wpf && udataU.uuid ) {
+ GtkTreeIter *it = g_hash_table_lookup ( vtl->waypoints_iters, udataU.uuid );
+
+ if ( it ) {
+ vik_treeview_item_set_name ( VIK_LAYER(vtl)->vt, it, new_name );
+ vik_treeview_sort_children ( VIK_LAYER(vtl)->vt, &(vtl->waypoints_iter), vtl->wp_sort_order );
+ }
+ }
+}
+
+/**
+ * Maintain icon of waypoint in the treeview
+ */
+void trw_layer_waypoint_reset_icon ( VikTrwLayer *vtl, VikWaypoint *wp )
+{
+ // update the treeview
+ wpu_udata udataU;
+ udataU.wp = wp;
+ udataU.uuid = NULL;
+
+ // Need key of it for treeview update
+ gpointer *wpf = g_hash_table_find ( vtl->waypoints, (GHRFunc) trw_layer_waypoint_find_uuid, &udataU );
+
+ if ( wpf && udataU.uuid ) {
+ GtkTreeIter *it = g_hash_table_lookup ( vtl->waypoints_iters, udataU.uuid );
+
+ if ( it ) {
+ vik_treeview_item_set_icon ( VIK_LAYER(vtl)->vt, it, get_wp_sym_small (wp->symbol) );
+ }
+ }
+}
static void trw_layer_properties_item ( gpointer pass_along[7] )
{
@@ -4217,7 +4730,9 @@ static void trw_layer_properties_item ( gpointer pass_along[7] )
if ( wp && wp->name )
{
gboolean updated = FALSE;
- a_dialog_waypoint ( VIK_GTK_WINDOW_FROM_LAYER(vtl), wp->name, wp, vtl->coord_mode, FALSE, &updated );
+ gchar *new_name = a_dialog_waypoint ( VIK_GTK_WINDOW_FROM_LAYER(vtl), wp->name, vtl, wp, vtl->coord_mode, FALSE, &updated );
+ if ( new_name )
+ trw_layer_waypoint_rename ( vtl, wp, new_name );
if ( updated && pass_along[6] )
vik_treeview_item_set_icon ( VIK_LAYER(vtl)->vt, pass_along[6], get_wp_sym_small (wp->symbol) );
@@ -4241,15 +4756,41 @@ static void trw_layer_properties_item ( gpointer pass_along[7] )
tr,
pass_along[1], /* vlp */
pass_along[5], /* vvp */
- pass_along[6]); /* iter */
+ FALSE );
}
}
}
+/**
+ * trw_layer_track_statistics:
+ *
+ * Show track statistics.
+ * ATM jump to the stats page in the properties
+ * TODO: consider separating the stats into an individual dialog?
+ */
+static void trw_layer_track_statistics ( gpointer pass_along[7] )
+{
+ VikTrwLayer *vtl = VIK_TRW_LAYER(pass_along[0]);
+ VikTrack *trk;
+ if ( GPOINTER_TO_INT (pass_along[2]) == VIK_TRW_LAYER_SUBLAYER_TRACK )
+ trk = g_hash_table_lookup ( vtl->tracks, pass_along[3] );
+ else
+ trk = g_hash_table_lookup ( vtl->routes, pass_along[3] );
+
+ if ( trk && trk->name ) {
+ vik_trw_layer_propwin_run ( VIK_GTK_WINDOW_FROM_LAYER(vtl),
+ vtl,
+ trk,
+ pass_along[1], // vlp
+ pass_along[5], // vvp
+ TRUE );
+ }
+}
+
/*
* Update the treeview of the track id - primarily to update the icon
*/
-void trw_layer_update_treeview ( VikTrwLayer *vtl, VikTrack *trk, gpointer *trk_id )
+void trw_layer_update_treeview ( VikTrwLayer *vtl, VikTrack *trk )
{
trku_udata udata;
udata.trk = trk;
@@ -4388,6 +4929,18 @@ static void trw_layer_convert_track_route ( gpointer pass_along[6] )
vik_layer_emit_update ( VIK_LAYER(pass_along[0]) );
}
+static void trw_layer_anonymize_times ( gpointer pass_along[6] )
+{
+ VikTrwLayer *vtl = (VikTrwLayer *)pass_along[0];
+ VikTrack *track;
+ if ( GPOINTER_TO_INT (pass_along[2]) == VIK_TRW_LAYER_SUBLAYER_ROUTE )
+ track = (VikTrack *) g_hash_table_lookup ( vtl->routes, pass_along[3] );
+ else
+ track = (VikTrack *) g_hash_table_lookup ( vtl->tracks, pass_along[3] );
+
+ if ( track )
+ vik_track_anonymize_times ( track );
+}
static void trw_layer_extend_track_end ( gpointer pass_along[6] )
{
@@ -4408,7 +4961,6 @@ static void trw_layer_extend_track_end ( gpointer pass_along[6] )
goto_coord ( pass_along[1], pass_along[0], pass_along[5], &(((VikTrackpoint *)g_list_last(track->trackpoints)->data)->coord) );
}
-#ifdef VIK_CONFIG_GOOGLE
/**
* extend a track using route finder
*/
@@ -4418,6 +4970,8 @@ static void trw_layer_extend_track_end_route_finder ( gpointer pass_along[6] )
VikTrack *track = g_hash_table_lookup ( VIK_TRW_LAYER(pass_along[0])->routes, pass_along[3] );
if ( !track )
return;
+ if ( !track->trackpoints )
+ return;
VikCoord last_coord = (((VikTrackpoint *)g_list_last(track->trackpoints)->data)->coord);
vik_window_enable_layer_tool ( VIK_WINDOW(VIK_GTK_WINDOW_FROM_LAYER(vtl)), VIK_LAYER_TRW, TOOL_ROUTE_FINDER );
@@ -4429,12 +4983,44 @@ static void trw_layer_extend_track_end_route_finder ( gpointer pass_along[6] )
goto_coord ( pass_along[1], pass_along[0], pass_along[5], &last_coord) ;
}
-#endif
-static void trw_layer_apply_dem_data ( gpointer pass_along[6] )
+/**
+ *
+ */
+static gboolean trw_layer_dem_test ( VikTrwLayer *vtl, VikLayersPanel *vlp )
+{
+ // If have a vlp then perform a basic test to see if any DEM info available...
+ if ( vlp ) {
+ GList *dems = vik_layers_panel_get_all_layers_of_type (vlp, VIK_LAYER_DEM, TRUE); // Includes hidden DEM layer types
+
+ if ( !g_list_length(dems) ) {
+ a_dialog_error_msg (VIK_GTK_WINDOW_FROM_LAYER(vtl), _("No DEM layers available, thus no DEM values can be applied.") );
+ return FALSE;
+ }
+ }
+ return TRUE;
+}
+
+/**
+ * apply_dem_data_common:
+ *
+ * A common function for applying the DEM values and reporting the results.
+ */
+static void apply_dem_data_common ( VikTrwLayer *vtl, VikLayersPanel *vlp, VikTrack *track, gboolean skip_existing_elevations )
+{
+ if ( !trw_layer_dem_test ( vtl, vlp ) )
+ return;
+
+ gulong changed = vik_track_apply_dem_data ( track, skip_existing_elevations );
+ // Inform user how much was changed
+ gchar str[64];
+ const gchar *tmp_str = ngettext("%ld point adjusted", "%ld points adjusted", changed);
+ g_snprintf(str, 64, tmp_str, changed);
+ a_dialog_info_msg (VIK_GTK_WINDOW_FROM_LAYER(vtl), str);
+}
+
+static void trw_layer_apply_dem_data_all ( gpointer pass_along[6] )
{
- /* TODO: check & warn if no DEM data, or no applicable DEM data. */
- /* Also warn if overwrite old elevation data */
VikTrwLayer *vtl = (VikTrwLayer *)pass_along[0];
VikTrack *track;
if ( GPOINTER_TO_INT (pass_along[2]) == VIK_TRW_LAYER_SUBLAYER_ROUTE )
@@ -4443,7 +5029,137 @@ static void trw_layer_apply_dem_data ( gpointer pass_along[6] )
track = (VikTrack *) g_hash_table_lookup ( vtl->tracks, pass_along[3] );
if ( track )
- vik_track_apply_dem_data ( track );
+ apply_dem_data_common ( vtl, pass_along[1], track, FALSE );
+}
+
+static void trw_layer_apply_dem_data_only_missing ( gpointer pass_along[6] )
+{
+ VikTrwLayer *vtl = (VikTrwLayer *)pass_along[0];
+ VikTrack *track;
+ if ( GPOINTER_TO_INT (pass_along[2]) == VIK_TRW_LAYER_SUBLAYER_ROUTE )
+ track = (VikTrack *) g_hash_table_lookup ( vtl->routes, pass_along[3] );
+ else
+ track = (VikTrack *) g_hash_table_lookup ( vtl->tracks, pass_along[3] );
+
+ if ( track )
+ apply_dem_data_common ( vtl, pass_along[1], track, TRUE );
+}
+
+/**
+ * smooth_it:
+ *
+ * A common function for applying the elevation smoothing and reporting the results.
+ */
+static void smooth_it ( VikTrwLayer *vtl, VikTrack *track, gboolean flat )
+{
+ gulong changed = vik_track_smooth_missing_elevation_data ( track, flat );
+ // Inform user how much was changed
+ gchar str[64];
+ const gchar *tmp_str = ngettext("%ld point adjusted", "%ld points adjusted", changed);
+ g_snprintf(str, 64, tmp_str, changed);
+ a_dialog_info_msg (VIK_GTK_WINDOW_FROM_LAYER(vtl), str);
+}
+
+/**
+ *
+ */
+static void trw_layer_missing_elevation_data_interp ( gpointer pass_along[6] )
+{
+ VikTrwLayer *vtl = (VikTrwLayer *)pass_along[0];
+ VikTrack *track;
+ if ( GPOINTER_TO_INT (pass_along[2]) == VIK_TRW_LAYER_SUBLAYER_ROUTE )
+ track = (VikTrack *) g_hash_table_lookup ( vtl->routes, pass_along[3] );
+ else
+ track = (VikTrack *) g_hash_table_lookup ( vtl->tracks, pass_along[3] );
+
+ if ( !track )
+ return;
+
+ smooth_it ( vtl, track, FALSE );
+}
+
+static void trw_layer_missing_elevation_data_flat ( gpointer pass_along[6] )
+{
+ VikTrwLayer *vtl = (VikTrwLayer *)pass_along[0];
+ VikTrack *track;
+ if ( GPOINTER_TO_INT (pass_along[2]) == VIK_TRW_LAYER_SUBLAYER_ROUTE )
+ track = (VikTrack *) g_hash_table_lookup ( vtl->routes, pass_along[3] );
+ else
+ track = (VikTrack *) g_hash_table_lookup ( vtl->tracks, pass_along[3] );
+
+ if ( !track )
+ return;
+
+ smooth_it ( vtl, track, TRUE );
+}
+
+/**
+ * Commonal helper function
+ */
+static void wp_changed_message ( VikTrwLayer *vtl, gint changed )
+{
+ gchar str[64];
+ const gchar *tmp_str = ngettext("%ld waypoint changed", "%ld waypoints changed", changed);
+ g_snprintf(str, 64, tmp_str, changed);
+ a_dialog_info_msg (VIK_GTK_WINDOW_FROM_LAYER(vtl), str);
+}
+
+static void trw_layer_apply_dem_data_wpt_all ( gpointer pass_along[6] )
+{
+ VikTrwLayer *vtl = (VikTrwLayer *)pass_along[0];
+ VikLayersPanel *vlp = (VikLayersPanel *)pass_along[1];
+
+ if ( !trw_layer_dem_test ( vtl, vlp ) )
+ return;
+
+ gint changed = 0;
+ if ( GPOINTER_TO_INT (pass_along[2]) == VIK_TRW_LAYER_SUBLAYER_WAYPOINT ) {
+ // Single Waypoint
+ VikWaypoint *wp = (VikWaypoint *) g_hash_table_lookup ( vtl->waypoints, pass_along[3] );
+ if ( wp )
+ changed = (gint)vik_waypoint_apply_dem_data ( wp, FALSE );
+ }
+ else {
+ // All waypoints
+ GHashTableIter iter;
+ gpointer key, value;
+
+ g_hash_table_iter_init ( &iter, vtl->waypoints );
+ while ( g_hash_table_iter_next (&iter, &key, &value) ) {
+ VikWaypoint *wp = VIK_WAYPOINT(value);
+ changed = changed + (gint)vik_waypoint_apply_dem_data ( wp, FALSE );
+ }
+ }
+ wp_changed_message ( vtl, changed );
+}
+
+static void trw_layer_apply_dem_data_wpt_only_missing ( gpointer pass_along[6] )
+{
+ VikTrwLayer *vtl = (VikTrwLayer *)pass_along[0];
+ VikLayersPanel *vlp = (VikLayersPanel *)pass_along[1];
+
+ if ( !trw_layer_dem_test ( vtl, vlp ) )
+ return;
+
+ gint changed = 0;
+ if ( GPOINTER_TO_INT (pass_along[2]) == VIK_TRW_LAYER_SUBLAYER_WAYPOINT ) {
+ // Single Waypoint
+ VikWaypoint *wp = (VikWaypoint *) g_hash_table_lookup ( vtl->waypoints, pass_along[3] );
+ if ( wp )
+ changed = (gint)vik_waypoint_apply_dem_data ( wp, TRUE );
+ }
+ else {
+ // All waypoints
+ GHashTableIter iter;
+ gpointer key, value;
+
+ g_hash_table_iter_init ( &iter, vtl->waypoints );
+ while ( g_hash_table_iter_next (&iter, &key, &value) ) {
+ VikWaypoint *wp = VIK_WAYPOINT(value);
+ changed = changed + (gint)vik_waypoint_apply_dem_data ( wp, TRUE );
+ }
+ }
+ wp_changed_message ( vtl, changed );
}
static void trw_layer_goto_track_endpoint ( gpointer pass_along[6] )
@@ -4524,7 +5240,7 @@ static void trw_layer_goto_track_min_alt ( gpointer pass_along[6] )
*/
static void trw_layer_auto_track_view ( gpointer pass_along[6] )
{
- VikTrwLayer *vtl = (VikTrwLayer *)pass_along[0];
+ VikTrwLayer *vtl = VIK_TRW_LAYER(pass_along[0]);
VikTrack *trk;
if ( GPOINTER_TO_INT (pass_along[2]) == VIK_TRW_LAYER_SUBLAYER_ROUTE )
trk = (VikTrack *) g_hash_table_lookup ( vtl->routes, pass_along[3] );
@@ -4535,11 +5251,96 @@ static void trw_layer_auto_track_view ( gpointer pass_along[6] )
{
struct LatLon maxmin[2] = { {0,0}, {0,0} };
trw_layer_find_maxmin_tracks ( NULL, trk, maxmin );
- trw_layer_zoom_to_show_latlons ( VIK_TRW_LAYER(pass_along[0]), pass_along[5], maxmin );
+ trw_layer_zoom_to_show_latlons ( vtl, pass_along[5], maxmin );
if ( pass_along[1] )
vik_layers_panel_emit_update ( VIK_LAYERS_PANEL(pass_along[1]) );
else
- vik_layer_emit_update ( VIK_LAYER(pass_along[0]) );
+ vik_layer_emit_update ( VIK_LAYER(vtl) );
+ }
+}
+
+/*
+ * Refine the selected track/route with a routing engine.
+ * The routing engine is selected by the user, when requestiong the job.
+ */
+static void trw_layer_route_refine ( gpointer pass_along[6] )
+{
+ static gint last_engine = 0;
+ VikTrwLayer *vtl = VIK_TRW_LAYER(pass_along[0]);
+ VikTrack *trk;
+
+ if ( GPOINTER_TO_INT (pass_along[2]) == VIK_TRW_LAYER_SUBLAYER_ROUTE )
+ trk = (VikTrack *) g_hash_table_lookup ( vtl->routes, pass_along[3] );
+ else
+ trk = (VikTrack *) g_hash_table_lookup ( vtl->tracks, pass_along[3] );
+
+ if ( trk && trk->trackpoints )
+ {
+ /* Check size of the route */
+ int nb = vik_track_get_tp_count(trk);
+ if (nb > 100) {
+ GtkWidget *dialog = gtk_message_dialog_new (VIK_GTK_WINDOW_FROM_LAYER (vtl),
+ GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT,
+ GTK_MESSAGE_WARNING,
+ GTK_BUTTONS_OK_CANCEL,
+ _("Refining a track with many points (%d) is unlikely to yield sensible results. Do you want to Continue?"),
+ nb);
+ gint response = gtk_dialog_run ( GTK_DIALOG(dialog) );
+ gtk_widget_destroy ( dialog );
+ if (response != GTK_RESPONSE_OK )
+ return;
+ }
+ /* Select engine from dialog */
+ GtkWidget *dialog = gtk_dialog_new_with_buttons (_("Refine Route with Routing Engine..."),
+ VIK_GTK_WINDOW_FROM_LAYER (vtl),
+ GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT,
+ GTK_STOCK_CANCEL,
+ GTK_RESPONSE_REJECT,
+ GTK_STOCK_OK,
+ GTK_RESPONSE_ACCEPT,
+ NULL);
+ GtkWidget *label = gtk_label_new ( _("Select routing engine") );
+ gtk_widget_show_all(label);
+
+ gtk_box_pack_start ( GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), label, TRUE, TRUE, 0 );
+
+ GtkWidget * combo = vik_routing_ui_selector_new ( (Predicate)vik_routing_engine_supports_refine, NULL );
+ gtk_combo_box_set_active (GTK_COMBO_BOX (combo), last_engine);
+ gtk_widget_show_all(combo);
+
+ gtk_box_pack_start ( GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), combo, TRUE, TRUE, 0 );
+
+ gtk_dialog_set_default_response ( GTK_DIALOG(dialog), GTK_RESPONSE_ACCEPT );
+
+ if ( gtk_dialog_run ( GTK_DIALOG(dialog) ) == GTK_RESPONSE_ACCEPT )
+ {
+ /* Dialog validated: retrieve selected engine and do the job */
+ last_engine = gtk_combo_box_get_active ( GTK_COMBO_BOX(combo) );
+ VikRoutingEngine *routing = vik_routing_ui_selector_get_nth (combo, last_engine);
+
+ /* Change cursor */
+ vik_window_set_busy_cursor ( VIK_WINDOW(VIK_GTK_WINDOW_FROM_LAYER(pass_along[0])) );
+
+ /* Force saving track */
+ /* FIXME: remove or rename this hack */
+ vtl->route_finder_check_added_track = TRUE;
+
+ /* the job */
+ vik_routing_engine_refine (routing, vtl, trk);
+
+ /* FIXME: remove or rename this hack */
+ if ( vtl->route_finder_added_track )
+ vik_track_calculate_bounds ( vtl->route_finder_added_track );
+
+ vtl->route_finder_added_track = NULL;
+ vtl->route_finder_check_added_track = FALSE;
+
+ vik_layer_emit_update ( VIK_LAYER(vtl) );
+
+ /* Restore cursor */
+ vik_window_clear_busy_cursor ( VIK_WINDOW(VIK_GTK_WINDOW_FROM_LAYER(pass_along[0])) );
+ }
+ gtk_widget_destroy ( dialog );
}
}
@@ -4753,8 +5554,7 @@ static void trw_layer_merge_with_other ( gpointer pass_along[6] )
merge_track = vik_trw_layer_get_track ( vtl, l->data );
if (merge_track) {
- track->trackpoints = g_list_concat(track->trackpoints, merge_track->trackpoints);
- merge_track->trackpoints = NULL;
+ vik_track_steal_and_append_trackpoints ( track, merge_track );
if ( track->is_route )
vik_trw_layer_delete_route (vtl, merge_track);
else
@@ -4762,10 +5562,10 @@ static void trw_layer_merge_with_other ( gpointer pass_along[6] )
track->trackpoints = g_list_sort(track->trackpoints, trackpoint_compare);
}
}
- /* TODO: free data before free merge_list */
for (l = merge_list; l != NULL; l = g_list_next(l))
g_free(l->data);
g_list_free(merge_list);
+
vik_layer_emit_update( VIK_LAYER(vtl) );
}
}
@@ -4842,8 +5642,7 @@ static void trw_layer_append_track ( gpointer pass_along[6] )
append_track = vik_trw_layer_get_track ( vtl, l->data );
if ( append_track ) {
- trk->trackpoints = g_list_concat(trk->trackpoints, append_track->trackpoints);
- append_track->trackpoints = NULL;
+ vik_track_steal_and_append_trackpoints ( trk, append_track );
if ( trk->is_route )
vik_trw_layer_delete_route (vtl, append_track);
else
@@ -4853,6 +5652,7 @@ static void trw_layer_append_track ( gpointer pass_along[6] )
for (l = append_list; l != NULL; l = g_list_next(l))
g_free(l->data);
g_list_free(append_list);
+
vik_layer_emit_update( VIK_LAYER(vtl) );
}
}
@@ -4936,8 +5736,7 @@ static void trw_layer_append_other ( gpointer pass_along[6] )
}
}
- trk->trackpoints = g_list_concat(trk->trackpoints, append_track->trackpoints);
- append_track->trackpoints = NULL;
+ vik_track_steal_and_append_trackpoints ( trk, append_track );
// Delete copied which is FROM THE OTHER TYPE list
if ( trk->is_route )
@@ -5049,8 +5848,7 @@ static void trw_layer_merge_by_timestamp ( gpointer pass_along[6] )
*/
/* remove trackpoints from merged track, delete track */
- orig_trk->trackpoints = g_list_concat(orig_trk->trackpoints, VIK_TRACK(l->data)->trackpoints);
- VIK_TRACK(l->data)->trackpoints = NULL;
+ vik_track_steal_and_append_trackpoints ( orig_trk, VIK_TRACK(l->data) );
vik_trw_layer_delete_track (vtl, VIK_TRACK(l->data));
// Tracks have changed, therefore retry again against all the remaining tracks
@@ -5063,6 +5861,7 @@ static void trw_layer_merge_by_timestamp ( gpointer pass_along[6] )
}
g_list_free(nearby_tracks);
+
vik_layer_emit_update( VIK_LAYER(vtl) );
}
@@ -5087,6 +5886,9 @@ static void trw_layer_split_at_selected_trackpoint ( VikTrwLayer *vtl, gint subt
vtl->current_tpl->next->prev = newglist; /* end old track here */
vtl->current_tpl->next = NULL;
+ // Bounds of the selected track changed due to the split
+ vik_track_calculate_bounds ( vtl->current_tp_track );
+
vtl->current_tpl = newglist; /* change tp to first of new track. */
vtl->current_tp_track = tr;
@@ -5095,6 +5897,9 @@ static void trw_layer_split_at_selected_trackpoint ( VikTrwLayer *vtl, gint subt
else
vik_trw_layer_add_track ( vtl, name, tr );
+ // Bounds of the new track created by the split
+ vik_track_calculate_bounds ( tr );
+
trku_udata udata;
udata.trk = tr;
udata.uuid = NULL;
@@ -5113,6 +5918,7 @@ static void trw_layer_split_at_selected_trackpoint ( VikTrwLayer *vtl, gint subt
vik_layer_emit_update(VIK_LAYER(vtl));
}
+ g_free ( name );
}
}
@@ -5188,7 +5994,8 @@ static void trw_layer_split_by_timestamp ( gpointer pass_along[6] )
vik_trw_layer_add_track(vtl, new_tr_name, tr);
/* g_print("adding track %s, times %d - %d\n", new_tr_name, VIK_TRACKPOINT(tr->trackpoints->data)->timestamp,
VIK_TRACKPOINT(g_list_last(tr->trackpoints)->data)->timestamp);*/
-
+ g_free ( new_tr_name );
+ vik_track_calculate_bounds ( tr );
iter = g_list_next(iter);
}
// Remove original track and then update the display
@@ -5274,6 +6081,9 @@ static void trw_layer_split_by_n_points ( gpointer pass_along[6] )
new_tr_name = trw_layer_new_unique_sublayer_name ( vtl, VIK_TRW_LAYER_SUBLAYER_TRACK, track->name);
vik_trw_layer_add_track(vtl, new_tr_name, tr);
}
+ g_free ( new_tr_name );
+ vik_track_calculate_bounds ( tr );
+
iter = g_list_next(iter);
}
// Remove original track and then update the display
@@ -5317,6 +6127,7 @@ static void trw_layer_split_segments ( gpointer pass_along[6] )
if ( tracks[i] ) {
new_tr_name = trw_layer_new_unique_sublayer_name ( vtl, VIK_TRW_LAYER_SUBLAYER_TRACK, trk->name);
vik_trw_layer_add_track ( vtl, new_tr_name, tracks[i] );
+ g_free ( new_tr_name );
}
}
if ( tracks ) {
@@ -5331,6 +6142,60 @@ static void trw_layer_split_segments ( gpointer pass_along[6] )
}
/* end of split/merge routines */
+static void trw_layer_trackpoint_selected_delete ( VikTrwLayer *vtl, VikTrack *trk )
+{
+ GList *new_tpl;
+
+ // Find available adjacent trackpoint
+ if ( (new_tpl = vtl->current_tpl->next) || (new_tpl = vtl->current_tpl->prev) ) {
+ if ( VIK_TRACKPOINT(vtl->current_tpl->data)->newsegment && vtl->current_tpl->next )
+ VIK_TRACKPOINT(vtl->current_tpl->next->data)->newsegment = TRUE; /* don't concat segments on del */
+
+ // Delete current trackpoint
+ vik_trackpoint_free ( vtl->current_tpl->data );
+ trk->trackpoints = g_list_delete_link ( trk->trackpoints, vtl->current_tpl );
+
+ // Set to current to the available adjacent trackpoint
+ vtl->current_tpl = new_tpl;
+
+ if ( vtl->current_tp_track ) {
+ vik_track_calculate_bounds ( vtl->current_tp_track );
+ }
+ }
+ else {
+ // Delete current trackpoint
+ vik_trackpoint_free ( vtl->current_tpl->data );
+ trk->trackpoints = g_list_delete_link ( trk->trackpoints, vtl->current_tpl );
+ trw_layer_cancel_current_tp ( vtl, FALSE );
+ }
+}
+
+/**
+ * Delete the selected point
+ */
+static void trw_layer_delete_point_selected ( gpointer pass_along[6] )
+{
+ VikTrwLayer *vtl = (VikTrwLayer *)pass_along[0];
+ VikTrack *trk;
+ if ( GPOINTER_TO_INT (pass_along[2]) == VIK_TRW_LAYER_SUBLAYER_ROUTE )
+ trk = (VikTrack *) g_hash_table_lookup ( vtl->routes, pass_along[3] );
+ else
+ trk = (VikTrack *) g_hash_table_lookup ( vtl->tracks, pass_along[3] );
+
+ if ( !trk )
+ return;
+
+ if ( !vtl->current_tpl )
+ return;
+
+ trw_layer_trackpoint_selected_delete ( vtl, trk );
+
+ // Track has been updated so update tps:
+ trw_layer_cancel_tps_of_track ( vtl, trk );
+
+ vik_layer_emit_update ( VIK_LAYER(vtl) );
+}
+
/**
* Delete adjacent track points at the same position
* AKA Delete Dulplicates on the Properties Window
@@ -5392,9 +6257,9 @@ static void trw_layer_delete_points_same_time ( gpointer pass_along[6] )
}
/**
- * Reverse a track
+ * Insert a point
*/
-static void trw_layer_reverse ( gpointer pass_along[6] )
+static void trw_layer_insert_point_after ( gpointer pass_along[6] )
{
VikTrwLayer *vtl = (VikTrwLayer *)pass_along[0];
VikTrack *track;
@@ -5406,9 +6271,41 @@ static void trw_layer_reverse ( gpointer pass_along[6] )
if ( ! track )
return;
- // Check valid track
- GList *trps = track->trackpoints;
- if ( !trps )
+ trw_layer_insert_tp_beside_current_tp ( vtl, FALSE );
+
+ vik_layer_emit_update ( VIK_LAYER(vtl) );
+}
+
+static void trw_layer_insert_point_before ( gpointer pass_along[6] )
+{
+ VikTrwLayer *vtl = (VikTrwLayer *)pass_along[0];
+ VikTrack *track;
+ if ( GPOINTER_TO_INT (pass_along[2]) == VIK_TRW_LAYER_SUBLAYER_ROUTE )
+ track = (VikTrack *) g_hash_table_lookup ( vtl->routes, pass_along[3] );
+ else
+ track = (VikTrack *) g_hash_table_lookup ( vtl->tracks, pass_along[3] );
+
+ if ( ! track )
+ return;
+
+ trw_layer_insert_tp_beside_current_tp ( vtl, TRUE );
+
+ vik_layer_emit_update ( VIK_LAYER(vtl) );
+}
+
+/**
+ * Reverse a track
+ */
+static void trw_layer_reverse ( gpointer pass_along[6] )
+{
+ VikTrwLayer *vtl = (VikTrwLayer *)pass_along[0];
+ VikTrack *track;
+ if ( GPOINTER_TO_INT (pass_along[2]) == VIK_TRW_LAYER_SUBLAYER_ROUTE )
+ track = (VikTrack *) g_hash_table_lookup ( vtl->routes, pass_along[3] );
+ else
+ track = (VikTrack *) g_hash_table_lookup ( vtl->tracks, pass_along[3] );
+
+ if ( ! track )
return;
vik_track_reverse ( track );
@@ -5570,9 +6467,10 @@ static void vik_trw_layer_uniquify_tracks ( VikTrwLayer *vtl, VikLayersPanel *vl
if ( it ) {
vik_treeview_item_set_name ( VIK_LAYER(vtl)->vt, it, newname );
-#ifdef VIK_CONFIG_ALPHABETIZED_TRW
- vik_treeview_sublayer_realphabetize ( VIK_LAYER(vtl)->vt, it, newname );
-#endif
+ if ( ontrack )
+ vik_treeview_sort_children ( VIK_LAYER(vtl)->vt, &(vtl->tracks_iter), vtl->wp_sort_order );
+ else
+ vik_treeview_sort_children ( VIK_LAYER(vtl)->vt, &(vtl->routes_iter), vtl->wp_sort_order );
}
}
@@ -5591,6 +6489,52 @@ static void vik_trw_layer_uniquify_tracks ( VikTrwLayer *vtl, VikLayersPanel *vl
vik_layers_panel_emit_update ( vlp );
}
+static void trw_layer_sort_order_a2z ( gpointer pass_along[6] )
+{
+ VikTrwLayer *vtl = VIK_TRW_LAYER(pass_along[0]);
+ GtkTreeIter *iter;
+
+ switch (GPOINTER_TO_INT (pass_along[2])) {
+ case VIK_TRW_LAYER_SUBLAYER_TRACKS:
+ iter = &(vtl->tracks_iter);
+ vtl->track_sort_order = VL_SO_ALPHABETICAL_ASCENDING;
+ break;
+ case VIK_TRW_LAYER_SUBLAYER_ROUTES:
+ iter = &(vtl->routes_iter);
+ vtl->track_sort_order = VL_SO_ALPHABETICAL_ASCENDING;
+ break;
+ default: // VIK_TRW_LAYER_SUBLAYER_WAYPOINTS:
+ iter = &(vtl->waypoints_iter);
+ vtl->wp_sort_order = VL_SO_ALPHABETICAL_ASCENDING;
+ break;
+ }
+
+ vik_treeview_sort_children ( VIK_LAYER(vtl)->vt, iter, VL_SO_ALPHABETICAL_ASCENDING );
+}
+
+static void trw_layer_sort_order_z2a ( gpointer pass_along[6] )
+{
+ VikTrwLayer *vtl = VIK_TRW_LAYER(pass_along[0]);
+ GtkTreeIter *iter;
+
+ switch (GPOINTER_TO_INT (pass_along[2])) {
+ case VIK_TRW_LAYER_SUBLAYER_TRACKS:
+ iter = &(vtl->tracks_iter);
+ vtl->track_sort_order = VL_SO_ALPHABETICAL_DESCENDING;
+ break;
+ case VIK_TRW_LAYER_SUBLAYER_ROUTES:
+ iter = &(vtl->routes_iter);
+ vtl->track_sort_order = VL_SO_ALPHABETICAL_DESCENDING;
+ break;
+ default: // VIK_TRW_LAYER_SUBLAYER_WAYPOINTS:
+ iter = &(vtl->waypoints_iter);
+ vtl->wp_sort_order = VL_SO_ALPHABETICAL_DESCENDING;
+ break;
+ }
+
+ vik_treeview_sort_children ( VIK_LAYER(vtl)->vt, iter, VL_SO_ALPHABETICAL_DESCENDING );
+}
+
/**
*
*/
@@ -5781,26 +6725,8 @@ static void vik_trw_layer_uniquify_waypoints ( VikTrwLayer *vtl, VikLayersPanel
// Rename it
gchar *newname = trw_layer_new_unique_sublayer_name ( vtl, VIK_TRW_LAYER_SUBLAYER_WAYPOINT, udata.same_waypoint_name );
- vik_waypoint_set_name ( waypoint, newname );
-
- wpu_udata udataU;
- udataU.wp = waypoint;
- udataU.uuid = NULL;
- // Need want key of it for treeview update
- gpointer *wpf = g_hash_table_find ( vtl->waypoints, (GHRFunc) trw_layer_waypoint_find_uuid, &udataU );
-
- if ( wpf && udataU.uuid ) {
-
- GtkTreeIter *it = g_hash_table_lookup ( vtl->waypoints_iters, udataU.uuid );
-
- if ( it ) {
- vik_treeview_item_set_name ( VIK_LAYER(vtl)->vt, it, newname );
-#ifdef VIK_CONFIG_ALPHABETIZED_TRW
- vik_treeview_sublayer_realphabetize ( VIK_LAYER(vtl)->vt, it, newname );
-#endif
- }
- }
+ trw_layer_waypoint_rename ( vtl, waypoint, newname );
// Start trying to find same names again...
waypoint_names = NULL;
@@ -5861,11 +6787,290 @@ static void trw_layer_delete_waypoints_from_selection ( gpointer lav[2] )
trw_layer_delete_waypoint_by_name (vtl, l->data);
}
g_list_free(delete_list);
+
+ trw_layer_calculate_bounds_waypoints ( vtl );
vik_layer_emit_update( VIK_LAYER(vtl) );
}
}
+/**
+ *
+ */
+static void trw_layer_iter_visibility_toggle ( gpointer id, GtkTreeIter *it, VikTreeview *vt )
+{
+ vik_treeview_item_toggle_visible ( vt, it );
+}
+
+/**
+ *
+ */
+static void trw_layer_iter_visibility ( gpointer id, GtkTreeIter *it, gpointer vis_data[2] )
+{
+ vik_treeview_item_set_visible ( (VikTreeview*)vis_data[0], it, GPOINTER_TO_INT (vis_data[1]) );
+}
+
+/**
+ *
+ */
+static void trw_layer_waypoints_visibility ( gpointer id, VikWaypoint *wp, gpointer on_off )
+{
+ wp->visible = GPOINTER_TO_INT (on_off);
+}
+
+/**
+ *
+ */
+static void trw_layer_waypoints_toggle_visibility ( gpointer id, VikWaypoint *wp )
+{
+ wp->visible = !wp->visible;
+}
+
+/**
+ *
+ */
+static void trw_layer_waypoints_visibility_off ( gpointer lav[2] )
+{
+ VikTrwLayer *vtl = VIK_TRW_LAYER(lav[0]);
+ gpointer vis_data[2] = { VIK_LAYER(vtl)->vt, GINT_TO_POINTER(FALSE) };
+ g_hash_table_foreach ( vtl->waypoints_iters, (GHFunc) trw_layer_iter_visibility, vis_data );
+ g_hash_table_foreach ( vtl->waypoints, (GHFunc) trw_layer_waypoints_visibility, vis_data[1] );
+ // Redraw
+ vik_layer_emit_update ( VIK_LAYER(vtl) );
+}
+
+/**
+ *
+ */
+static void trw_layer_waypoints_visibility_on ( gpointer lav[2] )
+{
+ VikTrwLayer *vtl = VIK_TRW_LAYER(lav[0]);
+ gpointer vis_data[2] = { VIK_LAYER(vtl)->vt, GINT_TO_POINTER(TRUE) };
+ g_hash_table_foreach ( vtl->waypoints_iters, (GHFunc) trw_layer_iter_visibility, vis_data );
+ g_hash_table_foreach ( vtl->waypoints, (GHFunc) trw_layer_waypoints_visibility, vis_data[1] );
+ // Redraw
+ vik_layer_emit_update ( VIK_LAYER(vtl) );
+}
+
+/**
+ *
+ */
+static void trw_layer_waypoints_visibility_toggle ( gpointer lav[2] )
+{
+ VikTrwLayer *vtl = VIK_TRW_LAYER(lav[0]);
+ g_hash_table_foreach ( vtl->waypoints_iters, (GHFunc) trw_layer_iter_visibility_toggle, VIK_LAYER(vtl)->vt );
+ g_hash_table_foreach ( vtl->waypoints, (GHFunc) trw_layer_waypoints_toggle_visibility, NULL );
+ // Redraw
+ vik_layer_emit_update ( VIK_LAYER(vtl) );
+}
+
+/**
+ *
+ */
+static void trw_layer_tracks_visibility ( gpointer id, VikTrack *trk, gpointer on_off )
+{
+ trk->visible = GPOINTER_TO_INT (on_off);
+}
+
+/**
+ *
+ */
+static void trw_layer_tracks_toggle_visibility ( gpointer id, VikTrack *trk )
+{
+ trk->visible = !trk->visible;
+}
+
+/**
+ *
+ */
+static void trw_layer_tracks_visibility_off ( gpointer lav[2] )
+{
+ VikTrwLayer *vtl = VIK_TRW_LAYER(lav[0]);
+ gpointer vis_data[2] = { VIK_LAYER(vtl)->vt, GINT_TO_POINTER(FALSE) };
+ g_hash_table_foreach ( vtl->tracks_iters, (GHFunc) trw_layer_iter_visibility, vis_data );
+ g_hash_table_foreach ( vtl->tracks, (GHFunc) trw_layer_tracks_visibility, vis_data[1] );
+ // Redraw
+ vik_layer_emit_update ( VIK_LAYER(vtl) );
+}
+
+/**
+ *
+ */
+static void trw_layer_tracks_visibility_on ( gpointer lav[2] )
+{
+ VikTrwLayer *vtl = VIK_TRW_LAYER(lav[0]);
+ gpointer vis_data[2] = { VIK_LAYER(vtl)->vt, GINT_TO_POINTER(TRUE) };
+ g_hash_table_foreach ( vtl->tracks_iters, (GHFunc) trw_layer_iter_visibility, vis_data );
+ g_hash_table_foreach ( vtl->tracks, (GHFunc) trw_layer_tracks_visibility, vis_data[1] );
+ // Redraw
+ vik_layer_emit_update ( VIK_LAYER(vtl) );
+}
+
+/**
+ *
+ */
+static void trw_layer_tracks_visibility_toggle ( gpointer lav[2] )
+{
+ VikTrwLayer *vtl = VIK_TRW_LAYER(lav[0]);
+ g_hash_table_foreach ( vtl->tracks_iters, (GHFunc) trw_layer_iter_visibility_toggle, VIK_LAYER(vtl)->vt );
+ g_hash_table_foreach ( vtl->tracks, (GHFunc) trw_layer_tracks_toggle_visibility, NULL );
+ // Redraw
+ vik_layer_emit_update ( VIK_LAYER(vtl) );
+}
+
+/**
+ *
+ */
+static void trw_layer_routes_visibility_off ( gpointer lav[2] )
+{
+ VikTrwLayer *vtl = VIK_TRW_LAYER(lav[0]);
+ gpointer vis_data[2] = { VIK_LAYER(vtl)->vt, GINT_TO_POINTER(FALSE) };
+ g_hash_table_foreach ( vtl->routes_iters, (GHFunc) trw_layer_iter_visibility, vis_data );
+ g_hash_table_foreach ( vtl->routes, (GHFunc) trw_layer_tracks_visibility, vis_data[1] );
+ // Redraw
+ vik_layer_emit_update ( VIK_LAYER(vtl) );
+}
+
+/**
+ *
+ */
+static void trw_layer_routes_visibility_on ( gpointer lav[2] )
+{
+ VikTrwLayer *vtl = VIK_TRW_LAYER(lav[0]);
+ gpointer vis_data[2] = { VIK_LAYER(vtl)->vt, GINT_TO_POINTER(TRUE) };
+ g_hash_table_foreach ( vtl->routes_iters, (GHFunc) trw_layer_iter_visibility, vis_data );
+ g_hash_table_foreach ( vtl->routes, (GHFunc) trw_layer_tracks_visibility, vis_data[1] );
+ // Redraw
+ vik_layer_emit_update ( VIK_LAYER(vtl) );
+}
+
+/**
+ *
+ */
+static void trw_layer_routes_visibility_toggle ( gpointer lav[2] )
+{
+ VikTrwLayer *vtl = VIK_TRW_LAYER(lav[0]);
+ g_hash_table_foreach ( vtl->routes_iters, (GHFunc) trw_layer_iter_visibility_toggle, VIK_LAYER(vtl)->vt );
+ g_hash_table_foreach ( vtl->routes, (GHFunc) trw_layer_tracks_toggle_visibility, NULL );
+ // Redraw
+ vik_layer_emit_update ( VIK_LAYER(vtl) );
+}
+
+/**
+ * vik_trw_layer_build_waypoint_list_t:
+ *
+ * Helper function to construct a list of #vik_trw_waypoint_list_t
+ */
+GList *vik_trw_layer_build_waypoint_list_t ( VikTrwLayer *vtl, GList *waypoints )
+{
+ GList *waypoints_and_layers = NULL;
+ // build waypoints_and_layers list
+ while ( waypoints ) {
+ vik_trw_waypoint_list_t *vtdl = g_malloc (sizeof(vik_trw_waypoint_list_t));
+ vtdl->wpt = VIK_WAYPOINT(waypoints->data);
+ vtdl->vtl = vtl;
+ waypoints_and_layers = g_list_prepend ( waypoints_and_layers, vtdl );
+ waypoints = g_list_next ( waypoints );
+ }
+ return waypoints_and_layers;
+}
+
+/**
+ * trw_layer_create_waypoint_list:
+ *
+ * Create the latest list of waypoints with the associated layer(s)
+ * Although this will always be from a single layer here
+ */
+static GList* trw_layer_create_waypoint_list ( VikLayer *vl, gpointer user_data )
+{
+ VikTrwLayer *vtl = VIK_TRW_LAYER(vl);
+ GList *waypoints = g_hash_table_get_values ( vik_trw_layer_get_waypoints(vtl) );
+
+ return vik_trw_layer_build_waypoint_list_t ( vtl, waypoints );
+}
+
+/**
+ * trw_layer_analyse_close:
+ *
+ * Stuff to do on dialog closure
+ */
+static void trw_layer_analyse_close ( GtkWidget *dialog, gint resp, VikLayer* vl )
+{
+ VikTrwLayer *vtl = VIK_TRW_LAYER(vl);
+ gtk_widget_destroy ( dialog );
+ vtl->tracks_analysis_dialog = NULL;
+}
+
+/**
+ * vik_trw_layer_build_track_list_t:
+ *
+ * Helper function to construct a list of #vik_trw_track_list_t
+ */
+GList *vik_trw_layer_build_track_list_t ( VikTrwLayer *vtl, GList *tracks )
+{
+ GList *tracks_and_layers = NULL;
+ // build tracks_and_layers list
+ while ( tracks ) {
+ vik_trw_track_list_t *vtdl = g_malloc (sizeof(vik_trw_track_list_t));
+ vtdl->trk = VIK_TRACK(tracks->data);
+ vtdl->vtl = vtl;
+ tracks_and_layers = g_list_prepend ( tracks_and_layers, vtdl );
+ tracks = g_list_next ( tracks );
+ }
+ return tracks_and_layers;
+}
+
+/**
+ * trw_layer_create_track_list:
+ *
+ * Create the latest list of tracks with the associated layer(s)
+ * Although this will always be from a single layer here
+ */
+static GList* trw_layer_create_track_list ( VikLayer *vl, gpointer user_data )
+{
+ VikTrwLayer *vtl = VIK_TRW_LAYER(vl);
+ GList *tracks = NULL;
+ if ( GPOINTER_TO_INT(user_data) == VIK_TRW_LAYER_SUBLAYER_TRACKS )
+ tracks = g_hash_table_get_values ( vik_trw_layer_get_tracks(vtl) );
+ else
+ tracks = g_hash_table_get_values ( vik_trw_layer_get_routes(vtl) );
+
+ return vik_trw_layer_build_track_list_t ( vtl, tracks );
+}
+
+static void trw_layer_tracks_stats ( gpointer lav[2] )
+{
+ VikTrwLayer *vtl = VIK_TRW_LAYER(lav[0]);
+ // There can only be one!
+ if ( vtl->tracks_analysis_dialog )
+ return;
+
+ vtl->tracks_analysis_dialog = vik_trw_layer_analyse_this ( VIK_GTK_WINDOW_FROM_LAYER(vtl),
+ VIK_LAYER(vtl)->name,
+ VIK_LAYER(vtl),
+ GINT_TO_POINTER(VIK_TRW_LAYER_SUBLAYER_TRACKS),
+ trw_layer_create_track_list,
+ trw_layer_analyse_close );
+}
+
+/**
+ *
+ */
+static void trw_layer_routes_stats ( gpointer lav[2] )
+{
+ VikTrwLayer *vtl = VIK_TRW_LAYER(lav[0]);
+ // There can only be one!
+ if ( vtl->tracks_analysis_dialog )
+ return;
+
+ vtl->tracks_analysis_dialog = vik_trw_layer_analyse_this ( VIK_GTK_WINDOW_FROM_LAYER(vtl),
+ VIK_LAYER(vtl)->name,
+ VIK_LAYER(vtl),
+ GINT_TO_POINTER(VIK_TRW_LAYER_SUBLAYER_ROUTES),
+ trw_layer_create_track_list,
+ trw_layer_analyse_close );
+}
+
static void trw_layer_goto_waypoint ( gpointer pass_along[6] )
{
VikWaypoint *wp = g_hash_table_lookup ( VIK_TRW_LAYER(pass_along[0])->waypoints, pass_along[3] );
@@ -5919,9 +7124,8 @@ static const gchar* trw_layer_sublayer_rename_request ( VikTrwLayer *l, const gc
// Update WP name and refresh the treeview
vik_waypoint_set_name (wp, newname);
-#ifdef VIK_CONFIG_ALPHABETIZED_TRW
- vik_treeview_sublayer_realphabetize ( VIK_LAYER(l)->vt, iter, newname );
-#endif
+ vik_treeview_item_set_name ( VIK_LAYER(l)->vt, iter, newname );
+ vik_treeview_sort_children ( VIK_LAYER(l)->vt, &(l->waypoints_iter), l->wp_sort_order );
vik_layers_panel_emit_update ( VIK_LAYERS_PANEL(vlp) );
@@ -5957,9 +7161,8 @@ static const gchar* trw_layer_sublayer_rename_request ( VikTrwLayer *l, const gc
// Property Dialog of the track
vik_trw_layer_propwin_update ( trk );
-#ifdef VIK_CONFIG_ALPHABETIZED_TRW
- vik_treeview_sublayer_realphabetize ( VIK_LAYER(l)->vt, iter, newname );
-#endif
+ vik_treeview_item_set_name ( VIK_LAYER(l)->vt, iter, newname );
+ vik_treeview_sort_children ( VIK_LAYER(l)->vt, &(l->tracks_iter), l->track_sort_order );
vik_layers_panel_emit_update ( VIK_LAYERS_PANEL(vlp) );
@@ -5995,9 +7198,8 @@ static const gchar* trw_layer_sublayer_rename_request ( VikTrwLayer *l, const gc
// Property Dialog of the track
vik_trw_layer_propwin_update ( trk );
-#ifdef VIK_CONFIG_ALPHABETIZED_TRW
- vik_treeview_sublayer_realphabetize ( VIK_LAYER(l)->vt, iter, newname );
-#endif
+ vik_treeview_item_set_name ( VIK_LAYER(l)->vt, iter, newname );
+ vik_treeview_sort_children ( VIK_LAYER(l)->vt, &(l->tracks_iter), l->track_sort_order );
vik_layers_panel_emit_update ( VIK_LAYERS_PANEL(vlp) );
@@ -6092,18 +7294,15 @@ static gboolean trw_layer_sublayer_add_menu_items ( VikTrwLayer *l, GtkMenu *men
if ( subtype == VIK_TRW_LAYER_SUBLAYER_WAYPOINT )
{
- gboolean separator_created = FALSE;
+ // Always create separator as now there is always at least the transform menu option
+ item = gtk_menu_item_new ();
+ gtk_menu_shell_append ( GTK_MENU_SHELL(menu), item );
+ gtk_widget_show ( item );
/* could be a right-click using the tool */
if ( vlp != NULL ) {
- item = gtk_menu_item_new ();
- gtk_menu_shell_append ( GTK_MENU_SHELL(menu), item );
- gtk_widget_show ( item );
-
- separator_created = TRUE;
-
item = gtk_image_menu_item_new_with_mnemonic ( _("_Goto") );
- gtk_image_menu_item_set_image ( (GtkImageMenuItem*)item, gtk_image_new_from_stock (GTK_STOCK_JUMP_TO, GTK_ICON_SIZE_MENU) );
+ gtk_image_menu_item_set_image ( (GtkImageMenuItem*)item, gtk_image_new_from_stock (GTK_STOCK_JUMP_TO, GTK_ICON_SIZE_MENU) );
g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(trw_layer_goto_waypoint), pass_along );
gtk_menu_shell_append ( GTK_MENU_SHELL(menu), item );
gtk_widget_show ( item );
@@ -6113,30 +7312,22 @@ static gboolean trw_layer_sublayer_add_menu_items ( VikTrwLayer *l, GtkMenu *men
if ( wp && wp->name ) {
if ( is_valid_geocache_name ( wp->name ) ) {
-
- if ( !separator_created ) {
- item = gtk_menu_item_new ();
- gtk_menu_shell_append ( GTK_MENU_SHELL(menu), item );
- gtk_widget_show ( item );
- separator_created = TRUE;
- }
-
item = gtk_menu_item_new_with_mnemonic ( _("_Visit Geocache Webpage") );
g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(trw_layer_waypoint_gc_webpage), pass_along );
gtk_menu_shell_append ( GTK_MENU_SHELL(menu), item );
gtk_widget_show ( item );
}
+#ifdef VIK_CONFIG_GEOTAG
+ item = gtk_menu_item_new_with_mnemonic ( _("Geotag _Images...") );
+ g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(trw_layer_geotagging_waypoint), pass_along );
+ gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
+ gtk_widget_set_tooltip_text (item, _("Geotag multiple images against this waypoint"));
+ gtk_widget_show ( item );
+#endif
}
if ( wp && wp->image )
{
- if ( !separator_created ) {
- item = gtk_menu_item_new ();
- gtk_menu_shell_append ( GTK_MENU_SHELL(menu), item );
- gtk_widget_show ( item );
- separator_created = TRUE;
- }
-
// Set up image paramater
pass_along[5] = wp->image;
@@ -6177,7 +7368,6 @@ static gboolean trw_layer_sublayer_add_menu_items ( VikTrwLayer *l, GtkMenu *men
gtk_widget_show ( item );
}
}
-
}
}
@@ -6233,6 +7423,35 @@ static gboolean trw_layer_sublayer_add_menu_items ( VikTrwLayer *l, GtkMenu *men
g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(trw_layer_delete_waypoints_from_selection), pass_along );
gtk_menu_shell_append ( GTK_MENU_SHELL(menu), item );
gtk_widget_show ( item );
+
+ GtkWidget *vis_submenu = gtk_menu_new ();
+ item = gtk_menu_item_new_with_mnemonic ( _("_Visibility") );
+ gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
+ gtk_widget_show ( item );
+ gtk_menu_item_set_submenu (GTK_MENU_ITEM (item), vis_submenu );
+
+ item = gtk_image_menu_item_new_with_mnemonic ( _("_Show All Waypoints") );
+ gtk_image_menu_item_set_image ( (GtkImageMenuItem*)item, gtk_image_new_from_stock (GTK_STOCK_APPLY, GTK_ICON_SIZE_MENU) );
+ g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(trw_layer_waypoints_visibility_on), pass_along );
+ gtk_menu_shell_append ( GTK_MENU_SHELL(vis_submenu), item );
+ gtk_widget_show ( item );
+
+ item = gtk_image_menu_item_new_with_mnemonic ( _("_Hide All Waypoints") );
+ gtk_image_menu_item_set_image ( (GtkImageMenuItem*)item, gtk_image_new_from_stock (GTK_STOCK_CLEAR, GTK_ICON_SIZE_MENU) );
+ g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(trw_layer_waypoints_visibility_off), pass_along );
+ gtk_menu_shell_append ( GTK_MENU_SHELL(vis_submenu), item );
+ gtk_widget_show ( item );
+
+ item = gtk_image_menu_item_new_with_mnemonic ( _("_Toggle") );
+ gtk_image_menu_item_set_image ( (GtkImageMenuItem*)item, gtk_image_new_from_stock (GTK_STOCK_REFRESH, GTK_ICON_SIZE_MENU) );
+ g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(trw_layer_waypoints_visibility_toggle), pass_along );
+ gtk_menu_shell_append ( GTK_MENU_SHELL(vis_submenu), item );
+ gtk_widget_show ( item );
+
+ item = gtk_image_menu_item_new_with_mnemonic ( _("_List Waypoints...") );
+ gtk_image_menu_item_set_image ( (GtkImageMenuItem*)item, gtk_image_new_from_stock (GTK_STOCK_INDEX, GTK_ICON_SIZE_MENU) );
+ g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(trw_layer_waypoint_list_dialog), pass_along );
+ gtk_menu_shell_append ( GTK_MENU_SHELL(menu), item );
}
if ( subtype == VIK_TRW_LAYER_SUBLAYER_TRACKS )
@@ -6275,6 +7494,40 @@ static gboolean trw_layer_sublayer_add_menu_items ( VikTrwLayer *l, GtkMenu *men
g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(trw_layer_delete_tracks_from_selection), pass_along );
gtk_menu_shell_append ( GTK_MENU_SHELL(menu), item );
gtk_widget_show ( item );
+
+ GtkWidget *vis_submenu = gtk_menu_new ();
+ item = gtk_menu_item_new_with_mnemonic ( _("_Visibility") );
+ gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
+ gtk_widget_show ( item );
+ gtk_menu_item_set_submenu (GTK_MENU_ITEM (item), vis_submenu );
+
+ item = gtk_image_menu_item_new_with_mnemonic ( _("_Show All Tracks") );
+ gtk_image_menu_item_set_image ( (GtkImageMenuItem*)item, gtk_image_new_from_stock (GTK_STOCK_APPLY, GTK_ICON_SIZE_MENU) );
+ g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(trw_layer_tracks_visibility_on), pass_along );
+ gtk_menu_shell_append ( GTK_MENU_SHELL(vis_submenu), item );
+ gtk_widget_show ( item );
+
+ item = gtk_image_menu_item_new_with_mnemonic ( _("_Hide All Tracks") );
+ gtk_image_menu_item_set_image ( (GtkImageMenuItem*)item, gtk_image_new_from_stock (GTK_STOCK_CLEAR, GTK_ICON_SIZE_MENU) );
+ g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(trw_layer_tracks_visibility_off), pass_along );
+ gtk_menu_shell_append ( GTK_MENU_SHELL(vis_submenu), item );
+ gtk_widget_show ( item );
+
+ item = gtk_image_menu_item_new_with_mnemonic ( _("_Toggle") );
+ gtk_image_menu_item_set_image ( (GtkImageMenuItem*)item, gtk_image_new_from_stock (GTK_STOCK_REFRESH, GTK_ICON_SIZE_MENU) );
+ g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(trw_layer_tracks_visibility_toggle), pass_along );
+ gtk_menu_shell_append ( GTK_MENU_SHELL(vis_submenu), item );
+
+ item = gtk_image_menu_item_new_with_mnemonic ( _("_List Tracks...") );
+ gtk_image_menu_item_set_image ( (GtkImageMenuItem*)item, gtk_image_new_from_stock (GTK_STOCK_INDEX, GTK_ICON_SIZE_MENU) );
+ g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(trw_layer_track_list_dialog_single), pass_along );
+ gtk_menu_shell_append ( GTK_MENU_SHELL(menu), item );
+ gtk_widget_show ( item );
+
+ item = gtk_menu_item_new_with_mnemonic ( _("_Statistics") );
+ g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(trw_layer_tracks_stats), pass_along );
+ gtk_menu_shell_append ( GTK_MENU_SHELL(menu), item );
+ gtk_widget_show ( item );
}
if ( subtype == VIK_TRW_LAYER_SUBLAYER_ROUTES )
@@ -6318,6 +7571,63 @@ static gboolean trw_layer_sublayer_add_menu_items ( VikTrwLayer *l, GtkMenu *men
g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(trw_layer_delete_routes_from_selection), pass_along );
gtk_menu_shell_append ( GTK_MENU_SHELL(menu), item );
gtk_widget_show ( item );
+
+ GtkWidget *vis_submenu = gtk_menu_new ();
+ item = gtk_menu_item_new_with_mnemonic ( _("_Visibility") );
+ gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
+ gtk_widget_show ( item );
+ gtk_menu_item_set_submenu (GTK_MENU_ITEM (item), vis_submenu );
+
+ item = gtk_image_menu_item_new_with_mnemonic ( _("_Show All Routes") );
+ gtk_image_menu_item_set_image ( (GtkImageMenuItem*)item, gtk_image_new_from_stock (GTK_STOCK_APPLY, GTK_ICON_SIZE_MENU) );
+ g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(trw_layer_routes_visibility_on), pass_along );
+ gtk_menu_shell_append ( GTK_MENU_SHELL(vis_submenu), item );
+ gtk_widget_show ( item );
+
+ item = gtk_image_menu_item_new_with_mnemonic ( _("_Hide All Routes") );
+ gtk_image_menu_item_set_image ( (GtkImageMenuItem*)item, gtk_image_new_from_stock (GTK_STOCK_CLEAR, GTK_ICON_SIZE_MENU) );
+ g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(trw_layer_routes_visibility_off), pass_along );
+ gtk_menu_shell_append ( GTK_MENU_SHELL(vis_submenu), item );
+ gtk_widget_show ( item );
+
+ item = gtk_image_menu_item_new_with_mnemonic ( _("_Toggle") );
+ gtk_image_menu_item_set_image ( (GtkImageMenuItem*)item, gtk_image_new_from_stock (GTK_STOCK_REFRESH, GTK_ICON_SIZE_MENU) );
+ g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(trw_layer_routes_visibility_toggle), pass_along );
+ gtk_menu_shell_append ( GTK_MENU_SHELL(vis_submenu), item );
+
+ item = gtk_image_menu_item_new_with_mnemonic ( _("_List Routes...") );
+ gtk_image_menu_item_set_image ( (GtkImageMenuItem*)item, gtk_image_new_from_stock (GTK_STOCK_INDEX, GTK_ICON_SIZE_MENU) );
+ g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(trw_layer_track_list_dialog_single), pass_along );
+ gtk_menu_shell_append ( GTK_MENU_SHELL(menu), item );
+
+ gtk_widget_show ( item );
+
+ item = gtk_menu_item_new_with_mnemonic ( _("_Statistics") );
+ g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(trw_layer_routes_stats), pass_along );
+ gtk_menu_shell_append ( GTK_MENU_SHELL(menu), item );
+ gtk_widget_show ( item );
+ }
+
+
+ if ( subtype == VIK_TRW_LAYER_SUBLAYER_WAYPOINTS || subtype == VIK_TRW_LAYER_SUBLAYER_TRACKS || subtype == VIK_TRW_LAYER_SUBLAYER_ROUTES ) {
+ GtkWidget *submenu_sort = gtk_menu_new ();
+ item = gtk_image_menu_item_new_with_mnemonic ( _("_Sort") );
+ gtk_image_menu_item_set_image ( (GtkImageMenuItem*)item, gtk_image_new_from_stock (GTK_STOCK_REFRESH, GTK_ICON_SIZE_MENU) );
+ gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
+ gtk_widget_show ( item );
+ gtk_menu_item_set_submenu (GTK_MENU_ITEM (item), submenu_sort );
+
+ item = gtk_image_menu_item_new_with_mnemonic ( _("Name _Ascending") );
+ gtk_image_menu_item_set_image ( (GtkImageMenuItem*)item, gtk_image_new_from_stock (GTK_STOCK_SORT_ASCENDING, GTK_ICON_SIZE_MENU) );
+ g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(trw_layer_sort_order_a2z), pass_along );
+ gtk_menu_shell_append ( GTK_MENU_SHELL(submenu_sort), item );
+ gtk_widget_show ( item );
+
+ item = gtk_image_menu_item_new_with_mnemonic ( _("Name _Descending") );
+ gtk_image_menu_item_set_image ( (GtkImageMenuItem*)item, gtk_image_new_from_stock (GTK_STOCK_SORT_DESCENDING, GTK_ICON_SIZE_MENU) );
+ g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(trw_layer_sort_order_z2a), pass_along );
+ gtk_menu_shell_append ( GTK_MENU_SHELL(submenu_sort), item );
+ gtk_widget_show ( item );
}
GtkWidget *upload_submenu = gtk_menu_new ();
@@ -6352,6 +7662,11 @@ static gboolean trw_layer_sublayer_add_menu_items ( VikTrwLayer *l, GtkMenu *men
gtk_menu_shell_append ( GTK_MENU_SHELL(menu), item );
gtk_widget_show ( item );
+ item = gtk_menu_item_new_with_mnemonic ( _("_Statistics") );
+ g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(trw_layer_track_statistics), pass_along );
+ gtk_menu_shell_append ( GTK_MENU_SHELL(menu), item );
+ gtk_widget_show ( item );
+
GtkWidget *goto_submenu;
goto_submenu = gtk_menu_new ();
item = gtk_image_menu_item_new_with_mnemonic ( _("_Goto") );
@@ -6475,6 +7790,27 @@ static gboolean trw_layer_sublayer_add_menu_items ( VikTrwLayer *l, GtkMenu *men
// Make it available only when a trackpoint is selected.
gtk_widget_set_sensitive ( item, (gboolean)GPOINTER_TO_INT(l->current_tpl) );
+ GtkWidget *insert_submenu = gtk_menu_new ();
+ item = gtk_image_menu_item_new_with_mnemonic ( _("_Insert Points") );
+ gtk_image_menu_item_set_image ( (GtkImageMenuItem*)item, gtk_image_new_from_stock (GTK_STOCK_ADD, GTK_ICON_SIZE_MENU) );
+ gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
+ gtk_widget_show ( item );
+ gtk_menu_item_set_submenu (GTK_MENU_ITEM (item), insert_submenu );
+
+ item = gtk_menu_item_new_with_mnemonic ( _("Insert Point _Before Selected Point") );
+ g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(trw_layer_insert_point_before), pass_along );
+ gtk_menu_shell_append ( GTK_MENU_SHELL(insert_submenu), item );
+ gtk_widget_show ( item );
+ // Make it available only when a point is selected
+ gtk_widget_set_sensitive ( item, (gboolean)GPOINTER_TO_INT(l->current_tpl) );
+
+ item = gtk_menu_item_new_with_mnemonic ( _("Insert Point _After Selected Point") );
+ g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(trw_layer_insert_point_after), pass_along );
+ gtk_menu_shell_append ( GTK_MENU_SHELL(insert_submenu), item );
+ gtk_widget_show ( item );
+ // Make it available only when a point is selected
+ gtk_widget_set_sensitive ( item, (gboolean)GPOINTER_TO_INT(l->current_tpl) );
+
GtkWidget *delete_submenu;
delete_submenu = gtk_menu_new ();
item = gtk_image_menu_item_new_with_mnemonic ( _("Delete Poi_nts") );
@@ -6483,6 +7819,14 @@ static gboolean trw_layer_sublayer_add_menu_items ( VikTrwLayer *l, GtkMenu *men
gtk_widget_show ( item );
gtk_menu_item_set_submenu (GTK_MENU_ITEM (item), delete_submenu );
+ item = gtk_image_menu_item_new_with_mnemonic ( _("Delete _Selected Point") );
+ gtk_image_menu_item_set_image ( (GtkImageMenuItem*)item, gtk_image_new_from_stock (GTK_STOCK_DELETE, GTK_ICON_SIZE_MENU) );
+ g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(trw_layer_delete_point_selected), pass_along );
+ gtk_menu_shell_append ( GTK_MENU_SHELL(delete_submenu), item );
+ gtk_widget_show ( item );
+ // Make it available only when a point is selected
+ gtk_widget_set_sensitive ( item, (gboolean)GPOINTER_TO_INT(l->current_tpl) );
+
item = gtk_menu_item_new_with_mnemonic ( _("Delete Points With The Same _Position") );
g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(trw_layer_delete_points_same_position), pass_along );
gtk_menu_shell_append ( GTK_MENU_SHELL(delete_submenu), item );
@@ -6493,6 +7837,70 @@ static gboolean trw_layer_sublayer_add_menu_items ( VikTrwLayer *l, GtkMenu *men
gtk_menu_shell_append ( GTK_MENU_SHELL(delete_submenu), item );
gtk_widget_show ( item );
+ GtkWidget *transform_submenu;
+ transform_submenu = gtk_menu_new ();
+ item = gtk_image_menu_item_new_with_mnemonic ( _("_Transform") );
+ gtk_image_menu_item_set_image ( (GtkImageMenuItem*)item, gtk_image_new_from_stock (GTK_STOCK_CONVERT, GTK_ICON_SIZE_MENU) );
+ gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
+ gtk_widget_show ( item );
+ gtk_menu_item_set_submenu (GTK_MENU_ITEM (item), transform_submenu );
+
+ GtkWidget *dem_submenu;
+ dem_submenu = gtk_menu_new ();
+ item = gtk_image_menu_item_new_with_mnemonic ( _("_Apply DEM Data") );
+ gtk_image_menu_item_set_image ( (GtkImageMenuItem*)item, gtk_image_new_from_stock ("vik-icon-DEM Download", GTK_ICON_SIZE_MENU) ); // Own icon - see stock_icons in vikwindow.c
+ gtk_menu_shell_append ( GTK_MENU_SHELL(transform_submenu), item );
+ gtk_menu_item_set_submenu (GTK_MENU_ITEM (item), dem_submenu );
+
+ item = gtk_image_menu_item_new_with_mnemonic ( _("_Overwrite") );
+ g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(trw_layer_apply_dem_data_all), pass_along );
+ gtk_menu_shell_append ( GTK_MENU_SHELL(dem_submenu), item );
+ gtk_widget_set_tooltip_text (item, _("Overwrite any existing elevation values with DEM values"));
+ gtk_widget_show ( item );
+
+ item = gtk_image_menu_item_new_with_mnemonic ( _("_Keep Existing") );
+ g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(trw_layer_apply_dem_data_only_missing), pass_along );
+ gtk_menu_shell_append ( GTK_MENU_SHELL(dem_submenu), item );
+ gtk_widget_set_tooltip_text (item, _("Keep existing elevation values, only attempt for missing values"));
+ gtk_widget_show ( item );
+
+ GtkWidget *smooth_submenu;
+ smooth_submenu = gtk_menu_new ();
+ item = gtk_menu_item_new_with_mnemonic ( _("_Smooth Missing Elevation Data") );
+ gtk_menu_shell_append ( GTK_MENU_SHELL(transform_submenu), item );
+ gtk_widget_show ( item );
+ gtk_menu_item_set_submenu (GTK_MENU_ITEM (item), smooth_submenu );
+
+ item = gtk_image_menu_item_new_with_mnemonic ( _("_Interpolated") );
+ g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(trw_layer_missing_elevation_data_interp), pass_along );
+ gtk_menu_shell_append ( GTK_MENU_SHELL(smooth_submenu), item );
+ gtk_widget_set_tooltip_text (item, _("Interpolate between known elevation values to derive values for the missing elevations"));
+ gtk_widget_show ( item );
+
+ item = gtk_image_menu_item_new_with_mnemonic ( _("_Flat") );
+ g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(trw_layer_missing_elevation_data_flat), pass_along );
+ gtk_menu_shell_append ( GTK_MENU_SHELL(smooth_submenu), item );
+ gtk_widget_set_tooltip_text (item, _("Set unknown elevation values to the last known value"));
+ gtk_widget_show ( item );
+
+ if ( subtype == VIK_TRW_LAYER_SUBLAYER_TRACK )
+ item = gtk_image_menu_item_new_with_mnemonic ( _("C_onvert to a Route") );
+ else
+ item = gtk_image_menu_item_new_with_mnemonic ( _("C_onvert to a Track") );
+ gtk_image_menu_item_set_image ( (GtkImageMenuItem*)item, gtk_image_new_from_stock (GTK_STOCK_CONVERT, GTK_ICON_SIZE_MENU) );
+ g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(trw_layer_convert_track_route), pass_along );
+ gtk_menu_shell_append ( GTK_MENU_SHELL(transform_submenu), item );
+ gtk_widget_show ( item );
+
+ // Routes don't have timestamps - so this is only available for tracks
+ if ( subtype == VIK_TRW_LAYER_SUBLAYER_TRACK ) {
+ item = gtk_image_menu_item_new_with_mnemonic ( _("_Anonymize Times") );
+ g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(trw_layer_anonymize_times), pass_along );
+ gtk_menu_shell_append ( GTK_MENU_SHELL(transform_submenu), item );
+ gtk_widget_set_tooltip_text (item, _("Shift timestamps to a relative offset from 1901-01-01"));
+ gtk_widget_show ( item );
+ }
+
if ( subtype == VIK_TRW_LAYER_SUBLAYER_TRACK )
item = gtk_image_menu_item_new_with_mnemonic ( _("_Reverse Track") );
else
@@ -6502,6 +7910,14 @@ static gboolean trw_layer_sublayer_add_menu_items ( VikTrwLayer *l, GtkMenu *men
gtk_menu_shell_append ( GTK_MENU_SHELL(menu), item );
gtk_widget_show ( item );
+ if ( subtype == VIK_TRW_LAYER_SUBLAYER_ROUTE ) {
+ item = gtk_image_menu_item_new_with_mnemonic ( _("Refine Route...") );
+ gtk_image_menu_item_set_image ( (GtkImageMenuItem*)item, gtk_image_new_from_stock (GTK_STOCK_FIND, GTK_ICON_SIZE_MENU) );
+ g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(trw_layer_route_refine), pass_along );
+ gtk_menu_shell_append ( GTK_MENU_SHELL(menu), item );
+ gtk_widget_show ( item );
+ }
+
/* ATM This function is only available via the layers panel, due to the method in finding out the maps in use */
if ( vlp ) {
if ( subtype == VIK_TRW_LAYER_SUBLAYER_TRACK )
@@ -6514,12 +7930,6 @@ static gboolean trw_layer_sublayer_add_menu_items ( VikTrwLayer *l, GtkMenu *men
gtk_widget_show ( item );
}
- item = gtk_image_menu_item_new_with_mnemonic ( _("_Apply DEM Data") );
- gtk_image_menu_item_set_image ( (GtkImageMenuItem*)item, gtk_image_new_from_stock ("vik-icon-DEM Download", GTK_ICON_SIZE_MENU) ); // Own icon - see stock_icons in vikwindow.c
- g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(trw_layer_apply_dem_data), pass_along );
- gtk_menu_shell_append ( GTK_MENU_SHELL(menu), item );
- gtk_widget_show ( item );
-
if ( subtype == VIK_TRW_LAYER_SUBLAYER_TRACK )
item = gtk_image_menu_item_new_with_mnemonic ( _("_Export Track as GPX...") );
else
@@ -6538,16 +7948,6 @@ static gboolean trw_layer_sublayer_add_menu_items ( VikTrwLayer *l, GtkMenu *men
gtk_menu_shell_append ( GTK_MENU_SHELL(menu), item );
gtk_widget_show ( item );
- if ( subtype == VIK_TRW_LAYER_SUBLAYER_TRACK )
- item = gtk_image_menu_item_new_with_mnemonic ( _("C_onvert to a Route") );
- else
- item = gtk_image_menu_item_new_with_mnemonic ( _("C_onvert to a Track") );
- gtk_image_menu_item_set_image ( (GtkImageMenuItem*)item, gtk_image_new_from_stock (GTK_STOCK_CONVERT, GTK_ICON_SIZE_MENU) );
- g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(trw_layer_convert_track_route), pass_along );
- gtk_menu_shell_append ( GTK_MENU_SHELL(menu), item );
- gtk_widget_show ( item );
-
-#ifdef VIK_CONFIG_GOOGLE
if ( subtype == VIK_TRW_LAYER_SUBLAYER_ROUTE ) {
item = gtk_image_menu_item_new_with_mnemonic ( _("Extend _Using Route Finder") );
gtk_image_menu_item_set_image ( (GtkImageMenuItem*)item, gtk_image_new_from_stock ("vik-icon-Route Finder", GTK_ICON_SIZE_MENU) ); // Own icon - see stock_icons in vikwindow.c
@@ -6555,7 +7955,6 @@ static gboolean trw_layer_sublayer_add_menu_items ( VikTrwLayer *l, GtkMenu *men
gtk_menu_shell_append ( GTK_MENU_SHELL(menu), item );
gtk_widget_show ( item );
}
-#endif
// ATM can't upload a single waypoint but can do waypoints to a GPS
if ( subtype != VIK_TRW_LAYER_SUBLAYER_WAYPOINT ) {
@@ -6637,54 +8036,94 @@ static gboolean trw_layer_sublayer_add_menu_items ( VikTrwLayer *l, GtkMenu *men
}
}
+ if ( subtype == VIK_TRW_LAYER_SUBLAYER_WAYPOINTS || subtype == VIK_TRW_LAYER_SUBLAYER_WAYPOINT ) {
+ GtkWidget *transform_submenu;
+ transform_submenu = gtk_menu_new ();
+ item = gtk_image_menu_item_new_with_mnemonic ( _("_Transform") );
+ gtk_image_menu_item_set_image ( (GtkImageMenuItem*)item, gtk_image_new_from_stock (GTK_STOCK_CONVERT, GTK_ICON_SIZE_MENU) );
+ gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
+ gtk_widget_show ( item );
+ gtk_menu_item_set_submenu (GTK_MENU_ITEM (item), transform_submenu );
+
+ GtkWidget *dem_submenu;
+ dem_submenu = gtk_menu_new ();
+ item = gtk_image_menu_item_new_with_mnemonic ( _("_Apply DEM Data") );
+ gtk_image_menu_item_set_image ( (GtkImageMenuItem*)item, gtk_image_new_from_stock ("vik-icon-DEM Download", GTK_ICON_SIZE_MENU) ); // Own icon - see stock_icons in vikwindow.c
+ gtk_menu_shell_append ( GTK_MENU_SHELL(transform_submenu), item );
+ gtk_menu_item_set_submenu (GTK_MENU_ITEM (item), dem_submenu );
+
+ item = gtk_image_menu_item_new_with_mnemonic ( _("_Overwrite") );
+ g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(trw_layer_apply_dem_data_wpt_all), pass_along );
+ gtk_menu_shell_append ( GTK_MENU_SHELL(dem_submenu), item );
+ gtk_widget_set_tooltip_text (item, _("Overwrite any existing elevation values with DEM values"));
+ gtk_widget_show ( item );
+
+ item = gtk_image_menu_item_new_with_mnemonic ( _("_Keep Existing") );
+ g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(trw_layer_apply_dem_data_wpt_only_missing), pass_along );
+ gtk_menu_shell_append ( GTK_MENU_SHELL(dem_submenu), item );
+ gtk_widget_set_tooltip_text (item, _("Keep existing elevation values, only attempt for missing values"));
+ gtk_widget_show ( item );
+ }
+
+ gtk_widget_show_all ( GTK_WIDGET(menu) );
+
return rv;
}
-static void trw_layer_insert_tp_after_current_tp ( VikTrwLayer *vtl )
+// TODO: Probably better to rework this track manipulation in viktrack.c
+static void trw_layer_insert_tp_beside_current_tp ( VikTrwLayer *vtl, gboolean before )
{
- /* sanity checks */
+ // sanity check
if (!vtl->current_tpl)
return;
- if (!vtl->current_tpl->next)
- return;
VikTrackpoint *tp_current = VIK_TRACKPOINT(vtl->current_tpl->data);
- VikTrackpoint *tp_next = VIK_TRACKPOINT(vtl->current_tpl->next->data);
+ VikTrackpoint *tp_other = NULL;
- /* Use current and next trackpoints to form a new track point which is inserted into the tracklist */
- if ( tp_next ) {
+ if ( before ) {
+ if (!vtl->current_tpl->prev)
+ return;
+ tp_other = VIK_TRACKPOINT(vtl->current_tpl->prev->data);
+ } else {
+ if (!vtl->current_tpl->next)
+ return;
+ tp_other = VIK_TRACKPOINT(vtl->current_tpl->next->data);
+ }
+
+ // Use current and other trackpoints to form a new track point which is inserted into the tracklist
+ if ( tp_other ) {
VikTrackpoint *tp_new = vik_trackpoint_new();
- struct LatLon ll_current, ll_next;
+ struct LatLon ll_current, ll_other;
vik_coord_to_latlon ( &tp_current->coord, &ll_current );
- vik_coord_to_latlon ( &tp_next->coord, &ll_next );
+ vik_coord_to_latlon ( &tp_other->coord, &ll_other );
/* main positional interpolation */
- struct LatLon ll_new = { (ll_current.lat+ll_next.lat)/2, (ll_current.lon+ll_next.lon)/2 };
+ struct LatLon ll_new = { (ll_current.lat+ll_other.lat)/2, (ll_current.lon+ll_other.lon)/2 };
vik_coord_load_from_latlon ( &(tp_new->coord), vtl->coord_mode, &ll_new );
/* Now other properties that can be interpolated */
- tp_new->altitude = (tp_current->altitude + tp_next->altitude) / 2;
+ tp_new->altitude = (tp_current->altitude + tp_other->altitude) / 2;
- if (tp_current->has_timestamp && tp_next->has_timestamp) {
+ if (tp_current->has_timestamp && tp_other->has_timestamp) {
/* Note here the division is applied to each part, then added
This is to avoid potential overflow issues with a 32 time_t for dates after midpoint of this Unix time on 2004/01/04 */
- tp_new->timestamp = (tp_current->timestamp/2) + (tp_next->timestamp/2);
+ tp_new->timestamp = (tp_current->timestamp/2) + (tp_other->timestamp/2);
tp_new->has_timestamp = TRUE;
}
- if (tp_current->speed != NAN && tp_next->speed != NAN)
- tp_new->speed = (tp_current->speed + tp_next->speed)/2;
+ if (tp_current->speed != NAN && tp_other->speed != NAN)
+ tp_new->speed = (tp_current->speed + tp_other->speed)/2;
/* TODO - improve interpolation of course, as it may not be correct.
if courses in degrees are 350 + 020, the mid course more likely to be 005 (not 185)
[similar applies if value is in radians] */
- if (tp_current->course != NAN && tp_next->course != NAN)
- tp_new->course = (tp_current->course + tp_next->course)/2;
+ if (tp_current->course != NAN && tp_other->course != NAN)
+ tp_new->course = (tp_current->course + tp_other->course)/2;
/* DOP / sat values remain at defaults as not they do not seem applicable to a dreamt up point */
- /* Insert new point into the trackpoints list after the current TP */
+ // Insert new point into the appropriate trackpoint list, either before or after the current trackpoint as directed
VikTrack *trk = g_hash_table_lookup ( vtl->tracks, vtl->current_tp_id );
if ( !trk )
// Otherwise try routes
@@ -6694,7 +8133,10 @@ static void trw_layer_insert_tp_after_current_tp ( VikTrwLayer *vtl )
gint index = g_list_index ( trk->trackpoints, tp_current );
if ( index > -1 ) {
- trk->trackpoints = g_list_insert ( trk->trackpoints, tp_new, index+1 );
+ if ( !before )
+ index = index + 1;
+ // NB no recalculation of bounds since it is inserted between points
+ trk->trackpoints = g_list_insert ( trk->trackpoints, tp_new, index );
}
}
}
@@ -6742,34 +8184,13 @@ static void trw_layer_tpwin_response ( VikTrwLayer *vtl, gint response )
if ( tr == NULL )
return;
- GList *new_tpl;
-
- // Find available adjacent trackpoint
- if ( (new_tpl = vtl->current_tpl->next) || (new_tpl = vtl->current_tpl->prev) )
- {
- if ( VIK_TRACKPOINT(vtl->current_tpl->data)->newsegment && vtl->current_tpl->next )
- VIK_TRACKPOINT(vtl->current_tpl->next->data)->newsegment = TRUE; /* don't concat segments on del */
-
- // Delete current trackpoint
- vik_trackpoint_free ( vtl->current_tpl->data );
- tr->trackpoints = g_list_delete_link ( tr->trackpoints, vtl->current_tpl );
-
- // Set to current to the available adjacent trackpoint
- vtl->current_tpl = new_tpl;
+ trw_layer_trackpoint_selected_delete ( vtl, tr );
+ if ( vtl->current_tpl )
// Reset dialog with the available adjacent trackpoint
- if ( vtl->current_tp_track )
- vik_trw_layer_tpwin_set_tp ( vtl->tpwin, new_tpl, vtl->current_tp_track->name );
+ vik_trw_layer_tpwin_set_tp ( vtl->tpwin, vtl->current_tpl, vtl->current_tp_track->name );
- vik_layer_emit_update(VIK_LAYER(vtl));
- }
- else
- {
- // Delete current trackpoint
- vik_trackpoint_free ( vtl->current_tpl->data );
- tr->trackpoints = g_list_delete_link ( tr->trackpoints, vtl->current_tpl );
- trw_layer_cancel_current_tp ( vtl, FALSE );
- }
+ vik_layer_emit_update(VIK_LAYER(vtl));
}
else if ( response == VIK_TRW_LAYER_TPWIN_FORWARD && vtl->current_tpl->next )
{
@@ -6785,13 +8206,106 @@ static void trw_layer_tpwin_response ( VikTrwLayer *vtl, gint response )
}
else if ( response == VIK_TRW_LAYER_TPWIN_INSERT && vtl->current_tpl->next )
{
- trw_layer_insert_tp_after_current_tp ( vtl );
+ trw_layer_insert_tp_beside_current_tp ( vtl, FALSE );
vik_layer_emit_update(VIK_LAYER(vtl));
}
else if ( response == VIK_TRW_LAYER_TPWIN_DATA_CHANGED )
vik_layer_emit_update(VIK_LAYER(vtl));
}
+/**
+ * trw_layer_dialog_shift:
+ * @vertical: The reposition strategy. If Vertical moves dialog vertically, otherwise moves it horizontally
+ *
+ * Try to reposition a dialog if it's over the specified coord
+ * so to not obscure the item of interest
+ */
+void trw_layer_dialog_shift ( VikTrwLayer *vtl, GtkWindow *dialog, VikCoord *coord, gboolean vertical )
+{
+ GtkWindow *parent = VIK_GTK_WINDOW_FROM_LAYER(vtl); //i.e. the main window
+
+ // Attempt force dialog to be shown so we can find out where it is more reliably...
+ while ( gtk_events_pending() )
+ gtk_main_iteration ();
+
+ // get parent window position & size
+ gint win_pos_x, win_pos_y;
+ gtk_window_get_position ( parent, &win_pos_x, &win_pos_y );
+
+ gint win_size_x, win_size_y;
+ gtk_window_get_size ( parent, &win_size_x, &win_size_y );
+
+ // get own dialog size
+ gint dia_size_x, dia_size_y;
+ gtk_window_get_size ( dialog, &dia_size_x, &dia_size_y );
+
+ // get own dialog position
+ gint dia_pos_x, dia_pos_y;
+ gtk_window_get_position ( dialog, &dia_pos_x, &dia_pos_y );
+
+ // Dialog not 'realized'/positioned - so can't really do any repositioning logic
+ if ( dia_pos_x > 2 && dia_pos_y > 2 ) {
+
+ VikViewport *vvp = vik_window_viewport ( VIK_WINDOW(VIK_GTK_WINDOW_FROM_LAYER(vtl)) );
+
+ gint vp_xx, vp_yy; // In viewport pixels
+ vik_viewport_coord_to_screen ( vvp, coord, &vp_xx, &vp_yy );
+
+ // Work out the 'bounding box' in pixel terms of the dialog and only move it when over the position
+
+ gint dest_x = 0;
+ gint dest_y = 0;
+ if ( gtk_widget_translate_coordinates ( GTK_WIDGET(vvp), GTK_WIDGET(parent), 0, 0, &dest_x, &dest_y ) ) {
+
+ // Transform Viewport pixels into absolute pixels
+ gint tmp_xx = vp_xx + dest_x + win_pos_x - 10;
+ gint tmp_yy = vp_yy + dest_y + win_pos_y - 10;
+
+ // Is dialog over the point (to within an ^^ edge value)
+ if ( (tmp_xx > dia_pos_x) && (tmp_xx < (dia_pos_x + dia_size_x)) &&
+ (tmp_yy > dia_pos_y) && (tmp_yy < (dia_pos_y + dia_size_y)) ) {
+
+ if ( vertical ) {
+ // Shift up<->down
+ gint hh = vik_viewport_get_height ( vvp );
+
+ // Consider the difference in viewport to the full window
+ gint offset_y = dest_y;
+ // Add difference between dialog and window sizes
+ offset_y += win_pos_y + (hh/2 - dia_size_y)/2;
+
+ if ( vp_yy > hh/2 ) {
+ // Point in bottom half, move window to top half
+ gtk_window_move ( dialog, dia_pos_x, offset_y );
+ }
+ else {
+ // Point in top half, move dialog down
+ gtk_window_move ( dialog, dia_pos_x, hh/2 + offset_y );
+ }
+ }
+ else {
+ // Shift left<->right
+ gint ww = vik_viewport_get_width ( vvp );
+
+ // Consider the difference in viewport to the full window
+ gint offset_x = dest_x;
+ // Add difference between dialog and window sizes
+ offset_x += win_pos_x + (ww/2 - dia_size_x)/2;
+
+ if ( vp_xx > ww/2 ) {
+ // Point on right, move window to left
+ gtk_window_move ( dialog, offset_x, dia_pos_y );
+ }
+ else {
+ // Point on left, move right
+ gtk_window_move ( dialog, ww/2 + offset_x, dia_pos_y );
+ }
+ }
+ }
+ }
+ }
+}
+
static void trw_layer_tpwin_init ( VikTrwLayer *vtl )
{
if ( ! vtl->tpwin )
@@ -6800,8 +8314,18 @@ static void trw_layer_tpwin_init ( VikTrwLayer *vtl )
g_signal_connect_swapped ( GTK_DIALOG(vtl->tpwin), "response", G_CALLBACK(trw_layer_tpwin_response), vtl );
/* connect signals -- DELETE SIGNAL VERY IMPORTANT TO SET TO NULL */
g_signal_connect_swapped ( vtl->tpwin, "delete-event", G_CALLBACK(trw_layer_cancel_current_tp), vtl );
+
gtk_widget_show_all ( GTK_WIDGET(vtl->tpwin) );
+
+ if ( vtl->current_tpl ) {
+ // get tp pixel position
+ VikTrackpoint *tp = VIK_TRACKPOINT(vtl->current_tpl->data);
+
+ // Shift up<->down to try not to obscure the trackpoint.
+ trw_layer_dialog_shift ( vtl, GTK_WINDOW(vtl->tpwin), &(tp->coord), TRUE );
+ }
}
+
if ( vtl->current_tpl )
if ( vtl->current_tp_track )
vik_trw_layer_tpwin_set_tp ( vtl->tpwin, vtl->current_tpl, vtl->current_tp_track->name );
@@ -6830,6 +8354,7 @@ typedef struct {
VikTrackpoint *closest_tp;
VikViewport *vvp;
GList *closest_tpl;
+ LatLonBBox bbox;
} TPSearchParams;
static void waypoint_search_closest_tp ( gpointer id, VikWaypoint *wp, WPSearchParams *params )
@@ -6873,6 +8398,9 @@ static void track_search_closest_tp ( gpointer id, VikTrack *t, TPSearchParams *
if ( !t->visible )
return;
+ if ( ! BBOX_INTERSECT ( t->bbox, params->bbox ) )
+ return;
+
while (tpl)
{
gint x, y;
@@ -6904,6 +8432,7 @@ static VikTrackpoint *closest_tp_in_five_pixel_interval ( VikTrwLayer *vtl, VikV
params.vvp = vvp;
params.closest_track_id = NULL;
params.closest_tp = NULL;
+ vik_viewport_get_min_max_lat_lon ( params.vvp, &(params.bbox.south), &(params.bbox.north), &(params.bbox.west), &(params.bbox.east) );
g_hash_table_foreach ( vtl->tracks, (GHFunc) track_search_closest_tp, &params);
return params.closest_tp;
}
@@ -6990,23 +8519,28 @@ static gboolean trw_layer_select_release ( VikTrwLayer *vtl, GdkEventButton *eve
marker_end_move ( t );
// Determine if working on a waypoint or a trackpoint
- if ( t->is_waypoint )
+ if ( t->is_waypoint ) {
+ // Update waypoint position
vtl->current_wp->coord = new_coord;
+ trw_layer_calculate_bounds_waypoints ( vtl );
+ // Reset waypoint pointer
+ vtl->current_wp = NULL;
+ vtl->current_wp_id = NULL;
+ }
else {
if ( vtl->current_tpl ) {
VIK_TRACKPOINT(vtl->current_tpl->data)->coord = new_coord;
-
- if ( vtl->tpwin )
+
+ if ( vtl->current_tp_track )
+ vik_track_calculate_bounds ( vtl->current_tp_track );
+
+ if ( vtl->tpwin )
if ( vtl->current_tp_track )
vik_trw_layer_tpwin_set_tp ( vtl->tpwin, vtl->current_tpl, vtl->current_tp_track->name );
+ // NB don't reset the selected trackpoint, thus ensuring it's still in the tpwin
}
}
- // Reset
- vtl->current_wp = NULL;
- vtl->current_wp_id = NULL;
- trw_layer_cancel_current_tp ( vtl, FALSE );
-
vik_layer_emit_update ( VIK_LAYER(vtl) );
return TRUE;
}
@@ -7029,9 +8563,12 @@ static gboolean trw_layer_select_click ( VikTrwLayer *vtl, GdkEventButton *event
if ( !vtl->tracks_visible && !vtl->waypoints_visible && !vtl->routes_visible )
return FALSE;
+ LatLonBBox bbox;
+ vik_viewport_get_min_max_lat_lon ( vvp, &(bbox.south), &(bbox.north), &(bbox.west), &(bbox.east) );
+
// Go for waypoints first as these often will be near a track, but it's likely the wp is wanted rather then the track
- if (vtl->waypoints_visible) {
+ if ( vtl->waypoints_visible && BBOX_INTERSECT (vtl->waypoints_bbox, bbox ) ) {
WPSearchParams wp_params;
wp_params.vvp = vvp;
wp_params.x = event->x;
@@ -7075,6 +8612,8 @@ static gboolean trw_layer_select_click ( VikTrwLayer *vtl, GdkEventButton *event
tp_params.y = event->y;
tp_params.closest_track_id = NULL;
tp_params.closest_tp = NULL;
+ tp_params.closest_tpl = NULL;
+ tp_params.bbox = bbox;
if (vtl->tracks_visible) {
g_hash_table_foreach ( vtl->tracks, (GHFunc) track_search_closest_tp, &tp_params);
@@ -7176,7 +8715,7 @@ static gboolean trw_layer_show_selected_viewport_menu ( VikTrwLayer *vtl, GdkEve
if ( track->name ) {
if ( vtl->track_right_click_menu )
- gtk_object_sink ( GTK_OBJECT(vtl->track_right_click_menu) );
+ g_object_ref_sink ( G_OBJECT(vtl->track_right_click_menu) );
vtl->track_right_click_menu = GTK_MENU ( gtk_menu_new () );
@@ -7219,7 +8758,7 @@ static gboolean trw_layer_show_selected_viewport_menu ( VikTrwLayer *vtl, GdkEve
if ( waypoint->name ) {
if ( vtl->wp_right_click_menu )
- gtk_object_sink ( GTK_OBJECT(vtl->wp_right_click_menu) );
+ g_object_ref_sink ( G_OBJECT(vtl->wp_right_click_menu) );
vtl->wp_right_click_menu = GTK_MENU ( gtk_menu_new () );
@@ -7304,6 +8843,11 @@ static gpointer tool_edit_waypoint_create ( VikWindow *vw, VikViewport *vvp)
return t;
}
+static void tool_edit_waypoint_destroy ( tool_ed_t *t )
+{
+ g_free ( t );
+}
+
static gboolean tool_edit_waypoint_click ( VikTrwLayer *vtl, GdkEventButton *event, gpointer data )
{
WPSearchParams params;
@@ -7448,6 +8992,8 @@ static gboolean tool_edit_waypoint_release ( VikTrwLayer *vtl, GdkEventButton *e
marker_end_move ( t );
vtl->current_wp->coord = new_coord;
+
+ trw_layer_calculate_bounds_waypoints ( vtl );
vik_layer_emit_update ( VIK_LAYER(vtl) );
return TRUE;
}
@@ -7595,12 +9141,12 @@ static VikLayerToolFuncStatus tool_new_track_move ( VikTrwLayer *vtl, GdkEventMo
w1 = vik_viewport_get_width(vvp);
h1 = vik_viewport_get_height(vvp);
if (!pixmap) {
- pixmap = gdk_pixmap_new ( GTK_WIDGET(vvp)->window, w1, h1, -1 );
+ pixmap = gdk_pixmap_new ( gtk_widget_get_window(GTK_WIDGET(vvp)), w1, h1, -1 );
}
gdk_drawable_get_size (pixmap, &w2, &h2);
if (w1 != w2 || h1 != h2) {
g_object_unref ( G_OBJECT ( pixmap ) );
- pixmap = gdk_pixmap_new ( GTK_WIDGET(vvp)->window, w1, h1, -1 );
+ pixmap = gdk_pixmap_new ( gtk_widget_get_window(GTK_WIDGET(vvp)), w1, h1, -1 );
}
// Reset to background
@@ -7651,33 +9197,39 @@ static VikLayerToolFuncStatus tool_new_track_move ( VikTrwLayer *vtl, GdkEventMo
elev_loss += last_tpt->altitude - elev_new;
}
}
-
- gchar *str = distance_string (distance);
- PangoLayout *pl = gtk_widget_create_pango_layout (GTK_WIDGET(vvp), NULL);
- pango_layout_set_font_description (pl, GTK_WIDGET(vvp)->style->font_desc);
+ //
+ // Display of the distance 'tooltip' during track creation is controlled by a preference
+ //
+ if ( a_vik_get_create_track_tooltip() ) {
+
+ gchar *str = distance_string (distance);
- pango_layout_set_text (pl, str, -1);
- gint wd, hd;
- pango_layout_get_pixel_size ( pl, &wd, &hd );
+ PangoLayout *pl = gtk_widget_create_pango_layout (GTK_WIDGET(vvp), NULL);
+ pango_layout_set_font_description (pl, gtk_widget_get_style(GTK_WIDGET(vvp))->font_desc);
+ pango_layout_set_text (pl, str, -1);
+ gint wd, hd;
+ pango_layout_get_pixel_size ( pl, &wd, &hd );
- gint xd,yd;
- // offset from cursor a bit depending on font size
- xd = event->x + 10;
- yd = event->y - hd;
+ gint xd,yd;
+ // offset from cursor a bit depending on font size
+ xd = event->x + 10;
+ yd = event->y - hd;
- // Create a background block to make the text easier to read over the background map
- GdkGC *background_block_gc = vik_viewport_new_gc ( vvp, "#cccccc", 1);
- gdk_draw_rectangle (pixmap, background_block_gc, TRUE, xd-2, yd-2, wd+4, hd+2);
- gdk_draw_layout (pixmap, vtl->current_track_newpoint_gc, xd, yd, pl);
+ // Create a background block to make the text easier to read over the background map
+ GdkGC *background_block_gc = vik_viewport_new_gc ( vvp, "#cccccc", 1);
+ gdk_draw_rectangle (pixmap, background_block_gc, TRUE, xd-2, yd-2, wd+4, hd+2);
+ gdk_draw_layout (pixmap, vtl->current_track_newpoint_gc, xd, yd, pl);
- g_object_unref ( G_OBJECT ( pl ) );
- g_object_unref ( G_OBJECT ( background_block_gc ) );
+ g_object_unref ( G_OBJECT ( pl ) );
+ g_object_unref ( G_OBJECT ( background_block_gc ) );
+ g_free (str);
+ }
passalong = g_new(draw_sync_t,1); // freed by draw_sync()
passalong->vtl = vtl;
passalong->pixmap = pixmap;
- passalong->drawable = GTK_WIDGET(vvp)->window;
+ passalong->drawable = gtk_widget_get_window(GTK_WIDGET(vvp));
passalong->gc = vtl->current_track_newpoint_gc;
gdouble angle;
@@ -7687,8 +9239,6 @@ static VikLayerToolFuncStatus tool_new_track_move ( VikTrwLayer *vtl, GdkEventMo
// Update statusbar with full gain/loss information
statusbar_write (distance, elev_gain, elev_loss, last_step, angle, vtl);
- g_free (str);
-
// draw pixmap when we have time to
g_idle_add_full (G_PRIORITY_HIGH_IDLE + 10, draw_sync, passalong, NULL);
vtl->draw_sync_done = FALSE;
@@ -7751,6 +9301,7 @@ static gboolean tool_new_track_or_route_click ( VikTrwLayer *vtl, GdkEventButton
g_free ( last->data );
vtl->current_track->trackpoints = g_list_remove_link ( vtl->current_track->trackpoints, last );
}
+ vik_track_calculate_bounds ( vtl->current_track );
update_statusbar ( vtl );
vik_layer_emit_update ( VIK_LAYER(vtl) );
@@ -7788,7 +9339,7 @@ static gboolean tool_new_track_or_route_click ( VikTrwLayer *vtl, GdkEventButton
tp->timestamp = 0;
if ( vtl->current_track ) {
- vtl->current_track->trackpoints = g_list_append ( vtl->current_track->trackpoints, tp );
+ vik_track_add_trackpoint ( vtl->current_track, tp, TRUE ); // Ensure bounds is updated
/* Auto attempt to get elevation from DEM data (if it's available) */
vik_track_apply_dem_data_last_trackpoint ( vtl->current_track );
}
@@ -7808,9 +9359,10 @@ static gboolean tool_new_track_click ( VikTrwLayer *vtl, GdkEventButton *event,
if ( event->button == 1 && ( ! vtl->current_track || (vtl->current_track && vtl->current_track->is_route ) ))
{
gchar *name = trw_layer_new_unique_sublayer_name(vtl, VIK_TRW_LAYER_SUBLAYER_TRACK, _("Track"));
- if ( ( name = a_dialog_new_track ( VIK_GTK_WINDOW_FROM_LAYER(vtl), vtl->tracks, name, FALSE ) ) )
+ if ( ( name = a_dialog_new_track ( VIK_GTK_WINDOW_FROM_LAYER(vtl), name, FALSE ) ) )
{
new_track_create_common ( vtl, name );
+ g_free ( name );
}
else
return TRUE;
@@ -7840,8 +9392,10 @@ static gboolean tool_new_route_click ( VikTrwLayer *vtl, GdkEventButton *event,
if ( event->button == 1 && ( ! vtl->current_track || (vtl->current_track && !vtl->current_track->is_route ) ) )
{
gchar *name = trw_layer_new_unique_sublayer_name(vtl, VIK_TRW_LAYER_SUBLAYER_ROUTE, _("Route"));
- if ( ( name = a_dialog_new_track ( VIK_GTK_WINDOW_FROM_LAYER(vtl), vtl->routes, name, TRUE ) ) )
+ if ( ( name = a_dialog_new_track ( VIK_GTK_WINDOW_FROM_LAYER(vtl), name, TRUE ) ) ) {
new_route_create_common ( vtl, name );
+ g_free ( name );
+ }
else
return TRUE;
}
@@ -7861,8 +9415,10 @@ static gboolean tool_new_waypoint_click ( VikTrwLayer *vtl, GdkEventButton *even
if (!vtl || vtl->vl.type != VIK_LAYER_TRW)
return FALSE;
vik_viewport_screen_to_coord ( vvp, event->x, event->y, &coord );
- if (vik_trw_layer_new_waypoint ( vtl, VIK_GTK_WINDOW_FROM_LAYER(vtl), &coord ) && VIK_LAYER(vtl)->visible)
+ if (vik_trw_layer_new_waypoint ( vtl, VIK_GTK_WINDOW_FROM_LAYER(vtl), &coord ) && VIK_LAYER(vtl)->visible) {
+ trw_layer_calculate_bounds_waypoints ( vtl );
vik_layer_emit_update ( VIK_LAYER(vtl) );
+ }
return TRUE;
}
@@ -7877,6 +9433,11 @@ static gpointer tool_edit_trackpoint_create ( VikWindow *vw, VikViewport *vvp)
return t;
}
+static void tool_edit_trackpoint_destroy ( tool_ed_t *t )
+{
+ g_free ( t );
+}
+
static gboolean tool_edit_trackpoint_click ( VikTrwLayer *vtl, GdkEventButton *event, gpointer data )
{
tool_ed_t *t = data;
@@ -7894,6 +9455,8 @@ static gboolean tool_edit_trackpoint_click ( VikTrwLayer *vtl, GdkEventButton *e
params.closest_track_id = NULL;
/* TODO: should get track listitem so we can break it up, make a new track, mess it up, all that. */
params.closest_tp = NULL;
+ params.closest_tpl = NULL;
+ vik_viewport_get_min_max_lat_lon ( vvp, &(params.bbox.south), &(params.bbox.north), &(params.bbox.west), &(params.bbox.east) );
if ( event->button != 1 )
return FALSE;
@@ -8013,6 +9576,8 @@ static gboolean tool_edit_trackpoint_release ( VikTrwLayer *vtl, GdkEventButton
}
VIK_TRACKPOINT(vtl->current_tpl->data)->coord = new_coord;
+ if ( vtl->current_tp_track )
+ vik_track_calculate_bounds ( vtl->current_tp_track );
marker_end_move ( t );
@@ -8027,7 +9592,6 @@ static gboolean tool_edit_trackpoint_release ( VikTrwLayer *vtl, GdkEventButton
}
-#ifdef VIK_CONFIG_GOOGLE
/*** Route Finder ***/
static gpointer tool_route_finder_create ( VikWindow *vw, VikViewport *vvp)
{
@@ -8059,9 +9623,6 @@ static gboolean tool_route_finder_click ( VikTrwLayer *vtl, GdkEventButton *even
}
else if ( vtl->route_finder_started || (event->state & GDK_CONTROL_MASK && vtl->route_finder_current_track) ) {
struct LatLon start, end;
- gchar startlat[G_ASCII_DTOSTR_BUF_SIZE], startlon[G_ASCII_DTOSTR_BUF_SIZE];
- gchar endlat[G_ASCII_DTOSTR_BUF_SIZE], endlon[G_ASCII_DTOSTR_BUF_SIZE];
- gchar *url;
vik_coord_to_latlon ( &(vtl->route_finder_coord), &start );
vik_coord_to_latlon ( &(tmp), &end );
@@ -8075,14 +9636,7 @@ static gboolean tool_route_finder_click ( VikTrwLayer *vtl, GdkEventButton *even
vtl->route_finder_started = FALSE;
}
- url = g_strdup_printf(GOOGLE_DIRECTIONS_STRING,
- g_ascii_dtostr (startlat, G_ASCII_DTOSTR_BUF_SIZE, (gdouble) start.lat),
- g_ascii_dtostr (startlon, G_ASCII_DTOSTR_BUF_SIZE, (gdouble) start.lon),
- g_ascii_dtostr (endlat, G_ASCII_DTOSTR_BUF_SIZE, (gdouble) end.lat),
- g_ascii_dtostr (endlon, G_ASCII_DTOSTR_BUF_SIZE, (gdouble) end.lon));
- // NB normally this returns a GPX Route - so subsequent usage of it must lookup via the routes hash
- a_babel_convert_from_url ( vtl, url, "google", NULL, NULL, NULL );
- g_free ( url );
+ vik_routing_default_find ( vtl, start, end);
/* see if anything was done -- a track was added or appended to */
if ( vtl->route_finder_check_added_track && vtl->route_finder_added_track ) {
@@ -8092,6 +9646,10 @@ static gboolean tool_route_finder_click ( VikTrwLayer *vtl, GdkEventButton *even
gchar *new_comment = g_strdup_printf("%s to: %f,%f", vtl->route_finder_current_track->comment, end.lat, end.lon );
vik_track_set_comment_no_copy ( vtl->route_finder_current_track, new_comment );
}
+
+ if ( vtl->route_finder_added_track )
+ vik_track_calculate_bounds ( vtl->route_finder_added_track );
+
vtl->route_finder_added_track = NULL;
vtl->route_finder_check_added_track = FALSE;
vtl->route_finder_append = FALSE;
@@ -8104,7 +9662,6 @@ static gboolean tool_route_finder_click ( VikTrwLayer *vtl, GdkEventButton *even
}
return TRUE;
}
-#endif
/*** Show picture ****/
@@ -8282,7 +9839,7 @@ static void trw_layer_track_alloc_colors ( VikTrwLayer *vtl )
VIK_TRACK(value)->has_color = TRUE;
}
- trw_layer_update_treeview ( vtl, VIK_TRACK(value), key );
+ trw_layer_update_treeview ( vtl, VIK_TRACK(value) );
ii++;
if (ii > VIK_TRW_LAYER_TRACK_GCS)
@@ -8304,16 +9861,96 @@ static void trw_layer_track_alloc_colors ( VikTrwLayer *vtl )
VIK_TRACK(value)->has_color = TRUE;
}
- trw_layer_update_treeview ( vtl, VIK_TRACK(value), key );
+ trw_layer_update_treeview ( vtl, VIK_TRACK(value) );
ii = !ii;
}
}
-static void trw_layer_post_read ( VikTrwLayer *vtl, GtkWidget *vp )
+/*
+ * (Re)Calculate the bounds of the waypoints in this layer,
+ * This should be called whenever waypoints are changed
+ */
+void trw_layer_calculate_bounds_waypoints ( VikTrwLayer *vtl )
+{
+ struct LatLon topleft = { 0.0, 0.0 };
+ struct LatLon bottomright = { 0.0, 0.0 };
+ struct LatLon ll;
+
+ GHashTableIter iter;
+ gpointer key, value;
+
+ g_hash_table_iter_init ( &iter, vtl->waypoints );
+
+ // Set bounds to first point
+ if ( g_hash_table_iter_next (&iter, &key, &value) ) {
+ vik_coord_to_latlon ( &(VIK_WAYPOINT(value)->coord), &topleft );
+ vik_coord_to_latlon ( &(VIK_WAYPOINT(value)->coord), &bottomright );
+ }
+
+ // Ensure there is another point...
+ if ( g_hash_table_size ( vtl->waypoints ) > 1 ) {
+
+ while ( g_hash_table_iter_next (&iter, &key, &value) ) {
+
+ // See if this point increases the bounds.
+ vik_coord_to_latlon ( &(VIK_WAYPOINT(value)->coord), &ll );
+
+ if ( ll.lat > topleft.lat) topleft.lat = ll.lat;
+ if ( ll.lon < topleft.lon) topleft.lon = ll.lon;
+ if ( ll.lat < bottomright.lat) bottomright.lat = ll.lat;
+ if ( ll.lon > bottomright.lon) bottomright.lon = ll.lon;
+ }
+ }
+
+ vtl->waypoints_bbox.north = topleft.lat;
+ vtl->waypoints_bbox.east = bottomright.lon;
+ vtl->waypoints_bbox.south = bottomright.lat;
+ vtl->waypoints_bbox.west = topleft.lon;
+}
+
+static void trw_layer_calculate_bounds_track ( gpointer id, VikTrack *trk )
{
- trw_layer_verify_thumbnails ( vtl, vp );
+ vik_track_calculate_bounds ( trk );
+}
+
+static void trw_layer_calculate_bounds_tracks ( VikTrwLayer *vtl )
+{
+ g_hash_table_foreach ( vtl->tracks, (GHFunc) trw_layer_calculate_bounds_track, NULL );
+ g_hash_table_foreach ( vtl->routes, (GHFunc) trw_layer_calculate_bounds_track, NULL );
+}
+
+static void trw_layer_sort_all ( VikTrwLayer *vtl )
+{
+ if ( ! VIK_LAYER(vtl)->vt )
+ return;
+
+ // Obviously need 2 to tango - sorting with only 1 (or less) is a lonely activity!
+ if ( g_hash_table_size (vtl->tracks) > 1 )
+ vik_treeview_sort_children ( VIK_LAYER(vtl)->vt, &(vtl->tracks_iter), vtl->track_sort_order );
+
+ if ( g_hash_table_size (vtl->routes) > 1 )
+ vik_treeview_sort_children ( VIK_LAYER(vtl)->vt, &(vtl->routes_iter), vtl->track_sort_order );
+
+ if ( g_hash_table_size (vtl->waypoints) > 1 )
+ vik_treeview_sort_children ( VIK_LAYER(vtl)->vt, &(vtl->waypoints_iter), vtl->wp_sort_order );
+}
+
+static void trw_layer_post_read ( VikTrwLayer *vtl, GtkWidget *vvp, gboolean from_file )
+{
+ if ( VIK_LAYER(vtl)->realized )
+ trw_layer_verify_thumbnails ( vtl, vvp );
trw_layer_track_alloc_colors ( vtl );
+
+ trw_layer_calculate_bounds_waypoints ( vtl );
+ trw_layer_calculate_bounds_tracks ( vtl );
+
+ // Apply treeview sort after loading all the tracks for this layer
+ // (rather than sorted insert on each individual track additional)
+ // and after subsequent changes to the properties as the specified order may have changed.
+ // since the sorting of a treeview section is now very quick
+ // NB sorting is also performed after every name change as well to maintain the list order
+ trw_layer_sort_all ( vtl );
}
VikCoordMode vik_trw_layer_get_coord_mode ( VikTrwLayer *vtl )
@@ -8505,7 +10142,7 @@ void vik_track_download_map(VikTrack *tr, VikMapsLayer *vml, VikViewport *vvp, g
}
for (rect_iter = rects_to_download; rect_iter; rect_iter = rect_iter->next) {
- maps_layer_download_section (vml, vvp, &(((Rect *)(rect_iter->data))->tl), &(((Rect *)(rect_iter->data))->br), zoom_level);
+ vik_maps_layer_download_section (vml, vvp, &(((Rect *)(rect_iter->data))->tl), &(((Rect *)(rect_iter->data))->br), zoom_level);
}
if (fillins) {
@@ -8523,12 +10160,10 @@ void vik_track_download_map(VikTrack *tr, VikMapsLayer *vml, VikViewport *vvp, g
static void trw_layer_download_map_along_track_cb ( gpointer pass_along[6] )
{
VikMapsLayer *vml;
- gint selected_map, default_map;
+ gint selected_map;
gchar *zoomlist[] = {"0.125", "0.25", "0.5", "1", "2", "4", "8", "16", "32", "64", "128", "256", "512", "1024", NULL };
gdouble zoom_vals[] = {0.125, 0.25, 0.5, 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024};
gint selected_zoom, default_zoom;
- int i,j;
-
VikTrwLayer *vtl = pass_along[0];
VikLayersPanel *vlp = pass_along[1];
@@ -8546,49 +10181,35 @@ static void trw_layer_download_map_along_track_cb ( gpointer pass_along[6] )
int num_maps = g_list_length(vmls);
if (!num_maps) {
- a_dialog_msg(VIK_GTK_WINDOW_FROM_LAYER(vtl), GTK_MESSAGE_ERROR, _("No map layer in use. Create one first"), NULL);
+ a_dialog_error_msg(VIK_GTK_WINDOW_FROM_LAYER(vtl), _("No map layer in use. Create one first") );
return;
}
+ // Convert from list of vmls to list of names. Allowing the user to select one of them
gchar **map_names = g_malloc(1 + num_maps * sizeof(gpointer));
VikMapsLayer **map_layers = g_malloc(1 + num_maps * sizeof(gpointer));
gchar **np = map_names;
VikMapsLayer **lp = map_layers;
+ int i;
for (i = 0; i < num_maps; i++) {
- gboolean dup = FALSE;
vml = (VikMapsLayer *)(vmls->data);
- for (j = 0; j < i; j++) { /* no duplicate allowed */
- if (vik_maps_layer_get_map_type(vml) == vik_maps_layer_get_map_type(map_layers[j])) {
- dup = TRUE;
- break;
- }
- }
- if (!dup) {
- *lp++ = vml;
- *np++ = vik_maps_layer_get_map_label(vml);
- }
+ *lp++ = vml;
+ *np++ = vik_maps_layer_get_map_label(vml);
vmls = vmls->next;
}
+ // Mark end of the array lists
*lp = NULL;
*np = NULL;
- num_maps = lp - map_layers;
-
- for (default_map = 0; default_map < num_maps; default_map++) {
- /* TODO: check for parent layer's visibility */
- if (VIK_LAYER(map_layers[default_map])->visible)
- break;
- }
- default_map = (default_map == num_maps) ? 0 : default_map;
gdouble cur_zoom = vik_viewport_get_zoom(vvp);
- for (default_zoom = 0; default_zoom < sizeof(zoom_vals)/sizeof(gdouble); default_zoom++) {
+ for (default_zoom = 0; default_zoom < G_N_ELEMENTS(zoom_vals); default_zoom++) {
if (cur_zoom == zoom_vals[default_zoom])
break;
}
- default_zoom = (default_zoom == sizeof(zoom_vals)/sizeof(gdouble)) ? sizeof(zoom_vals)/sizeof(gdouble) - 1 : default_zoom;
+ default_zoom = (default_zoom == G_N_ELEMENTS(zoom_vals)) ? G_N_ELEMENTS(zoom_vals) - 1 : default_zoom;
- if (!a_dialog_map_n_zoom(VIK_GTK_WINDOW_FROM_LAYER(vtl), map_names, default_map, zoomlist, default_zoom, &selected_map, &selected_zoom))
+ if (!a_dialog_map_n_zoom(VIK_GTK_WINDOW_FROM_LAYER(vtl), map_names, 0, zoomlist, default_zoom, &selected_map, &selected_zoom))
goto done;
vik_track_download_map(trk, map_layers[selected_map], vvp, zoom_vals[selected_zoom]);
@@ -8657,3 +10278,52 @@ static gchar *highest_wp_number_get(VikTrwLayer *vtl)
g_snprintf(buf,4,"%03d", vtl->highest_wp_number+1 );
return g_strdup(buf);
}
+
+/**
+ * trw_layer_create_track_list_both:
+ *
+ * Create the latest list of tracks and routes
+ */
+static GList* trw_layer_create_track_list_both ( VikLayer *vl, gpointer user_data )
+{
+ VikTrwLayer *vtl = VIK_TRW_LAYER(vl);
+ GList *tracks = NULL;
+ tracks = g_list_concat ( tracks, g_hash_table_get_values ( vik_trw_layer_get_tracks ( vtl ) ) );
+ tracks = g_list_concat ( tracks, g_hash_table_get_values ( vik_trw_layer_get_routes ( vtl ) ) );
+
+ return vik_trw_layer_build_track_list_t ( vtl, tracks );
+}
+
+static void trw_layer_track_list_dialog_single ( gpointer pass_along[6] )
+{
+ VikTrwLayer *vtl = VIK_TRW_LAYER(pass_along[0]);
+
+ gchar *title = NULL;
+ if ( GPOINTER_TO_INT(pass_along[2]) == VIK_TRW_LAYER_SUBLAYER_TRACKS )
+ title = g_strdup_printf ( _("%s: Track List"), VIK_LAYER(vtl)->name );
+ else
+ title = g_strdup_printf ( _("%s: Route List"), VIK_LAYER(vtl)->name );
+
+ vik_trw_layer_track_list_show_dialog ( title, VIK_LAYER(vtl), pass_along[2], trw_layer_create_track_list, FALSE );
+ g_free ( title );
+}
+
+static void trw_layer_track_list_dialog ( gpointer lav[2] )
+{
+ VikTrwLayer *vtl = VIK_TRW_LAYER(lav[0]);
+ //VikLayersPanel *vlp = VIK_LAYERS_PANEL(lav[1]);
+
+ gchar *title = g_strdup_printf ( _("%s: Track and Route List"), VIK_LAYER(vtl)->name );
+ vik_trw_layer_track_list_show_dialog ( title, VIK_LAYER(vtl), NULL, trw_layer_create_track_list_both, FALSE );
+ g_free ( title );
+}
+
+static void trw_layer_waypoint_list_dialog ( gpointer lav[2] )
+{
+ VikTrwLayer *vtl = VIK_TRW_LAYER(lav[0]);
+ //VikLayersPanel *vlp = VIK_LAYERS_PANEL(lav[1]);
+
+ gchar *title = g_strdup_printf ( _("%s: Waypoint List"), VIK_LAYER(vtl)->name );
+ vik_trw_layer_waypoint_list_show_dialog ( title, VIK_LAYER(vtl), NULL, trw_layer_create_waypoint_list, FALSE );
+ g_free ( title );
+}
diff --git a/src/viktrwlayer.h b/src/viktrwlayer.h
index 7d0b9da..2b324e4 100644
--- a/src/viktrwlayer.h
+++ b/src/viktrwlayer.h
@@ -2,7 +2,7 @@
* viking -- GPS Data and Topo Analyzer, Explorer, and Manager
*
* Copyright (C) 2003-2005, Evan Battaglia <gtoevan@gmx.net>
- * Copyright (c) 2011, Rob Norris <rw_norris@hotmail.com>
+ * Copyright (c) 2011-2013, Rob Norris <rw_norris@hotmail.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -81,6 +81,8 @@ gboolean vik_trw_layer_find_center ( VikTrwLayer *vtl, VikCoord *dest );
GHashTable *vik_trw_layer_get_tracks ( VikTrwLayer *l );
GHashTable *vik_trw_layer_get_routes ( VikTrwLayer *l );
GHashTable *vik_trw_layer_get_waypoints ( VikTrwLayer *l );
+gboolean vik_trw_layer_is_empty ( VikTrwLayer *vtl );
+
gboolean vik_trw_layer_new_waypoint ( VikTrwLayer *vtl, GtkWindow *w, const VikCoord *def_coord );
VikCoordMode vik_trw_layer_get_coord_mode ( VikTrwLayer *vtl );
@@ -92,13 +94,64 @@ void vik_trw_layer_delete_all_tracks ( VikTrwLayer *vtl );
void vik_trw_layer_delete_all_routes ( VikTrwLayer *vtl );
void trw_layer_cancel_tps_of_track ( VikTrwLayer *vtl, VikTrack *trk );
+void vik_trw_layer_reset_waypoints ( VikTrwLayer *vtl );
+
+// For creating a list of tracks with the corresponding layer it is in
+// (thus a selection of tracks may be from differing layers)
+typedef struct {
+ VikTrack *trk;
+ VikTrwLayer *vtl;
+} vik_trw_track_list_t;
+
+typedef GList* (*VikTrwlayerGetTracksAndLayersFunc) (VikLayer*, gpointer);
+GList *vik_trw_layer_build_track_list_t ( VikTrwLayer *vtl, GList *tracks );
+
+// For creating a list of waypoints with the corresponding layer it is in
+// (thus a selection of waypoints may be from differing layers)
+typedef struct {
+ VikWaypoint *wpt;
+ VikTrwLayer *vtl;
+} vik_trw_waypoint_list_t;
+
+typedef GList* (*VikTrwlayerGetWaypointsAndLayersFunc) (VikLayer*, gpointer);
+GList *vik_trw_layer_build_waypoint_list_t ( VikTrwLayer *vtl, GList *waypoints );
+
+GdkPixbuf* get_wp_sym_small ( gchar *symbol );
+
/* Exposed Layer Interface function definitions */
// Intended only for use by other trw_layer subwindows
void trw_layer_verify_thumbnails ( VikTrwLayer *vtl, GtkWidget *vp );
// Other functions only for use by other trw_layer subwindows
gchar *trw_layer_new_unique_sublayer_name ( VikTrwLayer *vtl, gint sublayer_type, const gchar *name );
+void trw_layer_waypoint_rename ( VikTrwLayer *vtl, VikWaypoint *wp, const gchar *new_name );
+void trw_layer_waypoint_reset_icon ( VikTrwLayer *vtl, VikWaypoint *wp );
+void trw_layer_calculate_bounds_waypoints ( VikTrwLayer *vtl );
+
+gboolean vik_trw_layer_get_tracks_visibility ( VikTrwLayer *vtl );
+gboolean vik_trw_layer_get_routes_visibility ( VikTrwLayer *vtl );
+gboolean vik_trw_layer_get_waypoints_visibility ( VikTrwLayer *vtl );
+
+void trw_layer_update_treeview ( VikTrwLayer *vtl, VikTrack *trk );
+
+void trw_layer_dialog_shift ( VikTrwLayer *vtl, GtkWindow *dialog, VikCoord *coord, gboolean vertical );
+
+typedef struct {
+ VikTrack *trk; // input
+ gpointer uuid; // output
+} trku_udata;
+gboolean trw_layer_track_find_uuid ( const gpointer id, const VikTrack *trk, gpointer udata );
+
+typedef struct {
+ VikWaypoint *wp; // input
+ gpointer uuid; // output
+} wpu_udata;
+gboolean trw_layer_waypoint_find_uuid ( const gpointer id, const VikWaypoint *wp, gpointer udata );
+
+void trw_layer_zoom_to_show_latlons ( VikTrwLayer *vtl, VikViewport *vvp, struct LatLon maxmin[2] );
-void trw_layer_update_treeview ( VikTrwLayer *vtl, VikTrack *trk, gpointer *trk_id );
+GHashTable *vik_trw_layer_get_tracks_iters ( VikTrwLayer *vtl );
+GHashTable *vik_trw_layer_get_routes_iters ( VikTrwLayer *vtl );
+GHashTable *vik_trw_layer_get_waypoints_iters ( VikTrwLayer *vtl );
G_END_DECLS
diff --git a/src/viktrwlayer_analysis.c b/src/viktrwlayer_analysis.c
new file mode 100644
index 0000000..de58c21
--- /dev/null
+++ b/src/viktrwlayer_analysis.c
@@ -0,0 +1,561 @@
+/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 4; tab-width: 4 -*- */
+/*
+ * viking -- GPS Data and Topo Analyzer, Explorer, and Manager
+ *
+ * Copyright (C) 2013 Rob Norris <rw_norris@hotmail.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ ***********************************************************
+ *
+ */
+
+#include <math.h>
+#include <time.h>
+#include <string.h>
+#include <glib/gprintf.h>
+#include <glib/gi18n.h>
+
+#include "viking.h"
+#include "viktrwlayer_analysis.h"
+
+// Units of each item are in SI Units
+// (as returned by the appropriate internal viking track functions)
+typedef struct {
+ gdouble min_alt;
+ gdouble max_alt;
+ gdouble elev_gain;
+ gdouble elev_loss;
+ gdouble length;
+ gdouble length_gaps;
+ gdouble max_speed;
+ gulong trackpoints;
+ guint segments;
+ gint duration;
+ time_t start_time;
+ time_t end_time;
+ gint count;
+} track_stats;
+
+// Early incarnations of the code had facilities to print output for multiple files
+// but has been rescoped to work on a single list of tracks for the GUI
+typedef enum {
+ //TS_TRACK,
+ TS_TRACKS,
+ //TS_FILES,
+} track_stat_block;
+static track_stats tracks_stats[1];
+
+// cf with vik_track_get_minmax_alt internals
+#define VIK_VAL_MIN_ALT 25000.0
+#define VIK_VAL_MAX_ALT -5000.0
+
+/**
+ * Reset the specified block
+ * Call this when starting to processing multiple items
+ */
+static void val_reset ( track_stat_block block )
+{
+ tracks_stats[block].min_alt = VIK_VAL_MIN_ALT;
+ tracks_stats[block].max_alt = VIK_VAL_MAX_ALT;
+ tracks_stats[block].elev_gain = 0.0;
+ tracks_stats[block].elev_loss = 0.0;
+ tracks_stats[block].length = 0.0;
+ tracks_stats[block].length_gaps = 0.0;
+ tracks_stats[block].max_speed = 0.0;
+ tracks_stats[block].trackpoints = 0;
+ tracks_stats[block].segments = 0;
+ tracks_stats[block].duration = 0;
+ tracks_stats[block].start_time = 0;
+ tracks_stats[block].end_time = 0;
+ tracks_stats[block].count = 0;
+}
+
+/**
+ * @val_analyse_track:
+ * @trk: The track to be analyse
+ *
+ * Function to collect statistics, using the internal track functions
+ */
+static void val_analyse_track ( VikTrack *trk )
+{
+ //val_reset ( TS_TRACK );
+ gdouble min_alt;
+ gdouble max_alt;
+ gdouble up;
+ gdouble down;
+
+ gdouble length = 0.0;
+ gdouble length_gaps = 0.0;
+ gdouble max_speed = 0.0;
+ gulong trackpoints = 0;
+ guint segments = 0;
+
+ tracks_stats[TS_TRACKS].count++;
+
+ trackpoints = vik_track_get_tp_count (trk);
+ segments = vik_track_get_segment_count (trk);
+ length = vik_track_get_length (trk);
+ length_gaps = vik_track_get_length_including_gaps (trk);
+ max_speed = vik_track_get_max_speed (trk);
+
+ int ii;
+ for (ii = 0; ii < G_N_ELEMENTS(tracks_stats); ii++) {
+ tracks_stats[ii].trackpoints += trackpoints;
+ tracks_stats[ii].segments += segments;
+ tracks_stats[ii].length += length;
+ tracks_stats[ii].length_gaps += length_gaps;
+ if ( max_speed > tracks_stats[ii].max_speed )
+ tracks_stats[ii].max_speed = max_speed;
+ }
+
+ if ( vik_track_get_minmax_alt (trk, &min_alt, &max_alt) ) {
+ for (ii = 0; ii < G_N_ELEMENTS(tracks_stats); ii++) {
+ if ( min_alt < tracks_stats[ii].min_alt )
+ tracks_stats[ii].min_alt = min_alt;
+ if ( max_alt > tracks_stats[ii].max_alt )
+ tracks_stats[ii].max_alt = max_alt;
+ }
+ }
+
+ vik_track_get_total_elevation_gain (trk, &up, &down );
+
+ for (ii = 0; ii < G_N_ELEMENTS(tracks_stats); ii++) {
+ tracks_stats[ii].elev_gain += up;
+ tracks_stats[ii].elev_loss += down;
+ }
+
+ if ( trk->trackpoints && VIK_TRACKPOINT(trk->trackpoints->data)->timestamp ) {
+ time_t t1, t2;
+ t1 = VIK_TRACKPOINT(g_list_first(trk->trackpoints)->data)->timestamp;
+ t2 = VIK_TRACKPOINT(g_list_last(trk->trackpoints)->data)->timestamp;
+
+ // Assume never actually have a track with a time of 0 (1st Jan 1970)
+ for (ii = 0; ii < G_N_ELEMENTS(tracks_stats); ii++) {
+ if ( tracks_stats[ii].start_time == 0)
+ tracks_stats[ii].start_time = t1;
+ if ( tracks_stats[ii].end_time == 0)
+ tracks_stats[ii].end_time = t2;
+ }
+
+ // Initialize to the first value
+ for (ii = 0; ii < G_N_ELEMENTS(tracks_stats); ii++) {
+ if (t1 < tracks_stats[ii].start_time)
+ tracks_stats[ii].start_time = t1;
+ if (t2 > tracks_stats[ii].end_time)
+ tracks_stats[ii].end_time = t2;
+ }
+
+ for (ii = 0; ii < G_N_ELEMENTS(tracks_stats); ii++) {
+ tracks_stats[ii].duration = tracks_stats[ii].duration + (int)(t2-t1);
+ }
+ }
+}
+
+// Could use GtkGrids but that is Gtk3+
+static GtkWidget *create_table (int cnt, char *labels[], GtkWidget *contents[])
+{
+ GtkTable *table;
+ int i;
+
+ table = GTK_TABLE(gtk_table_new (cnt, 2, FALSE));
+ gtk_table_set_col_spacing (table, 0, 10);
+ for (i=0; i<cnt; i++) {
+ GtkWidget *label;
+ label = gtk_label_new(NULL);
+ gtk_misc_set_alignment ( GTK_MISC(label), 1, 0.5 ); // Position text centrally in vertical plane
+ // All text labels are set to be in bold
+ char *markup = g_markup_printf_escaped ("<b>%s:</b>", _(labels[i]) );
+ gtk_label_set_markup ( GTK_LABEL(label), markup );
+ g_free ( markup );
+ gtk_table_attach ( table, label, 0, 1, i, i+1, GTK_FILL, GTK_EXPAND, 4, 2 );
+ if (GTK_IS_MISC(contents[i])) {
+ gtk_misc_set_alignment ( GTK_MISC(contents[i]), 0, 0.5 );
+ }
+ gtk_table_attach_defaults ( table, contents[i], 1, 2, i, i+1 );
+ }
+ return GTK_WIDGET (table);
+}
+
+static gchar *label_texts[] = {
+ N_("Number of Tracks"),
+ N_("Date Range"),
+ N_("Total Length"),
+ N_("Average Length"),
+ N_("Max Speed"),
+ N_("Avg. Speed"),
+ N_("Minimum Altitude"),
+ N_("Maximum Altitude"),
+ N_("Total Elevation Gain/Loss"),
+ N_("Avg. Elevation Gain/Loss"),
+ N_("Total Duration"),
+ N_("Avg. Duration"),
+};
+
+/**
+ * create_layout:
+ *
+ * Returns a widget to hold the stats information in a table grid layout
+ */
+static GtkWidget *create_layout ( GtkWidget *content[] )
+{
+ int cnt = 0;
+ for ( cnt = 0; cnt < G_N_ELEMENTS(label_texts); cnt++ )
+ content[cnt] = gtk_label_new ( NULL );
+
+ return create_table (cnt, label_texts, content);
+}
+
+/**
+ * table_output:
+ *
+ * Update the given widgets table with the values from the track stats
+ */
+static void table_output ( track_stats ts, GtkWidget *content[] )
+{
+ int cnt = 0;
+
+ gchar tmp_buf[64];
+ g_snprintf ( tmp_buf, sizeof(tmp_buf), "%d", ts.count );
+ gtk_label_set_text ( GTK_LABEL(content[cnt++]), tmp_buf );
+
+ if ( ts.count == 0 ) {
+ // Blank all other fields
+ g_snprintf ( tmp_buf, sizeof(tmp_buf), "--" );
+ for ( cnt = 1; cnt < G_N_ELEMENTS(label_texts); cnt++ )
+ gtk_label_set_text ( GTK_LABEL(content[cnt]), tmp_buf );
+ return;
+ }
+
+ // Check for potential date range
+ // Test if the same day by comparing the date string of the timestamp
+ GDate* gdate_start = g_date_new ();
+ g_date_set_time_t ( gdate_start, ts.start_time );
+ gchar time_start[32];
+ g_date_strftime ( time_start, sizeof(time_start), "%x", gdate_start );
+ g_date_free ( gdate_start );
+
+ GDate* gdate_end = g_date_new ();
+ g_date_set_time_t ( gdate_end, ts.end_time );
+ gchar time_end[32];
+ g_date_strftime ( time_end, sizeof(time_end), "%x", gdate_end );
+ g_date_free ( gdate_end );
+
+ if ( ts.start_time == ts.end_time )
+ g_snprintf ( tmp_buf, sizeof(tmp_buf), _("No Data") );
+ else if ( strncmp(time_start, time_end, 32) )
+ g_snprintf ( tmp_buf, sizeof(tmp_buf), "%s --> %s", time_start, time_end );
+ else
+ g_snprintf ( tmp_buf, sizeof(tmp_buf), "%s", time_start );
+
+ gtk_label_set_text ( GTK_LABEL(content[cnt++]), tmp_buf );
+
+ switch (a_vik_get_units_distance ()) {
+ case VIK_UNITS_DISTANCE_MILES:
+ g_snprintf ( tmp_buf, sizeof(tmp_buf), _("%.1f miles"), VIK_METERS_TO_MILES(ts.length) );
+ break;
+ default:
+ //VIK_UNITS_DISTANCE_KILOMETRES
+ g_snprintf ( tmp_buf, sizeof(tmp_buf), _("%.1f km"), ts.length/1000.0 );
+ break;
+ }
+ gtk_label_set_text ( GTK_LABEL(content[cnt++]), tmp_buf );
+
+ switch (a_vik_get_units_distance ()) {
+ case VIK_UNITS_DISTANCE_MILES:
+ g_snprintf ( tmp_buf, sizeof(tmp_buf), _("%.2f miles"), (VIK_METERS_TO_MILES(ts.length)/ts.count) );
+ break;
+ default:
+ //VIK_UNITS_DISTANCE_KILOMETRES
+ g_snprintf ( tmp_buf, sizeof(tmp_buf), _("%.2f km"), ts.length/(1000.0*ts.count) );
+ break;
+ }
+ gtk_label_set_text ( GTK_LABEL(content[cnt++]), tmp_buf );
+
+ // I'm sure this could be cleaner...
+ switch (a_vik_get_units_speed()) {
+ case VIK_UNITS_SPEED_MILES_PER_HOUR:
+ g_snprintf ( tmp_buf, sizeof(tmp_buf), _("%.1f mph"), (double)VIK_MPS_TO_MPH(ts.max_speed) );
+ gtk_label_set_text ( GTK_LABEL(content[cnt++]), tmp_buf );
+ if ( ts.duration > 0 )
+ g_snprintf ( tmp_buf, sizeof(tmp_buf), ("%.1f mph"), (double)VIK_MPS_TO_MPH(ts.length/ts.duration) );
+ break;
+ case VIK_UNITS_SPEED_METRES_PER_SECOND:
+ if ( ts.max_speed > 0 )
+ g_snprintf ( tmp_buf, sizeof(tmp_buf), _("%.2f m/s"), (double)ts.max_speed );
+ gtk_label_set_text ( GTK_LABEL(content[cnt++]), tmp_buf );
+ if ( ts.duration > 0 )
+ g_snprintf ( tmp_buf, sizeof(tmp_buf), ("%.2f m/s"), (double)(ts.length/ts.duration) );
+ else
+ g_snprintf ( tmp_buf, sizeof(tmp_buf), "--" );
+ break;
+ case VIK_UNITS_SPEED_KNOTS:
+ if ( ts.max_speed > 0 )
+ g_snprintf ( tmp_buf, sizeof(tmp_buf), _("%.2f knots\n"), (double)VIK_MPS_TO_KNOTS(ts.max_speed) );
+ gtk_label_set_text ( GTK_LABEL(content[cnt++]), tmp_buf );
+ if ( ts.duration > 0 )
+ g_snprintf ( tmp_buf, sizeof(tmp_buf), _("%.2f knots"), (double)VIK_MPS_TO_KNOTS(ts.length/ts.duration) );
+ else
+ g_snprintf ( tmp_buf, sizeof(tmp_buf), "--" );
+ break;
+ default:
+ //VIK_UNITS_SPEED_KILOMETRES_PER_HOUR:
+ if ( ts.max_speed > 0 )
+ g_snprintf ( tmp_buf, sizeof(tmp_buf), _("%.2f km/h"), (double)VIK_MPS_TO_KPH(ts.max_speed) );
+ gtk_label_set_text ( GTK_LABEL(content[cnt++]), tmp_buf );
+ if ( ts.duration > 0 )
+ g_snprintf ( tmp_buf, sizeof(tmp_buf), _("%.2f km/h"), (double)VIK_MPS_TO_KPH(ts.length/ts.duration) );
+ else
+ g_snprintf ( tmp_buf, sizeof(tmp_buf), "--" );
+ break;
+ }
+ gtk_label_set_text ( GTK_LABEL(content[cnt++]), tmp_buf );
+
+ switch ( a_vik_get_units_height() ) {
+ // Note always round off height value output since sub unit accuracy is overkill
+ case VIK_UNITS_HEIGHT_FEET:
+ if ( ts.min_alt != VIK_VAL_MIN_ALT )
+ g_snprintf ( tmp_buf, sizeof(tmp_buf), _("%d feet"), (int)round(VIK_METERS_TO_FEET(ts.min_alt)) );
+ else
+ g_snprintf ( tmp_buf, sizeof(tmp_buf), "--" );
+ gtk_label_set_text ( GTK_LABEL(content[cnt++]), tmp_buf );
+
+ if ( ts.max_alt != VIK_VAL_MAX_ALT )
+ g_snprintf ( tmp_buf, sizeof(tmp_buf), _("%d feet"), (int)round(VIK_METERS_TO_FEET(ts.max_alt)) );
+ else
+ g_snprintf ( tmp_buf, sizeof(tmp_buf), "--" );
+ gtk_label_set_text ( GTK_LABEL(content[cnt++]), tmp_buf );
+
+ g_snprintf ( tmp_buf, sizeof(tmp_buf), _("%d feet / %d feet"), (int)round(VIK_METERS_TO_FEET(ts.elev_gain)), (int)round(VIK_METERS_TO_FEET(ts.elev_loss)) );
+ gtk_label_set_text ( GTK_LABEL(content[cnt++]), tmp_buf );
+ g_snprintf ( tmp_buf, sizeof(tmp_buf), _("%d feet / %d feet"), (int)round(VIK_METERS_TO_FEET(ts.elev_gain/ts.count)), (int)round(VIK_METERS_TO_FEET(ts.elev_loss/ts.count)) );
+ break;
+ default:
+ //VIK_UNITS_HEIGHT_METRES
+ if ( ts.min_alt != VIK_VAL_MIN_ALT )
+ g_snprintf ( tmp_buf, sizeof(tmp_buf), _("%d m"), (int)round(ts.min_alt) );
+ else
+ g_snprintf ( tmp_buf, sizeof(tmp_buf), "--" );
+ gtk_label_set_text ( GTK_LABEL(content[cnt++]), tmp_buf );
+
+ if ( ts.max_alt != VIK_VAL_MAX_ALT )
+ g_snprintf ( tmp_buf, sizeof(tmp_buf), _("%d m"), (int)round(ts.max_alt) );
+ else
+ g_snprintf ( tmp_buf, sizeof(tmp_buf), "--" );
+ gtk_label_set_text ( GTK_LABEL(content[cnt++]), tmp_buf );
+
+ g_snprintf ( tmp_buf, sizeof(tmp_buf), _("%d m / %d m"), (int)round(ts.elev_gain), (int)round(ts.elev_loss) );
+ gtk_label_set_text ( GTK_LABEL(content[cnt++]), tmp_buf );
+ g_snprintf ( tmp_buf, sizeof(tmp_buf), _("%d m / %d m"), (int)round(ts.elev_gain/ts.count), (int)round(ts.elev_loss/ts.count) );
+ break;
+ }
+ gtk_label_set_text ( GTK_LABEL(content[cnt++]), tmp_buf );
+
+ gint hours;
+ gint minutes;
+ gint days;
+ // Total Duration
+ days = (gint)(ts.duration / (60*60*24));
+ hours = (gint)floor((ts.duration - (days*60*60*24)) / (60*60));
+ minutes = (gint)((ts.duration - (days*60*60*24) - (hours*60*60)) / 60);
+ g_snprintf ( tmp_buf, sizeof(tmp_buf), _("%d:%02d:%02d days:hrs:mins"), days, hours, minutes );
+ gtk_label_set_text ( GTK_LABEL(content[cnt++]), tmp_buf );
+
+ // Average Duration
+ gint avg_dur = ts.duration / ts.count;
+ hours = (gint)floor(avg_dur / (60*60));
+ minutes = (gint)((avg_dur - (hours*60*60)) / 60);
+ g_snprintf ( tmp_buf, sizeof(tmp_buf), _("%d:%02d hrs:mins"), hours, minutes );
+ gtk_label_set_text ( GTK_LABEL(content[cnt++]), tmp_buf );
+}
+
+/**
+ * val_analyse_item_maybe:
+ * @vtlist: A track and the associated layer to consider for analysis
+ * @data: Whether to include invisible items
+ *
+ * Analyse this particular track
+ * considering whether it should be included depending on it's visibility
+ */
+static void val_analyse_item_maybe ( vik_trw_track_list_t *vtlist, const gpointer data )
+{
+ gboolean include_invisible = GPOINTER_TO_INT(data);
+ VikTrack *trk = vtlist->trk;
+ VikTrwLayer *vtl = vtlist->vtl;
+
+ // Safety first - items shouldn't be deleted...
+ if ( !IS_VIK_TRW_LAYER(vtl) ) return;
+ if ( !trk ) return;
+
+ if ( !include_invisible ) {
+ // Skip invisible layers or sublayers
+ if ( !VIK_LAYER(vtl)->visible ||
+ (trk->is_route && !vik_trw_layer_get_routes_visibility(vtl)) ||
+ (!trk->is_route && !vik_trw_layer_get_tracks_visibility(vtl)) )
+ return;
+
+ // Skip invisible tracks
+ if ( !trk->visible )
+ return;
+ }
+
+ val_analyse_track ( trk );
+}
+
+/**
+ * val_analyse:
+ * @widgets: The widget layout
+ * @tracks_and_layers: A list of #vik_trw_track_list_t
+ * @include_invisible: Whether to include invisible layers and tracks
+ *
+ * Analyse each item in the @tracks_and_layers list
+ *
+ */
+void val_analyse ( GtkWidget *widgets[], GList *tracks_and_layers, gboolean include_invisible )
+{
+ val_reset ( TS_TRACKS );
+
+ GList *gl = g_list_first ( tracks_and_layers );
+ if ( gl ) {
+ g_list_foreach ( gl, (GFunc) val_analyse_item_maybe, GINT_TO_POINTER(include_invisible) );
+ }
+
+ table_output ( tracks_stats[TS_TRACKS], widgets );
+}
+
+typedef struct {
+ GtkWidget **widgets;
+ GtkWidget *layout;
+ GtkWidget *check_button;
+ GList *tracks_and_layers;
+ VikLayer *vl;
+ gpointer user_data;
+ VikTrwlayerGetTracksAndLayersFunc get_tracks_and_layers_cb;
+ VikTrwlayerAnalyseCloseFunc on_close_cb;
+} analyse_cb_t;
+
+static void include_invisible_toggled_cb ( GtkToggleButton *togglebutton, analyse_cb_t *acb )
+{
+ gboolean value = FALSE;
+ if ( gtk_toggle_button_get_active ( togglebutton ) )
+ value = TRUE;
+
+ // Delete old list of items
+ if ( acb->tracks_and_layers ) {
+ g_list_foreach ( acb->tracks_and_layers, (GFunc) g_free, NULL );
+ g_list_free ( acb->tracks_and_layers );
+ }
+
+ // Get the latest list of items to analyse
+ acb->tracks_and_layers = acb->get_tracks_and_layers_cb ( acb->vl, acb->user_data );
+
+ val_analyse ( acb->widgets, acb->tracks_and_layers, value );
+ gtk_widget_show_all ( acb->layout );
+}
+
+#define VIK_SETTINGS_ANALYSIS_DO_INVISIBLE "track_analysis_do_invisible"
+
+/**
+ * analyse_close:
+ *
+ * Multi stage closure - as we need to clear allocations made here
+ * before passing on to the callee so they know then the dialog is closed too
+ */
+static void analyse_close ( GtkWidget *dialog, gint resp, analyse_cb_t *data )
+{
+ // Save current invisible value for next time
+ gboolean do_invisible = gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON(data->check_button) );
+ a_settings_set_boolean ( VIK_SETTINGS_ANALYSIS_DO_INVISIBLE, do_invisible );
+
+ //g_free ( data->layout );
+ g_free ( data->widgets );
+ g_list_foreach ( data->tracks_and_layers, (GFunc) g_free, NULL );
+ g_list_free ( data->tracks_and_layers );
+
+ if ( data->on_close_cb )
+ data->on_close_cb ( dialog, resp, data->vl );
+
+ g_free ( data );
+}
+
+/**
+ * vik_trw_layer_analyse_this:
+ * @window: A window from which the dialog will be derived
+ * @name: The name to be shown
+ * @vl: The #VikLayer passed on into get_tracks_and_layers_cb()
+ * @user_data: Data passed on into get_tracks_and_layers_cb()
+ * @get_tracks_and_layers_cb: The function to call to construct items to be analysed
+ *
+ * Display a dialog with stats across many tracks
+ *
+ * Returns: The dialog that is created to display the analyse information
+ */
+GtkWidget* vik_trw_layer_analyse_this ( GtkWindow *window,
+ const gchar *name,
+ VikLayer *vl,
+ gpointer user_data,
+ VikTrwlayerGetTracksAndLayersFunc get_tracks_and_layers_cb,
+ VikTrwlayerAnalyseCloseFunc on_close_cb )
+{
+ //VikWindow *vw = VIK_WINDOW(window);
+
+ GtkWidget *dialog;
+ dialog = gtk_dialog_new_with_buttons ( _("Statistics"),
+ window,
+ GTK_DIALOG_DESTROY_WITH_PARENT,
+ GTK_STOCK_CLOSE, GTK_RESPONSE_CANCEL,
+ NULL );
+
+ GtkWidget *name_l = gtk_label_new ( NULL );
+ gchar *myname = g_markup_printf_escaped ( "<b>%s</b>", name );
+ gtk_label_set_markup ( GTK_LABEL(name_l), myname );
+ g_free ( myname );
+
+ GtkWidget *content = gtk_dialog_get_content_area ( GTK_DIALOG(dialog) );
+ gtk_box_pack_start ( GTK_BOX(content), name_l, FALSE, FALSE, 10);
+
+ // Get previous value (if any) from the settings
+ gboolean include_invisible;
+ if ( ! a_settings_get_boolean ( VIK_SETTINGS_ANALYSIS_DO_INVISIBLE, &include_invisible ) )
+ include_invisible = TRUE;
+
+ analyse_cb_t *acb = g_malloc (sizeof(analyse_cb_t));
+ acb->vl = vl;
+ acb->user_data = user_data;
+ acb->get_tracks_and_layers_cb = get_tracks_and_layers_cb;
+ acb->on_close_cb = on_close_cb;
+ acb->tracks_and_layers = get_tracks_and_layers_cb ( vl, user_data );
+ acb->widgets = g_malloc ( sizeof(GtkWidget*) * G_N_ELEMENTS(label_texts) );
+ acb->layout = create_layout ( acb->widgets );
+
+ gtk_box_pack_start ( GTK_BOX(content), acb->layout, FALSE, FALSE, 0 );
+
+ // Analysis seems reasonably quick
+ // unless you have really large numbers of tracks (i.e. many many thousands or a really slow computer)
+ // One day might store stats in the track itself....
+ val_analyse ( acb->widgets, acb->tracks_and_layers, include_invisible );
+
+ GtkWidget *cb = gtk_check_button_new_with_label ( _("Include Invisible Items") );
+ gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON(cb), include_invisible );
+ gtk_box_pack_start ( GTK_BOX(content), cb, FALSE, FALSE, 10);
+ acb->check_button = cb;
+
+ gtk_widget_show_all ( dialog );
+
+ g_signal_connect ( G_OBJECT(cb), "toggled", G_CALLBACK(include_invisible_toggled_cb), acb );
+ g_signal_connect ( G_OBJECT(dialog), "response", G_CALLBACK(analyse_close), acb );
+
+ return dialog;
+}
diff --git a/src/viktrwlayer_analysis.h b/src/viktrwlayer_analysis.h
new file mode 100644
index 0000000..cb28065
--- /dev/null
+++ b/src/viktrwlayer_analysis.h
@@ -0,0 +1,41 @@
+/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 4; tab-width: 4 -*- */
+/*
+ * viking -- GPS Data and Topo Analyzer, Explorer, and Manager
+ *
+ * Copyright (C) 2013 Rob Norris <rw_norris@hotmail.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ ***********************************************************
+ */
+
+#ifndef _VIKING_TRWLAYER_ANALYSIS_H
+#define _VIKING_TRWLAYER_ANALYSIS_H
+
+#include "viktrwlayer.h"
+
+G_BEGIN_DECLS
+typedef void (*VikTrwlayerAnalyseCloseFunc) (GtkWidget*, gint, VikLayer*);
+
+GtkWidget* vik_trw_layer_analyse_this ( GtkWindow *window,
+ const gchar *name,
+ VikLayer *vl,
+ gpointer user_data,
+ VikTrwlayerGetTracksAndLayersFunc get_tracks_and_layers_cb,
+ VikTrwlayerAnalyseCloseFunc on_close_cb );
+
+G_END_DECLS
+
+#endif
diff --git a/src/viktrwlayer_geotag.c b/src/viktrwlayer_geotag.c
index 44074c6..bf65347 100644
--- a/src/viktrwlayer_geotag.c
+++ b/src/viktrwlayer_geotag.c
@@ -91,6 +91,7 @@ typedef struct {
GtkWidget *dialog;
VikFileList *files;
VikTrwLayer *vtl; // to pass on
+ VikWaypoint *wpt; // Use specified waypoint or otherwise the track(s) if NULL
VikTrack *track; // Use specified track or all tracks if NULL
GtkCheckButton *create_waypoints_b;
GtkLabel *overwrite_waypoints_l; // Referenced so the sensitivity can be changed
@@ -132,6 +133,7 @@ typedef struct {
typedef struct {
VikTrwLayer *vtl;
gchar *image;
+ VikWaypoint *wpt; // Use specified waypoint or otherwise the track(s) if NULL
VikTrack *track; // Use specified track or all tracks if NULL
// User options...
option_values_t ov;
@@ -145,17 +147,52 @@ typedef struct {
gboolean redraw;
} geotag_options_t;
-static option_values_t default_values = {
- TRUE,
- TRUE,
- TRUE,
- FALSE,
- TRUE,
- TRUE,
- 0,
- 0,
- 0,
-};
+#define VIK_SETTINGS_GEOTAG_CREATE_WAYPOINT "geotag_create_waypoints"
+#define VIK_SETTINGS_GEOTAG_OVERWRITE_WAYPOINTS "geotag_overwrite_waypoints"
+#define VIK_SETTINGS_GEOTAG_WRITE_EXIF "geotag_write_exif"
+#define VIK_SETTINGS_GEOTAG_OVERWRITE_GPS_EXIF "geotag_overwrite_gps"
+#define VIK_SETTINGS_GEOTAG_NO_CHANGE_MTIME "geotag_no_change_mtime"
+#define VIK_SETTINGS_GEOTAG_INTERPOLATE_SEGMENTS "geotag_interpolate_segments"
+#define VIK_SETTINGS_GEOTAG_TIME_OFFSET "geotag_time_offset"
+#define VIK_SETTINGS_GEOTAG_TIME_OFFSET_HOURS "geotag_time_offset_hours"
+#define VIK_SETTINGS_GEOTAG_TIME_OFFSET_MINS "geotag_time_offset_mins"
+
+static void save_default_values ( option_values_t default_values )
+{
+ a_settings_set_boolean ( VIK_SETTINGS_GEOTAG_CREATE_WAYPOINT, default_values.create_waypoints );
+ a_settings_set_boolean ( VIK_SETTINGS_GEOTAG_OVERWRITE_WAYPOINTS, default_values.overwrite_waypoints );
+ a_settings_set_boolean ( VIK_SETTINGS_GEOTAG_WRITE_EXIF, default_values.write_exif );
+ a_settings_set_boolean ( VIK_SETTINGS_GEOTAG_OVERWRITE_GPS_EXIF, default_values.overwrite_gps_exif );
+ a_settings_set_boolean ( VIK_SETTINGS_GEOTAG_NO_CHANGE_MTIME, default_values.no_change_mtime );
+ a_settings_set_boolean ( VIK_SETTINGS_GEOTAG_INTERPOLATE_SEGMENTS, default_values.interpolate_segments );
+ a_settings_set_integer ( VIK_SETTINGS_GEOTAG_TIME_OFFSET, default_values.time_offset );
+ a_settings_set_integer ( VIK_SETTINGS_GEOTAG_TIME_OFFSET_HOURS, default_values.TimeZoneHours );
+ a_settings_set_integer ( VIK_SETTINGS_GEOTAG_TIME_OFFSET_MINS, default_values.TimeZoneMins );
+}
+
+static option_values_t get_default_values ( )
+{
+ option_values_t default_values;
+ if ( ! a_settings_get_boolean ( VIK_SETTINGS_GEOTAG_CREATE_WAYPOINT, &default_values.create_waypoints ) )
+ default_values.create_waypoints = TRUE;
+ if ( ! a_settings_get_boolean ( VIK_SETTINGS_GEOTAG_OVERWRITE_WAYPOINTS, &default_values.overwrite_waypoints ) )
+ default_values.overwrite_waypoints = TRUE;
+ if ( ! a_settings_get_boolean ( VIK_SETTINGS_GEOTAG_WRITE_EXIF, &default_values.write_exif ) )
+ default_values.write_exif = TRUE;
+ if ( ! a_settings_get_boolean ( VIK_SETTINGS_GEOTAG_OVERWRITE_GPS_EXIF, &default_values.overwrite_gps_exif ) )
+ default_values.overwrite_gps_exif = FALSE;
+ if ( ! a_settings_get_boolean ( VIK_SETTINGS_GEOTAG_NO_CHANGE_MTIME, &default_values.no_change_mtime ) )
+ default_values.no_change_mtime = TRUE;
+ if ( ! a_settings_get_boolean ( VIK_SETTINGS_GEOTAG_INTERPOLATE_SEGMENTS, &default_values.interpolate_segments ) )
+ default_values.interpolate_segments = TRUE;
+ if ( ! a_settings_get_integer ( VIK_SETTINGS_GEOTAG_TIME_OFFSET, &default_values.time_offset ) )
+ default_values.time_offset = 0;
+ if ( ! a_settings_get_integer ( VIK_SETTINGS_GEOTAG_TIME_OFFSET_HOURS, &default_values.TimeZoneHours ) )
+ default_values.TimeZoneHours = 0;
+ if ( ! a_settings_get_integer ( VIK_SETTINGS_GEOTAG_TIME_OFFSET_MINS, &default_values.TimeZoneMins ) )
+ default_values.TimeZoneMins = 0;
+ return default_values;
+}
/**
* Correlate the image against the specified track
@@ -230,7 +267,28 @@ static void trw_layer_geotag_track ( const gpointer id, VikTrack *track, geotag_
options->altitude = trkpt->altitude + ((trkpt_next->altitude - trkpt->altitude) * scale);
break;
}
-
+ }
+}
+
+/**
+ * Simply align the images the waypoint position
+ */
+static void trw_layer_geotag_waypoint ( geotag_options_t *options )
+{
+ // Write EXIF if specified - although a fairly useless process if you've turned it off!
+ if ( options->ov.write_exif ) {
+ gboolean has_gps_exif = FALSE;
+ gchar* datetime = a_geotag_get_exif_date_from_file ( options->image, &has_gps_exif );
+ // If image already has gps info - don't attempt to change it unless forced
+ if ( options->ov.overwrite_gps_exif || !has_gps_exif ) {
+ gint ans = a_geotag_write_exif_gps ( options->image, options->wpt->coord, options->wpt->altitude, options->ov.no_change_mtime );
+ if ( ans != 0 ) {
+ gchar *message = g_strdup_printf ( _("Failed updating EXIF on %s"), options->image );
+ vik_window_statusbar_update ( VIK_WINDOW(VIK_GTK_WINDOW_FROM_LAYER(options->vtl)), message, VIK_STATUSBAR_INFO );
+ g_free ( message );
+ }
+ }
+ g_free ( datetime );
}
}
@@ -245,6 +303,11 @@ static void trw_layer_geotag_process ( geotag_options_t *options )
if ( !options->image )
return;
+ if ( options->wpt ) {
+ trw_layer_geotag_waypoint ( options );
+ return;
+ }
+
gboolean has_gps_exif = FALSE;
gchar* datetime = a_geotag_get_exif_date_from_file ( options->image, &has_gps_exif );
@@ -347,7 +410,12 @@ static void trw_layer_geotag_process ( geotag_options_t *options )
// Write EXIF if specified
if ( options->ov.write_exif ) {
- a_geotag_write_exif_gps ( options->image, options->coord, options->altitude, options->ov.no_change_mtime );
+ gint ans = a_geotag_write_exif_gps ( options->image, options->coord, options->altitude, options->ov.no_change_mtime );
+ if ( ans != 0 ) {
+ gchar *message = g_strdup_printf ( _("Failed updating EXIF on %s"), options->image );
+ vik_window_statusbar_update ( VIK_WINDOW(VIK_GTK_WINDOW_FROM_LAYER(options->vtl)), message, VIK_STATUSBAR_INFO );
+ g_free ( message );
+ }
}
}
}
@@ -386,6 +454,7 @@ static int trw_layer_geotag_thread ( geotag_options_t *options, gpointer threadd
if ( options->redraw ) {
if ( IS_VIK_LAYER(options->vtl) ) {
+ trw_layer_calculate_bounds_waypoints ( options->vtl );
// Ensure any new images get shown
trw_layer_verify_thumbnails ( options->vtl, NULL ); // NB second parameter not used ATM
// Force redraw as verify only redraws if there are new thumbnails (they may already exist)
@@ -410,6 +479,7 @@ static void trw_layer_geotag_response_cb ( GtkDialog *dialog, gint resp, GeoTagW
// Get options
geotag_options_t *options = g_malloc ( sizeof(geotag_options_t) );
options->vtl = widgets->vtl;
+ options->wpt = widgets->wpt;
options->track = widgets->track;
// Values extracted from the widgets:
options->ov.create_waypoints = gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON(widgets->create_waypoints_b) );
@@ -438,7 +508,7 @@ static void trw_layer_geotag_response_cb ( GtkDialog *dialog, gint resp, GeoTagW
options->redraw = FALSE;
// Save settings for reuse
- default_values = options->ov;
+ save_default_values ( options->ov );
options->files = g_list_copy ( vik_file_list_get_files ( widgets->files ) );
@@ -503,7 +573,10 @@ static void create_waypoints_b_cb ( GtkWidget *gw, GeoTagWidgets *gtw )
* @track: Optional - The particular track to use (if specified) for correlating images
* @track_name: Optional - The name of specified track to use
*/
-void trw_layer_geotag_dialog ( GtkWindow *parent, VikTrwLayer *vtl, VikTrack *track, const gchar *track_name )
+void trw_layer_geotag_dialog ( GtkWindow *parent,
+ VikTrwLayer *vtl,
+ VikWaypoint *wpt,
+ VikTrack *track )
{
GeoTagWidgets *widgets = geotag_widgets_new();
@@ -513,8 +586,13 @@ void trw_layer_geotag_dialog ( GtkWindow *parent, VikTrwLayer *vtl, VikTrack *tr
GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT,
GTK_STOCK_OK, GTK_RESPONSE_ACCEPT,
NULL );
- widgets->files = VIK_FILE_LIST(vik_file_list_new ( _("Images") )); // TODO would be nice to be able to set a filefilter
+ GtkFileFilter *filter = gtk_file_filter_new ();
+ gtk_file_filter_set_name ( filter, _("JPG") );
+ gtk_file_filter_add_mime_type ( filter, "image/jpeg");
+
+ widgets->files = VIK_FILE_LIST(vik_file_list_new ( _("Images"), filter ));
widgets->vtl = vtl;
+ widgets->wpt = wpt;
widgets->track = track;
widgets->create_waypoints_b = GTK_CHECK_BUTTON ( gtk_check_button_new () );
widgets->overwrite_waypoints_l = GTK_LABEL ( gtk_label_new ( _("Overwrite Existing Waypoints:") ) );
@@ -531,7 +609,9 @@ void trw_layer_geotag_dialog ( GtkWindow *parent, VikTrwLayer *vtl, VikTrack *tr
gtk_entry_set_width_chars ( widgets->time_zone_b, 7);
gtk_entry_set_width_chars ( widgets->time_offset_b, 7);
- // Defaults - TODO restore previous values / save settings somewhere??
+ // Defaults
+ option_values_t default_values = get_default_values ();
+
gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON(widgets->create_waypoints_b), default_values.create_waypoints );
gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON(widgets->overwrite_waypoints_b), default_values.overwrite_waypoints );
gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON(widgets->write_exif_b), default_values.write_exif );
@@ -552,7 +632,8 @@ void trw_layer_geotag_dialog ( GtkWindow *parent, VikTrwLayer *vtl, VikTrack *tr
g_signal_connect ( G_OBJECT(widgets->create_waypoints_b), "toggled", G_CALLBACK(create_waypoints_b_cb), widgets );
GtkWidget *cw_hbox = gtk_hbox_new ( FALSE, 0 );
- gtk_box_pack_start ( GTK_BOX(cw_hbox), gtk_label_new ( _("Create Waypoints:") ), FALSE, FALSE, 5 );
+ GtkWidget *create_waypoints_l = gtk_label_new ( _("Create Waypoints:") );
+ gtk_box_pack_start ( GTK_BOX(cw_hbox), create_waypoints_l, FALSE, FALSE, 5 );
gtk_box_pack_start ( GTK_BOX(cw_hbox), GTK_WIDGET(widgets->create_waypoints_b), FALSE, FALSE, 5 );
GtkWidget *ow_hbox = gtk_hbox_new ( FALSE, 0 );
@@ -572,37 +653,54 @@ void trw_layer_geotag_dialog ( GtkWindow *parent, VikTrwLayer *vtl, VikTrack *tr
gtk_box_pack_start ( GTK_BOX(fm_hbox), GTK_WIDGET(widgets->no_change_mtime_b), FALSE, FALSE, 5 );
GtkWidget *is_hbox = gtk_hbox_new ( FALSE, 0 );
- gtk_box_pack_start ( GTK_BOX(is_hbox), gtk_label_new ( _("Interpolate Between Track Segments:") ), FALSE, FALSE, 5 );
+ GtkWidget *interpolate_segments_l = gtk_label_new ( _("Interpolate Between Track Segments:") );
+ gtk_box_pack_start ( GTK_BOX(is_hbox), interpolate_segments_l, FALSE, FALSE, 5 );
gtk_box_pack_start ( GTK_BOX(is_hbox), GTK_WIDGET(widgets->interpolate_segments_b), FALSE, FALSE, 5 );
GtkWidget *to_hbox = gtk_hbox_new ( FALSE, 0 );
- gtk_box_pack_start ( GTK_BOX(to_hbox), gtk_label_new ( _("Image Time Offset (Seconds):") ), FALSE, FALSE, 5 );
+ GtkWidget *time_offset_l = gtk_label_new ( _("Image Time Offset (Seconds):") );
+ gtk_box_pack_start ( GTK_BOX(to_hbox), time_offset_l, FALSE, FALSE, 5 );
gtk_box_pack_start ( GTK_BOX(to_hbox), GTK_WIDGET(widgets->time_offset_b), FALSE, FALSE, 5 );
gtk_widget_set_tooltip_text ( GTK_WIDGET(widgets->time_offset_b), _("The number of seconds to ADD to the photos time to make it match the GPS data. Calculate this with (GPS - Photo). Can be negative or positive. Useful to adjust times when a camera's timestamp was incorrect.") );
GtkWidget *tz_hbox = gtk_hbox_new ( FALSE, 0 );
- gtk_box_pack_start ( GTK_BOX(tz_hbox), gtk_label_new ( _("Image Timezone:") ), FALSE, FALSE, 5 );
+ GtkWidget *time_zone_l = gtk_label_new ( _("Image Timezone:") );
+ gtk_box_pack_start ( GTK_BOX(tz_hbox), time_zone_l, FALSE, FALSE, 5 );
gtk_box_pack_start ( GTK_BOX(tz_hbox), GTK_WIDGET(widgets->time_zone_b), FALSE, FALSE, 5 );
gtk_widget_set_tooltip_text ( GTK_WIDGET(widgets->time_zone_b), _("The timezone that was used when the images were created. For example, if a camera is set to AWST or +8:00 hours. Enter +8:00 here so that the correct adjustment to the images' time can be made. GPS data is always in UTC.") );
gchar *track_string = NULL;
- if ( widgets->track )
- track_string = g_strdup_printf ( _("Using track: %s"), track_name );
+ if ( widgets->wpt ) {
+ track_string = g_strdup_printf ( _("Using waypoint: %s"), wpt->name );
+ // Control sensitivities
+ gtk_widget_set_sensitive ( GTK_WIDGET(widgets->create_waypoints_b), FALSE );
+ gtk_widget_set_sensitive ( GTK_WIDGET(create_waypoints_l), FALSE );
+ gtk_widget_set_sensitive ( GTK_WIDGET(widgets->overwrite_waypoints_b), FALSE );
+ gtk_widget_set_sensitive ( GTK_WIDGET(widgets->overwrite_waypoints_l), FALSE );
+ gtk_widget_set_sensitive ( GTK_WIDGET(widgets->interpolate_segments_b), FALSE );
+ gtk_widget_set_sensitive ( GTK_WIDGET(interpolate_segments_l), FALSE );
+ gtk_widget_set_sensitive ( GTK_WIDGET(widgets->time_offset_b), FALSE );
+ gtk_widget_set_sensitive ( GTK_WIDGET(time_offset_l), FALSE );
+ gtk_widget_set_sensitive ( GTK_WIDGET(widgets->time_zone_b), FALSE );
+ gtk_widget_set_sensitive ( GTK_WIDGET(time_zone_l), FALSE );
+ }
+ else if ( widgets->track )
+ track_string = g_strdup_printf ( _("Using track: %s"), track->name );
else
track_string = g_strdup_printf ( _("Using all tracks in: %s"), VIK_LAYER(widgets->vtl)->name );
- gtk_box_pack_start ( GTK_BOX(GTK_DIALOG(widgets->dialog)->vbox), gtk_label_new ( track_string ), FALSE, FALSE, 5 );
+ gtk_box_pack_start ( GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(widgets->dialog))), gtk_label_new ( track_string ), FALSE, FALSE, 5 );
- gtk_box_pack_start ( GTK_BOX(GTK_DIALOG(widgets->dialog)->vbox), GTK_WIDGET(widgets->files), TRUE, TRUE, 0 );
+ gtk_box_pack_start ( GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(widgets->dialog))), GTK_WIDGET(widgets->files), TRUE, TRUE, 0 );
- gtk_box_pack_start ( GTK_BOX(GTK_DIALOG(widgets->dialog)->vbox), cw_hbox, FALSE, FALSE, 0);
- gtk_box_pack_start ( GTK_BOX(GTK_DIALOG(widgets->dialog)->vbox), ow_hbox, FALSE, FALSE, 0);
- gtk_box_pack_start ( GTK_BOX(GTK_DIALOG(widgets->dialog)->vbox), we_hbox, FALSE, FALSE, 0);
- gtk_box_pack_start ( GTK_BOX(GTK_DIALOG(widgets->dialog)->vbox), og_hbox, FALSE, FALSE, 0);
- gtk_box_pack_start ( GTK_BOX(GTK_DIALOG(widgets->dialog)->vbox), fm_hbox, FALSE, FALSE, 0);
- gtk_box_pack_start ( GTK_BOX(GTK_DIALOG(widgets->dialog)->vbox), is_hbox, FALSE, FALSE, 0);
- gtk_box_pack_start ( GTK_BOX(GTK_DIALOG(widgets->dialog)->vbox), to_hbox, FALSE, FALSE, 0);
- gtk_box_pack_start ( GTK_BOX(GTK_DIALOG(widgets->dialog)->vbox), tz_hbox, FALSE, FALSE, 0);
+ gtk_box_pack_start ( GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(widgets->dialog))), cw_hbox, FALSE, FALSE, 0);
+ gtk_box_pack_start ( GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(widgets->dialog))), ow_hbox, FALSE, FALSE, 0);
+ gtk_box_pack_start ( GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(widgets->dialog))), we_hbox, FALSE, FALSE, 0);
+ gtk_box_pack_start ( GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(widgets->dialog))), og_hbox, FALSE, FALSE, 0);
+ gtk_box_pack_start ( GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(widgets->dialog))), fm_hbox, FALSE, FALSE, 0);
+ gtk_box_pack_start ( GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(widgets->dialog))), is_hbox, FALSE, FALSE, 0);
+ gtk_box_pack_start ( GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(widgets->dialog))), to_hbox, FALSE, FALSE, 0);
+ gtk_box_pack_start ( GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(widgets->dialog))), tz_hbox, FALSE, FALSE, 0);
g_signal_connect ( widgets->dialog, "response", G_CALLBACK(trw_layer_geotag_response_cb), widgets );
diff --git a/src/viktrwlayer_geotag.h b/src/viktrwlayer_geotag.h
index 9bb259a..8b1ea69 100644
--- a/src/viktrwlayer_geotag.h
+++ b/src/viktrwlayer_geotag.h
@@ -29,7 +29,10 @@
G_BEGIN_DECLS
// To be only called from within viktrwlayer
-void trw_layer_geotag_dialog ( GtkWindow *parent, VikTrwLayer *vtl, VikTrack *track, const gchar *track_name );
+void trw_layer_geotag_dialog ( GtkWindow *parent,
+ VikTrwLayer *vtl,
+ VikWaypoint *wpt,
+ VikTrack *track );
G_END_DECLS
diff --git a/src/viktrwlayer_propwin.c b/src/viktrwlayer_propwin.c
index 87b6842..c4665a2 100644
--- a/src/viktrwlayer_propwin.c
+++ b/src/viktrwlayer_propwin.c
@@ -36,25 +36,12 @@
#ifdef HAVE_STRING_H
#include <string.h>
#endif
-#include "coords.h"
-#include "vikcoord.h"
-#include "viktrack.h"
#include "viktrwlayer.h"
#include "viktrwlayer_propwin.h"
-#include "vikwaypoint.h"
-#include "dialog.h"
-#include "globals.h"
#include "dems.h"
-
+#include "viking.h"
#include "vikviewport.h" /* ugh */
-#include "viktreeview.h" /* ugh */
#include <gdk-pixbuf/gdk-pixdata.h>
-#include "viklayer.h" /* ugh */
-#include "vikaggregatelayer.h"
-#include "viklayerspanel.h" /* ugh */
-
-#define PROPWIN_PROFILE_WIDTH 600
-#define PROPWIN_PROFILE_HEIGHT 300
typedef enum {
PROPWIN_GRAPH_TYPE_ELEVATION_DISTANCE,
@@ -103,7 +90,6 @@ typedef struct _propwidgets {
gboolean configure_dialog;
VikTrwLayer *vtl;
VikTrack *tr;
- gpointer trk_id;
VikViewport *vvp;
VikLayersPanel *vlp;
gint profile_width;
@@ -129,6 +115,8 @@ typedef struct _propwidgets {
GtkWidget *w_time_end;
GtkWidget *w_time_dur;
GtkWidget *w_color;
+ GtkWidget *w_namelabel;
+ GtkWidget *w_number_distlabels;
GtkWidget *w_cur_dist; /*< Current distance */
GtkWidget *w_cur_elevation;
GtkWidget *w_cur_gradient_dist; /*< Current distance on gradient graph */
@@ -498,7 +486,7 @@ static void track_graph_click( GtkWidget *event_box, GdkEventButton *event, Prop
gdouble marker_x = (pc * widgets->profile_width) + MARGIN;
save_image_and_draw_graph_marks(image,
marker_x,
- window->style->black_gc,
+ gtk_widget_get_style(window)->black_gc,
-1, // Don't draw blob on clicks
0,
graph_saved_img,
@@ -706,7 +694,7 @@ void track_profile_move( GtkWidget *event_box, GdkEventMotion *event, PropWidget
save_image_and_draw_graph_marks (image,
marker_x,
- window->style->black_gc,
+ gtk_widget_get_style(window)->black_gc,
MARGIN+x,
y_blob,
&widgets->elev_graph_saved_img,
@@ -783,7 +771,7 @@ void track_gradient_move( GtkWidget *event_box, GdkEventMotion *event, PropWidge
save_image_and_draw_graph_marks (image,
marker_x,
- window->style->black_gc,
+ gtk_widget_get_style(window)->black_gc,
MARGIN+x,
y_blob,
&widgets->gradient_graph_saved_img,
@@ -874,7 +862,7 @@ void track_vt_move( GtkWidget *event_box, GdkEventMotion *event, PropWidgets *wi
save_image_and_draw_graph_marks (image,
marker_x,
- window->style->black_gc,
+ gtk_widget_get_style(window)->black_gc,
MARGIN+x,
y_blob,
&widgets->speed_graph_saved_img,
@@ -953,7 +941,7 @@ void track_dt_move( GtkWidget *event_box, GdkEventMotion *event, PropWidgets *wi
save_image_and_draw_graph_marks (image,
marker_x,
- window->style->black_gc,
+ gtk_widget_get_style(window)->black_gc,
MARGIN+x,
y_blob,
&widgets->dist_graph_saved_img,
@@ -1032,7 +1020,7 @@ void track_et_move( GtkWidget *event_box, GdkEventMotion *event, PropWidgets *wi
save_image_and_draw_graph_marks (image,
marker_x,
- window->style->black_gc,
+ gtk_widget_get_style(window)->black_gc,
MARGIN+x,
y_blob,
&widgets->elev_time_graph_saved_img,
@@ -1128,7 +1116,7 @@ void track_sd_move( GtkWidget *event_box, GdkEventMotion *event, PropWidgets *wi
save_image_and_draw_graph_marks (image,
marker_x,
- window->style->black_gc,
+ gtk_widget_get_style(window)->black_gc,
MARGIN+x,
y_blob,
&widgets->speed_dist_graph_saved_img,
@@ -1197,6 +1185,35 @@ static void draw_dem_alt_speed_dist(VikTrack *tr,
}
/**
+ * draw_grid:
+ *
+ * A common way to draw the grid with y axis labels
+ *
+ */
+static void draw_grid ( GtkWidget *window, GtkWidget *image, PropWidgets *widgets, GdkPixmap *pix, gchar *ss, gint i )
+{
+ PangoLayout *pl = gtk_widget_create_pango_layout (GTK_WIDGET(image), NULL);
+
+ pango_layout_set_alignment (pl, PANGO_ALIGN_RIGHT);
+ pango_layout_set_font_description (pl, gtk_widget_get_style(window)->font_desc);
+
+ gchar *label_markup = g_strdup_printf ( "<span size=\"small\">%s</span>", ss );
+ pango_layout_set_markup ( pl, label_markup, -1 );
+ g_free ( label_markup );
+
+ int w, h;
+ pango_layout_get_pixel_size ( pl, &w, &h );
+
+ gdk_draw_layout ( GDK_DRAWABLE(pix), gtk_widget_get_style(window)->fg_gc[0], MARGIN-w-3,
+ CLAMP((int)i*widgets->profile_height/LINES - h/2, 0, widgets->profile_height-h), pl );
+
+ gdk_draw_line ( GDK_DRAWABLE(pix), gtk_widget_get_style(window)->dark_gc[0],
+ MARGIN, widgets->profile_height/LINES * i, MARGIN + widgets->profile_width, widgets->profile_height/LINES * i );
+ g_object_unref ( G_OBJECT ( pl ) );
+ pl = NULL;
+}
+
+/**
* Draw just the height profile image
*/
static void draw_elevations (GtkWidget *image, VikTrack *tr, PropWidgets *widgets )
@@ -1238,28 +1255,23 @@ static void draw_elevations (GtkWidget *image, VikTrack *tr, PropWidgets *widget
window = gtk_widget_get_toplevel (widgets->elev_box);
- pix = gdk_pixmap_new( window->window, widgets->profile_width + MARGIN, widgets->profile_height, -1 );
+ pix = gdk_pixmap_new( gtk_widget_get_window(window), widgets->profile_width + MARGIN, widgets->profile_height, -1 );
gtk_image_set_from_pixmap ( GTK_IMAGE(image), pix, NULL );
- no_alt_info = gdk_gc_new ( window->window );
+ no_alt_info = gdk_gc_new ( gtk_widget_get_window(window) );
gdk_color_parse ( "yellow", &color );
gdk_gc_set_rgb_fg_color ( no_alt_info, &color);
/* clear the image */
- gdk_draw_rectangle(GDK_DRAWABLE(pix), window->style->bg_gc[0],
+ gdk_draw_rectangle(GDK_DRAWABLE(pix), gtk_widget_get_style(window)->bg_gc[0],
TRUE, 0, 0, MARGIN, widgets->profile_height);
- gdk_draw_rectangle(GDK_DRAWABLE(pix), window->style->mid_gc[0],
+ gdk_draw_rectangle(GDK_DRAWABLE(pix), gtk_widget_get_style(window)->mid_gc[0],
TRUE, MARGIN, 0, widgets->profile_width, widgets->profile_height);
/* draw grid */
for (i=0; i<=LINES; i++) {
- PangoLayout *pl = gtk_widget_create_pango_layout (GTK_WIDGET(image), NULL);
gchar s[32];
- int w, h;
-
- pango_layout_set_alignment (pl, PANGO_ALIGN_RIGHT);
- pango_layout_set_font_description (pl, window->style->font_desc);
switch (height_units) {
case VIK_UNITS_HEIGHT_METRES:
@@ -1273,15 +1285,8 @@ static void draw_elevations (GtkWidget *image, VikTrack *tr, PropWidgets *widget
sprintf(s, "--");
g_critical("Houston, we've had a problem. height=%d", height_units);
}
- pango_layout_set_text(pl, s, -1);
- pango_layout_get_pixel_size (pl, &w, &h);
- gdk_draw_layout(GDK_DRAWABLE(pix), window->style->fg_gc[0], MARGIN-w-3,
- CLAMP((int)i*widgets->profile_height/LINES - h/2, 0, widgets->profile_height-h), pl);
- gdk_draw_line (GDK_DRAWABLE(pix), window->style->dark_gc[0],
- MARGIN, widgets->profile_height/LINES * i, MARGIN + widgets->profile_width, widgets->profile_height/LINES * i);
- g_object_unref ( G_OBJECT ( pl ) );
- pl = NULL;
+ draw_grid ( window, image, widgets, pix, s, i );
}
/* draw elevations */
@@ -1290,14 +1295,14 @@ static void draw_elevations (GtkWidget *image, VikTrack *tr, PropWidgets *widget
gdk_draw_line ( GDK_DRAWABLE(pix), no_alt_info,
i + MARGIN, 0, i + MARGIN, widgets->profile_height );
else
- gdk_draw_line ( GDK_DRAWABLE(pix), window->style->dark_gc[3],
+ gdk_draw_line ( GDK_DRAWABLE(pix), gtk_widget_get_style(window)->dark_gc[3],
i + MARGIN, widgets->profile_height, i + MARGIN, widgets->profile_height-widgets->profile_height*(widgets->altitudes[i]-mina)/(chunksa[widgets->cia]*LINES) );
if ( gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(widgets->w_show_dem)) ||
gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(widgets->w_show_alt_gps_speed)) ) {
- GdkGC *dem_alt_gc = gdk_gc_new ( window->window );
- GdkGC *gps_speed_gc = gdk_gc_new ( window->window );
+ GdkGC *dem_alt_gc = gdk_gc_new ( gtk_widget_get_window(window) );
+ GdkGC *gps_speed_gc = gdk_gc_new ( gtk_widget_get_window(window) );
gdk_color_parse ( "green", &color );
gdk_gc_set_rgb_fg_color ( dem_alt_gc, &color);
@@ -1328,7 +1333,7 @@ static void draw_elevations (GtkWidget *image, VikTrack *tr, PropWidgets *widget
}
/* draw border */
- gdk_draw_rectangle(GDK_DRAWABLE(pix), window->style->black_gc, FALSE, MARGIN, 0, widgets->profile_width-1, widgets->profile_height-1);
+ gdk_draw_rectangle(GDK_DRAWABLE(pix), gtk_widget_get_style(window)->black_gc, FALSE, MARGIN, 0, widgets->profile_width-1, widgets->profile_height-1);
g_object_unref ( G_OBJECT(pix) );
g_object_unref ( G_OBJECT(no_alt_info) );
@@ -1401,44 +1406,32 @@ static void draw_gradients (GtkWidget *image, VikTrack *tr, PropWidgets *widgets
window = gtk_widget_get_toplevel (widgets->gradient_box);
- pix = gdk_pixmap_new( window->window, widgets->profile_width + MARGIN, widgets->profile_height, -1 );
+ pix = gdk_pixmap_new( gtk_widget_get_window(window), widgets->profile_width + MARGIN, widgets->profile_height, -1 );
gtk_image_set_from_pixmap ( GTK_IMAGE(image), pix, NULL );
/* clear the image */
- gdk_draw_rectangle(GDK_DRAWABLE(pix), window->style->bg_gc[0],
+ gdk_draw_rectangle(GDK_DRAWABLE(pix), gtk_widget_get_style(window)->bg_gc[0],
TRUE, 0, 0, MARGIN, widgets->profile_height);
- gdk_draw_rectangle(GDK_DRAWABLE(pix), window->style->mid_gc[0],
+ gdk_draw_rectangle(GDK_DRAWABLE(pix), gtk_widget_get_style(window)->mid_gc[0],
TRUE, MARGIN, 0, widgets->profile_width, widgets->profile_height);
/* draw grid */
for (i=0; i<=LINES; i++) {
- PangoLayout *pl = gtk_widget_create_pango_layout (GTK_WIDGET(image), NULL);
gchar s[32];
- int w, h;
-
- pango_layout_set_alignment (pl, PANGO_ALIGN_RIGHT);
- pango_layout_set_font_description (pl, window->style->font_desc);
sprintf(s, "%8d%%", (int)(mina + (LINES-i)*chunksg[widgets->cig]));
- pango_layout_set_text(pl, s, -1);
- pango_layout_get_pixel_size (pl, &w, &h);
- gdk_draw_layout(GDK_DRAWABLE(pix), window->style->fg_gc[0], MARGIN-w-3,
- CLAMP((int)i*widgets->profile_height/LINES - h/2, 0, widgets->profile_height-h), pl);
- gdk_draw_line (GDK_DRAWABLE(pix), window->style->dark_gc[0],
- MARGIN, widgets->profile_height/LINES * i, MARGIN + widgets->profile_width, widgets->profile_height/LINES * i);
- g_object_unref ( G_OBJECT ( pl ) );
- pl = NULL;
+ draw_grid ( window, image, widgets, pix, s, i );
}
/* draw gradients */
for ( i = 0; i < widgets->profile_width; i++ )
- gdk_draw_line ( GDK_DRAWABLE(pix), window->style->dark_gc[3],
+ gdk_draw_line ( GDK_DRAWABLE(pix), gtk_widget_get_style(window)->dark_gc[3],
i + MARGIN, widgets->profile_height, i + MARGIN, widgets->profile_height-widgets->profile_height*(widgets->gradients[i]-mina)/(chunksg[widgets->cig]*LINES) );
if ( gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(widgets->w_show_gradient_gps_speed)) ) {
- GdkGC *gps_speed_gc = gdk_gc_new ( window->window );
+ GdkGC *gps_speed_gc = gdk_gc_new ( gtk_widget_get_window(window) );
gdk_color_parse ( "red", &color );
gdk_gc_set_rgb_fg_color ( gps_speed_gc, &color);
@@ -1460,7 +1453,7 @@ static void draw_gradients (GtkWidget *image, VikTrack *tr, PropWidgets *widgets
}
/* draw border */
- gdk_draw_rectangle(GDK_DRAWABLE(pix), window->style->black_gc, FALSE, MARGIN, 0, widgets->profile_width-1, widgets->profile_height-1);
+ gdk_draw_rectangle(GDK_DRAWABLE(pix), gtk_widget_get_style(window)->black_gc, FALSE, MARGIN, 0, widgets->profile_width-1, widgets->profile_height-1);
g_object_unref ( G_OBJECT(pix) );
}
@@ -1509,7 +1502,7 @@ static void draw_vt ( GtkWidget *image, VikTrack *tr, PropWidgets *widgets)
window = gtk_widget_get_toplevel (widgets->speed_box);
- pix = gdk_pixmap_new( window->window, widgets->profile_width + MARGIN, widgets->profile_height, -1 );
+ pix = gdk_pixmap_new( gtk_widget_get_window(window), widgets->profile_width + MARGIN, widgets->profile_height, -1 );
gtk_image_set_from_pixmap ( GTK_IMAGE(image), pix, NULL );
@@ -1524,19 +1517,14 @@ static void draw_vt ( GtkWidget *image, VikTrack *tr, PropWidgets *widgets)
mins = widgets->draw_min_speed;
/* clear the image */
- gdk_draw_rectangle(GDK_DRAWABLE(pix), window->style->bg_gc[0],
+ gdk_draw_rectangle(GDK_DRAWABLE(pix), gtk_widget_get_style(window)->bg_gc[0],
TRUE, 0, 0, MARGIN, widgets->profile_height);
- gdk_draw_rectangle(GDK_DRAWABLE(pix), window->style->mid_gc[0],
+ gdk_draw_rectangle(GDK_DRAWABLE(pix), gtk_widget_get_style(window)->mid_gc[0],
TRUE, MARGIN, 0, widgets->profile_width, widgets->profile_height);
/* draw grid */
for (i=0; i<=LINES; i++) {
- PangoLayout *pl = gtk_widget_create_pango_layout (GTK_WIDGET(image), NULL);
gchar s[32];
- int w, h;
-
- pango_layout_set_alignment (pl, PANGO_ALIGN_RIGHT);
- pango_layout_set_font_description (pl, window->style->font_desc);
// NB: No need to convert here anymore as numbers are in the appropriate units
switch (speed_units) {
@@ -1557,27 +1545,19 @@ static void draw_vt ( GtkWidget *image, VikTrack *tr, PropWidgets *widgets)
g_critical("Houston, we've had a problem. speed=%d", speed_units);
}
- pango_layout_set_text(pl, s, -1);
- pango_layout_get_pixel_size (pl, &w, &h);
- gdk_draw_layout(GDK_DRAWABLE(pix), window->style->fg_gc[0], MARGIN-w-3,
- CLAMP((int)i*widgets->profile_height/LINES - h/2, 0, widgets->profile_height-h), pl);
-
- gdk_draw_line (GDK_DRAWABLE(pix), window->style->dark_gc[0],
- MARGIN, widgets->profile_height/LINES * i, MARGIN + widgets->profile_width, widgets->profile_height/LINES * i);
- g_object_unref ( G_OBJECT ( pl ) );
- pl = NULL;
+ draw_grid ( window, image, widgets, pix, s, i );
}
/* draw speeds */
for ( i = 0; i < widgets->profile_width; i++ )
- gdk_draw_line ( GDK_DRAWABLE(pix), window->style->dark_gc[3],
+ gdk_draw_line ( GDK_DRAWABLE(pix), gtk_widget_get_style(window)->dark_gc[3],
i + MARGIN, widgets->profile_height, i + MARGIN, widgets->profile_height-widgets->profile_height*(widgets->speeds[i]-mins)/(chunkss[widgets->cis]*LINES) );
if ( gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->w_show_gps_speed)) ) {
- GdkGC *gps_speed_gc = gdk_gc_new ( window->window );
+ GdkGC *gps_speed_gc = gdk_gc_new ( gtk_widget_get_window(window) );
GdkColor color;
gdk_color_parse ( "red", &color );
gdk_gc_set_rgb_fg_color ( gps_speed_gc, &color);
@@ -1613,7 +1593,7 @@ static void draw_vt ( GtkWidget *image, VikTrack *tr, PropWidgets *widgets)
}
/* draw border */
- gdk_draw_rectangle(GDK_DRAWABLE(pix), window->style->black_gc, FALSE, MARGIN, 0, widgets->profile_width-1, widgets->profile_height-1);
+ gdk_draw_rectangle(GDK_DRAWABLE(pix), gtk_widget_get_style(window)->black_gc, FALSE, MARGIN, 0, widgets->profile_width-1, widgets->profile_height-1);
g_object_unref ( G_OBJECT(pix) );
}
@@ -1652,7 +1632,7 @@ static void draw_dt ( GtkWidget *image, VikTrack *tr, PropWidgets *widgets )
window = gtk_widget_get_toplevel (widgets->dist_box);
- pix = gdk_pixmap_new( window->window, widgets->profile_width + MARGIN, widgets->profile_height, -1 );
+ pix = gdk_pixmap_new( gtk_widget_get_window(window), widgets->profile_width + MARGIN, widgets->profile_height, -1 );
gtk_image_set_from_pixmap ( GTK_IMAGE(image), pix, NULL );
@@ -1669,44 +1649,31 @@ static void draw_dt ( GtkWidget *image, VikTrack *tr, PropWidgets *widgets )
get_new_min_and_chunk_index (0, maxd, chunksd, G_N_ELEMENTS(chunksd), &dummy, &widgets->cid);
/* clear the image */
- gdk_draw_rectangle(GDK_DRAWABLE(pix), window->style->bg_gc[0],
+ gdk_draw_rectangle(GDK_DRAWABLE(pix), gtk_widget_get_style(window)->bg_gc[0],
TRUE, 0, 0, MARGIN, widgets->profile_height);
- gdk_draw_rectangle(GDK_DRAWABLE(pix), window->style->mid_gc[0],
+ gdk_draw_rectangle(GDK_DRAWABLE(pix), gtk_widget_get_style(window)->mid_gc[0],
TRUE, MARGIN, 0, widgets->profile_width, widgets->profile_height);
/* draw grid */
for (i=0; i<=LINES; i++) {
- PangoLayout *pl = gtk_widget_create_pango_layout (GTK_WIDGET(image), NULL);
gchar s[32];
- int w, h;
-
- pango_layout_set_alignment (pl, PANGO_ALIGN_RIGHT);
- pango_layout_set_font_description (pl, window->style->font_desc);
if ( dist_units == VIK_UNITS_DISTANCE_MILES )
sprintf(s, _("%.1f miles"), ((LINES-i)*chunksd[widgets->cid]));
else
sprintf(s, _("%.1f km"), ((LINES-i)*chunksd[widgets->cid]));
- pango_layout_set_text(pl, s, -1);
- pango_layout_get_pixel_size (pl, &w, &h);
- gdk_draw_layout(GDK_DRAWABLE(pix), window->style->fg_gc[0], MARGIN-w-3,
- CLAMP((int)i*widgets->profile_height/LINES - h/2, 0, widgets->profile_height-h), pl);
-
- gdk_draw_line (GDK_DRAWABLE(pix), window->style->dark_gc[0],
- MARGIN, widgets->profile_height/LINES * i, MARGIN + widgets->profile_width, widgets->profile_height/LINES * i);
- g_object_unref ( G_OBJECT ( pl ) );
- pl = NULL;
+ draw_grid ( window, image, widgets, pix, s, i );
}
/* draw distance */
for ( i = 0; i < widgets->profile_width; i++ )
- gdk_draw_line ( GDK_DRAWABLE(pix), window->style->dark_gc[3],
+ gdk_draw_line ( GDK_DRAWABLE(pix), gtk_widget_get_style(window)->dark_gc[3],
i + MARGIN, widgets->profile_height, i + MARGIN, widgets->profile_height-widgets->profile_height*(widgets->distances[i])/(chunksd[widgets->cid]*LINES) );
// Show speed indicator
if ( gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->w_show_dist_speed)) ) {
- GdkGC *dist_speed_gc = gdk_gc_new ( window->window );
+ GdkGC *dist_speed_gc = gdk_gc_new ( gtk_widget_get_window(window) );
GdkColor color;
gdk_color_parse ( "red", &color );
gdk_gc_set_rgb_fg_color ( dist_speed_gc, &color);
@@ -1724,7 +1691,7 @@ static void draw_dt ( GtkWidget *image, VikTrack *tr, PropWidgets *widgets )
}
/* draw border */
- gdk_draw_rectangle(GDK_DRAWABLE(pix), window->style->black_gc, FALSE, MARGIN, 0, widgets->profile_width-1, widgets->profile_height-1);
+ gdk_draw_rectangle(GDK_DRAWABLE(pix), gtk_widget_get_style(window)->black_gc, FALSE, MARGIN, 0, widgets->profile_width-1, widgets->profile_height-1);
g_object_unref ( G_OBJECT(pix) );
@@ -1768,24 +1735,19 @@ static void draw_et ( GtkWidget *image, VikTrack *tr, PropWidgets *widgets )
window = gtk_widget_get_toplevel (widgets->elev_time_box);
- pix = gdk_pixmap_new( window->window, widgets->profile_width + MARGIN, widgets->profile_height, -1 );
+ pix = gdk_pixmap_new( gtk_widget_get_window(window), widgets->profile_width + MARGIN, widgets->profile_height, -1 );
gtk_image_set_from_pixmap ( GTK_IMAGE(image), pix, NULL );
/* clear the image */
- gdk_draw_rectangle(GDK_DRAWABLE(pix), window->style->bg_gc[0],
+ gdk_draw_rectangle(GDK_DRAWABLE(pix), gtk_widget_get_style(window)->bg_gc[0],
TRUE, 0, 0, MARGIN, widgets->profile_height);
- gdk_draw_rectangle(GDK_DRAWABLE(pix), window->style->mid_gc[0],
+ gdk_draw_rectangle(GDK_DRAWABLE(pix), gtk_widget_get_style(window)->mid_gc[0],
TRUE, MARGIN, 0, widgets->profile_width, widgets->profile_height);
/* draw grid */
for (i=0; i<=LINES; i++) {
- PangoLayout *pl = gtk_widget_create_pango_layout (GTK_WIDGET(image), NULL);
gchar s[32];
- int w, h;
-
- pango_layout_set_alignment (pl, PANGO_ALIGN_RIGHT);
- pango_layout_set_font_description (pl, window->style->font_desc);
switch (height_units) {
case VIK_UNITS_HEIGHT_METRES:
@@ -1799,25 +1761,18 @@ static void draw_et ( GtkWidget *image, VikTrack *tr, PropWidgets *widgets )
sprintf(s, "--");
g_critical("Houston, we've had a problem. height=%d", height_units);
}
- pango_layout_set_text(pl, s, -1);
- pango_layout_get_pixel_size (pl, &w, &h);
- gdk_draw_layout(GDK_DRAWABLE(pix), window->style->fg_gc[0], MARGIN-w-3,
- CLAMP((int)i*widgets->profile_height/LINES - h/2, 0, widgets->profile_height-h), pl);
- gdk_draw_line (GDK_DRAWABLE(pix), window->style->dark_gc[0],
- MARGIN, widgets->profile_height/LINES * i, MARGIN + widgets->profile_width, widgets->profile_height/LINES * i);
- g_object_unref ( G_OBJECT ( pl ) );
- pl = NULL;
+ draw_grid ( window, image, widgets, pix, s, i );
}
/* draw elevations */
for ( i = 0; i < widgets->profile_width; i++ )
- gdk_draw_line ( GDK_DRAWABLE(pix), window->style->dark_gc[3],
+ gdk_draw_line ( GDK_DRAWABLE(pix), gtk_widget_get_style(window)->dark_gc[3],
i + MARGIN, widgets->profile_height, i + MARGIN, widgets->profile_height-widgets->profile_height*(widgets->ats[i]-mina)/(chunksa[widgets->ciat]*LINES) );
// Show speed indicator
if ( gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->w_show_elev_speed)) ) {
- GdkGC *elev_speed_gc = gdk_gc_new ( window->window );
+ GdkGC *elev_speed_gc = gdk_gc_new ( gtk_widget_get_window(window) );
GdkColor color;
gdk_color_parse ( "red", &color );
gdk_gc_set_rgb_fg_color ( elev_speed_gc, &color);
@@ -1835,7 +1790,7 @@ static void draw_et ( GtkWidget *image, VikTrack *tr, PropWidgets *widgets )
}
/* draw border */
- gdk_draw_rectangle(GDK_DRAWABLE(pix), window->style->black_gc, FALSE, MARGIN, 0, widgets->profile_width-1, widgets->profile_height-1);
+ gdk_draw_rectangle(GDK_DRAWABLE(pix), gtk_widget_get_style(window)->black_gc, FALSE, MARGIN, 0, widgets->profile_width-1, widgets->profile_height-1);
g_object_unref ( G_OBJECT(pix) );
@@ -1885,7 +1840,7 @@ static void draw_sd ( GtkWidget *image, VikTrack *tr, PropWidgets *widgets)
window = gtk_widget_get_toplevel (widgets->speed_dist_box);
- pix = gdk_pixmap_new( window->window, widgets->profile_width + MARGIN, widgets->profile_height, -1 );
+ pix = gdk_pixmap_new( gtk_widget_get_window(window), widgets->profile_width + MARGIN, widgets->profile_height, -1 );
gtk_image_set_from_pixmap ( GTK_IMAGE(image), pix, NULL );
@@ -1901,19 +1856,14 @@ static void draw_sd ( GtkWidget *image, VikTrack *tr, PropWidgets *widgets)
mins = widgets->draw_min_speed;
/* clear the image */
- gdk_draw_rectangle(GDK_DRAWABLE(pix), window->style->bg_gc[0],
+ gdk_draw_rectangle(GDK_DRAWABLE(pix), gtk_widget_get_style(window)->bg_gc[0],
TRUE, 0, 0, MARGIN, widgets->profile_height);
- gdk_draw_rectangle(GDK_DRAWABLE(pix), window->style->mid_gc[0],
+ gdk_draw_rectangle(GDK_DRAWABLE(pix), gtk_widget_get_style(window)->mid_gc[0],
TRUE, MARGIN, 0, widgets->profile_width, widgets->profile_height);
/* draw grid */
for (i=0; i<=LINES; i++) {
- PangoLayout *pl = gtk_widget_create_pango_layout (GTK_WIDGET(image), NULL);
gchar s[32];
- int w, h;
-
- pango_layout_set_alignment (pl, PANGO_ALIGN_RIGHT);
- pango_layout_set_font_description (pl, window->style->font_desc);
// NB: No need to convert here anymore as numbers are in the appropriate units
switch (speed_units) {
@@ -1934,27 +1884,18 @@ static void draw_sd ( GtkWidget *image, VikTrack *tr, PropWidgets *widgets)
g_critical("Houston, we've had a problem. speed=%d", speed_units);
}
- pango_layout_set_text(pl, s, -1);
- pango_layout_get_pixel_size (pl, &w, &h);
- gdk_draw_layout(GDK_DRAWABLE(pix), window->style->fg_gc[0], MARGIN-w-3,
- CLAMP((int)i*widgets->profile_height/LINES - h/2, 0, widgets->profile_height-h), pl);
-
- gdk_draw_line (GDK_DRAWABLE(pix), window->style->dark_gc[0],
- MARGIN, widgets->profile_height/LINES * i, MARGIN + widgets->profile_width, widgets->profile_height/LINES * i);
- g_object_unref ( G_OBJECT ( pl ) );
- pl = NULL;
+ draw_grid ( window, image, widgets, pix, s, i );
}
-
/* draw speeds */
for ( i = 0; i < widgets->profile_width; i++ )
- gdk_draw_line ( GDK_DRAWABLE(pix), window->style->dark_gc[3],
+ gdk_draw_line ( GDK_DRAWABLE(pix), gtk_widget_get_style(window)->dark_gc[3],
i + MARGIN, widgets->profile_height, i + MARGIN, widgets->profile_height-widgets->profile_height*(widgets->speeds_dist[i]-mins)/(chunkss[widgets->cisd]*LINES) );
if ( gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->w_show_sd_gps_speed)) ) {
- GdkGC *gps_speed_gc = gdk_gc_new ( window->window );
+ GdkGC *gps_speed_gc = gdk_gc_new ( gtk_widget_get_window(window) );
GdkColor color;
gdk_color_parse ( "red", &color );
gdk_gc_set_rgb_fg_color ( gps_speed_gc, &color);
@@ -1991,7 +1932,7 @@ static void draw_sd ( GtkWidget *image, VikTrack *tr, PropWidgets *widgets)
}
/* draw border */
- gdk_draw_rectangle(GDK_DRAWABLE(pix), window->style->black_gc, FALSE, MARGIN, 0, widgets->profile_width-1, widgets->profile_height-1);
+ gdk_draw_rectangle(GDK_DRAWABLE(pix), gtk_widget_get_style(window)->black_gc, FALSE, MARGIN, 0, widgets->profile_width-1, widgets->profile_height-1);
g_object_unref ( G_OBJECT(pix) );
}
@@ -2047,7 +1988,7 @@ static void draw_all_graphs ( GtkWidget *widget, PropWidgets *widgets, gboolean
save_image_and_draw_graph_marks (image,
marker_x,
- window->style->black_gc,
+ gtk_widget_get_style(window)->black_gc,
x_blob+MARGIN,
y_blob,
&widgets->elev_graph_saved_img,
@@ -2095,7 +2036,7 @@ static void draw_all_graphs ( GtkWidget *widget, PropWidgets *widgets, gboolean
save_image_and_draw_graph_marks (image,
marker_x,
- window->style->black_gc,
+ gtk_widget_get_style(window)->black_gc,
x_blob+MARGIN,
y_blob,
&widgets->gradient_graph_saved_img,
@@ -2145,7 +2086,7 @@ static void draw_all_graphs ( GtkWidget *widget, PropWidgets *widgets, gboolean
save_image_and_draw_graph_marks (image,
marker_x,
- window->style->black_gc,
+ gtk_widget_get_style(window)->black_gc,
x_blob+MARGIN,
y_blob,
&widgets->speed_graph_saved_img,
@@ -2195,7 +2136,7 @@ static void draw_all_graphs ( GtkWidget *widget, PropWidgets *widgets, gboolean
save_image_and_draw_graph_marks (image,
marker_x,
- window->style->black_gc,
+ gtk_widget_get_style(window)->black_gc,
x_blob+MARGIN,
y_blob,
&widgets->dist_graph_saved_img,
@@ -2244,7 +2185,7 @@ static void draw_all_graphs ( GtkWidget *widget, PropWidgets *widgets, gboolean
save_image_and_draw_graph_marks (image,
marker_x,
- window->style->black_gc,
+ gtk_widget_get_style(window)->black_gc,
x_blob+MARGIN,
y_blob,
&widgets->elev_time_graph_saved_img,
@@ -2292,7 +2233,7 @@ static void draw_all_graphs ( GtkWidget *widget, PropWidgets *widgets, gboolean
save_image_and_draw_graph_marks (image,
marker_x,
- window->style->black_gc,
+ gtk_widget_get_style(window)->black_gc,
x_blob+MARGIN,
y_blob,
&widgets->speed_dist_graph_saved_img,
@@ -2318,8 +2259,11 @@ static gboolean configure_event ( GtkWidget *widget, GdkEventConfigure *event, P
widgets->configure_dialog = FALSE;
// Without this the settting, the dialog will only grow in vertical size - one can not then make it smaller!
- gtk_widget_set_size_request ( widget, widgets->profile_width+widgets->profile_width_offset, widgets->profile_height );
- // In fact this allows one to compress it a bit more vertically as I don't add on the height offset
+ gtk_widget_set_size_request ( widget, widgets->profile_width+widgets->profile_width_offset, widgets->profile_height+widgets->profile_height_offset );
+
+ // Allow resizing back down to a minimal size (especially useful if the initial size has been made bigger after restoring from the saved settings)
+ GdkGeometry geom = { 600+widgets->profile_width_offset, 300+widgets->profile_height_offset, 0, 0, 0, 0, 0, 0, 0, 0, GDK_GRAVITY_STATIC };
+ gdk_window_set_geometry_hints ( gtk_widget_get_window(widget), &geom, GDK_HINT_MIN_SIZE );
}
else {
widgets->profile_width_old = widgets->profile_width;
@@ -2360,7 +2304,7 @@ GtkWidget *vik_trw_layer_create_profile ( GtkWidget *window, PropWidgets *widget
minmax_array(widgets->altitudes, min_alt, max_alt, TRUE, widgets->profile_width);
- pix = gdk_pixmap_new( window->window, widgets->profile_width + MARGIN, widgets->profile_height, -1 );
+ pix = gdk_pixmap_new( gtk_widget_get_window(window), widgets->profile_width + MARGIN, widgets->profile_height, -1 );
image = gtk_image_new_from_pixmap ( pix, NULL );
g_object_unref ( G_OBJECT(pix) );
@@ -2390,7 +2334,7 @@ GtkWidget *vik_trw_layer_create_gradient ( GtkWidget *window, PropWidgets *widge
return NULL;
}
- pix = gdk_pixmap_new( window->window, widgets->profile_width + MARGIN, widgets->profile_height, -1 );
+ pix = gdk_pixmap_new( gtk_widget_get_window(window), widgets->profile_width + MARGIN, widgets->profile_height, -1 );
image = gtk_image_new_from_pixmap ( pix, NULL );
g_object_unref ( G_OBJECT(pix) );
@@ -2418,26 +2362,26 @@ GtkWidget *vik_trw_layer_create_vtdiag ( GtkWidget *window, PropWidgets *widgets
if ( widgets->speeds == NULL )
return NULL;
- pix = gdk_pixmap_new( window->window, widgets->profile_width + MARGIN, widgets->profile_height, -1 );
+ pix = gdk_pixmap_new( gtk_widget_get_window(window), widgets->profile_width + MARGIN, widgets->profile_height, -1 );
image = gtk_image_new_from_pixmap ( pix, NULL );
#if 0
/* XXX this can go out, it's just a helpful dev tool */
{
int j;
- GdkGC **colors[8] = { window->style->bg_gc,
- window->style->fg_gc,
- window->style->light_gc,
- window->style->dark_gc,
- window->style->mid_gc,
- window->style->text_gc,
- window->style->base_gc,
- window->style->text_aa_gc };
+ GdkGC **colors[8] = { gtk_widget_get_style(window)->bg_gc,
+ gtk_widget_get_style(window)->fg_gc,
+ gtk_widget_get_style(window)->light_gc,
+ gtk_widget_get_style(window)->dark_gc,
+ gtk_widget_get_style(window)->mid_gc,
+ gtk_widget_get_style(window)->text_gc,
+ gtk_widget_get_style(window)->base_gc,
+ gtk_widget_get_style(window)->text_aa_gc };
for (i=0; i<5; i++) {
for (j=0; j<8; j++) {
gdk_draw_rectangle(GDK_DRAWABLE(pix), colors[j][i],
TRUE, i*20, j*20, 20, 20);
- gdk_draw_rectangle(GDK_DRAWABLE(pix), window->style->black_gc,
+ gdk_draw_rectangle(GDK_DRAWABLE(pix), gtk_widget_get_style(window)->black_gc,
FALSE, i*20, j*20, 20, 20);
}
}
@@ -2469,7 +2413,7 @@ GtkWidget *vik_trw_layer_create_dtdiag ( GtkWidget *window, PropWidgets *widgets
if ( widgets->distances == NULL )
return NULL;
- pix = gdk_pixmap_new( window->window, widgets->profile_width + MARGIN, widgets->profile_height, -1 );
+ pix = gdk_pixmap_new( gtk_widget_get_window(window), widgets->profile_width + MARGIN, widgets->profile_height, -1 );
image = gtk_image_new_from_pixmap ( pix, NULL );
g_object_unref ( G_OBJECT(pix) );
@@ -2498,7 +2442,7 @@ GtkWidget *vik_trw_layer_create_etdiag ( GtkWidget *window, PropWidgets *widgets
if ( widgets->ats == NULL )
return NULL;
- pix = gdk_pixmap_new( window->window, widgets->profile_width + MARGIN, widgets->profile_height, -1 );
+ pix = gdk_pixmap_new( gtk_widget_get_window(window), widgets->profile_width + MARGIN, widgets->profile_height, -1 );
image = gtk_image_new_from_pixmap ( pix, NULL );
g_object_unref ( G_OBJECT(pix) );
@@ -2526,7 +2470,7 @@ GtkWidget *vik_trw_layer_create_sddiag ( GtkWidget *window, PropWidgets *widgets
if ( widgets->speeds_dist == NULL )
return NULL;
- pix = gdk_pixmap_new( window->window, widgets->profile_width + MARGIN, widgets->profile_height, -1 );
+ pix = gdk_pixmap_new( gtk_widget_get_window(window), widgets->profile_width + MARGIN, widgets->profile_height, -1 );
image = gtk_image_new_from_pixmap ( pix, NULL );
g_object_unref ( G_OBJECT(pix) );
@@ -2541,8 +2485,18 @@ GtkWidget *vik_trw_layer_create_sddiag ( GtkWidget *window, PropWidgets *widgets
}
#undef MARGIN
+#define VIK_SETTINGS_TRACK_PROFILE_WIDTH "track_profile_display_width"
+#define VIK_SETTINGS_TRACK_PROFILE_HEIGHT "track_profile_display_height"
+
+static void save_values ( PropWidgets *widgets )
+{
+ a_settings_set_integer ( VIK_SETTINGS_TRACK_PROFILE_WIDTH, widgets->profile_width );
+ a_settings_set_integer ( VIK_SETTINGS_TRACK_PROFILE_HEIGHT, widgets->profile_height );
+}
+
static void destroy_cb ( GtkDialog *dialog, PropWidgets *widgets )
{
+ save_values(widgets);
prop_widgets_free(widgets);
}
@@ -2562,7 +2516,9 @@ static void propwin_response_cb( GtkDialog *dialog, gint resp, PropWidgets *widg
vik_track_set_comment(tr, gtk_entry_get_text(GTK_ENTRY(widgets->w_comment)));
vik_track_set_description(tr, gtk_entry_get_text(GTK_ENTRY(widgets->w_description)));
gtk_color_button_get_color ( GTK_COLOR_BUTTON(widgets->w_color), &(tr->color) );
- trw_layer_update_treeview ( widgets->vtl, widgets->tr, widgets->trk_id );
+ tr->draw_name_mode = gtk_combo_box_get_active ( GTK_COMBO_BOX(widgets->w_namelabel) );
+ tr->max_number_dist_labels = gtk_spin_button_get_value_as_int ( GTK_SPIN_BUTTON(widgets->w_number_distlabels) );
+ trw_layer_update_treeview ( widgets->vtl, widgets->tr );
vik_layer_emit_update ( VIK_LAYER(vtl) );
break;
case VIK_TRW_LAYER_PROPWIN_REVERSE:
@@ -2596,6 +2552,9 @@ static void propwin_response_cb( GtkDialog *dialog, gint resp, PropWidgets *widg
vik_trw_layer_add_route ( vtl, new_tr_name, tracks[i] );
else
vik_trw_layer_add_track ( vtl, new_tr_name, tracks[i] );
+ vik_track_calculate_bounds ( tracks[i] );
+
+ g_free ( new_tr_name );
}
}
if ( tracks )
@@ -2641,6 +2600,11 @@ static void propwin_response_cb( GtkDialog *dialog, gint resp, PropWidgets *widg
vik_trw_layer_add_route(vtl, r_name, tr_right);
else
vik_trw_layer_add_track(vtl, r_name, tr_right);
+ vik_track_calculate_bounds ( tr );
+ vik_track_calculate_bounds ( tr_right );
+
+ g_free ( r_name );
+
vik_layer_emit_update ( VIK_LAYER(vtl) );
}
break;
@@ -2703,21 +2667,61 @@ static GtkWidget *create_graph_page ( GtkWidget *graph,
return vbox;
}
+static GtkWidget *create_table (int cnt, char *labels[], GtkWidget *contents[])
+{
+ GtkTable *table;
+ int i;
+
+ table = GTK_TABLE(gtk_table_new (cnt, 2, FALSE));
+ gtk_table_set_col_spacing (table, 0, 10);
+ for (i=0; i<cnt; i++) {
+ GtkWidget *label;
+
+ // Settings so the text positioning only moves around vertically when the dialog is resized
+ // This also gives more room to see the track comment
+ label = gtk_label_new(NULL);
+ gtk_misc_set_alignment ( GTK_MISC(label), 1, 0.5 ); // Position text centrally in vertical plane
+ gtk_label_set_markup ( GTK_LABEL(label), _(labels[i]) );
+ gtk_table_attach ( table, label, 0, 1, i, i+1, GTK_FILL, GTK_SHRINK, 0, 0 );
+ if (GTK_IS_MISC(contents[i])) {
+ gtk_misc_set_alignment ( GTK_MISC(contents[i]), 0, 0.5 );
+ }
+ if ( GTK_IS_COLOR_BUTTON(contents[i]) || GTK_IS_COMBO_BOX(contents[i]) )
+ // Buttons compressed - otherwise look weird (to me) if vertically massive
+ gtk_table_attach ( table, contents[i], 1, 2, i, i+1, GTK_FILL, GTK_SHRINK, 0, 5 );
+ else
+ // Expand for comments + descriptions / labels
+ gtk_table_attach_defaults ( table, contents[i], 1, 2, i, i+1 );
+ }
+
+ return GTK_WIDGET (table);
+}
+
void vik_trw_layer_propwin_run ( GtkWindow *parent,
VikTrwLayer *vtl,
VikTrack *tr,
gpointer vlp,
VikViewport *vvp,
- gpointer *trk_id )
+ gboolean start_on_stats )
{
PropWidgets *widgets = prop_widgets_new();
widgets->vtl = vtl;
widgets->vvp = vvp;
widgets->vlp = vlp;
widgets->tr = tr;
- widgets->trk_id = trk_id;
- widgets->profile_width = PROPWIN_PROFILE_WIDTH;
- widgets->profile_height = PROPWIN_PROFILE_HEIGHT;
+
+ gint profile_size_value;
+ // Ensure minimum values
+ widgets->profile_width = 600;
+ if ( a_settings_get_integer ( VIK_SETTINGS_TRACK_PROFILE_WIDTH, &profile_size_value ) )
+ if ( profile_size_value > widgets->profile_width )
+ widgets->profile_width = profile_size_value;
+
+ widgets->profile_height = 300;
+ if ( a_settings_get_integer ( VIK_SETTINGS_TRACK_PROFILE_HEIGHT, &profile_size_value ) )
+ if ( profile_size_value > widgets->profile_height )
+ widgets->profile_height = profile_size_value;
+
gchar *title = g_strdup_printf(_("%s - Track Properties"), tr->name);
GtkWidget *dialog = gtk_dialog_new_with_buttons (title,
parent,
@@ -2733,7 +2737,7 @@ void vik_trw_layer_propwin_run ( GtkWindow *parent,
g_signal_connect( G_OBJECT(dialog), "response", G_CALLBACK(propwin_response_cb), widgets);
g_free(title);
- GtkTable *table;
+ GtkWidget *table;
gdouble tr_len;
gulong tp_count;
guint seg_count;
@@ -2747,13 +2751,17 @@ void vik_trw_layer_propwin_run ( GtkWindow *parent,
widgets->speed_dist_box = vik_trw_layer_create_sddiag(GTK_WIDGET(parent), widgets);
GtkWidget *graphs = gtk_notebook_new();
- GtkWidget *content[20];
- int cnt;
- int i;
+ GtkWidget *content_prop[20];
+ int cnt_prop = 0;
static gchar *label_texts[] = {
N_("<b>Comment:</b>"),
N_("<b>Description:</b>"),
+ N_("<b>Color:</b>"),
+ N_("<b>Draw Name:</b>"),
+ N_("<b>Distance Labels:</b>"),
+ };
+ static gchar *stats_texts[] = {
N_("<b>Track Length:</b>"),
N_("<b>Trackpoints:</b>"),
N_("<b>Segments:</b>"),
@@ -2767,22 +2775,52 @@ void vik_trw_layer_propwin_run ( GtkWindow *parent,
N_("<b>Start:</b>"),
N_("<b>End:</b>"),
N_("<b>Duration:</b>"),
- N_("<b>Color:</b>") };
+ };
static gchar tmp_buf[50];
gdouble tmp_speed;
- cnt = 0;
+ // Properties
widgets->w_comment = gtk_entry_new ();
if ( tr->comment )
gtk_entry_set_text ( GTK_ENTRY(widgets->w_comment), tr->comment );
g_signal_connect_swapped ( widgets->w_comment, "activate", G_CALLBACK(a_dialog_response_accept), GTK_DIALOG(dialog) );
- content[cnt++] = widgets->w_comment;
+ content_prop[cnt_prop++] = widgets->w_comment;
widgets->w_description = gtk_entry_new ();
if ( tr->description )
gtk_entry_set_text ( GTK_ENTRY(widgets->w_description), tr->description );
g_signal_connect_swapped ( widgets->w_description, "activate", G_CALLBACK(a_dialog_response_accept), GTK_DIALOG(dialog) );
- content[cnt++] = widgets->w_description;
+ content_prop[cnt_prop++] = widgets->w_description;
+
+ widgets->w_color = content_prop[cnt_prop++] = gtk_color_button_new_with_color ( &(tr->color) );
+
+ static gchar *draw_name_labels[] = {
+ N_("No"),
+ N_("Centre"),
+ N_("Start only"),
+ N_("End only"),
+ N_("Start and End"),
+ N_("Centre, Start and End"),
+ NULL
+ };
+
+ widgets->w_namelabel = content_prop[cnt_prop++] = vik_combo_box_text_new ();
+ gchar **pstr = draw_name_labels;
+ while ( *pstr )
+ vik_combo_box_text_append ( widgets->w_namelabel, *(pstr++) );
+ gtk_combo_box_set_active ( GTK_COMBO_BOX(widgets->w_namelabel), tr->draw_name_mode );
+
+ widgets->w_number_distlabels = content_prop[cnt_prop++] =
+ gtk_spin_button_new ( GTK_ADJUSTMENT(gtk_adjustment_new(tr->max_number_dist_labels, 0, 100, 1, 1, 0)), 1, 0 );
+ gtk_widget_set_tooltip_text ( GTK_WIDGET(widgets->w_number_distlabels), _("Maximum number of distance labels to be shown") );
+
+ table = create_table (cnt_prop, label_texts, content_prop);
+
+ gtk_notebook_append_page(GTK_NOTEBOOK(graphs), GTK_WIDGET(table), gtk_label_new(_("Properties")));
+
+ // Statistics
+ GtkWidget *content[20];
+ int cnt = 0;
vik_units_distance_t dist_units = a_vik_get_units_distance ();
@@ -2960,14 +2998,10 @@ void vik_trw_layer_propwin_run ( GtkWindow *parent,
t1 = VIK_TRACKPOINT(tr->trackpoints->data)->timestamp;
t2 = VIK_TRACKPOINT(g_list_last(tr->trackpoints)->data)->timestamp;
- strncpy(tmp_buf, ctime(&t1), sizeof(tmp_buf));
- tmp_buf[sizeof(tmp_buf)-1] = 0;
- g_strchomp(tmp_buf);
+ strftime (tmp_buf, sizeof(tmp_buf), "%c", localtime(&(t1)));
widgets->w_time_start = content[cnt++] = gtk_label_new(tmp_buf);
- strncpy(tmp_buf, ctime(&t2), sizeof(tmp_buf));
- tmp_buf[sizeof(tmp_buf)-1] = 0;
- g_strchomp(tmp_buf);
+ strftime (tmp_buf, sizeof(tmp_buf), "%c", localtime(&(t2)));
widgets->w_time_end = content[cnt++] = gtk_label_new(tmp_buf);
g_snprintf(tmp_buf, sizeof(tmp_buf), _("%d minutes"), (int)(t2-t1)/60);
@@ -2978,24 +3012,7 @@ void vik_trw_layer_propwin_run ( GtkWindow *parent,
widgets->w_time_dur = content[cnt++] = gtk_label_new(_("No Data"));
}
- widgets->w_color = content[cnt++] = gtk_color_button_new_with_color ( &(tr->color) );
-
- table = GTK_TABLE(gtk_table_new (cnt, 2, FALSE));
- gtk_table_set_col_spacing (table, 0, 10);
- for (i=0; i<cnt; i++) {
- GtkWidget *label;
-
- // Settings so the text positioning only moves around vertically when the dialog is resized
- // This also gives more room to see the track comment
- label = gtk_label_new(NULL);
- gtk_misc_set_alignment ( GTK_MISC(label), 1, 0.5 ); // Position text centrally in vertical plane
- gtk_label_set_markup ( GTK_LABEL(label), _(label_texts[i]) );
- gtk_table_attach ( table, label, 0, 1, i, i+1, GTK_FILL, GTK_SHRINK, 0, 0 );
- if (GTK_IS_MISC(content[i])) {
- gtk_misc_set_alignment ( GTK_MISC(content[i]), 0, 0.5 );
- }
- gtk_table_attach_defaults ( table, content[i], 1, 2, i, i+1 );
- }
+ table = create_table (cnt, stats_texts, content);
gtk_notebook_append_page(GTK_NOTEBOOK(graphs), GTK_WIDGET(table), gtk_label_new(_("Statistics")));
@@ -3085,7 +3102,7 @@ void vik_trw_layer_propwin_run ( GtkWindow *parent,
gtk_notebook_append_page(GTK_NOTEBOOK(graphs), page, gtk_label_new(_("Speed-distance")));
}
- gtk_box_pack_start (GTK_BOX(GTK_DIALOG(dialog)->vbox), graphs, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), graphs, FALSE, FALSE, 0);
gtk_dialog_set_response_sensitive(GTK_DIALOG(dialog), VIK_TRW_LAYER_PROPWIN_SPLIT_MARKER, FALSE);
if (seg_count <= 1)
@@ -3093,7 +3110,7 @@ void vik_trw_layer_propwin_run ( GtkWindow *parent,
if (vik_track_get_dup_point_count(tr) <= 0)
gtk_dialog_set_response_sensitive(GTK_DIALOG(dialog), VIK_TRW_LAYER_PROPWIN_DEL_DUP, FALSE);
- // On dialog realization configure_event casues the graphs to be initially drawn
+ // On dialog realization configure_event causes the graphs to be initially drawn
widgets->configure_dialog = TRUE;
g_signal_connect ( G_OBJECT(dialog), "configure-event", G_CALLBACK (configure_event), widgets );
@@ -3102,6 +3119,10 @@ void vik_trw_layer_propwin_run ( GtkWindow *parent,
vik_track_set_property_dialog(tr, dialog);
gtk_dialog_set_default_response ( GTK_DIALOG(dialog), GTK_RESPONSE_ACCEPT );
gtk_widget_show_all ( dialog );
+
+ // Gtk note: due to historical reasons, this must be done after widgets are shown
+ if ( start_on_stats )
+ gtk_notebook_set_current_page ( GTK_NOTEBOOK(graphs), 1 );
}
diff --git a/src/viktrwlayer_propwin.h b/src/viktrwlayer_propwin.h
index 6db02f3..51db14f 100644
--- a/src/viktrwlayer_propwin.h
+++ b/src/viktrwlayer_propwin.h
@@ -38,7 +38,7 @@ void vik_trw_layer_propwin_run ( GtkWindow *parent,
VikTrack *tr,
gpointer vlp,
VikViewport *vvp,
- gpointer *trk_id );
+ gboolean start_on_stats );
/**
* Update this property dialog
diff --git a/src/viktrwlayer_tpwin.c b/src/viktrwlayer_tpwin.c
index 32c7622..1e53335 100644
--- a/src/viktrwlayer_tpwin.c
+++ b/src/viktrwlayer_tpwin.c
@@ -26,6 +26,7 @@
#include <gtk/gtk.h>
#include <glib/gi18n.h>
#include <time.h>
+#include <math.h>
#include "coords.h"
#include "vikcoord.h"
@@ -38,7 +39,8 @@
struct _VikTrwLayerTpwin {
GtkDialog parent;
GtkSpinButton *lat, *lon, *alt;
- GtkLabel *track_name, *ts, *localtime, *diff_dist, *diff_time, *diff_speed, *hdop, *vdop, *pdop, *sat;
+ GtkWidget *trkpt_name;
+ GtkLabel *course, *ts, *localtime, *diff_dist, *diff_time, *diff_speed, *speed, *hdop, *vdop, *pdop, *sat;
// Previously these buttons were in a glist, however I think the ordering behaviour is implicit
// thus control manually to ensure operating on the correct button
GtkWidget *button_close;
@@ -113,27 +115,35 @@ static void tpwin_sync_alt_to_tp ( VikTrwLayerTpwin *tpwin )
}
}
+static gboolean tpwin_set_name ( VikTrwLayerTpwin *tpwin )
+{
+ if ( tpwin->cur_tp && (!tpwin->sync_to_tp_block) ) {
+ vik_trackpoint_set_name ( tpwin->cur_tp, gtk_entry_get_text(GTK_ENTRY(tpwin->trkpt_name)) );
+ }
+ return FALSE;
+}
+
VikTrwLayerTpwin *vik_trw_layer_tpwin_new ( GtkWindow *parent )
{
- static gchar *left_label_texts[] = { N_("<b>Part of Track:</b>"),
- N_("<b>Latitude:</b>"),
+ static gchar *left_label_texts[] = { N_("<b>Name:</b>"),
+ N_("<b>Latitude:</b>"),
N_("<b>Longitude:</b>"),
- N_("<b>Altitude:</b>"),
- N_("<b>Timestamp:</b>"),
- N_("<b>Time:</b>") };
+ N_("<b>Altitude:</b>"),
+ N_("<b>Course:</b>"),
+ N_("<b>Timestamp:</b>"),
+ N_("<b>Time:</b>") };
static gchar *right_label_texts[] = { N_("<b>Distance Difference:</b>"),
N_("<b>Time Difference:</b>"),
- N_("<b>\"Speed\" Between:</b>"),
- N_("<b>VDOP:</b>"),
- N_("<b>HDOP:</b>"),
- N_("<b>PDOP:</b>"),
- N_("<b>SAT/FIX:</b>")
- };
+ N_("<b>\"Speed\" Between:</b>"),
+ N_("<b>Speed:</b>"),
+ N_("<b>VDOP:</b>"),
+ N_("<b>HDOP:</b>"),
+ N_("<b>PDOP:</b>"),
+ N_("<b>SAT/FIX:</b>") };
VikTrwLayerTpwin *tpwin = VIK_TRW_LAYER_TPWIN ( g_object_new ( VIK_TRW_LAYER_TPWIN_TYPE, NULL ) );
GtkWidget *main_hbox, *left_vbox, *right_vbox;
GtkWidget *diff_left_vbox, *diff_right_vbox;
-
gtk_window_set_transient_for ( GTK_WINDOW(tpwin), parent );
gtk_window_set_title ( GTK_WINDOW(tpwin), _("Trackpoint") );
@@ -158,9 +168,12 @@ VikTrwLayerTpwin *vik_trw_layer_tpwin_new ( GtkWindow *parent )
*/
/* main track info */
- left_vbox = a_dialog_create_label_vbox ( left_label_texts, sizeof(left_label_texts) / sizeof(left_label_texts[0]) );
+ left_vbox = a_dialog_create_label_vbox ( left_label_texts, G_N_ELEMENTS(left_label_texts), 1, 3 );
+
+ tpwin->trkpt_name = gtk_entry_new();
+ g_signal_connect_swapped ( G_OBJECT(tpwin->trkpt_name), "focus-out-event", G_CALLBACK(tpwin_set_name), tpwin );
- tpwin->track_name = GTK_LABEL(gtk_label_new(NULL));
+ tpwin->course = GTK_LABEL(gtk_label_new(NULL));
tpwin->ts = GTK_LABEL(gtk_label_new(NULL));
tpwin->localtime = GTK_LABEL(gtk_label_new(NULL));
@@ -177,35 +190,38 @@ VikTrwLayerTpwin *vik_trw_layer_tpwin_new ( GtkWindow *parent )
g_signal_connect_swapped ( G_OBJECT(tpwin->alt), "value-changed", G_CALLBACK(tpwin_sync_alt_to_tp), tpwin );
- right_vbox = gtk_vbox_new ( FALSE, 3 );
- gtk_box_pack_start ( GTK_BOX(right_vbox), GTK_WIDGET(tpwin->track_name), FALSE, FALSE, 5 );
- gtk_box_pack_start ( GTK_BOX(right_vbox), GTK_WIDGET(tpwin->lat), FALSE, FALSE, 5 );
- gtk_box_pack_start ( GTK_BOX(right_vbox), GTK_WIDGET(tpwin->lon), FALSE, FALSE, 5 );
- gtk_box_pack_start ( GTK_BOX(right_vbox), GTK_WIDGET(tpwin->alt), FALSE, FALSE, 5 );
- gtk_box_pack_start ( GTK_BOX(right_vbox), GTK_WIDGET(tpwin->ts), FALSE, FALSE, 5 );
- gtk_box_pack_start ( GTK_BOX(right_vbox), GTK_WIDGET(tpwin->localtime), FALSE, FALSE, 5 );
+ right_vbox = gtk_vbox_new ( TRUE, 1 );
+ gtk_box_pack_start ( GTK_BOX(right_vbox), GTK_WIDGET(tpwin->trkpt_name), FALSE, FALSE, 3 );
+ gtk_box_pack_start ( GTK_BOX(right_vbox), GTK_WIDGET(tpwin->lat), FALSE, FALSE, 3 );
+ gtk_box_pack_start ( GTK_BOX(right_vbox), GTK_WIDGET(tpwin->lon), FALSE, FALSE, 3 );
+ gtk_box_pack_start ( GTK_BOX(right_vbox), GTK_WIDGET(tpwin->alt), FALSE, FALSE, 3 );
+ gtk_box_pack_start ( GTK_BOX(right_vbox), GTK_WIDGET(tpwin->course), FALSE, FALSE, 3 );
+ gtk_box_pack_start ( GTK_BOX(right_vbox), GTK_WIDGET(tpwin->ts), FALSE, FALSE, 3 );
+ gtk_box_pack_start ( GTK_BOX(right_vbox), GTK_WIDGET(tpwin->localtime), FALSE, FALSE, 3 );
/* diff info */
- diff_left_vbox = a_dialog_create_label_vbox ( right_label_texts, sizeof(right_label_texts) / sizeof(right_label_texts[0]) );
+ diff_left_vbox = a_dialog_create_label_vbox ( right_label_texts, G_N_ELEMENTS(right_label_texts), 1, 3 );
tpwin->diff_dist = GTK_LABEL(gtk_label_new(NULL));
tpwin->diff_time = GTK_LABEL(gtk_label_new(NULL));
tpwin->diff_speed = GTK_LABEL(gtk_label_new(NULL));
+ tpwin->speed = GTK_LABEL(gtk_label_new(NULL));
tpwin->vdop = GTK_LABEL(gtk_label_new(NULL));
tpwin->hdop = GTK_LABEL(gtk_label_new(NULL));
tpwin->pdop = GTK_LABEL(gtk_label_new(NULL));
tpwin->sat = GTK_LABEL(gtk_label_new(NULL));
- diff_right_vbox = gtk_vbox_new ( FALSE, 3 );
- gtk_box_pack_start ( GTK_BOX(diff_right_vbox), GTK_WIDGET(tpwin->diff_dist), FALSE, FALSE, 5 );
- gtk_box_pack_start ( GTK_BOX(diff_right_vbox), GTK_WIDGET(tpwin->diff_time), FALSE, FALSE, 5 );
- gtk_box_pack_start ( GTK_BOX(diff_right_vbox), GTK_WIDGET(tpwin->diff_speed), FALSE, FALSE, 5 );
+ diff_right_vbox = gtk_vbox_new ( TRUE, 1 );
+ gtk_box_pack_start ( GTK_BOX(diff_right_vbox), GTK_WIDGET(tpwin->diff_dist), FALSE, FALSE, 3 );
+ gtk_box_pack_start ( GTK_BOX(diff_right_vbox), GTK_WIDGET(tpwin->diff_time), FALSE, FALSE, 3 );
+ gtk_box_pack_start ( GTK_BOX(diff_right_vbox), GTK_WIDGET(tpwin->diff_speed), FALSE, FALSE, 3 );
+ gtk_box_pack_start ( GTK_BOX(diff_right_vbox), GTK_WIDGET(tpwin->speed), FALSE, FALSE, 3 );
- gtk_box_pack_start ( GTK_BOX(diff_right_vbox), GTK_WIDGET(tpwin->vdop), FALSE, FALSE, 5 );
- gtk_box_pack_start ( GTK_BOX(diff_right_vbox), GTK_WIDGET(tpwin->hdop), FALSE, FALSE, 5 );
- gtk_box_pack_start ( GTK_BOX(diff_right_vbox), GTK_WIDGET(tpwin->pdop), FALSE, FALSE, 5 );
- gtk_box_pack_start ( GTK_BOX(diff_right_vbox), GTK_WIDGET(tpwin->sat), FALSE, FALSE, 5 );
+ gtk_box_pack_start ( GTK_BOX(diff_right_vbox), GTK_WIDGET(tpwin->vdop), FALSE, FALSE, 3 );
+ gtk_box_pack_start ( GTK_BOX(diff_right_vbox), GTK_WIDGET(tpwin->hdop), FALSE, FALSE, 3 );
+ gtk_box_pack_start ( GTK_BOX(diff_right_vbox), GTK_WIDGET(tpwin->pdop), FALSE, FALSE, 3 );
+ gtk_box_pack_start ( GTK_BOX(diff_right_vbox), GTK_WIDGET(tpwin->sat), FALSE, FALSE, 3 );
main_hbox = gtk_hbox_new( FALSE, 0 );
gtk_box_pack_start ( GTK_BOX(main_hbox), left_vbox, TRUE, TRUE, 0 );
@@ -213,18 +229,28 @@ VikTrwLayerTpwin *vik_trw_layer_tpwin_new ( GtkWindow *parent )
gtk_box_pack_start ( GTK_BOX(main_hbox), diff_left_vbox, TRUE, TRUE, 0 );
gtk_box_pack_start ( GTK_BOX(main_hbox), diff_right_vbox, TRUE, TRUE, 0 );
- gtk_box_pack_start ( GTK_BOX(GTK_DIALOG(tpwin)->vbox), main_hbox, FALSE, FALSE, 0 );
+ gtk_box_pack_start ( GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(tpwin))), main_hbox, FALSE, FALSE, 0 );
tpwin->cur_tp = NULL;
+ GtkWidget *response_w = NULL;
+#if GTK_CHECK_VERSION (2, 20, 0)
+ response_w = gtk_dialog_get_widget_for_response ( GTK_DIALOG(tpwin), VIK_TRW_LAYER_TPWIN_CLOSE );
+#endif
+ if ( response_w )
+ gtk_widget_grab_focus ( response_w );
+
return tpwin;
}
void vik_trw_layer_tpwin_set_empty ( VikTrwLayerTpwin *tpwin )
{
- gtk_label_set_text ( tpwin->track_name, NULL );
+ gtk_editable_delete_text ( GTK_EDITABLE(tpwin->trkpt_name), 0, -1 );
+ gtk_widget_set_sensitive ( tpwin->trkpt_name, FALSE );
+
gtk_label_set_text ( tpwin->ts, NULL );
gtk_label_set_text ( tpwin->localtime, NULL );
+ gtk_label_set_text ( tpwin->course, NULL );
gtk_widget_set_sensitive ( GTK_WIDGET(tpwin->lat), FALSE );
gtk_widget_set_sensitive ( GTK_WIDGET(tpwin->lon), FALSE );
@@ -240,18 +266,27 @@ void vik_trw_layer_tpwin_set_empty ( VikTrwLayerTpwin *tpwin )
gtk_label_set_text ( tpwin->diff_dist, NULL );
gtk_label_set_text ( tpwin->diff_time, NULL );
gtk_label_set_text ( tpwin->diff_speed, NULL );
+ gtk_label_set_text ( tpwin->speed, NULL );
gtk_label_set_text ( tpwin->vdop, NULL );
gtk_label_set_text ( tpwin->hdop, NULL );
gtk_label_set_text ( tpwin->pdop, NULL );
gtk_label_set_text ( tpwin->sat, NULL );
+
+ gtk_window_set_title ( GTK_WINDOW(tpwin), _("Trackpoint") );
}
-void vik_trw_layer_tpwin_set_tp ( VikTrwLayerTpwin *tpwin, GList *tpl, gchar *track_name )
+void vik_trw_layer_tpwin_set_tp ( VikTrwLayerTpwin *tpwin, GList *tpl, const gchar *track_name )
{
- static char tmp_str[25];
+ static char tmp_str[64];
static struct LatLon ll;
VikTrackpoint *tp = VIK_TRACKPOINT(tpl->data);
+ if ( tp->name )
+ gtk_entry_set_text ( GTK_ENTRY(tpwin->trkpt_name), tp->name );
+ else
+ gtk_editable_delete_text ( GTK_EDITABLE(tpwin->trkpt_name), 0, -1 );
+ gtk_widget_set_sensitive ( tpwin->trkpt_name, TRUE );
+
/* Only can insert if not at the end (otherwise use extend track) */
gtk_widget_set_sensitive ( tpwin->button_insert, (gboolean) GPOINTER_TO_INT (tpl->next) );
gtk_widget_set_sensitive ( tpwin->button_delete, TRUE );
@@ -266,7 +301,7 @@ void vik_trw_layer_tpwin_set_tp ( VikTrwLayerTpwin *tpwin, GList *tpl, gchar *tr
gtk_widget_set_sensitive ( GTK_WIDGET(tpwin->lon), TRUE );
gtk_widget_set_sensitive ( GTK_WIDGET(tpwin->alt), TRUE );
- gtk_label_set_text ( tpwin->track_name, track_name );
+ vik_trw_layer_tpwin_set_track_name ( tpwin, track_name );
tpwin->sync_to_tp_block = TRUE; /* don't update while setting data. */
@@ -286,16 +321,13 @@ void vik_trw_layer_tpwin_set_tp ( VikTrwLayerTpwin *tpwin, GList *tpl, gchar *tr
g_critical("Houston, we've had a problem. height=%d", height_units);
}
-
- tpwin->sync_to_tp_block = FALSE; /* don't update whlie setting data. */
-
+ tpwin->sync_to_tp_block = FALSE; // don't update while setting data.
if ( tp->has_timestamp )
{
g_snprintf ( tmp_str, sizeof(tmp_str), "%ld", tp->timestamp );
gtk_label_set_text ( tpwin->ts, tmp_str );
- g_snprintf ( tmp_str, MIN(25,sizeof(tmp_str)), "%s", ctime(&(tp->timestamp)) );
- /* max. len of 25 will snip off newline, which is good since it messes stuff up */
+ strftime ( tmp_str, sizeof(tmp_str), "%c", localtime(&(tp->timestamp)) );
gtk_label_set_text ( tpwin->localtime, tmp_str );
}
else
@@ -304,6 +336,7 @@ void vik_trw_layer_tpwin_set_tp ( VikTrwLayerTpwin *tpwin, GList *tpl, gchar *tr
gtk_label_set_text (tpwin->localtime, NULL );
}
+ vik_units_speed_t speed_units = a_vik_get_units_speed ();
vik_units_distance_t dist_units = a_vik_get_units_distance ();
if ( tpwin->cur_tp )
{
@@ -327,7 +360,6 @@ void vik_trw_layer_tpwin_set_tp ( VikTrwLayerTpwin *tpwin, GList *tpl, gchar *tr
gtk_label_set_text ( tpwin->diff_speed, "--" );
else
{
- vik_units_speed_t speed_units = a_vik_get_units_speed ();
switch (speed_units) {
case VIK_UNITS_SPEED_KILOMETRES_PER_HOUR:
g_snprintf ( tmp_str, sizeof(tmp_str), "%.2f km/h", VIK_MPS_TO_KPH(vik_coord_diff(&(tp->coord), &(tpwin->cur_tp->coord)) / (ABS(tp->timestamp - tpwin->cur_tp->timestamp))) );
@@ -355,6 +387,33 @@ void vik_trw_layer_tpwin_set_tp ( VikTrwLayerTpwin *tpwin, GList *tpl, gchar *tr
}
}
+ if ( isnan(tp->course) )
+ g_snprintf ( tmp_str, sizeof(tmp_str), "--" );
+ else
+ g_snprintf ( tmp_str, sizeof(tmp_str), "%05.1f\302\260", tp->course );
+ gtk_label_set_text ( tpwin->course, tmp_str );
+
+ if ( isnan(tp->speed) )
+ g_snprintf ( tmp_str, sizeof(tmp_str), "--" );
+ else {
+ switch (speed_units) {
+ case VIK_UNITS_SPEED_MILES_PER_HOUR:
+ g_snprintf ( tmp_str, sizeof(tmp_str), "%.2f mph", VIK_MPS_TO_MPH(tp->speed) );
+ break;
+ case VIK_UNITS_SPEED_METRES_PER_SECOND:
+ g_snprintf ( tmp_str, sizeof(tmp_str), "%.2f m/s", tp->speed );
+ break;
+ case VIK_UNITS_SPEED_KNOTS:
+ g_snprintf ( tmp_str, sizeof(tmp_str), "%.2f knots", VIK_MPS_TO_KNOTS(tp->speed) );
+ break;
+ default:
+ // VIK_UNITS_SPEED_KILOMETRES_PER_HOUR:
+ g_snprintf ( tmp_str, sizeof(tmp_str), "%.2f km/h", VIK_MPS_TO_KPH(tp->speed) );
+ break;
+ }
+ }
+ gtk_label_set_text ( tpwin->speed, tmp_str );
+
switch (dist_units) {
case VIK_UNITS_DISTANCE_KILOMETRES:
g_snprintf ( tmp_str, sizeof(tmp_str), "%.5f m", tp->hdop );
@@ -393,5 +452,8 @@ void vik_trw_layer_tpwin_set_tp ( VikTrwLayerTpwin *tpwin, GList *tpl, gchar *tr
void vik_trw_layer_tpwin_set_track_name ( VikTrwLayerTpwin *tpwin, const gchar *track_name )
{
- gtk_label_set_text ( tpwin->track_name, track_name );
+ gchar *tmp_name = g_strdup_printf ( "%s: %s", track_name, _("Trackpoint") );
+ gtk_window_set_title ( GTK_WINDOW(tpwin), tmp_name );
+ g_free ( tmp_name );
+ //gtk_label_set_text ( tpwin->track_name, track_name );
}
diff --git a/src/viktrwlayer_tpwin.h b/src/viktrwlayer_tpwin.h
index e58eb9b..7812c97 100644
--- a/src/viktrwlayer_tpwin.h
+++ b/src/viktrwlayer_tpwin.h
@@ -57,7 +57,7 @@ GType vik_trw_layer_tpwin_get_type ();
VikTrwLayerTpwin *vik_trw_layer_tpwin_new ( GtkWindow *parent );
void vik_trw_layer_tpwin_set_empty ( VikTrwLayerTpwin *tpwin );
void vik_trw_layer_tpwin_disable_join ( VikTrwLayerTpwin *tpwin );
-void vik_trw_layer_tpwin_set_tp ( VikTrwLayerTpwin *tpwin, GList *tpl, gchar *track_name );
+void vik_trw_layer_tpwin_set_tp ( VikTrwLayerTpwin *tpwin, GList *tpl, const gchar *track_name );
void vik_trw_layer_tpwin_set_track_name ( VikTrwLayerTpwin *tpwin, const gchar *track_name );
G_END_DECLS
diff --git a/src/viktrwlayer_tracklist.c b/src/viktrwlayer_tracklist.c
new file mode 100644
index 0000000..44dda59
--- /dev/null
+++ b/src/viktrwlayer_tracklist.c
@@ -0,0 +1,657 @@
+/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 4; tab-width: 4 -*- */
+/*
+ * viking -- GPS Data and Topo Analyzer, Explorer, and Manager
+ *
+ * Copyright (C) 2013, Rob Norris <rw_norris@hotmail.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ */
+#include <math.h>
+#include <string.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <glib.h>
+#include <glib/gstdio.h>
+#include <glib/gi18n.h>
+
+#include "viking.h"
+#include "viktrwlayer_tracklist.h"
+#include "viktrwlayer_propwin.h"
+
+// Long formatted date+basic time - listing this way ensures the string comparison sort works - so no local type format %x or %c here!
+#define TRACK_LIST_DATE_FORMAT "%Y-%m-%d %H:%M"
+
+/**
+ * track_close_cb:
+ *
+ */
+static void track_close_cb ( GtkWidget *dialog, gint resp, GList *data )
+{
+ g_list_foreach ( data, (GFunc) g_free, NULL );
+ g_list_free ( data );
+
+ gtk_widget_destroy (dialog);
+}
+
+/**
+ * format_1f_cell_data_func:
+ *
+ * General purpose column double formatting
+ *
+ */
+static void format_1f_cell_data_func ( GtkTreeViewColumn *col,
+ GtkCellRenderer *renderer,
+ GtkTreeModel *model,
+ GtkTreeIter *iter,
+ gpointer user_data )
+{
+ gdouble value;
+ gchar buf[20];
+ gint column = GPOINTER_TO_INT (user_data);
+ gtk_tree_model_get ( model, iter, column, &value, -1 );
+ g_snprintf ( buf, sizeof(buf), "%.1f", value );
+ g_object_set ( renderer, "text", buf, NULL );
+}
+
+#define TRK_LIST_COLS 11
+#define TRK_COL_NUM TRK_LIST_COLS-1
+#define TRW_COL_NUM TRK_COL_NUM-1
+
+/*
+ * trw_layer_track_tooltip_cb:
+ *
+ * Show a tooltip when the mouse is over a track list entry.
+ * The tooltip contains the comment or description.
+ */
+static gboolean trw_layer_track_tooltip_cb ( GtkWidget *widget,
+ gint x,
+ gint y,
+ gboolean keyboard_tip,
+ GtkTooltip *tooltip,
+ gpointer data )
+{
+ GtkTreeIter iter;
+ GtkTreePath *path = NULL;
+ GtkTreeView *tree_view = GTK_TREE_VIEW (widget);
+ GtkTreeModel *model = gtk_tree_view_get_model (tree_view);
+
+ if ( !gtk_tree_view_get_tooltip_context ( tree_view, &x, &y,
+ keyboard_tip,
+ &model, &path, &iter ) )
+ return FALSE;
+
+ VikTrack *trk;
+ gtk_tree_model_get ( model, &iter, TRK_COL_NUM, &trk, -1 );
+ if ( !trk ) return FALSE;
+
+ gboolean tooltip_set = TRUE;
+ if ( trk->comment )
+ gtk_tooltip_set_text ( tooltip, trk->comment );
+ else if ( trk->description )
+ gtk_tooltip_set_text ( tooltip, trk->description );
+ else
+ tooltip_set = FALSE;
+
+ if ( tooltip_set )
+ gtk_tree_view_set_tooltip_row ( tree_view, tooltip, path );
+
+ gtk_tree_path_free ( path );
+
+ return tooltip_set;
+}
+
+/*
+static void trw_layer_track_select_cb ( GtkTreeSelection *selection, gpointer data )
+{
+ GtkTreeIter iter;
+ if ( !gtk_tree_selection_get_selected (selection, NULL, &iter) )
+ return;
+
+ GtkTreeView *tree_view = GTK_TREE_VIEW ( data );
+ GtkTreeModel *model = gtk_tree_view_get_model (tree_view);
+
+ VikTrack *trk;
+ gtk_tree_model_get ( model, &iter, TRK_COL_NUM, &trk, -1 );
+ if ( !trk ) return;
+
+ VikTrwLayer *vtl;
+ gtk_tree_model_get ( model, &iter, TRW_COL_NUM, &vtl, -1 );
+ if ( !IS_VIK_TRW_LAYER(vtl) ) return;
+
+ //vik_treeview_select_iter ( VIK_LAYER(vtl)->vt, g_hash_table_lookup ( vtl->track_iters, uuid ), TRUE );
+}
+*/
+
+// A slightly better way of defining the menu callback information
+// This should be much easier to extend/rework compared to the current trw_layer menus
+typedef enum {
+ MA_VTL = 0,
+ MA_TRK,
+ MA_TRK_UUID,
+ MA_VVP,
+ MA_TREEVIEW,
+ MA_TRKS_LIST,
+ MA_LAST
+} menu_array_index;
+
+typedef gpointer menu_array_values[MA_LAST];
+
+// Instead of hooking automatically on treeview item selection
+// This is performed on demand via the specific menu request
+static void trw_layer_track_select ( menu_array_values values )
+{
+ VikTrwLayer *vtl = VIK_TRW_LAYER(values[MA_VTL]);
+ VikTrack *trk = VIK_TRACK(values[MA_TRK]);
+
+ if ( values[MA_TRK_UUID] ) {
+ GtkTreeIter *iter = NULL;
+ if ( trk->is_route )
+ iter = g_hash_table_lookup ( vik_trw_layer_get_routes_iters(vtl), values[MA_TRK_UUID] );
+ else
+ iter = g_hash_table_lookup ( vik_trw_layer_get_tracks_iters(vtl), values[MA_TRK_UUID] );
+
+ if ( iter )
+ vik_treeview_select_iter ( VIK_LAYER(vtl)->vt, iter, TRUE );
+ }
+}
+
+static void trw_layer_track_stats ( menu_array_values values )
+{
+ VikTrwLayer *vtl = VIK_TRW_LAYER(values[MA_VTL]);
+ VikTrack *trk = VIK_TRACK(values[MA_TRK]);
+ VikViewport *vvp = VIK_VIEWPORT(values[MA_VVP]);
+
+ if ( trk && trk->name ) {
+ // Kill off this dialog to allow interaction with properties window
+ // since the properties also allows track manipulations it won't cause conflicts here.
+ GtkWidget *gw = gtk_widget_get_toplevel ( values[MA_TREEVIEW] );
+ track_close_cb ( gw, 0, values[MA_TRKS_LIST] );
+
+ vik_trw_layer_propwin_run ( VIK_GTK_WINDOW_FROM_LAYER(vtl),
+ vtl,
+ trk,
+ NULL, // vlp
+ vvp,
+ TRUE );
+ }
+}
+
+static void trw_layer_track_view ( menu_array_values values )
+{
+ VikTrwLayer *vtl = VIK_TRW_LAYER(values[MA_VTL]);
+ VikTrack *trk = VIK_TRACK(values[MA_TRK]);
+ VikViewport *vvp = VIK_VIEWPORT(values[MA_VVP]);
+
+ // TODO create common function to convert between LatLon[2] and LatLonBBox or even change LatLonBBox to be 2 LatLons!
+ struct LatLon maxmin[2];
+ maxmin[0].lat = trk->bbox.north;
+ maxmin[1].lat = trk->bbox.south;
+ maxmin[0].lon = trk->bbox.east;
+ maxmin[1].lon = trk->bbox.west;
+
+ trw_layer_zoom_to_show_latlons ( vtl, vvp, maxmin );
+
+ trw_layer_track_select (values);
+}
+
+static gboolean add_menu_items ( GtkMenu *menu, VikTrwLayer *vtl, VikTrack *trk, gpointer trk_uuid, VikViewport *vvp, GtkWidget *tree_view, gpointer data )
+{
+ static menu_array_values values;
+ GtkWidget *item;
+
+ values[MA_VTL] = vtl;
+ values[MA_TRK] = trk;
+ values[MA_TRK_UUID] = trk_uuid;
+ values[MA_VVP] = vvp;
+ values[MA_TREEVIEW] = tree_view;
+ values[MA_TRKS_LIST] = data;
+
+ /*
+ item = gtk_image_menu_item_new_with_mnemonic ( _("_Select") );
+ gtk_image_menu_item_set_image ( (GtkImageMenuItem*)item, gtk_image_new_from_stock (GTK_STOCK_FIND, GTK_ICON_SIZE_MENU) );
+ g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(trw_layer_track_select), values );
+ gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
+ gtk_widget_show ( item );
+ */
+
+ // ATM view auto selects, so don't bother with separate select menu entry
+ item = gtk_image_menu_item_new_with_mnemonic ( _("_View") );
+ gtk_image_menu_item_set_image ( (GtkImageMenuItem*)item, gtk_image_new_from_stock (GTK_STOCK_ZOOM_FIT, GTK_ICON_SIZE_MENU) );
+ g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(trw_layer_track_view), values );
+ gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
+
+ gtk_widget_show ( item );
+ item = gtk_menu_item_new_with_mnemonic ( _("_Statistics") );
+ g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(trw_layer_track_stats), values );
+ gtk_menu_shell_append ( GTK_MENU_SHELL(menu), item );
+ gtk_widget_show ( item );
+
+ return TRUE;
+}
+
+static gboolean trw_layer_track_menu_popup ( GtkWidget *tree_view,
+ GdkEventButton *event,
+ gpointer data )
+{
+ static GtkTreeIter iter;
+
+ // Use selected item to get a single iterator ref
+ // This relies on an row being selected as part of the right click
+ GtkTreeSelection *selection = gtk_tree_view_get_selection ( GTK_TREE_VIEW(tree_view) );
+ if ( gtk_tree_selection_count_selected_rows (selection) != 1 )
+ return FALSE;
+
+ GtkTreePath *path;
+ GtkTreeModel *model = gtk_tree_view_get_model ( GTK_TREE_VIEW(tree_view) );
+
+ // All this just to get the iter
+ if ( gtk_tree_view_get_path_at_pos ( GTK_TREE_VIEW(tree_view),
+ (gint) event->x,
+ (gint) event->y,
+ &path, NULL, NULL, NULL)) {
+ gtk_tree_model_get_iter_from_string ( model, &iter, gtk_tree_path_to_string (path) );
+ gtk_tree_path_free ( path );
+ }
+ else
+ return FALSE;
+
+ VikTrack *trk;
+ gtk_tree_model_get ( model, &iter, TRK_COL_NUM, &trk, -1 );
+ if ( !trk ) return FALSE;
+
+ VikTrwLayer *vtl;
+ gtk_tree_model_get ( model, &iter, TRW_COL_NUM, &vtl, -1 );
+ if ( !IS_VIK_TRW_LAYER(vtl) ) return FALSE;
+
+ trku_udata udataU;
+ udataU.trk = trk;
+ udataU.uuid = NULL;
+
+ gpointer *trkf;
+ if ( trk->is_route )
+ trkf = g_hash_table_find ( vik_trw_layer_get_routes(vtl), (GHRFunc) trw_layer_track_find_uuid, &udataU );
+ else
+ trkf = g_hash_table_find ( vik_trw_layer_get_tracks(vtl), (GHRFunc) trw_layer_track_find_uuid, &udataU );
+
+ if ( trkf && udataU.uuid ) {
+ VikViewport *vvp = vik_window_viewport((VikWindow *)(VIK_GTK_WINDOW_FROM_LAYER(vtl)));
+
+ GtkWidget *menu = gtk_menu_new();
+
+ // Originally started to reuse the trw_layer menu items
+ // however these offer too many ways to edit the track data
+ // so without an easy way to distinguish read only operations,
+ // create a very minimal new set of operations
+ add_menu_items ( GTK_MENU(menu),
+ vtl,
+ trk,
+ udataU.uuid,
+ vvp,
+ tree_view,
+ data );
+
+ gtk_menu_popup ( GTK_MENU(menu), NULL, NULL, NULL, NULL, event->button, gtk_get_current_event_time() );
+ return TRUE;
+ }
+ return FALSE;
+}
+
+static gboolean trw_layer_track_button_pressed ( GtkWidget *tree_view,
+ GdkEventButton *event,
+ gpointer data )
+{
+ // Only on right clicks...
+ if ( ! (event->type == GDK_BUTTON_PRESS && event->button == 3) )
+ return FALSE;
+
+ // ATM Force a selection...
+ GtkTreeSelection *selection = gtk_tree_view_get_selection ( GTK_TREE_VIEW(tree_view) );
+ if ( gtk_tree_selection_count_selected_rows (selection) <= 1 ) {
+ GtkTreePath *path;
+ /* Get tree path for row that was clicked */
+ if ( gtk_tree_view_get_path_at_pos ( GTK_TREE_VIEW(tree_view),
+ (gint) event->x,
+ (gint) event->y,
+ &path, NULL, NULL, NULL)) {
+ gtk_tree_selection_unselect_all ( selection );
+ gtk_tree_selection_select_path ( selection, path );
+ gtk_tree_path_free ( path );
+ }
+ }
+ return trw_layer_track_menu_popup ( tree_view, event, data );
+}
+
+/*
+ * Foreach entry we copy the various individual track properties into the tree store
+ * formatting & converting the internal values into something for display
+ */
+static void trw_layer_track_list_add ( vik_trw_track_list_t *vtdl,
+ GtkTreeStore *store,
+ vik_units_distance_t dist_units,
+ vik_units_speed_t speed_units,
+ vik_units_height_t height_units )
+{
+ GtkTreeIter t_iter;
+ VikTrack *trk = vtdl->trk;
+ VikTrwLayer *vtl = vtdl->vtl;
+
+ gdouble trk_dist = vik_track_get_length ( trk );
+ // Store unit converted value
+ switch ( dist_units ) {
+ case VIK_UNITS_DISTANCE_MILES:
+ trk_dist = VIK_METERS_TO_MILES(trk_dist);
+ break;
+ default:
+ trk_dist = trk_dist/1000.0;
+ break;
+ }
+
+ // Get start date
+ gchar time_buf[32];
+ time_buf[0] = '\0';
+ if ( trk->trackpoints && VIK_TRACKPOINT(trk->trackpoints->data)->has_timestamp ) {
+
+#if GLIB_CHECK_VERSION(2,26,0)
+ GDateTime* gdt = g_date_time_new_from_unix_utc ( VIK_TRACKPOINT(trk->trackpoints->data)->timestamp );
+ gchar *time = g_date_time_format ( gdt, TRACK_LIST_DATE_FORMAT );
+ strncpy ( time_buf, time, sizeof(time_buf) );
+ g_free ( time );
+ g_date_time_unref ( gdt);
+#else
+ GDate* gdate_start = g_date_new ();
+ g_date_set_time_t ( gdate_start, VIK_TRACKPOINT(trk->trackpoints->data)->timestamp );
+ g_date_strftime ( time_buf, sizeof(time_buf), TRACK_LIST_DATE_FORMAT, gdate_start );
+ g_date_free ( gdate_start );
+#endif
+ }
+
+ // NB: doesn't include aggegrate visibility
+ gboolean visible = VIK_LAYER(vtl)->visible && trk->visible;
+ visible = visible && (trk->is_route ? vik_trw_layer_get_routes_visibility(vtl) : vik_trw_layer_get_tracks_visibility(vtl));
+
+ guint trk_len_time = 0;
+ if ( trk->trackpoints ) {
+ time_t t1, t2;
+ t1 = VIK_TRACKPOINT(g_list_first(trk->trackpoints)->data)->timestamp;
+ t2 = VIK_TRACKPOINT(g_list_last(trk->trackpoints)->data)->timestamp;
+ trk_len_time = (int)round (abs(t2-t1)/60);
+ }
+
+ gdouble av_speed = 0.0;
+ gdouble max_speed = 0.0;
+ gdouble max_alt = 0.0;
+
+ av_speed = vik_track_get_average_speed ( trk );
+ switch (speed_units) {
+ case VIK_UNITS_SPEED_KILOMETRES_PER_HOUR: av_speed = VIK_MPS_TO_KPH(av_speed); break;
+ case VIK_UNITS_SPEED_MILES_PER_HOUR: av_speed = VIK_MPS_TO_MPH(av_speed); break;
+ case VIK_UNITS_SPEED_KNOTS: av_speed = VIK_MPS_TO_KNOTS(av_speed); break;
+ default: // VIK_UNITS_SPEED_METRES_PER_SECOND therefore no change
+ break;
+ }
+
+ max_speed = vik_track_get_max_speed ( trk );
+ switch (speed_units) {
+ case VIK_UNITS_SPEED_KILOMETRES_PER_HOUR: max_speed = VIK_MPS_TO_KPH(max_speed); break;
+ case VIK_UNITS_SPEED_MILES_PER_HOUR: max_speed = VIK_MPS_TO_MPH(max_speed); break;
+ case VIK_UNITS_SPEED_KNOTS: max_speed = VIK_MPS_TO_KNOTS(max_speed); break;
+ default: // VIK_UNITS_SPEED_METRES_PER_SECOND therefore no change
+ break;
+ }
+
+ // TODO - make this a function to get min / max values?
+ gdouble *altitudes = NULL;
+ altitudes = vik_track_make_elevation_map ( trk, 500 );
+ if ( altitudes ) {
+ max_alt = -1000;
+ guint i;
+ for ( i=0; i < 500; i++ ) {
+ if ( altitudes[i] != VIK_DEFAULT_ALTITUDE ) {
+ if ( altitudes[i] > max_alt )
+ max_alt = altitudes[i];
+ }
+ }
+ }
+ g_free ( altitudes );
+
+ switch (height_units) {
+ case VIK_UNITS_HEIGHT_FEET: max_alt = VIK_METERS_TO_FEET(max_alt); break;
+ default:
+ // VIK_UNITS_HEIGHT_METRES: no need to convert
+ break;
+ }
+
+ gtk_tree_store_append ( store, &t_iter, NULL );
+ gtk_tree_store_set ( store, &t_iter,
+ 0, VIK_LAYER(vtl)->name,
+ 1, trk->name,
+ 2, time_buf,
+ 3, visible,
+ 4, trk_dist,
+ 5, trk_len_time,
+ 6, av_speed,
+ 7, max_speed,
+ 8, (guint)round(max_alt),
+ TRW_COL_NUM, vtl,
+ TRK_COL_NUM, trk,
+ -1 );
+}
+
+static GtkTreeViewColumn *my_new_column_text ( const gchar *title, GtkCellRenderer *renderer, GtkWidget *view, gint column_runner )
+{
+ GtkTreeViewColumn *column = gtk_tree_view_column_new_with_attributes ( title, renderer, "text", column_runner, NULL );
+ gtk_tree_view_column_set_sort_column_id ( column, column_runner );
+ gtk_tree_view_append_column ( GTK_TREE_VIEW(view), column );
+ gtk_tree_view_column_set_reorderable ( column, TRUE );
+ gtk_tree_view_column_set_resizable ( column, TRUE );
+ return column;
+}
+
+/**
+ * vik_trw_layer_track_list_internal:
+ * @dialog: The dialog to create the widgets in
+ * @tracks_and_layers: The list of tracks (and it's layer) to be shown
+ * @show_layer_names: Show the layer names that each track belongs to
+ *
+ * Create a table of tracks with corresponding track information
+ * This table does not support being actively updated
+ */
+static void vik_trw_layer_track_list_internal ( GtkWidget *dialog,
+ GList *tracks_and_layers,
+ gboolean show_layer_names )
+{
+ if ( !tracks_and_layers )
+ return;
+
+ // It's simple storing the gdouble values in the tree store as the sort works automatically
+ // Then apply specific cell data formatting (rather default double is to 6 decimal places!)
+ GtkTreeStore *store = gtk_tree_store_new ( TRK_LIST_COLS,
+ G_TYPE_STRING, // 0: Layer Name
+ G_TYPE_STRING, // 1: Track Name
+ G_TYPE_STRING, // 2: Date
+ G_TYPE_BOOLEAN, // 3: Visible
+ G_TYPE_DOUBLE, // 4: Distance
+ G_TYPE_UINT, // 5: Length in time
+ G_TYPE_DOUBLE, // 6: Av. Speed
+ G_TYPE_DOUBLE, // 7: Max Speed
+ G_TYPE_UINT, // 8: Max Height
+ G_TYPE_POINTER, // 9: TrackWaypoint Layer pointer
+ G_TYPE_POINTER ); // 10: Track pointer
+
+ //gtk_tree_selection_set_select_function ( gtk_tree_view_get_selection (GTK_TREE_VIEW(vt)), vik_treeview_selection_filter, vt, NULL );
+
+ vik_units_distance_t dist_units = a_vik_get_units_distance ();
+ vik_units_speed_t speed_units = a_vik_get_units_speed ();
+ vik_units_height_t height_units = a_vik_get_units_height ();
+
+ //GList *gl = get_tracks_and_layers_cb ( vl, user_data );
+ //g_list_foreach ( tracks_and_layers, (GFunc) trw_layer_track_list_add, store );
+ GList *gl = tracks_and_layers;
+ while ( gl ) {
+ trw_layer_track_list_add ( (vik_trw_track_list_t*)gl->data, store, dist_units, speed_units, height_units );
+ gl = g_list_next ( gl );
+ }
+
+ GtkWidget *view = gtk_tree_view_new();
+ GtkCellRenderer *renderer = gtk_cell_renderer_text_new();
+ g_object_set (G_OBJECT (renderer),
+ "xalign", 0.0,
+ "ellipsize", PANGO_ELLIPSIZE_END,
+ NULL);
+
+ GtkTreeViewColumn *column;
+ GtkTreeViewColumn *sort_by_column;
+
+ gint column_runner = 0;
+ if ( show_layer_names ) {
+ // Insert column for the layer name when viewing multi layers
+ column = my_new_column_text ( _("Layer"), renderer, view, column_runner++ );
+ gtk_tree_view_column_set_expand ( column, TRUE );
+ // remember the layer column so we can sort by it later
+ sort_by_column = column;
+ }
+ else
+ column_runner++;
+
+ column = my_new_column_text ( _("Name"), renderer, view, column_runner++ );
+ gtk_tree_view_column_set_expand ( column, TRUE );
+ if ( !show_layer_names )
+ // remember the name column so we can sort by it later
+ sort_by_column = column;
+
+ column = my_new_column_text ( _("Date"), renderer, view, column_runner++ );
+ gtk_tree_view_column_set_expand ( column, TRUE );
+
+ GtkCellRenderer *renderer_toggle = gtk_cell_renderer_toggle_new ();
+ column = gtk_tree_view_column_new_with_attributes ( _("Visible"), renderer_toggle, "active", column_runner, NULL );
+ gtk_tree_view_column_set_reorderable ( column, TRUE );
+ gtk_tree_view_column_set_sort_column_id ( column, column_runner );
+ gtk_tree_view_append_column ( GTK_TREE_VIEW(view), column );
+ column_runner++;
+
+ switch ( dist_units ) {
+ case VIK_UNITS_DISTANCE_MILES:
+ column = my_new_column_text ( _("Distance\n(miles)"), renderer, view, column_runner++ );
+ break;
+ default:
+ column = my_new_column_text ( _("Distance\n(km)"), renderer, view, column_runner++ );
+ break;
+ }
+ // Apply own formatting of the data
+ gtk_tree_view_column_set_cell_data_func ( column, renderer, format_1f_cell_data_func, GINT_TO_POINTER(column_runner-1), NULL);
+
+ column = my_new_column_text ( _("Length\n(minutes)"), renderer, view, column_runner++ );
+
+ gchar *spd_units = NULL;
+ switch (speed_units) {
+ case VIK_UNITS_SPEED_KILOMETRES_PER_HOUR: spd_units = g_strdup (_("km/h")); break;
+ case VIK_UNITS_SPEED_MILES_PER_HOUR: spd_units = g_strdup (_("mph")); break;
+ case VIK_UNITS_SPEED_KNOTS: spd_units = g_strdup (_("knots")); break;
+ // VIK_UNITS_SPEED_METRES_PER_SECOND:
+ default: spd_units = g_strdup (_("m/s")); break;
+ }
+
+ gchar *title = g_strdup_printf ( _("Av. Speed\n(%s)"), spd_units );
+ column = my_new_column_text ( title, renderer, view, column_runner++ );
+ g_free ( title );
+ gtk_tree_view_column_set_cell_data_func ( column, renderer, format_1f_cell_data_func, GINT_TO_POINTER(column_runner-1), NULL); // Apply own formatting of the data
+
+ title = g_strdup_printf ( _("Max Speed\n(%s)"), spd_units );
+ column = my_new_column_text ( title, renderer, view, column_runner++ );
+ gtk_tree_view_column_set_cell_data_func ( column, renderer, format_1f_cell_data_func, GINT_TO_POINTER(column_runner-1), NULL); // Apply own formatting of the data
+
+ g_free ( title );
+ g_free ( spd_units );
+
+ if ( height_units == VIK_UNITS_HEIGHT_FEET )
+ column = my_new_column_text ( _("Max Height\n(Feet)"), renderer, view, column_runner++ );
+ else
+ column = my_new_column_text ( _("Max Height\n(Metres)"), renderer, view, column_runner++ );
+
+ gtk_tree_view_set_model ( GTK_TREE_VIEW(view), GTK_TREE_MODEL(store) );
+ gtk_tree_selection_set_mode ( gtk_tree_view_get_selection(GTK_TREE_VIEW(view)), GTK_SELECTION_BROWSE ); // GTK_SELECTION_MULTIPLE
+ gtk_tree_view_set_rules_hint ( GTK_TREE_VIEW(view), TRUE );
+
+ g_object_unref(store);
+
+ GtkWidget *scrolledwindow = gtk_scrolled_window_new ( NULL, NULL );
+ gtk_scrolled_window_set_policy ( GTK_SCROLLED_WINDOW(scrolledwindow), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC );
+ gtk_container_add ( GTK_CONTAINER(scrolledwindow), view );
+
+ g_object_set ( view, "has-tooltip", TRUE, NULL);
+
+ g_signal_connect ( view, "query-tooltip", G_CALLBACK (trw_layer_track_tooltip_cb), NULL );
+ //g_signal_connect ( gtk_tree_view_get_selection (GTK_TREE_VIEW(view)), "changed", G_CALLBACK(trw_layer_track_select_cb), view );
+
+ g_signal_connect ( view, "popup-menu", G_CALLBACK(trw_layer_track_menu_popup), tracks_and_layers );
+ g_signal_connect ( view, "button-press-event", G_CALLBACK(trw_layer_track_button_pressed), tracks_and_layers );
+
+ gtk_box_pack_start (GTK_BOX(GTK_DIALOG(dialog)->vbox), scrolledwindow, TRUE, TRUE, 0);
+
+ // Set ordering of the initial view by one of the name columns
+ gtk_tree_view_column_clicked ( sort_by_column );
+
+ // Ensure a reasonable number of items are shown
+ // TODO: may be save window size, column order, sorted by between invocations.
+ // Gtk too stupid to work out best size so need to tell it.
+ gtk_window_set_default_size ( GTK_WINDOW(dialog), show_layer_names ? 900 : 700, 400 );
+}
+
+
+/**
+ * vik_trw_layer_track_list_show_dialog:
+ * @title: The title for the dialog
+ * @vl: The #VikLayer passed on into get_tracks_and_layers_cb()
+ * @user_data: Data passed on into get_tracks_and_layers_cb()
+ * @get_tracks_and_layers_cb: The function to call to construct items to be analysed
+ * @show_layer_names: Normally only set when called from an aggregate level
+ *
+ * Common method for showing a list of tracks with extended information
+ *
+ */
+void vik_trw_layer_track_list_show_dialog ( gchar *title,
+ VikLayer *vl,
+ gpointer user_data,
+ VikTrwlayerGetTracksAndLayersFunc get_tracks_and_layers_cb,
+ gboolean show_layer_names )
+{
+ GtkWidget *dialog = gtk_dialog_new_with_buttons ( title,
+ VIK_GTK_WINDOW_FROM_LAYER(vl),
+ GTK_DIALOG_DESTROY_WITH_PARENT,
+ GTK_STOCK_CLOSE,
+ GTK_RESPONSE_CLOSE,
+ NULL );
+
+ GList *gl = get_tracks_and_layers_cb ( vl, user_data );
+
+ vik_trw_layer_track_list_internal ( dialog, gl, show_layer_names );
+
+ // Use response to close the dialog with tidy up
+ g_signal_connect ( G_OBJECT(dialog), "response", G_CALLBACK(track_close_cb), gl );
+
+ gtk_widget_show_all ( dialog );
+ // Yes - set the size *AGAIN* - this time widgets are expanded nicely
+ gtk_window_resize ( GTK_WINDOW(dialog), show_layer_names ? 1000 : 800, 400 );
+
+ // ATM lock out on dialog run - to prevent list contents being manipulated in other parts of the GUI whilst shown here.
+ gtk_dialog_run (GTK_DIALOG (dialog));
+ // Unfortunately seems subsequently opening the Track Properties we can't interact with it until this dialog is closed
+ // Thus this dialog is then forcibly closed when opening the properties.
+
+ // Occassionally the 'View' doesn't update the viewport properly
+ // viewport center + zoom is changed but the viewport isn't updated
+ // not sure why yet..
+}
diff --git a/src/viktrwlayer_tracklist.h b/src/viktrwlayer_tracklist.h
new file mode 100644
index 0000000..6cc012d
--- /dev/null
+++ b/src/viktrwlayer_tracklist.h
@@ -0,0 +1,38 @@
+/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 4; tab-width: 4 -*- */
+/*
+ * viking -- GPS Data and Topo Analyzer, Explorer, and Manager
+ *
+ * Copyright (C) 2013, Rob Norris <rw_norris@hotmail.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ */
+#ifndef _VIKING_TRWLAYER_TRACKLIST_H
+#define _VIKING_TRWLAYER_TRACKLIST_H
+
+#include "viktrack.h"
+#include "viktrwlayer.h"
+
+G_BEGIN_DECLS
+
+void vik_trw_layer_track_list_show_dialog ( gchar *title,
+ VikLayer *vl,
+ gpointer user_data,
+ VikTrwlayerGetTracksAndLayersFunc get_tracks_and_layers_cb,
+ gboolean is_aggregate );
+
+G_END_DECLS
+
+#endif
diff --git a/src/viktrwlayer_waypointlist.c b/src/viktrwlayer_waypointlist.c
new file mode 100644
index 0000000..7ecd677
--- /dev/null
+++ b/src/viktrwlayer_waypointlist.c
@@ -0,0 +1,605 @@
+/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 4; tab-width: 4 -*- */
+/*
+ * viking -- GPS Data and Topo Analyzer, Explorer, and Manager
+ *
+ * Copyright (C) 2013, Rob Norris <rw_norris@hotmail.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ */
+#include <math.h>
+#include <string.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <glib.h>
+#include <glib/gstdio.h>
+#include <glib/gi18n.h>
+
+#include "viking.h"
+#include "viktrwlayer_waypointlist.h"
+
+// Long formatted date+basic time - listing this way ensures the string comparison sort works - so no local type format %x or %c here!
+#define WAYPOINT_LIST_DATE_FORMAT "%Y-%m-%d %H:%M"
+
+/**
+ * waypoint_close_cb:
+ *
+ */
+static void waypoint_close_cb ( GtkWidget *dialog, gint resp, GList *data )
+{
+ g_list_foreach ( data, (GFunc) g_free, NULL );
+ g_list_free ( data );
+
+ gtk_widget_destroy (dialog);
+}
+
+/**
+ * format_1f_cell_data_func:
+ *
+ * General purpose column double formatting
+ *
+static void format_1f_cell_data_func ( GtkTreeViewColumn *col,
+ GtkCellRenderer *renderer,
+ GtkTreeModel *model,
+ GtkTreeIter *iter,
+ gpointer user_data )
+{
+ gdouble value;
+ gchar buf[20];
+ gint column = GPOINTER_TO_INT (user_data);
+ gtk_tree_model_get ( model, iter, column, &value, -1 );
+ g_snprintf ( buf, sizeof(buf), "%.1f", value );
+ g_object_set ( renderer, "text", buf, NULL );
+}
+ */
+
+#define WPT_LIST_COLS 9
+#define WPT_COL_NUM WPT_LIST_COLS-1
+#define TRW_COL_NUM WPT_COL_NUM-1
+
+/*
+ * trw_layer_waypoint_tooltip_cb:
+ *
+ * Show a tooltip when the mouse is over a waypoint list entry.
+ * The tooltip contains the description.
+ */
+static gboolean trw_layer_waypoint_tooltip_cb ( GtkWidget *widget,
+ gint x,
+ gint y,
+ gboolean keyboard_tip,
+ GtkTooltip *tooltip,
+ gpointer data )
+{
+ GtkTreeIter iter;
+ GtkTreePath *path = NULL;
+ GtkTreeView *tree_view = GTK_TREE_VIEW (widget);
+ GtkTreeModel *model = gtk_tree_view_get_model (tree_view);
+
+ if ( !gtk_tree_view_get_tooltip_context ( tree_view, &x, &y,
+ keyboard_tip,
+ &model, &path, &iter ) )
+ return FALSE;
+
+ VikWaypoint *wpt;
+ gtk_tree_model_get ( model, &iter, WPT_COL_NUM, &wpt, -1 );
+ if ( !wpt ) return FALSE;
+
+ gboolean tooltip_set = TRUE;
+ if ( wpt->description )
+ gtk_tooltip_set_text ( tooltip, wpt->description );
+ else
+ tooltip_set = FALSE;
+
+ if ( tooltip_set )
+ gtk_tree_view_set_tooltip_row ( tree_view, tooltip, path );
+
+ gtk_tree_path_free ( path );
+
+ return tooltip_set;
+}
+
+/*
+static void trw_layer_waypoint_select_cb ( GtkTreeSelection *selection, gpointer data )
+{
+ GtkTreeIter iter;
+ if ( !gtk_tree_selection_get_selected (selection, NULL, &iter) )
+ return;
+
+ GtkTreeView *tree_view = GTK_TREE_VIEW ( data );
+ GtkTreeModel *model = gtk_tree_view_get_model (tree_view);
+
+ VikWaypoint *wpt;
+ gtk_tree_model_get ( model, &iter, WPT_COL_NUM, &wpt, -1 );
+ if ( !wpt ) return;
+
+ VikTrwLayer *vtl;
+ gtk_tree_model_get ( model, &iter, TRW_COL_NUM, &vtl, -1 );
+ if ( !IS_VIK_TRW_LAYER(vtl) ) return;
+
+ //vik_treeview_select_iter ( VIK_LAYER(vtl)->vt, g_hash_table_lookup ( vtl->waypoint_iters, uuid ), TRUE );
+}
+*/
+
+// A slightly better way of defining the menu callback information
+// This should be much easier to extend/rework compared to the current trw_layer menus
+typedef enum {
+ MA_VTL = 0,
+ MA_WPT,
+ MA_WPT_UUID,
+ MA_VVP,
+ MA_TREEVIEW,
+ MA_WPTS_LIST,
+ MA_LAST
+} menu_array_index;
+
+typedef gpointer menu_array_values[MA_LAST];
+
+// Instead of hooking automatically on treeview item selection
+// This is performed on demand via the specific menu request
+static void trw_layer_waypoint_select ( menu_array_values values )
+{
+ VikTrwLayer *vtl = VIK_TRW_LAYER(values[MA_VTL]);
+
+ if ( values[MA_WPT_UUID] ) {
+ GtkTreeIter *iter = NULL;
+ iter = g_hash_table_lookup ( vik_trw_layer_get_waypoints_iters(vtl), values[MA_WPT_UUID] );
+
+ if ( iter )
+ vik_treeview_select_iter ( VIK_LAYER(vtl)->vt, iter, TRUE );
+ }
+}
+
+static void trw_layer_waypoint_properties ( menu_array_values values )
+{
+ VikTrwLayer *vtl = VIK_TRW_LAYER(values[MA_VTL]);
+ VikWaypoint *wpt = VIK_WAYPOINT(values[MA_WPT]);
+
+ if ( wpt && wpt->name ) {
+ // Kill off this dialog to allow interaction with properties window
+ // since the properties also allows waypoint manipulations it won't cause conflicts here.
+ GtkWidget *gw = gtk_widget_get_toplevel ( values[MA_TREEVIEW] );
+ waypoint_close_cb ( gw, 0, values[MA_WPTS_LIST] );
+
+ gboolean updated = FALSE;
+ gchar *new_name = a_dialog_waypoint ( VIK_GTK_WINDOW_FROM_LAYER(vtl), wpt->name, vtl, wpt, vik_trw_layer_get_coord_mode(vtl), FALSE, &updated );
+ if ( new_name )
+ trw_layer_waypoint_rename ( vtl, wpt, new_name );
+
+ if ( updated )
+ trw_layer_waypoint_reset_icon ( vtl, wpt );
+
+ if ( updated && VIK_LAYER(vtl)->visible )
+ vik_layer_emit_update ( VIK_LAYER(vtl) );
+ }
+}
+
+static void trw_layer_waypoint_view ( menu_array_values values )
+{
+ VikTrwLayer *vtl = VIK_TRW_LAYER(values[MA_VTL]);
+ VikWaypoint *wpt = VIK_WAYPOINT(values[MA_WPT]);
+ VikViewport *vvp = VIK_VIEWPORT(values[MA_VVP]);
+
+ vik_viewport_set_center_coord ( vvp, &(wpt->coord) );
+
+ trw_layer_waypoint_select (values);
+
+ vik_layer_emit_update ( VIK_LAYER(vtl) );
+}
+
+static void trw_layer_show_picture ( menu_array_values values )
+{
+ VikTrwLayer *vtl = VIK_TRW_LAYER(values[MA_VTL]);
+ VikWaypoint *wpt = VIK_WAYPOINT(values[MA_WPT]);
+
+#ifdef WINDOWS
+ ShellExecute(NULL, "open", wpt->image, NULL, NULL, SW_SHOWNORMAL);
+#else
+ GError *err = NULL;
+ gchar *quoted_file = g_shell_quote ( wpt->image );
+ gchar *cmd = g_strdup_printf ( "%s %s", a_vik_get_image_viewer(), quoted_file );
+ g_free ( quoted_file );
+ if ( ! g_spawn_command_line_async ( cmd, &err ) ) {
+ a_dialog_error_msg_extra ( VIK_GTK_WINDOW_FROM_LAYER(vtl), _("Could not launch %s to open file."), a_vik_get_image_viewer() );
+ g_error_free ( err );
+ }
+ g_free ( cmd );
+#endif
+}
+
+
+static gboolean add_menu_items ( GtkMenu *menu, VikTrwLayer *vtl, VikWaypoint *wpt, gpointer wpt_uuid, VikViewport *vvp, GtkWidget *tree_view, gpointer data )
+{
+ static menu_array_values values;
+ GtkWidget *item;
+
+ values[MA_VTL] = vtl;
+ values[MA_WPT] = wpt;
+ values[MA_WPT_UUID] = wpt_uuid;
+ values[MA_VVP] = vvp;
+ values[MA_TREEVIEW] = tree_view;
+ values[MA_WPTS_LIST] = data;
+
+ /*
+ item = gtk_image_menu_item_new_with_mnemonic ( _("_Select") );
+ gtk_image_menu_item_set_image ( (GtkImageMenuItem*)item, gtk_image_new_from_stock (GTK_STOCK_FIND, GTK_ICON_SIZE_MENU) );
+ g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(trw_layer_waypoint_select), values );
+ gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
+ gtk_widget_show ( item );
+ */
+
+ // AUTO SELECT NOT TRUE YET...
+ // ATM view auto selects, so don't bother with separate select menu entry
+ item = gtk_image_menu_item_new_with_mnemonic ( _("_View") );
+ gtk_image_menu_item_set_image ( (GtkImageMenuItem*)item, gtk_image_new_from_stock (GTK_STOCK_ZOOM_FIT, GTK_ICON_SIZE_MENU) );
+ g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(trw_layer_waypoint_view), values );
+ gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
+ gtk_widget_show ( item );
+
+ item = gtk_image_menu_item_new_from_stock ( GTK_STOCK_PROPERTIES, NULL );
+ g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(trw_layer_waypoint_properties), values );
+ gtk_menu_shell_append ( GTK_MENU_SHELL(menu), item );
+ gtk_widget_show ( item );
+
+ item = gtk_image_menu_item_new_with_mnemonic ( _("_Show Picture...") );
+ gtk_image_menu_item_set_image ( (GtkImageMenuItem*)item, gtk_image_new_from_stock ("vik-icon-Show Picture", GTK_ICON_SIZE_MENU) ); // Own icon - see stock_icons in vikwindow.c
+ g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(trw_layer_show_picture), values );
+ gtk_menu_shell_append ( GTK_MENU_SHELL(menu), item );
+ gtk_widget_show ( item );
+ gtk_widget_set_sensitive ( item, GPOINTER_TO_INT(wpt->image) );
+
+ return TRUE;
+}
+
+static gboolean trw_layer_waypoint_menu_popup ( GtkWidget *tree_view,
+ GdkEventButton *event,
+ gpointer data )
+{
+ static GtkTreeIter iter;
+
+ // Use selected item to get a single iterator ref
+ // This relies on an row being selected as part of the right click
+ GtkTreeSelection *selection = gtk_tree_view_get_selection ( GTK_TREE_VIEW(tree_view) );
+ if ( gtk_tree_selection_count_selected_rows (selection) != 1 )
+ return FALSE;
+
+ GtkTreePath *path;
+ GtkTreeModel *model = gtk_tree_view_get_model ( GTK_TREE_VIEW(tree_view) );
+
+ // All this just to get the iter
+ if ( gtk_tree_view_get_path_at_pos ( GTK_TREE_VIEW(tree_view),
+ (gint) event->x,
+ (gint) event->y,
+ &path, NULL, NULL, NULL)) {
+ gtk_tree_model_get_iter_from_string ( model, &iter, gtk_tree_path_to_string (path) );
+ gtk_tree_path_free ( path );
+ }
+ else
+ return FALSE;
+
+ VikWaypoint *wpt;
+ gtk_tree_model_get ( model, &iter, WPT_COL_NUM, &wpt, -1 );
+ if ( !wpt ) return FALSE;
+
+ VikTrwLayer *vtl;
+ gtk_tree_model_get ( model, &iter, TRW_COL_NUM, &vtl, -1 );
+ if ( !IS_VIK_TRW_LAYER(vtl) ) return FALSE;
+
+ wpu_udata udataU;
+ udataU.wp = wpt;
+ udataU.uuid = NULL;
+
+ gpointer *wptf;
+ wptf = g_hash_table_find ( vik_trw_layer_get_waypoints(vtl), (GHRFunc) trw_layer_waypoint_find_uuid, &udataU );
+
+ if ( wptf && udataU.uuid ) {
+ VikViewport *vvp = vik_window_viewport((VikWindow *)(VIK_GTK_WINDOW_FROM_LAYER(vtl)));
+
+ GtkWidget *menu = gtk_menu_new();
+
+ // Originally started to reuse the trw_layer menu items
+ // however these offer too many ways to edit the waypoint data
+ // so without an easy way to distinguish read only operations,
+ // create a very minimal new set of operations
+ add_menu_items ( GTK_MENU(menu),
+ vtl,
+ wpt,
+ udataU.uuid,
+ vvp,
+ tree_view,
+ data );
+
+ gtk_menu_popup ( GTK_MENU(menu), NULL, NULL, NULL, NULL, event->button, gtk_get_current_event_time() );
+ return TRUE;
+ }
+ return FALSE;
+}
+
+static gboolean trw_layer_waypoint_button_pressed ( GtkWidget *tree_view,
+ GdkEventButton *event,
+ gpointer data )
+{
+ // Only on right clicks...
+ if ( ! (event->type == GDK_BUTTON_PRESS && event->button == 3) )
+ return FALSE;
+
+ // ATM Force a selection...
+ GtkTreeSelection *selection = gtk_tree_view_get_selection ( GTK_TREE_VIEW(tree_view) );
+ if ( gtk_tree_selection_count_selected_rows (selection) <= 1 ) {
+ GtkTreePath *path;
+ /* Get tree path for row that was clicked */
+ if ( gtk_tree_view_get_path_at_pos ( GTK_TREE_VIEW(tree_view),
+ (gint) event->x,
+ (gint) event->y,
+ &path, NULL, NULL, NULL)) {
+ gtk_tree_selection_unselect_all ( selection );
+ gtk_tree_selection_select_path ( selection, path );
+ gtk_tree_path_free ( path );
+ }
+ }
+ return trw_layer_waypoint_menu_popup ( tree_view, event, data );
+}
+
+/*
+ * Foreach entry we copy the various individual waypoint properties into the tree store
+ * formatting & converting the internal values into something for display
+ */
+static void trw_layer_waypoint_list_add ( vik_trw_waypoint_list_t *vtdl,
+ GtkTreeStore *store,
+ vik_units_distance_t dist_units,
+ vik_units_height_t height_units )
+{
+ GtkTreeIter t_iter;
+ VikWaypoint *wpt = vtdl->wpt;
+ VikTrwLayer *vtl = vtdl->vtl;
+
+ // Get start date
+ gchar time_buf[32];
+ time_buf[0] = '\0';
+ if ( wpt->has_timestamp ) {
+
+#if GLIB_CHECK_VERSION(2,26,0)
+ GDateTime* gdt = g_date_time_new_from_unix_utc ( wpt->timestamp );
+ gchar *time = g_date_time_format ( gdt, WAYPOINT_LIST_DATE_FORMAT );
+ strncpy ( time_buf, time, sizeof(time_buf) );
+ g_free ( time );
+ g_date_time_unref ( gdt);
+#else
+ GDate* gdate_start = g_date_new ();
+ g_date_set_time_t ( gdate_start, wpt->timestamp );
+ g_date_strftime ( time_buf, sizeof(time_buf), WAYPOINT_LIST_DATE_FORMAT, gdate_start );
+ g_date_free ( gdate_start );
+#endif
+ }
+
+ // NB: doesn't include aggegrate visibility
+ gboolean visible = VIK_LAYER(vtl)->visible && wpt->visible;
+ visible = visible && vik_trw_layer_get_waypoints_visibility(vtl);
+
+ gdouble alt = wpt->altitude;
+ switch (height_units) {
+ case VIK_UNITS_HEIGHT_FEET: alt = VIK_METERS_TO_FEET(alt); break;
+ default:
+ // VIK_UNITS_HEIGHT_METRES: no need to convert
+ break;
+ }
+
+ gtk_tree_store_append ( store, &t_iter, NULL );
+ gtk_tree_store_set ( store, &t_iter,
+ 0, VIK_LAYER(vtl)->name,
+ 1, wpt->name,
+ 2, time_buf,
+ 3, visible,
+ 4, wpt->comment,
+ 5, (gint)round(alt),
+ 6, get_wp_sym_small (wpt->symbol),
+ TRW_COL_NUM, vtl,
+ WPT_COL_NUM, wpt,
+ -1 );
+}
+
+/*
+ * Instead of comparing the pixbufs,
+ * look at the waypoint data and compare the symbol (as text).
+ */
+gint sort_pixbuf_compare_func ( GtkTreeModel *model,
+ GtkTreeIter *a,
+ GtkTreeIter *b,
+ gpointer userdata )
+{
+ VikWaypoint *wpt1, *wpt2;
+ gtk_tree_model_get ( model, a, WPT_COL_NUM, &wpt1, -1 );
+ if ( !wpt1 ) return 0;
+ gtk_tree_model_get ( model, b, WPT_COL_NUM, &wpt2, -1 );
+ if ( !wpt2 ) return 0;
+
+ return g_strcmp0 ( wpt1->symbol, wpt2->symbol );
+}
+
+static GtkTreeViewColumn *my_new_column_text ( const gchar *title, GtkCellRenderer *renderer, GtkWidget *view, gint column_runner )
+{
+ GtkTreeViewColumn *column = gtk_tree_view_column_new_with_attributes ( title, renderer, "text", column_runner, NULL );
+ gtk_tree_view_column_set_sort_column_id ( column, column_runner );
+ gtk_tree_view_append_column ( GTK_TREE_VIEW(view), column );
+ gtk_tree_view_column_set_reorderable ( column, TRUE );
+ gtk_tree_view_column_set_resizable ( column, TRUE );
+ return column;
+}
+
+/**
+ * vik_trw_layer_waypoint_list_internal:
+ * @dialog: The dialog to create the widgets in
+ * @waypoints_and_layers: The list of waypoints (and it's layer) to be shown
+ * @show_layer_names: Show the layer names that each waypoint belongs to
+ *
+ * Create a table of waypoints with corresponding waypoint information
+ * This table does not support being actively updated
+ */
+static void vik_trw_layer_waypoint_list_internal ( GtkWidget *dialog,
+ GList *waypoints_and_layers,
+ gboolean show_layer_names )
+{
+ if ( !waypoints_and_layers )
+ return;
+
+ // It's simple storing the gdouble values in the tree store as the sort works automatically
+ // Then apply specific cell data formatting (rather default double is to 6 decimal places!)
+ // However not storing any doubles for waypoints ATM
+ // TODO: Consider adding the waypoint icon into this store for display in the list
+ GtkTreeStore *store = gtk_tree_store_new ( WPT_LIST_COLS,
+ G_TYPE_STRING, // 0: Layer Name
+ G_TYPE_STRING, // 1: Waypoint Name
+ G_TYPE_STRING, // 2: Date
+ G_TYPE_BOOLEAN, // 3: Visible
+ G_TYPE_STRING, // 4: Comment
+ G_TYPE_INT, // 5: Height
+ GDK_TYPE_PIXBUF, // 6: Symbol Icon
+ G_TYPE_POINTER, // 7: TrackWaypoint Layer pointer
+ G_TYPE_POINTER ); // 8: Waypoint pointer
+
+ //gtk_tree_selection_set_select_function ( gtk_tree_view_get_selection (GTK_TREE_VIEW(vt)), vik_treeview_selection_filter, vt, NULL );
+
+ vik_units_distance_t dist_units = a_vik_get_units_distance ();
+ vik_units_height_t height_units = a_vik_get_units_height ();
+
+ //GList *gl = get_waypoints_and_layers_cb ( vl, user_data );
+ //g_list_foreach ( waypoints_and_layers, (GFunc) trw_layer_waypoint_list_add, store );
+ GList *gl = waypoints_and_layers;
+ while ( gl ) {
+ trw_layer_waypoint_list_add ( (vik_trw_waypoint_list_t*)gl->data, store, dist_units, height_units );
+ gl = g_list_next ( gl );
+ }
+
+ GtkWidget *view = gtk_tree_view_new();
+ GtkCellRenderer *renderer = gtk_cell_renderer_text_new();
+ g_object_set (G_OBJECT (renderer), "xalign", 0.0, "ellipsize", PANGO_ELLIPSIZE_END, NULL);
+ GtkTreeViewColumn *column;
+ GtkTreeViewColumn *sort_by_column;
+
+ gint column_runner = 0;
+ if ( show_layer_names ) {
+ // Insert column for the layer name when viewing multi layers
+ column = my_new_column_text ( _("Layer"), renderer, view, column_runner++ );
+ g_object_set (G_OBJECT (renderer), "xalign", 0.0, "ellipsize", PANGO_ELLIPSIZE_END, NULL);
+ gtk_tree_view_column_set_expand ( column, TRUE );
+ // remember the layer column so we can sort by it later
+ sort_by_column = column;
+ }
+ else
+ column_runner++;
+
+ column = my_new_column_text ( _("Name"), renderer, view, column_runner++ );
+ gtk_tree_view_column_set_expand ( column, TRUE );
+ if ( !show_layer_names )
+ // remember the name column so we can sort by it later
+ sort_by_column = column;
+
+ column = my_new_column_text ( _("Date"), renderer, view, column_runner++ );
+ gtk_tree_view_column_set_resizable ( column, TRUE );
+
+ GtkCellRenderer *renderer_toggle = gtk_cell_renderer_toggle_new ();
+ column = gtk_tree_view_column_new_with_attributes ( _("Visible"), renderer_toggle, "active", column_runner, NULL );
+ gtk_tree_view_column_set_sort_column_id ( column, column_runner );
+ gtk_tree_view_append_column ( GTK_TREE_VIEW(view), column );
+ column_runner++;
+
+ column = my_new_column_text ( _("Comment"), renderer, view, column_runner++ );
+ gtk_tree_view_column_set_expand ( column, TRUE );
+
+ if ( height_units == VIK_UNITS_HEIGHT_FEET )
+ column = my_new_column_text ( _("Max Height\n(Feet)"), renderer, view, column_runner++ );
+ else
+ column = my_new_column_text ( _("Max Height\n(Metres)"), renderer, view, column_runner++ );
+
+ GtkCellRenderer *renderer_pixbuf = gtk_cell_renderer_pixbuf_new ();
+ g_object_set (G_OBJECT (renderer_pixbuf), "xalign", 0.5, NULL);
+ column = gtk_tree_view_column_new_with_attributes ( _("Symbol"), renderer_pixbuf, "pixbuf", column_runner++, NULL );
+ // Special sort required for pixbufs
+ gtk_tree_sortable_set_sort_func ( GTK_TREE_SORTABLE(store), column_runner, sort_pixbuf_compare_func, NULL, NULL );
+ gtk_tree_view_column_set_sort_column_id ( column, column_runner );
+ gtk_tree_view_append_column ( GTK_TREE_VIEW(view), column );
+
+ gtk_tree_view_set_model ( GTK_TREE_VIEW(view), GTK_TREE_MODEL(store) );
+ gtk_tree_selection_set_mode ( gtk_tree_view_get_selection(GTK_TREE_VIEW(view)), GTK_SELECTION_BROWSE ); // GTK_SELECTION_MULTIPLE
+ gtk_tree_view_set_rules_hint ( GTK_TREE_VIEW(view), TRUE );
+
+ g_object_unref(store);
+
+ GtkWidget *scrolledwindow = gtk_scrolled_window_new ( NULL, NULL );
+ gtk_scrolled_window_set_policy ( GTK_SCROLLED_WINDOW(scrolledwindow), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC );
+ gtk_container_add ( GTK_CONTAINER(scrolledwindow), view );
+
+ g_object_set ( view, "has-tooltip", TRUE, NULL);
+
+ g_signal_connect ( view, "query-tooltip", G_CALLBACK (trw_layer_waypoint_tooltip_cb), NULL );
+ //g_signal_connect ( gtk_tree_view_get_selection (GTK_TREE_VIEW(view)), "changed", G_CALLBACK(trw_layer_waypoint_select_cb), view );
+
+ g_signal_connect ( view, "popup-menu", G_CALLBACK(trw_layer_waypoint_menu_popup), waypoints_and_layers );
+ g_signal_connect ( view, "button-press-event", G_CALLBACK(trw_layer_waypoint_button_pressed), waypoints_and_layers );
+
+ gtk_box_pack_start (GTK_BOX(GTK_DIALOG(dialog)->vbox), scrolledwindow, TRUE, TRUE, 0);
+
+ // Set ordering of the initial view by one of the name columns
+ gtk_tree_view_column_clicked ( sort_by_column );
+
+ // Ensure a reasonable number of items are shown
+ // TODO: may be save window size, column order, sorted by between invocations.
+ gtk_window_set_default_size ( GTK_WINDOW(dialog), show_layer_names ? 700 : 500, 400 );
+}
+
+
+/**
+ * vik_trw_layer_waypoint_list_show_dialog:
+ * @title: The title for the dialog
+ * @vl: The #VikLayer passed on into get_waypoints_and_layers_cb()
+ * @user_data: Data passed on into get_waypoints_and_layers_cb()
+ * @get_waypoints_and_layers_cb: The function to call to construct items to be analysed
+ * @show_layer_names: Normally only set when called from an aggregate level
+ *
+ * Common method for showing a list of waypoints with extended information
+ *
+ */
+void vik_trw_layer_waypoint_list_show_dialog ( gchar *title,
+ VikLayer *vl,
+ gpointer user_data,
+ VikTrwlayerGetWaypointsAndLayersFunc get_waypoints_and_layers_cb,
+ gboolean show_layer_names )
+{
+ GtkWidget *dialog = gtk_dialog_new_with_buttons ( title,
+ VIK_GTK_WINDOW_FROM_LAYER(vl),
+ GTK_DIALOG_DESTROY_WITH_PARENT,
+ GTK_STOCK_CLOSE,
+ GTK_RESPONSE_CLOSE,
+ NULL );
+
+ GList *gl = get_waypoints_and_layers_cb ( vl, user_data );
+
+ vik_trw_layer_waypoint_list_internal ( dialog, gl, show_layer_names );
+
+ // Use response to close the dialog with tidy up
+ g_signal_connect ( G_OBJECT(dialog), "response", G_CALLBACK(waypoint_close_cb), gl );
+
+ gtk_widget_show_all ( dialog );
+ // Yes - set the size *AGAIN* - this time widgets are expanded nicely
+ gtk_window_resize ( GTK_WINDOW(dialog), show_layer_names ? 800 : 600, 400 );
+
+ // ATM lock out on dialog run - to prevent list contents being manipulated in other parts of the GUI whilst shown here.
+ gtk_dialog_run (GTK_DIALOG (dialog));
+ // Unfortunately seems subsequently opening the Waypoint Properties we can't interact with it until this dialog is closed
+ // Thus this dialog is then forcibly closed when opening the properties.
+
+ // Occassionally the 'View' doesn't update the viewport properly
+ // viewport center + zoom is changed but the viewport isn't updated
+ // not sure why yet..
+}
diff --git a/src/viktrwlayer_waypointlist.h b/src/viktrwlayer_waypointlist.h
new file mode 100644
index 0000000..fed1b9c
--- /dev/null
+++ b/src/viktrwlayer_waypointlist.h
@@ -0,0 +1,38 @@
+/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 4; tab-width: 4 -*- */
+/*
+ * viking -- GPS Data and Topo Analyzer, Explorer, and Manager
+ *
+ * Copyright (C) 2013, Rob Norris <rw_norris@hotmail.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ */
+#ifndef _VIKING_TRWLAYER_WAYPOINTLIST_H
+#define _VIKING_TRWLAYER_WAYPOINTLIST_H
+
+#include "vikwaypoint.h"
+#include "viktrwlayer.h"
+
+G_BEGIN_DECLS
+
+void vik_trw_layer_waypoint_list_show_dialog ( gchar *title,
+ VikLayer *vl,
+ gpointer user_data,
+ VikTrwlayerGetWaypointsAndLayersFunc get_waypoints_and_layers_cb,
+ gboolean is_aggregate );
+
+G_END_DECLS
+
+#endif
diff --git a/src/vikutils.c b/src/vikutils.c
new file mode 100644
index 0000000..55c240c
--- /dev/null
+++ b/src/vikutils.c
@@ -0,0 +1,443 @@
+/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 4; tab-width: 4 -*- */
+/*
+ * viking -- GPS Data and Topo Analyzer, Explorer, and Manager
+ *
+ * Copyright (C) 2013, Rob Norris <rw_norris@hotmail.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ */
+/*
+ * Dependencies in this file can be on anything.
+ * For functions with simple system dependencies put it in util.c
+ */
+#include <math.h>
+#include <glib/gstdio.h>
+#include <glib/gi18n.h>
+#include <gtk/gtk.h>
+
+#include "vikutils.h"
+#include "globals.h"
+#include "download.h"
+#include "preferences.h"
+#include "vikmapslayer.h"
+#include "settings.h"
+#include "util.h"
+
+#define FMT_MAX_NUMBER_CODES 9
+
+/**
+ * vu_trackpoint_formatted_message:
+ * @format_code: String describing the message to generate
+ * @trkpt: The trackpoint for which the message is generated about
+ * @trkpt_prev: A trackpoint (presumed previous) for interpolating values with the other trackpoint (such as speed)
+ * @trk: The track in which the trackpoints reside
+ *
+ * TODO: One day replace this cryptic format code with some kind of tokenizer parsing
+ * thus would make it more user friendly and maybe even GUI controlable.
+ * However for now at least there is some semblance of user control
+ */
+gchar* vu_trackpoint_formatted_message ( gchar *format_code, VikTrackpoint *trkpt, VikTrackpoint *trkpt_prev, VikTrack *trk )
+{
+ if ( !trkpt )
+ return NULL;
+
+ gint len = 0;
+ if ( format_code )
+ len = strlen ( format_code );
+ if ( len > FMT_MAX_NUMBER_CODES )
+ len = FMT_MAX_NUMBER_CODES;
+
+ gchar* values[FMT_MAX_NUMBER_CODES];
+ int i;
+ for ( i = 0; i < FMT_MAX_NUMBER_CODES; i++ ) {
+ values[i] = '\0';
+ }
+
+ gchar *speed_units_str = NULL;
+ vik_units_speed_t speed_units = a_vik_get_units_speed ();
+ switch (speed_units) {
+ case VIK_UNITS_SPEED_MILES_PER_HOUR:
+ speed_units_str = g_strdup ( _("mph") );
+ break;
+ case VIK_UNITS_SPEED_METRES_PER_SECOND:
+ speed_units_str = g_strdup ( _("m/s") );
+ break;
+ case VIK_UNITS_SPEED_KNOTS:
+ speed_units_str = g_strdup ( _("knots") );
+ break;
+ default:
+ // VIK_UNITS_SPEED_KILOMETRES_PER_HOUR:
+ speed_units_str = g_strdup ( _("km/h") );
+ break;
+ }
+
+ gchar *separator = g_strdup ( " | " );
+
+ for ( i = 0; i < len; i++ ) {
+ switch ( g_ascii_toupper ( format_code[i] ) ) {
+ case 'G': values[i] = g_strdup ( _("GPSD") ); break; // GPS Preamble
+ case 'K': values[i] = g_strdup ( _("Trkpt") ); break; // Trkpt Preamble
+
+ case 'S': {
+ gdouble speed = 0.0;
+ gchar *speedtype = NULL;
+ if ( isnan(trkpt->speed) && trkpt_prev ) {
+ if ( trkpt->has_timestamp && trkpt_prev->has_timestamp ) {
+ if ( trkpt->timestamp == trkpt_prev->timestamp ) {
+
+ // Work out from previous trackpoint location and time difference
+ speed = vik_coord_diff(&(trkpt->coord), &(trkpt_prev->coord)) / ABS(trkpt->timestamp - trkpt_prev->timestamp);
+
+ switch (speed_units) {
+ case VIK_UNITS_SPEED_KILOMETRES_PER_HOUR:
+ speed = VIK_MPS_TO_KPH(speed);
+ break;
+ case VIK_UNITS_SPEED_MILES_PER_HOUR:
+ speed = VIK_MPS_TO_MPH(speed);
+ break;
+ case VIK_UNITS_SPEED_KNOTS:
+ speed = VIK_MPS_TO_KNOTS(speed);
+ break;
+ default:
+ // VIK_UNITS_SPEED_METRES_PER_SECOND:
+ // Already in m/s so nothing to do
+ break;
+ }
+ speedtype = g_strdup ( "*" ); // Interpolated
+ }
+ else
+ speedtype = g_strdup ( "**" );
+ }
+ else
+ speedtype = g_strdup ( "**" );
+ }
+ else {
+ speed = trkpt->speed;
+ speedtype = g_strdup ( "" );
+ }
+
+ values[i] = g_strdup_printf ( _("%sSpeed%s %.1f%s"), separator, speedtype, speed, speed_units_str );
+ g_free ( speedtype );
+ break;
+ }
+
+ case 'A': {
+ vik_units_height_t height_units = a_vik_get_units_height ();
+ switch (height_units) {
+ case VIK_UNITS_HEIGHT_FEET:
+ values[i] = g_strdup_printf ( _("%sAlt %dfeet"), separator, (int)round(VIK_METERS_TO_FEET(trkpt->altitude)) );
+ break;
+ default:
+ //VIK_UNITS_HEIGHT_METRES:
+ values[i] = g_strdup_printf ( _("%sAlt %dm"), separator, (int)round(trkpt->altitude) );
+ break;
+ }
+ break;
+ }
+
+ case 'C': {
+ gint heading = isnan(trkpt->course) ? 0 : (gint)round(trkpt->course);
+ values[i] = g_strdup_printf ( _("%sCourse %03d\302\260" ), separator, heading );
+ break;
+ }
+
+ case 'P': {
+ if ( trkpt_prev ) {
+ gint diff = (gint) round ( vik_coord_diff ( &(trkpt->coord), &(trkpt_prev->coord) ) );
+
+ gchar *dist_units_str = NULL;
+ vik_units_distance_t dist_units = a_vik_get_units_distance ();
+ // expect the difference between track points to be small hence use metres or yards
+ switch (dist_units) {
+ case VIK_UNITS_DISTANCE_MILES:
+ dist_units_str = g_strdup ( _("yards") );
+ break;
+ default:
+ // VIK_UNITS_DISTANCE_KILOMETRES:
+ dist_units_str = g_strdup ( _("m") );
+ break;
+ }
+
+ values[i] = g_strdup_printf ( _("%sDistance diff %d%s"), separator, diff, dist_units_str );
+
+ g_free ( dist_units_str );
+ }
+ break;
+ }
+
+ case 'T': {
+ gchar tmp[64];
+ tmp[0] = '\0';
+ if ( trkpt->has_timestamp ) {
+ // Compact date time format
+ strftime (tmp, sizeof(tmp), "%x %X", localtime(&(trkpt->timestamp)));
+ }
+ else
+ g_snprintf (tmp, sizeof(tmp), "--");
+ values[i] = g_strdup_printf ( _("%sTime %s"), separator, tmp );
+ break;
+ }
+
+ case 'M': {
+ if ( trkpt_prev ) {
+ if ( trkpt->has_timestamp && trkpt_prev->has_timestamp ) {
+ time_t t_diff = trkpt->timestamp - trkpt_prev->timestamp;
+ values[i] = g_strdup_printf ( _("%sTime diff %lds"), separator, t_diff );
+ }
+ }
+ break;
+ }
+
+ case 'X': values[i] = g_strdup_printf ( _("%sNo. of Sats %d"), separator, trkpt->nsats ); break;
+
+ case 'D': {
+ if ( trk ) {
+ // Distance from start (along the track)
+ gdouble distd = vik_track_get_length_to_trackpoint (trk, trkpt);
+ gchar *dist_units_str = NULL;
+ vik_units_distance_t dist_units = a_vik_get_units_distance ();
+ // expect the difference between track points to be small hence use metres or yards
+ switch (dist_units) {
+ case VIK_UNITS_DISTANCE_MILES:
+ dist_units_str = g_strdup ( _("miles") );
+ distd = VIK_METERS_TO_MILES(distd);
+ break;
+ default:
+ // VIK_UNITS_DISTANCE_KILOMETRES:
+ dist_units_str = g_strdup ( _("km") );
+ distd = distd / 1000.0;
+ break;
+ }
+ values[i] = g_strdup_printf ( _("%sDistance along %.2f%s"), separator, distd, dist_units_str );
+ g_free ( dist_units_str );
+ }
+ break;
+ }
+
+ case 'L': {
+ // Location (Lat/Long)
+ gchar *lat = NULL, *lon = NULL;
+ struct LatLon ll;
+ vik_coord_to_latlon (&(trkpt->coord), &ll);
+ a_coords_latlon_to_string ( &ll, &lat, &lon );
+ values[i] = g_strdup_printf ( "%s%s %s", separator, lat, lon );
+ g_free ( lat );
+ g_free ( lon );
+ break;
+ }
+
+ case 'N': // Name of track
+ values[i] = g_strdup_printf ( _("%sTrack: %s"), separator, trk->name );
+ break;
+
+ case 'E': // Name of trackpoint if available
+ if ( trkpt->name )
+ values[i] = g_strdup_printf ( "%s%s", separator, trkpt->name );
+ else
+ values[i] = g_strdup ( "" );
+ break;
+
+ default:
+ break;
+ }
+ }
+
+ g_free ( separator );
+ g_free ( speed_units_str );
+
+ gchar *msg = g_strconcat ( values[0], values[1], values[2], values[3], values[4], values[5], values[6], values[7], values[8], NULL );
+
+ for ( i = 0; i < FMT_MAX_NUMBER_CODES; i++ ) {
+ if ( values[i] != '\0' )
+ g_free ( values[i] );
+ }
+
+ return msg;
+}
+
+typedef struct {
+ GtkWindow *window; // Layer needed for redrawing
+ gchar *version; // Image list
+} new_version_thread_data;
+
+static gboolean new_version_available_message ( new_version_thread_data *nvtd )
+{
+ // Only a simple goto website option is offered
+ // Trying to do an installation update is platform specific
+ if ( a_dialog_yes_or_no ( nvtd->window,
+ _("There is a newer version of Viking available: %s\n\nDo you wish to go to Viking's website now?"), nvtd->version ) )
+ // NB 'VIKING_URL' redirects to the Wiki, here we want to go the main site.
+ open_url ( nvtd->window, "http://sourceforge.net/projects/viking/" );
+
+ g_free ( nvtd->version );
+ g_free ( nvtd );
+ return FALSE;
+}
+
+#define VIK_SETTINGS_VERSION_CHECKED_DATE "version_checked_date"
+
+static void latest_version_thread ( GtkWindow *window )
+{
+ // Need to allow a few redirects, as SF file is often served from different server
+ DownloadMapOptions options = { FALSE, FALSE, NULL, 5, NULL, NULL, NULL };
+ gchar *filename = a_download_uri_to_tmp_file ( "http://sourceforge.net/projects/viking/files/VERSION", &options );
+ //gchar *filename = g_strdup ( "VERSION" );
+ if ( !filename ) {
+ return;
+ }
+
+ GMappedFile *mf = g_mapped_file_new ( filename, FALSE, NULL );
+ if ( !mf )
+ return;
+
+ gchar *text = g_mapped_file_get_contents ( mf );
+
+ gint latest_version = viking_version_to_number ( text );
+ gint my_version = viking_version_to_number ( VIKING_VERSION );
+
+ g_debug ( "The lastest version is: %s", text );
+
+ if ( my_version < latest_version ) {
+ new_version_thread_data *nvtd = g_malloc ( sizeof(new_version_thread_data) );
+ nvtd->window = window;
+ nvtd->version = g_strdup ( text );
+ gdk_threads_add_idle ( (GSourceFunc) new_version_available_message, nvtd );
+ }
+ else
+ g_debug ( "Running the lastest version: %s", VIKING_VERSION );
+
+ g_mapped_file_unref ( mf );
+ if ( filename ) {
+ g_remove ( filename );
+ g_free ( filename );
+ }
+
+ // Update last checked time
+ GTimeVal time;
+ g_get_current_time ( &time );
+ a_settings_set_string ( VIK_SETTINGS_VERSION_CHECKED_DATE, g_time_val_to_iso8601(&time) );
+}
+
+#define VIK_SETTINGS_VERSION_CHECK_PERIOD "version_check_period_days"
+
+/**
+ * vu_check_latest_version:
+ * @window: Somewhere where we may need use the display to inform the user about the version status
+ *
+ * Periodically checks the released latest VERSION file on the website to compare with the running version
+ *
+ */
+void vu_check_latest_version ( GtkWindow *window )
+{
+ if ( ! a_vik_get_check_version () )
+ return;
+
+ gboolean do_check = FALSE;
+
+ gint check_period;
+ if ( ! a_settings_get_integer ( VIK_SETTINGS_VERSION_CHECK_PERIOD, &check_period ) ) {
+ check_period = 14;
+ }
+
+ // Get last checked date...
+ GDate *gdate_last = g_date_new();
+ GDate *gdate_now = g_date_new();
+ GTimeVal time_last;
+ gchar *last_checked_date = NULL;
+
+ // When no previous date available - set to do the version check
+ if ( a_settings_get_string ( VIK_SETTINGS_VERSION_CHECKED_DATE, &last_checked_date) ) {
+ if ( g_time_val_from_iso8601 ( last_checked_date, &time_last ) ) {
+ g_date_set_time_val ( gdate_last, &time_last );
+ }
+ else
+ do_check = TRUE;
+ }
+ else
+ do_check = TRUE;
+
+ GTimeVal time_now;
+ g_get_current_time ( &time_now );
+ g_date_set_time_val ( gdate_now, &time_now );
+
+ if ( ! do_check ) {
+ // Dates available so do the comparison
+ g_date_add_days ( gdate_last, check_period );
+ if ( g_date_compare ( gdate_last, gdate_now ) < 0 )
+ do_check = TRUE;
+ }
+
+ g_date_free ( gdate_last );
+ g_date_free ( gdate_now );
+
+ if ( do_check ) {
+#if GLIB_CHECK_VERSION (2, 32, 0)
+ g_thread_try_new ( "latest_version_thread", (GThreadFunc)latest_version_thread, window, NULL );
+#else
+ g_thread_create ( (GThreadFunc)latest_version_thread, window, FALSE, NULL );
+#endif
+ }
+}
+
+/**
+ * vu_set_auto_features_on_first_run:
+ *
+ * Ask the user's opinion to set some of Viking's default behaviour
+ */
+void vu_set_auto_features_on_first_run ( void )
+{
+ gboolean auto_features = FALSE;
+ if ( a_vik_very_first_run () ) {
+
+ GtkWidget *win = gtk_window_new ( GTK_WINDOW_TOPLEVEL );
+
+ if ( a_dialog_yes_or_no ( GTK_WINDOW(win),
+ _("This appears to be Viking's very first run.\n\nDo you wish to enable automatic internet features?\n\nIndividual settings can be controlled in the Preferences."), NULL ) )
+ auto_features = TRUE;
+ }
+
+ if ( auto_features ) {
+ // Set Maps to autodownload
+ // Ensure the default is true
+ maps_layer_set_autodownload_default ( TRUE );
+
+ // Simplistic repeat of preference settings
+ // Only the name & type are important for setting a preference via this 'external' way
+
+ // Enable auto add map +
+ // Enable IP lookup
+ VikLayerParam pref_add_map[] = { { VIK_LAYER_NUM_TYPES, VIKING_PREFERENCES_STARTUP_NAMESPACE "add_default_map_layer", VIK_LAYER_PARAM_BOOLEAN, VIK_LAYER_GROUP_NONE, NULL, VIK_LAYER_WIDGET_CHECKBUTTON, NULL, NULL, NULL, NULL, NULL, NULL, }, };
+ VikLayerParam pref_startup_method[] = { { VIK_LAYER_NUM_TYPES, VIKING_PREFERENCES_STARTUP_NAMESPACE "startup_method", VIK_LAYER_PARAM_UINT, VIK_LAYER_GROUP_NONE, NULL, VIK_LAYER_WIDGET_COMBOBOX, NULL, NULL, NULL, NULL, NULL, NULL}, };
+
+ VikLayerParamData vlp_data;
+ vlp_data.b = TRUE;
+ a_preferences_run_setparam ( vlp_data, pref_add_map );
+
+ vlp_data.u = VIK_STARTUP_METHOD_AUTO_LOCATION;
+ a_preferences_run_setparam ( vlp_data, pref_startup_method );
+
+ // Only on Windows make checking for the latest version on by default
+ // For other systems it's expected a Package manager or similar controls the installation, so leave it off
+#ifdef WINDOWS
+ VikLayerParam pref_startup_version_check[] = { { VIK_LAYER_NUM_TYPES, VIKING_PREFERENCES_STARTUP_NAMESPACE "check_version", VIK_LAYER_PARAM_BOOLEAN, VIK_LAYER_GROUP_NONE, NULL, VIK_LAYER_WIDGET_CHECKBUTTON, NULL, NULL, NULL, NULL, }, };
+ vlp_data.b = TRUE;
+ a_preferences_run_setparam ( vlp_data, pref_startup_version_check );
+#endif
+
+ // Ensure settings are saved for next time
+ a_preferences_save_to_file ();
+ }
+}
diff --git a/src/vikutils.h b/src/vikutils.h
new file mode 100644
index 0000000..a2016e6
--- /dev/null
+++ b/src/vikutils.h
@@ -0,0 +1,39 @@
+/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 4; tab-width: 4 -*- */
+/*
+ * viking -- GPS Data and Topo Analyzer, Explorer, and Manager
+ *
+ * Copyright (C) 2013, Rob Norris <rw_norris@hotmail.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ */
+#ifndef __VIKING_UTILS_H
+#define __VIKING_UTILS_H
+
+#include <glib.h>
+#include "viking.h"
+
+G_BEGIN_DECLS
+
+gchar* vu_trackpoint_formatted_message ( gchar *format_code, VikTrackpoint *trkpt, VikTrackpoint *trkpt_prev, VikTrack *trk );
+
+void vu_check_latest_version ( GtkWindow *window );
+
+void vu_set_auto_features_on_first_run ( void );
+
+G_END_DECLS
+
+#endif
+
diff --git a/src/vikviewport.c b/src/vikviewport.c
index 3bc3500..5c78db6 100644
--- a/src/vikviewport.c
+++ b/src/vikviewport.c
@@ -43,11 +43,13 @@
#include "vikcoord.h"
#include "vikwindow.h"
#include "vikviewport.h"
-
#include "mapcoord.h"
/* for ALTI_TO_MPP */
#include "globals.h"
+#include "settings.h"
+
+#define MERCATOR_FACTOR(x) ( (65536.0 / 180 / (x)) * 256.0 )
static gdouble EASTING_OFFSET = 500000.0;
@@ -70,9 +72,11 @@ struct _VikViewport {
GtkDrawingArea drawing_area;
GdkPixmap *scr_buffer;
gint width, height;
+ gint width_2, height_2; // Half of the normal width and height
VikCoord center;
VikCoordMode coord_mode;
gdouble xmpp, ympp;
+ gdouble xmfactor, ymfactor;
GdkPixbuf *alpha_pixbuf;
guint8 alpha_pixbuf_width;
@@ -144,6 +148,11 @@ VikViewport *vik_viewport_new ()
return vv;
}
+#define VIK_SETTINGS_VIEW_LAST_LATITUDE "viewport_last_latitude"
+#define VIK_SETTINGS_VIEW_LAST_LONGITUDE "viewport_last_longitude"
+#define VIK_SETTINGS_VIEW_LAST_ZOOM_X "viewport_last_zoom_xpp"
+#define VIK_SETTINGS_VIEW_LAST_ZOOM_Y "viewport_last_zoom_ypp"
+
static void
vik_viewport_init ( VikViewport *vvp )
{
@@ -153,11 +162,27 @@ vik_viewport_init ( VikViewport *vvp )
struct LatLon ll;
ll.lat = a_vik_get_default_lat();
ll.lon = a_vik_get_default_long();
+ gdouble zoom_x = 4.0;
+ gdouble zoom_y = 4.0;
+
+ if ( a_vik_get_startup_method ( ) == VIK_STARTUP_METHOD_LAST_LOCATION ) {
+ gdouble lat, lon, dzoom;
+ if ( a_settings_get_double ( VIK_SETTINGS_VIEW_LAST_LATITUDE, &lat ) )
+ ll.lat = lat;
+ if ( a_settings_get_double ( VIK_SETTINGS_VIEW_LAST_LONGITUDE, &lon ) )
+ ll.lon = lon;
+ if ( a_settings_get_double ( VIK_SETTINGS_VIEW_LAST_ZOOM_X, &dzoom ) )
+ zoom_x = dzoom;
+ if ( a_settings_get_double ( VIK_SETTINGS_VIEW_LAST_ZOOM_Y, &dzoom ) )
+ zoom_y = dzoom;
+ }
+
a_coords_latlon_to_utm ( &ll, &utm );
- /* TODO: not static */
- vvp->xmpp = 4.0;
- vvp->ympp = 4.0;
+ vvp->xmpp = zoom_x;
+ vvp->ympp = zoom_y;
+ vvp->xmfactor = MERCATOR_FACTOR (vvp->xmpp);
+ vvp->ymfactor = MERCATOR_FACTOR (vvp->ympp);
vvp->coord_mode = VIK_COORD_LATLON;
vvp->drawmode = VIK_VIEWPORT_DRAWMODE_MERCATOR;
vvp->center.mode = VIK_COORD_LATLON;
@@ -185,7 +210,11 @@ vik_viewport_init ( VikViewport *vvp )
g_signal_connect (G_OBJECT(vvp), "configure_event", G_CALLBACK(vik_viewport_configure), NULL);
+#if GTK_CHECK_VERSION (2,18,0)
+ gtk_widget_set_can_focus ( GTK_WIDGET(vvp), TRUE );
+#else
GTK_WIDGET_SET_FLAGS(vvp, GTK_CAN_FOCUS); /* allow VVP to have focus -- enabling key events, etc */
+#endif
}
GdkColor *vik_viewport_get_background_gdkcolor ( VikViewport *vvp )
@@ -264,7 +293,7 @@ GdkGC *vik_viewport_new_gc ( VikViewport *vvp, const gchar *colorname, gint thic
GdkGC *rv = NULL;
GdkColor color;
- rv = gdk_gc_new ( GTK_WIDGET(vvp)->window );
+ rv = gdk_gc_new ( gtk_widget_get_window(GTK_WIDGET(vvp)) );
if ( gdk_color_parse ( colorname, &color ) )
gdk_gc_set_rgb_fg_color ( rv, &color );
else
@@ -277,7 +306,7 @@ GdkGC *vik_viewport_new_gc_from_color ( VikViewport *vvp, GdkColor *color, gint
{
GdkGC *rv;
- rv = gdk_gc_new ( GTK_WIDGET(vvp)->window );
+ rv = gdk_gc_new ( gtk_widget_get_window(GTK_WIDGET(vvp)) );
gdk_gc_set_rgb_fg_color ( rv, color );
gdk_gc_set_line_attributes ( rv, thickness, GDK_LINE_SOLID, GDK_CAP_ROUND, GDK_JOIN_ROUND );
return rv;
@@ -287,14 +316,18 @@ void vik_viewport_configure_manually ( VikViewport *vvp, gint width, guint heigh
{
vvp->width = width;
vvp->height = height;
+
+ vvp->width_2 = vvp->width/2;
+ vvp->height_2 = vvp->height/2;
+
if ( vvp->scr_buffer )
g_object_unref ( G_OBJECT ( vvp->scr_buffer ) );
- vvp->scr_buffer = gdk_pixmap_new ( GTK_WIDGET(vvp)->window, vvp->width, vvp->height, -1 );
+ vvp->scr_buffer = gdk_pixmap_new ( gtk_widget_get_window(GTK_WIDGET(vvp)), vvp->width, vvp->height, -1 );
/* TODO trigger: only if this is enabled !!! */
if ( vvp->snapshot_buffer )
g_object_unref ( G_OBJECT ( vvp->snapshot_buffer ) );
- vvp->snapshot_buffer = gdk_pixmap_new ( GTK_WIDGET(vvp)->window, vvp->width, vvp->height, -1 );
+ vvp->snapshot_buffer = gdk_pixmap_new ( gtk_widget_get_window(GTK_WIDGET(vvp)), vvp->width, vvp->height, -1 );
}
@@ -310,16 +343,19 @@ gboolean vik_viewport_configure ( VikViewport *vvp )
vvp->width = GTK_WIDGET(vvp)->allocation.width;
vvp->height = GTK_WIDGET(vvp)->allocation.height;
+ vvp->width_2 = vvp->width/2;
+ vvp->height_2 = vvp->height/2;
+
if ( vvp->scr_buffer )
g_object_unref ( G_OBJECT ( vvp->scr_buffer ) );
- vvp->scr_buffer = gdk_pixmap_new ( GTK_WIDGET(vvp)->window, vvp->width, vvp->height, -1 );
+ vvp->scr_buffer = gdk_pixmap_new ( gtk_widget_get_window(GTK_WIDGET(vvp)), vvp->width, vvp->height, -1 );
/* TODO trigger: only if enabled! */
if ( vvp->snapshot_buffer )
g_object_unref ( G_OBJECT ( vvp->snapshot_buffer ) );
- vvp->snapshot_buffer = gdk_pixmap_new ( GTK_WIDGET(vvp)->window, vvp->width, vvp->height, -1 );
+ vvp->snapshot_buffer = gdk_pixmap_new ( gtk_widget_get_window(GTK_WIDGET(vvp)), vvp->width, vvp->height, -1 );
/* TODO trigger */
/* this is down here so it can get a GC (necessary?) */
@@ -346,6 +382,15 @@ static void viewport_finalize ( GObject *gob )
g_return_if_fail ( vvp != NULL );
+ if ( a_vik_get_startup_method ( ) == VIK_STARTUP_METHOD_LAST_LOCATION ) {
+ struct LatLon ll;
+ vik_coord_to_latlon ( &(vvp->center), &ll );
+ a_settings_set_double ( VIK_SETTINGS_VIEW_LAST_LATITUDE, ll.lat );
+ a_settings_set_double ( VIK_SETTINGS_VIEW_LAST_LONGITUDE, ll.lon );
+ a_settings_set_double ( VIK_SETTINGS_VIEW_LAST_ZOOM_X, vvp->xmpp );
+ a_settings_set_double ( VIK_SETTINGS_VIEW_LAST_ZOOM_Y, vvp->ympp );
+ }
+
if ( vvp->scr_buffer )
g_object_unref ( G_OBJECT ( vvp->scr_buffer ) );
@@ -452,18 +497,18 @@ void vik_viewport_draw_scale ( VikViewport *vvp )
vik_viewport_draw_line(vvp, vvp->scale_bg_gc,
PAD + len, vvp->height-PAD, PAD + len, vvp->height-PAD-HEIGHT);
/* black scale */
- vik_viewport_draw_line(vvp, GTK_WIDGET(&vvp->drawing_area)->style->black_gc,
+ vik_viewport_draw_line(vvp, gtk_widget_get_style(GTK_WIDGET(&vvp->drawing_area))->black_gc,
PAD, vvp->height-PAD, PAD + len, vvp->height-PAD);
- vik_viewport_draw_line(vvp, GTK_WIDGET(&vvp->drawing_area)->style->black_gc,
+ vik_viewport_draw_line(vvp, gtk_widget_get_style(GTK_WIDGET(&vvp->drawing_area))->black_gc,
PAD, vvp->height-PAD, PAD, vvp->height-PAD-HEIGHT);
- vik_viewport_draw_line(vvp, GTK_WIDGET(&vvp->drawing_area)->style->black_gc,
+ vik_viewport_draw_line(vvp, gtk_widget_get_style(GTK_WIDGET(&vvp->drawing_area))->black_gc,
PAD + len, vvp->height-PAD, PAD + len, vvp->height-PAD-HEIGHT);
if (odd%2) {
int i;
for (i=1; i<5; i++) {
vik_viewport_draw_line(vvp, vvp->scale_bg_gc,
PAD+i*len/5, vvp->height-PAD, PAD+i*len/5, vvp->height-PAD-((i==5)?(2*HEIGHT/3):(HEIGHT/2)));
- vik_viewport_draw_line(vvp, GTK_WIDGET(&vvp->drawing_area)->style->black_gc,
+ vik_viewport_draw_line(vvp, gtk_widget_get_style(GTK_WIDGET(&vvp->drawing_area))->black_gc,
PAD+i*len/5, vvp->height-PAD, PAD+i*len/5, vvp->height-PAD-((i==5)?(2*HEIGHT/3):(HEIGHT/2)));
}
} else {
@@ -471,12 +516,12 @@ void vik_viewport_draw_scale ( VikViewport *vvp )
for (i=1; i<10; i++) {
vik_viewport_draw_line(vvp, vvp->scale_bg_gc,
PAD+i*len/10, vvp->height-PAD, PAD+i*len/10, vvp->height-PAD-((i==5)?(2*HEIGHT/3):(HEIGHT/2)));
- vik_viewport_draw_line(vvp, GTK_WIDGET(&vvp->drawing_area)->style->black_gc,
+ vik_viewport_draw_line(vvp, gtk_widget_get_style(GTK_WIDGET(&vvp->drawing_area))->black_gc,
PAD+i*len/10, vvp->height-PAD, PAD+i*len/10, vvp->height-PAD-((i==5)?(2*HEIGHT/3):(HEIGHT/2)));
}
}
pl = gtk_widget_create_pango_layout (GTK_WIDGET(&vvp->drawing_area), NULL);
- pango_layout_set_font_description (pl, GTK_WIDGET(&vvp->drawing_area)->style->font_desc);
+ pango_layout_set_font_description (pl, gtk_widget_get_style(GTK_WIDGET(&vvp->drawing_area))->font_desc);
switch (dist_units) {
case VIK_UNITS_DISTANCE_KILOMETRES:
@@ -502,7 +547,7 @@ void vik_viewport_draw_scale ( VikViewport *vvp )
g_critical("Houston, we've had a problem. distance=%d", dist_units);
}
pango_layout_set_text(pl, s, -1);
- vik_viewport_draw_layout(vvp, GTK_WIDGET(&vvp->drawing_area)->style->black_gc,
+ vik_viewport_draw_layout(vvp, gtk_widget_get_style(GTK_WIDGET(&vvp->drawing_area))->black_gc,
PAD + len + PAD, vvp->height - PAD - 10, pl);
g_object_unref(pl);
pl = NULL;
@@ -543,7 +588,7 @@ void vik_viewport_draw_copyright ( VikViewport *vvp )
/* create pango layout */
pl = gtk_widget_create_pango_layout (GTK_WIDGET(&vvp->drawing_area), NULL);
- pango_layout_set_font_description (pl, GTK_WIDGET(&vvp->drawing_area)->style->font_desc);
+ pango_layout_set_font_description (pl, gtk_widget_get_style(GTK_WIDGET(&vvp->drawing_area))->font_desc);
pango_layout_set_alignment ( pl, PANGO_ALIGN_RIGHT );
/* Set the text */
@@ -552,7 +597,7 @@ void vik_viewport_draw_copyright ( VikViewport *vvp )
/* Use maximum of half the viewport width */
pango_layout_set_width ( pl, ( vvp->width / 2 ) * PANGO_SCALE );
pango_layout_get_pixel_extents(pl, &ink_rect, &logical_rect);
- vik_viewport_draw_layout(vvp, GTK_WIDGET(&vvp->drawing_area)->style->black_gc,
+ vik_viewport_draw_layout(vvp, gtk_widget_get_style(GTK_WIDGET(&vvp->drawing_area))->black_gc,
vvp->width / 2, vvp->height - logical_rect.height, pl);
/* Free memory */
@@ -588,7 +633,7 @@ void vik_viewport_draw_centermark ( VikViewport *vvp )
const int gap = 4;
int center_x = vvp->width/2;
int center_y = vvp->height/2;
- GdkGC * black_gc = GTK_WIDGET(&vvp->drawing_area)->style->black_gc;
+ GdkGC * black_gc = gtk_widget_get_style(GTK_WIDGET(&vvp->drawing_area))->black_gc;
/* white back ground */
vik_viewport_draw_line(vvp, vvp->scale_bg_gc, center_x - len, center_y, center_x - gap, center_y);
@@ -634,7 +679,7 @@ gboolean vik_viewport_get_draw_highlight ( VikViewport *vvp )
void vik_viewport_sync ( VikViewport *vvp )
{
g_return_if_fail ( vvp != NULL );
- gdk_draw_drawable(GTK_WIDGET(vvp)->window, GTK_WIDGET(vvp)->style->bg_gc[0], GDK_DRAWABLE(vvp->scr_buffer), 0, 0, 0, 0, vvp->width, vvp->height);
+ gdk_draw_drawable(gtk_widget_get_window(GTK_WIDGET(vvp)), gtk_widget_get_style(GTK_WIDGET(vvp))->bg_gc[0], GDK_DRAWABLE(vvp->scr_buffer), 0, 0, 0, 0, vvp->width, vvp->height);
}
void vik_viewport_pan_sync ( VikViewport *vvp, gint x_off, gint y_off )
@@ -642,7 +687,7 @@ void vik_viewport_pan_sync ( VikViewport *vvp, gint x_off, gint y_off )
gint x, y, wid, hei;
g_return_if_fail ( vvp != NULL );
- gdk_draw_drawable(GTK_WIDGET(vvp)->window, GTK_WIDGET(vvp)->style->bg_gc[0], GDK_DRAWABLE(vvp->scr_buffer), 0, 0, x_off, y_off, vvp->width, vvp->height);
+ gdk_draw_drawable(gtk_widget_get_window(GTK_WIDGET(vvp)), gtk_widget_get_style(GTK_WIDGET(vvp))->bg_gc[0], GDK_DRAWABLE(vvp->scr_buffer), 0, 0, x_off, y_off, vvp->width, vvp->height);
if (x_off >= 0) {
x = 0;
@@ -665,8 +710,11 @@ void vik_viewport_pan_sync ( VikViewport *vvp, gint x_off, gint y_off )
void vik_viewport_set_zoom ( VikViewport *vvp, gdouble xympp )
{
g_return_if_fail ( vvp != NULL );
- if ( xympp >= VIK_VIEWPORT_MIN_ZOOM && xympp <= VIK_VIEWPORT_MAX_ZOOM )
+ if ( xympp >= VIK_VIEWPORT_MIN_ZOOM && xympp <= VIK_VIEWPORT_MAX_ZOOM ) {
vvp->xmpp = vvp->ympp = xympp;
+ // Since xmpp & ympp are the same it doesn't matter which one is used here
+ vvp->xmfactor = vvp->ymfactor = MERCATOR_FACTOR(vvp->xmpp);
+ }
if ( vvp->drawmode == VIK_VIEWPORT_DRAWMODE_UTM )
viewport_utm_zone_check(vvp);
@@ -681,6 +729,9 @@ void vik_viewport_zoom_in ( VikViewport *vvp )
vvp->xmpp /= 2;
vvp->ympp /= 2;
+ vvp->xmfactor = MERCATOR_FACTOR(vvp->xmpp);
+ vvp->ymfactor = MERCATOR_FACTOR(vvp->ympp);
+
viewport_utm_zone_check(vvp);
}
}
@@ -693,6 +744,9 @@ void vik_viewport_zoom_out ( VikViewport *vvp )
vvp->xmpp *= 2;
vvp->ympp *= 2;
+ vvp->xmfactor = MERCATOR_FACTOR(vvp->xmpp);
+ vvp->ymfactor = MERCATOR_FACTOR(vvp->ympp);
+
viewport_utm_zone_check(vvp);
}
}
@@ -718,6 +772,7 @@ void vik_viewport_set_xmpp ( VikViewport *vvp, gdouble xmpp )
{
if ( xmpp >= VIK_VIEWPORT_MIN_ZOOM && xmpp <= VIK_VIEWPORT_MAX_ZOOM ) {
vvp->xmpp = xmpp;
+ vvp->ymfactor = MERCATOR_FACTOR(vvp->ympp);
if ( vvp->drawmode == VIK_VIEWPORT_DRAWMODE_UTM )
viewport_utm_zone_check(vvp);
}
@@ -727,6 +782,7 @@ void vik_viewport_set_ympp ( VikViewport *vvp, gdouble ympp )
{
if ( ympp >= VIK_VIEWPORT_MIN_ZOOM && ympp <= VIK_VIEWPORT_MAX_ZOOM ) {
vvp->ympp = ympp;
+ vvp->ymfactor = MERCATOR_FACTOR(vvp->ympp);
if ( vvp->drawmode == VIK_VIEWPORT_DRAWMODE_UTM )
viewport_utm_zone_check(vvp);
}
@@ -863,34 +919,32 @@ void vik_viewport_screen_to_coord ( VikViewport *vvp, int x, int y, VikCoord *co
utm->zone = vvp->center.utm_zone;
utm->letter = vvp->center.utm_letter;
- utm->easting = ( ( x - ( vvp->width / 2) ) * vvp->xmpp ) + vvp->center.east_west;
+ utm->easting = ( ( x - ( vvp->width_2) ) * vvp->xmpp ) + vvp->center.east_west;
zone_delta = floor( (utm->easting - EASTING_OFFSET ) / vvp->utm_zone_width + 0.5 );
utm->zone += zone_delta;
utm->easting -= zone_delta * vvp->utm_zone_width;
- utm->northing = ( ( ( vvp->height / 2) - y ) * vvp->ympp ) + vvp->center.north_south;
+ utm->northing = ( ( ( vvp->height_2) - y ) * vvp->ympp ) + vvp->center.north_south;
} else if ( vvp->coord_mode == VIK_COORD_LATLON ) {
coord->mode = VIK_COORD_LATLON;
if ( vvp->drawmode == VIK_VIEWPORT_DRAWMODE_LATLON ) {
- coord->east_west = vvp->center.east_west + (180.0 * vvp->xmpp / 65536 / 256 * (x - vvp->width/2));
- coord->north_south = vvp->center.north_south + (180.0 * vvp->ympp / 65536 / 256 * (vvp->height/2 - y));
+ coord->east_west = vvp->center.east_west + (180.0 * vvp->xmpp / 65536 / 256 * (x - vvp->width_2));
+ coord->north_south = vvp->center.north_south + (180.0 * vvp->ympp / 65536 / 256 * (vvp->height_2 - y));
} else if ( vvp->drawmode == VIK_VIEWPORT_DRAWMODE_EXPEDIA )
- calcxy_rev(&(coord->east_west), &(coord->north_south), x, y, vvp->center.east_west, vvp->center.north_south, vvp->xmpp * ALTI_TO_MPP, vvp->ympp * ALTI_TO_MPP, vvp->width/2, vvp->height/2);
+ calcxy_rev(&(coord->east_west), &(coord->north_south), x, y, vvp->center.east_west, vvp->center.north_south, vvp->xmpp * ALTI_TO_MPP, vvp->ympp * ALTI_TO_MPP, vvp->width_2, vvp->height_2);
else if ( vvp->drawmode == VIK_VIEWPORT_DRAWMODE_MERCATOR ) {
- /* FIXMERCATOR */
- coord->east_west = vvp->center.east_west + (180.0 * vvp->xmpp / 65536 / 256 * (x - vvp->width/2));
- coord->north_south = DEMERCLAT ( MERCLAT(vvp->center.north_south) + (180.0 * vvp->ympp / 65536 / 256 * (vvp->height/2 - y)) );
-
-#if 0
---> THIS IS JUNK HERE.
- *y = vvp->height/2 + (65536.0 / 180 / vvp->ympp * (MERCLAT(center->lat) - MERCLAT(ll->lat)))*256.0;
-
- (*y - vvp->height/2) / 256 / 65536 * 180 * vvp->ympp = (MERCLAT(center->lat) - MERCLAT(ll->lat);
- DML((180.0 * vvp->ympp / 65536 / 256 * (vvp->height/2 - y)) + ML(cl)) = ll
-#endif
+ /* This isn't called with a high frequently so less need to optimize */
+ coord->east_west = vvp->center.east_west + (180.0 * vvp->xmpp / 65536 / 256 * (x - vvp->width_2));
+ coord->north_south = DEMERCLAT ( MERCLAT(vvp->center.north_south) + (180.0 * vvp->ympp / 65536 / 256 * (vvp->height_2 - y)) );
}
}
}
+/*
+ * Since this function is used for every drawn trackpoint - it can get called alot
+ * Thus x & y position factors are calculated once on zoom changes,
+ * avoiding the need to do it here all the time.
+ * For good measure the half width and height values are also pre calculated too.
+ */
void vik_viewport_coord_to_screen ( VikViewport *vvp, const VikCoord *coord, int *x, int *y )
{
static VikCoord tmp;
@@ -912,49 +966,76 @@ void vik_viewport_coord_to_screen ( VikViewport *vvp, const VikCoord *coord, int
return;
}
- *x = ( (utm->easting - center->easting) / vvp->xmpp ) + (vvp->width / 2) -
+ *x = ( (utm->easting - center->easting) / vvp->xmpp ) + (vvp->width_2) -
(center->zone - utm->zone ) * vvp->utm_zone_width / vvp->xmpp;
- *y = (vvp->height / 2) - ( (utm->northing - center->northing) / vvp->ympp );
+ *y = (vvp->height_2) - ( (utm->northing - center->northing) / vvp->ympp );
} else if ( vvp->coord_mode == VIK_COORD_LATLON ) {
struct LatLon *center = (struct LatLon *) &(vvp->center);
struct LatLon *ll = (struct LatLon *) coord;
double xx,yy;
if ( vvp->drawmode == VIK_VIEWPORT_DRAWMODE_LATLON ) {
- /* FIXMERCATOR: Optimize */
- *x = vvp->width/2 + (65536.0 / 180 / vvp->xmpp * (ll->lon - center->lon))*256.0;
- *y = vvp->height/2 + (65536.0 / 180 / vvp->ympp * (center->lat - ll->lat))*256.0;
+ *x = vvp->width_2 + ( MERCATOR_FACTOR(vvp->xmpp) * (ll->lon - center->lon) );
+ *y = vvp->height_2 + ( MERCATOR_FACTOR(vvp->ympp) * (center->lat - ll->lat) );
} else if ( vvp->drawmode == VIK_VIEWPORT_DRAWMODE_EXPEDIA ) {
- calcxy ( &xx, &yy, center->lon, center->lat, ll->lon, ll->lat, vvp->xmpp * ALTI_TO_MPP, vvp->ympp * ALTI_TO_MPP, vvp->width / 2, vvp->height / 2 );
+ calcxy ( &xx, &yy, center->lon, center->lat, ll->lon, ll->lat, vvp->xmpp * ALTI_TO_MPP, vvp->ympp * ALTI_TO_MPP, vvp->width_2, vvp->height_2 );
*x = xx; *y = yy;
} else if ( vvp->drawmode == VIK_VIEWPORT_DRAWMODE_MERCATOR ) {
- /* FIXMERCATOR: Optimize */
- *x = vvp->width/2 + (65536.0 / 180 / vvp->xmpp * (ll->lon - center->lon))*256.0;
- *y = vvp->height/2 + (65536.0 / 180 / vvp->ympp * (MERCLAT(center->lat) - MERCLAT(ll->lat)))*256.0;
+ *x = vvp->width_2 + ( MERCATOR_FACTOR(vvp->xmpp) * (ll->lon - center->lon) );
+ *y = vvp->height_2 + ( MERCATOR_FACTOR(vvp->ympp) * ( MERCLAT(center->lat) - MERCLAT(ll->lat) ) );
}
}
}
-void a_viewport_clip_line ( gint *x1, gint *y1, gint *x2, gint *y2 )
+// Clip functions continually reduce the value by a factor until it is in the acceptable range
+// whilst also scaling the other coordinate value.
+static void clip_x ( gint *x1, gint *y1, gint *x2, gint *y2 )
+{
+ while ( ABS(*x1) > 32768 ) {
+ *x1 = *x2 + (0.5 * (*x1-*x2));
+ *y1 = *y2 + (0.5 * (*y1-*y2));
+ }
+}
+
+static void clip_y ( gint *x1, gint *y1, gint *x2, gint *y2 )
{
- if ( *x1 > 20000 || *x1 < -20000 ) {
- gdouble shrinkfactor = ABS(20000.0 / *x1);
- *x1 = *x2 + (shrinkfactor * (*x1-*x2));
- *y1 = *y2 + (shrinkfactor * (*y1-*y2));
- } else if ( *y1 > 20000 || *y1 < -20000 ) {
- gdouble shrinkfactor = ABS(20000.0 / *x1);
- *x1 = *x2 + (shrinkfactor * (*x1-*x2));
- *y1 = *y2 + (shrinkfactor * (*y1-*y2));
- } else if ( *x2 > 20000 || *x2 < -20000 ) {
- gdouble shrinkfactor = ABS(20000.0 / (gdouble)*x2);
- *x2 = *x1 + (shrinkfactor * (*x2-*x1));
- *y2 = *y1 + (shrinkfactor * (*y2-*y1));
- } else if ( *y2 > 20000 || *y2 < -20000 ) {
- gdouble shrinkfactor = ABS(20000.0 / (gdouble)*x2);
- *x2 = *x1 + (shrinkfactor * (*x2-*x1));
- *y2 = *y1 + (shrinkfactor * (*y2-*y1));
+ while ( ABS(*y1) > 32767 ) {
+ *x1 = *x2 + (0.5 * (*x1-*x2));
+ *y1 = *y2 + (0.5 * (*y1-*y2));
}
}
+/**
+ * a_viewport_clip_line:
+ * @x1: screen coord
+ * @y1: screen coord
+ * @x2: screen coord
+ * @y2: screen coord
+ *
+ * Due to the seemingly undocumented behaviour of gdk_draw_line(), we need to restrict the range of values passed in.
+ * So despite it accepting gints, the effective range seems to be the actually the minimum C int range (2^16).
+ * This seems to be limitations coming from the X Window System.
+ *
+ * See http://www.rahul.net/kenton/40errs.html
+ * ERROR 7. Boundary conditions.
+ * "The X coordinate space is not infinite.
+ * Most drawing functions limit position, width, and height to 16 bit integers (sometimes signed, sometimes unsigned) of accuracy.
+ * Because most C compilers use 32 bit integers, Xlib will not complain if you exceed the 16 bit limit, but your results will usually not be what you expected.
+ * You should be especially careful of this if you are implementing higher level scalable graphics packages."
+ *
+ * This function should be called before calling gdk_draw_line().
+ */
+void a_viewport_clip_line ( gint *x1, gint *y1, gint *x2, gint *y2 )
+{
+ if ( *x1 > 32768 || *x1 < -32767 )
+ clip_x ( x1, y1, x2, y2 );
+ if ( *y1 > 32768 || *y1 < -32767 )
+ clip_y ( x1, y1, x2, y2 );
+ if ( *x2 > 32768 || *x2 < -32767 )
+ clip_x ( x2, y2, x1, y1 );
+ if ( *y2 > 32768 || *y2 < -32767 )
+ clip_y ( x2, y2, x1, y1 );
+}
+
void vik_viewport_draw_line ( VikViewport *vvp, GdkGC *gc, gint x1, gint y1, gint x2, gint y2 )
{
if ( ! ( ( x1 < 0 && x2 < 0 ) || ( y1 < 0 && y2 < 0 ) ||
@@ -1020,9 +1101,8 @@ void vik_viewport_draw_pixbuf ( VikViewport *vvp, GdkPixbuf *pixbuf, gint src_x,
gint dest_x, gint dest_y, gint w, gint h )
{
gdk_draw_pixbuf ( vvp->scr_buffer,
-// GTK_WIDGET(vvp)->style->black_gc,
-NULL,
- pixbuf,
+ NULL,
+ pixbuf,
src_x, src_y, dest_x, dest_y, w, h,
GDK_RGB_DITHER_NONE, 0, 0 );
}
diff --git a/src/vikviewport.h b/src/vikviewport.h
index fdeee13..27f291d 100644
--- a/src/vikviewport.h
+++ b/src/vikviewport.h
@@ -40,7 +40,7 @@ G_BEGIN_DECLS
#define VIK_IS_VIEWPORT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VIK_VIEWPORT_TYPE))
#define VIK_VIEWPORT_MAX_ZOOM 32768.0
-#define VIK_VIEWPORT_MIN_ZOOM 0.125
+#define VIK_VIEWPORT_MIN_ZOOM (1 / 32.0)
/* used for coord to screen etc, screen to coord */
#define VIK_VIEWPORT_UTM_WRONG_ZONE -9999999
diff --git a/src/vikwaypoint.c b/src/vikwaypoint.c
index 3d78e48..8504185 100644
--- a/src/vikwaypoint.c
+++ b/src/vikwaypoint.c
@@ -25,6 +25,8 @@
#include "vikcoord.h"
#include "vikwaypoint.h"
#include "globals.h"
+#include "garminsymbols.h"
+#include "dems.h"
#include <glib/gi18n.h>
VikWaypoint *vik_waypoint_new()
@@ -87,13 +89,24 @@ void vik_waypoint_set_image(VikWaypoint *wp, const gchar *image)
void vik_waypoint_set_symbol(VikWaypoint *wp, const gchar *symname)
{
+ const gchar *hashed_symname;
+
if ( wp->symbol )
g_free ( wp->symbol );
- if ( symname && symname[0] != '\0' )
- wp->symbol = g_strdup(symname);
- else
+ // NB symbol_pixbuf is just a reference, so no need to free it
+
+ if ( symname && symname[0] != '\0' ) {
+ hashed_symname = a_get_hashed_sym ( symname );
+ if ( hashed_symname )
+ symname = hashed_symname;
+ wp->symbol = g_strdup ( symname );
+ wp->symbol_pixbuf = a_get_wp_sym ( wp->symbol );
+ }
+ else {
wp->symbol = NULL;
+ wp->symbol_pixbuf = NULL;
+ }
}
void vik_waypoint_free(VikWaypoint *wp)
@@ -115,6 +128,8 @@ VikWaypoint *vik_waypoint_copy(const VikWaypoint *wp)
new_wp->coord = wp->coord;
new_wp->visible = wp->visible;
new_wp->altitude = wp->altitude;
+ new_wp->has_timestamp = wp->has_timestamp;
+ new_wp->timestamp = wp->timestamp;
vik_waypoint_set_name(new_wp,wp->name);
vik_waypoint_set_comment(new_wp,wp->comment);
vik_waypoint_set_description(new_wp,wp->description);
@@ -123,6 +138,28 @@ VikWaypoint *vik_waypoint_copy(const VikWaypoint *wp)
return new_wp;
}
+/**
+ * vik_waypoint_apply_dem_data:
+ * @wp: The Waypoint to operate on
+ * @skip_existing: When TRUE, don't change the elevation if the waypoint already has a value
+ *
+ * Set elevation data for a waypoint using available DEM information
+ *
+ * Returns: TRUE if the waypoint was updated
+ */
+gboolean vik_waypoint_apply_dem_data ( VikWaypoint *wp, gboolean skip_existing )
+{
+ gboolean updated = FALSE;
+ if ( !(skip_existing && wp->altitude != VIK_DEFAULT_ALTITUDE) ) {
+ gint16 elev = a_dems_get_elev_by_coord ( &(wp->coord), VIK_DEM_INTERPOL_BEST );
+ if ( elev != VIK_DEM_INVALID_ELEVATION ) {
+ wp->altitude = (gdouble)elev;
+ updated = TRUE;
+ }
+ }
+ return updated;
+}
+
/*
* Take a Waypoint and convert it into a byte array
*/
diff --git a/src/vikwaypoint.h b/src/vikwaypoint.h
index ecd2b36..15b2df0 100644
--- a/src/vikwaypoint.h
+++ b/src/vikwaypoint.h
@@ -24,6 +24,8 @@
#include "vikcoord.h"
+#include <gdk-pixbuf/gdk-pixdata.h>
+
G_BEGIN_DECLS
/* todo important: put these in their own header file, maybe.probably also rename */
@@ -34,6 +36,8 @@ typedef struct _VikWaypoint VikWaypoint;
struct _VikWaypoint {
VikCoord coord;
gboolean visible;
+ gboolean has_timestamp;
+ time_t timestamp;
gdouble altitude;
gchar *name;
gchar *comment;
@@ -45,6 +49,8 @@ struct _VikWaypoint {
guint8 image_width;
guint8 image_height;
gchar *symbol;
+ // Only for GUI display
+ GdkPixbuf *symbol_pixbuf;
};
VikWaypoint *vik_waypoint_new();
@@ -56,6 +62,7 @@ void vik_waypoint_set_symbol(VikWaypoint *wp, const gchar *symname);
void vik_waypoint_free(VikWaypoint * wp);
VikWaypoint *vik_waypoint_copy(const VikWaypoint *wp);
void vik_waypoint_set_comment_no_copy(VikWaypoint *wp, gchar *comment);
+gboolean vik_waypoint_apply_dem_data ( VikWaypoint *wp, gboolean skip_existing );
void vik_waypoint_marshall ( VikWaypoint *wp, guint8 **data, guint *len);
VikWaypoint *vik_waypoint_unmarshall (guint8 *data, guint datalen);
diff --git a/src/vikwebtool_datasource.c b/src/vikwebtool_datasource.c
new file mode 100644
index 0000000..b962f58
--- /dev/null
+++ b/src/vikwebtool_datasource.c
@@ -0,0 +1,379 @@
+/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 4; tab-width: 4 -*- */
+/*
+ * viking -- GPS Data and Topo Analyzer, Explorer, and Manager
+ *
+ * Copyright (C) 2013, Rob Norris <rw_norris@hotmail.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include "vikwebtool_datasource.h"
+
+#include <string.h>
+
+#include <glib.h>
+#include <glib/gi18n.h>
+
+#include "globals.h"
+#include "acquire.h"
+#include "maputils.h"
+
+static GObjectClass *parent_class;
+
+static void webtool_datasource_finalize ( GObject *gob );
+
+static gchar *webtool_datasource_get_url ( VikWebtool *self, VikWindow *vw );
+
+typedef struct _VikWebtoolDatasourcePrivate VikWebtoolDatasourcePrivate;
+
+struct _VikWebtoolDatasourcePrivate
+{
+ gchar *url;
+ gchar *url_format_code;
+ gchar *file_type;
+};
+
+#define WEBTOOL_DATASOURCE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), \
+ VIK_WEBTOOL_DATASOURCE_TYPE, \
+ VikWebtoolDatasourcePrivate))
+
+G_DEFINE_TYPE (VikWebtoolDatasource, vik_webtool_datasource, VIK_WEBTOOL_TYPE)
+
+enum
+{
+ PROP_0,
+ PROP_URL,
+ PROP_URL_FORMAT_CODE,
+ PROP_FILE_TYPE,
+};
+
+static void webtool_datasource_set_property (GObject *object,
+ guint property_id,
+ const GValue *value,
+ GParamSpec *pspec)
+{
+ VikWebtoolDatasource *self = VIK_WEBTOOL_DATASOURCE ( object );
+ VikWebtoolDatasourcePrivate *priv = WEBTOOL_DATASOURCE_GET_PRIVATE ( self );
+
+ switch ( property_id ) {
+ case PROP_URL:
+ g_free ( priv->url );
+ priv->url = g_value_dup_string ( value );
+ g_debug ( "VikWebtoolDatasource.url: %s", priv->url );
+ break;
+
+ case PROP_URL_FORMAT_CODE:
+ g_free ( priv->url_format_code );
+ priv->url_format_code = g_value_dup_string ( value );
+ g_debug ( "VikWebtoolDatasource.url_format_code: %s", priv->url_format_code );
+ break;
+
+ case PROP_FILE_TYPE:
+ g_free ( priv->file_type );
+ priv->file_type = g_value_dup_string ( value );
+ g_debug ( "VikWebtoolDatasource.file_type: %s", priv->url_format_code );
+ break;
+
+ default:
+ /* We don't have any other property... */
+ G_OBJECT_WARN_INVALID_PROPERTY_ID ( object, property_id, pspec );
+ break;
+ }
+}
+
+static void webtool_datasource_get_property (GObject *object,
+ guint property_id,
+ GValue *value,
+ GParamSpec *pspec)
+{
+ VikWebtoolDatasource *self = VIK_WEBTOOL_DATASOURCE ( object );
+ VikWebtoolDatasourcePrivate *priv = WEBTOOL_DATASOURCE_GET_PRIVATE ( self );
+
+ switch ( property_id ) {
+
+ case PROP_URL: g_value_set_string ( value, priv->url ); break;
+ case PROP_URL_FORMAT_CODE: g_value_set_string ( value, priv->url_format_code ); break;
+ case PROP_FILE_TYPE: g_value_set_string ( value, priv->url ); break;
+
+ default:
+ /* We don't have any other property... */
+ G_OBJECT_WARN_INVALID_PROPERTY_ID ( object, property_id, pspec );
+ break;
+ }
+}
+
+typedef struct {
+ VikExtTool *self;
+ VikWindow *vw;
+ VikViewport *vvp;
+} datasource_t;
+
+static gpointer datasource_init ( acq_vik_t *avt )
+{
+ datasource_t *data = g_malloc(sizeof(*data));
+ data->self = avt->userdata;
+ data->vw = avt->vw;
+ data->vvp = avt->vvp;
+ return data;
+}
+
+static void datasource_get_cmd_string ( gpointer user_data, gchar **cmd, gchar **extra, DownloadMapOptions *options )
+{
+ datasource_t *data = (datasource_t*) user_data;
+
+ VikWebtool *vwd = VIK_WEBTOOL ( data->self );
+ gchar *url = vik_webtool_get_url ( vwd, data->vw );
+ g_debug ("%s: %s", __FUNCTION__, url );
+
+ *cmd = g_strdup ( url );
+
+ // Only use first section of the file_type string
+ // One can't use values like 'kml -x transform,rte=wpt' in order to do fancy things
+ // since it won't be in the right order for the overall GPSBabel command
+ // So prevent any potentially dangerous behaviour
+ VikWebtoolDatasourcePrivate *priv = WEBTOOL_DATASOURCE_GET_PRIVATE ( data->self );
+ gchar **parts = NULL;
+ if ( priv->file_type )
+ parts = g_strsplit ( priv->file_type, " ", 0);
+ if ( parts )
+ *extra = g_strdup ( parts[0] );
+ else
+ *extra = NULL;
+ g_strfreev ( parts );
+
+ options = NULL;
+}
+
+static gboolean datasource_process ( VikTrwLayer *vtl, const gchar *cmd, const gchar *extra, BabelStatusFunc status_cb, acq_dialog_widgets_t *adw, DownloadMapOptions *options )
+{
+ //datasource_t *data = (datasource_t *)adw->user_data;
+ // Dependent on the ExtTool / what extra has been set to...
+ // When extra is NULL - then it interprets results as a GPX
+ gboolean result = a_babel_convert_from_url ( vtl, cmd, extra, status_cb, adw, options);
+ return result;
+}
+
+static void cleanup ( gpointer data )
+{
+ g_free ( data );
+}
+
+static void webtool_datasource_open ( VikExtTool *self, VikWindow *vw )
+{
+ // Use VikDataSourceInterface to give thready goodness controls of downloading stuff (i.e. can cancel the request)
+
+ // Can now create a 'VikDataSourceInterface' on the fly...
+ VikDataSourceInterface *vik_datasource_interface = g_malloc(sizeof(VikDataSourceInterface));
+
+ // An 'easy' way of assigning values
+ VikDataSourceInterface data = {
+ vik_ext_tool_get_label (self),
+ vik_ext_tool_get_label (self),
+ VIK_DATASOURCE_ADDTOLAYER,
+ VIK_DATASOURCE_INPUTTYPE_NONE,
+ FALSE, // Maintain current view - rather than setting it to the acquired points
+ TRUE,
+ TRUE,
+ (VikDataSourceInitFunc) datasource_init,
+ (VikDataSourceCheckExistenceFunc) NULL,
+ (VikDataSourceAddSetupWidgetsFunc) NULL,
+ (VikDataSourceGetCmdStringFunc) datasource_get_cmd_string,
+ (VikDataSourceProcessFunc) datasource_process,
+ (VikDataSourceProgressFunc) NULL,
+ (VikDataSourceAddProgressWidgetsFunc) NULL,
+ (VikDataSourceCleanupFunc) cleanup,
+ (VikDataSourceOffFunc) NULL,
+ NULL,
+ 0,
+ NULL,
+ NULL,
+ 0
+ };
+ memcpy ( vik_datasource_interface, &data, sizeof(VikDataSourceInterface) );
+
+ a_acquire ( vw, vik_window_layers_panel(vw), vik_window_viewport (vw), vik_datasource_interface, self, cleanup );
+}
+
+static void vik_webtool_datasource_class_init ( VikWebtoolDatasourceClass *klass )
+{
+ GObjectClass *gobject_class;
+ VikWebtoolClass *base_class;
+ GParamSpec *pspec;
+
+ gobject_class = G_OBJECT_CLASS (klass);
+
+ gobject_class->finalize = webtool_datasource_finalize;
+ gobject_class->set_property = webtool_datasource_set_property;
+ gobject_class->get_property = webtool_datasource_get_property;
+
+ pspec = g_param_spec_string ("url",
+ "Template URL",
+ "Set the template URL",
+ VIKING_URL /* default value */,
+ G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE);
+ g_object_class_install_property (gobject_class,
+ PROP_URL,
+ pspec);
+
+ pspec = g_param_spec_string ("url_format_code",
+ "Template URL Format Code",
+ "Set the template URL format code",
+ "LRBT", // default value
+ G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE);
+ g_object_class_install_property (gobject_class,
+ PROP_URL_FORMAT_CODE,
+ pspec);
+
+ pspec = g_param_spec_string ("file_type",
+ "The file type expected",
+ "Set the file type",
+ NULL, // default value ~ equates to internal GPX reading
+ G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE);
+ g_object_class_install_property (gobject_class,
+ PROP_FILE_TYPE,
+ pspec);
+
+ parent_class = g_type_class_peek_parent (klass);
+
+ base_class = VIK_WEBTOOL_CLASS ( klass );
+ base_class->get_url = webtool_datasource_get_url;
+
+ // Override default open function here:
+ VikExtToolClass *ext_tool_class = VIK_EXT_TOOL_CLASS ( klass );
+ ext_tool_class->open = webtool_datasource_open;
+
+ g_type_class_add_private (klass, sizeof (VikWebtoolDatasourcePrivate));
+}
+
+VikWebtoolDatasource *vik_webtool_datasource_new ()
+{
+ return VIK_WEBTOOL_DATASOURCE ( g_object_new ( VIK_WEBTOOL_DATASOURCE_TYPE, NULL ) );
+}
+
+VikWebtoolDatasource *vik_webtool_datasource_new_with_members ( const gchar *label,
+ const gchar *url,
+ const gchar *url_format_code,
+ const gchar *file_type )
+{
+ VikWebtoolDatasource *result = VIK_WEBTOOL_DATASOURCE ( g_object_new ( VIK_WEBTOOL_DATASOURCE_TYPE,
+ "label", label,
+ "url", url,
+ "url_format_code", url_format_code,
+ "file_type", file_type,
+ NULL ) );
+
+ return result;
+}
+
+static void vik_webtool_datasource_init ( VikWebtoolDatasource *self )
+{
+ VikWebtoolDatasourcePrivate *priv = WEBTOOL_DATASOURCE_GET_PRIVATE (self);
+ priv->url = NULL;
+ priv->url_format_code = NULL;
+ priv->file_type = NULL;
+}
+
+static void webtool_datasource_finalize ( GObject *gob )
+{
+ VikWebtoolDatasourcePrivate *priv = WEBTOOL_DATASOURCE_GET_PRIVATE ( gob );
+ g_free ( priv->url ); priv->url = NULL;
+ g_free ( priv->url_format_code ); priv->url_format_code = NULL;
+ g_free ( priv->file_type ); priv->file_type = NULL;
+ G_OBJECT_CLASS(parent_class)->finalize(gob);
+}
+
+#define MAX_NUMBER_CODES 7
+
+/**
+ * Calculate individual elements (similarly to the VikWebtool Bounds & Center) for *all* potential values
+ * Then only values specified by the URL format are used in parameterizing the URL
+ */
+static gchar *webtool_datasource_get_url ( VikWebtool *self, VikWindow *vw )
+{
+ VikWebtoolDatasourcePrivate *priv = WEBTOOL_DATASOURCE_GET_PRIVATE ( self );
+ VikViewport *viewport = vik_window_viewport ( vw );
+
+ // Get top left and bottom right lat/lon pairs from the viewport
+ gdouble min_lat, max_lat, min_lon, max_lon;
+ gchar sminlon[G_ASCII_DTOSTR_BUF_SIZE];
+ gchar smaxlon[G_ASCII_DTOSTR_BUF_SIZE];
+ gchar sminlat[G_ASCII_DTOSTR_BUF_SIZE];
+ gchar smaxlat[G_ASCII_DTOSTR_BUF_SIZE];
+ vik_viewport_get_min_max_lat_lon ( viewport, &min_lat, &max_lat, &min_lon, &max_lon );
+
+ // Cannot simply use g_strdup_printf and gdouble due to locale.
+ // As we compute an URL, we have to think in C locale.
+ g_ascii_dtostr (sminlon, G_ASCII_DTOSTR_BUF_SIZE, min_lon);
+ g_ascii_dtostr (smaxlon, G_ASCII_DTOSTR_BUF_SIZE, max_lon);
+ g_ascii_dtostr (sminlat, G_ASCII_DTOSTR_BUF_SIZE, min_lat);
+ g_ascii_dtostr (smaxlat, G_ASCII_DTOSTR_BUF_SIZE, max_lat);
+
+ // Center values
+ const VikCoord *coord = vik_viewport_get_center ( viewport );
+ struct LatLon ll;
+ vik_coord_to_latlon ( coord, &ll );
+
+ gchar scenterlat[G_ASCII_DTOSTR_BUF_SIZE];
+ gchar scenterlon[G_ASCII_DTOSTR_BUF_SIZE];
+ g_ascii_dtostr (scenterlat, G_ASCII_DTOSTR_BUF_SIZE, ll.lat);
+ g_ascii_dtostr (scenterlon, G_ASCII_DTOSTR_BUF_SIZE, ll.lon);
+
+ guint8 zoom = 17; // A zoomed in default
+ // zoom - ideally x & y factors need to be the same otherwise use the default
+ if ( vik_viewport_get_xmpp ( viewport ) == vik_viewport_get_ympp ( viewport ) )
+ zoom = map_utils_mpp_to_zoom_level ( vik_viewport_get_zoom ( viewport ) );
+
+ gchar szoom[G_ASCII_DTOSTR_BUF_SIZE];
+ g_snprintf ( szoom, G_ASCII_DTOSTR_BUF_SIZE, "%d", zoom );
+
+ gint len = 0;
+ if ( priv->url_format_code )
+ len = strlen ( priv->url_format_code );
+ if ( len > MAX_NUMBER_CODES )
+ len = MAX_NUMBER_CODES;
+
+ gchar* values[MAX_NUMBER_CODES];
+ int i;
+ for ( i = 0; i < MAX_NUMBER_CODES; i++ ) {
+ values[i] = '\0';
+ }
+
+ for ( i = 0; i < len; i++ ) {
+ switch ( g_ascii_toupper ( priv->url_format_code[i] ) ) {
+ case 'L': values[i] = g_strdup ( sminlon ); break;
+ case 'R': values[i] = g_strdup ( smaxlon ); break;
+ case 'B': values[i] = g_strdup ( sminlat ); break;
+ case 'T': values[i] = g_strdup ( smaxlat ); break;
+ case 'A': values[i] = g_strdup ( scenterlat ); break;
+ case 'O': values[i] = g_strdup ( scenterlon ); break;
+ case 'Z': values[i] = g_strdup ( szoom ); break;
+ default: break;
+ }
+ }
+
+ gchar *url = g_strdup_printf ( priv->url, values[0], values[1], values[2], values[3], values[4], values[5], values[6] );
+
+ for ( i = 0; i < MAX_NUMBER_CODES; i++ ) {
+ if ( values[i] != '\0' )
+ g_free ( values[i] );
+ }
+
+ return url;
+}
diff --git a/src/vikwebtool_datasource.h b/src/vikwebtool_datasource.h
new file mode 100644
index 0000000..d94b54f
--- /dev/null
+++ b/src/vikwebtool_datasource.h
@@ -0,0 +1,61 @@
+/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 4; tab-width: 4 -*- */
+/*
+ * viking -- GPS Data and Topo Analyzer, Explorer, and Manager
+ *
+ * Copyright (C) 2013, Rob Norris <rw_norris@hotmail.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ */
+#ifndef _VIKING_WEBTOOL_DATASOURCE_H
+#define _VIKING_WEBTOOL_DATASOURCE_H
+
+#include <glib.h>
+
+#include "vikwebtool.h"
+
+G_BEGIN_DECLS
+
+#define VIK_WEBTOOL_DATASOURCE_TYPE (vik_webtool_datasource_get_type ())
+#define VIK_WEBTOOL_DATASOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VIK_WEBTOOL_DATASOURCE_TYPE, VikWebtoolDatasource))
+#define VIK_WEBTOOL_DATASOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VIK_WEBTOOL_DATASOURCE_TYPE, VikWebtoolDatasourceClass))
+#define IS_VIK_WEBTOOL_DATASOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VIK_WEBTOOL_DATASOURCE_TYPE))
+#define IS_VIK_WEBTOOL_DATASOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VIK_WEBTOOL_DATASOURCE_TYPE))
+#define VIK_WEBTOOL_DATASOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VIK_WEBTOOL_DATASOURCE_TYPE, VikWebtoolDatasourceClass))
+
+
+typedef struct _VikWebtoolDatasource VikWebtoolDatasource;
+typedef struct _VikWebtoolDatasourceClass VikWebtoolDatasourceClass;
+
+struct _VikWebtoolDatasourceClass
+{
+ VikWebtoolClass object_class;
+};
+
+GType vik_webtool_datasource_get_type ();
+
+struct _VikWebtoolDatasource {
+ VikWebtool obj;
+};
+
+VikWebtoolDatasource *vik_webtool_datasource_new ( );
+VikWebtoolDatasource *vik_webtool_datasource_new_with_members ( const gchar *label,
+ const gchar *url,
+ const gchar *url_format_code,
+ const gchar *file_type );
+
+G_END_DECLS
+
+#endif
diff --git a/src/vikwebtoolcenter.c b/src/vikwebtoolcenter.c
index c3d9316..3cef2ba 100644
--- a/src/vikwebtoolcenter.c
+++ b/src/vikwebtoolcenter.c
@@ -32,6 +32,7 @@
#include "util.h"
#include "globals.h"
+#include "maputils.h"
static GObjectClass *parent_class;
@@ -167,28 +168,8 @@ static void webtool_center_finalize ( GObject *gob )
G_OBJECT_CLASS(parent_class)->finalize(gob);
}
-/* 1 << (x) is like a 2**(x) */
-#define GZ(x) (1<<(x))
-
-static const gdouble scale_mpps[] = { GZ(0), GZ(1), GZ(2), GZ(3), GZ(4), GZ(5), GZ(6), GZ(7), GZ(8), GZ(9),
- GZ(10), GZ(11), GZ(12), GZ(13), GZ(14), GZ(15), GZ(16), GZ(17) };
-
-static const gint num_scales = (sizeof(scale_mpps) / sizeof(scale_mpps[0]));
-
-#define ERROR_MARGIN 0.01
static guint8 webtool_center_mpp_to_zoom ( VikWebtool *self, gdouble mpp ) {
- gint i;
- for ( i = 0; i < num_scales; i++ ) {
- if ( ABS(scale_mpps[i] - mpp) < ERROR_MARGIN ) {
- g_debug ( "webtool_center_mpp_to_zoom: %f -> %d", mpp, i );
- return i;
- }
- }
- // Handle mpp smaller than 1
- // return a useful value such that '17 - this number' gives a natural number.
- // Ideally should return '-1' or '0.5' but that's tricky with an unsigned int type!
- // (i.e. should rework to support zoom levels of 18 or 19)
- return 0;
+ return map_utils_mpp_to_zoom_level ( mpp );
}
static gchar *webtool_center_get_url ( VikWebtool *self, VikWindow *vwindow )
@@ -196,7 +177,7 @@ static gchar *webtool_center_get_url ( VikWebtool *self, VikWindow *vwindow )
VikWebtoolCenterPrivate *priv = NULL;
VikViewport *viewport = NULL;
const VikCoord *coord = NULL;
- guint8 zoom = 0;
+ guint8 zoom = 17;
struct LatLon ll;
gchar strlat[G_ASCII_DTOSTR_BUF_SIZE], strlon[G_ASCII_DTOSTR_BUF_SIZE];
@@ -207,18 +188,16 @@ static gchar *webtool_center_get_url ( VikWebtool *self, VikWindow *vwindow )
coord = vik_viewport_get_center ( viewport );
vik_coord_to_latlon ( coord, &ll );
- // zoom - ideally x & y factors need to be the same otherwise use a default
+ // zoom - ideally x & y factors need to be the same otherwise use the default
if ( vik_viewport_get_xmpp ( viewport ) == vik_viewport_get_ympp ( viewport ) )
zoom = vik_webtool_center_mpp_to_zoom ( self, vik_viewport_get_zoom ( viewport ) );
- else
- zoom = 1.0;
// Cannot simply use g_strdup_printf and gdouble due to locale.
// As we compute an URL, we have to think in C locale.
g_ascii_dtostr (strlat, G_ASCII_DTOSTR_BUF_SIZE, ll.lat);
g_ascii_dtostr (strlon, G_ASCII_DTOSTR_BUF_SIZE, ll.lon);
- return g_strdup_printf ( priv->url, strlat, strlon, 17-zoom );
+ return g_strdup_printf ( priv->url, strlat, strlon, zoom );
}
guint8 vik_webtool_center_mpp_to_zoom (VikWebtool *self, gdouble mpp)
diff --git a/src/vikwindow.c b/src/vikwindow.c
index 2dffa3d..324d0bb 100644
--- a/src/vikwindow.c
+++ b/src/vikwindow.c
@@ -3,7 +3,7 @@
*
* Copyright (C) 2003-2005, Evan Battaglia <gtoevan@gmx.net>
* Copyright (C) 2005-2006, Alex Foobarian <foobarian@gmail.com>
- * Copyright (C) 2012, Rob Norris <rw_norris@hotmail.com>
+ * Copyright (C) 2012-2013, Rob Norris <rw_norris@hotmail.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -34,8 +34,10 @@
#include "mapcache.h"
#include "print.h"
#include "preferences.h"
+#include "viklayer_defaults.h"
#include "icons/icons.h"
#include "vikexttools.h"
+#include "vikexttool_datasources.h"
#include "garminsymbols.h"
#include "vikmapslayer.h"
#include "geonamessearch.h"
@@ -62,6 +64,7 @@
// why not be allowed to open a thousand more...
#define MAX_WINDOWS 1024
static guint window_count = 0;
+static GSList *window_list = NULL;
#define VIKING_WINDOW_WIDTH 1000
#define VIKING_WINDOW_HEIGHT 800
@@ -156,6 +159,9 @@ struct _VikWindow {
GtkToolbar *toolbar;
+ GdkCursor *busy_cursor;
+ GdkCursor *viewport_cursor; // only a reference
+
/* tool management state */
guint current_tool;
toolbox_tools_t *vt;
@@ -172,6 +178,7 @@ struct _VikWindow {
gchar *filename;
gboolean modified;
+ VikLoadType_t loaded_type;
GtkWidget *open_dia, *save_dia;
GtkWidget *save_img_dia, *save_img_dir_dia;
@@ -288,6 +295,14 @@ static void destroy_window ( GtkWidget *widget,
gtk_main_quit ();
}
+#define VIK_SETTINGS_WIN_SIDEPANEL "window_sidepanel"
+#define VIK_SETTINGS_WIN_STATUSBAR "window_statusbar"
+#define VIK_SETTINGS_WIN_TOOLBAR "window_toolbar"
+// Menubar setting to off is never auto saved in case it's accidentally turned off
+// It's not so obvious so to recover the menu visibility.
+// Thus this value is for setting manually via editting the settings file directly
+#define VIK_SETTINGS_WIN_MENUBAR "window_menubar"
+
VikWindow *vik_window_new_window ()
{
if ( window_count < MAX_WINDOWS )
@@ -303,6 +318,40 @@ VikWindow *vik_window_new_window ()
gtk_widget_show_all ( GTK_WIDGET(vw) );
+ if ( a_vik_get_restore_window_state() ) {
+ // These settings are applied after the show all as these options hide widgets
+ gboolean sidepanel;
+ if ( a_settings_get_boolean ( VIK_SETTINGS_WIN_SIDEPANEL, &sidepanel ) )
+ if ( ! sidepanel ) {
+ gtk_widget_hide ( GTK_WIDGET(vw->viking_vlp) );
+ GtkWidget *check_box = gtk_ui_manager_get_widget ( vw->uim, "/ui/MainMenu/View/SetShow/ViewSidePanel" );
+ gtk_check_menu_item_set_active ( GTK_CHECK_MENU_ITEM(check_box), FALSE );
+ }
+
+ gboolean statusbar;
+ if ( a_settings_get_boolean ( VIK_SETTINGS_WIN_STATUSBAR, &statusbar ) )
+ if ( ! statusbar ) {
+ gtk_widget_hide ( GTK_WIDGET(vw->viking_vs) );
+ GtkWidget *check_box = gtk_ui_manager_get_widget ( vw->uim, "/ui/MainMenu/View/SetShow/ViewStatusBar" );
+ gtk_check_menu_item_set_active ( GTK_CHECK_MENU_ITEM(check_box), FALSE );
+ }
+
+ gboolean toolbar;
+ if ( a_settings_get_boolean ( VIK_SETTINGS_WIN_TOOLBAR, &toolbar ) )
+ if ( ! toolbar ) {
+ gtk_widget_hide ( GTK_WIDGET(vw->toolbar) );
+ GtkWidget *check_box = gtk_ui_manager_get_widget ( vw->uim, "/ui/MainMenu/View/SetShow/ViewToolBar" );
+ gtk_check_menu_item_set_active ( GTK_CHECK_MENU_ITEM(check_box), FALSE );
+ }
+
+ gboolean menubar;
+ if ( a_settings_get_boolean ( VIK_SETTINGS_WIN_MENUBAR, &menubar ) )
+ if ( ! menubar ) {
+ gtk_widget_hide ( gtk_ui_manager_get_widget ( vw->uim, "/ui/MainMenu" ) );
+ GtkWidget *check_box = gtk_ui_manager_get_widget ( vw->uim, "/ui/MainMenu/View/SetShow/ViewMainMenu" );
+ gtk_check_menu_item_set_active ( GTK_CHECK_MENU_ITEM(check_box), FALSE );
+ }
+ }
window_count++;
return vw;
@@ -310,6 +359,100 @@ VikWindow *vik_window_new_window ()
return NULL;
}
+/**
+ * determine_location_thread:
+ * @vw: The window that will get updated
+ * @threaddata: Data used by our background thread mechanism
+ *
+ * Use the features in vikgoto to determine where we are
+ * Then set up the viewport:
+ * 1. To goto the location
+ * 2. Set an appropriate level zoom for the location type
+ * 3. Some statusbar message feedback
+ */
+static int determine_location_thread ( VikWindow *vw, gpointer threaddata )
+{
+ struct LatLon ll;
+ gchar *name = NULL;
+ gint ans = a_vik_goto_where_am_i ( vw->viking_vvp, &ll, &name );
+
+ int result = a_background_thread_progress ( threaddata, 1.0 );
+ if ( result != 0 ) {
+ vik_window_statusbar_update ( vw, _("Location lookup aborted"), VIK_STATUSBAR_INFO );
+ return -1; /* Abort thread */
+ }
+
+ if ( ans ) {
+ // Zoom out a little
+ gdouble zoom = 16.0;
+
+ if ( ans == 2 ) {
+ // Position found with city precision - so zoom out more
+ zoom = 128.0;
+ }
+ else if ( ans == 3 ) {
+ // Position found via country name search - so zoom wayyyy out
+ zoom = 2048.0;
+ }
+
+ vik_viewport_set_zoom ( vw->viking_vvp, zoom );
+ vik_viewport_set_center_latlon ( vw->viking_vvp, &ll );
+
+ gchar *message = g_strdup_printf ( _("Location found: %s"), name );
+ vik_window_statusbar_update ( vw, message, VIK_STATUSBAR_INFO );
+ g_free ( name );
+ g_free ( message );
+
+ // Signal to redraw from the background
+ vik_layers_panel_emit_update ( vw->viking_vlp );
+ }
+ else
+ vik_window_statusbar_update ( vw, _("Unable to determine location"), VIK_STATUSBAR_INFO );
+
+ return 0;
+}
+
+/**
+ * Steps to be taken once initial loading has completed
+ */
+void vik_window_new_window_finish ( VikWindow *vw )
+{
+ // Don't add a map if we've loaded a Viking file already
+ if ( vw->filename )
+ return;
+
+ if ( a_vik_get_startup_method ( ) == VIK_STARTUP_METHOD_SPECIFIED_FILE ) {
+ vik_window_open_file ( vw, a_vik_get_startup_file(), TRUE );
+ if ( vw->filename )
+ return;
+ }
+
+ // Maybe add a default map layer
+ if ( a_vik_get_add_default_map_layer () ) {
+ VikMapsLayer *vml = VIK_MAPS_LAYER ( vik_layer_create(VIK_LAYER_MAPS, vw->viking_vvp, NULL, FALSE) );
+ vik_layer_rename ( VIK_LAYER(vml), _("Default Map") );
+ vik_aggregate_layer_add_layer ( vik_layers_panel_get_top_layer(vw->viking_vlp), VIK_LAYER(vml), TRUE );
+
+ draw_update ( vw );
+ }
+
+ // If not loaded any file, maybe try the location lookup
+ if ( vw->loaded_type == LOAD_TYPE_READ_FAILURE ) {
+ if ( a_vik_get_startup_method ( ) == VIK_STARTUP_METHOD_AUTO_LOCATION ) {
+
+ vik_statusbar_set_message ( vw->viking_vs, VIK_STATUSBAR_INFO, _("Trying to determine location...") );
+
+ a_background_thread ( GTK_WINDOW(vw),
+ _("Determining location"),
+ (vik_thr_func) determine_location_thread,
+ vw,
+ NULL,
+ NULL,
+ 1 );
+ }
+ }
+}
+
static void open_window ( VikWindow *vw, GSList *files )
{
gboolean change_fn = (g_slist_length(files) == 1); /* only change fn if one file */
@@ -317,7 +460,7 @@ static void open_window ( VikWindow *vw, GSList *files )
while ( cur_file ) {
// Only open a new window if a viking file
gchar *file_name = cur_file->data;
- if (vw != NULL && check_file_magic_vik ( file_name ) ) {
+ if (vw != NULL && vw->filename && check_file_magic_vik ( file_name ) ) {
VikWindow *newvw = vik_window_new_window ();
if (newvw)
vik_window_open_file ( newvw, file_name, TRUE );
@@ -359,6 +502,16 @@ static void window_finalize ( GObject *gob )
a_background_remove_window ( vw );
+ window_list = g_slist_remove ( window_list, vw );
+
+ gdk_cursor_unref ( vw->busy_cursor );
+ int tt;
+ for (tt = 0; tt < vw->vt->n_tools; tt++ )
+ if ( vw->vt->tools[tt].ti.destroy )
+ vw->vt->tools[tt].ti.destroy ( vw->vt->tools[tt].state );
+ g_free ( vw->vt->tools );
+ g_free ( vw->vt );
+
G_OBJECT_CLASS(parent_class)->finalize(gob);
}
@@ -385,7 +538,7 @@ static void zoom_changed (GtkMenuShell *menushell,
VikWindow *vw = VIK_WINDOW (user_data);
GtkWidget *aw = gtk_menu_get_active ( GTK_MENU (menushell) );
- gint active = GPOINTER_TO_INT(gtk_object_get_data ( GTK_OBJECT (aw), "position" ));
+ gint active = GPOINTER_TO_INT(g_object_get_data ( G_OBJECT (aw), "position" ));
gdouble zoom_request = pow (2, active-2 );
@@ -412,7 +565,7 @@ static GtkWidget *create_zoom_menu_all_levels ( gdouble mpp )
GtkWidget *item = gtk_menu_item_new_with_label (itemLabels[i]);
gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
gtk_widget_show (item);
- gtk_object_set_data (GTK_OBJECT (item), "position", GINT_TO_POINTER(i));
+ g_object_set_data (G_OBJECT (item), "position", GINT_TO_POINTER(i));
}
gint active = 2 + round ( log (mpp) / log (2) );
@@ -428,29 +581,28 @@ static GtkWidget *create_zoom_menu_all_levels ( gdouble mpp )
static GtkWidget *create_zoom_combo_all_levels ()
{
- GtkWidget *zoom_combo = gtk_combo_box_new_text();
- GtkComboBox *combo = GTK_COMBO_BOX ( zoom_combo );
- gtk_combo_box_append_text ( combo, "0.25");
- gtk_combo_box_append_text ( combo, "0.5");
- gtk_combo_box_append_text ( combo, "1");
- gtk_combo_box_append_text ( combo, "2");
- gtk_combo_box_append_text ( combo, "4");
- gtk_combo_box_append_text ( combo, "8");
- gtk_combo_box_append_text ( combo, "16");
- gtk_combo_box_append_text ( combo, "32");
- gtk_combo_box_append_text ( combo, "64");
- gtk_combo_box_append_text ( combo, "128");
- gtk_combo_box_append_text ( combo, "256");
- gtk_combo_box_append_text ( combo, "512");
- gtk_combo_box_append_text ( combo, "1024");
- gtk_combo_box_append_text ( combo, "2048");
- gtk_combo_box_append_text ( combo, "4096");
- gtk_combo_box_append_text ( combo, "8192");
- gtk_combo_box_append_text ( combo, "16384");
- gtk_combo_box_append_text ( combo, "32768");
+ GtkWidget *combo = vik_combo_box_text_new();
+ vik_combo_box_text_append ( combo, "0.25");
+ vik_combo_box_text_append ( combo, "0.5");
+ vik_combo_box_text_append ( combo, "1");
+ vik_combo_box_text_append ( combo, "2");
+ vik_combo_box_text_append ( combo, "4");
+ vik_combo_box_text_append ( combo, "8");
+ vik_combo_box_text_append ( combo, "16");
+ vik_combo_box_text_append ( combo, "32");
+ vik_combo_box_text_append ( combo, "64");
+ vik_combo_box_text_append ( combo, "128");
+ vik_combo_box_text_append ( combo, "256");
+ vik_combo_box_text_append ( combo, "512");
+ vik_combo_box_text_append ( combo, "1024");
+ vik_combo_box_text_append ( combo, "2048");
+ vik_combo_box_text_append ( combo, "4096");
+ vik_combo_box_text_append ( combo, "8192");
+ vik_combo_box_text_append ( combo, "16384");
+ vik_combo_box_text_append ( combo, "32768");
/* Create tooltip */
- gtk_widget_set_tooltip_text (GTK_WIDGET (combo), _("Select zoom level"));
- return zoom_combo;
+ gtk_widget_set_tooltip_text (combo, _("Select zoom level"));
+ return combo;
}
static gint zoom_popup_handler (GtkWidget *widget)
@@ -470,6 +622,66 @@ static gint zoom_popup_handler (GtkWidget *widget)
return TRUE;
}
+enum {
+ TARGET_URIS,
+};
+
+static void drag_data_received_cb ( GtkWidget *widget,
+ GdkDragContext *context,
+ gint x,
+ gint y,
+ GtkSelectionData *selection_data,
+ guint target_type,
+ guint time,
+ gpointer data )
+{
+ gboolean success = FALSE;
+
+ if ( (selection_data != NULL) && (gtk_selection_data_get_length(selection_data) > 0) ) {
+ switch (target_type) {
+ case TARGET_URIS: {
+ gchar *str = (gchar*)gtk_selection_data_get_data(selection_data);
+ g_debug ("drag received string:%s \n", str);
+
+ // Convert string into GSList of individual entries for use with our open signal
+ gchar **entries = g_strsplit(str, "\r\n", 0);
+ GSList *filenames = NULL;
+ gint entry_runner = 0;
+ gchar *entry = entries[entry_runner];
+ while (entry) {
+ if ( g_strcmp0 ( entry, "" ) ) {
+ // Drag+Drop gives URIs. And so in particular, %20 in place of spaces in filenames
+ // thus need to convert the text into a plain string
+ gchar *filename = g_filename_from_uri ( entry, NULL, NULL );
+ if ( filename )
+ filenames = g_slist_append ( filenames, filename );
+ }
+ entry_runner++;
+ entry = entries[entry_runner];
+ }
+
+ if ( filenames )
+ g_signal_emit ( G_OBJECT(VIK_WINDOW_FROM_WIDGET(widget)), window_signals[VW_OPENWINDOW_SIGNAL], 0, filenames );
+ // NB: GSList & contents are freed by main.open_window
+
+ success = TRUE;
+ break;
+ }
+ default: break;
+ }
+ }
+
+ gtk_drag_finish ( context, success, FALSE, time );
+}
+
+#define VIK_SETTINGS_WIN_MAX "window_maximized"
+#define VIK_SETTINGS_WIN_FULLSCREEN "window_fullscreen"
+#define VIK_SETTINGS_WIN_WIDTH "window_width"
+#define VIK_SETTINGS_WIN_HEIGHT "window_height"
+#define VIK_SETTINGS_WIN_SAVE_IMAGE_WIDTH "window_save_image_width"
+#define VIK_SETTINGS_WIN_SAVE_IMAGE_HEIGHT "window_save_image_height"
+#define VIK_SETTINGS_WIN_SAVE_IMAGE_PNG "window_save_image_as_png"
+
static void vik_window_init ( VikWindow *vw )
{
GtkWidget *main_vbox;
@@ -487,19 +699,34 @@ static void vik_window_init ( VikWindow *vw )
window_set_filename (vw, NULL);
vw->toolbar = GTK_TOOLBAR(gtk_ui_manager_get_widget (vw->uim, "/MainToolbar"));
+ vw->busy_cursor = gdk_cursor_new ( GDK_WATCH );
+
// Set the default tool
gtk_action_activate ( gtk_action_group_get_action ( vw->action_group, "Pan" ) );
vw->filename = NULL;
-
+ vw->loaded_type = LOAD_TYPE_READ_FAILURE; //AKA none
vw->modified = FALSE;
vw->only_updating_coord_mode_ui = FALSE;
vw->pan_move = FALSE;
vw->pan_x = vw->pan_y = -1;
- vw->draw_image_width = DRAW_IMAGE_DEFAULT_WIDTH;
- vw->draw_image_height = DRAW_IMAGE_DEFAULT_HEIGHT;
- vw->draw_image_save_as_png = DRAW_IMAGE_DEFAULT_SAVE_AS_PNG;
+
+ gint draw_image_width;
+ if ( a_settings_get_integer ( VIK_SETTINGS_WIN_SAVE_IMAGE_WIDTH, &draw_image_width ) )
+ vw->draw_image_width = draw_image_width;
+ else
+ vw->draw_image_width = DRAW_IMAGE_DEFAULT_WIDTH;
+ gint draw_image_height;
+ if ( a_settings_get_integer ( VIK_SETTINGS_WIN_SAVE_IMAGE_HEIGHT, &draw_image_height ) )
+ vw->draw_image_height = draw_image_height;
+ else
+ vw->draw_image_height = DRAW_IMAGE_DEFAULT_HEIGHT;
+ gboolean draw_image_save_as_png;
+ if ( a_settings_get_boolean ( VIK_SETTINGS_WIN_SAVE_IMAGE_PNG, &draw_image_save_as_png ) )
+ vw->draw_image_save_as_png = draw_image_save_as_png;
+ else
+ vw->draw_image_save_as_png = DRAW_IMAGE_DEFAULT_SAVE_AS_PNG;
main_vbox = gtk_vbox_new(FALSE, 1);
gtk_container_add (GTK_CONTAINER (vw), main_vbox);
@@ -509,7 +736,7 @@ static void vik_window_init ( VikWindow *vw )
gtk_toolbar_set_icon_size (vw->toolbar, GTK_ICON_SIZE_SMALL_TOOLBAR);
gtk_toolbar_set_style (vw->toolbar, GTK_TOOLBAR_ICONS);
- vik_ext_tools_add_menu_items ( vw, vw->uim );
+ vik_ext_tool_datasources_add_menu_items ( vw, vw->uim );
GtkWidget * zoom_levels = gtk_ui_manager_get_widget (vw->uim, "/MainMenu/View/SetZoom");
GtkWidget * zoom_levels_menu = create_zoom_menu_all_levels ( vik_viewport_get_zoom(vw->viking_vvp) );
@@ -531,8 +758,6 @@ static void vik_window_init ( VikWindow *vw )
// Allow key presses to be processed anywhere
g_signal_connect_swapped (G_OBJECT (vw), "key_press_event", G_CALLBACK (key_press_event), vw);
- gtk_window_set_default_size ( GTK_WINDOW(vw), VIKING_WINDOW_WIDTH, VIKING_WINDOW_HEIGHT);
-
hpaned = gtk_hpaned_new ();
gtk_paned_pack1 ( GTK_PANED(hpaned), GTK_WIDGET (vw->viking_vlp), FALSE, FALSE );
gtk_paned_pack2 ( GTK_PANED(hpaned), GTK_WIDGET (vw->viking_vvp), TRUE, TRUE );
@@ -544,11 +769,57 @@ static void vik_window_init ( VikWindow *vw )
a_background_add_window ( vw );
+ window_list = g_slist_prepend ( window_list, vw);
+
+ gint height = VIKING_WINDOW_HEIGHT;
+ gint width = VIKING_WINDOW_WIDTH;
+
+ if ( a_vik_get_restore_window_state() ) {
+ if ( a_settings_get_integer ( VIK_SETTINGS_WIN_HEIGHT, &height ) ) {
+ // Enforce a basic minimum size
+ if ( height < 160 )
+ height = 160;
+ }
+ else
+ // No setting - so use default
+ height = VIKING_WINDOW_HEIGHT;
+
+ if ( a_settings_get_integer ( VIK_SETTINGS_WIN_WIDTH, &width ) ) {
+ // Enforce a basic minimum size
+ if ( width < 320 )
+ width = 320;
+ }
+ else
+ // No setting - so use default
+ width = VIKING_WINDOW_WIDTH;
+
+ gboolean maxed;
+ if ( a_settings_get_boolean ( VIK_SETTINGS_WIN_MAX, &maxed ) )
+ if ( maxed )
+ gtk_window_maximize ( GTK_WINDOW(vw) );
+
+ gboolean full;
+ if ( a_settings_get_boolean ( VIK_SETTINGS_WIN_FULLSCREEN, &full ) ) {
+ if ( full ) {
+ gtk_window_fullscreen ( GTK_WINDOW(vw) );
+ GtkWidget *check_box = gtk_ui_manager_get_widget ( vw->uim, "/ui/MainMenu/View/FullScreen" );
+ gtk_check_menu_item_set_active ( GTK_CHECK_MENU_ITEM(check_box), TRUE );
+ }
+ }
+ }
+
+ gtk_window_set_default_size ( GTK_WINDOW(vw), width, height );
+
vw->open_dia = NULL;
vw->save_dia = NULL;
vw->save_img_dia = NULL;
vw->save_img_dir_dia = NULL;
+ // Only accept Drag and Drop of files onto the viewport
+ gtk_drag_dest_set ( GTK_WIDGET(vw->viking_vvp), GTK_DEST_DEFAULT_ALL, NULL, 0, GDK_ACTION_COPY );
+ gtk_drag_dest_add_uri_targets ( GTK_WIDGET(vw->viking_vvp) );
+ g_signal_connect ( GTK_WIDGET(vw->viking_vvp), "drag-data-received", G_CALLBACK(drag_data_received_cb), NULL );
+
// Store the thread value so comparisons can be made to determine the gdk update method
// Hopefully we are storing the main thread value here :)
// [ATM any window initialization is always be performed by the main thread]
@@ -665,6 +936,37 @@ static gboolean delete_event( VikWindow *vw )
default: gtk_widget_destroy ( GTK_WIDGET(dia) ); return ! save_file(NULL, vw);
}
}
+
+ if ( window_count == 1 ) {
+ // On the final window close - save latest state - if it's wanted...
+ if ( a_vik_get_restore_window_state() ) {
+ gint state = gdk_window_get_state ( GTK_WIDGET(vw)->window );
+ gboolean state_max = state & GDK_WINDOW_STATE_MAXIMIZED;
+ a_settings_set_boolean ( VIK_SETTINGS_WIN_MAX, state_max );
+
+ gboolean state_fullscreen = state & GDK_WINDOW_STATE_FULLSCREEN;
+ a_settings_set_boolean ( VIK_SETTINGS_WIN_FULLSCREEN, state_fullscreen );
+
+ a_settings_set_boolean ( VIK_SETTINGS_WIN_SIDEPANEL, GTK_WIDGET_VISIBLE (GTK_WIDGET(vw->viking_vlp)) );
+
+ a_settings_set_boolean ( VIK_SETTINGS_WIN_STATUSBAR, GTK_WIDGET_VISIBLE (GTK_WIDGET(vw->viking_vs)) );
+
+ a_settings_set_boolean ( VIK_SETTINGS_WIN_TOOLBAR, GTK_WIDGET_VISIBLE (GTK_WIDGET(vw->toolbar)) );
+
+ // If supersized - no need to save the enlarged width+height values
+ if ( ! (state_fullscreen || state_max) ) {
+ gint width, height;
+ gtk_window_get_size ( GTK_WINDOW (vw), &width, &height );
+ a_settings_set_integer ( VIK_SETTINGS_WIN_WIDTH, width );
+ a_settings_set_integer ( VIK_SETTINGS_WIN_HEIGHT, height );
+ }
+ }
+
+ a_settings_set_integer ( VIK_SETTINGS_WIN_SAVE_IMAGE_WIDTH, vw->draw_image_width );
+ a_settings_set_integer ( VIK_SETTINGS_WIN_SAVE_IMAGE_HEIGHT, vw->draw_image_height );
+ a_settings_set_boolean ( VIK_SETTINGS_WIN_SAVE_IMAGE_PNG, vw->draw_image_save_as_png );
+ }
+
return FALSE;
}
@@ -733,11 +1035,10 @@ static void window_configure_event ( VikWindow *vw )
if (first) {
// This is a hack to set the cursor corresponding to the first tool
// FIXME find the correct way to initialize both tool and its cursor
- const GdkCursor *cursor = NULL;
first = 0;
- cursor = toolbox_get_cursor(vw->vt, "Pan");
+ vw->viewport_cursor = (GdkCursor *)toolbox_get_cursor(vw->vt, "Pan");
/* We set cursor, even if it is NULL: it resets to default */
- gdk_window_set_cursor ( GTK_WIDGET(vw->viking_vvp)->window, (GdkCursor *)cursor );
+ gdk_window_set_cursor ( gtk_widget_get_window(GTK_WIDGET(vw->viking_vvp)), vw->viewport_cursor );
}
}
@@ -1043,7 +1344,7 @@ static void draw_ruler(VikViewport *vvp, GdkDrawable *d, GdkGC *gc, gint x1, gin
gint wb, hb, xb, yb;
pl = gtk_widget_create_pango_layout (GTK_WIDGET(vvp), NULL);
- pango_layout_set_font_description (pl, GTK_WIDGET(vvp)->style->font_desc);
+ pango_layout_set_font_description (pl, gtk_widget_get_style(GTK_WIDGET(vvp))->font_desc);
pango_layout_set_text(pl, "N", -1);
gdk_draw_layout(d, gc, x1-5, y1-CR-3*CW-8, pl);
@@ -1197,25 +1498,25 @@ static VikLayerToolFuncStatus ruler_move (VikLayer *vl, GdkEventMotion *event, r
w1 = vik_viewport_get_width(vvp);
h1 = vik_viewport_get_height(vvp);
if (!buf) {
- buf = gdk_pixmap_new ( GTK_WIDGET(vvp)->window, w1, h1, -1 );
+ buf = gdk_pixmap_new ( gtk_widget_get_window(GTK_WIDGET(vvp)), w1, h1, -1 );
}
gdk_drawable_get_size(buf, &w2, &h2);
if (w1 != w2 || h1 != h2) {
g_object_unref ( G_OBJECT ( buf ) );
- buf = gdk_pixmap_new ( GTK_WIDGET(vvp)->window, w1, h1, -1 );
+ buf = gdk_pixmap_new ( gtk_widget_get_window(GTK_WIDGET(vvp)), w1, h1, -1 );
}
vik_viewport_screen_to_coord ( vvp, (gint) event->x, (gint) event->y, &coord );
vik_coord_to_latlon ( &coord, &ll );
vik_viewport_coord_to_screen ( vvp, &s->oldcoord, &oldx, &oldy );
- gdk_draw_drawable (buf, GTK_WIDGET(vvp)->style->black_gc,
+ gdk_draw_drawable (buf, gtk_widget_get_style(GTK_WIDGET(vvp))->black_gc,
vik_viewport_get_pixmap(vvp), 0, 0, 0, 0, -1, -1);
- draw_ruler(vvp, buf, GTK_WIDGET(vvp)->style->black_gc, oldx, oldy, event->x, event->y, vik_coord_diff( &coord, &(s->oldcoord)) );
+ draw_ruler(vvp, buf, gtk_widget_get_style(GTK_WIDGET(vvp))->black_gc, oldx, oldy, event->x, event->y, vik_coord_diff( &coord, &(s->oldcoord)) );
if (draw_buf_done) {
static gpointer pass_along[3];
- pass_along[0] = GTK_WIDGET(vvp)->window;
- pass_along[1] = GTK_WIDGET(vvp)->style->black_gc;
+ pass_along[0] = gtk_widget_get_window(GTK_WIDGET(vvp));
+ pass_along[1] = gtk_widget_get_style(GTK_WIDGET(vvp))->black_gc;
pass_along[2] = buf;
g_idle_add_full (G_PRIORITY_HIGH_IDLE + 10, draw_buf, pass_along, NULL);
draw_buf_done = FALSE;
@@ -1304,7 +1605,7 @@ static void zoomtool_resize_pixmap (zoom_tool_state_t *zts)
if ( !zts->pixmap ) {
// Totally new
- zts->pixmap = gdk_pixmap_new ( GTK_WIDGET(zts->vw->viking_vvp)->window, w1, h1, -1 );
+ zts->pixmap = gdk_pixmap_new ( gtk_widget_get_window(GTK_WIDGET(zts->vw->viking_vvp)), w1, h1, -1 );
}
gdk_drawable_get_size ( zts->pixmap, &w2, &h2 );
@@ -1312,7 +1613,7 @@ static void zoomtool_resize_pixmap (zoom_tool_state_t *zts)
if ( w1 != w2 || h1 != h2 ) {
// Has changed - delete and recreate with new values
g_object_unref ( G_OBJECT ( zts->pixmap ) );
- zts->pixmap = gdk_pixmap_new ( GTK_WIDGET(zts->vw->viking_vvp)->window, w1, h1, -1 );
+ zts->pixmap = gdk_pixmap_new ( gtk_widget_get_window(GTK_WIDGET(zts->vw->viking_vvp)), w1, h1, -1 );
}
}
@@ -1401,7 +1702,7 @@ static VikLayerToolFuncStatus zoomtool_move (VikLayer *vl, GdkEventMotion *event
// Blank out currently drawn area
gdk_draw_drawable ( zts->pixmap,
- GTK_WIDGET(zts->vw->viking_vvp)->style->black_gc,
+ gtk_widget_get_style(GTK_WIDGET(zts->vw->viking_vvp))->black_gc,
vik_viewport_get_pixmap(zts->vw->viking_vvp),
0, 0, 0, 0, -1, -1);
@@ -1425,13 +1726,13 @@ static VikLayerToolFuncStatus zoomtool_move (VikLayer *vl, GdkEventMotion *event
}
// Draw the box
- gdk_draw_rectangle (zts->pixmap, GTK_WIDGET(zts->vw->viking_vvp)->style->black_gc, FALSE, xx, yy, width, height);
+ gdk_draw_rectangle (zts->pixmap, gtk_widget_get_style(GTK_WIDGET(zts->vw->viking_vvp))->black_gc, FALSE, xx, yy, width, height);
// Only actually draw when there's time to do so
if (draw_buf_done) {
static gpointer pass_along[3];
- pass_along[0] = GTK_WIDGET(zts->vw->viking_vvp)->window;
- pass_along[1] = GTK_WIDGET(zts->vw->viking_vvp)->style->black_gc;
+ pass_along[0] = gtk_widget_get_window(GTK_WIDGET(zts->vw->viking_vvp));
+ pass_along[1] = gtk_widget_get_style(GTK_WIDGET(zts->vw->viking_vvp))->black_gc;
pass_along[2] = zts->pixmap;
g_idle_add_full (G_PRIORITY_HIGH_IDLE + 10, draw_buf, pass_along, NULL);
draw_buf_done = FALSE;
@@ -1689,6 +1990,12 @@ static VikToolInterface select_tool =
static void draw_pan_cb ( GtkAction *a, VikWindow *vw )
{
+ // Since the treeview cell editting intercepts standard keyboard handlers, it means we can receive events here
+ // Thus if currently editting, ensure we don't move the viewport when Ctrl+<arrow> is received
+ VikLayer *sel = vik_layers_panel_get_selected ( vw->viking_vlp );
+ if ( sel && vik_treeview_get_editing ( sel->vt ) )
+ return;
+
if (!strcmp(gtk_action_get_name(a), "PanNorth")) {
vik_viewport_set_center_screen ( vw->viking_vvp, vik_viewport_get_width(vw->viking_vvp)/2, 0 );
} else if (!strcmp(gtk_action_get_name(a), "PanEast")) {
@@ -1784,12 +2091,12 @@ static void draw_refresh_cb ( GtkAction *a, VikWindow *vw )
static void menu_addlayer_cb ( GtkAction *a, VikWindow *vw )
{
- gint type;
+ VikLayerTypeEnum type;
for ( type = 0; type < VIK_LAYER_NUM_TYPES; type++ ) {
if (!strcmp(vik_layer_get_interface(type)->name, gtk_action_get_name(a))) {
if ( vik_layers_panel_new_layer ( vw->viking_vlp, type ) ) {
- draw_update ( vw );
- vw->modified = TRUE;
+ draw_update ( vw );
+ vw->modified = TRUE;
}
}
}
@@ -1808,7 +2115,7 @@ static void menu_cut_layer_cb ( GtkAction *a, VikWindow *vw )
static void menu_paste_layer_cb ( GtkAction *a, VikWindow *vw )
{
- if ( a_clipboard_paste ( vw->viking_vlp ) )
+ if ( vik_layers_panel_paste_selected ( vw->viking_vlp ) )
{
vw->modified = TRUE;
}
@@ -1825,7 +2132,6 @@ static void help_help_cb ( GtkAction *a, VikWindow *vw )
#ifdef WINDOWS
ShellExecute(NULL, "open", ""PACKAGE".pdf", NULL, NULL, SW_SHOWNORMAL);
#else /* WINDOWS */
-#if GTK_CHECK_VERSION (2, 14, 0)
gchar *uri;
uri = g_strdup_printf("ghelp:%s", PACKAGE);
GError *error = NULL;
@@ -1839,9 +2145,6 @@ static void help_help_cb ( GtkAction *a, VikWindow *vw )
g_error_free ( error );
}
g_free(uri);
-#else
- a_dialog_error_msg ( GTK_WINDOW(vw), "Help is not available in this build." ); // Unlikely to happen so not going to bother with I8N
-#endif
#endif /* WINDOWS */
}
@@ -2033,16 +2336,14 @@ void vik_window_enable_layer_tool ( VikWindow *vw, gint layer_id, gint tool_id )
static void menu_tool_cb ( GtkAction *old, GtkAction *a, VikWindow *vw )
{
/* White Magic, my friends ... White Magic... */
- int layer_id, tool_id;
- const GdkCursor *cursor = NULL;
-
+ gint tool_id;
toolbox_activate(vw->vt, gtk_action_get_name(a));
- cursor = toolbox_get_cursor(vw->vt, gtk_action_get_name(a));
+ vw->viewport_cursor = (GdkCursor *)toolbox_get_cursor(vw->vt, gtk_action_get_name(a));
- if ( GTK_WIDGET(vw->viking_vvp)->window )
+ if ( gtk_widget_get_window(GTK_WIDGET(vw->viking_vvp)) )
/* We set cursor, even if it is NULL: it resets to default */
- gdk_window_set_cursor ( GTK_WIDGET(vw->viking_vvp)->window, (GdkCursor *)cursor );
+ gdk_window_set_cursor ( gtk_widget_get_window(GTK_WIDGET(vw->viking_vvp)), vw->viewport_cursor );
if (!strcmp(gtk_action_get_name(a), "Pan")) {
vw->current_tool = TOOL_PAN;
@@ -2058,6 +2359,7 @@ static void menu_tool_cb ( GtkAction *old, GtkAction *a, VikWindow *vw )
}
else {
/* TODO: only enable tools from active layer */
+ VikLayerTypeEnum layer_id;
for (layer_id=0; layer_id<VIK_LAYER_NUM_TYPES; layer_id++) {
for ( tool_id = 0; tool_id < vik_layer_get_interface(layer_id)->tools_count; tool_id++ ) {
if (!strcmp(vik_layer_get_interface(layer_id)->tools[tool_id].radioActionEntry.name, gtk_action_get_name(a))) {
@@ -2211,9 +2513,32 @@ static void update_recently_used_document(const gchar *filename)
g_slice_free (GtkRecentData, recent_data);
}
+/**
+ * Call this before doing things that may take a long time and otherwise not show any other feedback
+ * such as loading and saving files
+ */
+void vik_window_set_busy_cursor ( VikWindow *vw )
+{
+ gdk_window_set_cursor ( gtk_widget_get_window(GTK_WIDGET(vw)), vw->busy_cursor );
+ // Viewport has a separate cursor
+ gdk_window_set_cursor ( gtk_widget_get_window(GTK_WIDGET(vw->viking_vvp)), vw->busy_cursor );
+ // Ensure cursor updated before doing stuff
+ while( gtk_events_pending() )
+ gtk_main_iteration();
+}
+
+void vik_window_clear_busy_cursor ( VikWindow *vw )
+{
+ gdk_window_set_cursor ( gtk_widget_get_window(GTK_WIDGET(vw)), NULL );
+ // Restore viewport cursor
+ gdk_window_set_cursor ( gtk_widget_get_window(GTK_WIDGET(vw->viking_vvp)), vw->viewport_cursor );
+}
+
void vik_window_open_file ( VikWindow *vw, const gchar *filename, gboolean change_filename )
{
- switch ( a_file_load ( vik_layers_panel_get_top_layer(vw->viking_vlp), vw->viking_vvp, filename ) )
+ vik_window_set_busy_cursor ( vw );
+ vw->loaded_type = a_file_load ( vik_layers_panel_get_top_layer(vw->viking_vlp), vw->viking_vvp, filename );
+ switch ( vw->loaded_type )
{
case LOAD_TYPE_READ_FAILURE:
a_dialog_error_msg ( GTK_WINDOW(vw), _("The file you requested could not be opened.") );
@@ -2267,7 +2592,10 @@ void vik_window_open_file ( VikWindow *vw, const gchar *filename, gboolean chang
draw_update ( vw );
break;
}
+
+ vik_window_clear_busy_cursor ( vw );
}
+
static void load_file ( GtkAction *a, VikWindow *vw )
{
GSList *files = NULL;
@@ -2287,11 +2615,17 @@ static void load_file ( GtkAction *a, VikWindow *vw )
if ( ! vw->open_dia )
{
vw->open_dia = gtk_file_chooser_dialog_new (_("Please select a GPS data file to open. "),
- GTK_WINDOW(vw),
- GTK_FILE_CHOOSER_ACTION_OPEN,
- GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
- GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT,
- NULL);
+ GTK_WINDOW(vw),
+ GTK_FILE_CHOOSER_ACTION_OPEN,
+ GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
+ GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT,
+ NULL);
+ gchar *cwd = g_get_current_dir();
+ if ( cwd ) {
+ gtk_file_chooser_set_current_folder ( GTK_FILE_CHOOSER(vw->open_dia), cwd );
+ g_free ( cwd );
+ }
+
GtkFileFilter *filter;
// NB file filters are listed this way for alphabetical ordering
#ifdef VIK_CONFIG_GEOCACHES
@@ -2383,11 +2717,17 @@ static gboolean save_file_as ( GtkAction *a, VikWindow *vw )
if ( ! vw->save_dia )
{
vw->save_dia = gtk_file_chooser_dialog_new (_("Save as Viking File."),
- GTK_WINDOW(vw),
- GTK_FILE_CHOOSER_ACTION_SAVE,
- GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
- GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT,
- NULL);
+ GTK_WINDOW(vw),
+ GTK_FILE_CHOOSER_ACTION_SAVE,
+ GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
+ GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT,
+ NULL);
+ gchar *cwd = g_get_current_dir();
+ if ( cwd ) {
+ gtk_file_chooser_set_current_folder ( GTK_FILE_CHOOSER(vw->save_dia), cwd );
+ g_free ( cwd );
+ }
+
GtkFileFilter *filter;
filter = gtk_file_filter_new ();
gtk_file_filter_set_name( filter, _("All") );
@@ -2430,16 +2770,20 @@ static gboolean save_file_as ( GtkAction *a, VikWindow *vw )
static gboolean window_save ( VikWindow *vw )
{
+ vik_window_set_busy_cursor ( vw );
+ gboolean success = TRUE;
+
if ( a_file_save ( vik_layers_panel_get_top_layer ( vw->viking_vlp ), vw->viking_vvp, vw->filename ) )
{
update_recently_used_document ( vw->filename );
- return TRUE;
}
else
{
a_dialog_error_msg ( GTK_WINDOW(vw), _("The filename you requested could not be opened for writing.") );
- return FALSE;
+ success = FALSE;
}
+ vik_window_clear_busy_cursor ( vw );
+ return success;
}
static gboolean save_file ( GtkAction *a, VikWindow *vw )
@@ -2453,6 +2797,163 @@ static gboolean save_file ( GtkAction *a, VikWindow *vw )
}
}
+/**
+ * export_to:
+ *
+ * Export all TRW Layers in the list to individual files in the specified directory
+ *
+ * Returns: %TRUE on success
+ */
+static gboolean export_to ( VikWindow *vw, GList *gl, VikFileType_t vft, const gchar *dir, const gchar *extension )
+{
+ gboolean success = TRUE;
+
+ gint export_count = 0;
+
+ vik_window_set_busy_cursor ( vw );
+
+ while ( gl ) {
+
+ gchar *fn = g_strconcat ( dir, G_DIR_SEPARATOR_S, VIK_LAYER(gl->data)->name, extension, NULL );
+
+ // Some protection in attempting to write too many same named files
+ // As this will get horribly slow...
+ gboolean safe = FALSE;
+ gint ii = 2;
+ while ( ii < 5000 ) {
+ if ( g_file_test ( fn, G_FILE_TEST_EXISTS ) ) {
+ // Try rename
+ g_free ( fn );
+ fn = g_strdup_printf ( "%s%s%s#%03d%s", dir, G_DIR_SEPARATOR_S, VIK_LAYER(gl->data)->name, ii, extension );
+ }
+ else {
+ safe = TRUE;
+ break;
+ }
+ ii++;
+ }
+ if ( ii == 5000 )
+ success = FALSE;
+
+ // NB: We allow exporting empty layers
+ if ( safe ) {
+ gboolean this_success = a_file_export ( VIK_TRW_LAYER(gl->data), fn, vft, NULL, TRUE );
+
+ // Show some progress
+ if ( this_success ) {
+ export_count++;
+ gchar *message = g_strdup_printf ( _("Exporting to file: %s"), fn );
+ vik_statusbar_set_message ( vw->viking_vs, VIK_STATUSBAR_INFO, message );
+ while ( gtk_events_pending() )
+ gtk_main_iteration ();
+ g_free ( message );
+ }
+
+ success = success && this_success;
+ }
+
+ g_free ( fn );
+ gl = g_list_next ( gl );
+ }
+
+ vik_window_clear_busy_cursor ( vw );
+
+ // Confirm what happened.
+ gchar *message = g_strdup_printf ( _("Exported files: %d"), export_count );
+ vik_statusbar_set_message ( vw->viking_vs, VIK_STATUSBAR_INFO, message );
+ g_free ( message );
+
+ return success;
+}
+
+static void export_to_common ( VikWindow *vw, VikFileType_t vft, const gchar *extension )
+{
+ GList *gl = vik_layers_panel_get_all_layers_of_type ( vw->viking_vlp, VIK_LAYER_TRW, TRUE );
+
+ if ( !gl ) {
+ a_dialog_info_msg ( GTK_WINDOW(vw), _("Nothing to Export!") );
+ return;
+ }
+
+ GtkWidget *dialog = gtk_file_chooser_dialog_new ( _("Export to directory"),
+ GTK_WINDOW(vw),
+ GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER,
+ GTK_STOCK_CANCEL,
+ GTK_RESPONSE_REJECT,
+ GTK_STOCK_OK,
+ GTK_RESPONSE_ACCEPT,
+ NULL );
+ gtk_window_set_transient_for ( GTK_WINDOW(dialog), GTK_WINDOW(vw) );
+ gtk_window_set_destroy_with_parent ( GTK_WINDOW(dialog), TRUE );
+ gtk_window_set_modal ( GTK_WINDOW(dialog), TRUE );
+
+ gtk_widget_show_all ( dialog );
+
+ if ( gtk_dialog_run ( GTK_DIALOG(dialog) ) == GTK_RESPONSE_ACCEPT ) {
+ gchar *dir = gtk_file_chooser_get_filename ( GTK_FILE_CHOOSER(dialog) );
+ gtk_widget_destroy ( dialog );
+ if ( dir ) {
+ if ( !export_to ( vw, gl, vft, dir, extension ) )
+ a_dialog_error_msg ( GTK_WINDOW(vw),_("Could not convert all files") );
+ g_free ( dir );
+ }
+ }
+ else
+ gtk_widget_destroy ( dialog );
+
+ g_list_free ( gl );
+}
+
+static void export_to_gpx ( GtkAction *a, VikWindow *vw )
+{
+ export_to_common ( vw, FILE_TYPE_GPX, ".gpx" );
+}
+
+static void export_to_kml ( GtkAction *a, VikWindow *vw )
+{
+ export_to_common ( vw, FILE_TYPE_KML, ".kml" );
+}
+
+#if !GLIB_CHECK_VERSION(2,26,0)
+typedef struct stat GStatBuf;
+#endif
+
+static void file_properties_cb ( GtkAction *a, VikWindow *vw )
+{
+ gchar *message = NULL;
+ if ( vw->filename ) {
+ if ( g_file_test ( vw->filename, G_FILE_TEST_EXISTS ) ) {
+ // Get some timestamp information of the file
+ GStatBuf stat_buf;
+ if ( g_stat ( vw->filename, &stat_buf ) == 0 ) {
+ gchar time_buf[64];
+ strftime ( time_buf, sizeof(time_buf), "%c", gmtime((const time_t *)&stat_buf.st_mtime) );
+ gchar *size = NULL;
+ gint byte_size = stat_buf.st_size;
+ // See http://en.wikipedia.org/wiki/Megabyte (and Kilobyte)
+ // hence using 1000 rather than 1024
+ // so get output as per 'ls' or the Gtk file open dialog
+ if ( byte_size < 1000 )
+ size = g_strdup_printf ( _("%d bytes"), byte_size );
+ else if ( byte_size < 1000*1000 )
+ size = g_strdup_printf ( _("%3.1f kB"), (gdouble)byte_size / 1000 );
+ else
+ size = g_strdup_printf ( _("%3.1f MB"), (gdouble)byte_size / (1000*1000) );
+ message = g_strdup_printf ( _("%s\n\n%s\n\n%s"), vw->filename, time_buf, size );
+ g_free (size);
+ }
+ }
+ else
+ message = g_strdup ( _("File not accessible") );
+ }
+ else
+ message = g_strdup ( _("No Viking File") );
+
+ // Show the info
+ a_dialog_info_msg ( GTK_WINDOW(vw), message );
+ g_free ( message );
+}
+
static void acquire_from_gps ( GtkAction *a, VikWindow *vw )
{
// Via the file menu, acquiring from a GPS makes a new layer
@@ -2460,37 +2961,35 @@ static void acquire_from_gps ( GtkAction *a, VikWindow *vw )
// thus maintain the behaviour ATM.
// Hence explicit setting here (as the value may be changed elsewhere)
vik_datasource_gps_interface.mode = VIK_DATASOURCE_CREATENEWLAYER;
- a_acquire(vw, vw->viking_vlp, vw->viking_vvp, &vik_datasource_gps_interface );
+ a_acquire(vw, vw->viking_vlp, vw->viking_vvp, &vik_datasource_gps_interface, NULL, NULL );
}
static void acquire_from_file ( GtkAction *a, VikWindow *vw )
{
- a_acquire(vw, vw->viking_vlp, vw->viking_vvp, &vik_datasource_file_interface );
+ a_acquire(vw, vw->viking_vlp, vw->viking_vvp, &vik_datasource_file_interface, NULL, NULL );
}
-#ifdef VIK_CONFIG_GOOGLE
-static void acquire_from_google ( GtkAction *a, VikWindow *vw )
+static void acquire_from_routing ( GtkAction *a, VikWindow *vw )
{
- a_acquire(vw, vw->viking_vlp, vw->viking_vvp, &vik_datasource_google_interface );
+ a_acquire(vw, vw->viking_vlp, vw->viking_vvp, &vik_datasource_routing_interface, NULL, NULL );
}
-#endif
#ifdef VIK_CONFIG_OPENSTREETMAP
static void acquire_from_osm ( GtkAction *a, VikWindow *vw )
{
- a_acquire(vw, vw->viking_vlp, vw->viking_vvp, &vik_datasource_osm_interface );
+ a_acquire(vw, vw->viking_vlp, vw->viking_vvp, &vik_datasource_osm_interface, NULL, NULL );
}
static void acquire_from_my_osm ( GtkAction *a, VikWindow *vw )
{
- a_acquire(vw, vw->viking_vlp, vw->viking_vvp, &vik_datasource_osm_my_traces_interface );
+ a_acquire(vw, vw->viking_vlp, vw->viking_vvp, &vik_datasource_osm_my_traces_interface, NULL, NULL );
}
#endif
#ifdef VIK_CONFIG_GEOCACHES
static void acquire_from_gc ( GtkAction *a, VikWindow *vw )
{
- a_acquire(vw, vw->viking_vlp, vw->viking_vvp, &vik_datasource_gc_interface );
+ a_acquire(vw, vw->viking_vlp, vw->viking_vvp, &vik_datasource_gc_interface, NULL, NULL );
}
#endif
@@ -2498,17 +2997,23 @@ static void acquire_from_gc ( GtkAction *a, VikWindow *vw )
static void acquire_from_geotag ( GtkAction *a, VikWindow *vw )
{
vik_datasource_geotag_interface.mode = VIK_DATASOURCE_CREATENEWLAYER;
- a_acquire(vw, vw->viking_vlp, vw->viking_vvp, &vik_datasource_geotag_interface );
+ a_acquire(vw, vw->viking_vlp, vw->viking_vvp, &vik_datasource_geotag_interface, NULL, NULL );
}
#endif
#ifdef VIK_CONFIG_GEONAMES
static void acquire_from_wikipedia ( GtkAction *a, VikWindow *vw )
{
- a_acquire(vw, vw->viking_vlp, vw->viking_vvp, &vik_datasource_wikipedia_interface );
+ a_acquire(vw, vw->viking_vlp, vw->viking_vvp, &vik_datasource_wikipedia_interface, NULL, NULL );
}
#endif
+static void acquire_from_url ( GtkAction *a, VikWindow *vw )
+{
+ vik_datasource_url_interface.mode = VIK_DATASOURCE_CREATENEWLAYER;
+ a_acquire(vw, vw->viking_vlp, vw->viking_vvp, &vik_datasource_url_interface, NULL, NULL );
+}
+
static void goto_default_location( GtkAction *a, VikWindow *vw)
{
struct LatLon ll;
@@ -2530,17 +3035,54 @@ static void mapcache_flush_cb ( GtkAction *a, VikWindow *vw )
a_mapcache_flush();
}
+static void layer_defaults_cb ( GtkAction *a, VikWindow *vw )
+{
+ gchar **texts = g_strsplit ( gtk_action_get_name(a), "Layer", 0 );
+
+ if ( !texts[1] )
+ return; // Internally broken :(
+
+ if ( ! a_layer_defaults_show_window ( GTK_WINDOW(vw), texts[1] ) )
+ a_dialog_info_msg ( GTK_WINDOW(vw), _("This layer has no configurable properties.") );
+ // NB no update needed
+
+ g_strfreev ( texts );
+}
+
+static void preferences_change_update ( VikWindow *vw, gpointer data )
+{
+ // Want to update all TrackWaypoint layers
+ GList *layers = vik_layers_panel_get_all_layers_of_type ( vw->viking_vlp, VIK_LAYER_TRW, TRUE );
+
+ if ( !layers )
+ return;
+
+ while ( layers ) {
+ // Reset the individual waypoints themselves due to the preferences change
+ VikTrwLayer *vtl = VIK_TRW_LAYER(layers->data);
+ vik_trw_layer_reset_waypoints ( vtl );
+ layers = g_list_next ( layers );
+ }
+
+ g_list_free ( layers );
+
+ draw_update ( vw );
+}
+
static void preferences_cb ( GtkAction *a, VikWindow *vw )
{
gboolean wp_icon_size = a_vik_get_use_large_waypoint_icons();
a_preferences_show_window ( GTK_WINDOW(vw) );
- // Delete icon indexing 'cache' and so automatically regenerates with the new setting when changed
- if (wp_icon_size != a_vik_get_use_large_waypoint_icons())
+ // Has the waypoint size setting changed?
+ if (wp_icon_size != a_vik_get_use_large_waypoint_icons()) {
+ // Delete icon indexing 'cache' and so automatically regenerates with the new setting when changed
clear_garmin_icon_syms ();
- draw_update ( vw );
+ // Update all windows
+ g_slist_foreach ( window_list, (GFunc) preferences_change_update, NULL );
+ }
}
static void default_location_cb ( GtkAction *a, VikWindow *vw )
@@ -2548,24 +3090,32 @@ static void default_location_cb ( GtkAction *a, VikWindow *vw )
/* Simplistic repeat of preference setting
Only the name & type are important for setting the preference via this 'external' way */
VikLayerParam pref_lat[] = {
- { VIKING_PREFERENCES_NAMESPACE "default_latitude",
+ { VIK_LAYER_NUM_TYPES,
+ VIKING_PREFERENCES_NAMESPACE "default_latitude",
VIK_LAYER_PARAM_DOUBLE,
VIK_LOCATION_LAT,
NULL,
VIK_LAYER_WIDGET_SPINBUTTON,
NULL,
NULL,
- NULL },
+ NULL,
+ NULL,
+ NULL,
+ },
};
VikLayerParam pref_lon[] = {
- { VIKING_PREFERENCES_NAMESPACE "default_longitude",
+ { VIK_LAYER_NUM_TYPES,
+ VIKING_PREFERENCES_NAMESPACE "default_longitude",
VIK_LAYER_PARAM_DOUBLE,
VIK_LOCATION_LONG,
NULL,
VIK_LAYER_WIDGET_SPINBUTTON,
NULL,
NULL,
- NULL },
+ NULL,
+ NULL,
+ NULL,
+ },
};
/* Get current center */
@@ -2828,6 +3378,12 @@ static gchar* draw_image_filename ( VikWindow *vw, gboolean one_image_only )
GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT,
NULL);
+ gchar *cwd = g_get_current_dir();
+ if ( cwd ) {
+ gtk_file_chooser_set_current_folder ( GTK_FILE_CHOOSER(vw->save_img_dia), cwd );
+ g_free ( cwd );
+ }
+
GtkFileChooser *chooser = GTK_FILE_CHOOSER ( vw->save_img_dia );
/* Add filters */
GtkFileFilter *filter;
@@ -2841,13 +3397,16 @@ static gchar* draw_image_filename ( VikWindow *vw, gboolean one_image_only )
gtk_file_filter_add_mime_type ( filter, "image/jpeg");
gtk_file_chooser_add_filter ( chooser, filter );
+ if ( !vw->draw_image_save_as_png )
+ gtk_file_chooser_set_filter ( chooser, filter );
+
filter = gtk_file_filter_new ();
gtk_file_filter_set_name ( filter, _("PNG") );
gtk_file_filter_add_mime_type ( filter, "image/png");
gtk_file_chooser_add_filter ( chooser, filter );
- // Default to pngs
- gtk_file_chooser_set_filter ( chooser, filter );
+ if ( vw->draw_image_save_as_png )
+ gtk_file_chooser_set_filter ( chooser, filter );
gtk_window_set_transient_for ( GTK_WINDOW(vw->save_img_dia), GTK_WINDOW(vw) );
gtk_window_set_destroy_with_parent ( GTK_WINDOW(vw->save_img_dia), TRUE );
@@ -2925,6 +3484,8 @@ static void draw_to_image_file ( VikWindow *vw, gboolean one_image_only )
// Can we not hard code size here?
if ( active > 17 )
active = 17;
+ if ( active < 0 )
+ active = 0;
gtk_combo_box_set_active ( GTK_COMBO_BOX(zoom_combo), active );
total_size_label = gtk_label_new ( NULL );
@@ -2942,21 +3503,22 @@ static void draw_to_image_file ( VikWindow *vw, gboolean one_image_only )
png_radio = gtk_radio_button_new_with_label ( NULL, _("Save as PNG") );
jpeg_radio = gtk_radio_button_new_with_label_from_widget ( GTK_RADIO_BUTTON(png_radio), _("Save as JPEG") );
+ gtk_box_pack_start (GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), png_radio, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), jpeg_radio, FALSE, FALSE, 0);
+
if ( ! vw->draw_image_save_as_png )
gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON(jpeg_radio), TRUE );
- gtk_box_pack_start (GTK_BOX(GTK_DIALOG(dialog)->vbox), width_label, FALSE, FALSE, 0);
- gtk_box_pack_start (GTK_BOX(GTK_DIALOG(dialog)->vbox), width_spin, FALSE, FALSE, 0);
- gtk_box_pack_start (GTK_BOX(GTK_DIALOG(dialog)->vbox), height_label, FALSE, FALSE, 0);
- gtk_box_pack_start (GTK_BOX(GTK_DIALOG(dialog)->vbox), height_spin, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), width_label, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), width_spin, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), height_label, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), height_spin, FALSE, FALSE, 0);
#ifdef WINDOWS
- gtk_box_pack_start (GTK_BOX(GTK_DIALOG(dialog)->vbox), win_warning_label, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), win_warning_label, FALSE, FALSE, 0);
#endif
- gtk_box_pack_start (GTK_BOX(GTK_DIALOG(dialog)->vbox), current_window_button, FALSE, FALSE, 0);
- gtk_box_pack_start (GTK_BOX(GTK_DIALOG(dialog)->vbox), png_radio, FALSE, FALSE, 0);
- gtk_box_pack_start (GTK_BOX(GTK_DIALOG(dialog)->vbox), jpeg_radio, FALSE, FALSE, 0);
- gtk_box_pack_start (GTK_BOX(GTK_DIALOG(dialog)->vbox), zoom_label, FALSE, FALSE, 0);
- gtk_box_pack_start (GTK_BOX(GTK_DIALOG(dialog)->vbox), zoom_combo, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), current_window_button, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), zoom_label, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), zoom_combo, FALSE, FALSE, 0);
if ( ! one_image_only )
{
@@ -2966,17 +3528,17 @@ static void draw_to_image_file ( VikWindow *vw, gboolean one_image_only )
tiles_width_spin = gtk_spin_button_new ( GTK_ADJUSTMENT(gtk_adjustment_new ( 5, 1, 10, 1, 100, 0 )), 1, 0 );
tiles_height_label = gtk_label_new ( _("North-south image tiles:") );
tiles_height_spin = gtk_spin_button_new ( GTK_ADJUSTMENT(gtk_adjustment_new ( 5, 1, 10, 1, 100, 0 )), 1, 0 );
- gtk_box_pack_start (GTK_BOX(GTK_DIALOG(dialog)->vbox), tiles_width_label, FALSE, FALSE, 0);
- gtk_box_pack_start (GTK_BOX(GTK_DIALOG(dialog)->vbox), tiles_width_spin, FALSE, FALSE, 0);
- gtk_box_pack_start (GTK_BOX(GTK_DIALOG(dialog)->vbox), tiles_height_label, FALSE, FALSE, 0);
- gtk_box_pack_start (GTK_BOX(GTK_DIALOG(dialog)->vbox), tiles_height_spin, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), tiles_width_label, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), tiles_width_spin, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), tiles_height_label, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), tiles_height_spin, FALSE, FALSE, 0);
current_window_pass_along [4] = tiles_width_spin;
current_window_pass_along [5] = tiles_height_spin;
g_signal_connect ( G_OBJECT(tiles_width_spin), "value-changed", G_CALLBACK(draw_to_image_file_total_area_cb), current_window_pass_along );
g_signal_connect ( G_OBJECT(tiles_height_spin), "value-changed", G_CALLBACK(draw_to_image_file_total_area_cb), current_window_pass_along );
}
- gtk_box_pack_start (GTK_BOX(GTK_DIALOG(dialog)->vbox), total_size_label, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), total_size_label, FALSE, FALSE, 0);
g_signal_connect ( G_OBJECT(width_spin), "value-changed", G_CALLBACK(draw_to_image_file_total_area_cb), current_window_pass_along );
g_signal_connect ( G_OBJECT(height_spin), "value-changed", G_CALLBACK(draw_to_image_file_total_area_cb), current_window_pass_along );
g_signal_connect ( G_OBJECT(zoom_combo), "changed", G_CALLBACK(draw_to_image_file_total_area_cb), current_window_pass_along );
@@ -2985,7 +3547,7 @@ static void draw_to_image_file ( VikWindow *vw, gboolean one_image_only )
gtk_dialog_set_default_response ( GTK_DIALOG(dialog), GTK_RESPONSE_ACCEPT );
- gtk_widget_show_all ( GTK_DIALOG(dialog)->vbox );
+ gtk_widget_show_all ( gtk_dialog_get_content_area(GTK_DIALOG(dialog)) );
if ( gtk_dialog_run ( GTK_DIALOG(dialog) ) == GTK_RESPONSE_ACCEPT )
{
@@ -3031,12 +3593,10 @@ static void draw_to_image_dir_cb ( GtkAction *a, VikWindow *vw )
draw_to_image_file ( vw, FALSE );
}
-#if GTK_CHECK_VERSION(2,10,0)
static void print_cb ( GtkAction *a, VikWindow *vw )
{
a_print(vw, vw->viking_vvp);
}
-#endif
/* really a misnomer: changes coord mode (actual coordinates) AND/OR draw mode (viewport only) */
static void window_change_coord_mode_cb ( GtkAction *old_a, GtkAction *a, VikWindow *vw )
@@ -3107,11 +3667,11 @@ static void set_bg_color ( GtkAction *a, VikWindow *vw )
{
GtkWidget *colorsd = gtk_color_selection_dialog_new ( _("Choose a background color") );
GdkColor *color = vik_viewport_get_background_gdkcolor ( vw->viking_vvp );
- gtk_color_selection_set_previous_color ( GTK_COLOR_SELECTION(GTK_COLOR_SELECTION_DIALOG(colorsd)->colorsel), color );
- gtk_color_selection_set_current_color ( GTK_COLOR_SELECTION(GTK_COLOR_SELECTION_DIALOG(colorsd)->colorsel), color );
+ gtk_color_selection_set_previous_color ( GTK_COLOR_SELECTION(gtk_color_selection_dialog_get_color_selection(GTK_COLOR_SELECTION_DIALOG(colorsd))), color );
+ gtk_color_selection_set_current_color ( GTK_COLOR_SELECTION(gtk_color_selection_dialog_get_color_selection(GTK_COLOR_SELECTION_DIALOG(colorsd))), color );
if ( gtk_dialog_run ( GTK_DIALOG(colorsd) ) == GTK_RESPONSE_OK )
{
- gtk_color_selection_get_current_color ( GTK_COLOR_SELECTION(GTK_COLOR_SELECTION_DIALOG(colorsd)->colorsel), color );
+ gtk_color_selection_get_current_color ( GTK_COLOR_SELECTION(gtk_color_selection_dialog_get_color_selection(GTK_COLOR_SELECTION_DIALOG(colorsd))), color );
vik_viewport_set_background_gdkcolor ( vw->viking_vvp, color );
draw_update ( vw );
}
@@ -3123,11 +3683,11 @@ static void set_highlight_color ( GtkAction *a, VikWindow *vw )
{
GtkWidget *colorsd = gtk_color_selection_dialog_new ( _("Choose a track highlight color") );
GdkColor *color = vik_viewport_get_highlight_gdkcolor ( vw->viking_vvp );
- gtk_color_selection_set_previous_color ( GTK_COLOR_SELECTION(GTK_COLOR_SELECTION_DIALOG(colorsd)->colorsel), color );
- gtk_color_selection_set_current_color ( GTK_COLOR_SELECTION(GTK_COLOR_SELECTION_DIALOG(colorsd)->colorsel), color );
+ gtk_color_selection_set_previous_color ( GTK_COLOR_SELECTION(gtk_color_selection_dialog_get_color_selection(GTK_COLOR_SELECTION_DIALOG(colorsd))), color );
+ gtk_color_selection_set_current_color ( GTK_COLOR_SELECTION(gtk_color_selection_dialog_get_color_selection(GTK_COLOR_SELECTION_DIALOG(colorsd))), color );
if ( gtk_dialog_run ( GTK_DIALOG(colorsd) ) == GTK_RESPONSE_OK )
{
- gtk_color_selection_get_current_color ( GTK_COLOR_SELECTION(GTK_COLOR_SELECTION_DIALOG(colorsd)->colorsel), color );
+ gtk_color_selection_get_current_color ( GTK_COLOR_SELECTION(gtk_color_selection_dialog_get_color_selection(GTK_COLOR_SELECTION_DIALOG(colorsd))), color );
vik_viewport_set_highlight_gdkcolor ( vw->viking_vvp, color );
draw_update ( vw );
}
@@ -3157,12 +3717,12 @@ static GtkActionEntry entries[] = {
{ "Open", GTK_STOCK_OPEN, N_("_Open..."), "<control>O", N_("Open a file"), (GCallback)load_file },
{ "OpenRecentFile", NULL, N_("Open _Recent File"), NULL, NULL, (GCallback)NULL },
{ "Append", GTK_STOCK_ADD, N_("Append _File..."), NULL, N_("Append data from a different file"), (GCallback)load_file },
+ { "Export", GTK_STOCK_CONVERT, N_("_Export All"), NULL, N_("Export All TrackWaypoint Layers"), (GCallback)NULL },
+ { "ExportGPX", NULL, N_("_GPX..."), NULL, N_("Export as GPX"), (GCallback)export_to_gpx },
{ "Acquire", GTK_STOCK_GO_DOWN, N_("A_cquire"), NULL, NULL, (GCallback)NULL },
{ "AcquireGPS", NULL, N_("From _GPS..."), NULL, N_("Transfer data from a GPS device"), (GCallback)acquire_from_gps },
{ "AcquireGPSBabel", NULL, N_("Import File With GPS_Babel..."), NULL, N_("Import file via GPSBabel converter"), (GCallback)acquire_from_file },
-#ifdef VIK_CONFIG_GOOGLE
- { "AcquireGoogle", NULL, N_("Google _Directions..."), NULL, N_("Get driving directions from Google"), (GCallback)acquire_from_google },
-#endif
+ { "AcquireRouting", NULL, N_("_Directions..."), NULL, N_("Get driving directions"), (GCallback)acquire_from_routing },
#ifdef VIK_CONFIG_OPENSTREETMAP
{ "AcquireOSM", NULL, N_("_OSM Traces..."), NULL, N_("Get traces from OpenStreetMap"), (GCallback)acquire_from_osm },
{ "AcquireMyOSM", NULL, N_("_My OSM Traces..."), NULL, N_("Get Your Own Traces from OpenStreetMap"), (GCallback)acquire_from_my_osm },
@@ -3173,18 +3733,16 @@ static GtkActionEntry entries[] = {
#ifdef VIK_CONFIG_GEOTAG
{ "AcquireGeotag", NULL, N_("From Geotagged _Images..."), NULL, N_("Create waypoints from geotagged images"), (GCallback)acquire_from_geotag },
#endif
+ { "AcquireURL", NULL, N_("From _URL..."), NULL, N_("Get a file from a URL"), (GCallback)acquire_from_url },
#ifdef VIK_CONFIG_GEONAMES
{ "AcquireWikipedia", NULL, N_("From _Wikipedia Waypoints"), NULL, N_("Create waypoints from Wikipedia items in the current view"), (GCallback)acquire_from_wikipedia },
#endif
{ "Save", GTK_STOCK_SAVE, N_("_Save"), "<control>S", N_("Save the file"), (GCallback)save_file },
{ "SaveAs", GTK_STOCK_SAVE_AS, N_("Save _As..."), NULL, N_("Save the file under different name"), (GCallback)save_file_as },
+ { "FileProperties", NULL, N_("Properties..."), NULL, N_("File Properties"), (GCallback)file_properties_cb },
{ "GenImg", GTK_STOCK_CLEAR, N_("_Generate Image File..."), NULL, N_("Save a snapshot of the workspace into a file"), (GCallback)draw_to_image_file_cb },
{ "GenImgDir", GTK_STOCK_DND_MULTIPLE, N_("Generate _Directory of Images..."), NULL, N_("FIXME:IMGDIR"), (GCallback)draw_to_image_dir_cb },
-
-#if GTK_CHECK_VERSION(2,10,0)
{ "Print", GTK_STOCK_PRINT, N_("_Print..."), NULL, N_("Print maps"), (GCallback)print_cb },
-#endif
-
{ "Exit", GTK_STOCK_QUIT, N_("E_xit"), "<control>W", N_("Exit the program"), (GCallback)window_close },
{ "SaveExit", GTK_STOCK_QUIT, N_("Save and Exit"), NULL, N_("Save and Exit the program"), (GCallback)save_file_and_exit },
@@ -3212,12 +3770,17 @@ static GtkActionEntry entries[] = {
{ "MapCacheFlush",NULL, N_("_Flush Map Cache"), NULL, NULL, (GCallback)mapcache_flush_cb },
{ "SetDefaultLocation", GTK_STOCK_GO_FORWARD, N_("_Set the Default Location"), NULL, N_("Set the Default Location to the current position"),(GCallback)default_location_cb },
{ "Preferences",GTK_STOCK_PREFERENCES, N_("_Preferences"), NULL, NULL, (GCallback)preferences_cb },
+ { "LayerDefaults",GTK_STOCK_PROPERTIES, N_("_Layer Defaults"), NULL, NULL, NULL },
{ "Properties",GTK_STOCK_PROPERTIES, N_("_Properties"), NULL, NULL, (GCallback)menu_properties_cb },
{ "HelpEntry", GTK_STOCK_HELP, N_("_Help"), "F1", NULL, (GCallback)help_help_cb },
{ "About", GTK_STOCK_ABOUT, N_("_About"), NULL, NULL, (GCallback)help_about_cb },
};
+static GtkActionEntry entries_gpsbabel[] = {
+ { "ExportKML", NULL, N_("_KML..."), NULL, N_("Export as KML"), (GCallback)export_to_kml },
+};
+
/* Radio items */
/* FIXME use VIEWPORT_DRAWMODE values */
static GtkRadioActionEntry mode_entries[] = {
@@ -3271,6 +3834,15 @@ static void window_create_ui( VikWindow *window )
gtk_action_group_add_toggle_actions (action_group, toggle_entries, G_N_ELEMENTS (toggle_entries), window);
gtk_action_group_add_radio_actions (action_group, mode_entries, G_N_ELEMENTS (mode_entries), 4, (GCallback)window_change_coord_mode_cb, window);
+ // Use this to see if GPSBabel is available:
+ if ( a_babel_device_list ) {
+ // If going to add more entries then might be worth creating a menu_gpsbabel.xml.h file
+ if ( gtk_ui_manager_add_ui_from_string ( uim,
+ "<ui><menubar name='MainMenu'><menu action='File'><menu action='Export'><menuitem action='ExportKML'/></menu></menu></menubar></ui>",
+ -1, &error ) )
+ gtk_action_group_add_actions ( action_group, entries_gpsbabel, G_N_ELEMENTS (entries_gpsbabel), window );
+ }
+
icon_factory = gtk_icon_factory_new ();
gtk_icon_factory_add_default (icon_factory);
@@ -3306,6 +3878,8 @@ static void window_create_ui( VikWindow *window )
action.callback = (GCallback)menu_addlayer_cb;
gtk_action_group_add_actions(action_group, &action, 1, window);
+ g_free ( (gchar*)action.label );
+
if ( vik_layer_get_interface(i)->tools_count ) {
gtk_ui_manager_add_ui(uim, mid, "/ui/MainMenu/Tools/", vik_layer_get_interface(i)->name, NULL, GTK_UI_MANAGER_SEPARATOR, FALSE);
gtk_ui_manager_add_ui(uim, mid, "/ui/MainToolbar/ToolItems/", vik_layer_get_interface(i)->name, NULL, GTK_UI_MANAGER_SEPARATOR, FALSE);
@@ -3332,6 +3906,26 @@ static void window_create_ui( VikWindow *window )
// Overwrite with actual number to use
radio->value = ntools;
}
+
+ GtkActionEntry action_dl;
+ gchar *layername = g_strdup_printf ( "Layer%s", vik_layer_get_interface(i)->fixed_layer_name );
+ gtk_ui_manager_add_ui(uim, mid, "/ui/MainMenu/Edit/LayerDefaults",
+ vik_layer_get_interface(i)->name,
+ layername,
+ GTK_UI_MANAGER_MENUITEM, FALSE);
+ g_free (layername);
+
+ // For default layers use action names of the form 'Layer<LayerName>'
+ // This is to avoid clashing with just the layer name used above for the tool actions
+ action_dl.name = g_strconcat("Layer", vik_layer_get_interface(i)->fixed_layer_name, NULL);
+ action_dl.stock_id = NULL;
+ action_dl.label = g_strconcat("_", vik_layer_get_interface(i)->name, "...", NULL); // Prepend marker for keyboard accelerator
+ action_dl.accelerator = NULL;
+ action_dl.tooltip = NULL;
+ action_dl.callback = (GCallback)layer_defaults_cb;
+ gtk_action_group_add_actions(action_group, &action_dl, 1, window);
+ g_free ( (gchar*)action_dl.name );
+ g_free ( (gchar*)action_dl.label );
}
g_object_unref (icon_factory);
@@ -3347,6 +3941,10 @@ static void window_create_ui( VikWindow *window )
g_object_set(action, "sensitive", FALSE, NULL);
}
}
+
+ // This is done last so we don't need to track the value of mid anymore
+ vik_ext_tools_add_action_items ( window, window->uim, action_group, mid );
+
window->action_group = action_group;
accel_group = gtk_ui_manager_get_accel_group (uim);
diff --git a/src/vikwindow.h b/src/vikwindow.h
index dfbb8b1..59964b0 100644
--- a/src/vikwindow.h
+++ b/src/vikwindow.h
@@ -53,6 +53,8 @@ GType vik_window_get_type ();
// To call from main to start things off:
VikWindow *vik_window_new_window ();
+void vik_window_new_window_finish ( VikWindow *vw );
+
GtkWidget *vik_window_get_drawmode_button ( VikWindow *vw, VikViewportDrawMode mode );
gboolean vik_window_get_pan_move ( VikWindow *vw );
void vik_window_open_file ( VikWindow *vw, const gchar *filename, gboolean changefilename );
@@ -85,6 +87,9 @@ gboolean vik_window_clear_highlight ( VikWindow *vw );
GThread *vik_window_get_thread ( VikWindow *vw );
+void vik_window_set_busy_cursor ( VikWindow *vw );
+void vik_window_clear_busy_cursor ( VikWindow *vw );
+
typedef struct {
VikWindow *vw;
VikViewport *vvp;
diff --git a/src/vikwmscmapsource.c b/src/vikwmscmapsource.c
index 074d17d..7aaf709 100644
--- a/src/vikwmscmapsource.c
+++ b/src/vikwmscmapsource.c
@@ -5,7 +5,7 @@
*
* viking is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
- * Free Software Foundation, either version 3 of the License, or
+ * Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* viking is distributed in the hope that it will be useful, but
@@ -36,6 +36,7 @@
#include "globals.h"
#include "vikwmscmapsource.h"
+#include "maputils.h"
static gboolean _coord_to_mapcoord ( VikMapSource *self, const VikCoord *src, gdouble xzoom, gdouble yzoom, MapCoord *dest );
static void _mapcoord_to_center_coord ( VikMapSource *self, MapCoord *src, VikCoord *dest );
@@ -248,34 +249,6 @@ vik_wmsc_map_source_class_init (VikWmscMapSourceClass *klass)
object_class->finalize = vik_wmsc_map_source_finalize;
}
-/* 1 << (x) is like a 2**(x) */
-#define GZ(x) ((1<<x))
-
-static const gdouble scale_mpps[] = { GZ(0), GZ(1), GZ(2), GZ(3), GZ(4), GZ(5), GZ(6), GZ(7), GZ(8), GZ(9),
- GZ(10), GZ(11), GZ(12), GZ(13), GZ(14), GZ(15), GZ(16), GZ(17) };
-
-static const gint num_scales = (sizeof(scale_mpps) / sizeof(scale_mpps[0]));
-
-static const gdouble scale_neg_mpps[] = { 1.0/GZ(0), 1.0/GZ(1), 1.0/GZ(2), 1.0/GZ(3) };
-static const gint num_scales_neg = (sizeof(scale_neg_mpps) / sizeof(scale_neg_mpps[0]));
-
-#define ERROR_MARGIN 0.01
-static gint wmsc_zoom ( gdouble mpp ) {
- gint i;
- for ( i = 0; i < num_scales; i++ ) {
- if ( ABS(scale_mpps[i] - mpp) < ERROR_MARGIN ) {
- return i;
- }
- }
- for ( i = 0; i < num_scales_neg; i++ ) {
- if ( ABS(scale_neg_mpps[i] - mpp) < 0.000001 ) {
- return -i;
- }
- }
-
- return 255;
-}
-
static gboolean
_supports_download_only_new ( VikMapSource *self )
{
@@ -300,18 +273,18 @@ _coord_to_mapcoord ( VikMapSource *self, const VikCoord *src, gdouble xzoom, gdo
if ( xzoom != yzoom )
return FALSE;
- dest->scale = wmsc_zoom ( xzoom );
+ dest->scale = map_utils_mpp_to_scale ( xzoom );
if ( dest->scale == 255 )
return FALSE;
- /* Note : GZ(17) / xzoom / 2 = number of tile on Y axis */
+ /* Note : VIK_GZ(17) / xzoom / 2 = number of tile on Y axis */
g_debug("%s: xzoom=%f yzoom=%f -> %f", __FUNCTION__,
- xzoom, yzoom, GZ(17) / xzoom / 2);
- dest->x = floor((src->east_west + 180) / 180 * GZ(17) / xzoom / 2);
+ xzoom, yzoom, VIK_GZ(17) / xzoom / 2);
+ dest->x = floor((src->east_west + 180) / 180 * VIK_GZ(17) / xzoom / 2);
/* We should restore logic of viking:
* tile index on Y axis follow a screen logic (top -> down)
*/
- dest->y = floor((180 - (src->north_south + 90)) / 180 * GZ(17) / xzoom / 2);
+ dest->y = floor((180 - (src->north_south + 90)) / 180 * VIK_GZ(17) / xzoom / 2);
dest->z = 0;
g_debug("%s: %f,%f -> %d,%d", __FUNCTION__,
src->east_west, src->north_south, dest->x, dest->y);
@@ -323,15 +296,15 @@ _mapcoord_to_center_coord ( VikMapSource *self, MapCoord *src, VikCoord *dest )
{
gdouble socalled_mpp;
if (src->scale >= 0)
- socalled_mpp = GZ(src->scale);
+ socalled_mpp = VIK_GZ(src->scale);
else
- socalled_mpp = 1.0/GZ(-src->scale);
+ socalled_mpp = 1.0/VIK_GZ(-src->scale);
dest->mode = VIK_COORD_LATLON;
- dest->east_west = (src->x+0.5) * 180 / GZ(17) * socalled_mpp * 2 - 180;
+ dest->east_west = (src->x+0.5) * 180 / VIK_GZ(17) * socalled_mpp * 2 - 180;
/* We should restore logic of viking:
* tile index on Y axis follow a screen logic (top -> down)
*/
- dest->north_south = -((src->y+0.5) * 180 / GZ(17) * socalled_mpp * 2 - 90);
+ dest->north_south = -((src->y+0.5) * 180 / VIK_GZ(17) * socalled_mpp * 2 - 90);
g_debug("%s: %d,%d -> %f,%f", __FUNCTION__,
src->x, src->y, dest->east_west, dest->north_south);
}
@@ -344,16 +317,16 @@ _get_uri( VikMapSourceDefault *self, MapCoord *src )
VikWmscMapSourcePrivate *priv = VIK_WMSC_MAP_SOURCE_PRIVATE(self);
gdouble socalled_mpp;
if (src->scale >= 0)
- socalled_mpp = GZ(src->scale);
+ socalled_mpp = VIK_GZ(src->scale);
else
- socalled_mpp = 1.0/GZ(-src->scale);
- gdouble minx = (gdouble)src->x * 180 / GZ(17) * socalled_mpp * 2 - 180;
- gdouble maxx = (gdouble)(src->x + 1) * 180 / GZ(17) * socalled_mpp * 2 - 180;
+ socalled_mpp = 1.0/VIK_GZ(-src->scale);
+ gdouble minx = (gdouble)src->x * 180 / VIK_GZ(17) * socalled_mpp * 2 - 180;
+ gdouble maxx = (gdouble)(src->x + 1) * 180 / VIK_GZ(17) * socalled_mpp * 2 - 180;
/* We should restore logic of viking:
* tile index on Y axis follow a screen logic (top -> down)
*/
- gdouble miny = -((gdouble)(src->y + 1) * 180 / GZ(17) * socalled_mpp * 2 - 90);
- gdouble maxy = -((gdouble)(src->y) * 180 / GZ(17) * socalled_mpp * 2 - 90);
+ gdouble miny = -((gdouble)(src->y + 1) * 180 / VIK_GZ(17) * socalled_mpp * 2 - 90);
+ gdouble maxy = -((gdouble)(src->y) * 180 / VIK_GZ(17) * socalled_mpp * 2 - 90);
gchar sminx[G_ASCII_DTOSTR_BUF_SIZE];
gchar smaxx[G_ASCII_DTOSTR_BUF_SIZE];
diff --git a/src/vikwmscmapsource.h b/src/vikwmscmapsource.h
index 46dedfd..cd4de35 100644
--- a/src/vikwmscmapsource.h
+++ b/src/vikwmscmapsource.h
@@ -5,7 +5,7 @@
*
* viking is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
- * Free Software Foundation, either version 3 of the License, or
+ * Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* viking is distributed in the hope that it will be useful, but
diff --git a/test-driver b/test-driver
index 32bf39e..d306056 100755
--- a/test-driver
+++ b/test-driver
@@ -1,7 +1,7 @@
#! /bin/sh
# test-driver - basic testsuite driver script.
-scriptversion=2012-06-27.10; # UTC
+scriptversion=2013-07-13.22; # UTC
# Copyright (C) 2011-2013 Free Software Foundation, Inc.
#
@@ -44,13 +44,12 @@ print_usage ()
Usage:
test-driver --test-name=NAME --log-file=PATH --trs-file=PATH
[--expect-failure={yes|no}] [--color-tests={yes|no}]
- [--enable-hard-errors={yes|no}] [--] TEST-SCRIPT
+ [--enable-hard-errors={yes|no}] [--]
+ TEST-SCRIPT [TEST-SCRIPT-ARGUMENTS]
The '--test-name', '--log-file' and '--trs-file' options are mandatory.
END
}
-# TODO: better error handling in option parsing (in particular, ensure
-# TODO: $log_file, $trs_file and $test_name are defined).
test_name= # Used for reporting.
log_file= # Where to save the output of the test script.
trs_file= # Where to save the metadata of the test run.
@@ -69,10 +68,23 @@ while test $# -gt 0; do
--enable-hard-errors) enable_hard_errors=$2; shift;;
--) shift; break;;
-*) usage_error "invalid option: '$1'";;
+ *) break;;
esac
shift
done
+missing_opts=
+test x"$test_name" = x && missing_opts="$missing_opts --test-name"
+test x"$log_file" = x && missing_opts="$missing_opts --log-file"
+test x"$trs_file" = x && missing_opts="$missing_opts --trs-file"
+if test x"$missing_opts" != x; then
+ usage_error "the following mandatory options are missing:$missing_opts"
+fi
+
+if test $# -eq 0; then
+ usage_error "missing argument"
+fi
+
if test $color_tests = yes; then
# Keep this in sync with 'lib/am/check.am:$(am__tty_colors)'.
red='' # Red.
diff --git a/test/Makefile.in b/test/Makefile.in
index 8931658..dc909de 100644
--- a/test/Makefile.in
+++ b/test/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.3 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2013 Free Software Foundation, Inc.
@@ -84,7 +84,8 @@ DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
$(top_srcdir)/test-driver README
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/expat.m4 \
- $(top_srcdir)/m4/libcurl.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/libcurl.m4 $(top_srcdir)/m4/nls.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -411,6 +412,7 @@ GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@
GREP = @GREP@
GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
@@ -616,14 +618,14 @@ distclean-compile:
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $<
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
.c.obj:
@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
ID: $(am__tagged_files)
$(am__define_uniq_tagged_files); mkid -fID $$unique
diff --git a/viking.spec b/viking.spec
index f145f81..5b9ba7c 100644
--- a/viking.spec
+++ b/viking.spec
@@ -3,7 +3,7 @@
#%% May be redistributed without this notice.
Name: viking
-Version: 1.4.2
+Version: 1.5.1
Release: 1
Summary: GPS data editor and analyzer
@@ -16,17 +16,20 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: curl-devel
BuildRequires: expat-devel
-BuildRequires: gtk2-devel >= 2.2.0
+BuildRequires: gtk2-devel >= 2.16
BuildRequires: pkgconfig
BuildRequires: gpsd-devel
BuildRequires: gettext perl(XML::Parser)
BuildRequires: intltool
BuildRequires: libxslt
BuildRequires: libexif-devel
+BuildRequires: libbz2-devel
+BuildRequires: libmagic-devel
+BuildRequires: libsqlite3-devel
%description
Viking is a free/open source program to manage GPS data.
-You can import, plot and create tracks and waypoints, show OSM, Terraserver and other maps, see real-time GPS position, get geocaches, control items, etc.
+You can import, plot and create tracks, routes and waypoints, show OSM, Terraserver and other maps, see real-time GPS position, get geocaches, control items, etc.
It is written in C with the GTK+2 toolkit.
%prep
@@ -53,7 +56,6 @@ rm -rf %{buildroot}
%defattr(-,root,root,-)
%doc AUTHORS ChangeLog COPYING NEWS README TODO doc/
%{_bindir}/viking
-%{_bindir}/viking-remote
%{_datadir}/applications/viking.desktop
%{_datadir}/icons/hicolor/48x48/apps/viking.png
diff --git a/viking.spec.in b/viking.spec.in
index 4e0c9a4..1f67a0d 100644
--- a/viking.spec.in
+++ b/viking.spec.in
@@ -16,17 +16,20 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: curl-devel
BuildRequires: expat-devel
-BuildRequires: gtk2-devel >= 2.2.0
+BuildRequires: gtk2-devel >= 2.16
BuildRequires: pkgconfig
BuildRequires: gpsd-devel
BuildRequires: gettext perl(XML::Parser)
BuildRequires: intltool
BuildRequires: libxslt
BuildRequires: libexif-devel
+BuildRequires: libbz2-devel
+BuildRequires: libmagic-devel
+BuildRequires: libsqlite3-devel
%description
Viking is a free/open source program to manage GPS data.
-You can import, plot and create tracks and waypoints, show OSM, Terraserver and other maps, see real-time GPS position, get geocaches, control items, etc.
+You can import, plot and create tracks, routes and waypoints, show OSM, Terraserver and other maps, see real-time GPS position, get geocaches, control items, etc.
It is written in C with the GTK+2 toolkit.
%prep
@@ -53,7 +56,6 @@ rm -rf %{buildroot}
%defattr(-,root,root,-)
%doc AUTHORS ChangeLog COPYING NEWS README TODO doc/
%{_bindir}/viking
-%{_bindir}/viking-remote
%{_datadir}/applications/viking.desktop
%{_datadir}/icons/hicolor/48x48/apps/viking.png
diff --git a/win32/Makefile.am b/win32/Makefile.am
index f5d9aab..c1cbece 100644
--- a/win32/Makefile.am
+++ b/win32/Makefile.am
@@ -1,4 +1,4 @@
-
+# License: CC0
EXTRA_DIST = \
prepare.bat \
configure_and_make.bat \
diff --git a/win32/Makefile.in b/win32/Makefile.in
index c3e4640..723ff8c 100644
--- a/win32/Makefile.in
+++ b/win32/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.3 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2013 Free Software Foundation, Inc.
@@ -80,7 +80,8 @@ DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
$(top_srcdir)/mkinstalldirs
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/expat.m4 \
- $(top_srcdir)/m4/libcurl.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/libcurl.m4 $(top_srcdir)/m4/nls.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -206,6 +207,7 @@ GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@
GREP = @GREP@
GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
@@ -313,6 +315,8 @@ target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
+
+# License: CC0
EXTRA_DIST = \
prepare.bat \
configure_and_make.bat \
diff --git a/win32/README.txt b/win32/README.txt
index 158cc5c..2fac07f 100644
--- a/win32/README.txt
+++ b/win32/README.txt
@@ -1,4 +1,5 @@
-
+# License: CC0
+#
The build under Windows follows the same process as the traditional Linux build:
cd ../src
diff --git a/win32/configure_and_make.bat b/win32/configure_and_make.bat
index f37891e..fe91504 100644
--- a/win32/configure_and_make.bat
+++ b/win32/configure_and_make.bat
@@ -1,9 +1,11 @@
+:: License: CC0
:: Full build
::
:: Note this assumes the 'configure' script already exists
:: either via part of the source download or via separate generation - e.g. using wine
::
set PATH=%PATH%;%SystemDrive%\Mingw\bin;%SystemDrive%\msys\1.0\bin
-cd ..\
-sh configure CFLAGS="-DWINDOWS -mwindows" LIBCURL=-lcurldll LIBS=-lzdll --disable-realtime-gps-tracking --disable-scrollkeeper
-make
+pushd ..
+sh configure CFLAGS="-DWINDOWS -mwindows" LIBCURL=-lcurldll LIBS=-lzdll --disable-realtime-gps-tracking --disable-scrollkeeper --enable-windows
+popd
+make.bat
diff --git a/win32/installer.bat b/win32/installer.bat
index a200e1b..b8ac2e2 100644
--- a/win32/installer.bat
+++ b/win32/installer.bat
@@ -1,17 +1,13 @@
@echo OFF
+:: License: CC0
::
:: TODO return an error code when not completed as expected
::
echo STARTING INSTALLER PROCESS...
-:: For windres + strip
+:: For strip
set PATH=%PATH%;%SystemDrive%\MinGW\bin
-echo Create Icon
-pushd installer\pixmaps
-windres.exe viking_icon.rc -o viking_icon.o
-popd
-
echo Remove debugging symbols
pushd ..\src
strip.exe -g viking.exe
@@ -64,6 +60,23 @@ if exist "%LIBEXIF%" (
echo Required %LIBEXIF% does not exist
goto Tidy
)
+set LIBBZ2=%MINGW_BIN%\libbz2-2.dll
+if exist "%LIBBZ2%" (
+ %MYCOPY% "%LIBBZ2%" %DESTINATION%
+ %MYCOPY% "%MINGW_BIN%\libgcc_s_dw2-1.dll" %DESTINATION%
+) else (
+ echo Required %LIBBZ2% does not exist
+ goto Tidy
+)
+set LIBMAGIC=%MINGW_BIN%\magic1.dll
+if exist "%LIBMAGIC%" (
+ %MYCOPY% "%LIBMAGIC%" %DESTINATION%
+ %MYCOPY% "%MINGW_BIN%\regex2.dll" %DESTINATION%
+ %MYCOPY% "%MINGW%\share\misc\magic.mgc" %DESTINATION%
+) else (
+ echo Required %LIBMAGIC% does not exist
+ goto Tidy
+)
:: TODO Maybe embed http://gtk-win.sourceforge.net/home/index.php/Main/EmbeddingGTK directly in NSIS?
:: Best to use the same GTK version as we built against in prepare.bat!!
diff --git a/win32/installer/Makefile.in b/win32/installer/Makefile.in
index b3eb33e..aa9beca 100644
--- a/win32/installer/Makefile.in
+++ b/win32/installer/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.3 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2013 Free Software Foundation, Inc.
@@ -80,7 +80,8 @@ DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
$(top_srcdir)/mkinstalldirs
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/expat.m4 \
- $(top_srcdir)/m4/libcurl.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/libcurl.m4 $(top_srcdir)/m4/nls.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -206,6 +207,7 @@ GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@
GREP = @GREP@
GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
diff --git a/win32/installer/pixmaps/Makefile.in b/win32/installer/pixmaps/Makefile.in
index 5cabf45..b7c36f2 100644
--- a/win32/installer/pixmaps/Makefile.in
+++ b/win32/installer/pixmaps/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.3 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2013 Free Software Foundation, Inc.
@@ -80,7 +80,8 @@ DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
$(top_srcdir)/mkinstalldirs
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/expat.m4 \
- $(top_srcdir)/m4/libcurl.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/libcurl.m4 $(top_srcdir)/m4/nls.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -146,6 +147,7 @@ GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@
GREP = @GREP@
GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
diff --git a/win32/installer/translations/Makefile.in b/win32/installer/translations/Makefile.in
index 8f07652..326b806 100644
--- a/win32/installer/translations/Makefile.in
+++ b/win32/installer/translations/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.3 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2013 Free Software Foundation, Inc.
@@ -80,7 +80,8 @@ DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
$(top_srcdir)/mkinstalldirs
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/expat.m4 \
- $(top_srcdir)/m4/libcurl.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/libcurl.m4 $(top_srcdir)/m4/nls.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -146,6 +147,7 @@ GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@
GREP = @GREP@
GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
diff --git a/win32/installer/viking-installer.nsi b/win32/installer/viking-installer.nsi
index aa425a4..595616b 100644
--- a/win32/installer/viking-installer.nsi
+++ b/win32/installer/viking-installer.nsi
@@ -10,7 +10,7 @@ Var name
;--------------------------------
;Configuration
;Needs to be 4 numbers: W.X.Y.Z
-!define VIKING_VERSION "1.4.2.0"
+!define VIKING_VERSION "1.5.1.0"
;The name var is set in .onInit
Name $name
diff --git a/win32/make.bat b/win32/make.bat
index 249464f..fb83f3f 100644
--- a/win32/make.bat
+++ b/win32/make.bat
@@ -1,4 +1,13 @@
+:: License: CC0
:: Standard build
set PATH=%PATH%;%SystemDrive%\MinGW\bin;%SystemDrive%\msys\1.0\bin
-cd ..\src
+
+:: The icon needs creating first as it will get embedded in the generated executable
+echo Create Icon
+pushd installer\pixmaps
+windres.exe viking_icon.rc -o viking_icon.o
+popd
+
+:: Change to root directory and build
+cd ..
make
diff --git a/win32/prepare.bat b/win32/prepare.bat
index a1d7e29..06597f7 100644
--- a/win32/prepare.bat
+++ b/win32/prepare.bat
@@ -1,4 +1,5 @@
@echo OFF
+:: License: CC0
::
:: Setup wget first - this has to be done manually
:: http://gnuwin32.sourceforge.net/packages/wget.htm
@@ -223,6 +224,74 @@ if not exist "%MINGW_BIN%\libstdc++-6.dll" (
del %STDCPP_TAR%
)
+echo =+=+=
+echo Checking libbz2 header...
+echo =+=+=
+set BZ2_TAR=bzip2-1.0.6-4-mingw32-dev.tar
+set BZ2_LZ=%BZ2_TAR%.lzma
+if not exist "%MINGW%\include\bzlib.h" (
+ if not exist %BZ2_LZ% (
+ wget "http://sourceforge.net/projects/mingw/files/MinGW/Extension/bzip2/bzip2-1.0.6-4/%BZ2_LZ%"
+ )
+ echo Extracting libbz2 header...
+ 7z e %BZ2_LZ%
+ 7z x %BZ2_TAR% -o"%MinGW%"
+ if ERRORLEVEL 1 goto Error
+ del %BZ2_TAR%
+)
+
+echo =+=+=
+echo Checking libbz2...
+echo =+=+=
+set BZ2DLL_TAR=libbz2-1.0.6-4-mingw32-dll-2.tar
+set BZ2DLL_LZ=%BZ2DLL_TAR%.lzma
+if not exist "%MINGW_BIN%\libbz2-2.dll" (
+ if not exist %BZ2DLL_LZ% (
+ wget "http://sourceforge.net/projects/mingw/files/MinGW/Extension/bzip2/bzip2-1.0.6-4/%BZ2DLL_LZ%"
+ )
+ echo Extracting libbz2...
+ 7z e %BZ2DLL_LZ%
+ 7z x %BZ2DLL_TAR% -o"%MinGW%"
+ if ERRORLEVEL 1 goto Error
+ del %BZ2DLL_TAR%
+)
+
+echo =+=+=
+echo Checking magic dev...
+echo =+=+=
+set MAGIC_ZIP=file-5.03-lib.zip
+if not exist "%MINGW%\include\magic.h" (
+ if not exist %MAGIC_ZIP% (
+ wget http://downloads.sourceforge.net/gnuwin32/%MAGIC_ZIP%
+ )
+ 7z x %MAGIC_ZIP% -o"%MinGW%"
+ if ERRORLEVEL 1 goto Error
+)
+
+echo =+=+=
+echo Checking magic DLL...
+echo =+=+=
+set MAGICDLL_ZIP=file-5.03-bin.zip
+if not exist "%MINGW_BIN%\magic1.dll" (
+ if not exist %MAGICDLL_ZIP% (
+ wget http://downloads.sourceforge.net/gnuwin32/%MAGICDLL_ZIP%
+ )
+ 7z x %MAGICDLL_ZIP% -o"%MinGW%"
+ if ERRORLEVEL 1 goto Error
+)
+
+echo =+=+=
+echo Checking regex DLL (required by magic)...
+echo =+=+=
+set REGDLL_ZIP=regex-2.7-bin.zip
+if not exist "%MINGW_BIN%\regex2.dll" (
+ if not exist %REGDLL_ZIP% (
+ wget http://downloads.sourceforge.net/gnuwin32/%REGDLL_ZIP%
+ )
+ 7z x %REGDLL_ZIP% -o"%MinGW%"
+ if ERRORLEVEL 1 goto Error
+)
+
::
:: Ideally building the code on Windows shouldn't need Doc Utils or the Help processor stuff
:: But ATM it's too hard to avoid.