[Git][debian-gis-team/gpsprune][upstream] New upstream version 24.4
Bas Couwenberg (@sebastic)
gitlab at salsa.debian.org
Sun Sep 1 19:29:06 BST 2024
Bas Couwenberg pushed to branch upstream at Debian GIS Project / gpsprune
Commits:
3dedd0ba by Bas Couwenberg at 2024-09-01T20:19:19+02:00
New upstream version 24.4
- - - - -
18 changed files:
- build.sh
- tim/prune/App.java
- tim/prune/GpsPrune.java
- tim/prune/config/Config.java
- tim/prune/correlate/AudioCorrelator.java
- tim/prune/correlate/PhotoCorrelator.java
- tim/prune/data/DataPoint.java
- tim/prune/function/CreateMarkerWaypointsFunction.java
- tim/prune/function/InterpolateFunction.java
- + tim/prune/function/PointUtils.java
- tim/prune/function/ProjectCircle.java
- tim/prune/function/ProjectPoint.java
- tim/prune/gui/WizardLayout.java
- tim/prune/gui/map/MapSourceLibrary.java
- tim/prune/lang/prune-texts_cy.properties
- tim/prune/lang/prune-texts_no.properties
- tim/prune/load/babel/InterpolateFilter.java
- tim/prune/readme.txt
Changes:
=====================================
build.sh
=====================================
@@ -1,6 +1,6 @@
# Build script
# Version number
-PRUNENAME=gpsprune_24.3
+PRUNENAME=gpsprune_24.4
# remove compile directory
rm -rf compile
# remove dist directory
=====================================
tim/prune/App.java
=====================================
@@ -21,7 +21,6 @@ import tim.prune.gui.UndoManager;
import tim.prune.gui.Viewport;
import tim.prune.gui.colour.ColourerCaretaker;
import tim.prune.gui.colour.PointColourer;
-import tim.prune.gui.map.MapSourceLibrary;
import tim.prune.load.FileLoader;
import tim.prune.load.ItemToLoad;
import tim.prune.load.JpegLoader;
@@ -75,7 +74,6 @@ public class App
_colCaretaker = new ColourerCaretaker(this);
UpdateMessageBroker.addSubscriber(_colCaretaker);
_colCaretaker.setColourer(_config.getPointColourer());
- MapSourceLibrary.init(_config);
}
=====================================
tim/prune/GpsPrune.java
=====================================
@@ -29,6 +29,7 @@ import tim.prune.gui.SidebarController;
import tim.prune.gui.StatusBar;
import tim.prune.gui.Viewport;
import tim.prune.gui.map.MapCanvas;
+import tim.prune.gui.map.MapSourceLibrary;
import tim.prune.gui.profile.ProfileChart;
/**
@@ -41,9 +42,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 = "24.3";
+ public static final String VERSION_NUMBER = "24.4";
/** Build number, just used for about screen */
- public static final String BUILD_NUMBER = "417";
+ public static final String BUILD_NUMBER = "419";
/** Static reference to App object */
private static App APP = null;
@@ -127,12 +128,16 @@ public class GpsPrune
// Make sure Config holds chosen language
config.setConfigString(Config.KEY_LANGUAGE_CODE, localeCode);
}
- else {
+ else
+ {
// Set locale according to Config's language property
String configLang = config.getConfigString(Config.KEY_LANGUAGE_CODE);
- if (configLang != null) {
+ if (configLang != null)
+ {
Locale configLocale = getLanguage(configLang);
- if (configLocale != null) {locale = configLocale;}
+ if (configLocale != null) {
+ locale = configLocale;
+ }
}
}
I18nManager.init(locale);
@@ -160,6 +165,8 @@ public class GpsPrune
}
catch (Exception e) {}
+ setupMaps(config);
+
// Set up the window and go
launch(config, dataFiles);
@@ -168,6 +175,29 @@ public class GpsPrune
}
}
+ /** Use the Config to initialise the MapSourceLibrary with the custom sources */
+ private static void setupMaps(Config inConfig)
+ {
+ MapSourceLibrary.init(inConfig.getConfigString(Config.KEY_MAPSOURCE_LIST));
+
+ // Adjust the index of the selected map
+ // (only required if config was loaded from a previous version of GpsPrune)
+ int sourceNum = inConfig.getConfigInt(Config.KEY_MAPSOURCE_INDEX);
+ int prevNumFixed = inConfig.getConfigInt(Config.KEY_NUM_FIXED_MAPS);
+ // Number of fixed maps not specified in version <=13, default to 6
+ if (prevNumFixed == 0) {
+ prevNumFixed = 6;
+ }
+ int currNumFixed = MapSourceLibrary.getNumFixedSources();
+ // Only need to do something if the number has changed
+ if (currNumFixed != prevNumFixed && (sourceNum >= prevNumFixed || sourceNum >= currNumFixed))
+ {
+ sourceNum += (currNumFixed - prevNumFixed);
+ inConfig.setConfigInt(Config.KEY_MAPSOURCE_INDEX, sourceNum);
+ }
+ inConfig.setConfigInt(Config.KEY_NUM_FIXED_MAPS, currNumFixed);
+ }
+
/**
* Choose a locale based on the given code
=====================================
tim/prune/config/Config.java
=====================================
@@ -10,7 +10,6 @@ import tim.prune.data.UnitSet;
import tim.prune.data.UnitSetLibrary;
import tim.prune.gui.colour.ColourerFactory;
import tim.prune.gui.colour.PointColourer;
-import tim.prune.gui.map.MapSourceLibrary;
/**
@@ -152,8 +151,6 @@ public class Config
_pointColourer = ColourerFactory.createColourer(_configValues.getProperty(KEY_POINT_COLOURER));
_recentFiles = new RecentFileList(_configValues.getProperty(KEY_RECENT_FILES));
_unitSet = UnitSetLibrary.getUnitSet(_configValues.getProperty(KEY_UNITSET_KEY));
- // Adjust map source index if necessary
- adjustSelectedMap();
// Reset coord display format
setConfigString(KEY_COORD_DISPLAY_FORMAT, "NONE");
@@ -196,26 +193,6 @@ public class Config
return props;
}
- /**
- * Adjust the index of the selected map
- * (only required if config was loaded from a previous version of GpsPrune)
- */
- private void adjustSelectedMap()
- {
- int sourceNum = getConfigInt(Config.KEY_MAPSOURCE_INDEX);
- int prevNumFixed = getConfigInt(Config.KEY_NUM_FIXED_MAPS);
- // Number of fixed maps not specified in version <=13, default to 6
- if (prevNumFixed == 0) prevNumFixed = 6;
- int currNumFixed = MapSourceLibrary.getNumFixedSources();
- // Only need to do something if the number has changed
- if (currNumFixed != prevNumFixed && (sourceNum >= prevNumFixed || sourceNum >= currNumFixed))
- {
- sourceNum += (currNumFixed - prevNumFixed);
- setConfigInt(Config.KEY_MAPSOURCE_INDEX, sourceNum);
- }
- setConfigInt(Config.KEY_NUM_FIXED_MAPS, currNumFixed);
- }
-
/**
* @param inString String to parse
* @return int value of String, or 0 if unparseable
=====================================
tim/prune/correlate/AudioCorrelator.java
=====================================
@@ -22,6 +22,7 @@ import tim.prune.data.MediaObject;
import tim.prune.data.TimeDifference;
import tim.prune.data.Timestamp;
import tim.prune.data.TimestampUtc;
+import tim.prune.function.PointUtils;
/**
* Class to manage the automatic correlation of audio clips to points
@@ -236,7 +237,7 @@ public class AudioCorrelator extends Correlator
else
{
// audio time falls between two points, so need to interpolate new one
- DataPoint pointToAdd = DataPoint.interpolate(pair.getPointBefore(), pair.getPointAfter(), pair.getFraction());
+ DataPoint pointToAdd = PointUtils.interpolate(pair.getPointBefore(), pair.getPointAfter(), pair.getFraction());
pointToAdd.setSegmentStart(true);
inPointsToCreate.add(pointToAdd);
inPointAudioPairs.add(new PointAndMedia(pointToAdd, null, audioToLink));
=====================================
tim/prune/correlate/PhotoCorrelator.java
=====================================
@@ -16,6 +16,7 @@ import tim.prune.data.DataPoint;
import tim.prune.data.MediaList;
import tim.prune.data.Photo;
import tim.prune.data.TimeDifference;
+import tim.prune.function.PointUtils;
/**
@@ -165,7 +166,7 @@ public class PhotoCorrelator extends Correlator
else
{
// photo time falls between two points, so need to interpolate new one
- DataPoint pointToAdd = DataPoint.interpolate(pair.getPointBefore(), pair.getPointAfter(), pair.getFraction());
+ DataPoint pointToAdd = PointUtils.interpolate(pair.getPointBefore(), pair.getPointAfter(), pair.getFraction());
pointToAdd.setSegmentStart(true);
inPointsToCreate.add(pointToAdd);
inPointPhotoPairs.add(new PointAndMedia(pointToAdd, photoToLink, null));
=====================================
tim/prune/data/DataPoint.java
=====================================
@@ -149,6 +149,11 @@ public class DataPoint
_timestamp = new TimestampUtc(null);
}
+ /** Simplified constructor just giving raw values for latitude and longitude */
+ public DataPoint(double inLatitude, double inLongitude) {
+ this(Latitude.make(inLatitude), Longitude.make(inLongitude), null);
+ }
+
/**
* Get the value for the given field
* @param inField field to interrogate
@@ -478,45 +483,6 @@ public class DataPoint
return mediaName;
}
- /**
- * Interpolate a point between this one and the given one
- * @param inEndPoint end point of interpolation
- * @param inIndex the index of this interpolation (0 to inNumPoints-1)
- * @param inNumPoints number of points to generate
- * @return the interpolated DataPoint
- */
- public DataPoint interpolate(DataPoint inEndPoint, int inIndex, int inNumPoints)
- {
- Coordinate latitude = Latitude.interpolate(_latitude, inEndPoint.getLatitude(), inIndex, inNumPoints);
- Coordinate longitude = Longitude.interpolate(_longitude, inEndPoint.getLongitude(), inIndex, inNumPoints);
- Altitude altitude = Altitude.interpolate(_altitude, inEndPoint.getAltitude(), inIndex, inNumPoints);
- DataPoint point = new DataPoint(latitude, longitude, altitude);
- if (hasTimestamp() && inEndPoint.hasTimestamp()) {
- String value = TimestampUtc.interpolate(getTimestamp(), inEndPoint.getTimestamp(), inIndex, inNumPoints);
- point.setFieldValue(Field.TIMESTAMP, value, false);
- }
- return point;
- }
-
- /**
- * Interpolate between the two given points
- * @param inStartPoint start point
- * @param inEndPoint end point
- * @param inFrac fractional distance from first point (0.0 to 1.0)
- * @return new DataPoint object between two given ones
- */
- public static DataPoint interpolate(DataPoint inStartPoint, DataPoint inEndPoint, double inFrac)
- {
- if (inStartPoint == null || inEndPoint == null) {
- return null;
- }
- return new DataPoint(
- Latitude.interpolate(inStartPoint.getLatitude(), inEndPoint.getLatitude(), inFrac),
- Longitude.interpolate(inStartPoint.getLongitude(), inEndPoint.getLongitude(), inFrac),
- Altitude.interpolate(inStartPoint.getAltitude(), inEndPoint.getAltitude(), inFrac)
- );
- }
-
/**
* Calculate the number of radians between two points (for distance calculation)
* @param inPoint1 first point
=====================================
tim/prune/function/CreateMarkerWaypointsFunction.java
=====================================
@@ -150,7 +150,7 @@ public class CreateMarkerWaypointsFunction extends DistanceTimeLimitFunction
final double valueBeforeBreak = (m * inLimit) - inPrevValue;
final double valueAfterBreak = inCurrValue - (m * inLimit);
final double fractionFromPrev = valueBeforeBreak / (valueBeforeBreak + valueAfterBreak);
- DataPoint marker = DataPoint.interpolate(inPrevPoint, inCurrPoint, fractionFromPrev);
+ DataPoint marker = PointUtils.interpolate(inPrevPoint, inCurrPoint, fractionFromPrev);
marker.setWaypointName(createLimitDescription(m));
_pointsToAdd.add(marker);
}
@@ -240,7 +240,7 @@ public class CreateMarkerWaypointsFunction extends DistanceTimeLimitFunction
final double valueBeforeBreak = inTargetValue - inPrevValue;
final double valueAfterBreak = inCurrValue - inTargetValue;
final double fractionFromPrev = valueBeforeBreak / (valueBeforeBreak + valueAfterBreak);
- DataPoint marker = DataPoint.interpolate(inPrevPoint, inCurrPoint, fractionFromPrev);
+ DataPoint marker = PointUtils.interpolate(inPrevPoint, inCurrPoint, fractionFromPrev);
marker.setWaypointName(createHalfwayName(inType));
_pointsToAdd.add(marker);
return true;
=====================================
tim/prune/function/InterpolateFunction.java
=====================================
@@ -57,8 +57,8 @@ public class InterpolateFunction extends SingleNumericParameterFunction
int answer = JOptionPane.showConfirmDialog(_parentFrame,
I18nManager.getText("dialog.interpolate.betweenwaypoints"),
getName(), JOptionPane.YES_NO_OPTION);
- if (answer == JOptionPane.NO_OPTION) {
- // user said no, so nothing to do
+ if (answer != JOptionPane.YES_OPTION) {
+ // user said no (or cancel), so nothing to do
return;
}
betweenWaypoints = true;
@@ -67,8 +67,11 @@ public class InterpolateFunction extends SingleNumericParameterFunction
final int numToAdd = inParam;
final Track track = _app.getTrackInfo().getTrack();
InsertVariousPointsCmd command = makeCommand(track, startIndex, endIndex, numToAdd, betweenWaypoints);
- if (_app.execute(command)) {
- _app.getTrackInfo().getSelection().selectRange(startIndex, endIndex + command.getNumInserted());
+ if (_app.execute(command))
+ {
+ final int lastIndex = endIndex + command.getNumInserted();
+ _app.getTrackInfo().getSelection().selectRange(startIndex, lastIndex);
+ _app.getTrackInfo().selectPoint(lastIndex);
}
}
@@ -99,8 +102,13 @@ public class InterpolateFunction extends SingleNumericParameterFunction
|| (!currPoint.isWaypoint() && !prevPoint.isWaypoint() && !currPoint.getSegmentStart());
if (interpolate)
{
- for (int j=0; j<inNumToAdd; j++) {
- insertedPoints.add(prevPoint.interpolate(currPoint, j, inNumToAdd));
+ for (int j=0; j<inNumToAdd; j++)
+ {
+ DataPoint newPoint = PointUtils.interpolate(prevPoint, currPoint, j, inNumToAdd);
+ if (j == 0 && inBetweenWaypoints) {
+ newPoint.setSegmentStart(true);
+ }
+ insertedPoints.add(newPoint);
indexes.add(inTrack.getNumPoints() + insertedPoints.size() - 1);
}
}
=====================================
tim/prune/function/PointUtils.java
=====================================
@@ -0,0 +1,55 @@
+package tim.prune.function;
+
+import tim.prune.data.*;
+
+/** General utility methods for creating new DataPoint objects */
+public abstract class PointUtils
+{
+ /**
+ * Project the given data point and create a new one in the calculated position
+ */
+ public static DataPoint projectPoint(DataPoint inPoint, double inBearingRadians, double inDistanceRadians)
+ {
+ final double origLatRads = Math.toRadians(inPoint.getLatitude().getDouble());
+ final double origLonRads = Math.toRadians(inPoint.getLongitude().getDouble());
+
+ double lat2 = Math.asin(Math.sin(origLatRads) * Math.cos(inDistanceRadians)
+ + Math.cos(origLatRads) * Math.sin(inDistanceRadians) * Math.cos(inBearingRadians));
+ double lon2 = origLonRads + Math.atan2(Math.sin(inBearingRadians) * Math.sin(inDistanceRadians) * Math.cos(origLatRads),
+ Math.cos(inDistanceRadians) - Math.sin(origLatRads) * Math.sin(lat2));
+
+ return new DataPoint(Math.toDegrees(lat2), Math.toDegrees(lon2));
+ }
+
+ /**
+ * Interpolate between the two given points
+ * @param inStartPoint start point
+ * @param inEndPoint end point
+ * @param inFrac fractional distance from first point (0.0 to 1.0)
+ * @return new DataPoint object between two given ones
+ */
+ public static DataPoint interpolate(DataPoint inStartPoint, DataPoint inEndPoint, double inFrac)
+ {
+ if (inStartPoint == null || inEndPoint == null) {
+ return null;
+ }
+ return new DataPoint(
+ Latitude.interpolate(inStartPoint.getLatitude(), inEndPoint.getLatitude(), inFrac),
+ Longitude.interpolate(inStartPoint.getLongitude(), inEndPoint.getLongitude(), inFrac),
+ Altitude.interpolate(inStartPoint.getAltitude(), inEndPoint.getAltitude(), inFrac)
+ );
+ }
+
+ /**
+ * Interpolate a point between two points given an index and number of points
+ * @param inEndPoint end point of interpolation
+ * @param inIndex the index of this interpolation (0 to inNumPoints-1)
+ * @param inNumPoints number of points to generate
+ * @return the interpolated DataPoint
+ */
+ public static DataPoint interpolate(DataPoint inStartPoint, DataPoint inEndPoint, int inIndex, int inNumPoints)
+ {
+ final double frac = 1.0 * (inIndex+1) / (inNumPoints + 1);
+ return interpolate(inStartPoint, inEndPoint, frac);
+ }
+}
=====================================
tim/prune/function/ProjectCircle.java
=====================================
@@ -22,8 +22,6 @@ import tim.prune.I18nManager;
import tim.prune.cmd.AppendRangeCmd;
import tim.prune.data.DataPoint;
import tim.prune.data.Distance;
-import tim.prune.data.Latitude;
-import tim.prune.data.Longitude;
import tim.prune.data.Unit;
import tim.prune.data.UnitSetLibrary;
import tim.prune.gui.DecimalNumberField;
@@ -168,22 +166,14 @@ public class ProjectCircle extends GenericFunction
DataPoint currPoint = _app.getTrackInfo().getCurrentPoint();
Unit distUnit = _distanceIsMetric ? UnitSetLibrary.UNITS_METRES : UnitSetLibrary.UNITS_FEET;
final double projectRads = Distance.convertDistanceToRadians(_distanceField.getValue(), distUnit);
- final double origLatRads = Math.toRadians(currPoint.getLatitude().getDouble());
- final double origLonRads = Math.toRadians(currPoint.getLongitude().getDouble());
final int NUM_POINTS_IN_CIRCLE = 24;
ArrayList<DataPoint> points = new ArrayList<>();
for (int pointNum=0; pointNum<=NUM_POINTS_IN_CIRCLE; pointNum++)
{
final double bearingRads = (pointNum % NUM_POINTS_IN_CIRCLE) * 2.0 * Math.PI / NUM_POINTS_IN_CIRCLE;
-
- double lat2 = Math.asin(Math.sin(origLatRads) * Math.cos(projectRads)
- + Math.cos(origLatRads) * Math.sin(projectRads) * Math.cos(bearingRads));
- double lon2 = origLonRads + Math.atan2(Math.sin(bearingRads) * Math.sin(projectRads) * Math.cos(origLatRads),
- Math.cos(projectRads) - Math.sin(origLatRads) * Math.sin(lat2));
-
// Create point and append to track
- DataPoint point = new DataPoint(Latitude.make(Math.toDegrees(lat2)), Longitude.make(Math.toDegrees(lon2)));
+ DataPoint point = PointUtils.projectPoint(currPoint, bearingRads, projectRads);
point.setSegmentStart(pointNum == 0);
points.add(point);
}
=====================================
tim/prune/function/ProjectPoint.java
=====================================
@@ -22,8 +22,6 @@ import tim.prune.I18nManager;
import tim.prune.cmd.InsertPointCmd;
import tim.prune.data.DataPoint;
import tim.prune.data.Distance;
-import tim.prune.data.Latitude;
-import tim.prune.data.Longitude;
import tim.prune.data.Unit;
import tim.prune.data.UnitSetLibrary;
import tim.prune.gui.DecimalNumberField;
@@ -186,20 +184,10 @@ public class ProjectPoint extends GenericFunction
DataPoint currPoint = _app.getTrackInfo().getCurrentPoint();
Unit distUnit = _distanceIsMetric ? UnitSetLibrary.UNITS_METRES : UnitSetLibrary.UNITS_FEET;
final double projectRads = Distance.convertDistanceToRadians(_distanceField.getValue(), distUnit);
- final double origLatRads = Math.toRadians(currPoint.getLatitude().getDouble());
- final double origLonRads = Math.toRadians(currPoint.getLongitude().getDouble());
final double bearingRads = Math.toRadians(_bearingField.getValue());
- double lat2 = Math.asin(Math.sin(origLatRads) * Math.cos(projectRads)
- + Math.cos(origLatRads) * Math.sin(projectRads) * Math.cos(bearingRads));
- double lon2 = origLonRads + Math.atan2(Math.sin(bearingRads) * Math.sin(projectRads) * Math.cos(origLatRads),
- Math.cos(projectRads) - Math.sin(origLatRads) * Math.sin(lat2));
-
- double finalLatDeg = Math.toDegrees(lat2);
- double finalLonDeg = Math.toDegrees(lon2);
-
// Create point and append to track
- DataPoint point = new DataPoint(Latitude.make(finalLatDeg), Longitude.make(finalLonDeg));
+ DataPoint point = PointUtils.projectPoint(currPoint, bearingRads, projectRads);
point.setWaypointName(_nameField.getText());
point.setSegmentStart(true);
=====================================
tim/prune/gui/WizardLayout.java
=====================================
@@ -44,34 +44,22 @@ public class WizardLayout extends CardLayout
/**
* Go to the first card
*/
- public void showFirstCard()
- {
- first(_panel);
- _currentCard = 0;
+ public void showFirstCard() {
+ showCard(0);
}
/**
* Go to the next card
*/
- public void showNextCard()
- {
- if (_currentCard < (_numCards-1))
- {
- next(_panel);
- _currentCard++;
- }
+ public void showNextCard() {
+ showCard(_currentCard + 1);
}
/**
* Go to the previous card
*/
- public void showPreviousCard()
- {
- if (_currentCard > 0)
- {
- previous(_panel);
- _currentCard--;
- }
+ public void showPreviousCard() {
+ showCard(_currentCard - 1);
}
/**
=====================================
tim/prune/gui/map/MapSourceLibrary.java
=====================================
@@ -2,7 +2,6 @@ package tim.prune.gui.map;
import java.util.ArrayList;
-import tim.prune.config.Config;
/**
* Class to hold a library for all the map sources
@@ -16,14 +15,14 @@ public abstract class MapSourceLibrary
private static int _numFixedSources = 0;
/**
- * @param inConfig config object
+ * @param inConfigString string describing extra sources
*/
- public static void init(Config inConfig)
+ public static void init(String inConfigString)
{
_sourceList = new ArrayList<>();
addFixedSources();
_numFixedSources = _sourceList.size();
- addConfigSources(inConfig);
+ addConfigSources(inConfigString);
}
/** Private constructor to block instantiation */
@@ -53,24 +52,23 @@ public abstract class MapSourceLibrary
/**
* Add custom sources from Config to the library
- * @param inConfig config object
+ * @param inConfigString string describing custom sources
*/
- private static void addConfigSources(Config inConfig)
+ private static void addConfigSources(String inConfigString)
{
- String configString = inConfig.getConfigString(Config.KEY_MAPSOURCE_LIST);
- if (configString != null && configString.length() > 10)
+ if (inConfigString != null && inConfigString.length() > 10)
{
// Loop over sources in string, separated by vertical bars
- int splitPos = configString.indexOf('|');
+ int splitPos = inConfigString.indexOf('|');
while (splitPos > 0)
{
- String sourceString = configString.substring(0, splitPos);
+ String sourceString = inConfigString.substring(0, splitPos);
MapSource source = OsmMapSource.fromConfig(sourceString);
if (source != null) {
_sourceList.add(source);
}
- configString = configString.substring(splitPos+1);
- splitPos = configString.indexOf('|');
+ inConfigString = inConfigString.substring(splitPos+1);
+ splitPos = inConfigString.indexOf('|');
}
}
}
=====================================
tim/prune/lang/prune-texts_cy.properties
=====================================
@@ -114,9 +114,6 @@ dialog.colourchooser.blue=Glas
dialog.colourer.type.none=Dim
dialog.colourer.start=Lliw dechreuol
dialog.colourer.end=Lliw olaf
-dialog.colourer.huesmode=Rhyngosodiad rhwng arlliwiau
-dialog.colourer.huesmode.narrow=Cul
-dialog.colourer.huesmode.wide=Llydan
dialog.setlanguage.language=Iaith
dialog.diskcache.table.megabytes=Megabeitiau
dialog.displaysettings.wpicon.ring=Cylch
=====================================
tim/prune/lang/prune-texts_no.properties
=====================================
@@ -569,16 +569,16 @@ button.block=Blokker
button.search=S\u00f8k
# File types for filtering
-filetypefilter.txt=TXT-filer
-filetypefilter.jpeg=JPG-filer
-filetypefilter.kmlkmz=KML-, KMZ-filer
-filetypefilter.kml=KML-filer
-filetypefilter.kmz=KMZ-filer
-filetypefilter.gpx=GPX-filer
-filetypefilter.pov=POV-filer
-filetypefilter.svg=SVG-filer
-filetypefilter.png=PNG-filer
-filetypefilter.audio=MP3-, OGG-, WAV-filer
+filetype.txt=TXT-filer
+filetype.jpeg=JPG-filer
+filetype.kmlkmz=KML-, KMZ-filer
+filetype.kml=KML-filer
+filetype.kmz=KMZ-filer
+filetype.gpx=GPX-filer
+filetype.pov=POV-filer
+filetype.svg=SVG-filer
+filetype.png=PNG-filer
+filetype.audio=MP3-, OGG-, WAV-filer
# Display components
display.nodata=Ingen data lastet
@@ -744,536 +744,3 @@ error.sewsegments.nothingdone.single=Ingen segmenter kan sys sammen.\nDet er bar
error.findfile.nofilesfound=Ingen filer ble funnet i denne mappen.
error.migrateconfig.couldnotcreatedirectory=Kunne ikke opprette mappen %s.\nInnstillinger kunne ikke migreres.
error.migrateconfig.couldnotdeletefile=Kunne ikke slette filen %s.\nSlett denne filen manuelt.
-function.getweatherforecast=Hent v\u00e6rvarsel
-function.setaltitudetolerance=Still inn h\u00f8ydetoleranse
-function.selecttimezone=Still inn tidssone
-
-# Dialogs
-dialog.exit.confirm.title=Avslutt GpsPrune
-dialog.exit.unsaveddata.text=Dine data er ikke lagret. Er du sikker p\u00e5 at du vil avslutte?
-dialog.deletepoint.title=Slett punkt
-dialog.deletepoints.title=Slett punkter
-dialog.deletephoto.title=Slett foto
-dialog.load.table.field=Felt
-dialog.load.table.datatype=Datatype
-dialog.load.table.description=Beskrivelse
-dialog.delimiter.label=Feltskilletegn
-dialog.delimiter.comma=Komma ,
-dialog.delimiter.tab=Tabulator
-dialog.delimiter.space=Mellomrom
-dialog.delimiter.semicolon=Semikolon ;
-dialog.delimiter.other=Annet
-dialog.openoptions.deliminfo.fields=felt
-dialog.openoptions.altitudeunits=H\u00f8ydeenheter
-dialog.openoptions.speedunits=Hastighetsenheter
-dialog.openoptions.vertspeedunits=Vertikale hastighetsenheter
-dialog.open.contentsdoubled=Denne filen inneholder to kopier av hvert punkt.
-dialog.open.contentsdoubled.wayandtrack=Denne filen inneholder to kopier av hvert punkt,\nen gang som veipunkt og en gang som sporpunkt.
-dialog.open.includesubdirectories=Inkluder undermapper
-dialog.jpegload.loadjpegswithoutcoords=Inkluder bilder uten koordinater
-dialog.loadlinkedmedia.allowdomain=Tillate media fra '%s'?
-dialog.gpsload.nogpsbabel=Ikke noe GPSBabel-program ble funnet. Fortsette?
-dialog.gpsload.device=Enhetsnavn
-dialog.gpsload.format=Format
-dialog.gpsload.getwaypoints=Last veipunkter
-dialog.gpsload.gettracks=Last spor
-dialog.gpsload.save=Lagre til fil
-dialog.gpssend.sendwaypoints=Send veipunkter
-dialog.gpssend.sendtracks=Send spor
-dialog.gpssend.trackname=Spornavn
-dialog.gpsbabel.filters=Filtre
-dialog.addfilter.title=Legg til filter
-dialog.gpsbabel.filter.discard=Forkast
-dialog.gpsbabel.filter.simplify=Forenkle
-dialog.gpsbabel.filter.distance=Distanse
-dialog.gpsbabel.filter.interpolate=Interpolere
-dialog.gpsbabel.filter.discard.intro=Forkast punkter hvis
-dialog.gpsbabel.filter.discard.hdop=Hdop >
-dialog.gpsbabel.filter.discard.vdop=Vdop >
-dialog.gpsbabel.filter.discard.numsats=Antall satellitter <
-dialog.gpsbabel.filter.simplify.maxpoints=Antall punkter <
-dialog.gpsbabel.filter.simplify.length=lengdeforskjell
-dialog.gpsbabel.filter.simplify.relative=relativ til hdop
-dialog.gpsbabel.filter.distance.intro=Fjern punkter hvis n\u00e6r foreg\u00e5ende punkter
-dialog.gpsbabel.filter.distance.distance=Hvis distanse <
-dialog.gpsbabel.filter.distance.time=og tidsforskjell <
-dialog.gpsbabel.filter.interpolate.intro=Legg til ekstra punkter mellom sporpunkter
-dialog.gpsbabel.filter.interpolate.distance=Hvis distanse >
-dialog.gpsbabel.filter.interpolate.time=eller tidsforskjell >
-dialog.saveoptions.title=Lagre fil
-dialog.save.fieldstosave=Felter \u00e5 lagre
-dialog.save.table.field=Felt
-dialog.save.table.hasdata=Har data
-dialog.save.table.save=Lagre
-dialog.save.coordinateunits=Koordinatformat
-dialog.save.altitudeunits=H\u00f8ydeenheter
-dialog.save.timestampformat=Tidsstempelformat
-dialog.save.overwrite.title=Fil finnes allerede
-dialog.save.overwrite.text=Denne filen finnes allerede. Er du sikker p\u00e5 at du vil overskrive filen?
-dialog.exportkml.kmz=Komprimer for \u00e5 lage kmz-fil
-dialog.exportkml.exportimages=Eksporter miniatyrbilder til kmz
-dialog.exportkml.imagesize=Bildest\u00f8rrelse
-dialog.exportkml.trackcolour=Sporfarge
-dialog.exportgpx.name=Navn
-dialog.exportgpx.desc=Beskrivelse
-dialog.exportgpx.includetimestamps=Inkluder tidsstempler
-dialog.exportgpx.descriptionstocomments=Kopier beskrivelser til kommentarer
-dialog.exportgpx.encoding=Koding
-dialog.exportgpx.encoding.system=System
-dialog.exportgpx.encoding.utf8=UTF-8
-dialog.exportpov.text=Angi parametrene for POV-eksporten
-dialog.exportpov.font=Skrift
-dialog.exportpov.camerax=Kamera X
-dialog.exportpov.cameray=Kamera Y
-dialog.exportpov.cameraz=Kamera Z
-dialog.exportpov.modelstyle=Modellstil
-dialog.3d.useterrain=Vis terreng
-dialog.3d.terraingridsize=Rutenettst\u00f8rrelse
-dialog.baseimage.title=Kartbilde
-dialog.baseimage.useimage=Bruk bilde
-dialog.baseimage.mapsource=Kartkilde
-dialog.baseimage.zoom=Zoom-niv\u00e5
-dialog.baseimage.tiles=Fliser
-dialog.baseimage.size=Bildest\u00f8rrelse
-dialog.exportimage.drawtrack=Tegn spor p\u00e5 kart
-dialog.exportimage.drawtrackpoints=Tegn sporpunkter
-dialog.exportimage.textscalepercent=Tekstskaleringsfaktor (%)
-dialog.pointtype.desc=Lagre f\u00f8lgende punkttyper:
-dialog.pointtype.track=Sporpunkter
-dialog.pointtype.waypoint=Veipunkter
-dialog.pointtype.photo=Fotopunkter
-dialog.pointtype.audio=Lydpunkter
-dialog.undo.title=Angrehandling(er)
-dialog.undo.pretext=Velg handlingen(e) \u00e5 angre
-dialog.undo.none.title=Kan ikke angre
-dialog.undo.none.text=Ingen handlinger \u00e5 angre!
-dialog.clearundo.title=T\u00f8m angreliste
-dialog.clearundo.text=Er du sikker p\u00e5 at du vil t\u00f8mme angrelisten?\nAll angreinformasjon blir tapt!
-dialog.pointedit.title=Rediger punkt
-dialog.pointedit.intro=Velg hvert felt etter tur for \u00e5 vise og endre verdien
-dialog.pointedit.table.field=Felt
-dialog.pointedit.nofield=Ingen felt valgt
-dialog.pointedit.table.value=Verdi
-dialog.pointnameedit.name=Veipunktnavn
-dialog.pointnameedit.uppercase=STORE bokstaver
-dialog.pointnameedit.lowercase=sm\u00e5 bokstaver
-dialog.truncatecoords.intro=Velg koordinatformatet og antallet desimaler
-dialog.truncatecoords.numdigits=Antall desimaler
-dialog.truncatecoords.preview=Forh\u00e5ndsvisning
-dialog.addtimeoffset.add=Legg til tid
-dialog.addtimeoffset.subtract=Trekk fra tid
-dialog.addtimeoffset.weeks=Uker
-dialog.addtimeoffset.days=Dager
-dialog.addtimeoffset.hours=Timer
-dialog.addtimeoffset.minutes=Minutter
-dialog.addtimeoffset.notimestamps=Kan ikke legge til en tidsforskyvning ettersom dette markeringsomr\u00e5det ikke inneholder noen tidsstempelinformasjon
-dialog.findwaypoint.intro=Angi en del av veipunktnavnet
-dialog.findwaypoint.search=S\u00f8k
-dialog.saveexif.title=Lagre Exif
-dialog.saveexif.nothingtosave=Koordinatdata er uendret, ingenting \u00e5 lagre
-dialog.saveexif.noexiftool=Ikke noe ExifTool-program ble funnet. Fortsette?
-dialog.saveexif.table.photoname=Bildenavn
-dialog.saveexif.table.status=Status
-dialog.saveexif.table.save=Lagre
-dialog.saveexif.photostatus.modified=Endret
-dialog.saveexif.overwrite=Overskriv filer
-dialog.charts.xaxis=X-akse
-dialog.charts.yaxis=Y-akser
-dialog.charts.svgwidth=SVG-bredde
-dialog.charts.svgheight=SVG-h\u00f8yde
-dialog.charts.gnuplotnotfound=Fant ikke Gnuplot med den angitte banen
-dialog.distances.intro=Luftlinjeavstander mellom punkter
-dialog.distances.column.from=Fra punkt
-dialog.distances.column.to=Til punkt
-dialog.distances.currentpoint=Gjeldende punkt
-dialog.distances.toofewpoints=Denne funksjonen trenger veipunkter for \u00e5 kunne beregne avstandene mellom dem
-dialog.estimatetime.details=Detaljer
-dialog.estimatetime.gentle=Lett
-dialog.estimatetime.steep=Bratt
-dialog.estimatetime.climb=Oppstigning
-dialog.estimatetime.descent=Nedstigning
-dialog.estimatetime.parameters=Parametre
-dialog.estimatetime.parameters.timefor=Tid for
-dialog.estimatetime.results=Resultater
-dialog.estimatetime.results.estimatedtime=Beregnet tid
-dialog.estimatetime.results.actualtime=Faktisk tid
-dialog.learnestimationparams.averageerror=Gjennomsnittsfeil
-dialog.learnestimationparams.combine=Disse parameterne kan kombineres med de gjeldende verdiene
-dialog.learnestimationparams.combinedresults=Kombinerte resultater
-dialog.learnestimationparams.weight.100pccurrent=Behold gjeldende verdier
-dialog.learnestimationparams.weight.current=gjeldende
-dialog.learnestimationparams.weight.calculated=beregnet
-dialog.learnestimationparams.weight.50pc=Gjennomsnitt av gjeldende og beregnede verdier
-dialog.learnestimationparams.weight.100pccalculated=Bruk nye beregnede verdier
-dialog.setmapbg.intro=Velg en av kartkildene eller legg til en ny
-dialog.addmapsource.title=Legg til ny kartkilde
-dialog.addmapsource.maxzoom=Maksimum zoom-niv\u00e5
-dialog.addmapsource.noname=Navnl\u00f8s
-dialog.pointdownload.description=Beskrivelse
-dialog.pointdownload.nodescription=Ingen beskrivelse
-dialog.wikipedia.column.name=Artikkelnavn
-dialog.osmpois.column.name=Navn
-dialog.osmpois.column.type=Type
-dialog.osmpois.nonefound=Ingen punkter funnet
-dialog.correlate.select.photoname=Bildenavn
-dialog.correlate.select.timediff=Tidsforskjell
-dialog.correlate.options.offsetpanel=Tidsforskyvning
-dialog.correlate.options.offset.hours=timer,
-dialog.correlate.options.offset.minutes=minutter og
-dialog.correlate.options.offset.seconds=sekunder
-dialog.rearrangewaypoints.desc=Velg bestemmelsesstedet og sorteringsrekkef\u00f8lge for veipunktene
-dialog.rearrange.nosort=Ikke sorter
-dialog.rearrange.sortbyfilename=Sorter etter filnavn
-dialog.rearrange.sortbyname=Sorter etter navn
-dialog.rearrange.sortbytime=Sorter etter tid
-dialog.compress.duplicates.title=Duplikatfjerning
-dialog.compress.summarylabel=Punkter \u00e5 slette
-dialog.compress.confirm=%d punkter har blitt markerte.\nSlette disse markerte punktene n\u00e5?
-dialog.compress.confirmnone=ingen punkter har blitt markert
-dialog.deletemarked.nonefound=Ingen datapunkter kunne fjernes
-dialog.dedupewaypoints.nonefound=Ingen duplikatveipunkter ble funnet
-dialog.pastecoordinates.desc=Skriv inn eller lim inn koordinatene her
-dialog.pastecoordinates.coords=Koordinater
-dialog.pastecoordinates.nothingfound=Sjekk koordinatene og pr\u00f8v igjen
-dialog.pastecoordinatelist.desc=Angi koordinatene for de nye punktene med ett punkt per linje
-dialog.about.version=Versjon
-dialog.about.languages=Tilgjengelige spr\u00e5k
-dialog.about.translatedby=Norsk oversettelse av:
-dialog.about.systeminfo=System-info
-dialog.about.systeminfo.os=Operativsystem
-dialog.about.systeminfo.java=Java Runtime
-dialog.about.systeminfo.java3d=Java3d installert
-dialog.about.systeminfo.exiftool=ExifTool installert
-dialog.about.systeminfo.gpsbabel=GPSBabel installert
-dialog.about.systeminfo.gnuplot=Gnuplot installert
-dialog.about.yes=Ja
-dialog.about.no=Nei
-dialog.keys.normalmodifier=Ctrl
-dialog.paths.prune.gnuplotpath=Bane til Gnuplot
-dialog.paths.prune.gpsbabelpath=Bane til GPSBabel
-dialog.paths.prune.exiftoolpath=Bane til ExifTool
-dialog.setpaths.intro=Hvis du trenger det, kan du velge banene til de eksterne programmene:
-dialog.setpaths.found=Bane funnet?
-dialog.addaltitude.desc=H\u00f8ydeforskyvning \u00e5 legge til
-dialog.setcolours.background=Bakgrunn
-dialog.setcolours.borders=Kanter
-dialog.setcolours.lines=Linjer
-dialog.setcolours.primary=Prim\u00e6r
-dialog.setcolours.secondary=Sekund\u00e6r
-dialog.setcolours.point=Punkter
-dialog.setcolours.selection=Markering
-dialog.setcolours.text=Tekst
-dialog.colourchooser.title=Velg farge
-dialog.colourchooser.red=R\u00f8d
-dialog.colourchooser.green=Gr\u00f8nn
-dialog.colourchooser.blue=Bl\u00e5
-dialog.colourer.start=Startfarge
-dialog.colourer.end=Sluttfarge
-dialog.colourer.maxcolours=Maksimalt antall farger
-dialog.setlanguage.firstintro=Du kan enten velge ett av de inkluderte spr\u00e5kene,<p>eller velg en tekstfil \u00e5 bruke isteden.
-dialog.setlanguage.secondintro=Innstillingene dine m\u00e5 lagres og s\u00e5<p>start GpsPrune p\u00e5 nytt for \u00e5 endre spr\u00e5ket.
-dialog.setlanguage.language=Spr\u00e5k
-dialog.setlanguage.languagefile=Spr\u00e5kfil
-dialog.setlanguage.endmessage=Lagre innstillingene dine og start GpsPrune p\u00e5 nytt\nfor at spr\u00e5kendringen skal tre i kraft.
-dialog.setlanguage.endmessagewithautosave=Start GpsPrune p\u00e5 nytt for at spr\u00e5kendringen skal tre i kraft.
-dialog.diskcache.save=Lagre kartbilder p\u00e5 disk
-dialog.diskcache.dir=Hurtiglagermappe
-dialog.diskcache.createdir=Opprett mappe
-dialog.diskcache.nocreate=Hurtiglagermappe ikke opprettet
-dialog.diskcache.cannotwrite=Kartfliser kan ikke lagres i den valgte mappen
-dialog.diskcache.table.path=Bane
-dialog.diskcache.table.usedby=Brukt av
-dialog.diskcache.table.zoom=Zoom
-dialog.diskcache.table.tiles=Fliser
-dialog.diskcache.table.megabytes=Megabyte
-dialog.diskcache.deleteold=Slett gamle fliser
-dialog.diskcache.maximumage=Maksimal alder (dager)
-dialog.diskcache.deleteall=Slett alle fliser
-dialog.diskcache.deleted=Slettet %d filer fra hurtiglageret
-dialog.displaysettings.linewidth=Linjetykkelse for sporene (1-4)
-dialog.displaysettings.antialias=Bruk kantutjevning
-dialog.displaysettings.allowosscaling=Tillat OS \u00e5 skalere kart
-dialog.displaysettings.doublesizedicons=Gj\u00f8r ikoner dobbelt s\u00e5 store
-dialog.displaysettings.waypointicons=Veipunktikoner
-dialog.displaysettings.wpicon.default=Standard
-dialog.displaysettings.wpicon.plectrum=Plektrum
-dialog.displaysettings.wpicon.ring=Ring
-dialog.displaysettings.size.small=Sm\u00e5
-dialog.displaysettings.size.medium=Middels
-dialog.displaysettings.size.large=Store
-dialog.displaysettings.windowstyle.default=Standard
-dialog.displaysettings.windowstyle.nimbus=Nimbus
-dialog.displaysettings.windowstyle.gtk=GTK
-dialog.downloadosm.desc=Bekreft for \u00e5 laste ned OSM-r\u00e5data for det angitte omr\u00e5det:
-dialog.searchwikipedianames.search=S\u00f8k etter:
-dialog.weather.location=Sted
-dialog.weather.update=Varsel oppdatert
-dialog.weather.sunrise=Soloppgang
-dialog.weather.sunset=Solnedgang
-dialog.weather.temperatureunits=Temperaturer
-dialog.weather.currentforecast=Gjeldende v\u00e6r
-dialog.weather.dailyforecast=Daglig varsel
-dialog.weather.3hourlyforecast=Tretimers varsel
-dialog.weather.day.now=Gjeldende v\u00e6r
-dialog.weather.day.today=I dag
-dialog.weather.day.tomorrow=I morgen
-dialog.weather.day.monday=Mandag
-dialog.weather.day.tuesday=Tirsdag
-dialog.weather.day.wednesday=Onsdag
-dialog.weather.day.thursday=Torsdag
-dialog.weather.day.friday=Fredag
-dialog.weather.day.saturday=L\u00f8rdag
-dialog.weather.day.sunday=S\u00f8ndag
-dialog.weather.wind=Vind
-dialog.weather.temp=Temp
-dialog.weather.humidity=Fuktighet
-dialog.weather.creditnotice=Disse dataene er gjort tilgjengelige av openweathermap.org. Nettstedet deres har flere detaljer.
-dialog.deletebydate.nodate=Ingen tidsstempel
-dialog.deletebydate.column.keep=Behold
-dialog.deletebydate.column.delete=Slett
-dialog.setaltitudetolerance.text.metres=Grense (i meter) under hvilken sm\u00e5 stigninger og nedstigninger blir ignorert
-dialog.setaltitudetolerance.text.feet=Grense (i fot) under hvilken sm\u00e5 stigninger og nedstigninger blir ignorert
-dialog.settimezone.system=Bruk systemets tidssone
-dialog.settimezone.custom=Bruk f\u00f8lgende tidssone:
-dialog.settimezone.list.toomany=For mange \u00e5 velge mellom
-dialog.settimezone.selectedzone=Valgt tidssone
-dialog.settimezone.offsetfromutc=Forskjell fra UTC
-dialog.autoplay.rewind=Tilbake til begynnelsen
-dialog.autoplay.pause=Pause
-dialog.autoplay.play=Spill av
-dialog.findfile.dir=S\u00f8k mappe
-dialog.findfile.searchtext=Tekst
-dialog.findfile.resultscolumn.file=Fil
-dialog.findfile.resultscolumn.contents=Innhold
-dialog.editdaterange.yearmonthday=\u00c5r/M\u00e5ned/Dag
-dialog.editdaterange.daterange=Start- og sluttdato
-dialog.editdaterange.month.all=Helt \u00e5r
-dialog.editdaterange.month.jan=Januar
-dialog.editdaterange.month.feb=Februar
-dialog.editdaterange.month.mar=Mars
-dialog.editdaterange.month.apr=April
-dialog.editdaterange.month.may=Mai
-dialog.editdaterange.month.jun=Juni
-dialog.editdaterange.month.jul=Juli
-dialog.editdaterange.month.aug=August
-dialog.editdaterange.month.sep=September
-dialog.editdaterange.month.oct=Oktober
-dialog.editdaterange.month.nov=November
-dialog.editdaterange.month.dec=Desember
-dialog.editdaterange.year=\u00c5r
-dialog.editdaterange.month=M\u00e5ned
-dialog.editdaterange.day=Dag
-dialog.editdaterange.to=til
-dialog.editdaterange.result=Resultat
-dialog.locationfilter.nofilter=Ingen filter
-dialog.locationfilter.distance=Etter distanse
-dialog.locationfilter.frompoint=fra punkt
-
-# Confirm messages
-confirm.loadfile=Data lastet fra fil
-confirm.save.ok1=Lagret
-confirm.save.ok2=punkter til filen
-confirm.deletepoint.single=datapunkt ble fjernet
-confirm.deletepoint.multi=%d datapunkter ble fjernet
-confirm.point.edit=punkt redigert
-confirm.addtimeoffset=Tidsforskyvning lagt til
-confirm.addaltitudeoffset=H\u00f8ydeforskyvning lagt til
-confirm.pointadded=punkt lagt til
-confirm.pointsadded=%d punkter lagt til
-confirm.saveexif.ok=Lagret %d foto-filer
-confirm.jpegload.single=1 foto ble lagt til
-confirm.media.removed=%s ble fjernet
-confirm.createpoint=punkt opprettet
-confirm.rotatephoto=foto rotert
-confirm.lookupsrtm=Fant %d h\u00f8ydeverdier
-confirm.deletefieldvalues=Feltverdier slettet
-confirm.audiosloaded.single=1 lydfil lagt til
-confirm.audiosloaded=%d lydfiler lagt til
-
-# Buttons
-button.ok=OK
-button.back=Tilbake
-button.next=Neste
-button.finish=Fullf\u00f8r
-button.cancel=Avbryt
-button.overwrite=Overskriv
-button.moveup=Flytt opp
-button.movedown=Flytt ned
-button.edit=Rediger
-button.exit=Avslutt
-button.close=Lukk
-button.continue=Fortsett
-button.yes=Ja
-button.no=Nei
-button.always=Alltid
-button.select=Velg
-button.selectall=Velg alle
-button.selectnone=Velg ingen
-button.preview=Forh\u00e5ndsvis
-button.load=Last
-button.showwebpage=Vis nettside
-button.resettodefaults=Tilbakestill til standard
-button.browse=Bla gjennom...
-button.addnew=Legg til ny
-button.delete=Slett
-button.apply=Bruk
-button.allow=Tillat
-button.block=Blokker
-button.search=S\u00f8k
-
-# File types
-filetype.txt=TXT-filer
-filetype.jpeg=JPG-filer
-filetype.kmlkmz=KML-, KMZ-filer
-filetype.kml=KML-filer
-filetype.kmz=KMZ-filer
-filetype.gpx=GPX-filer
-filetype.pov=POV-filer
-filetype.svg=SVG-filer
-filetype.png=PNG-filer
-filetype.audio=MP3-, OGG-, WAV-filer
-
-# Display components
-display.nodata=Ingen data lastet
-display.noaltitudes=Spordata inkluder ikke h\u00f8yde
-display.notimestamps=Spordata inkluder ikke tidsstempler
-display.novalues=Spordata inkluder ikke verdier for dette feltet
-details.trackdetails=Spordetaljer
-details.notrack=Ingen spor lastet
-details.track.points=Punkter
-details.track.file=Fil
-details.track.numfiles=Antall filer
-details.pointdetails=Punktdetaljer
-details.index.selected=Indeks
-details.index.of=av
-details.range.to=til
-details.altitude.to=til
-details.range.climb=Oppstigning
-details.range.descent=Nedstigning
-details.coordformat=Koordinatformat
-details.distanceunits=Distanseenheter
-display.range.time.secs=s
-display.range.time.mins=m
-display.range.time.hours=t
-display.range.time.days=d
-details.range.avespeed=Gj. hastighet
-details.range.maxspeed=Maks. hastighet
-details.range.numsegments=Antall segmenter
-details.range.pace=Tempo
-details.lists.waypoints=Veipunkter
-details.lists.photos=Foto
-details.lists.audio=Lyd
-details.photodetails=Fotodetaljer
-details.photo.loading=Laster
-details.photo.bearing=Retning
-details.media.fullpath=Full bane
-details.audiodetails=Lyddetaljer
-details.noaudio=Ingen lydklipp valgt
-details.audio.file=Lydfil
-details.audio.playing=spiller...
-map.overzoom=Ingen kart tilgjengelige p\u00e5 dette zoom-niv\u00e5et
-
-# Field names
-fieldname.latitude=Breddegrad
-fieldname.longitude=Lengdegrad
-fieldname.coordinates=Koordinater
-fieldname.altitude=H\u00f8yde
-fieldname.timestamp=Tid
-fieldname.time=Tid
-fieldname.date=Dato
-fieldname.waypointname=Navn
-fieldname.waypointtype=Type
-fieldname.newsegment=Segment
-fieldname.custom=Tilpasset
-fieldname.prefix=Felt
-fieldname.distance=Distanse
-fieldname.duration=Varighet
-fieldname.speed=Hastighet
-fieldname.verticalspeed=Vertikal hastighet
-fieldname.description=Beskrivelse
-fieldname.comment=Kommentar
-fieldname.symbol=Symbol
-fieldname.photo=Foto
-fieldname.audio=Lyd
-
-# Measurement units
-units.default=Standard
-units.metres=Meter
-units.metres.short=m
-units.feet=Fot
-units.feet.short=ft
-units.kilometres=Kilometer
-units.kilometres.short=km
-units.kilometresperhour=km i timen
-units.kilometresperhour.short=km/t
-units.nauticalmiles=Nautiske mil
-units.nauticalmiles.short=N.m.
-units.nauticalmilesperhour.short=kn
-units.metrespersec=meter per sekund
-units.metrespersec.short=m/s
-units.feetpersec=fot per sekund
-units.feetpersec.short=ft/s
-units.hours=timer
-units.minutes=minutter
-units.seconds=sekunder
-units.degminsec=Grad-min-sek
-units.degmin=Grad-min
-units.deg=Grader
-units.iso8601=ISO 8601
-units.degreescelsius=Celsius
-units.degreescelsius.short=\u00b0C
-units.degreesfahrenheit=Fahrenheit
-units.degreesfahrenheit.short=\u00b0F
-
-# How to combine conditions, such as filters
-logic.and=og
-logic.or=eller
-
-# External urls and services
-wikipedia.lang=no
-openweathermap.lang=no
-
-# Cardinals for 3d plots
-cardinal.n=N
-cardinal.s=S
-cardinal.e=\u00d8
-cardinal.w=V
-
-# Undo operations
-undo.loadfile=Last fil %s
-undo.loadpoints=Last %d punkter
-undo.editpoint=Rediger punkt
-undo.editpoint.withname=Rediger punkt '%s'
-undo.deletepoint=Slett punkt
-undo.deletepoint.withname=Slett punkt '%s'
-undo.deletepoints=Slett %d punkter
-undo.createpoint=Opprett punkt
-undo.applytimestamps=Bruk tidsstempler
-
-# Error messages
-error.save.dialogtitle=Feil ved lagring av data
-error.save.nodata=Ingen data \u00e5 lagre
-error.save.failed=Kunne ikke lagre dataene til fil
-error.load.dialogtitle=Feil ved lasting av data
-error.load.noread=Kan ikke lese fil
-error.load.nopoints=Ingen koordinatinformasjon funnet i filen
-error.load.unknownxml=Ikke gjenkjent xml-format:
-error.load.noxmlinzip=Ingen xml-fil funnet i zip-filen
-error.load.othererror=Feil ved lesing av fil:
-error.load.nopointsintext=Ingen koordinatinformasjon funnet
-error.jpegload.dialogtitle=Feil ved lasting av bilder
-error.jpegload.nofilesfound=Ingen filer funnet
-error.jpegload.nojpegsfound=Ingen jpeg-filer funnet
-error.jpegload.nogpsfound=Ingen GPS-informasjon funnet
-error.audioload.nofilesfound=Ingen lydklipp funnet
-error.gpsload.unknown=Ukjent feil
-error.undofailed.title=Angre mislyktes
-error.language.wrongfile=Den valgte filen ser ikke ut til \u00e5 v\u00e6re en spr\u00e5kfil for GpsPrune
-error.lookupsrtm.nonefound=Ingen h\u00f8ydeverdier tilgjengelige for disse punktene
-error.cache.notthere=Flishurtiglager-mappen ble ikke funnet
-error.cache.empty=Flishurtiglager-mappen er tom
-error.cache.cannotdelete=Ingen fliser kunne slettes
-error.tracksplit.nosplit=Sporet kunne ikke deles
-error.findfile.nofilesfound=Ingen filer ble funnet i denne mappen.
-error.migrateconfig.couldnotcreatedirectory=Kunne ikke opprette mappen %s.\nInnstillinger kunne ikke migreres.
-error.migrateconfig.couldnotdeletefile=Kunne ikke slette filen %s.\nSlett denne filen manuelt.
=====================================
tim/prune/load/babel/InterpolateFilter.java
=====================================
@@ -71,8 +71,8 @@ public final class InterpolateFilter extends FilterDefinition
*/
public boolean isFilterValid()
{
- final boolean distGiven = _distField.getText() != null && _distField.getText().trim().length() > 0;
- final boolean timeGiven = _secondsField.getText() != null && _secondsField.getText().trim().length() > 0;
+ final boolean distGiven = !_distField.isEmpty();
+ final boolean timeGiven = !_secondsField.isEmpty();
if ((!distGiven && !timeGiven) || (distGiven && timeGiven)) {
return false; // either one or the other, not both
}
=====================================
tim/prune/readme.txt
=====================================
@@ -1,4 +1,4 @@
-GpsPrune version 24.3
+GpsPrune version 24.4
=====================
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_24.3.jar
+ java -jar gpsprune_24.4.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,9 +25,17 @@ 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_24.3.jar --lang=DE
+ java -jar gpsprune_24.4.jar --lang=DE
+New with version 24.4
+=====================
+The following fixes were made since version 24.3:
+ - Bugfix for range selection after interpolation
+ - Bugfix for interpolation when you don't say Yes or No to interpolation between waypoints
+ - Bugfix for GPSBabel interpolation filter
+ - Bugfix for saving of selected map source in the settings
+
New with version 24.3
=====================
The following fixes were made since version 24.2:
View it on GitLab: https://salsa.debian.org/debian-gis-team/gpsprune/-/commit/3dedd0ba412418e3b410ce70831ff2bd6428247c
--
View it on GitLab: https://salsa.debian.org/debian-gis-team/gpsprune/-/commit/3dedd0ba412418e3b410ce70831ff2bd6428247c
You're receiving this email because of your account on salsa.debian.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-grass-devel/attachments/20240901/02f9f7bc/attachment-0001.htm>
More information about the Pkg-grass-devel
mailing list