forked from upstream-mirrors/OpenTracks
Compare commits
37 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| a5296c4cd9 | |||
| 522d9ebe2e | |||
| 26c660ec5b | |||
| fd9646bb1f | |||
| 4966ba8868 | |||
| 6a8861b41b | |||
| 8dc20c48b7 | |||
| f2b8dc2e07 | |||
| 41ce088a0e | |||
| 782cefb4ff | |||
| 35a02a2f81 | |||
| 8c35bd6f4f | |||
| ad26ce795a | |||
| ed1e47213d | |||
| cbb88fd1ae | |||
| a6b808d5cf | |||
| 9718377307 | |||
| dbf0c3bfc9 | |||
| 8dff211a26 | |||
| 319079162c | |||
| 731c182a12 | |||
| 6c4bb8d536 | |||
| a42aefa752 | |||
| 2f489d73b0 | |||
| babd59f0ea | |||
| 37b7277f1a | |||
| ecb421248c | |||
| 42f53199a3 | |||
| 530b906f73 | |||
| e4ebf97c27 | |||
| e3cdc952a2 | |||
| aaf78e0b74 | |||
| c3a2c0d6d0 | |||
| 05fbfcb914 | |||
| 721b54b06f | |||
| b65230bc5d | |||
| 7c8fae66ef |
@@ -9,6 +9,9 @@ jobs:
|
||||
steps:
|
||||
- name: checkout
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-tags: true
|
||||
fetch-depth: 0 #TODO See https://github.com/actions/checkout/issues/1471
|
||||
|
||||
- uses: actions/setup-java@v4
|
||||
with:
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
name: Linting
|
||||
|
||||
on:
|
||||
push:
|
||||
pull_request:
|
||||
@@ -10,12 +9,15 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
- name: checkout
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-tags: true
|
||||
fetch-depth: 0 #TODO See https://github.com/actions/checkout/issues/1471
|
||||
|
||||
- uses: actions/setup-java@v4
|
||||
with:
|
||||
distribution: 'zulu'
|
||||
distribution: 'adopt'
|
||||
java-version: '17'
|
||||
|
||||
- run: ./gradlew lint
|
||||
|
||||
@@ -11,6 +11,9 @@ jobs:
|
||||
steps:
|
||||
- name: checkout
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-tags: true
|
||||
fetch-depth: 0 #TODO See https://github.com/actions/checkout/issues/1471
|
||||
|
||||
- uses: actions/setup-java@v4
|
||||
with:
|
||||
|
||||
@@ -109,19 +109,20 @@ The API can be invoked by sending an explicit Intent to start an activity.
|
||||
* Debug: `de.dennisguse.opentracks.debug`
|
||||
* Nightly: `de.dennisguse.opentracks.nightly`
|
||||
|
||||
`Class`:
|
||||
|
||||
`Classes`:
|
||||
* **Start a recording:** `de.dennisguse.opentracks.publicapi.StartRecording`
|
||||
* Set track data: `TRACK_NAME`, `TRACK_DESCRIPTION`, `TRACK_CATEGORY`, and `TRACK_ICON` (
|
||||
non-localized identifier
|
||||
see [/src/main/java/de/dennisguse/opentracks/util/TrackIconUtils.java#L38](/src/main/java/de/dennisguse/opentracks/util/TrackIconUtils.java#L38)).
|
||||
NOTE: if `TRACK_ICON` is not present, `TRACK_CATEGORY` will be used to determine the icon (
|
||||
localized).
|
||||
* Send recorded data to another application via _Dashboard API_: `STATS_TARGET_PACKAGE` and
|
||||
`STATS_TARGET_CLASS`
|
||||
* **Stop a recording:** `de.dennisguse.opentracks.publicapi.StopRecording`
|
||||
* **Create a marker:** `de.dennisguse.opentracks.publicapi.CreateMarker`
|
||||
|
||||
For testing via adb: `adb shell am start -e someParameter someValue -n "package/class"`
|
||||
|
||||
`StartRecording` supports the following parameters:
|
||||
|
||||
* Set track data: `TRACK_NAME`, `TRACK_DESCRIPTION`, `TRACK_CATEGORY`, and `TRACK_ICON` (non-localized identifier see [/src/main/java/de/dennisguse/opentracks/util/TrackIconUtils.java#L38](/src/main/java/de/dennisguse/opentracks/util/TrackIconUtils.java#L38)).
|
||||
NOTE: if `TRACK_ICON` is not present, `TRACK_CATEGORY` will be used to determine the icon (localized).
|
||||
* Send recorded data to another application via _Dashboard API_: `STATS_TARGET_PACKAGE` and `STATS_TARGET_CLASS`
|
||||
|
||||
The Public API is disabled by default to protect the user's privacy, but it can easily be enabled in the settings.
|
||||
|
||||
## File formats compatibility with open-source software
|
||||
|
||||
+5
-5
@@ -6,7 +6,7 @@ buildscript {
|
||||
mavenCentral()
|
||||
}
|
||||
dependencies {
|
||||
classpath 'com.android.tools.build:gradle:8.7.2'
|
||||
classpath 'com.android.tools.build:gradle:8.7.3'
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,7 +26,7 @@ def getVersionName = { ->
|
||||
}
|
||||
return stdout.toString().trim()
|
||||
} catch (ignored) {
|
||||
return null
|
||||
throw new GradleException('VersionName could not be read:' + ignored.message)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -39,7 +39,7 @@ def getVersionCode = { ->
|
||||
}
|
||||
return Integer.valueOf(stdout.toString().trim())
|
||||
} catch (ignored) {
|
||||
return null
|
||||
throw new GradleException('VersionCode could not be read:' + ignored.message)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -64,8 +64,8 @@ android {
|
||||
|
||||
defaultConfig {
|
||||
applicationId "de.dennisguse.opentracks"
|
||||
versionCode 5938
|
||||
versionName "v4.15.0"
|
||||
versionCode 5975
|
||||
versionName "v4.17.0"
|
||||
|
||||
buildConfigField "String", "VERSION_NAME_FULL", "\"${getVersionName()}\""
|
||||
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
v4.15.0: OpenTracks
|
||||
|
||||
Změny:
|
||||
- Výběr jazyka v aplikaci (Android 14 nebo novější)
|
||||
- Funkce zobrazit na mapě podporuje pouze aplikaci OSM Dashboard (odstraněno KML/KMZ nebo GPX)
|
||||
|
||||
Vývojář:
|
||||
- GitHub Actions nyní používají Ubuntu
|
||||
@@ -0,0 +1,4 @@
|
||||
v4.16.0: OpenTracks
|
||||
|
||||
Oprava chyby:
|
||||
- PublicAPI: spuštění záznamu nezaznamenalo žádná data
|
||||
@@ -0,0 +1,8 @@
|
||||
v4.16.1: OpenTracks
|
||||
|
||||
Změny:
|
||||
- Výběr jazyka v aplikaci je nyní k dispozici pro všechny verze systému Android
|
||||
(na základě velké poptávky)
|
||||
|
||||
Vývojář:
|
||||
- GitHub Actions: při checkoutu se nestahovaly značky (noční aktualizace)
|
||||
@@ -0,0 +1,5 @@
|
||||
v4.16.0: OpenTracks
|
||||
|
||||
Bugfix:
|
||||
- PublicAPI: starting a recording didn't record no data
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
v4.16.1: OpenTracks
|
||||
|
||||
Changes:
|
||||
- In-app language selector now available for all Android versions
|
||||
(due to some popular demand)
|
||||
|
||||
Developer:
|
||||
- Github actions: checkout was not fetching tags (nightly)
|
||||
@@ -0,0 +1,8 @@
|
||||
v4.17.0: OpenTracks
|
||||
|
||||
Changes:
|
||||
- Public API to create markers (while recording)
|
||||
|
||||
Bugfix:
|
||||
- Sensors: on idle, set movement-based sensor data to 0
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
v4.14.1 : OpenTracks
|
||||
|
||||
Changements :
|
||||
− La détection d’immobilité peut être désactivée
|
||||
|
||||
Correction de bogue :
|
||||
− L’interface utilisateur pour ajouter des images aux marqueurs était cachée
|
||||
@@ -0,0 +1,8 @@
|
||||
v4.15.0 : OpenTracks
|
||||
|
||||
Changements :
|
||||
− Sélection de la langue sur l’application (Android 14 ou plus)
|
||||
− La fonctionnalité « montrer sur la carte » prend en charge uniquement OSM Dashboard (suppression de KML/KMZ ou GPX)
|
||||
|
||||
Développeurs :
|
||||
− Les actions Github utilisent désormais Ubuntu
|
||||
@@ -0,0 +1,8 @@
|
||||
v4.15.0: OpenTracks
|
||||
|
||||
Athruithe:
|
||||
- Roghnóir teanga in-app (Android 14 nó níos déanaí)
|
||||
- Ní thacaíonn an ghné taispeáin-ar-mapa ach le Painéal OSM (bainte KML/KMZ nó GPX)
|
||||
|
||||
Forbróir:
|
||||
- Úsáideann gníomhartha Github anois Ubuntu
|
||||
@@ -0,0 +1,4 @@
|
||||
v4.16.0: OpenTracks
|
||||
|
||||
Ceartúchán Bug:
|
||||
- PublicAPI: níor taifeadadh aon sonraí le tosú taifeadta
|
||||
@@ -0,0 +1,8 @@
|
||||
v4.16.1: OpenTracks
|
||||
|
||||
Athruithe:
|
||||
- Roghnóir teanga in-app ar fáil anois do gach leagan Android
|
||||
(mar gheall ar roinnt éileamh coitianta)
|
||||
|
||||
Forbróir:
|
||||
- Gníomhartha Github: ní raibh an tseiceáil amach ag fáil clibeanna (oíche)
|
||||
@@ -0,0 +1,8 @@
|
||||
v4.15.0: OpenTracks
|
||||
|
||||
Wijzigingen:
|
||||
- In-app taalkiezer (Android 14 of hoger)
|
||||
- Show-on-map-functie ondersteunt alleen OSM Dashboard (verwijderd KML/KMZ of GPX)
|
||||
|
||||
Ontwikkelaar:
|
||||
- Github-acties gebruiken nu Ubuntu
|
||||
@@ -0,0 +1,4 @@
|
||||
v4.16.0: OpenTracks
|
||||
|
||||
Opgelost probleem:
|
||||
- PublicAPI: bij het starten van een opname zijn geen gegevens vastgelegd
|
||||
@@ -0,0 +1,8 @@
|
||||
v4.16.1: OpenTracks
|
||||
|
||||
Veranderingen:
|
||||
- In-app taalkiezer nu beschikbaar voor alle Android-versies
|
||||
(op veler verzoek)
|
||||
|
||||
Ontwikkelaar:
|
||||
- Github-acties: checkout was not fetching tags (nightly)
|
||||
+9
-9
@@ -482,7 +482,7 @@ public class CustomContentProviderUtilsTest {
|
||||
assertEquals(contentProviderUtils.getMarkers(trackId).size(), 1);
|
||||
|
||||
// Get marker id that needs to delete.
|
||||
Marker.Id marker1Id = new Marker.Id(ContentUris.parseId(contentProviderUtils.insertMarker(marker1)));
|
||||
Marker.Id marker1Id = contentProviderUtils.insertMarker(marker1);
|
||||
|
||||
// Delete
|
||||
contentProviderUtils.deleteMarker(context, marker1Id);
|
||||
@@ -509,7 +509,7 @@ public class CustomContentProviderUtilsTest {
|
||||
assertEquals(contentProviderUtils.getMarkers(trackId).size(), 1);
|
||||
|
||||
// Get marker id that needs to delete.
|
||||
Marker.Id marker1Id = new Marker.Id(ContentUris.parseId(contentProviderUtils.insertMarker(marker1)));
|
||||
Marker.Id marker1Id = contentProviderUtils.insertMarker(marker1);
|
||||
|
||||
// Check marker has photo and it's in the external storage.
|
||||
assertTrue(marker1.hasPhoto());
|
||||
@@ -553,11 +553,11 @@ public class CustomContentProviderUtilsTest {
|
||||
// Insert at first.
|
||||
Marker marker1 = new Marker(trackId, contentProviderUtils.getLastValidTrackPoint(trackId));
|
||||
marker1.setDescription(MOCK_DESC);
|
||||
Marker.Id marker1Id = new Marker.Id(ContentUris.parseId(contentProviderUtils.insertMarker(marker1)));
|
||||
Marker.Id marker1Id = contentProviderUtils.insertMarker(marker1);
|
||||
|
||||
Marker marker2 = new Marker(trackId, contentProviderUtils.getLastValidTrackPoint(trackId));
|
||||
marker2.setDescription(MOCK_DESC);
|
||||
Marker.Id marker2Id = new Marker.Id(ContentUris.parseId(contentProviderUtils.insertMarker(marker2)));
|
||||
Marker.Id marker2Id = contentProviderUtils.insertMarker(marker2);
|
||||
|
||||
// Delete
|
||||
assertNotNull(contentProviderUtils.getMarker(marker1Id));
|
||||
@@ -598,7 +598,7 @@ public class CustomContentProviderUtilsTest {
|
||||
|
||||
Marker marker = new Marker(trackId, contentProviderUtils.getLastValidTrackPoint(trackId));
|
||||
marker.setDescription(TEST_DESC);
|
||||
Marker.Id markerId = new Marker.Id(ContentUris.parseId(contentProviderUtils.insertMarker(marker)));
|
||||
Marker.Id markerId = contentProviderUtils.insertMarker(marker);
|
||||
|
||||
assertEquals(TEST_DESC, contentProviderUtils.getMarker(markerId).getDescription());
|
||||
}
|
||||
@@ -614,7 +614,7 @@ public class CustomContentProviderUtilsTest {
|
||||
// Insert at first.
|
||||
Marker marker = new Marker(trackId, contentProviderUtils.getLastValidTrackPoint(trackId));
|
||||
marker.setDescription(TEST_DESC);
|
||||
Marker.Id markerId = new Marker.Id(ContentUris.parseId(contentProviderUtils.insertMarker(marker)));
|
||||
Marker.Id markerId = contentProviderUtils.insertMarker(marker);
|
||||
|
||||
// Update
|
||||
marker = contentProviderUtils.getMarker(markerId);
|
||||
@@ -638,7 +638,7 @@ public class CustomContentProviderUtilsTest {
|
||||
TrackPoint trackPoint = contentProviderUtils.getLastValidTrackPoint(trackId);
|
||||
Marker marker = TestDataUtil.createMarkerWithPhoto(context, trackId, trackPoint);
|
||||
marker.setDescription(TEST_DESC);
|
||||
Marker.Id markerId = new Marker.Id(ContentUris.parseId(contentProviderUtils.insertMarker(marker)));
|
||||
Marker.Id markerId = contentProviderUtils.insertMarker(marker);
|
||||
|
||||
File dir = new File(FileUtils.getPhotoDir(context), "" + trackId.id());
|
||||
assertTrue(dir.exists());
|
||||
@@ -673,7 +673,7 @@ public class CustomContentProviderUtilsTest {
|
||||
TrackPoint trackPoint = contentProviderUtils.getLastValidTrackPoint(trackId);
|
||||
Marker marker = TestDataUtil.createMarkerWithPhoto(context, trackId, trackPoint);
|
||||
marker.setDescription(TEST_DESC);
|
||||
Marker.Id markerId = new Marker.Id(ContentUris.parseId(contentProviderUtils.insertMarker(marker)));
|
||||
Marker.Id markerId = contentProviderUtils.insertMarker(marker);
|
||||
|
||||
File dir = new File(FileUtils.getPhotoDir(context), "" + trackId.id());
|
||||
assertTrue(dir.exists());
|
||||
@@ -709,7 +709,7 @@ public class CustomContentProviderUtilsTest {
|
||||
marker.setDescription(TEST_DESC);
|
||||
Marker otherMarker = TestDataUtil.createMarkerWithPhoto(context, trackId, trackPoint);
|
||||
otherMarker.setDescription(TEST_DESC);
|
||||
Marker.Id markerId = new Marker.Id(ContentUris.parseId(contentProviderUtils.insertMarker(marker)));
|
||||
Marker.Id markerId = contentProviderUtils.insertMarker(marker);
|
||||
contentProviderUtils.insertMarker(otherMarker);
|
||||
|
||||
File dir = new File(FileUtils.getPhotoDir(context), "" + trackId.id());
|
||||
|
||||
@@ -31,13 +31,7 @@ public class PublicApiTest {
|
||||
|
||||
private final Context context = ApplicationProvider.getApplicationContext();
|
||||
|
||||
@Test
|
||||
public void StartTest() {
|
||||
PreferencesUtils.setBoolean(R.string.publicapi_enabled_key, true);
|
||||
|
||||
context.startActivity(IntentUtils.newIntent(context, StartRecording.class));
|
||||
}
|
||||
|
||||
//NOTE: this doesn't check if the TrackRecordingService was started in foreground.
|
||||
@Test
|
||||
public void StartStopTest() throws InterruptedException {
|
||||
PreferencesUtils.setBoolean(R.string.publicapi_enabled_key, true);
|
||||
|
||||
@@ -98,6 +98,14 @@ limitations under the License.
|
||||
<category android:name="android.intent.category.DEFAULT" />
|
||||
</intent-filter>
|
||||
</activity>
|
||||
<activity
|
||||
android:name=".publicapi.CreateMarker"
|
||||
android:exported="true"
|
||||
android:theme="@style/SplashTheme">
|
||||
<intent-filter>
|
||||
<category android:name="android.intent.category.DEFAULT" />
|
||||
</intent-filter>
|
||||
</activity>
|
||||
|
||||
<!-- NOTE: the name of the MAIN/LAUNCHER is used by icon packs; if this is changed, icon packs break.-->
|
||||
<activity
|
||||
@@ -401,6 +409,16 @@ limitations under the License.
|
||||
android:name=".services.TrackDeleteService"
|
||||
android:exported="false"
|
||||
android:permission="android.permission.BIND_JOB_SERVICE"/>
|
||||
|
||||
<!--Necessary for SDK < 33 to (re-)store per app locale information-->
|
||||
<service
|
||||
android:name="androidx.appcompat.app.AppLocalesMetadataHolderService"
|
||||
android:enabled="false"
|
||||
android:exported="false">
|
||||
<meta-data
|
||||
android:name="autoStoreLocales"
|
||||
android:value="true" />
|
||||
</service>
|
||||
</application>
|
||||
|
||||
<queries>
|
||||
|
||||
@@ -487,12 +487,11 @@ public class ContentProviderUtils {
|
||||
return markers;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the content provider URI of the inserted marker.
|
||||
*/
|
||||
public Uri insertMarker(@NonNull Marker marker) {
|
||||
// TODO Merge with updateMarker
|
||||
public Marker.Id insertMarker(@NonNull Marker marker) {
|
||||
marker.setId(null);
|
||||
return contentResolver.insert(MarkerColumns.CONTENT_URI, createContentValues(marker));
|
||||
Uri uri = contentResolver.insert(MarkerColumns.CONTENT_URI, createContentValues(marker));
|
||||
return new Marker.Id(ContentUris.parseId(uri));
|
||||
}
|
||||
|
||||
private void deleteMarkerPhoto(Context context, Marker marker) {
|
||||
|
||||
@@ -13,7 +13,7 @@ import de.dennisguse.opentracks.services.TrackRecordingService;
|
||||
import de.dennisguse.opentracks.services.TrackRecordingServiceConnection;
|
||||
import de.dennisguse.opentracks.settings.PreferencesUtils;
|
||||
|
||||
public abstract class AbstractAPIActivity extends AppCompatActivity {
|
||||
abstract class AbstractAPIActivity extends AppCompatActivity {
|
||||
|
||||
private final String TAG = AbstractAPIActivity.class.getSimpleName();
|
||||
|
||||
@@ -33,11 +33,15 @@ public abstract class AbstractAPIActivity extends AppCompatActivity {
|
||||
protected void onCreate(@Nullable Bundle savedInstanceState) {
|
||||
SplashScreen splashScreen = SplashScreen.installSplashScreen(this);
|
||||
super.onCreate(savedInstanceState);
|
||||
splashScreen.setKeepOnScreenCondition(() -> true );
|
||||
splashScreen.setKeepOnScreenCondition(() -> true);
|
||||
|
||||
if (PreferencesUtils.isPublicAPIenabled()) {
|
||||
Log.i(TAG, "Received and trying to execute requested action.");
|
||||
TrackRecordingServiceConnection.execute(this, serviceConnectedCallback);
|
||||
if (requiresForeground()) {
|
||||
TrackRecordingServiceConnection.executeForeground(this, serviceConnectedCallback);
|
||||
} else {
|
||||
TrackRecordingServiceConnection.execute(this, serviceConnectedCallback);
|
||||
}
|
||||
} else {
|
||||
Toast.makeText(this, getString(R.string.settings_public_api_disabled_toast), Toast.LENGTH_LONG).show();
|
||||
Log.w(TAG, "Public API is disabled; ignoring request.");
|
||||
@@ -48,4 +52,8 @@ public abstract class AbstractAPIActivity extends AppCompatActivity {
|
||||
protected abstract void execute(TrackRecordingService service);
|
||||
|
||||
protected abstract boolean isPostExecuteStopService();
|
||||
|
||||
protected boolean requiresForeground() {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
package de.dennisguse.opentracks.publicapi;
|
||||
|
||||
import de.dennisguse.opentracks.services.TrackRecordingService;
|
||||
|
||||
public class CreateMarker extends AbstractAPIActivity {
|
||||
|
||||
@Override
|
||||
protected void execute(TrackRecordingService service) {
|
||||
service.createMarker();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean isPostExecuteStopService() {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -12,7 +12,7 @@ import de.dennisguse.opentracks.ui.markers.MarkerEditActivity;
|
||||
import de.dennisguse.opentracks.util.IntentUtils;
|
||||
|
||||
/**
|
||||
* Public API to creates a Marker for a given track with a given location
|
||||
* INTERNAL: only meant for clients of OSMDashboard API.
|
||||
*/
|
||||
public class CreateMarkerActivity extends AppCompatActivity {
|
||||
|
||||
@@ -23,8 +23,11 @@ public class CreateMarkerActivity extends AppCompatActivity {
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
|
||||
Track.Id trackId = new Track.Id(getIntent().getLongExtra(EXTRA_TRACK_ID, 0L));
|
||||
Track.Id trackId = new Track.Id(getIntent().getLongExtra(EXTRA_TRACK_ID, -1L));
|
||||
Location location = getIntent().getParcelableExtra(EXTRA_LOCATION);
|
||||
if (!getIntent().hasExtra(EXTRA_TRACK_ID) || location == null) {
|
||||
throw new IllegalStateException("Parameter 'track_id' and/or 'location' missing or invalid.");
|
||||
}
|
||||
|
||||
TrackRecordingServiceConnection.execute(this, (service, self) -> {
|
||||
Intent intent = IntentUtils
|
||||
|
||||
@@ -1,34 +1,19 @@
|
||||
package de.dennisguse.opentracks.publicapi;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.database.Cursor;
|
||||
import android.os.Bundle;
|
||||
import android.util.Log;
|
||||
import android.view.View;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.fragment.app.FragmentManager;
|
||||
import androidx.fragment.app.FragmentStatePagerAdapter;
|
||||
import androidx.viewpager.widget.ViewPager;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import de.dennisguse.opentracks.AbstractActivity;
|
||||
import de.dennisguse.opentracks.R;
|
||||
import de.dennisguse.opentracks.data.ContentProviderUtils;
|
||||
import de.dennisguse.opentracks.data.models.Marker;
|
||||
import de.dennisguse.opentracks.databinding.MarkerDetailActivityBinding;
|
||||
import de.dennisguse.opentracks.ui.markers.DeleteMarkerDialogFragment.DeleteMarkerCaller;
|
||||
import de.dennisguse.opentracks.ui.markers.MarkerDetailActivity;
|
||||
import de.dennisguse.opentracks.ui.markers.MarkerDetailFragment;
|
||||
import de.dennisguse.opentracks.util.IntentUtils;
|
||||
|
||||
/**
|
||||
* Public api to show an existing marker
|
||||
* INTERNAL: only meant for clients of OSMDashboard API.
|
||||
*/
|
||||
public class ShowMarkerActivity extends AppCompatActivity {
|
||||
|
||||
@@ -44,10 +29,11 @@ public class ShowMarkerActivity extends AppCompatActivity {
|
||||
protected void onCreate(Bundle bundle) {
|
||||
super.onCreate(bundle);
|
||||
|
||||
Marker.Id markerId = new Marker.Id(getIntent().getLongExtra(EXTRA_MARKER_ID, 0));
|
||||
if (markerId.id() == 0) {
|
||||
throw new IllegalStateException("No valid markerId provided");
|
||||
if (!getIntent().hasExtra(EXTRA_MARKER_ID)) {
|
||||
throw new IllegalStateException("Parameter 'markerId' missing");
|
||||
}
|
||||
|
||||
Marker.Id markerId = new Marker.Id(getIntent().getLongExtra(EXTRA_MARKER_ID, -1));
|
||||
Intent intent = IntentUtils.newIntent(this, MarkerDetailActivity.class)
|
||||
.putExtra(MarkerDetailActivity.EXTRA_MARKER_ID, markerId);
|
||||
startActivity(intent);
|
||||
|
||||
@@ -62,4 +62,9 @@ public class StartRecording extends AbstractAPIActivity {
|
||||
protected boolean isPostExecuteStopService() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean requiresForeground() {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -55,7 +55,9 @@ public abstract class Aggregator<Input, Output> {
|
||||
/**
|
||||
* Reset long term aggregated values (more than derived from previous SensorData). e.g. overall distance.
|
||||
*/
|
||||
public void reset() {}
|
||||
public void reset() {
|
||||
value = getNoneValue();
|
||||
}
|
||||
|
||||
/**
|
||||
* Is the data recent considering the current time.
|
||||
|
||||
@@ -37,10 +37,5 @@ public class AggregatorBarometer extends Aggregator<AtmosphericPressure, Altitud
|
||||
return new AltitudeGainLoss(0f, 0f);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void reset() {
|
||||
value = getNoneValue();
|
||||
}
|
||||
|
||||
public record Data(Altitude gain, Altitude loss) {}
|
||||
}
|
||||
|
||||
@@ -16,11 +16,6 @@ public class AggregatorGPS extends Aggregator<Position, Position> {
|
||||
value = current.value();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void reset() {
|
||||
value = null;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
protected Position getNoneValue() {
|
||||
|
||||
@@ -15,6 +15,11 @@ public class AggregatorHeartRate extends Aggregator<HeartRate, HeartRate> {
|
||||
this.value = current.value();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void reset() {
|
||||
// We don't need to reset the heart rate as this value is valid for a certain amount of time: and it is not an aggregate.
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
protected HeartRate getNoneValue() {
|
||||
|
||||
@@ -36,7 +36,9 @@ import java.io.PrintWriter;
|
||||
import java.io.StringWriter;
|
||||
import java.time.Duration;
|
||||
|
||||
import de.dennisguse.opentracks.data.ContentProviderUtils;
|
||||
import de.dennisguse.opentracks.data.models.Distance;
|
||||
import de.dennisguse.opentracks.data.models.Marker;
|
||||
import de.dennisguse.opentracks.data.models.Track;
|
||||
import de.dennisguse.opentracks.data.models.TrackPoint;
|
||||
import de.dennisguse.opentracks.sensors.sensorData.SensorDataSet;
|
||||
@@ -243,6 +245,20 @@ public class TrackRecordingService extends Service implements TrackPointCreator.
|
||||
gpsStatusObservable.postValue(STATUS_GPS_DEFAULT);
|
||||
}
|
||||
|
||||
public Marker.Id createMarker() {
|
||||
if (!isRecording()) {
|
||||
return null;
|
||||
}
|
||||
|
||||
//TODO This contains some duplication to TrackRecodingActivity's Marker creation
|
||||
TrackPoint trackPoint = trackRecordingManager.getLastStoredTrackPointWithLocation();
|
||||
if (trackPoint == null) {
|
||||
return null;
|
||||
}
|
||||
Marker marker = new Marker(recordingStatus.trackId(), trackPoint);
|
||||
return new ContentProviderUtils(this).insertMarker(marker);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean newTrackPoint(TrackPoint trackPoint, Distance thresholdHorizontalAccuracy) {
|
||||
if (!isRecording()) {
|
||||
|
||||
@@ -1,25 +1,36 @@
|
||||
package de.dennisguse.opentracks.settings;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.app.LocaleConfig;
|
||||
import android.content.Context;
|
||||
import android.os.Build;
|
||||
import android.os.LocaleList;
|
||||
import android.util.AttributeSet;
|
||||
import android.util.Log;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.appcompat.app.AppCompatDelegate;
|
||||
import androidx.core.app.LocaleManagerCompat;
|
||||
import androidx.core.os.LocaleListCompat;
|
||||
import androidx.preference.ListPreference;
|
||||
|
||||
import org.xmlpull.v1.XmlPullParser;
|
||||
import org.xmlpull.v1.XmlPullParserException;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Comparator;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
import java.util.Optional;
|
||||
|
||||
import de.dennisguse.opentracks.R;
|
||||
|
||||
public class LocalePreference extends ListPreference {
|
||||
|
||||
private String TAG = LocalePreference.class.getSimpleName();
|
||||
|
||||
public LocalePreference(@NonNull Context context, @Nullable AttributeSet attrs, int defStyleAttr, int defStyleRes) {
|
||||
super(context, attrs, defStyleAttr, defStyleRes);
|
||||
init(context);
|
||||
@@ -40,18 +51,17 @@ public class LocalePreference extends ListPreference {
|
||||
init(context);
|
||||
}
|
||||
|
||||
// /data/user/0/de.dennisguse.opentracks.debug/files/androidx.appcompat.app.AppCompatDelegate.application_locales_record_file: open failed: ENOENT (No such file or directory)
|
||||
private void init(Context context) {
|
||||
setPersistent(false);
|
||||
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.UPSIDE_DOWN_CAKE) {
|
||||
setEnabled(false);
|
||||
return;
|
||||
}
|
||||
|
||||
LocaleItem systemDefaultLocale = new LocaleItem("", context.getString(R.string.settings_locale_system_default));
|
||||
|
||||
LocaleItem currentLocale = new LocaleItem(Locale.getDefault().toLanguageTag(), Locale.getDefault().getDisplayName());
|
||||
|
||||
// All available options
|
||||
LocaleList supportedLocales = LocaleConfig.fromContextIgnoringOverride(context).getSupportedLocales();
|
||||
LocaleList supportedLocales = getLocaleListCompat();
|
||||
|
||||
ArrayList<LocaleItem> localeItemsSorting = new ArrayList<>();
|
||||
for (int i = 0; i < supportedLocales.size(); i++) {
|
||||
Locale current = supportedLocales.get(i);
|
||||
@@ -104,4 +114,36 @@ public class LocalePreference extends ListPreference {
|
||||
String displayName
|
||||
) {
|
||||
}
|
||||
|
||||
// TODO Get this functionality from any Androidx compat library: should be in LocaleListCompat or LocaleManagerCompat
|
||||
// 2024-12-12: on Android 14-: LocaleManagerCompat.getApplicationLocales(getContext()) returned "[]"
|
||||
// See: https://stackoverflow.com/questions/78116375/per-app-language-preferences-get-list-of-apps-available-language-programmatic
|
||||
@Deprecated
|
||||
private LocaleList getLocaleListCompat() {
|
||||
var a = LocaleManagerCompat.getApplicationLocales(getContext());
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) {
|
||||
return LocaleConfig.fromContextIgnoringOverride(getContext()).getSupportedLocales();
|
||||
}
|
||||
|
||||
@SuppressLint("DiscouragedApi") int localesConfigId = getContext().getResources().getIdentifier("_generated_res_locale_config", "xml", getContext().getPackageName());
|
||||
|
||||
List<String> localeList = new ArrayList<>();
|
||||
XmlPullParser xpp = getContext().getResources().getXml(localesConfigId);
|
||||
try {
|
||||
while (xpp.getEventType() != XmlPullParser.END_DOCUMENT) {
|
||||
if (xpp.getEventType() == XmlPullParser.START_TAG) {
|
||||
if ("locale".equals(xpp.getName()) && xpp.getAttributeCount() > 0 && xpp.getAttributeName(0).equals("name")) {
|
||||
localeList.add(xpp.getAttributeValue(0));
|
||||
}
|
||||
}
|
||||
xpp.next();
|
||||
}
|
||||
} catch (IOException | XmlPullParserException e) {
|
||||
Log.e(TAG, "Could not load locales: " + e.getMessage());
|
||||
}
|
||||
Optional<String> locales = localeList.stream().reduce((s1, s2) -> s1 + "," + s2);
|
||||
return locales
|
||||
.map(LocaleList::forLanguageTags)
|
||||
.orElseGet(LocaleList::getEmptyLocaleList);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="about_preference_title">Apprupositu d’OpenTracks</string>
|
||||
<string name="about_preference_title">Apprupositu</string>
|
||||
<string name="about_description"><i>OpenTracks</i> hè un’appiecazione di tracciatu spurtivu chì rispetta cumpletamente a vostra vita privata.</string>
|
||||
<string name="about_url">Pagina web di u prughjettu : <a href="%1$s">%1$s</a></string>
|
||||
<string name="about_version_code">Codice di a versione :%1$d</string>
|
||||
@@ -278,7 +278,7 @@
|
||||
<string name="settings_export_filename_title">Furmatu di u nome di schedariu</string>
|
||||
<string name="settings_chart_by_distance">Secondu à a distanza</string>
|
||||
<string name="settings_chart_by_time">Secondu à a durata</string>
|
||||
<string name="settings_ui_dynamic_colors_summary">Impiegà i culori dinamichi definiti da l’utilizatore (solu Android 12è più ; richiede un rilanciu manuale)</string>
|
||||
<string name="settings_ui_dynamic_colors_summary">Impiegà i culori dinamichi definiti da l’utilizatore (solu Android 12 è più ; richiede un rilanciu manuale)</string>
|
||||
<string name="settings_recording_customize_layout_title">Persunalizà u vostru accunciamentu d’arregistramentu</string>
|
||||
<string name="settings_recording_customize_layout_select_columns">Campi di dati à a linea</string>
|
||||
<string name="settings_recording_keep_screen_on_while_recording_title">Cunservà u screnu accesu</string>
|
||||
@@ -553,4 +553,8 @@
|
||||
<string name="settings_recording_min_sampling_interval_title">Intervallu di durata di campiunariu</string>
|
||||
<string name="settings_announcements_idle_title">Inattività</string>
|
||||
<string name="voiceIdle">Diventà inattivu.</string>
|
||||
<string name="settings_locale_title">Lingua</string>
|
||||
<string name="settings_locale_system_default">Parametri predefiniti di u sistema</string>
|
||||
<string name="stats_gain_loss">Guadagnu è perdita</string>
|
||||
<string name="voice_announce_lap_power_key">AnnunziamentuVucalePutenzaÀUGiru</string>
|
||||
</resources>
|
||||
@@ -14,7 +14,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
--><resources>
|
||||
<string name="about_preference_title">O OpenTracks</string>
|
||||
<string name="about_preference_title">O aplikaci</string>
|
||||
<string name="about_description"><i> OpenTracks </i> je aplikace pro záznam vašich sportů, která zcela respektuje vaše soukromí.</string>
|
||||
<string name="about_url">Webová stránka projektu: <a href="%1$s">%1$s</a></string>
|
||||
<string name="about_version_name">Název verze: %1$s</string>
|
||||
@@ -30,10 +30,7 @@ limitations under the License.
|
||||
\n* funguje zcela offline
|
||||
\n* zobrazit trasy na mapě (viz níže)</string>
|
||||
<string name="help_track_map_title">Jak ukázat trasu na mapě\?</string>
|
||||
<string name="help_track_map_content"> \u0020Použijte malou ikonu mapy.
|
||||
\n \u0020a) \u0020(živé aktualizace) Nainstalujte <a href="https://github.com/OpenTracksApp/OSMDashboard">OSMDashboard</a>. \u0020Poskytuje online nebo offline mapy prostřednictvím <a href="https://www.openstreetmap.org">OpenStreetMap</a>.
|
||||
\n \u0020Ve skutečnosti je OSMDashboard samostatná aplikace, která má přístup (dočasně) pouze k datům stop, které se budou zobrazovat. \u0020
|
||||
\n \u0020b) \u0020Prostřednictvím normální mapové aplikace (např. <a href="http://osmand.net/">OsmAnd</a> a <a href="https://maps.me/">MAPS.ME</a>). \u0020Tyto aplikace musí podporovat formát souboru KMZ (pouze umístění a časová razítka). \u0020Ve skutečnosti musí aplikace podporovat <i>ACTION_VIEW</i> pomocí MIME <i>application/vnd.google-earth.kmz</i>. \u0020</string>
|
||||
<string name="help_track_map_content">Použijte malou ikonu mapy.\n a) (živé aktualizace) Nainstalujte si aplikaci <a href="https://github.com/OpenTracksApp/OSMDashboard">OSMDashboard</a>. Poskytuje online i offline mapy prostřednictvím <a href="https://www.openstreetmap.org">OpenStreetMap</a>.\n OSMDashboard je samostatná aplikace, která má (dočasný) přístup pouze k datům stop, které se budou zobrazovat. \n b) Prostřednictvím normální mapové aplikace (např. <a href="http://osmand.net/">OsmAnd</a> a <a href="https://maps.me/">MAPS.ME</a>). Tyto aplikace musí podporovat formát souboru KMZ (pouze umístění a časová razítka). Technicky vzato musí aplikace podporovat <i>ACTION_VIEW</i> s MIME <i>application/vnd.google-earth.kmz</i>.</string>
|
||||
<string name="help_storage_pictures_title">Jak ukládá OpenTracks obrázky pořízené jako značky na cestě\?</string>
|
||||
<string name="help_storage_pictures_content">Jsou uloženy v interním úložišti aplikace (tj. přístupné pouze v rámci OpenTracks).</string>
|
||||
<string name="help_track_export_title">Jak mohu exportovat/sdílet zaznamenané stopy\?</string>
|
||||
@@ -44,22 +41,9 @@ limitations under the License.
|
||||
<string name="help_data_storage_title">Jak OpenTracks ukládá data ze senzorů\?</string>
|
||||
<string name="help_data_storage_content"> Data senzorů se ukládají na zaznamenané místo. Pokud jde o snímač srdeční frekvence, znamená to, že na každé místo je uloženo pouze <i>jedno</i> měření srdeční frekvence. Pokud stojíte v klidu nebo jste uvnitř, nebudou zaznamenána žádná data ze senzorů (ale budou zobrazena). </string>
|
||||
<string name="help_gps_troubleshooting_title">OpenTracks nezaznamenává místa?</string>
|
||||
<string name="help_gps_troubleshooting_content"> \u0020Co můžete udělat:
|
||||
\n \u0020a) zkontrolujte zda je zapnuta GPS,
|
||||
\n \u0020b) zkuste zlepšit příjem GPS (např. vyjít ven),
|
||||
\n \u0020c) zkontrolujte, zda používáte aplikaci <a href="https://f-droid.org/en/packages/com.android.gpstest.osmdroid/">GPSTest </a> a
|
||||
\n \u0020d) deaktivujte úsporu energie.
|
||||
\n \u0020
|
||||
\n \u0020Pokud nic nepomůže, nahlaste to jako chybu. \u0020</string>
|
||||
<string name="help_gps_troubleshooting_content">Co můžete udělat:\n a) zkontrolujte zda je zapnuta poloha,\n b) zkuste zlepšit příjem GPS (např. vyjít ven),\n c) zkontrolujte funkčnost polohy s aplikací <a href="https://f-droid.org/cs/packages/com.android.gpstest.osmdroid/">GPSTest </a> a\n d) vypněte spořič baterie.\n \n Pokud nic nepomůže, nahlaste to jako chybu.</string>
|
||||
<string name="help_support_title">Jak mohu podpořit OpenTracks\?</string>
|
||||
<string name="help_support_content"> \u0020Můžete:
|
||||
\n \u0020a) dát vědět ostatním o OpenTracks
|
||||
\n \u0020b) <a href="https://github.com/OpenTracksApp/OpenTracks/issues">navrhnout nové funkce</a>,
|
||||
\n \u0020c) <a href="https://github.com/OpenTracksApp/OpenTracks/issues">nahlásit chybu</a>,
|
||||
\n \u0020d) pomoci při vývoji aplikace,
|
||||
\n \u0020e) zakoupit v <a href="https://play.google.com/store/apps/details?id=de.dennisguse.opentracks.playstore">Obchodě Google Play</a>,
|
||||
\n \u0020f) zaslat dar či
|
||||
\n \u0020g) udělat něco jiného, co si myslíte že pomůže OpenTracks. \u0020</string>
|
||||
<string name="help_support_content">Můžete:\n a) dát vědět ostatním o OpenTracks\n b) <a href="https://github.com/OpenTracksApp/OpenTracks/issues">navrhnout nové funkce</a>,\n c) <a href="https://github.com/OpenTracksApp/OpenTracks/issues">nahlásit chybu</a>,\n d) pomoci při vývoji aplikace,\n e) koupit si aplikaci v <a href="https://play.google.com/store/apps/details?id=de.dennisguse.opentracks.playstore">Obchodě Google Play</a>,\n f) zaslat dar nebo\n g) udělat něco jiného, co si myslíte že pomůže OpenTracks.</string>
|
||||
<!-- Activity Type -->
|
||||
<string name="activity_type_airplane">letadlo</string>
|
||||
<string name="activity_type_atv">terénní auta</string>
|
||||
@@ -607,4 +591,7 @@ limitations under the License.
|
||||
<string name="power_x_watt">Výkon {x, plural, =1 {1 watt} few {# watty} other {# wattů} }</string>
|
||||
<string name="create_marker_error">Nepodařilo se vytvořit značku. Zkuste to znovu.</string>
|
||||
<string name="empty">" "</string>
|
||||
<string name="settings_locale_title">Jazyk</string>
|
||||
<string name="settings_locale_system_default">Podle systému</string>
|
||||
<string name="stats_gain_loss">Stoupání a klesání</string>
|
||||
</resources>
|
||||
@@ -14,7 +14,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
--><resources>
|
||||
<string name="about_preference_title">Acerca de OpenTracks</string>
|
||||
<string name="about_preference_title">Acerca de</string>
|
||||
<string name="about_description"><i> OpenTracks </i> es una aplicación de seguimiento deportivo que respeta completamente su privacidad.</string>
|
||||
<string name="about_url">Página web del proyecto: <a href="%1$s">%1$s</a></string>
|
||||
<string name="about_version_name">Nombre de la versión: %1$s</string>
|
||||
@@ -661,4 +661,7 @@ limitations under the License.
|
||||
<string name="create_marker_error">No se ha podido crear un marcador. Inténtelo de nuevo.</string>
|
||||
<string name="voice_announce_lap_power_key">voiceAnnounceLapPower</string>
|
||||
<string name="power">Potencia</string>
|
||||
<string name="settings_locale_title">Idioma</string>
|
||||
<string name="settings_locale_system_default">Predeterminado del sistema</string>
|
||||
<string name="stats_gain_loss">Ganancia y pérdida</string>
|
||||
</resources>
|
||||
@@ -662,4 +662,8 @@ Si le dispositif GPS signale des données inexactes (par exemple, la localisatio
|
||||
<string name="activity_type_kickscooter">trottinette</string>
|
||||
<string name="voiceSpeed">{n, plural, =1 {1} autres {{n,number,#.0}} }</string>
|
||||
<string name="voiceDistance">{n, plural, =1 {1 } autres {{n,number,#.0}} }</string>
|
||||
<string name="settings_locale_system_default">Paramètres par défaut du système</string>
|
||||
<string name="settings_locale_title">Langue</string>
|
||||
<string name="stats_gain_loss">Gain et perte</string>
|
||||
<string name="voice_announce_lap_power_key">voiceAnnounceLapPower</string>
|
||||
</resources>
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="about_libraries">Leabharlanna</string>
|
||||
<string name="about_preference_title">Maidir Le OpenTracks</string>
|
||||
<string name="about_preference_title">Maidir</string>
|
||||
<string name="about_url">Leathanach Gréasáin an tionscadail: <a href="%1$s">%1$s</a></string>
|
||||
<string name="about_version_name">Ainm an leagain: %1$s</string>
|
||||
<string name="about_version_code">Cód an leagain: %1$d</string>
|
||||
@@ -542,4 +542,7 @@
|
||||
<string name="settings_announcements_lap_power">Cumhacht glúine</string>
|
||||
<string name="power_x_watt">Cumhacht {x, iolra, = 1 {1 vata} eile {# vata} }</string>
|
||||
<string name="empty">" "</string>
|
||||
<string name="settings_locale_system_default">Réamhshocrú córais</string>
|
||||
<string name="settings_locale_title">Teanga</string>
|
||||
<string name="stats_gain_loss">Gnóthachan & Caillteanas</string>
|
||||
</resources>
|
||||
@@ -14,7 +14,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
--><resources>
|
||||
<string name="about_preference_title">Sobre OpenTracks</string>
|
||||
<string name="about_preference_title">Sobre</string>
|
||||
<string name="about_description"><i>OpenTracks</i> é unha aplicación para rexistrar actividades deportivas que respecta a túa privacidade.</string>
|
||||
<string name="about_url">Web do proxecto: <a href="%1$s">%1$s</a></string>
|
||||
<string name="about_version_name">Nome da versión: %1$s</string>
|
||||
@@ -30,10 +30,7 @@ limitations under the License.
|
||||
\n* funciona sen precisar conexión á rede
|
||||
\n* mostra as rutas nun mapa (ver abaixo)</string>
|
||||
<string name="help_track_map_title">Como mostrar a ruta no mapa\?</string>
|
||||
<string name="help_track_map_content"> \u0020Usa a icona do mapa pequeno.
|
||||
\n a) (actualizacións en directo) Instala <a href="https://github.com/OpenTracksApp/OSMDashboard">OSMDashboard</a>. Proporciona mapas en liña ou sen conexión grazas a <a href="https://www.openstreetmap.org">OpenStreetMap</a>.
|
||||
\n En realidade, OSMDashboard é unha aplicación independente que só pode acceder (temporalmente) aos datos das pistas que se amosarán.
|
||||
\n b) A través dunha aplicación de mapa normal (por exemplo, <a href="http://osmand.net/">OsmAnd</a> e <a href="https://maps.me/">MAPS.ME</a>). Estas aplicacións precisan admitir o formato de ficheiro KMZ (só localizacións e marcas de tempo). De feito, unha aplicación ten que admitir <i>ACTION_VIEW</i> con MIME <i>application/vnd.google-earth.kmz</i>. \u0020</string>
|
||||
<string name="help_track_map_content">Usa a icona do mapa pequeno. \n a) (actualizacións en directo) Instala <a href="https://github.com/OpenTracksApp/OSMDashboard">OSMDashboard</a>. Proporciona mapas en liña ou sen conexión grazas a <a href="https://www.openstreetmap.org">OpenStreetMap</a>. \n En realidade, OSMDashboard é unha aplicación independente que só pode acceder (temporalmente) aos datos das pistas que se amosarán. \n b) A través dunha aplicación de mapa normal (por exemplo, <a href="http://osmand.net/">OsmAnd</a> e <a href="https://maps.me/">MAPS.ME</a>). Estas aplicacións precisan admitir o formato de ficheiro KMZ (só localizacións e marcas de tempo). De feito, unha aplicación ten que admitir <i>ACTION_VIEW</i> con MIME <i>application/vnd.google-earth.kmz</i>.</string>
|
||||
<string name="help_storage_pictures_title">De que xeito garda OpenTracks as fotos tomadas como marcadores\?</string>
|
||||
<string name="help_storage_pictures_content">Gárdanse na almacenaxe interna da app (só accesible desde OpenTracks).</string>
|
||||
<string name="help_track_export_title">De que xeito exporto/importo as rutas gravadas\?</string>
|
||||
@@ -44,24 +41,11 @@ limitations under the License.
|
||||
OpenTracks usa o sensor GPS do dispositivo para gravar a localización de xeito contínuo.
|
||||
Se o GPS informa sobre datos pouco precisos (ex.: localización, velocidade, elevación), OpenTracks non pode facer nada ao respecto.</string>
|
||||
<string name="help_data_storage_title">De que xeito garda OpenTracks os datos dos sensores\?</string>
|
||||
<string name="help_data_storage_content"> Os datos dos sensores gárdanse asociados á localización. Respecto do ritmo cardíaco, significa que só se garda <i>unha medida</i> asociada a unha localización. \u0020Se te detés ou estás en interiores, non se gardarán datos do sensor (mais serán mostrados). </string>
|
||||
<string name="help_data_storage_content">Os datos dos sensores gárdanse asociados á localización. Respecto do ritmo cardíaco, significa que só se garda <i>unha medida</i> asociada a unha localización. Se te detés ou estás en interiores, non se gardarán datos do sensor (mais serán mostrados).</string>
|
||||
<string name="help_gps_troubleshooting_title">OpenTracks non grava as localizacións\?</string>
|
||||
<string name="help_gps_troubleshooting_content"> \u0020Podes intentar:
|
||||
\n a) mira que o GPS esté activado,
|
||||
\n b) mellora a recepción GPS (ex. sae ao exterior),
|
||||
\n c) comprobaa coa app <a href="https://f-droid.org/en/packages/com.android.gpstest.osmdroid/">GPSTest</a>, e
|
||||
\n d) desactiva o aforro de enerxía.
|
||||
\n
|
||||
\n Se isto non axuda, infórmanos do problema. \u0020</string>
|
||||
<string name="help_gps_troubleshooting_content">Podes intentar: \n a) mira que o GPS esté activado, \n b) mellora a recepción GPS (ex. sae ao exterior), \n c) comprobaa coa app <a href="https://f-droid.org/en/packages/com.android.gpstest.osmdroid/">GPSTest</a>, e \n d) desactiva o aforro de enerxía. \n \n Se isto non axuda, infórmanos do problema.</string>
|
||||
<string name="help_support_title">Como podo axudar a OpenTracks\?</string>
|
||||
<string name="help_support_content"> \u0020Podes:
|
||||
\n a) falar de OpenTracks coas túas amizades,
|
||||
\n b) <a href="https://github.com/OpenTracksApp/OpenTracks/issues">propoñer novas funcións</a>,
|
||||
\n c) <a href="https://github.com/OpenTracksApp/OpenTracks/issues">informar de fallos</a>,
|
||||
\n d) axudar no desenvolvemento,
|
||||
\n e) mercar a app na <a href="https://play.google.com/store/apps/details?id=de.dennisguse.opentracks.playstore">Google Play Store</a>,
|
||||
\n f) facer unha doazón, e
|
||||
\n g) calquera cousa que estimes axuda a OpenTracks. \u0020</string>
|
||||
<string name="help_support_content">Podes: \n a) falar de OpenTracks coas túas amizades, \n b) <a href="https://github.com/OpenTracksApp/OpenTracks/issues">propoñer novas funcións</a>, \n c) <a href="https://github.com/OpenTracksApp/OpenTracks/issues">informar de fallos</a>, \n d) axudar no desenvolvemento, \n e) mercar a app na <a href="https://play.google.com/store/apps/details?id=de.dennisguse.opentracks.playstore">Google Play Store</a>, \n f) facer unha doazón, e \n g) calquera cousa que estimes axuda a OpenTracks.</string>
|
||||
<string name="open_track_as_trackfileformat">Abrir como %1$s</string>
|
||||
<!-- Activity Type -->
|
||||
<string name="activity_type_airplane">avión</string>
|
||||
@@ -103,7 +87,7 @@ Se o GPS informa sobre datos pouco precisos (ex.: localización, velocidade, ele
|
||||
<string name="activity_type_rc_airplane">Avión de radiocontrol</string>
|
||||
<string name="activity_type_rc_boat">Barco de radiocontrol</string>
|
||||
<string name="activity_type_rc_helicopter">Helicóptero de radiocontrol</string>
|
||||
<string name="activity_type_riding">ciclismo</string>
|
||||
<string name="activity_type_riding">equitación</string>
|
||||
<string name="activity_type_road_biking">ciclismo de estrada</string>
|
||||
<string name="activity_type_roller_skiing">esquí sobre rodas</string>
|
||||
<string name="activity_type_rowing">remo</string>
|
||||
@@ -607,4 +591,7 @@ Se o GPS informa sobre datos pouco precisos (ex.: localización, velocidade, ele
|
||||
<string name="power">Potencia</string>
|
||||
<string name="power_x_watt">Potencia {x, plural, =1 {1 watio} other {# watios} }</string>
|
||||
<string name="create_marker_error">Non se creou o marcador. Inténtao outra vez.</string>
|
||||
<string name="settings_locale_title">Idioma</string>
|
||||
<string name="settings_locale_system_default">Predeterminado no sistema</string>
|
||||
<string name="stats_gain_loss">Ganancia e Perda</string>
|
||||
</resources>
|
||||
@@ -313,7 +313,7 @@ limitations under the License.
|
||||
<string name="about_url">A projekt weboldala: <a href="%1$s">%1$s</a></string>
|
||||
<string name="about_version_name">Verzió neve: %1$s</string>
|
||||
<string name="about_version_code">Verziókód: %1$d</string>
|
||||
<string name="about_preference_title">Az OpenTracks névjegye</string>
|
||||
<string name="about_preference_title">Névjegy</string>
|
||||
<string name="help_data_google_play_services_title">Az OpenTracks igényli/használja a Google Play szolgáltatást?</string>
|
||||
<string name="help_track_export_title">Hogyan tudom exportálni/megosztani a felvett nyomvonalakat?</string>
|
||||
<string name="help_storage_pictures_content">Ezeket az alkalmazás belső tárhelyén tárolja (azaz csak az OpenTracks-en belül érhető el).</string>
|
||||
@@ -351,13 +351,7 @@ limitations under the License.
|
||||
<string name="import_unsupported_format">Nem támogatott fájlformátum</string>
|
||||
<string name="description_default_speed_or_pace">Tevékenységtípus szerint</string>
|
||||
<string name="export_without_photos">fotók nélkül</string>
|
||||
<string name="help_gps_troubleshooting_content"> \u0020Mit tehet:
|
||||
\n a) ellenőrizze, hogy a GPS engedélyezve van-e,
|
||||
\n b) javítsa a GPS-vételt (pl. menjen a szabadba),
|
||||
\n c) ellenőrizze a <a href="https://f-droid.org/en/packages/com.android.gpstest.osmdroid/">GPSTest</a> alkalmazással, és
|
||||
\n d) tiltsa le az energiatakarékosságot.
|
||||
\n
|
||||
\n Ha mindez nem segít, kérjük, jelentse a hibát. \u0020</string>
|
||||
<string name="help_gps_troubleshooting_content">Mit tehet: \n a) ellenőrizze, hogy a GPS engedélyezve van-e, \n b) javítsa a GPS-vételt (pl. menjen a szabadba), \n c) ellenőrizze a <a href="https://f-droid.org/en/packages/com.android.gpstest.osmdroid/">GPSTest</a> alkalmazással, és \n d) tiltsa le az energiatakarékosságot. \n \n Ha mindez nem segít, kérjük, jelentse a hibát.</string>
|
||||
<string name="export_progress_summary_new_msg">Új fájlok exportálva</string>
|
||||
<string name="generic_completed">Befejezve</string>
|
||||
<string name="sensor_state_heart_rate_avg">Átl. pulzusszám</string>
|
||||
@@ -394,14 +388,7 @@ limitations under the License.
|
||||
<string name="menu_resume_track">Nyomvonal folytatása</string>
|
||||
<string name="import_parser_error">Értelmezőhiba: %1$s</string>
|
||||
<string name="help_data_storage_content"> Az érzékelőadatok rögzített helyenként vannak tárolva. A pulzusszám-érzékelőre vonatkoztatva ez azt jelenti, hogy csak <i>egy</i> pulzusszámmérés kerül tárolásra helyenként. Ha Ön mozdulatlanul áll vagy beltérben tartózkodik, akkor nem kerülnek rögzítésre az érzékelőadatai (de megjelennek). </string>
|
||||
<string name="help_support_content"> \u0020Ezeket teheti meg:
|
||||
\n \u0020a) terjesztheti az OpenTracks hírét,
|
||||
\n \u0020b) <a href="https://github.com/OpenTracksApp/OpenTracks/issues">funkciókat javasolhat</a>,
|
||||
\n \u0020c) <a href="https://github.com/OpenTracksApp/OpenTracks/issues">hibákat jelenthet be</a>,
|
||||
\n \u0020d) segíthet a szoftverfejlesztésben,
|
||||
\n \u0020e) megveheti a <a href="https://play.google.com/store/apps/details?id=de.dennisguse.opentracks.playstore">Google Play Store</a>-ban,
|
||||
\n \u0020f) adományozhat, és
|
||||
\n \u0020g) tehet bármit, amiről úgy gondolja, hogy segít az OpenTracks-nek. \u0020</string>
|
||||
<string name="help_support_content">Ezeket teheti meg: \n a) terjesztheti az OpenTracks hírét, \n b) <a href="https://github.com/OpenTracksApp/OpenTracks/issues">funkciókat javasolhat</a>, \n c) <a href="https://github.com/OpenTracksApp/OpenTracks/issues">hibákat jelenthet be</a>, \n d) segíthet a szoftverfejlesztésben, \n e) megveheti a <a href="https://play.google.com/store/apps/details?id=de.dennisguse.opentracks.playstore">Google Play Store</a>-ban, \n f) adományozhat, és \n g) tehet bármit, amiről úgy gondolja, hogy segít az OpenTracks-nek.</string>
|
||||
<plurals name="generic_completed_with_errors">
|
||||
<item quantity="one">Egy hibával befejezve</item>
|
||||
<item quantity="other">%1$d hibával befejezve</item>
|
||||
@@ -418,10 +405,7 @@ limitations under the License.
|
||||
<string name="share_image_body">Azt hiszem, ez a kép érdekelhet.</string>
|
||||
<string name="help_recording_title">Hogyan veszi fel az OpenTracks az adatokat?</string>
|
||||
<string name="help_track_export_content"> A nyomvonalak KMZ, KML vagy GPX formátumban exportálhatók a Beállításokból. KMZ/KML minden adat; GPX csak a helyszínek. A <i>megosztás ikonon</i> keresztül megosztott nyomvonalak KMZ formátumban kerülnek megosztásra. </string>
|
||||
<string name="help_track_map_content"> \u0020Használja a kis térkép ikont.
|
||||
\n \u0020a) \u0020(élő frissítések) Telepítse a <a href="https://github.com/OpenTracksApp/OSMDashboard">OSMDashboard</a>. \u0020Ez online vagy offline térképeket biztosít a <a href="https://www.openstreetmap.org">OpenStreetMap</a> segítségével.
|
||||
\n \u0020Valójában az OSMDashboard egy különálló alkalmazás, amely csak a megjelenítendő nyomvonal(ak) adataihoz fér hozzá (ideiglenesen). \u0020
|
||||
\n \u0020b) \u0020Egy normál térképalkalmazáson keresztül (pl. <a href="http://osmand.net/">OsmAnd</a> és <a href="https://maps.me/">MAPS.ME</a>). \u0020Ezeknek az alkalmazásoknak támogatniuk kell a KMZ fájlformátumot (csak a helyeket és az időbélyegeket). \u0020Valójában egy alkalmazásnak támogatnia kell a <i>ACTION_VIEW</i> MIME <i>application/vnd.google-earth.kmz</i> formátumot. \u0020</string>
|
||||
<string name="help_track_map_content">Használja a kis térkép ikont.\na) (élő frissítések) Telepítse a <a href="https://github.com/OpenTracksApp/OSMDashboard">OSMDashboard</a>. Ez online vagy offline térképeket biztosít a <a href="https://www.openstreetmap.org">OpenStreetMap</a> segítségével.\nValójában az OSMDashboard egy különálló alkalmazás, amely csak a megjelenítendő nyomvonal(ak) adataihoz fér hozzá (ideiglenesen).\nb) Egy normál térképalkalmazáson keresztül (pl. <a href="http://osmand.net/">OsmAnd</a> és <a href="https://maps.me/">MAPS.ME</a>). Ezeknek az alkalmazásoknak támogatniuk kell a KMZ fájlformátumot (csak a helyeket és az időbélyegeket). Valójában egy alkalmazásnak támogatnia kell a <i>ACTION_VIEW</i> MIME <i>application/vnd.google-earth.kmz</i> formátumot.</string>
|
||||
<string name="about_description">Az <i>OpenTracks</i> egy sportkövető alkalmazás, amely teljes mértékben tiszteletben tartja az Ön adatvédelmét.</string>
|
||||
<string name="about_history">Az OpenTracks a <a href="https://code.google.com/archive/p/mytracks/"><i>Google MyTracks</i></a> (2016-ban megszűnt) elágazása.</string>
|
||||
<string name="help_feature_content">* GPS nyomvonalak létrehozása
|
||||
@@ -601,4 +585,7 @@ limitations under the License.
|
||||
<string name="voiceDistance">{n, plural, =1 {1 } other {{n,number,#.0}} }</string>
|
||||
<string name="voice_announce_lap_power_key">voiceAnnounceLapPower</string>
|
||||
<string name="power_x_watt">Teljesítmény {x, plural, =1 {1 watt} other {# watts} }</string>
|
||||
<string name="settings_locale_title">Nyelv</string>
|
||||
<string name="settings_locale_system_default">Rendszer alapértelmezett</string>
|
||||
<string name="stats_gain_loss">Növekedés és veszteség</string>
|
||||
</resources>
|
||||
@@ -196,9 +196,7 @@ limitations under the License.
|
||||
<string name="settings_stats_units_metric">Metriske (km, m)</string>
|
||||
<string name="settings_stats_units_title">Foretrukne enheter</string>
|
||||
<!-- Share Track -->
|
||||
<string name="share_track_share_file_body">Jeg tror du kan være interessert i dette sporet.
|
||||
\n
|
||||
\n%1$s</string>
|
||||
<string name="share_track_share_file_body">Jeg tror du kan være interessert i dette sporet.\n\n%1$s</string>
|
||||
<string name="share_track_subject">Jeg vil dele et spor med deg</string>
|
||||
<!-- Stats -->
|
||||
<string name="stats_average_moving_pace">Gjen. forflytningstempo</string>
|
||||
@@ -359,12 +357,7 @@ limitations under the License.
|
||||
<string name="sensor_could_not_scan">Kunne ikke se etter Blåtannsenheter (feil %1$i).</string>
|
||||
<string name="help_data_google_play_services_title">Krever/bruker OpenTracks Google Play-tjenesten\?</string>
|
||||
<string name="help_feature_title">OpenTracks har følgende funksjoner:</string>
|
||||
<string name="help_feature_content">* Opprett GPS-spor
|
||||
\n * Bruk av pulssensor (kun Blåtann-LE)
|
||||
\n * Talemeldinger (etter tid eller distanse)
|
||||
\n * Opprett markører (inkl. bilder)
|
||||
\n * Fungerer uten Internett-forbindelse
|
||||
\n * Vis spor på et kart (se nedenfor)</string>
|
||||
<string name="help_feature_content">* Opprett GPS-spor \n* Bruk av pulssensor (kun Blåtann-LE) \n* Talemeldinger (etter tid eller distanse) \n* Opprett markører (inkl. bilder) \n* Fungerer uten Internett-forbindelse \n* Vis spor på et kart (se nedenfor)</string>
|
||||
<string name="help_track_map_title">Hvordan vise et spor på et kart\?</string>
|
||||
<string name="about_description"><i>OpenTracks</i> er et sportssporingsprogram som fullt ut respekterer ditt personvern.</string>
|
||||
<string name="about_url">Prosjektnettside: <a href="%1$s">%1$s</a></string>
|
||||
@@ -392,21 +385,8 @@ limitations under the License.
|
||||
<string name="help_data_storage_title">Hvordan lagrer OpenTracks sensordata\?</string>
|
||||
<string name="help_data_storage_content"> Sensordata lagres per posisjon som er tatt opp. Når det gjelder pulssensorer betyr dette at kun <i>én</i> pulsmåling lagres per posisjon. Hvis du står stille eller er innendørs, blir ingen sensordata tatt opp (men de vil bli vist). </string>
|
||||
<string name="help_gps_troubleshooting_title">OpenTracks tar ikke opp posisjoner\?</string>
|
||||
<string name="help_gps_troubleshooting_content"> Hva du kan gjøre:
|
||||
\n a) sjekk om GPS er slått på,
|
||||
\n b) forbedre GPS-mottak (f.eks. gå utendørs),
|
||||
\n c) sjekk med programmet <a href="https://f-droid.org/en/packages/com.android.gpstest.osmdroid/">GPSTest</a>, og
|
||||
\n d) slå av strømsparing.
|
||||
\n
|
||||
\n Hvis alt dette ikke hjelper, kan du rapportere en feil. </string>
|
||||
<string name="help_support_content"> Du kan:
|
||||
\n a) spre info om OpenTracks,
|
||||
\n b) <a href="https://github.com/OpenTracksApp/OpenTracks/issues">foreslå funksjoner</a>,
|
||||
\n c) <a href="https://github.com/OpenTracksApp/OpenTracks/issues">rapportere feil</a>,
|
||||
\n d) hjelpe til med programvareutvikling,
|
||||
\n e) kjøpe programmet i <a href="https://play.google.com/store/apps/details?id=de.dennisguse.opentracks.playstore">Google Play Store</a>,
|
||||
\n f) donere, og
|
||||
\n g) gjøre noe du tror hjelper OpenTracks. </string>
|
||||
<string name="help_gps_troubleshooting_content">Hva du kan gjøre:\n a) sjekk om GPS er slått på,\n b) forbedre GPS-mottak (f.eks. gå utendørs),\n c) sjekk med programmet <a href="https://f-droid.org/en/packages/com.android.gpstest.osmdroid/">GPSTest</a>, og\n d) slå av strømsparing.\n \n Hvis alt dette ikke hjelper, kan du rapportere en feil.</string>
|
||||
<string name="help_support_content">Du kan:\n a) spre info om OpenTracks,\n b) <a href="https://github.com/OpenTracksApp/OpenTracks/issues">foreslå funksjoner</a>,\n c) <a href="https://github.com/OpenTracksApp/OpenTracks/issues">rapportere feil</a>,\n d) hjelpe til med programvareutvikling,\n e) kjøpe programmet i <a href="https://play.google.com/store/apps/details?id=de.dennisguse.opentracks.playstore">Google Play Store</a>,\n f) donere, og\n g) gjøre noe du tror hjelper OpenTracks.</string>
|
||||
<string name="description_altitude_loss">Total nedstigning: %1$d m (%2$d ft)</string>
|
||||
<string name="stats_loss">Total nedstigning</string>
|
||||
<string name="import_prevent_reimport">Du har stilt inn forhindring av at spor importeres om igjen</string>
|
||||
@@ -547,7 +527,7 @@ limitations under the License.
|
||||
<string name="value_float_knots">%1$.1f knop</string>
|
||||
<string name="value_float_knots_recommended">%1$.1f knop (anbefales)</string>
|
||||
<string name="voice_per_nautical_mile">per nautisk mil</string>
|
||||
<string name="show_on_dashboard_not_installed">Ingen app som støtter OpenTracks-API for oversikten er installert.</string>
|
||||
<string name="show_on_dashboard_not_installed">Ingen app som støtter OpenTracks Dashboard-API er installert.</string>
|
||||
<string name="track_delete_number_of_tracks">%1$d spor</string>
|
||||
<string name="settings_public_api_package_title">Pakkenavn for offentlig API</string>
|
||||
<string name="introduction_osm_dashboard">OpenTracks sørger ikke selv for kart. Installer OSMDashboard for å vise opptakene dine på et kart.</string>
|
||||
@@ -595,4 +575,7 @@ limitations under the License.
|
||||
<string name="settings_sensor_bluetooth_service_filter_off">Vis alle Bluetooth-enheter som kan oppdages</string>
|
||||
<string name="permission_recording_failed">OpenTracks krever tillatelse for å få tilgang til posisjonen din samt enheter i nærheten.</string>
|
||||
<string name="create_marker_error">Klarte ikke å opprette en markør. Prøv igjen.</string>
|
||||
<string name="settings_locale_title">Språk</string>
|
||||
<string name="settings_locale_system_default">Systemstandard</string>
|
||||
<string name="stats_gain_loss">Total stigning og nedstigning</string>
|
||||
</resources>
|
||||
@@ -14,7 +14,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
--><resources>
|
||||
<string name="about_preference_title">Over OpenTracks</string>
|
||||
<string name="about_preference_title">Over</string>
|
||||
<string name="about_description"><i>OpenTracks</i> is een sport tracker applicatie met respect voor privacy.</string>
|
||||
<string name="about_url">Project webpagina: <a href="%1$s">%1$s</a></string>
|
||||
<string name="about_version_name">Versienaam: %1$s</string>
|
||||
@@ -30,38 +30,22 @@ limitations under the License.
|
||||
\n* werkt volledig offline
|
||||
\n* toon tracks op een kaart (zie hieronder)</string>
|
||||
<string name="help_track_map_title">Hoe wordt een spoor op een kaart weergegeven\?</string>
|
||||
<string name="help_track_map_content"> \u0020Gebruik het kleine kaartpictogram.
|
||||
\n \u0020a) \u0020(live updates) Installeer <a href="https://github.com/OpenTracksApp/OSMDashboard">OSMDashboard</a>. Het biedt online of offline kaarten via <a href="https://www.openstreetmap.org">OpenStreetMap</a>.
|
||||
\n \u0020Eigenlijk is OSMDashboard een aparte app die alleen (tijdelijk) toegang heeft tot de gegevens van de track(s) die getoond gaan worden.
|
||||
\n \u0020b) \u0020Via een normale kaartapplicatie (bijv. <a href="http://osmand.net/">OsmAnd</a> en <a href="https://maps.me/">MAPS.ME</a>). Deze apps moeten het KMZ-bestandsformaat ondersteunen (alleen locaties en tijdstempels). In feite moet een app <i>ACTION_VIEW</i> ondersteunen met MIME <i>application/vnd.google-earth.kmz</i>. \u0020</string>
|
||||
<string name="help_track_map_content">Gebruik het kleine kaartpictogram. \n a) (live updates) Installeer <a href="https://github.com/OpenTracksApp/OSMDashboard">OSMDashboard</a>. Het biedt online of offline kaarten via <a href="https://www.openstreetmap.org">OpenStreetMap</a>. \n Eigenlijk is OSMDashboard een aparte app die alleen (tijdelijk) toegang heeft tot de gegevens van de track(s) die getoond gaan worden. \n b) Via een normale kaartapplicatie (bijv. <a href="http://osmand.net/">OsmAnd</a> en <a href="https://maps.me/">MAPS.ME</a>). Deze apps moeten het KMZ-bestandsformaat ondersteunen (alleen locaties en tijdstempels). In feite moet een app <i>ACTION_VIEW</i> ondersteunen met MIME <i>application/vnd.google-earth.kmz</i>.</string>
|
||||
<string name="help_storage_pictures_title">Hoe slaat OpenTracks foto\'s op die als markeringen zijn genomen\?</string>
|
||||
<string name="help_storage_pictures_content">Deze worden opgeslagen in de interne opslag van de app (d.w.z. alleen toegankelijk binnen OpenTracks).</string>
|
||||
<string name="help_track_export_title">Hoe kan ik opgenomen tracks exporteren/delen?</string>
|
||||
<string name="help_track_export_content"> Tracks kunnen worden geëxporteerd vanuit de instellingen als KMZ, KML of GPX. KMZ/KML alle gegevens; GPX alleen locaties. Tracks die worden gedeeld via het <i>share-icoontje</i> worden gedeeld als KMZ </string>
|
||||
<string name="help_track_export_content">Tracks kunnen worden geëxporteerd vanuit de instellingen als KMZ, KML of GPX. KMZ/KML alle gegevens; GPX alleen locaties. Tracks die worden gedeeld via het <i>share-icoontje</i> worden gedeeld als KMZ.</string>
|
||||
<string name="help_data_google_play_services_title">Vereist/gebruikt OpenTracks Google Play Service\?</string>
|
||||
<string name="help_recording_title">Hoe legt OpenTracks gegevens vast?</string>
|
||||
<string name="help_recording_content">
|
||||
OpenTracks gebruikt de GPS-sensor van het apparaat om de locatie continu te registreren.
|
||||
Als het GPS-apparaat onnauwkeurige gegevens rapporteert (bijv. locatie, snelheid, hoogte), kan OpenTracks daar niets aan doen.</string>
|
||||
<string name="help_data_storage_title">Hoe slaat OpenTracks sensorgegevens op?</string>
|
||||
<string name="help_data_storage_content"> De sensorgegevens worden per opgenomen locatie opgeslagen. In termen van een hartslagsensor betekent dit dat slechts <i>een</i> hartslagmeting per locatie wordt opgeslagen. Als u stilstaat of binnenshuis bent, worden er geen sensorgegevens geregistreerd (maar wel getoond) </string>
|
||||
<string name="help_data_storage_content">De sensorgegevens worden per opgenomen locatie opgeslagen. In termen van een hartslagsensor betekent dit dat slechts <i>een</i> hartslagmeting per locatie wordt opgeslagen. Als u stilstaat of binnenshuis bent, worden er geen sensorgegevens geregistreerd (maar wel getoond).</string>
|
||||
<string name="help_gps_troubleshooting_title">OpenTracks neemt geen locaties op?</string>
|
||||
<string name="help_gps_troubleshooting_content"> \u0020Wat u kunt doen:
|
||||
\n \u0020a) Controleer of GPS is ingeschakeld,
|
||||
\n \u0020b) verbeter de GPS-ontvangst (ga bijvoorbeeld naar buiten),
|
||||
\n \u0020c) controleren met <a href="https://f-droid.org/en/packages/com.android.gpstest.osmdroid/">GPSTest</a> app, en
|
||||
\n \u0020d) schakel energiebesparing uit.
|
||||
\n
|
||||
\n \u0020Als alles niet helpt, rapporteer dan een mogelijke fout. \u0020</string>
|
||||
<string name="help_gps_troubleshooting_content">Wat u kunt doen:\n a) Controleer of GPS is ingeschakeld,\n b) verbeter de GPS-ontvangst (ga bijvoorbeeld naar buiten),\n c) controleren met <a href="https://f-droid.org/en/packages/com.android.gpstest.osmdroid/">GPSTest</a> app, en\n d) schakel energiebesparing uit.\n \n Als alles niet helpt, rapporteer dan een mogelijke fout.</string>
|
||||
<string name="help_support_title">Hoe kan ik OpenTracks ondersteunen?</string>
|
||||
<string name="help_support_content"> \u0020U kunt:
|
||||
\n \u0020a) anderen vertellen over OpenTracks,
|
||||
\n \u0020b) <a href="https://github.com/OpenTracksApp/OpenTracks/issues">functies voorstellen</a>,
|
||||
\n \u0020c) <a href="https://github.com/OpenTracksApp/OpenTracks/issues">bugs melden</a>,
|
||||
\n \u0020d) helpen bij de ontwikkeling van software,
|
||||
\n \u0020e) aanschaffen in <a href="https://play.google.com/store/apps/details?id=de.dennisguse.opentracks.playstore">Google Play Store</a>,
|
||||
\n \u0020f) doneren, en
|
||||
\n \u0020g) wat u ook denkt dat OpenTracks helpt. \u0020</string>
|
||||
<string name="help_support_content">U kunt:\n a) anderen vertellen over OpenTracks,\n b) <a href="https://github.com/OpenTracksApp/OpenTracks/issues">functies voorstellen</a>,\n c) <a href="https://github.com/OpenTracksApp/OpenTracks/issues">bugs melden</a>,\n d) helpen bij de ontwikkeling van software,\n e) aanschaffen in <a href="https://play.google.com/store/apps/details?id=de.dennisguse.opentracks.playstore">Google Play Store</a>,\n f) doneren, en\n g) wat u ook denkt dat OpenTracks helpt.</string>
|
||||
<!-- Activity Type -->
|
||||
<string name="activity_type_airplane">vliegtuig</string>
|
||||
<string name="activity_type_atv">quad</string>
|
||||
@@ -607,4 +591,7 @@ Als het GPS-apparaat onnauwkeurige gegevens rapporteert (bijv. locatie, snelheid
|
||||
<string name="settings_announcements_lap_power">Lap power</string>
|
||||
<string name="power_x_watt">Power {x, plural, =1 {1 watt} other {# watt} }</string>
|
||||
<string name="create_marker_error">Kan geen markering maken. Probeer het opnieuw.</string>
|
||||
<string name="settings_locale_title">Taal</string>
|
||||
<string name="settings_locale_system_default">Systeemstandaard</string>
|
||||
<string name="stats_gain_loss">Winst & verlies</string>
|
||||
</resources>
|
||||
Reference in New Issue
Block a user