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:
|
steps:
|
||||||
- name: checkout
|
- name: checkout
|
||||||
uses: actions/checkout@v4
|
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
|
- uses: actions/setup-java@v4
|
||||||
with:
|
with:
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
name: Linting
|
name: Linting
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
pull_request:
|
pull_request:
|
||||||
@@ -10,12 +9,15 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout repository
|
- name: checkout
|
||||||
uses: actions/checkout@v4
|
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
|
- uses: actions/setup-java@v4
|
||||||
with:
|
with:
|
||||||
distribution: 'zulu'
|
distribution: 'adopt'
|
||||||
java-version: '17'
|
java-version: '17'
|
||||||
|
|
||||||
- run: ./gradlew lint
|
- run: ./gradlew lint
|
||||||
|
|||||||
@@ -11,6 +11,9 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- name: checkout
|
- name: checkout
|
||||||
uses: actions/checkout@v4
|
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
|
- uses: actions/setup-java@v4
|
||||||
with:
|
with:
|
||||||
|
|||||||
@@ -109,19 +109,20 @@ The API can be invoked by sending an explicit Intent to start an activity.
|
|||||||
* Debug: `de.dennisguse.opentracks.debug`
|
* Debug: `de.dennisguse.opentracks.debug`
|
||||||
* Nightly: `de.dennisguse.opentracks.nightly`
|
* Nightly: `de.dennisguse.opentracks.nightly`
|
||||||
|
|
||||||
`Class`:
|
`Classes`:
|
||||||
|
|
||||||
* **Start a recording:** `de.dennisguse.opentracks.publicapi.StartRecording`
|
* **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`
|
* **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"`
|
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.
|
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
|
## File formats compatibility with open-source software
|
||||||
|
|||||||
+5
-5
@@ -6,7 +6,7 @@ buildscript {
|
|||||||
mavenCentral()
|
mavenCentral()
|
||||||
}
|
}
|
||||||
dependencies {
|
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()
|
return stdout.toString().trim()
|
||||||
} catch (ignored) {
|
} 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())
|
return Integer.valueOf(stdout.toString().trim())
|
||||||
} catch (ignored) {
|
} catch (ignored) {
|
||||||
return null
|
throw new GradleException('VersionCode could not be read:' + ignored.message)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -64,8 +64,8 @@ android {
|
|||||||
|
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
applicationId "de.dennisguse.opentracks"
|
applicationId "de.dennisguse.opentracks"
|
||||||
versionCode 5938
|
versionCode 5975
|
||||||
versionName "v4.15.0"
|
versionName "v4.17.0"
|
||||||
|
|
||||||
buildConfigField "String", "VERSION_NAME_FULL", "\"${getVersionName()}\""
|
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);
|
assertEquals(contentProviderUtils.getMarkers(trackId).size(), 1);
|
||||||
|
|
||||||
// Get marker id that needs to delete.
|
// 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
|
// Delete
|
||||||
contentProviderUtils.deleteMarker(context, marker1Id);
|
contentProviderUtils.deleteMarker(context, marker1Id);
|
||||||
@@ -509,7 +509,7 @@ public class CustomContentProviderUtilsTest {
|
|||||||
assertEquals(contentProviderUtils.getMarkers(trackId).size(), 1);
|
assertEquals(contentProviderUtils.getMarkers(trackId).size(), 1);
|
||||||
|
|
||||||
// Get marker id that needs to delete.
|
// 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.
|
// Check marker has photo and it's in the external storage.
|
||||||
assertTrue(marker1.hasPhoto());
|
assertTrue(marker1.hasPhoto());
|
||||||
@@ -553,11 +553,11 @@ public class CustomContentProviderUtilsTest {
|
|||||||
// Insert at first.
|
// Insert at first.
|
||||||
Marker marker1 = new Marker(trackId, contentProviderUtils.getLastValidTrackPoint(trackId));
|
Marker marker1 = new Marker(trackId, contentProviderUtils.getLastValidTrackPoint(trackId));
|
||||||
marker1.setDescription(MOCK_DESC);
|
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));
|
Marker marker2 = new Marker(trackId, contentProviderUtils.getLastValidTrackPoint(trackId));
|
||||||
marker2.setDescription(MOCK_DESC);
|
marker2.setDescription(MOCK_DESC);
|
||||||
Marker.Id marker2Id = new Marker.Id(ContentUris.parseId(contentProviderUtils.insertMarker(marker2)));
|
Marker.Id marker2Id = contentProviderUtils.insertMarker(marker2);
|
||||||
|
|
||||||
// Delete
|
// Delete
|
||||||
assertNotNull(contentProviderUtils.getMarker(marker1Id));
|
assertNotNull(contentProviderUtils.getMarker(marker1Id));
|
||||||
@@ -598,7 +598,7 @@ public class CustomContentProviderUtilsTest {
|
|||||||
|
|
||||||
Marker marker = new Marker(trackId, contentProviderUtils.getLastValidTrackPoint(trackId));
|
Marker marker = new Marker(trackId, contentProviderUtils.getLastValidTrackPoint(trackId));
|
||||||
marker.setDescription(TEST_DESC);
|
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());
|
assertEquals(TEST_DESC, contentProviderUtils.getMarker(markerId).getDescription());
|
||||||
}
|
}
|
||||||
@@ -614,7 +614,7 @@ public class CustomContentProviderUtilsTest {
|
|||||||
// Insert at first.
|
// Insert at first.
|
||||||
Marker marker = new Marker(trackId, contentProviderUtils.getLastValidTrackPoint(trackId));
|
Marker marker = new Marker(trackId, contentProviderUtils.getLastValidTrackPoint(trackId));
|
||||||
marker.setDescription(TEST_DESC);
|
marker.setDescription(TEST_DESC);
|
||||||
Marker.Id markerId = new Marker.Id(ContentUris.parseId(contentProviderUtils.insertMarker(marker)));
|
Marker.Id markerId = contentProviderUtils.insertMarker(marker);
|
||||||
|
|
||||||
// Update
|
// Update
|
||||||
marker = contentProviderUtils.getMarker(markerId);
|
marker = contentProviderUtils.getMarker(markerId);
|
||||||
@@ -638,7 +638,7 @@ public class CustomContentProviderUtilsTest {
|
|||||||
TrackPoint trackPoint = contentProviderUtils.getLastValidTrackPoint(trackId);
|
TrackPoint trackPoint = contentProviderUtils.getLastValidTrackPoint(trackId);
|
||||||
Marker marker = TestDataUtil.createMarkerWithPhoto(context, trackId, trackPoint);
|
Marker marker = TestDataUtil.createMarkerWithPhoto(context, trackId, trackPoint);
|
||||||
marker.setDescription(TEST_DESC);
|
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());
|
File dir = new File(FileUtils.getPhotoDir(context), "" + trackId.id());
|
||||||
assertTrue(dir.exists());
|
assertTrue(dir.exists());
|
||||||
@@ -673,7 +673,7 @@ public class CustomContentProviderUtilsTest {
|
|||||||
TrackPoint trackPoint = contentProviderUtils.getLastValidTrackPoint(trackId);
|
TrackPoint trackPoint = contentProviderUtils.getLastValidTrackPoint(trackId);
|
||||||
Marker marker = TestDataUtil.createMarkerWithPhoto(context, trackId, trackPoint);
|
Marker marker = TestDataUtil.createMarkerWithPhoto(context, trackId, trackPoint);
|
||||||
marker.setDescription(TEST_DESC);
|
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());
|
File dir = new File(FileUtils.getPhotoDir(context), "" + trackId.id());
|
||||||
assertTrue(dir.exists());
|
assertTrue(dir.exists());
|
||||||
@@ -709,7 +709,7 @@ public class CustomContentProviderUtilsTest {
|
|||||||
marker.setDescription(TEST_DESC);
|
marker.setDescription(TEST_DESC);
|
||||||
Marker otherMarker = TestDataUtil.createMarkerWithPhoto(context, trackId, trackPoint);
|
Marker otherMarker = TestDataUtil.createMarkerWithPhoto(context, trackId, trackPoint);
|
||||||
otherMarker.setDescription(TEST_DESC);
|
otherMarker.setDescription(TEST_DESC);
|
||||||
Marker.Id markerId = new Marker.Id(ContentUris.parseId(contentProviderUtils.insertMarker(marker)));
|
Marker.Id markerId = contentProviderUtils.insertMarker(marker);
|
||||||
contentProviderUtils.insertMarker(otherMarker);
|
contentProviderUtils.insertMarker(otherMarker);
|
||||||
|
|
||||||
File dir = new File(FileUtils.getPhotoDir(context), "" + trackId.id());
|
File dir = new File(FileUtils.getPhotoDir(context), "" + trackId.id());
|
||||||
|
|||||||
@@ -31,13 +31,7 @@ public class PublicApiTest {
|
|||||||
|
|
||||||
private final Context context = ApplicationProvider.getApplicationContext();
|
private final Context context = ApplicationProvider.getApplicationContext();
|
||||||
|
|
||||||
@Test
|
//NOTE: this doesn't check if the TrackRecordingService was started in foreground.
|
||||||
public void StartTest() {
|
|
||||||
PreferencesUtils.setBoolean(R.string.publicapi_enabled_key, true);
|
|
||||||
|
|
||||||
context.startActivity(IntentUtils.newIntent(context, StartRecording.class));
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void StartStopTest() throws InterruptedException {
|
public void StartStopTest() throws InterruptedException {
|
||||||
PreferencesUtils.setBoolean(R.string.publicapi_enabled_key, true);
|
PreferencesUtils.setBoolean(R.string.publicapi_enabled_key, true);
|
||||||
|
|||||||
@@ -98,6 +98,14 @@ limitations under the License.
|
|||||||
<category android:name="android.intent.category.DEFAULT" />
|
<category android:name="android.intent.category.DEFAULT" />
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
</activity>
|
</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.-->
|
<!-- NOTE: the name of the MAIN/LAUNCHER is used by icon packs; if this is changed, icon packs break.-->
|
||||||
<activity
|
<activity
|
||||||
@@ -401,6 +409,16 @@ limitations under the License.
|
|||||||
android:name=".services.TrackDeleteService"
|
android:name=".services.TrackDeleteService"
|
||||||
android:exported="false"
|
android:exported="false"
|
||||||
android:permission="android.permission.BIND_JOB_SERVICE"/>
|
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>
|
</application>
|
||||||
|
|
||||||
<queries>
|
<queries>
|
||||||
|
|||||||
@@ -487,12 +487,11 @@ public class ContentProviderUtils {
|
|||||||
return markers;
|
return markers;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
// TODO Merge with updateMarker
|
||||||
* @return the content provider URI of the inserted marker.
|
public Marker.Id insertMarker(@NonNull Marker marker) {
|
||||||
*/
|
|
||||||
public Uri insertMarker(@NonNull Marker marker) {
|
|
||||||
marker.setId(null);
|
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) {
|
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.services.TrackRecordingServiceConnection;
|
||||||
import de.dennisguse.opentracks.settings.PreferencesUtils;
|
import de.dennisguse.opentracks.settings.PreferencesUtils;
|
||||||
|
|
||||||
public abstract class AbstractAPIActivity extends AppCompatActivity {
|
abstract class AbstractAPIActivity extends AppCompatActivity {
|
||||||
|
|
||||||
private final String TAG = AbstractAPIActivity.class.getSimpleName();
|
private final String TAG = AbstractAPIActivity.class.getSimpleName();
|
||||||
|
|
||||||
@@ -33,11 +33,15 @@ public abstract class AbstractAPIActivity extends AppCompatActivity {
|
|||||||
protected void onCreate(@Nullable Bundle savedInstanceState) {
|
protected void onCreate(@Nullable Bundle savedInstanceState) {
|
||||||
SplashScreen splashScreen = SplashScreen.installSplashScreen(this);
|
SplashScreen splashScreen = SplashScreen.installSplashScreen(this);
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
splashScreen.setKeepOnScreenCondition(() -> true );
|
splashScreen.setKeepOnScreenCondition(() -> true);
|
||||||
|
|
||||||
if (PreferencesUtils.isPublicAPIenabled()) {
|
if (PreferencesUtils.isPublicAPIenabled()) {
|
||||||
Log.i(TAG, "Received and trying to execute requested action.");
|
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 {
|
} else {
|
||||||
Toast.makeText(this, getString(R.string.settings_public_api_disabled_toast), Toast.LENGTH_LONG).show();
|
Toast.makeText(this, getString(R.string.settings_public_api_disabled_toast), Toast.LENGTH_LONG).show();
|
||||||
Log.w(TAG, "Public API is disabled; ignoring request.");
|
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 void execute(TrackRecordingService service);
|
||||||
|
|
||||||
protected abstract boolean isPostExecuteStopService();
|
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;
|
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 {
|
public class CreateMarkerActivity extends AppCompatActivity {
|
||||||
|
|
||||||
@@ -23,8 +23,11 @@ public class CreateMarkerActivity extends AppCompatActivity {
|
|||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(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);
|
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) -> {
|
TrackRecordingServiceConnection.execute(this, (service, self) -> {
|
||||||
Intent intent = IntentUtils
|
Intent intent = IntentUtils
|
||||||
|
|||||||
@@ -1,34 +1,19 @@
|
|||||||
package de.dennisguse.opentracks.publicapi;
|
package de.dennisguse.opentracks.publicapi;
|
||||||
|
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.database.Cursor;
|
|
||||||
import android.os.Bundle;
|
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.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 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.data.models.Marker;
|
||||||
import de.dennisguse.opentracks.databinding.MarkerDetailActivityBinding;
|
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.MarkerDetailActivity;
|
||||||
import de.dennisguse.opentracks.ui.markers.MarkerDetailFragment;
|
|
||||||
import de.dennisguse.opentracks.util.IntentUtils;
|
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 {
|
public class ShowMarkerActivity extends AppCompatActivity {
|
||||||
|
|
||||||
@@ -44,10 +29,11 @@ public class ShowMarkerActivity extends AppCompatActivity {
|
|||||||
protected void onCreate(Bundle bundle) {
|
protected void onCreate(Bundle bundle) {
|
||||||
super.onCreate(bundle);
|
super.onCreate(bundle);
|
||||||
|
|
||||||
Marker.Id markerId = new Marker.Id(getIntent().getLongExtra(EXTRA_MARKER_ID, 0));
|
if (!getIntent().hasExtra(EXTRA_MARKER_ID)) {
|
||||||
if (markerId.id() == 0) {
|
throw new IllegalStateException("Parameter 'markerId' missing");
|
||||||
throw new IllegalStateException("No valid markerId provided");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Marker.Id markerId = new Marker.Id(getIntent().getLongExtra(EXTRA_MARKER_ID, -1));
|
||||||
Intent intent = IntentUtils.newIntent(this, MarkerDetailActivity.class)
|
Intent intent = IntentUtils.newIntent(this, MarkerDetailActivity.class)
|
||||||
.putExtra(MarkerDetailActivity.EXTRA_MARKER_ID, markerId);
|
.putExtra(MarkerDetailActivity.EXTRA_MARKER_ID, markerId);
|
||||||
startActivity(intent);
|
startActivity(intent);
|
||||||
|
|||||||
@@ -62,4 +62,9 @@ public class StartRecording extends AbstractAPIActivity {
|
|||||||
protected boolean isPostExecuteStopService() {
|
protected boolean isPostExecuteStopService() {
|
||||||
return false;
|
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.
|
* 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.
|
* Is the data recent considering the current time.
|
||||||
|
|||||||
@@ -37,10 +37,5 @@ public class AggregatorBarometer extends Aggregator<AtmosphericPressure, Altitud
|
|||||||
return new AltitudeGainLoss(0f, 0f);
|
return new AltitudeGainLoss(0f, 0f);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void reset() {
|
|
||||||
value = getNoneValue();
|
|
||||||
}
|
|
||||||
|
|
||||||
public record Data(Altitude gain, Altitude loss) {}
|
public record Data(Altitude gain, Altitude loss) {}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,11 +16,6 @@ public class AggregatorGPS extends Aggregator<Position, Position> {
|
|||||||
value = current.value();
|
value = current.value();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void reset() {
|
|
||||||
value = null;
|
|
||||||
}
|
|
||||||
|
|
||||||
@NonNull
|
@NonNull
|
||||||
@Override
|
@Override
|
||||||
protected Position getNoneValue() {
|
protected Position getNoneValue() {
|
||||||
|
|||||||
@@ -15,6 +15,11 @@ public class AggregatorHeartRate extends Aggregator<HeartRate, HeartRate> {
|
|||||||
this.value = current.value();
|
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
|
@NonNull
|
||||||
@Override
|
@Override
|
||||||
protected HeartRate getNoneValue() {
|
protected HeartRate getNoneValue() {
|
||||||
|
|||||||
@@ -36,7 +36,9 @@ import java.io.PrintWriter;
|
|||||||
import java.io.StringWriter;
|
import java.io.StringWriter;
|
||||||
import java.time.Duration;
|
import java.time.Duration;
|
||||||
|
|
||||||
|
import de.dennisguse.opentracks.data.ContentProviderUtils;
|
||||||
import de.dennisguse.opentracks.data.models.Distance;
|
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.Track;
|
||||||
import de.dennisguse.opentracks.data.models.TrackPoint;
|
import de.dennisguse.opentracks.data.models.TrackPoint;
|
||||||
import de.dennisguse.opentracks.sensors.sensorData.SensorDataSet;
|
import de.dennisguse.opentracks.sensors.sensorData.SensorDataSet;
|
||||||
@@ -243,6 +245,20 @@ public class TrackRecordingService extends Service implements TrackPointCreator.
|
|||||||
gpsStatusObservable.postValue(STATUS_GPS_DEFAULT);
|
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
|
@Override
|
||||||
public boolean newTrackPoint(TrackPoint trackPoint, Distance thresholdHorizontalAccuracy) {
|
public boolean newTrackPoint(TrackPoint trackPoint, Distance thresholdHorizontalAccuracy) {
|
||||||
if (!isRecording()) {
|
if (!isRecording()) {
|
||||||
|
|||||||
@@ -1,25 +1,36 @@
|
|||||||
package de.dennisguse.opentracks.settings;
|
package de.dennisguse.opentracks.settings;
|
||||||
|
|
||||||
|
import android.annotation.SuppressLint;
|
||||||
import android.app.LocaleConfig;
|
import android.app.LocaleConfig;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
import android.os.LocaleList;
|
import android.os.LocaleList;
|
||||||
import android.util.AttributeSet;
|
import android.util.AttributeSet;
|
||||||
|
import android.util.Log;
|
||||||
|
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
import androidx.appcompat.app.AppCompatDelegate;
|
import androidx.appcompat.app.AppCompatDelegate;
|
||||||
|
import androidx.core.app.LocaleManagerCompat;
|
||||||
import androidx.core.os.LocaleListCompat;
|
import androidx.core.os.LocaleListCompat;
|
||||||
import androidx.preference.ListPreference;
|
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.ArrayList;
|
||||||
import java.util.Comparator;
|
import java.util.Comparator;
|
||||||
|
import java.util.List;
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
import de.dennisguse.opentracks.R;
|
import de.dennisguse.opentracks.R;
|
||||||
|
|
||||||
public class LocalePreference extends ListPreference {
|
public class LocalePreference extends ListPreference {
|
||||||
|
|
||||||
|
private String TAG = LocalePreference.class.getSimpleName();
|
||||||
|
|
||||||
public LocalePreference(@NonNull Context context, @Nullable AttributeSet attrs, int defStyleAttr, int defStyleRes) {
|
public LocalePreference(@NonNull Context context, @Nullable AttributeSet attrs, int defStyleAttr, int defStyleRes) {
|
||||||
super(context, attrs, defStyleAttr, defStyleRes);
|
super(context, attrs, defStyleAttr, defStyleRes);
|
||||||
init(context);
|
init(context);
|
||||||
@@ -40,18 +51,17 @@ public class LocalePreference extends ListPreference {
|
|||||||
init(context);
|
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) {
|
private void init(Context context) {
|
||||||
setPersistent(false);
|
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 systemDefaultLocale = new LocaleItem("", context.getString(R.string.settings_locale_system_default));
|
||||||
|
|
||||||
LocaleItem currentLocale = new LocaleItem(Locale.getDefault().toLanguageTag(), Locale.getDefault().getDisplayName());
|
LocaleItem currentLocale = new LocaleItem(Locale.getDefault().toLanguageTag(), Locale.getDefault().getDisplayName());
|
||||||
|
|
||||||
// All available options
|
// All available options
|
||||||
LocaleList supportedLocales = LocaleConfig.fromContextIgnoringOverride(context).getSupportedLocales();
|
LocaleList supportedLocales = getLocaleListCompat();
|
||||||
|
|
||||||
ArrayList<LocaleItem> localeItemsSorting = new ArrayList<>();
|
ArrayList<LocaleItem> localeItemsSorting = new ArrayList<>();
|
||||||
for (int i = 0; i < supportedLocales.size(); i++) {
|
for (int i = 0; i < supportedLocales.size(); i++) {
|
||||||
Locale current = supportedLocales.get(i);
|
Locale current = supportedLocales.get(i);
|
||||||
@@ -104,4 +114,36 @@ public class LocalePreference extends ListPreference {
|
|||||||
String displayName
|
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"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<resources>
|
<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_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_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>
|
<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_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_distance">Secondu à a distanza</string>
|
||||||
<string name="settings_chart_by_time">Secondu à a durata</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_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_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>
|
<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_recording_min_sampling_interval_title">Intervallu di durata di campiunariu</string>
|
||||||
<string name="settings_announcements_idle_title">Inattività</string>
|
<string name="settings_announcements_idle_title">Inattività</string>
|
||||||
<string name="voiceIdle">Diventà inattivu.</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>
|
</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
|
See the License for the specific language governing permissions and
|
||||||
limitations under the License.
|
limitations under the License.
|
||||||
--><resources>
|
--><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_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_url">Webová stránka projektu: <a href="%1$s">%1$s</a></string>
|
||||||
<string name="about_version_name">Název verze: %1$s</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* funguje zcela offline
|
||||||
\n* zobrazit trasy na mapě (viz níže)</string>
|
\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_title">Jak ukázat trasu na mapě\?</string>
|
||||||
<string name="help_track_map_content"> \u0020Použijte malou ikonu mapy.
|
<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>
|
||||||
\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_storage_pictures_title">Jak ukládá OpenTracks obrázky pořízené jako značky na cestě\?</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_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>
|
<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_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_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_title">OpenTracks nezaznamenává místa?</string>
|
||||||
<string name="help_gps_troubleshooting_content"> \u0020Co můžete udělat:
|
<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>
|
||||||
\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_support_title">Jak mohu podpořit OpenTracks\?</string>
|
<string name="help_support_title">Jak mohu podpořit OpenTracks\?</string>
|
||||||
<string name="help_support_content"> \u0020Můžete:
|
<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>
|
||||||
\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>
|
|
||||||
<!-- Activity Type -->
|
<!-- Activity Type -->
|
||||||
<string name="activity_type_airplane">letadlo</string>
|
<string name="activity_type_airplane">letadlo</string>
|
||||||
<string name="activity_type_atv">terénní auta</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="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="create_marker_error">Nepodařilo se vytvořit značku. Zkuste to znovu.</string>
|
||||||
<string name="empty">" "</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>
|
</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
|
See the License for the specific language governing permissions and
|
||||||
limitations under the License.
|
limitations under the License.
|
||||||
--><resources>
|
--><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_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_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>
|
<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="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="voice_announce_lap_power_key">voiceAnnounceLapPower</string>
|
||||||
<string name="power">Potencia</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>
|
</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="activity_type_kickscooter">trottinette</string>
|
||||||
<string name="voiceSpeed">{n, plural, =1 {1} autres {{n,number,#.0}} }</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="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>
|
</resources>
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<resources>
|
<resources>
|
||||||
<string name="about_libraries">Leabharlanna</string>
|
<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_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_name">Ainm an leagain: %1$s</string>
|
||||||
<string name="about_version_code">Cód an leagain: %1$d</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="settings_announcements_lap_power">Cumhacht glúine</string>
|
||||||
<string name="power_x_watt">Cumhacht {x, iolra, = 1 {1 vata} eile {# vata} }</string>
|
<string name="power_x_watt">Cumhacht {x, iolra, = 1 {1 vata} eile {# vata} }</string>
|
||||||
<string name="empty">" "</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>
|
</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
|
See the License for the specific language governing permissions and
|
||||||
limitations under the License.
|
limitations under the License.
|
||||||
--><resources>
|
--><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_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_url">Web do proxecto: <a href="%1$s">%1$s</a></string>
|
||||||
<string name="about_version_name">Nome da versión: %1$s</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* funciona sen precisar conexión á rede
|
||||||
\n* mostra as rutas nun mapa (ver abaixo)</string>
|
\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_title">Como mostrar a ruta no mapa\?</string>
|
||||||
<string name="help_track_map_content"> \u0020Usa a icona do mapa pequeno.
|
<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>
|
||||||
\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_storage_pictures_title">De que xeito garda OpenTracks as fotos tomadas como marcadores\?</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_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>
|
<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.
|
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>
|
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_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_title">OpenTracks non grava as localizacións\?</string>
|
||||||
<string name="help_gps_troubleshooting_content"> \u0020Podes intentar:
|
<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>
|
||||||
\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_support_title">Como podo axudar a OpenTracks\?</string>
|
<string name="help_support_title">Como podo axudar a OpenTracks\?</string>
|
||||||
<string name="help_support_content"> \u0020Podes:
|
<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>
|
||||||
\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="open_track_as_trackfileformat">Abrir como %1$s</string>
|
<string name="open_track_as_trackfileformat">Abrir como %1$s</string>
|
||||||
<!-- Activity Type -->
|
<!-- Activity Type -->
|
||||||
<string name="activity_type_airplane">avión</string>
|
<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_airplane">Avión de radiocontrol</string>
|
||||||
<string name="activity_type_rc_boat">Barco 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_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_road_biking">ciclismo de estrada</string>
|
||||||
<string name="activity_type_roller_skiing">esquí sobre rodas</string>
|
<string name="activity_type_roller_skiing">esquí sobre rodas</string>
|
||||||
<string name="activity_type_rowing">remo</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">Potencia</string>
|
||||||
<string name="power_x_watt">Potencia {x, plural, =1 {1 watio} other {# watios} }</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="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>
|
</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_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_name">Verzió neve: %1$s</string>
|
||||||
<string name="about_version_code">Verziókód: %1$d</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_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_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>
|
<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="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="description_default_speed_or_pace">Tevékenységtípus szerint</string>
|
||||||
<string name="export_without_photos">fotók nélkül</string>
|
<string name="export_without_photos">fotók nélkül</string>
|
||||||
<string name="help_gps_troubleshooting_content"> \u0020Mit tehet:
|
<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>
|
||||||
\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="export_progress_summary_new_msg">Új fájlok exportálva</string>
|
<string name="export_progress_summary_new_msg">Új fájlok exportálva</string>
|
||||||
<string name="generic_completed">Befejezve</string>
|
<string name="generic_completed">Befejezve</string>
|
||||||
<string name="sensor_state_heart_rate_avg">Átl. pulzusszám</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="menu_resume_track">Nyomvonal folytatása</string>
|
||||||
<string name="import_parser_error">Értelmezőhiba: %1$s</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_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:
|
<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>
|
||||||
\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>
|
|
||||||
<plurals name="generic_completed_with_errors">
|
<plurals name="generic_completed_with_errors">
|
||||||
<item quantity="one">Egy hibával befejezve</item>
|
<item quantity="one">Egy hibával befejezve</item>
|
||||||
<item quantity="other">%1$d 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="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_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_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.
|
<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>
|
||||||
\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="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_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="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
|
<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="voiceDistance">{n, plural, =1 {1 } other {{n,number,#.0}} }</string>
|
||||||
<string name="voice_announce_lap_power_key">voiceAnnounceLapPower</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="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>
|
</resources>
|
||||||
@@ -196,9 +196,7 @@ limitations under the License.
|
|||||||
<string name="settings_stats_units_metric">Metriske (km, m)</string>
|
<string name="settings_stats_units_metric">Metriske (km, m)</string>
|
||||||
<string name="settings_stats_units_title">Foretrukne enheter</string>
|
<string name="settings_stats_units_title">Foretrukne enheter</string>
|
||||||
<!-- Share Track -->
|
<!-- Share Track -->
|
||||||
<string name="share_track_share_file_body">Jeg tror du kan være interessert i dette sporet.
|
<string name="share_track_share_file_body">Jeg tror du kan være interessert i dette sporet.\n\n%1$s</string>
|
||||||
\n
|
|
||||||
\n%1$s</string>
|
|
||||||
<string name="share_track_subject">Jeg vil dele et spor med deg</string>
|
<string name="share_track_subject">Jeg vil dele et spor med deg</string>
|
||||||
<!-- Stats -->
|
<!-- Stats -->
|
||||||
<string name="stats_average_moving_pace">Gjen. forflytningstempo</string>
|
<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="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_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_title">OpenTracks har følgende funksjoner:</string>
|
||||||
<string name="help_feature_content">* Opprett GPS-spor
|
<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>
|
||||||
\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="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_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>
|
<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_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_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_title">OpenTracks tar ikke opp posisjoner\?</string>
|
||||||
<string name="help_gps_troubleshooting_content"> Hva du kan gjøre:
|
<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>
|
||||||
\n a) sjekk om GPS er slått på,
|
<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>
|
||||||
\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="description_altitude_loss">Total nedstigning: %1$d m (%2$d ft)</string>
|
||||||
<string name="stats_loss">Total nedstigning</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>
|
<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">%1$.1f knop</string>
|
||||||
<string name="value_float_knots_recommended">%1$.1f knop (anbefales)</string>
|
<string name="value_float_knots_recommended">%1$.1f knop (anbefales)</string>
|
||||||
<string name="voice_per_nautical_mile">per nautisk mil</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="track_delete_number_of_tracks">%1$d spor</string>
|
||||||
<string name="settings_public_api_package_title">Pakkenavn for offentlig API</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>
|
<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="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="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="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>
|
</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
|
See the License for the specific language governing permissions and
|
||||||
limitations under the License.
|
limitations under the License.
|
||||||
--><resources>
|
--><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_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_url">Project webpagina: <a href="%1$s">%1$s</a></string>
|
||||||
<string name="about_version_name">Versienaam: %1$s</string>
|
<string name="about_version_name">Versienaam: %1$s</string>
|
||||||
@@ -30,38 +30,22 @@ limitations under the License.
|
|||||||
\n* werkt volledig offline
|
\n* werkt volledig offline
|
||||||
\n* toon tracks op een kaart (zie hieronder)</string>
|
\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_title">Hoe wordt een spoor op een kaart weergegeven\?</string>
|
||||||
<string name="help_track_map_content"> \u0020Gebruik het kleine kaartpictogram.
|
<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>
|
||||||
\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_storage_pictures_title">Hoe slaat OpenTracks foto\'s op die als markeringen zijn genomen\?</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_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_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_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_title">Hoe legt OpenTracks gegevens vast?</string>
|
||||||
<string name="help_recording_content">
|
<string name="help_recording_content">
|
||||||
OpenTracks gebruikt de GPS-sensor van het apparaat om de locatie continu te registreren.
|
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>
|
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_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_title">OpenTracks neemt geen locaties op?</string>
|
||||||
<string name="help_gps_troubleshooting_content"> \u0020Wat u kunt doen:
|
<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>
|
||||||
\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_support_title">Hoe kan ik OpenTracks ondersteunen?</string>
|
<string name="help_support_title">Hoe kan ik OpenTracks ondersteunen?</string>
|
||||||
<string name="help_support_content"> \u0020U kunt:
|
<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>
|
||||||
\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>
|
|
||||||
<!-- Activity Type -->
|
<!-- Activity Type -->
|
||||||
<string name="activity_type_airplane">vliegtuig</string>
|
<string name="activity_type_airplane">vliegtuig</string>
|
||||||
<string name="activity_type_atv">quad</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="settings_announcements_lap_power">Lap power</string>
|
||||||
<string name="power_x_watt">Power {x, plural, =1 {1 watt} other {# watt} }</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="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>
|
</resources>
|
||||||
Reference in New Issue
Block a user