[SCM] gpsprune branch, master, updated. debian/15.1-1-6-g71d1716
Mònica Ramírez Arceda
monica at debian.org
Mon Dec 9 11:54:53 UTC 2013
The following commit has been merged in the master branch:
commit eac6a08b7a1e6b465bac681c5964d3776b7d1e13
Author: Mònica RamÃrez Arceda <monica at debian.org>
Date: Mon Dec 9 11:13:50 2013 +0100
Imported Upstream version 15.2
diff --git a/build.sh b/build.sh
index 329c51f..076945d 100644
--- a/build.sh
+++ b/build.sh
@@ -1,6 +1,6 @@
# Build script using external exif library
# Version number
-PRUNENAME=gpsprune_15.1
+PRUNENAME=gpsprune_15.2
# remove compile directory
rm -rf compile
# remove dist directory
diff --git a/tim/prune/GpsPrune.java b/tim/prune/GpsPrune.java
index 1f4d6c8..5cc5c90 100644
--- a/tim/prune/GpsPrune.java
+++ b/tim/prune/GpsPrune.java
@@ -35,9 +35,9 @@ import tim.prune.gui.profile.ProfileChart;
public class GpsPrune
{
/** Version number of application, used in about screen and for version check */
- public static final String VERSION_NUMBER = "15.1";
+ public static final String VERSION_NUMBER = "15.2";
/** Build number, just used for about screen */
- public static final String BUILD_NUMBER = "283a";
+ public static final String BUILD_NUMBER = "283b";
/** Static reference to App object */
private static App APP = null;
diff --git a/tim/prune/function/RearrangeWaypointsFunction.java b/tim/prune/function/RearrangeWaypointsFunction.java
index 9007391..e04aea0 100644
--- a/tim/prune/function/RearrangeWaypointsFunction.java
+++ b/tim/prune/function/RearrangeWaypointsFunction.java
@@ -64,6 +64,7 @@ public class RearrangeWaypointsFunction extends GenericFunction
}
if (success)
{
+ _app.getTrackInfo().getSelection().clearAll(); // clear selected point and range
_app.completeFunction(undo, I18nManager.getText("confirm.rearrangewaypoints"));
}
else
diff --git a/tim/prune/function/compress/DouglasPeuckerAlgorithm.java b/tim/prune/function/compress/DouglasPeuckerAlgorithm.java
index 42d7ece..046e72e 100644
--- a/tim/prune/function/compress/DouglasPeuckerAlgorithm.java
+++ b/tim/prune/function/compress/DouglasPeuckerAlgorithm.java
@@ -107,7 +107,7 @@ public class DouglasPeuckerAlgorithm extends SingleParameterAlgorithm
private void compressSegment(int[] inFlags, int inSegStart, int inSegEnd,
double inThreshold)
{
- //System.out.println("Compress segment " + inSegStart + "-" + inSegEnd);
+ // System.out.println("Compress segment " + inSegStart + "-" + inSegEnd);
final int numPoints = inSegEnd - inSegStart + 1;
if (numPoints < 3) {return;} // segment too short to compress
// Calculate parameters of straight line between first and last
@@ -118,6 +118,17 @@ public class DouglasPeuckerAlgorithm extends SingleParameterAlgorithm
// create unit vector perpendicular to AB
final double distAB = ab.len();
XYpoint perpendicular = new XYpoint(ab.y/distAB, -ab.x/distAB);
+ // Check whether distAB is 0.0 - if so, find furthest point from startxy and compress from start to here and here to end
+ if (distAB <= 0.0)
+ {
+ final int furthestIndex = getFurthestPointIndex(inSegStart, inSegEnd);
+ if (furthestIndex > inSegStart)
+ {
+ compressSegment(inFlags, inSegStart, furthestIndex, inThreshold);
+ compressSegment(inFlags, furthestIndex, inSegEnd, inThreshold);
+ }
+ return;
+ }
double maxDist = -1.0, dist = -1.0;
int furthestIndex = -1;
@@ -172,4 +183,35 @@ public class DouglasPeuckerAlgorithm extends SingleParameterAlgorithm
{
return "dialog.compress.douglaspeucker.title";
}
+
+ /**
+ * Find the index of the point furthest away from the start and end points
+ * @param inStartIndex start index of segment to check
+ * @param inEndIndex end index of segment to check
+ * @return index of furthest point, or -1 if none found
+ */
+ private int getFurthestPointIndex(int inStartIndex, int inEndIndex)
+ {
+ int furthestIndex = -1;
+ if (inStartIndex >= 0 && inEndIndex > inStartIndex)
+ {
+ final DataPoint startPoint = _track.getPoint(inStartIndex);
+ double maxDist = 0.0;
+ // Loop over points between start and end
+ for (int i=inStartIndex+1; i<inEndIndex; i++)
+ {
+ DataPoint p = _track.getPoint(i);
+ if (!p.isWaypoint())
+ {
+ double distFromStart = DataPoint.calculateRadiansBetween(startPoint, p);
+ if (distFromStart > maxDist)
+ {
+ furthestIndex = i;
+ maxDist = distFromStart;
+ }
+ }
+ }
+ }
+ return furthestIndex;
+ }
}
diff --git a/tim/prune/jpeg/ExifGateway.java b/tim/prune/jpeg/ExifGateway.java
index 9fefadf..c11ba2e 100644
--- a/tim/prune/jpeg/ExifGateway.java
+++ b/tim/prune/jpeg/ExifGateway.java
@@ -47,7 +47,10 @@ public abstract class ExifGateway
return data;
}
}
- catch (LinkageError nolib) {}
+ catch (LinkageError nolib) {
+ System.err.println("Link: " + nolib.getMessage());
+ nolib.printStackTrace();
+ }
// Not successful - warn if necessary
if (!_exifFailWarned)
{
@@ -69,7 +72,6 @@ public abstract class ExifGateway
}
-
/**
* @param inNumerator numerator from Rational
* @param inDenominator denominator from Rational
@@ -88,4 +90,19 @@ public abstract class ExifGateway
if (inDenominator < 0) denomDbl += correction;
return numeratorDbl / denomDbl;
}
+
+
+ /**
+ * @param inNumerator numerator from Rational
+ * @param inDenominator denominator from Rational
+ * @return the value of the specified number as a positive <code>double</code>.
+ * Forces a positive answer
+ */
+ public static final double convertToPositiveValue(long inNumerator, long inDenominator)
+ {
+ if (inDenominator == 0L) return 0.0;
+ final double numeratorDbl = inNumerator;
+ final double denomDbl = inDenominator;
+ return numeratorDbl / denomDbl;
+ }
}
diff --git a/tim/prune/jpeg/ExternalExifLibrary.java b/tim/prune/jpeg/ExternalExifLibrary.java
index 0d94f03..496646e 100644
--- a/tim/prune/jpeg/ExternalExifLibrary.java
+++ b/tim/prune/jpeg/ExternalExifLibrary.java
@@ -2,12 +2,14 @@ package tim.prune.jpeg;
import java.io.File;
+import com.drew.imaging.ImageMetadataReader;
import com.drew.lang.Rational;
import com.drew.metadata.Directory;
import com.drew.metadata.Metadata;
-import com.drew.metadata.MetadataException;
-import com.drew.metadata.exif.ExifDirectory;
+import com.drew.metadata.exif.ExifSubIFDDirectory;
+import com.drew.metadata.exif.ExifIFD0Directory;
import com.drew.metadata.exif.ExifReader;
+import com.drew.metadata.exif.ExifThumbnailDirectory;
import com.drew.metadata.exif.GpsDirectory;
/**
@@ -31,8 +33,7 @@ public class ExternalExifLibrary implements ExifLibrary
// Read exif data from picture
try
{
- Metadata metadata = new Metadata();
- new ExifReader(inFile).extract(metadata);
+ Metadata metadata = ImageMetadataReader.readMetadata(inFile);
if (metadata.containsDirectory(GpsDirectory.class))
{
Directory gpsdir = metadata.getDirectory(GpsDirectory.class);
@@ -61,22 +62,18 @@ public class ExternalExifLibrary implements ExifLibrary
data.setAltitudeRef(altRef);
}
- try
+ // Timestamp and datestamp (if present)
+ final int TAG_GPS_DATESTAMP = 0x001d;
+ if (gpsdir.containsTag(GpsDirectory.TAG_GPS_TIME_STAMP) && gpsdir.containsTag(TAG_GPS_DATESTAMP))
{
- // Timestamp and datestamp (if present)
- final int TAG_GPS_DATESTAMP = 0x001d;
- if (gpsdir.containsTag(GpsDirectory.TAG_GPS_TIME_STAMP) && gpsdir.containsTag(TAG_GPS_DATESTAMP))
- {
- Rational[] times = gpsdir.getRationalArray(GpsDirectory.TAG_GPS_TIME_STAMP);
- data.setGpsTimestamp(new int[] {times[0].intValue(), times[1].intValue(),
- times[2].intValue()});
- Rational[] dates = gpsdir.getRationalArray(TAG_GPS_DATESTAMP);
- if (dates != null) {
- data.setGpsDatestamp(new int[] {dates[0].intValue(), dates[1].intValue(), dates[2].intValue()});
- }
+ Rational[] times = gpsdir.getRationalArray(GpsDirectory.TAG_GPS_TIME_STAMP);
+ data.setGpsTimestamp(new int[] {times[0].intValue(), times[1].intValue(),
+ times[2].intValue()});
+ Rational[] dates = gpsdir.getRationalArray(TAG_GPS_DATESTAMP);
+ if (dates != null) {
+ data.setGpsDatestamp(new int[] {dates[0].intValue(), dates[1].intValue(), dates[2].intValue()});
}
}
- catch (MetadataException me) {} // ignore, use other tags instead
// Image bearing (if present)
if (gpsdir.containsTag(GpsDirectory.TAG_GPS_IMG_DIRECTION) && gpsdir.containsTag(GpsDirectory.TAG_GPS_IMG_DIRECTION_REF))
@@ -89,30 +86,39 @@ public class ExternalExifLibrary implements ExifLibrary
}
// Tags from Exif directory
- if (metadata.containsDirectory(ExifDirectory.class))
+ if (metadata.containsDirectory(ExifSubIFDDirectory.class))
{
- Directory exifdir = metadata.getDirectory(ExifDirectory.class);
+ Directory exifdir = metadata.getDirectory(ExifSubIFDDirectory.class);
// Take time and date from exif tags
- if (exifdir.containsTag(ExifDirectory.TAG_DATETIME_ORIGINAL)) {
- data.setOriginalTimestamp(exifdir.getString(ExifDirectory.TAG_DATETIME_ORIGINAL));
+ if (exifdir.containsTag(ExifSubIFDDirectory.TAG_DATETIME_ORIGINAL)) {
+ data.setOriginalTimestamp(exifdir.getString(ExifSubIFDDirectory.TAG_DATETIME_ORIGINAL));
}
// Also take "digitized" timestamp
- if (exifdir.containsTag(ExifDirectory.TAG_DATETIME_DIGITIZED)) {
- data.setDigitizedTimestamp(exifdir.getString(ExifDirectory.TAG_DATETIME_DIGITIZED));
+ if (exifdir.containsTag(ExifSubIFDDirectory.TAG_DATETIME_DIGITIZED)) {
+ data.setDigitizedTimestamp(exifdir.getString(ExifSubIFDDirectory.TAG_DATETIME_DIGITIZED));
}
+ }
+ if (metadata.containsDirectory(ExifIFD0Directory.class))
+ {
+ Directory exifdir = metadata.getDirectory(ExifIFD0Directory.class);
// Photo rotation code
- if (exifdir.containsTag(ExifDirectory.TAG_ORIENTATION)) {
- data.setOrientationCode(exifdir.getInt(ExifDirectory.TAG_ORIENTATION));
+ if (exifdir.containsTag(ExifIFD0Directory.TAG_ORIENTATION)) {
+ data.setOrientationCode(exifdir.getInt(ExifIFD0Directory.TAG_ORIENTATION));
// NOTE: this presumably takes the _last_ orientation value found, not the first.
}
+ }
+
+ if (metadata.containsDirectory(ExifThumbnailDirectory.class))
+ {
+ ExifThumbnailDirectory exifdir = metadata.getDirectory(ExifThumbnailDirectory.class);
- // Thumbnail
- if (exifdir.containsTag(ExifDirectory.TAG_THUMBNAIL_DATA))
+ // TODO: Check this thumbnail stuff
+ if (exifdir.hasThumbnailData())
{
- // Make a copy of the byte data rather than keeping a reference to extracted array
- byte[] tdata = exifdir.getByteArray(ExifDirectory.TAG_THUMBNAIL_DATA);
+ // Make a copy of the byte data
+ byte[] tdata = exifdir.getThumbnailData();
byte[] thumb = new byte[tdata.length];
System.arraycopy(tdata, 0, thumb, 0, tdata.length);
data.setThumbnailImage(thumb);
diff --git a/tim/prune/lang/prune-texts_af.properties b/tim/prune/lang/prune-texts_af.properties
index cc8f6b5..c99a13b 100644
--- a/tim/prune/lang/prune-texts_af.properties
+++ b/tim/prune/lang/prune-texts_af.properties
@@ -29,7 +29,7 @@ menu.point=Punt
menu.point.editpoint=Redigeer Punt
menu.point.deletepoint=Punt Uitvee
menu.photo=Foto
-menu.photo.saveexif=Stoor na EXIF
+menu.photo.saveexif=Stoor na Exif
menu.audio=Audio
menu.view=Kyk
menu.view.showsidebars=Wys kantstawe
@@ -109,7 +109,7 @@ function.correlatephotos=Korreleer Fotos
function.rearrangephotos=Herrangskik fotos
function.rotatephotoleft=Roteer foto links
function.rotatephotoright=Roteer foto regs
-function.ignoreexifthumb=Ignoreer EXIF thumbnail
+function.ignoreexifthumb=Ignoreer Exif thumbnail
function.help=Hulp
function.showkeys=Wys Kortpad sleutels
function.about=Omtrent GpsPrune
diff --git a/tim/prune/lang/prune-texts_cz.properties b/tim/prune/lang/prune-texts_cz.properties
index 931a00d..8057356 100644
--- a/tim/prune/lang/prune-texts_cz.properties
+++ b/tim/prune/lang/prune-texts_cz.properties
@@ -785,7 +785,7 @@ error.jpegload.dialogtitle=Chyba p\u0159i na\u010d\u00edt\u00e1n\u00ed fotografi
error.jpegload.nofilesfound=Nenalezeny \u017e\u00e1dn\u00e9 soubory
error.jpegload.nojpegsfound=Nenalezeny \u017e\u00e1dn\u00e9 soubory jpeg
error.jpegload.nogpsfound=Nenalezena informace GPS
-error.jpegload.exifreadfailed=Nepoda\u0159ilo se na\u010d\u00edst informaci EXIF. Tu nelze na\u010d\u00edst\nbez intern\u00ed nebo extern\u00ed knihovny.
+error.jpegload.exifreadfailed=Nepoda\u0159ilo se na\u010d\u00edst informaci Exif. Tu nelze na\u010d\u00edst\nbez intern\u00ed nebo extern\u00ed knihovny.
error.audioload.nofilesfound=Nebyly nalezeny \u017e\u00e1dn\u00e9 zvukov\u00e9 soubory.
error.gpsload.unknown=Nezn\u00e1m\u00e1 chyba
error.undofailed.title=Selhalo undo
diff --git a/tim/prune/lang/prune-texts_de_CH.properties b/tim/prune/lang/prune-texts_de_CH.properties
index 808bfae..27f3c7e 100644
--- a/tim/prune/lang/prune-texts_de_CH.properties
+++ b/tim/prune/lang/prune-texts_de_CH.properties
@@ -778,7 +778,7 @@ error.jpegload.dialogtitle=F\u00e4hle bim Lade von F\u00f6telis
error.jpegload.nofilesfound=Kei Files gfunde
error.jpegload.nojpegsfound=Kei Jpegs gfunde
error.jpegload.nogpsfound=Kei GPS Information gfunde
-error.jpegload.exifreadfailed=EXIF Uufruef isch fehlgschlage. Kei EXIF Infos k\u00f6nnet gl\u00e4se werde\nohni nen interni oder ext\u00e4rni Bibliothek.
+error.jpegload.exifreadfailed=Exif Uufruef isch fehlgschlage. Kei Exif Infos k\u00f6nnet gl\u00e4se werde\nohni nen interni oder ext\u00e4rni Bibliothek.
error.audioload.nofilesfound=Kei Audiofiles gfunde
error.gpsload.unknown=Unbekannts F\u00e4hler
error.undofailed.title=Undo isch fehlgschlage worde
diff --git a/tim/prune/lang/prune-texts_en.properties b/tim/prune/lang/prune-texts_en.properties
index 0102075..925419c 100644
--- a/tim/prune/lang/prune-texts_en.properties
+++ b/tim/prune/lang/prune-texts_en.properties
@@ -785,7 +785,7 @@ error.jpegload.dialogtitle=Error loading photos
error.jpegload.nofilesfound=No files found
error.jpegload.nojpegsfound=No jpeg files found
error.jpegload.nogpsfound=No GPS information found
-error.jpegload.exifreadfailed=Failed to read EXIF information. No EXIF information can be read\nwithout either an internal or external library.
+error.jpegload.exifreadfailed=Failed to read Exif information. No Exif information can be read\nwithout either an internal or external library.
error.audioload.nofilesfound=No audio clips found
error.gpsload.unknown=Unknown error
error.undofailed.title=Undo failed
diff --git a/tim/prune/lang/prune-texts_es.properties b/tim/prune/lang/prune-texts_es.properties
index ffe8f1f..4ddc66b 100644
--- a/tim/prune/lang/prune-texts_es.properties
+++ b/tim/prune/lang/prune-texts_es.properties
@@ -23,7 +23,7 @@ menu.range.start=Fijar comienzo
menu.range.end=Fijar final
menu.range.average=Crear punto a la media del rango
menu.range.reverse=Invertir rango
-menu.range.mergetracksegments=Unir los segmentos de track
+menu.range.mergetracksegments=Unir los segmentos del track
menu.range.cutandmove=Cortar y mover selecci\u00f3n
menu.point=Punto
menu.point.editpoint=Editar punto
@@ -49,7 +49,7 @@ menu.map.zoomout=Reducir zoom
menu.map.zoomfull=Mostrar todo
menu.map.newpoint=Crear un punto nuevo
menu.map.drawpoints=Crear series de puntos
-menu.map.connect=Conectar puntos de track
+menu.map.connect=Conectar puntos del track
menu.map.autopan=Posicionar autom\u00e1ticamente
menu.map.showmap=Mostrar el mapa
menu.map.showscalebar=Mostrar barra de escala
@@ -88,6 +88,7 @@ function.exportimage=Exportar imagen
function.editwaypointname=Editar nombre de waypoint
function.compress=Comprimir track
function.deleterange=Eliminar rango
+function.croptrack=Truncar track
function.interpolate=Interpolar puntos
function.addtimeoffset=A\u00f1adir compensar tiempo
function.addaltitudeoffset=A\u00f1adir compensar altitud
@@ -99,6 +100,7 @@ function.charts=Diagramas
function.show3d=Mostrar en 3-D
function.distances=Distancias
function.fullrangedetails=Detalles adicionales de rango
+function.estimatetime=Estimar duraci\u00f3n
function.setmapbg=Configurar fondo de mapa
function.setpaths=Configurar rutas del programas
function.getgpsies=Bajar ruta de Gpsies
@@ -210,7 +212,7 @@ dialog.exportgpx.copysource=Copiar la fuente
dialog.exportgpx.encoding=Codificaci\u00f3n
dialog.exportgpx.encoding.system=Sistema
dialog.exportgpx.encoding.utf8=UTF-8
-dialog.exportpov.text=Introdzca los Parametros para exportar
+dialog.exportpov.text=Introduca los par\u00e1metros para exportar
dialog.exportpov.font=Fuente
dialog.exportpov.camerax=C\u00e1mara X
dialog.exportpov.cameray=C\u00e1mara Y
@@ -219,7 +221,11 @@ dialog.exportpov.modelstyle=Estilo
dialog.exportpov.ballsandsticks=Balas en palos
dialog.exportpov.tubesandwalls=Tubos y paredes
dialog.3d.warningtracksize=Este track contiene un gran numero de puntos. Puede ser que Java3D no los pueda visualizar. Est\u00e1 seguro de que desea continuar?
+dialog.baseimage.title=Imagen de mapa
+dialog.baseimage.mapsource=Proveedor de mapas
+dialog.baseimage.useimage=Usar imagen
dialog.baseimage.zoom=Zoom
+dialog.baseimage.incomplete=Imagen incompleta
dialog.baseimage.tiles=Recuadros
dialog.baseimage.size=Tama\u00f1o de la imagen
dialog.exportsvg.text=Seleccione los par\u00e1metros para exportar a SVG
@@ -227,7 +233,7 @@ dialog.exportsvg.phi=\u00c1ngulo de azimuth \u03d5
dialog.exportsvg.theta=\u00c1ngulo de elevaci\u00f3n
dialog.exportsvg.gradients=Usar degradado para sombras
dialog.pointtype.desc=Salvar los siguientes tipos de puntos:
-dialog.pointtype.track=Puntos de track
+dialog.pointtype.track=Puntos del track
dialog.pointtype.waypoint=Waypoints
dialog.pointtype.photo=Puntos de foto
dialog.pointtype.audio=Puntos de audio
@@ -242,7 +248,7 @@ dialog.undo.pretext=Por favor, seleccione la operaci\u00f3n(es) a deshacer
dialog.undo.none.title=No se puede deshacer
dialog.undo.none.text=Ninguna operaci\u00f3n a deshacer
dialog.clearundo.title=Despejar la lista de deshacer
-dialog.clearundo.text=\u00bfEsta seguro que desea despejar la lista de deshacer?, ¡se perder\u00e1 toda la informaci\u00f3n!
+dialog.clearundo.text=\u00bfEsta seguro que desea despejar la lista de deshacer?, \u00a1se perder\u00e1 toda la informaci\u00f3n!
dialog.pointedit.title=Editar punto
dialog.pointedit.intro=Seleccione cada campo para modificar el valor
dialog.pointedit.table.field=Campo
@@ -289,7 +295,10 @@ dialog.fullrangedetails.intro=Aqui estan los detalles para la selecci\u00f3n de
dialog.estimatetime.details=Detalles
dialog.estimatetime.climb=Ascenso
dialog.estimatetime.descent=Descenso
+dialog.estimatetime.parameters=Par\u00e1metros
dialog.estimatetime.results=Resultados
+dialog.estimatetime.results.estimatedtime=Duraci\u00f3n estimada
+dialog.estimatetime.results.actualtime=Duraci\u00f3n real
dialog.setmapbg.intro=Seleccione un proveedor de mapas o a\u00f1ada uno nuevo
dialog.addmapsource.title=A\u00f1adir un proveedor de mapas
dialog.addmapsource.sourcename=Nombre del proveedor
@@ -408,7 +417,7 @@ dialog.about.credits.thanks=Gracias a
dialog.about.readme=Readme
dialog.checkversion.error=El numero de versi\u00f3n no pudo ser verificada.\n Por favor verificar la conexi\u00f3n de Internet
dialog.checkversion.uptodate=Esta usted utilizando la \u00faltima versi\u00f3n de GpsPrune
-dialog.checkversion.newversion1=¡Una nueva versi\u00f3n de GpsPrune est\u00e1 disponible! La \u00faltima es ahora la versi\u00f3n
+dialog.checkversion.newversion1=\u00a1Una nueva versi\u00f3n de GpsPrune est\u00e1 disponible! La \u00faltima es ahora la versi\u00f3n
dialog.checkversion.newversion2=.
dialog.checkversion.releasedate1=La nueva versi\u00f3n fue lanzada en
dialog.checkversion.releasedate2=.
@@ -477,6 +486,7 @@ dialog.diskcache.deleteall=Borrar todos los recuadros
dialog.diskcache.deleted1=Borrado
dialog.diskcache.deleted2=Archivos del cache
dialog.deletefieldvalues.intro=Seleccionar el campo a eliminar para el rango actual
+dialog.deletefieldvalues.nofields=No hay campos a eliminar para el rango actual
dialog.setlinewidth.text=Introduzca la anchura de las l\u00edneas a dibujar para los recorridos (1-4)
dialog.downloadosm.desc=Confirmar la descarga de datos en bruto de OSM para el \u00e1rea especificada.
dialog.searchwikipedianames.search=Buscar:
@@ -572,6 +582,7 @@ filetype.audio=Archivos MP3, OGG, WAV
display.nodata=Ning\u00fan dato cargado
display.noaltitudes=Los datos del track no incluyen altitudes
display.notimestamps=Los datos de recorrido no incluyen marcas de tiempo
+display.novalues=Los datos de recorrido no incluyen valores para este campo
details.trackdetails=Detalles del track
details.notrack=Ning\u00fan track cargado
details.track.points=Puntos
@@ -686,10 +697,11 @@ undo.deletepoint=eliminar punto
undo.removephoto=eliminar foto
undo.removeaudio=eliminar archivos de audio
undo.deleterange=eliminar rango
+undo.croptrack=truncar track
undo.deletemarked=eliminar puntos
undo.insert=insertar puntos
undo.reverse=invertir rango
-undo.mergetracksegments=unir los segmentos de track
+undo.mergetracksegments=unir los segmentos del track
undo.addtimeoffset=a\u00f1adir margen de tiempo
undo.addaltitudeoffset=a\u00f1adir margen de altitud
undo.rearrangewaypoints=reordenar waypoints
@@ -726,7 +738,7 @@ error.jpegload.dialogtitle=Error cargando fotos
error.jpegload.nofilesfound=No se encuentra ning\u00fan archivo
error.jpegload.nojpegsfound=No se encuentra ning\u00fan archivo jpeg
error.jpegload.nogpsfound=No se encuentra informaci\u00f3n GPS
-error.jpegload.exifreadfailed=Fallo al leer la informaci\u00f3n EXIF. No se puede leer ninguna informaci\u00f3n EXIF\ncon las librer\u00edas internas ni externas.
+error.jpegload.exifreadfailed=Fallo al leer la informaci\u00f3n Exif. No se puede leer ninguna informaci\u00f3n Exif\ncon las librer\u00edas internas ni externas.
error.audioload.nofilesfound=No se encontraron archivos de audio
error.gpsload.unknown=Error desconocido
error.undofailed.title=Fallo al deshacer
diff --git a/tim/prune/lang/prune-texts_fr.properties b/tim/prune/lang/prune-texts_fr.properties
index 1cfdf1e..7d744f8 100644
--- a/tim/prune/lang/prune-texts_fr.properties
+++ b/tim/prune/lang/prune-texts_fr.properties
@@ -179,6 +179,18 @@ dialog.gpsload.save=Enregistrer dans un fichier
dialog.gpssend.sendwaypoints=Envoyer les waypoints
dialog.gpssend.sendtracks=Envoyer les traces
dialog.gpssend.trackname=Nom de la trace
+dialog.gpsbabel.filters=Filtres
+dialog.gpsbabel.filter.discard=Jeter
+dialog.gpsbabel.filter.simplify=Simplifier
+dialog.gpsbabel.filter.interpolate=Interpoler
+dialog.gpsbabel.filter.discard.intro=Jeter les points si
+dialog.gpsbabel.filter.discard.hdop=Hdop >
+dialog.gpsbabel.filter.discard.vdop=Vdop >
+dialog.gpsbabel.filter.distance=Distance
+dialog.gpsbabel.filter.distance.distance=Si la distance <
+dialog.gpsbabel.filter.distance.time=et difference de temps <
+dialog.gpsbabel.filter.interpolate.distance=Si la distance >
+dialog.gpsbabel.filter.interpolate.time=ou difference de temps >
dialog.saveoptions.title=Enregistrer le fichier
dialog.save.fieldstosave=Champs \u00e0 enregistrer
dialog.save.table.field=Champ
@@ -197,6 +209,8 @@ dialog.exportkml.kmz=Compresser au format kmz
dialog.exportkml.exportimages=Exporter les vignettes au format kmz
dialog.exportkml.imagesize=Taille des images
dialog.exportkml.trackcolour=Couleur de la trace
+dialog.exportkml.standardkml=KML standard
+dialog.exportkml.extendedkml=KML enrichi avec l'heure
dialog.exportgpx.name=Nom
dialog.exportgpx.desc=L\u00e9gende
dialog.exportgpx.includetimestamps=Inclure l'heure pour chaque point
@@ -243,7 +257,7 @@ dialog.undo.none.text=Pas d'op\u00e9ration \u00e0 annuler !
dialog.clearundo.title=Purger la liste d'annulation
dialog.clearundo.text=\u00cates-vous s\u00fbr de vouloir effacer la liste d'annulation ?\nToutes les informations d'annulation seront perdues !
dialog.pointedit.title=\u00c9diter le point
-dialog.pointedit.intro=S\u00e9lectionner chaque champ pour changer la valeur
+dialog.pointedit.intro=S\u00e9lectionner chaque champ pour voire et changer la valeur
dialog.pointedit.table.field=Champ
dialog.pointedit.table.value=Valeur
dialog.pointnameedit.name=Nom de waypoint
@@ -557,6 +571,7 @@ button.browse=Naviguer...
button.addnew=Ajouter nouveau...
button.delete=Supprimer
button.manage=G\u00e9rer
+button.combine=Combiner
# File types
filetype.txt=Fichiers TXT
@@ -729,7 +744,7 @@ error.jpegload.dialogtitle=Erreur au chargement des photos
error.jpegload.nofilesfound=Aucun fichier trouv\u00e9
error.jpegload.nojpegsfound=Aucun fichier jpeg trouv\u00e9
error.jpegload.nogpsfound=Aucune information GPS trouv\u00e9e
-error.jpegload.exifreadfailed=Information EXIF illisible. Aucune information EXIF ne peut \u00eatre lue\nsans une librairie interne ou externe.
+error.jpegload.exifreadfailed=Information Exif illisible. Aucune information Exif ne peut \u00eatre lue\nsans une librairie interne ou externe.
error.audioload.nofilesfound=Aucun fichier audio trouv\u00e9
error.gpsload.unknown=Erreur inconnue
error.undofailed.title=\u00c9chec de l'annulation
diff --git a/tim/prune/lang/prune-texts_hu.properties b/tim/prune/lang/prune-texts_hu.properties
index ea53142..8b2b35b 100644
--- a/tim/prune/lang/prune-texts_hu.properties
+++ b/tim/prune/lang/prune-texts_hu.properties
@@ -1,5 +1,5 @@
# Text entries for the GpsPrune application
-# Hungarian entries thanks to Gy\u00f6rgy Ball\u00f3
+# Hungarian entries thanks to Gy\u00f6rgy Ball\u00f3 and Peter Bathory
# Menu entries
menu.file=F\u00e1jl
@@ -10,6 +10,7 @@ menu.file.exit=Kil\u00e9p\u00e9s
menu.track=Nyomvonal
menu.track.undo=Visszavon\u00e1s
menu.track.clearundo=Visszavon\u00e1si lista t\u00f6rl\u00e9se
+menu.track.markrectangle=N\u00e9gyzeten bel\u00fcli pontok megjel\u00f6l\u00e9se
menu.track.deletemarked=Jel\u00f6lt pontok t\u00f6rl\u00e9se
menu.track.rearrange=\u00datpontok \u00fajrarendez\u00e9se
menu.track.rearrange.start=\u00d6sszes a f\u00e1jl elej\u00e9re
@@ -20,8 +21,6 @@ menu.range.all=Mindet kijel\u00f6l
menu.range.none=Kijel\u00f6l\u00e9s megsz\u00fcntet\u00e9se
menu.range.start=Tartom\u00e1ny kezdet\u00e9nek be\u00e1ll\u00edt\u00e1sa
menu.range.end=Tartom\u00e1ny v\u00e9g\u00e9nek be\u00e1ll\u00edt\u00e1sa
-function.deleterange=Tartom\u00e1ny t\u00f6rl\u00e9se
-function.interpolate=Pontok interpol\u00e1l\u00e1sa
menu.range.average=Kijel\u00f6l\u00e9s \u00e1tlaga
menu.range.reverse=Tartom\u00e1ny megford\u00edt\u00e1sa
menu.range.mergetracksegments=Nyomvonalszakaszok egyes\u00edt\u00e9se
@@ -41,7 +40,7 @@ menu.view.browser.mapquest=Mapquest
menu.view.browser.yahoo=Yahoo! Maps
menu.view.browser.bing=Bing Maps
menu.settings=Be\u00e1ll\u00edt\u00e1sok
-menu.settings.onlinemode=T\u00e9rk\u00e9pek bet\u00f6lt\u00e9se az internetr\u0151l
+menu.settings.onlinemode=T\u00e9rk\u00e9pek bet\u00f6lt\u00e9se internetr\u0151l
menu.settings.autosave=Be\u00e1ll\u00edt\u00e1sok automatikus ment\u00e9se kil\u00e9p\u00e9skor
menu.help=S\u00fag\u00f3
# Popup menu for map
@@ -54,6 +53,7 @@ menu.map.connect=Nyompontok \u00f6sszek\u00f6t\u00e9se
menu.map.autopan=Automatikus mozgat\u00e1s
menu.map.showmap=T\u00e9rk\u00e9p megjelen\u00edt\u00e9se
menu.map.showscalebar=M\u00e9retar\u00e1ny megjelen\u00edt\u00e9se
+menu.map.editmode=Szerkeszt\u00e9s m\u00f3d
# Alt keys for menus
altkey.menu.file=F
@@ -86,6 +86,9 @@ function.exportpov=Export\u00e1l\u00e1s POV-ba
function.exportsvg=Export\u00e1l\u00e1s SVG-be
function.editwaypointname=\u00datpont nev\u00e9nek szerkeszt\u00e9se
function.compress=Nyomvonal t\u00f6m\u00f6r\u00edt\u00e9se
+function.deleterange=Tartom\u00e1ny t\u00f6rl\u00e9se
+function.croptrack=Nyomvonal k\u00f6rbev\u00e1g\u00e1sa
+function.interpolate=Pontok interpol\u00e1l\u00e1sa
function.addtimeoffset=Id\u0151eltol\u00e1s hozz\u00e1ad\u00e1sa
function.addaltitudeoffset=Magass\u00e1geltol\u00e1s hozz\u00e1ad\u00e1sa
function.convertnamestotimes=\u00datpontok neveinek konvert\u00e1l\u00e1sa id\u0151pontokk\u00e1
@@ -139,6 +142,7 @@ dialog.deletepoint.title=Pont t\u00f6rl\u00e9se
dialog.deletepoint.deletephoto=T\u00f6rli a f\u00e9nyk\u00e9pet, amely ehhez a ponthoz tartozik?
dialog.deletephoto.title=F\u00e9nyk\u00e9p t\u00f6rl\u00e9se
dialog.deletephoto.deletepoint=T\u00f6rli a pontot, amely ehhez a f\u00e9nyk\u00e9phez tartozik?
+dialog.deleteaudio.deletepoint=T\u00f6rli a pontot, amely ehhez a hangf\u00e1jlhoz tartozik?
dialog.openoptions.title=Be\u00e1ll\u00edt\u00e1sok megnyit\u00e1sa
dialog.openoptions.filesnippet=F\u00e1jl kivonata
dialog.load.table.field=Mez\u0151
@@ -219,6 +223,7 @@ dialog.confirmreversetrack.text=Ez a nyomvonal id\u0151b\u00e9lyeg-inform\u00e1c
dialog.confirmcutandmove.title=Kiv\u00e1g\u00e1s \u00e9s mozgat\u00e1s meger\u0151s\u00edt\u00e9se
dialog.confirmcutandmove.text=Ez a nyomvonal id\u0151b\u00e9lyeg-inform\u00e1ci\u00f3t tartalmaz, amely sorrendje mozgat\u00e1s ut\u00e1n megv\u00e1ltozik.\n Biztos benne, hogy mozgatja a kijel\u00f6l\u00e9st?
dialog.interpolate.parameter.text=Pontok sz\u00e1ma, amely a k\u00e9t kiv\u00e1lasztott pont k\u00f6z\u00e9 besz\u00farand\u00f3
+dialog.interpolate.betweenwaypoints=Interpol\u00e1l az \u00fatpontok k\u00f6z\u00f6tt?
dialog.undo.title=M\u0171velet(ek) visszavon\u00e1sa
dialog.undo.pretext=V\u00e1lassza ki a visszavonand\u00f3 m\u0171velet(ek)et
dialog.undo.none.title=Nem vonhat\u00f3 vissza
@@ -268,6 +273,8 @@ dialog.distances.column.to=V\u00e9gpont
dialog.distances.currentpoint=Jelenlegi pont
dialog.distances.toofewpoints=Ehhez a funkci\u00f3hoz \u00fatpontok kellenek, amelyek k\u00f6z\u00f6tt a t\u00e1vols\u00e1g sz\u00e1m\u00edt\u00e1sra ker\u00fcl
dialog.fullrangedetails.intro=Itt vannak a r\u00e9szletei a kiv\u00e1lasztott tartom\u00e1nynak
+dialog.fullrangedetails.coltotal=R\u00e9sekkel egy\u00fctt
+dialog.fullrangedetails.colsegments=R\u00e9sek n\u00e9lk\u00fcl
dialog.setmapbg.intro=V\u00e1lassza ki az egyik t\u00e9rk\u00e9pforr\u00e1st, vagy adjon hozz\u00e1 egy \u00fajat
dialog.addmapsource.title=\u00daj t\u00e9rk\u00e9pforr\u00e1s hozz\u00e1ad\u00e1sa
dialog.addmapsource.sourcename=Forr\u00e1s neve
@@ -298,6 +305,7 @@ dialog.wikipedia.column.name=Sz\u00f3cikk neve
dialog.wikipedia.column.distance=T\u00e1vols\u00e1g
dialog.correlate.notimestamps=Nincsenek id\u0151b\u00e9lyegek az adatpontokon, \u00edgy nem feleltethet\u0151 meg semmi a f\u00e9nyk\u00e9pekkel.
dialog.correlate.nouncorrelatedphotos=Nincsenek megfeleltetlen f\u00e9nyk\u00e9pek.\nBiztos benne, hogy folytatja?
+dialog.correlate.nouncorrelatedaudios=Nincsenek megfeleltetlen hangok.\nBiztos benne, hogy folytatja?
dialog.correlate.photoselect.intro=V\u00e1lasszon egyet ezek k\u00f6z\u00fcl a megfeleltetett f\u00e9nyk\u00e9pek k\u00f6z\u00fcl az id\u0151eltol\u00e1s haszn\u00e1lat\u00e1hoz
dialog.correlate.select.photoname=F\u00e9nyk\u00e9p neve
dialog.correlate.select.timediff=Id\u0151k\u00fcl\u00f6nbs\u00e9g
@@ -346,9 +354,11 @@ dialog.compress.duplicates.title=Kett\u0151z\u00f6tt pontok elt\u00e1vol\u00edt\
dialog.compress.douglaspeucker.title=Douglas-Peucker t\u00f6m\u00f6r\u00edt\u00e9s
dialog.compress.douglaspeucker.paramdesc=T\u00f6m\u00f6r\u00edt\u00e9si t\u00e9nyez\u0151
dialog.compress.summarylabel=T\u00f6rlend\u0151 pontok
+dialog.compress.confirmnone=egy pont sem lett megjel\u00f6lve
+dialog.deletemarked.nonefound=Nem t\u00e1vol\u00edthat\u00f3 el adatpont
dialog.pastecoordinates.desc=Adja meg vagy illessze be a koordin\u00e1t\u00e1kat ide
dialog.pastecoordinates.coords=Koordin\u00e1t\u00e1k
-dialog.pastecoordinates.nothingfound=Ellen\u0151rizze a koordin\u00e1t\u00e1kat, \u00e9s pr\u00f3b\u00e1lja \u00f3jra
+dialog.pastecoordinates.nothingfound=Ellen\u0151rizze a koordin\u00e1t\u00e1kat, \u00e9s pr\u00f3b\u00e1lja \u00fajra
dialog.help.help=Tov\u00e1bbi inform\u00e1ci\u00f3k\u00e9rt \u00e9s kezel\u00e9si \u00fatmutat\u00f3\u00e9rt l\u00e1sd a \n http://activityworkshop.net/software/gpsprune/\nwebhelyet.
dialog.about.version=Verzi\u00f3
dialog.about.build=Build
@@ -386,7 +396,7 @@ dialog.checkversion.error=A verzi\u00f3sz\u00e1m nem ellen\u0151rizhet\u0151.\nE
dialog.checkversion.uptodate=A GpsPrune leg\u00fajabb verzi\u00f3j\u00e1t haszn\u00e1lja.
dialog.checkversion.newversion1=El\u00e9rhet\u0151 a GpsPrune \u00faj verzi\u00f3ja! A leg\u00fajabb verzi\u00f3 most:
dialog.checkversion.newversion2=.
-dialog.checkversion.releasedate1=Ez az \u00faj verzi\u00f3 kiad\u00e1sra ker\u00fclt:
+dialog.checkversion.releasedate1=Az \u00faj verzi\u00f3 ekkor lett kiadva:
dialog.checkversion.releasedate2=.
dialog.checkversion.download=Az \u00faj verzi\u00f3 let\u00f6lt\u00e9s\u00e9hez keresse fel a http://activityworkshop.net/software/gpsprune/download.html webhelyet.
dialog.keys.intro=A k\u00f6vetkez\u0151 gyorsbillenty\u0171k haszn\u00e1lhat\u00f3k az eg\u00e9r haszn\u00e1lata helyett
@@ -440,6 +450,7 @@ dialog.diskcache.save=T\u00e9rk\u00e9pek ment\u00e9se a lemezre
dialog.diskcache.dir=Gyors\u00edt\u00f3t\u00e1r k\u00f6nyvt\u00e1ra
dialog.diskcache.createdir=K\u00f6nyvt\u00e1r l\u00e9trehoz\u00e1sa
dialog.diskcache.nocreate=A gyors\u00edt\u00f3t\u00e1r k\u00f6nyvt\u00e1ra nem ker\u00fclt l\u00e9trehoz\u00e1sra
+dialog.diskcache.cannotwrite=A t\u00e9rk\u00e9pcsemp\u00e9k nem menthet\u0151ek a kiv\u00e1lasztott k\u00f6nyvt\u00e1rba
dialog.diskcache.table.path=El\u00e9r\u00e9si \u00fat
dialog.diskcache.table.usedby=Haszn\u00e1lja
dialog.diskcache.table.zoom=Nagy\u00edt\u00e1s
@@ -475,6 +486,7 @@ confirm.addaltitudeoffset=Magass\u00e1geltol\u00e1s hozz\u00e1adva
confirm.rearrangewaypoints=\u00datpontok \u00fajrarendezve
confirm.rearrangephotos=F\u00e9nyk\u00e9pek \u00fajrarendezve
confirm.cutandmove=Kijel\u00f6l\u00e9s \u00e1thelyezve
+confirm.interpolate=Pontok hozz\u00e1adva
confirm.convertnamestotimes=\u00datpont nevei konvert\u00e1lva
confirm.saveexif.ok1=Mentve
confirm.saveexif.ok2=k\u00e9pf\u00e1jl
@@ -582,6 +594,7 @@ details.nophoto=Nincs f\u00e9nyk\u00e9p kiv\u00e1lasztva
details.photo.loading=Bet\u00f6lt\u00e9s
details.photo.bearing=Ir\u00e1ny
details.media.connected=\u00d6sszekapcsolva
+details.media.fullpath=Teljes el\u00e9r\u00e9si \u00fat
details.audiodetails=Hang r\u00e9szletei
details.noaudio=Nincs hangf\u00e1jl kiv\u00e1lasztva
details.audio.file=Hangf\u00e1jl
@@ -615,9 +628,13 @@ units.feet=l\u00e1b
units.feet.short=ft
units.kilometres=kilom\u00e9ter
units.kilometres.short=km
+units.kilometresperhour.short=km/h
units.miles=m\u00e9rf\u00f6ld
units.miles.short=mi
units.milesperhour.short=mph
+units.nauticalmiles=Tengeri m\u00e9rf\u00f6ld
+units.nauticalmiles.short=nmi
+units.nauticalmilesperhour.short=csom\u00f3
units.metrespersec.short=m/s
units.feetpersec.short=ft/s
units.hours=\u00f3ra
@@ -645,6 +662,7 @@ undo.deletepoint=pont t\u00f6rl\u00e9se
undo.removephoto=f\u00e9nyk\u00e9p elt\u00e1vol\u00edt\u00e1sa
undo.removeaudio=hangf\u00e1jl elt\u00e1vol\u00edt\u00e1sa
undo.deleterange=tartom\u00e1ny t\u00f6rl\u00e9se
+undo.croptrack=nyomvonal k\u00f6rbev\u00e1g\u00e1sa
undo.deletemarked=nyomvonal t\u00f6m\u00f6r\u00edt\u00e9se
undo.insert=pontok besz\u00far\u00e1sa
undo.reverse=tartom\u00e1ny megford\u00edt\u00e1sa
@@ -685,7 +703,7 @@ error.jpegload.dialogtitle=Hiba a k\u00e9pek bet\u00f6lt\u00e9sekor
error.jpegload.nofilesfound=Nem tal\u00e1lhat\u00f3 f\u00e1jl
error.jpegload.nojpegsfound=Nem tal\u00e1lhat\u00f3 jpeg f\u00e1jl
error.jpegload.nogpsfound=Nem tal\u00e1lhat\u00f3 GPS inform\u00e1ci\u00f3
-error.jpegload.exifreadfailed=Az EXIF inform\u00e1ci\u00f3 olvas\u00e1sa nem siker\u00fclt. Nem olvasat\u00f3 EXIF inform\u00e1ci\u00f3\nbe\u00e9p\u00edtett vagy k\u00fcls\u0151 f\u00fcggv\u00e9nyk\u00f6nyvt\u00e1r n\u00e9lk\u00fcl.
+error.jpegload.exifreadfailed=Az Exif inform\u00e1ci\u00f3 olvas\u00e1sa nem siker\u00fclt. Nem olvasat\u00f3 Exif inform\u00e1ci\u00f3\nbe\u00e9p\u00edtett vagy k\u00fcls\u0151 f\u00fcggv\u00e9nyk\u00f6nyvt\u00e1r n\u00e9lk\u00fcl.
error.audioload.nofilesfound=Nem tal\u00e1lhat\u00f3 hangf\u00e1jl
error.gpsload.unknown=Ismeretlen hiba
error.undofailed.title=A visszavon\u00e1s nem siker\u00fclt
@@ -704,7 +722,9 @@ error.lookupsrtm.nonefound=Nem \u00e9rhet\u0151 el magass\u00e1gi \u00e9rt\u00e9
error.lookupsrtm.nonerequired=Az \u00f6sszes pont m\u00e1r rendelkezik magass\u00e1gadatokkal, \u00edgy nincs mit keresni
error.gpsies.uploadnotok=A gpsies szerver a k\u00f6vetkez\u0151 \u00fczenetet adta vissza
error.gpsies.uploadfailed=A felt\u00f6lt\u00e9s nem siker\u00fclt a k\u00f6vetkez\u0151 hib\u00e1val
+error.showphoto.failed=F\u00e9nyk\u00e9p bet\u00f6lt\u00e9se sikertelen
error.playaudiofailed=A hangf\u00e1jl lej\u00e1tsz\u00e1sa nem siker\u00fclt
error.cache.notthere=A csempegyors\u00edt\u00f3t\u00e1r k\u00f6nyvt\u00e1ra nem tal\u00e1lhat\u00f3
error.cache.empty=A csempegyors\u00edt\u00f3t\u00e1r k\u00f6nyvt\u00e1ra \u00fcres
error.cache.cannotdelete=Nincs t\u00f6r\u00f6lhet\u0151 csempe
+error.interpolate.invalidparameter=A pontok sz\u00e1ma 1 \u00e9s 1000 k\u00f6z\u00f6tt kell legyen
diff --git a/tim/prune/lang/prune-texts_it.properties b/tim/prune/lang/prune-texts_it.properties
index 719b791..5ee22f0 100644
--- a/tim/prune/lang/prune-texts_it.properties
+++ b/tim/prune/lang/prune-texts_it.properties
@@ -785,7 +785,7 @@ error.jpegload.dialogtitle=Errore nel caricamento delle foto
error.jpegload.nofilesfound=File non trovato
error.jpegload.nojpegsfound=File jpeg non trovato
error.jpegload.nogpsfound=Informazioni GPS non trovate
-error.jpegload.exifreadfailed=Lettera dei dati EXIF fallita. I dati EXIF non possono\n essere letti senza una libreria interna o esterna.
+error.jpegload.exifreadfailed=Lettera dei dati Exif fallita. I dati Exif non possono\n essere letti senza una libreria interna o esterna.
error.audioload.nofilesfound=Riprese audio non trovate
error.gpsload.unknown=Errore sconosciuto
error.undofailed.title=Impossibile annullare
diff --git a/tim/prune/lang/prune-texts_ja.properties b/tim/prune/lang/prune-texts_ja.properties
index 142ae84..78f2dc4 100644
--- a/tim/prune/lang/prune-texts_ja.properties
+++ b/tim/prune/lang/prune-texts_ja.properties
@@ -118,7 +118,7 @@ function.rearrangephotos=\u5199\u771f\u306e\u4e26\u3079\u76f4\u3057
function.rotatephotoleft=\u5199\u771f\u3092\u5de6\u306b\u56de\u3059
function.rotatephotoright=\u5199\u771f\u3092\u53f3\u306b\u56de\u3059
function.photopopup=\u5199\u771f\u306e\u30dd\u30c3\u30d7\u30a2\u30c3\u30d7\u3092\u8868\u793a
-function.ignoreexifthumb=EXIF\u30b5\u30e0\u30cd\u30a4\u30eb\u3092\u7121\u8996
+function.ignoreexifthumb=Exif\u30b5\u30e0\u30cd\u30a4\u30eb\u3092\u7121\u8996
function.loadaudio=\u30aa\u30fc\u30c7\u30a3\u30aa\u30d5\u30a1\u30a4\u30eb\u3092\u8ffd\u52a0
function.removeaudio=\u4e00\u89a7\u304b\u3089\u73fe\u5728\u306e\u30aa\u30fc\u30c7\u30a3\u30aa\u30d5\u30a1\u30a4\u30eb\u3092\u524a\u9664
function.correlateaudios=\u30aa\u30fc\u30c7\u30a3\u30aa\u3092\u95a2\u9023\u4ed8\u3051\u308b
@@ -240,7 +240,7 @@ dialog.addtimeoffset.minutes=\u5206
dialog.addtimeoffset.notimestamps=\u3053\u306e\u9078\u629e\u7bc4\u56f2\u306f\u30bf\u30a4\u30e0\u30b9\u30bf\u30f3\u30d7\u3092\u6301\u3063\u3066\u306a\u3044\u306e\u3067\u3001\u504f\u4f4d\u3092\u8db3\u305b\u307e\u305b\u3093\u3002
dialog.findwaypoint.intro=\u30a6\u30a7\u30a4\u30dd\u30a4\u30f3\u30c8\u540d\u306e\u4e00\u90e8\u3092\u5165\u529b
dialog.findwaypoint.search=\u691c\u7d22
-dialog.saveexif.title=EXIF\u3092\u4fdd\u5b58
+dialog.saveexif.title=Exif\u3092\u4fdd\u5b58
dialog.saveexif.intro=\u30c1\u30a7\u30c3\u30af\u30dc\u30c3\u30af\u30b9\u3092\u4f7f\u3063\u3066\u3001\u4fdd\u5b58\u3059\u308b\u5199\u771f\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044\u3002
dialog.saveexif.nothingtosave=\u5ea7\u6a19\u60c5\u5831\u306f\u7121\u5909\u66f4\u3067\u3059\u3002\u4fdd\u5b58\u3059\u308b\u3082\u306e\u306f\u3042\u308a\u307e\u305b\u3093\u3002
dialog.saveexif.noexiftool=exiftool \u30d7\u30ed\u30b0\u30e9\u30e0\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3002\u7d9a\u3051\u307e\u3059\u304b\uff1f
diff --git a/tim/prune/lang/prune-texts_ko.properties b/tim/prune/lang/prune-texts_ko.properties
index 2904a27..70f895c 100644
--- a/tim/prune/lang/prune-texts_ko.properties
+++ b/tim/prune/lang/prune-texts_ko.properties
@@ -659,7 +659,7 @@ error.jpegload.dialogtitle=\uc0ac\uc9c4 \ubd88\ub7ec\uc624\ub294 \uc911 \uc5d0\u
error.jpegload.nofilesfound=\ucc3e\uc740 \ud30c\uc77c \uc5c6\uc74c.
error.jpegload.nojpegsfound=\ucc3e\uc740 jpeg\ud30c\uc77c \uc5c6\uc74c.
error.jpegload.nogpsfound=GPS \uc815\ubcf4\ub97c \ucc3e\uc9c0 \ubabb\ud568.
-error.jpegload.exifreadfailed=EXIF\uc815\ubcf4 \uc77d\uae30 \uc2e4\ud328./n\ub0b4\uc7a5\uc774\ub098 \uc678\uc7a5 \ub77c\uc774\ube0c\ub7ec\uc774\uac00 \uc5c6\uc73c\uba74/nEXIF\uc815\ubcf4\ub97c \uc77d\uc744 \uc218 \uc5c6\uc5b4\uc694.
+error.jpegload.exifreadfailed=Exif\uc815\ubcf4 \uc77d\uae30 \uc2e4\ud328./n\ub0b4\uc7a5\uc774\ub098 \uc678\uc7a5 \ub77c\uc774\ube0c\ub7ec\uc774\uac00 \uc5c6\uc73c\uba74/nExif\uc815\ubcf4\ub97c \uc77d\uc744 \uc218 \uc5c6\uc5b4\uc694.
error.audioload.nofilesfound=\ucc3e\uc740 \uc18c\ub9ac\ud30c\uc77c \uc5c6\uc74c.
error.gpsload.unknown=\uc54c\ub824\uc9c0\uc9c0 \uc54a\uc740 \uc624\ub958.
error.undofailed.title=\ub418\ub3cc\ub9ac\uae30 \uc2e4\ud328.
diff --git a/tim/prune/lang/prune-texts_nl.properties b/tim/prune/lang/prune-texts_nl.properties
index 8915ccb..1ec6b81 100644
--- a/tim/prune/lang/prune-texts_nl.properties
+++ b/tim/prune/lang/prune-texts_nl.properties
@@ -785,7 +785,7 @@ error.jpegload.dialogtitle=Fout bij inlezen foto's
error.jpegload.nofilesfound=Bestanden niet gevonden
error.jpegload.nojpegsfound=Geen jpeg-bestanden gevonden
error.jpegload.nogpsfound=Geen GPS informatie gevonden
-error.jpegload.exifreadfailed=Kon geen EXIF informatie inlezen. EXIF informatie kan niet worden gelezen\n zonder interne of externe bibliotheek.
+error.jpegload.exifreadfailed=Kon geen Exif informatie inlezen. Exif informatie kan niet worden gelezen\n zonder interne of externe bibliotheek.
error.audioload.nofilesfound=Geen audiobestanden gevonden
error.gpsload.unknown=Onbekende fout
error.undofailed.title=Terugdraaien mislukt
diff --git a/tim/prune/lang/prune-texts_pl.properties b/tim/prune/lang/prune-texts_pl.properties
index 339c395..333caa7 100644
--- a/tim/prune/lang/prune-texts_pl.properties
+++ b/tim/prune/lang/prune-texts_pl.properties
@@ -101,6 +101,7 @@ function.show3d=Poka\u017c model 3D
function.distances=Odleg\u0142o\u015bci
function.fullrangedetails=Wszystkie detale
function.estimatetime=Przewidywany czas
+function.learnestimationparams=Skoryguj wsp\u00f3\u0142czynniki szacowania czasu
function.setmapbg=Wybierz map\u0119 t\u0142a
function.setpaths=Ustaw \u015bcie\u017cki do program\u00f3w
function.getgpsies=Pobierz \u015bcie\u017cki z Gpsies
@@ -162,6 +163,8 @@ dialog.openoptions.deliminfo.norecords=Brak rekord\u00f3w
dialog.openoptions.altitudeunits=Jednostki wysoko\u015bci
dialog.openoptions.speedunits=Jednostki pr\u0119dko\u015bci
dialog.openoptions.vertspeedunits=Jednostki pr\u0119dko\u015bci pionowej
+dialog.openoptions.vspeed.positiveup=Pr\u0119dko\u015b\u0107 wznoszenia
+dialog.openoptions.vspeed.positivedown=Pr\u0119dko\u015b\u0107 opadania
dialog.open.contentsdoubled=Ten plik zawiera dwie kopie ka\u017cdego punktu.\nRaz jako punkt po\u015bredni, a raz jako punkt \u015bcie\u017cki.
dialog.selecttracks.intro=Wybierz \u015bcie\u017ck\u0119 lub \u015bcie\u017cki
dialog.selecttracks.noname=Nienazwane
@@ -222,7 +225,7 @@ dialog.exportkml.exportimages=Eksportuj miniaturki zdj\u0119\u0107 do KMZ
dialog.exportkml.imagesize=Rozmiar zdj\u0119\u0107
dialog.exportkml.trackcolour=Kolor \u015bcie\u017cki
dialog.exportkml.standardkml=Standardowy KML
-dialog.exportkml.extendedkml=Standardowy KML ze znacznikami czasu (no, *extended*, not standard!)
+dialog.exportkml.extendedkml=KML ze znacznikami czasu
dialog.exportgpx.name=Nazwa
dialog.exportgpx.desc=Opis
dialog.exportgpx.includetimestamps=Do\u0142\u0105cz znaczniki czasu
@@ -322,14 +325,24 @@ dialog.fullrangedetails.colsegments=Bez luk
dialog.estimatetime.details=Szczeg\u00f3\u0142y
dialog.estimatetime.gentle=\u0141agodnie
dialog.estimatetime.steep=Stromo
+dialog.estimatetime.climb=Wznoszenie
+dialog.estimatetime.descent=Opadanie
dialog.estimatetime.parameters=Parametry
dialog.estimatetime.parameters.timefor=Czas dla
dialog.estimatetime.results=Wynik
dialog.estimatetime.results.estimatedtime=Czas przewidywany
dialog.estimatetime.results.actualtime=Czas bie\u017c\u0105cy
+dialog.estimatetime.error.nodistance=Aby obliczy\u0107 wsp\u00f3\u0142czynniki szacowania czasu punkty bie\u017c\u0105cej \u015bcie\u017cki musz\u0105 posiada\u0107 informacje o odleg\u0142o\u015bci
+dialog.estimatetime.error.noaltitudes=Bie\u017c\u0105ce zaznaczenie nie zawiera informacji o wysoko\u015bci
+dialog.learnestimationparams.intro=Wsp\u00f3\u0142czynniki obliczone na podstawie bie\u017c\u0105cej \u015bcie\u017cki
dialog.learnestimationparams.averageerror=B\u0142\u0105d \u015bredni
+dialog.learnestimationparams.combine=Po\u0142\u0105cz powy\u017csze wsp\u00f3\u0142czynniki z ich warto\u015bciami bie\u017c\u0105cymi
+dialog.learnestimationparams.combinedresults=Nowe wsp\u00f3\u0142czynniki
+dialog.learnestimationparams.weight.100pccurrent=Zatrzymaj warto\u015bci bie\u017c\u0105ce
dialog.learnestimationparams.weight.current=bie\u017c\u0105ce
dialog.learnestimationparams.weight.calculated=obliczone
+dialog.learnestimationparams.weight.50pc=\u015arednia warto\u015bci bie\u017c\u0105cych i obliczonych
+dialog.learnestimationparams.weight.100pccalculated=U\u017cyj nowe warto\u015bci obliczone
dialog.setmapbg.intro=Wybierz dostawc\u0119 map t\u0142a lub dodaj nowego
dialog.addmapsource.title=Dodaj dostawc\u0119 map
dialog.addmapsource.sourcename=Nazwa dostawcy
@@ -772,7 +785,7 @@ error.jpegload.dialogtitle=B\u0142\u0105d \u0142adowania zdj\u0119cia
error.jpegload.nofilesfound=Nie znaleziono plik\u00f3w
error.jpegload.nojpegsfound=Nie znaleziono plik\u00f3w jpeg
error.jpegload.nogpsfound=Nie znaleziono informacji GPS
-error.jpegload.exifreadfailed=Nie powiod\u0142o si\u0119 odczytanie informacji EXIF\nInformacji tych nie mo\u017cna przeczyta\u0107 bez wewn\u0119trznej lub zewn\u0119trznej biblioteki.
+error.jpegload.exifreadfailed=Nie powiod\u0142o si\u0119 odczytanie informacji Exif\nInformacji tych nie mo\u017cna przeczyta\u0107 bez wewn\u0119trznej lub zewn\u0119trznej biblioteki.
error.audioload.nofilesfound=Nie znaleziono plik\u00f3w audio
error.gpsload.unknown=Nieznany b\u0142\u0105d
error.undofailed.title=Cofnij nie powiod\u0142o si\u0119
@@ -797,3 +810,4 @@ error.cache.notthere=Nie znaleziono katalogu kesza
error.cache.empty=Katalog kesza jest pusty
error.cache.cannotdelete=\u017badne p\u0142ytki nie mog\u0142y zosta\u0107 usuni\u0119te
error.interpolate.invalidparameter=Ilo\u015b\u0107 punkt\u00f3w musi zawiera\u0107 si\u0119 w zakresie od 1 do 1000
+error.learnestimationparams.failed=Oszacowanie wsp\u00f3\u0142czynnik\u00f3w dla danej scie\u017cki nie powiod\u0142o si\u0119.\nSpr\u00f3buj za\u0142adowa\u0107 wi\u0119cej \u015bcie\u017cek.
diff --git a/tim/prune/lang/prune-texts_pt.properties b/tim/prune/lang/prune-texts_pt.properties
index fe7bdc2..dc9a803 100644
--- a/tim/prune/lang/prune-texts_pt.properties
+++ b/tim/prune/lang/prune-texts_pt.properties
@@ -686,7 +686,7 @@ error.jpegload.dialogtitle=Erro ao carregar fotos
error.jpegload.nofilesfound=Nenhum arquivo encontrado
error.jpegload.nojpegsfound=Nenhum arquivo jpeg encontrado
error.jpegload.nogpsfound=Nenhuma informa\u00e7\u00e3o de GPS encontrada
-error.jpegload.exifreadfailed=Falha ao ler informa\u00e7\u00f5es do EXIF. Nenhuma informa\u00e7\u00e3o do EXIF pode ser lida\nseja na biblioteca interna, seja na externa.
+error.jpegload.exifreadfailed=Falha ao ler informa\u00e7\u00f5es do Exif. Nenhuma informa\u00e7\u00e3o do Exif pode ser lida\nseja na biblioteca interna, seja na externa.
error.audioload.nofilesfound=Nenhum arquivo de \u00e1udio encontrado
error.gpsload.unknown=Erro desconhecido
error.undofailed.title=Falha ao desfazer
diff --git a/tim/prune/lang/prune-texts_ru.properties b/tim/prune/lang/prune-texts_ru.properties
index a34b95d..3a691c8 100644
--- a/tim/prune/lang/prune-texts_ru.properties
+++ b/tim/prune/lang/prune-texts_ru.properties
@@ -724,7 +724,7 @@ error.jpegload.dialogtitle=\u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u04
error.jpegload.nofilesfound=\u0424\u0430\u0439\u043b\u044b \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u044b
error.jpegload.nojpegsfound=JEPG-\u0444\u0430\u0439\u043b\u044b \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u044b
error.jpegload.nogpsfound=\u041d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u0430 GPS-\u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f
-error.jpegload.exifreadfailed=\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c EXIF-\u200b\u200b\u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e. \u041d\u0435\u0442 EXIF-\u200b\u200b\u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u200b\u200b\u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c\n\u0431\u0435\u0437 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u0430\u043a\u0438\u0445-\u043b\u0438\u0431\u043e \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0445 \u0438\u043b\u0438 \u0432\u043d\u0435\u0448\u043d\u0438\u0445 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a.
+error.jpegload.exifreadfailed=\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c Exif-\u200b\u200b\u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e. \u041d\u0435\u0442 Exif-\u200b\u200b\u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u200b\u200b\u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c\n\u0431\u0435\u0437 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u0430\u043a\u0438\u0445-\u043b\u0438\u0431\u043e \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0445 \u0438\u043b\u0438 \u0432\u043d\u0435\u0448\u043d\u0438\u0445 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a.
error.audioload.nofilesfound=\u0417\u0432\u0443\u043a\u043e\u0437\u0430\u043f\u0438\u0441\u0438 \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u044b
error.gpsload.unknown=\u041d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430
error.undofailed.title=\u041e\u0442\u043c\u0435\u043d\u0438\u0442\u044c \u043d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c
diff --git a/tim/prune/load/FileCacher.java b/tim/prune/load/FileCacher.java
index da354aa..22383c6 100644
--- a/tim/prune/load/FileCacher.java
+++ b/tim/prune/load/FileCacher.java
@@ -47,7 +47,9 @@ public class FileCacher
}
while (currLine != null)
{
- if (currLine.indexOf('\0') >= 0) {
+ if (currLine.indexOf('\0') >= 0)
+ {
+ try {reader.close();} catch (IOException ioe2) {}
return; // it's a binary file, shouldn't use this cacher
}
if (currLine.trim().length() > 0)
diff --git a/tim/prune/readme.txt b/tim/prune/readme.txt
index 8a47ebe..4bf30f1 100644
--- a/tim/prune/readme.txt
+++ b/tim/prune/readme.txt
@@ -1,4 +1,4 @@
-GpsPrune version 15.1
+GpsPrune version 15.2
=====================
GpsPrune is an application for viewing, editing and managing coordinate data from GPS systems,
@@ -17,7 +17,7 @@ Running
=======
To run GpsPrune from the jar file, simply call it from a command prompt or shell:
- java -jar gpsprune_15.1.jar
+ java -jar gpsprune_15.2.jar
If the jar file is saved in a different directory, you will need to include the path.
Depending on your system settings, you may be able to click or double-click on the jar file
@@ -25,10 +25,10 @@ in a file manager window to execute it. A shortcut, menu item, alias, desktop i
or other link can of course be made should you wish.
To specify a language other than the default, use an additional parameter, eg:
- java -jar gpsprune_15.1.jar --lang=DE
+ java -jar gpsprune_15.2.jar --lang=DE
-New with version 15.1
+New with version 15.2
=====================
The following features were added since version 15:
- Improved translations
diff --git a/tim/prune/save/KmlExporter.java b/tim/prune/save/KmlExporter.java
index 6fbf749..8021834 100644
--- a/tim/prune/save/KmlExporter.java
+++ b/tim/prune/save/KmlExporter.java
@@ -525,7 +525,7 @@ public class KmlExporter extends GenericFunction implements Runnable
}
// Make a blob with description for each photo
// Photos have already been written so picture sizes already known
- if (point.getPhoto() != null && writePhotos && writeCurrentPoint)
+ if (point.getPhoto() != null && point.getPhoto().isValid() && writePhotos && writeCurrentPoint)
{
if (!writtenPhotoHeader)
{
@@ -876,21 +876,21 @@ public class KmlExporter extends GenericFunction implements Runnable
ImageWriter imageWriter = writers.next();
// Check selection checkbox
- boolean justSelection = _pointTypeSelector.getJustSelection();
+ final boolean justSelection = _pointTypeSelector.getJustSelection();
int selStart = -1, selEnd = -1;
if (justSelection) {
selStart = _trackInfo.getSelection().getStart();
selEnd = _trackInfo.getSelection().getEnd();
}
- int numPoints = _track.getNumPoints();
+ final int numPoints = _track.getNumPoints();
DataPoint point = null;
int photoNum = 0;
// Loop over all points in track
for (int i=0; i<numPoints && !_cancelPressed; i++)
{
point = _track.getPoint(i);
- if (point.getPhoto() != null && (!justSelection || (i>=selStart && i<=selEnd)))
+ if (point.getPhoto() != null && point.getPhoto().isValid() && (!justSelection || (i>=selStart && i<=selEnd)))
{
photoNum++;
// Make a new entry in zip file
diff --git a/tim/prune/save/PovExporter.java b/tim/prune/save/PovExporter.java
index ba66058..135ccbb 100644
--- a/tim/prune/save/PovExporter.java
+++ b/tim/prune/save/PovExporter.java
@@ -668,7 +668,6 @@ public class PovExporter extends Export3dFunction implements DataSubscriber
inWriter.write("// Data points:");
inWriter.write(inLineSeparator);
int numPoints = inModel.getNumPoints();
- int numTrackPoints = 0;
// Loop over all points and write out waypoints as balls
for (int i=0; i<numPoints; i++)
{
@@ -686,7 +685,6 @@ public class PovExporter extends Export3dFunction implements DataSubscriber
}
inWriter.write(inLineSeparator);
}
- else {numTrackPoints++;}
}
inWriter.write(inLineSeparator);
--
Tool to visualize, edit, convert and prune GPS data
More information about the Pkg-grass-devel
mailing list