The following commit has been merged in the master branch: commit eac6a08b7a1e6b465bac681c5964d3776b7d1e13 Author: Mònica Ramírez Arceda <mon...@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
_______________________________________________ Pkg-grass-devel mailing list Pkg-grass-devel@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grass-devel