mirror of
https://codeberg.org/Freeyourgadget/Gadgetbridge
synced 2024-11-29 13:26:50 +01:00
Merge remote-tracking branch 'remotes/upstream/master'
This commit is contained in:
commit
369adb5d61
@ -1,5 +1,13 @@
|
||||
### Changelog
|
||||
|
||||
#### Version 0.32.4
|
||||
* Make voip call support optional (disabled by default)
|
||||
* Amazfit Bip: GPX export corrections
|
||||
* ZeTime: Fix setting alarms
|
||||
* ZeTime: Fix wrong activity timestamps
|
||||
* ZeTime: Set HR alarm limits when changed, not only on connect
|
||||
* ZeTime: Sync preferences from the watch to Gadgetbridge settings
|
||||
|
||||
#### Version 0.32.3
|
||||
* Fix a crash in charts due to a broken German translation
|
||||
* Fix a crash when transliterating emoji
|
||||
|
@ -25,8 +25,8 @@ android {
|
||||
targetSdkVersion 27
|
||||
|
||||
// Note: always bump BOTH versionCode and versionName!
|
||||
versionName "0.32.3"
|
||||
versionCode 146
|
||||
versionName "0.32.4"
|
||||
versionCode 147
|
||||
vectorDrawables.useSupportLibrary = true
|
||||
}
|
||||
buildTypes {
|
||||
|
@ -40,9 +40,8 @@ import nodomain.freeyourgadget.gadgetbridge.util.DateTimeUtils;
|
||||
import nodomain.freeyourgadget.gadgetbridge.util.FileUtils;
|
||||
|
||||
public class GPXExporter implements ActivityTrackExporter {
|
||||
private static final String NS_DEFAULT = "";
|
||||
private static final String NS_DEFAULT_URI = "http://www.topografix.com/GPX/1/1";
|
||||
private static final String NS_DEFAULT_PREFIX = "";
|
||||
private static final String NS_GPX_URI = "http://www.topografix.com/GPX/1/1";
|
||||
private static final String NS_GPX_PREFIX = "";
|
||||
private static final String NS_TRACKPOINT_EXTENSION = "gpxtpx";
|
||||
private static final String NS_TRACKPOINT_EXTENSION_URI = "http://www.garmin.com/xmlschemas/TrackPointExtension/v1";
|
||||
private static final String NS_XSI_URI = "http://www.w3.org/2001/XMLSchema-instance";
|
||||
@ -66,33 +65,33 @@ public class GPXExporter implements ActivityTrackExporter {
|
||||
ser.startDocument(encoding, Boolean.TRUE);
|
||||
ser.setPrefix("xsi", NS_XSI_URI);
|
||||
ser.setPrefix(NS_TRACKPOINT_EXTENSION, NS_TRACKPOINT_EXTENSION_URI);
|
||||
ser.setPrefix(NS_DEFAULT_PREFIX, NS_DEFAULT);
|
||||
ser.setPrefix(NS_GPX_PREFIX, NS_GPX_URI);
|
||||
|
||||
ser.startTag(NS_DEFAULT, "gpx");
|
||||
ser.attribute(NS_DEFAULT, "version", "1.1");
|
||||
ser.attribute(NS_DEFAULT, "creator", getCreator());
|
||||
ser.attribute(NS_XSI_URI, "schemaLocation", NS_DEFAULT_URI + " " + "http://www.topografix.com/GPX/1/1/gpx.xsd");
|
||||
ser.startTag(NS_GPX_URI, "gpx");
|
||||
ser.attribute(null,"version", "1.1");
|
||||
ser.attribute(null, "creator", getCreator());
|
||||
ser.attribute(NS_XSI_URI, "schemaLocation", NS_GPX_URI + " " + "http://www.topografix.com/GPX/1/1/gpx.xsd");
|
||||
|
||||
exportMetadata(ser, track);
|
||||
exportTrack(ser, track);
|
||||
|
||||
ser.endTag(NS_DEFAULT, "gpx");
|
||||
ser.endTag(NS_GPX_URI, "gpx");
|
||||
ser.endDocument();
|
||||
ser.flush();
|
||||
}
|
||||
}
|
||||
|
||||
private void exportMetadata(XmlSerializer ser, ActivityTrack track) throws IOException {
|
||||
ser.startTag(NS_DEFAULT, "metadata");
|
||||
ser.startTag(NS_DEFAULT, "name").text(track.getName()).endTag(NS_DEFAULT, "name");
|
||||
ser.startTag(NS_GPX_URI, "metadata");
|
||||
ser.startTag(NS_GPX_URI, "name").text(track.getName()).endTag(NS_GPX_URI, "name");
|
||||
|
||||
ser.startTag(NS_DEFAULT, "author");
|
||||
ser.startTag(NS_DEFAULT, "name").text(track.getUser().getName()).endTag(NS_DEFAULT, "name");
|
||||
ser.endTag(NS_DEFAULT, "author");
|
||||
ser.startTag(NS_GPX_URI, "author");
|
||||
ser.startTag(NS_GPX_URI, "name").text(track.getUser().getName()).endTag(NS_GPX_URI, "name");
|
||||
ser.endTag(NS_GPX_URI, "author");
|
||||
|
||||
ser.startTag(NS_DEFAULT, "time").text(formatTime(new Date())).endTag(NS_DEFAULT, "time");
|
||||
ser.startTag(NS_GPX_URI, "time").text(formatTime(new Date())).endTag(NS_GPX_URI, "time");
|
||||
|
||||
ser.endTag(NS_DEFAULT, "metadata");
|
||||
ser.endTag(NS_GPX_URI, "metadata");
|
||||
}
|
||||
|
||||
private String formatTime(Date date) {
|
||||
@ -100,8 +99,8 @@ public class GPXExporter implements ActivityTrackExporter {
|
||||
}
|
||||
|
||||
private void exportTrack(XmlSerializer ser, ActivityTrack track) throws IOException, GPXTrackEmptyException {
|
||||
ser.startTag(NS_DEFAULT, "trk");
|
||||
ser.startTag(NS_DEFAULT, "trkseg");
|
||||
ser.startTag(NS_GPX_URI, "trk");
|
||||
ser.startTag(NS_GPX_URI, "trkseg");
|
||||
|
||||
List<ActivityPoint> trackPoints = track.getTrackPoints();
|
||||
String source = getSource(track);
|
||||
@ -114,8 +113,8 @@ public class GPXExporter implements ActivityTrackExporter {
|
||||
throw new GPXTrackEmptyException();
|
||||
}
|
||||
|
||||
ser.endTag(NS_DEFAULT, "trkseg");
|
||||
ser.endTag(NS_DEFAULT, "trk");
|
||||
ser.endTag(NS_GPX_URI, "trkseg");
|
||||
ser.endTag(NS_GPX_URI, "trk");
|
||||
}
|
||||
|
||||
private String getSource(ActivityTrack track) {
|
||||
@ -127,20 +126,21 @@ public class GPXExporter implements ActivityTrackExporter {
|
||||
if (location == null) {
|
||||
return false; // skip invalid points, that just contain hr data, for example
|
||||
}
|
||||
ser.startTag(NS_DEFAULT, "trkpt");
|
||||
ser.attribute(NS_DEFAULT, "lon", formatLocation(location.getLongitude()));
|
||||
ser.attribute(NS_DEFAULT, "lat", formatLocation(location.getLatitude()));
|
||||
ser.startTag(NS_DEFAULT, "ele").text(formatLocation(location.getAltitude())).endTag(NS_DEFAULT, "ele");
|
||||
ser.startTag(NS_DEFAULT, "time").text(DateTimeUtils.formatIso8601UTC(point.getTime())).endTag(NS_DEFAULT, "time");
|
||||
ser.startTag(NS_GPX_URI, "trkpt");
|
||||
// lon and lat attributes do not have an explicit namespace
|
||||
ser.attribute(null, "lon", formatLocation(location.getLongitude()));
|
||||
ser.attribute(null, "lat", formatLocation(location.getLatitude()));
|
||||
ser.startTag(NS_GPX_URI, "ele").text(formatLocation(location.getAltitude())).endTag(NS_GPX_URI, "ele");
|
||||
ser.startTag(NS_GPX_URI, "time").text(DateTimeUtils.formatIso8601UTC(point.getTime())).endTag(NS_GPX_URI, "time");
|
||||
String description = point.getDescription();
|
||||
if (description != null) {
|
||||
ser.startTag(NS_DEFAULT, "desc").text(description).endTag(NS_DEFAULT, "desc");
|
||||
ser.startTag(NS_GPX_URI, "desc").text(description).endTag(NS_GPX_URI, "desc");
|
||||
}
|
||||
//ser.startTag(NS_DEFAULT, "src").text(source).endTag(NS_DEFAULT, "src");
|
||||
//ser.startTag(NS_GPX_URI, "src").text(source).endTag(NS_GPX_URI, "src");
|
||||
|
||||
exportTrackpointExtensions(ser, point, trackPoints);
|
||||
|
||||
ser.endTag(NS_DEFAULT, "trkpt");
|
||||
ser.endTag(NS_GPX_URI, "trkpt");
|
||||
|
||||
return true;
|
||||
}
|
||||
@ -167,12 +167,12 @@ public class GPXExporter implements ActivityTrackExporter {
|
||||
}
|
||||
}
|
||||
|
||||
ser.startTag(NS_DEFAULT, "extensions");
|
||||
ser.startTag(NS_GPX_URI, "extensions");
|
||||
ser.setPrefix(NS_TRACKPOINT_EXTENSION, NS_TRACKPOINT_EXTENSION_URI);
|
||||
ser.startTag(NS_TRACKPOINT_EXTENSION_URI, "TrackPointExtension");
|
||||
ser.startTag(NS_TRACKPOINT_EXTENSION_URI, "hr").text(String.valueOf(hr)).endTag(NS_TRACKPOINT_EXTENSION_URI, "hr");
|
||||
ser.endTag(NS_TRACKPOINT_EXTENSION_URI, "TrackPointExtension");
|
||||
ser.endTag(NS_DEFAULT, "extensions");
|
||||
ser.endTag(NS_GPX_URI, "extensions");
|
||||
}
|
||||
|
||||
private @Nullable ActivityPoint findClosestSensibleActivityPoint(Date time, List<ActivityPoint> trackPoints) {
|
||||
|
@ -240,7 +240,9 @@ public class NotificationListener extends NotificationListenerService {
|
||||
|
||||
@Override
|
||||
public void onNotificationPosted(StatusBarNotification sbn) {
|
||||
if ("call".equals(sbn.getNotification().category)) {
|
||||
Prefs prefs = GBApplication.getPrefs();
|
||||
|
||||
if ("call".equals(sbn.getNotification().category) && prefs.getBoolean("notification_support_voip_calls", false)) {
|
||||
handleCallNotification(sbn);
|
||||
return;
|
||||
}
|
||||
@ -249,10 +251,6 @@ public class NotificationListener extends NotificationListenerService {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
|
||||
Prefs prefs = GBApplication.getPrefs();
|
||||
|
||||
switch (GBApplication.getGrantedInterruptionFilter()) {
|
||||
case NotificationManager.INTERRUPTION_FILTER_ALL:
|
||||
break;
|
||||
|
@ -106,6 +106,7 @@ public class AmazfitBipFirmwareInfo extends HuamiFirmwareInfo {
|
||||
crcToVersion.put(26444, "1.1.5.02");
|
||||
crcToVersion.put(60002, "1.1.5.04");
|
||||
crcToVersion.put(5229, "1.1.5.12");
|
||||
crcToVersion.put(32576, "1.1.5.16");
|
||||
|
||||
// resources
|
||||
crcToVersion.put(12586, "0.0.8.74");
|
||||
@ -129,7 +130,7 @@ public class AmazfitBipFirmwareInfo extends HuamiFirmwareInfo {
|
||||
crcToVersion.put(23073, "0.1.1.45");
|
||||
crcToVersion.put(59245, "1.0.2.00");
|
||||
crcToVersion.put(20591, "1.1.2.05");
|
||||
crcToVersion.put(5341, "1.1.5.02-12");
|
||||
crcToVersion.put(5341, "1.1.5.02-16");
|
||||
|
||||
// gps
|
||||
crcToVersion.put(61520, "9367,8f79a91,0,0,");
|
||||
|
291
app/src/main/res/values-bg/strings.xml
Normal file
291
app/src/main/res/values-bg/strings.xml
Normal file
@ -0,0 +1,291 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="app_name">Gadgetbridge</string>
|
||||
<string name="title_activity_controlcenter">Gadgetbridge</string>
|
||||
<string name="action_settings">Настройки</string>
|
||||
<string name="action_debug">Дебъгване</string>
|
||||
<string name="action_quit">Изход</string>
|
||||
<string name="action_donate">Дарение</string>
|
||||
<string name="controlcenter_fetch_activity_data">Синхронизиране</string>
|
||||
<string name="controlcenter_find_device">Намери изгубеното устройство</string>
|
||||
<string name="controlcenter_take_screenshot">Снимка на екрана</string>
|
||||
<string name="controlcenter_change_led_color">Промяна на LED цвета</string>
|
||||
<string name="controlcenter_change_fm_frequency">Промяна на FM честота</string>
|
||||
<string name="controlcenter_connect">Свързване…</string>
|
||||
<string name="controlcenter_disconnect">Прекъсване на връзката</string>
|
||||
<string name="controlcenter_delete_device">Премахване на устройството</string>
|
||||
<string name="controlcenter_delete_device_name">Изтриване %1$s</string>
|
||||
<string name="controlcenter_delete_device_dialogmessage">Изтриване на устройството!</string>
|
||||
<string name="controlcenter_navigation_drawer_open">Отвори менюто за навигация</string>
|
||||
<string name="controlcenter_navigation_drawer_close">Затвори менюто за навигация</string>
|
||||
<string name="controlcenter_snackbar_need_longpress">Натиснете продължително върху картата за изключване</string>
|
||||
<string name="controlcenter_snackbar_disconnecting">Прекъсване на връзката</string>
|
||||
<string name="controlcenter_snackbar_connecting">Свързване…</string>
|
||||
<string name="controlcenter_snackbar_requested_screenshot">Снимка на екрана</string>
|
||||
<string name="controlcenter_calibrate_device">Калибриране на устройството</string>
|
||||
<string name="title_activity_debug">Дебъгване</string>
|
||||
<string name="debugactivity_really_factoryreset_title">Връщане към фабричните настройки\?</string>
|
||||
<string name="debugactivity_really_factoryreset">При връщане към фабричните настройки ще се изтрият всички данни от свързаното устройство (ако се поддържа). При Xiaomi/Huami устройствата ще се промени Bluetooth MAC адреса и те ще се появят като нови устройства в Gadgetbrige.</string>
|
||||
<string name="title_activity_appmanager">Управление на приложенията</string>
|
||||
<string name="appmanager_cached_watchapps_watchfaces">Приложения в кеша</string>
|
||||
<string name="appmanager_installed_watchapps">Инсталирани приложения</string>
|
||||
<string name="appmanager_installed_watchfaces">Инсталирани циферблати</string>
|
||||
<string name="appmananger_app_delete">Изтриване</string>
|
||||
<string name="appmananger_app_delete_cache">Изтриване и премахване от кеша</string>
|
||||
<string name="appmananger_app_reinstall">Преинсталиране</string>
|
||||
<string name="appmanager_app_openinstore">Търсене в Pebble appstore</string>
|
||||
<string name="appmanager_health_activate">Активиране</string>
|
||||
<string name="appmanager_health_deactivate">Деактивиране</string>
|
||||
<string name="appmanager_hrm_activate">Активиране на HRM</string>
|
||||
<string name="appmanager_hrm_deactivate">Деактивиране на HRM</string>
|
||||
<string name="appmanager_weather_activate">Активиране на системното приложение за прогноза на времето</string>
|
||||
<string name="appmanager_weather_deactivate">Дективиране на системното приложение за прогноза на времето</string>
|
||||
<string name="appmanager_weather_install_provider">Инсталиране на приложението за прогноза на времето</string>
|
||||
<string name="app_configure">Конфигуриране</string>
|
||||
<string name="app_move_to_top">Преместване горе</string>
|
||||
<string name="title_activity_appblacklist">Блокиране на известия</string>
|
||||
<string name="blacklist_all_for_notifications">Блокиране на всички известия</string>
|
||||
<string name="whitelist_all_for_notifications">Разрешаване на всички известия</string>
|
||||
<string name="title_activity_calblacklist">Блокирани Календари</string>
|
||||
<string name="title_activity_fw_app_insaller">FW/App инсталатор</string>
|
||||
<string name="fw_upgrade_notice">Ще се инсталира %s firmware, вместо текущия на Mi Band.</string>
|
||||
<string name="fw_upgrade_notice_amazfitbip">Ще се инсталира %s firmware на вашия Amazfit Bip.
|
||||
\n
|
||||
\nПърво трябва да се инсталира .fw file, след това .res file и накрая .gps file. Часовникът ще се рестартира след инсталирането на .fw file.
|
||||
\n
|
||||
\nНе е необходимо да се инсталират .res и .gps файловете ако те са същите като инсталираните по-рано.
|
||||
\n
|
||||
\nПРОДЪЛЖАВАТЕ НА СВОЯ ОТГОВОРНОСТ!</string>
|
||||
<string name="fw_upgrade_notice_amazfitcor">Ще се инсталира %s firmware на вашия Amazfit Cor.
|
||||
\n
|
||||
\nПърво трябва да се инсталира .fw file и след това .res file. Часовникът ще се рестартира след инсталирането на .fw file.
|
||||
\n
|
||||
\nНе е необходимо да се инсталира .res файл, ако е същия като инсталирания по-рано.
|
||||
\n
|
||||
\nПРОДЪЛЖАВАТЕ НА СВОЯ ОТГОВОРНОСТ!</string>
|
||||
<string name="fw_upgrade_notice_miband3">Ще се инсталира %s firmware на вашия Mi Band 3.
|
||||
\n
|
||||
\nПърво трябва да се инсталира .fw file и след това .res file. Часовникът ще се рестартира след инсталирането на .fw file.
|
||||
\n
|
||||
\nНе е необходимо да се инсталира .res файл, ако е същия като инсталирания по-рано.
|
||||
\n
|
||||
\nНЕ Е ТЕСТВАНО, МОЖЕ ДА СЧУПИ УСТРОЙСТВОТО, ПРОДЪЛЖАВАТЕ НА СВОЯ ОТГОВОРНОСТ!</string>
|
||||
<string name="fw_multi_upgrade_notice">Ще се инсталира %1$s и %2$s firmware, вместо текущия на вашия Mi Band.</string>
|
||||
<string name="miband_firmware_known">Този firmware е тестван и е съвместим с Gadgetbridge.</string>
|
||||
<string name="miband_firmware_unknown_warning">Този firmware не е тестван и може де не е съвместим с Gadgetbridge.
|
||||
\n
|
||||
\nНЕ СЕ ПРЕПОРЪЧВА да го инсталирате на вашия Mi Band!</string>
|
||||
<string name="miband_firmware_suggest_whitelist">Ако все пак желаете да продължите и по-късно установите, че всичко е наред, моля уведомете Gadgetbridge програмистите да добавят в whitelist %s firmware версията.</string>
|
||||
<string name="title_activity_settings">Настройки</string>
|
||||
<string name="pref_header_general">Общи настройки</string>
|
||||
<string name="pref_title_general_autoconnectonbluetooth">Свързване с Gadgetbridge устройството при включване на Bluetoooth</string>
|
||||
<string name="pref_title_general_autostartonboot">Автоматично стартиране</string>
|
||||
<string name="pref_title_general_autoreconnect">Автоматичен reconnect</string>
|
||||
<string name="pref_title_audio_player">Предпочитан музикален player</string>
|
||||
<string name="pref_default">По подразбиране</string>
|
||||
<string name="pref_title_charts_swipe">Включване на плъзгане в ляво/дясно в графиката за активности</string>
|
||||
<string name="pref_header_datetime">Дата и час</string>
|
||||
<string name="pref_title_datetime_syctimeonconnect">Синхронизация на час</string>
|
||||
<string name="pref_summary_datetime_syctimeonconnect">Синхронизиране на часа при вкючване към устройството, също и при смяна на часа или часовата зона на Андроид устройството</string>
|
||||
<string name="pref_title_theme">Тема</string>
|
||||
<string name="pref_theme_light">Светла</string>
|
||||
<string name="pref_theme_dark">Тъмна</string>
|
||||
<string name="pref_title_language">Език</string>
|
||||
<string name="pref_title_minimize_priority">Скрий Gadgetbridge известието</string>
|
||||
<string name="pref_summary_minimize_priority_off">Позакване на иконата в статус бара и известието при заключен екран</string>
|
||||
<string name="pref_summary_minimize_priority_on">Скриване на иконата в статус бара и известието при заключен екран</string>
|
||||
<string name="pref_header_notifications">Известия</string>
|
||||
<string name="pref_title_notifications_repetitions">Повторения</string>
|
||||
<string name="pref_title_notifications_call">Телефонни обаждания</string>
|
||||
<string name="pref_title_notifications_sms">SMS</string>
|
||||
<string name="pref_title_notifications_timeout">Минимален интервал между известията</string>
|
||||
<string name="pref_title_notifications_pebblemsg">Pebble съобщения</string>
|
||||
<string name="pref_summary_notifications_pebblemsg">Поддръжка на приложения, които изпращат известия до Pebble чрез PebbleKit.</string>
|
||||
<string name="pref_title_notifications_generic">Обща поддръжка на известия</string>
|
||||
<string name="pref_title_whenscreenon">...също и при включен екран</string>
|
||||
<string name="pref_title_notification_filter">Не безпокойте</string>
|
||||
<string name="pref_summary_notification_filter">Нежеланите известия се спират в този режим</string>
|
||||
<string name="pref_title_transliteration">Транслитерация</string>
|
||||
<string name="pref_summary_transliteration">Активирайте, ако устройството не поддържа шрифта на вашия език</string>
|
||||
<string name="pref_title_rtl">Отдясно наляво</string>
|
||||
<string name="pref_summary_rtl">Активирайте, ако устройството не може да показва езици отдясно наляво</string>
|
||||
<string name="pref_rtl_max_line_length">Максимална дъжина на линията отдясно наляво</string>
|
||||
<string name="pref_rtl_max_line_length_summary">Удължаване/скъсяване редовете на текст отдясно наляво</string>
|
||||
<string name="always">Винаги</string>
|
||||
<string name="when_screen_off">Когато екранът е изключен</string>
|
||||
<string name="never">Никога</string>
|
||||
<string name="pref_header_privacy">Поверителност</string>
|
||||
<string name="pref_title_call_privacy_mode">Поверителност при обаждания</string>
|
||||
<string name="pref_call_privacy_mode_off">Показване на името и номера</string>
|
||||
<string name="pref_call_privacy_mode_name">Скриване на името, но показване на номера</string>
|
||||
<string name="pref_call_privacy_mode_number">Скриване на номера, но показване на името</string>
|
||||
<string name="pref_call_privacy_mode_complete">Скриване на името и номера</string>
|
||||
<string name="pref_title_weather">Прогноза за времето</string>
|
||||
<string name="pref_title_weather_location">Метеорологично местоположение (CM/LOS)</string>
|
||||
<string name="pref_blacklist">Блокирани приложения</string>
|
||||
<string name="pref_blacklist_calendars">Блокирани Календари</string>
|
||||
<string name="pref_header_cannned_messages">Готови съобщения</string>
|
||||
<string name="pref_title_canned_replies">Отговори</string>
|
||||
<string name="pref_title_canned_reply_suffix">Обща наставка</string>
|
||||
<string name="pref_title_canned_messages_dismisscall">Отхвърляне на обаждане</string>
|
||||
<string name="pref_title_canned_messages_set">Обнови на Pebble</string>
|
||||
<string name="pref_header_development">Настройки за разработчици</string>
|
||||
<string name="pref_title_development_miaddr">Mi Band адрес</string>
|
||||
<string name="pref_title_pebble_settings">Pebble настройки</string>
|
||||
<string name="pref_header_activitytrackers">Активити trackers</string>
|
||||
<string name="pref_title_pebble_activitytracker">Предпочитан активити tracker</string>
|
||||
<string name="pref_title_pebble_sync_health">Синхронизиране с Pebble Health</string>
|
||||
<string name="pref_title_pebble_sync_misfit">Синхронизиране с Misfit</string>
|
||||
<string name="pref_title_pebble_sync_morpheuz">Синхронизиране с Morpheuz</string>
|
||||
<string name="pref_title_enable_outgoing_call">Поддръжка на изходящи обаждания</string>
|
||||
<string name="pref_summary_enable_outgoing_call">Ако не е активирано, Pebble 2/LE няма да вибрират при изходящи обаждания</string>
|
||||
<string name="pref_title_enable_pebblekit">Разрешен достъп на външни андроид приложения</string>
|
||||
<string name="pref_summary_enable_pebblekit">Активиране на експериментална поддръжка на андроид приложения, използващи PebbleKit</string>
|
||||
<string name="pref_header_pebble_timeline">Pebble хронология /timeline/</string>
|
||||
<string name="pref_title_sunrise_sunset">Изгрев и залез</string>
|
||||
<string name="pref_summary_sunrise_sunset">Показване на изгрев/залез часовете в хронологията на Pebble timeline, според местоположението</string>
|
||||
<string name="pref_title_enable_calendar_sync">Синхронизиране на календара</string>
|
||||
<string name="pref_summary_enable_calendar_sync">Показване на събития от календара в хронологията</string>
|
||||
<string name="pref_title_autoremove_notifications">Автоматично премахване на отхвърлените известия</string>
|
||||
<string name="pref_summary_autoremove_notifications">Известията автоматично се премахват от Pebble, ако са отхвърлени от андроид устройството</string>
|
||||
<string name="pref_title_pebble_privacy_mode">Режим на поверителност</string>
|
||||
<string name="pref_pebble_privacy_mode_off">Нормално известяване</string>
|
||||
<string name="pref_pebble_privacy_mode_content">Пренасяне на известието, когато текста излиза извън екрана</string>
|
||||
<string name="pref_pebble_privacy_mode_complete">Показване само иконата на известието</string>
|
||||
<string name="pref_header_location">Местоположение</string>
|
||||
<string name="pref_title_location_aquire">Получаване на местоположение</string>
|
||||
<string name="pref_title_location_latitude">Ширина</string>
|
||||
<string name="pref_title_location_longitude">Дължина</string>
|
||||
<string name="pref_title_location_keep_uptodate">Обновяване на местоположението</string>
|
||||
<string name="pref_summary_location_keep_uptodate">Получаване на текущото местоположение в реално време, при неуспех да се използва съхраненото местоположение</string>
|
||||
<string name="toast_enable_networklocationprovider">Моля, активирайте местоположението според мрежата</string>
|
||||
<string name="toast_aqurired_networklocation">Местоположението е определено</string>
|
||||
<string name="pref_title_pebble_forceprotocol">Задължителен протокол за известия</string>
|
||||
<string name="pref_summary_pebble_forceprotocol">Тази опция принуждава да се използва последният протокол за известия според firmware версията. АКТИВИРАЙТЕ, АКО ЗНАЕТЕ КАКВО ПРАВИТЕ!</string>
|
||||
<string name="pref_title_pebble_forceuntested">Активиране на функционалности, които не са тествани</string>
|
||||
<string name="pref_summary_pebble_forceuntested">Активиране на функционалности, които не са тествани. ЗНАЕТЕ ЛИ КАКВО ПРАВИТЕ\?!</string>
|
||||
<string name="pref_title_pebble_forcele">Винаги да се предпочита BLE /Bluetooth Low Energy/</string>
|
||||
<string name="pref_summary_pebble_forcele">Използване на експерименталната Pebble LE поддръжка, вместо класическия BT. Това изисква първо сдвояване с класическия BT, а след това с Pebble LE</string>
|
||||
<string name="pref_title_pebble_mtu_limit">Pebble 2/LE GATT MTU ограничение</string>
|
||||
<string name="pref_summary_pebble_mtu_limit">Ако вашият Pebble 2/Pebble LE не работи според очакванията, опитайте тези настройки за ограничаване на MTU (валиден диапазон 20–512)</string>
|
||||
<string name="pref_title_pebble_enable_applogs">Активирай watch app logging</string>
|
||||
<string name="pref_title_pebble_gatt_clientonly">Само GATT клиент</string>
|
||||
<string name="pref_summary_pebble_gatt_clientonly">Само за Pebble 2, експериментално, пробвайте ако имате проблеми с връзката</string>
|
||||
<string name="pref_summary_pebble_enable_applogs">Логовете от приложенията на часовника ще се записват от Gadgetbridge (изисква се повторно свързване)</string>
|
||||
<string name="pref_title_pebble_always_ack_pebblekit">Преждевременно ACK PebbleKit</string>
|
||||
<string name="pref_summary_pebble_always_ack_pebblekit">Съобщенията от външни приложения да се потвърждават веднага и незабавно</string>
|
||||
<string name="pref_title_pebble_enable_bgjs">Включване на JS във фонов режим</string>
|
||||
<string name="pref_summary_pebble_enable_bgjs">Когато е активирано, циферблатите ще показват времето, информация за батерията и др.</string>
|
||||
<string name="pref_title_pebble_reconnect_attempts">Опити за повторно свързване</string>
|
||||
<string name="pref_title_unit_system">Единици</string>
|
||||
<string name="pref_title_timeformat">Часови формат</string>
|
||||
<string name="pref_title_screentime">Продължителност на включен екран</string>
|
||||
<string name="prefs_title_all_day_heart_rate">Измерване на сърдечния ритъм през целия ден</string>
|
||||
<string name="preferences_hplus_settings">HPlus/Makibes настройки</string>
|
||||
<string name="preferences_id115_settings">ID115 настройки</string>
|
||||
<string name="prefs_screen_orientation">Ориентация на екрана</string>
|
||||
<string name="pref_header_auto_export">Автоматичен експорт</string>
|
||||
<string name="pref_title_auto_export_enabled">Включване на автоматичен експорт</string>
|
||||
<string name="pref_title_auto_export_location">Път за съхранение на експорта</string>
|
||||
<string name="pref_title_auto_export_interval">Интервал</string>
|
||||
<string name="pref_summary_auto_export_interval">Експорт на всеки %d час</string>
|
||||
<string name="pref_auto_fetch">Автоматично извличане на данните за активност</string>
|
||||
<string name="not_connected">Няма връзка</string>
|
||||
<string name="pref_auto_fetch_limit_fetches_summary">Синхронизиране на всеки %d минути</string>
|
||||
<string name="connecting">Свързване</string>
|
||||
<string name="connected">Свързан</string>
|
||||
<string name="unknown_state">Неизвестно състояние</string>
|
||||
<string name="_unknown_">(неизвестно)</string>
|
||||
<string name="test">Тест</string>
|
||||
<string name="test_notification">Тестово известие</string>
|
||||
<string name="this_is_a_test_notification_from_gadgetbridge">Това е тестово известие от Gadgetbridge</string>
|
||||
<string name="bluetooth_is_not_supported_">Bluetooth не се поддържа.</string>
|
||||
<string name="bluetooth_is_disabled_">Bluetooth е забранен.</string>
|
||||
<string name="tap_connected_device_for_app_mananger">Tap connected device for App manager</string>
|
||||
<string name="tap_connected_device_for_activity">Tap connected device for activity</string>
|
||||
<string name="tap_connected_device_for_vibration">Tap connected device for vibration</string>
|
||||
<string name="tap_a_device_to_connect">Докоснете устройство за свързване</string>
|
||||
<string name="cannot_connect_bt_address_invalid_">Не може да се установи връзка. Грешен Bluetooth адрес\?</string>
|
||||
<string name="gadgetbridge_running">Gadgetbridge работи</string>
|
||||
<string name="installing_binary_d_d">Installing binary %1$d/%2$d</string>
|
||||
<string name="installation_failed_">Инсталацията пропадна</string>
|
||||
<string name="installation_successful">Инсталирано</string>
|
||||
<string name="firmware_install_warning">ОПИТВАТЕ СЕ ДА ИНСТАЛИРАТЕ FIRMWARE, ПРОДЪЛЖЕТЕ НА СОБСТВЕН РИСК.
|
||||
\n
|
||||
\n
|
||||
\n Този firmware е за HW Revision: %s</string>
|
||||
<string name="app_install_info">Ще се инсталира следното приложение:
|
||||
\n
|
||||
\n
|
||||
\n%1$s Версия %2$s от %3$s
|
||||
\n</string>
|
||||
<string name="n_a">N/A</string>
|
||||
<string name="initialized">инициализирано</string>
|
||||
<string name="appversion_by_creator">%1$s от %2$s</string>
|
||||
<string name="title_activity_discovery">Търсене на устройство</string>
|
||||
<string name="discovery_stop_scanning">Спри търсенето</string>
|
||||
<string name="discovery_start_scanning">Стартирай търсене</string>
|
||||
<string name="action_discover">Свързване с ново устройство</string>
|
||||
<string name="device_with_rssi">%1$s (%2$s)</string>
|
||||
<string name="title_activity_android_pairing">Сдвояване на устройството</string>
|
||||
<string name="android_pairing_hint">Използване на Андроид Bluetooth диалога за сдвояване на устройството.</string>
|
||||
<string name="title_activity_mi_band_pairing">Сдвоете вашия Mi Band</string>
|
||||
<string name="pairing">Сдвояване с/със %s…</string>
|
||||
<string name="pairing_creating_bond_with">Създаване на връзка с/със %1$s (%2$s)</string>
|
||||
<string name="pairing_unable_to_pair_with">Не може да се сдвои с/със %1$s (%2$s)</string>
|
||||
<string name="pairing_in_progress">Установява се връзка: %1$s (%2$s)</string>
|
||||
<string name="pairing_already_bonded">Установена е връзка с/със %1$s (%2$s), свързване…</string>
|
||||
<string name="message_cannot_pair_no_mac">Липсва MAC адрес, не може да се свърже</string>
|
||||
<string name="preferences_category_device_specific_settings">Специфични настройки за устройствата</string>
|
||||
<string name="preferences_miband_settings">Mi Band / Amazfit настройки</string>
|
||||
<string name="preferences_miband2_settings">Mi Band 2 настройки</string>
|
||||
<string name="preferences_miband3_settings">Mi Band 3 настройки</string>
|
||||
<string name="preferences_amazfitbip_settings">Amazfit Bip настройки</string>
|
||||
<string name="preferences_amazfitcor_settings">Amazfit Cor настройки</string>s
|
||||
<string name="male">Мъж</string>
|
||||
<string name="female">Жена</string>
|
||||
<string name="other">Друг</string>
|
||||
<string name="left">Лява</string>
|
||||
<string name="right">Дясна</string>
|
||||
<string name="horizontal">Хоризонтално</string>
|
||||
<string name="vertical">Вертикално</string>
|
||||
<string name="miband_pairing_using_dummy_userdata">Не са предоставени реални потребителски данни, ще се използват случайни данни.</string>
|
||||
<string name="miband_pairing_tap_hint">Когато вашият Mi Band вибрира и мига, докоснете го няколко пъти.</string>
|
||||
<string name="appinstaller_install">Инсталирай</string>
|
||||
<string name="discovery_connected_devices_hint">Направете устройството си откриваемо. В момента свързаните устройства вероятно няма да бъдат открити. Активирайте местоположението (e.g. GPS) на Android 6+. Изключете Disable Privacy Guard for Gadgetbridge, защото той може да блокира или рестартира телефона. Ако до няколко минути не бъде открито устройство, рестартирайте телефона и опитайте отново.</string>
|
||||
<string name="discovery_note">Бележка:</string>
|
||||
<string name="candidate_item_device_image">Изображение на устройството</string>
|
||||
<string name="miband_prefs_alias">Име/Псевдоним</string>
|
||||
<string name="pref_header_vibration_count">Брой на вибрациите</string>
|
||||
<string name="watch9_pairing_tap_hint">Когато часовникът вибрира, разклатете устройството или натиснете бутона</string>
|
||||
<string name="title_activity_sleepmonitor">Наблюдение/анализ на съня</string>
|
||||
<string name="pref_write_logfiles">Съхраняване на log файлове</string>
|
||||
<string name="initializing">Инициализиране</string>
|
||||
<string name="busy_task_fetch_activity_data">Извличане на данните за активност</string>
|
||||
<string name="sleep_activity_date_range">От %1$s До %2$s</string>
|
||||
<string name="miband_prefs_wearside">На коя ръка - лява или дясна\?</string>
|
||||
<string name="pref_screen_vibration_profile">Профил на вибрациите</string>
|
||||
<string name="vibration_profile_staccato">Стакато</string>
|
||||
<string name="vibration_profile_short">Кратко</string>
|
||||
<string name="vibration_profile_medium">Средно</string>
|
||||
<string name="vibration_profile_long">Дълго</string>
|
||||
<string name="vibration_profile_waterdrop">Водна капка</string>
|
||||
<string name="vibration_profile_ring">Звънец</string>
|
||||
<string name="vibration_profile_alarm_clock">Будилник</string>
|
||||
<string name="miband_prefs_vibration">Вибрация</string>
|
||||
<string name="vibration_try">Проба</string>
|
||||
<string name="pref_screen_notification_profile_sms">SMS известие</string>
|
||||
<string name="pref_header_vibration_settings">Настройки на вибрацията</string>
|
||||
<string name="pref_screen_notification_profile_generic">Обща поддръжка на известия</string>
|
||||
<string name="pref_screen_notification_profile_email">Имейл известяване</string>
|
||||
<string name="pref_screen_notification_profile_incoming_call">Известяване за входящо обаждане</string>
|
||||
<string name="pref_screen_notification_profile_generic_chat">Лаф</string>
|
||||
<string name="pref_screen_notification_profile_generic_navigation">Навигация</string>
|
||||
<string name="pref_screen_notification_profile_generic_social">Социални мрежи</string>
|
||||
<string name="prefs_title_heartrate_measurement_interval">Измерване на сърдечния ритъм през целия ден</string>
|
||||
<string name="interval_one_minute">на всяка минута</string>
|
||||
<string name="interval_five_minutes">на всеки 5 минути</string>
|
||||
<string name="interval_ten_minutes">на всеки 10 минути</string>
|
||||
<string name="interval_thirty_minutes">на всеки 30 минути</string>
|
||||
<string name="interval_one_hour">веднъж на час</string>
|
||||
</resources>
|
@ -17,7 +17,7 @@
|
||||
<string name="controlcenter_navigation_drawer_close">Zavřít navigační lištu</string>
|
||||
<string name="controlcenter_snackbar_need_longpress">Podržte déle pro odpojení</string>
|
||||
<string name="controlcenter_snackbar_disconnecting">Odpojuji</string>
|
||||
<string name="controlcenter_snackbar_connecting">Připojuji</string>
|
||||
<string name="controlcenter_snackbar_connecting">Připojuji…</string>
|
||||
<string name="controlcenter_snackbar_requested_screenshot">Sejmout snímek obrazovky</string>
|
||||
<string name="title_activity_debug">Ladění</string>
|
||||
<!--Strings related to AppManager-->
|
||||
@ -364,20 +364,16 @@
|
||||
<string name="StringUtils_sender">(%1$s)</string>
|
||||
<string name="find_device_you_found_it">Nalezeno!</string>
|
||||
<string name="miband2_prefs_timeformat">Formát času Mi2</string>
|
||||
<string name="action_donate">Podpořit</string>
|
||||
<string name="action_donate">Podpořit</string>
|
||||
<string name="title_activity_calblacklist">Zakázané notifikace Kalendáře</string>
|
||||
|
||||
<string name="pref_call_privacy_mode_number">Skrýť číslo, ale zobrazit jméno</string>
|
||||
<string name="pref_blacklist_calendars">Zakázané kalendáře</string>
|
||||
|
||||
<string name="pref_header_pebble_timeline">Časová osa Pebble</string>
|
||||
<string name="pref_title_enable_calendar_sync">Synchronizace kalendáře</string>
|
||||
<string name="pref_summary_enable_calendar_sync">Odesílat události kalendáře na časovou osu</string>
|
||||
|
||||
<string name="stats_title">Zóny rychlosti</string>
|
||||
<string name="stats_x_axis_label">Minut celkem</string>
|
||||
<string name="stats_y_axis_label">Kroků za minutu</string>
|
||||
|
||||
<string name="calories">Kalorií</string>
|
||||
<string name="distance">Vzdálenost</string>
|
||||
<string name="clock">Měření času</string>
|
||||
@ -428,7 +424,7 @@
|
||||
<string name="mi2_prefs_button_press_count_max_delay_summary">Maximální zpoždění mezi stisknutím tlačítka v milisekundách</string>
|
||||
<string name="mi2_prefs_button_press_count_match_delay">Zpoždění po provedení akce tlačítka</string>
|
||||
<string name="mi2_prefs_button_press_count_match_delay_summary">Zpoždění po provedení akce tlačítka (číslo je v button_id) nebo 0 pro okamžitě</string>
|
||||
<string name="fw_upgrade_notice_amazfitbip">Chystáte se nainstalovat firmvér %s na vašem Amazfit Bip.
|
||||
<string name="fw_upgrade_notice_amazfitbip">Chystáte se nainstalovat firmvér %s na vašem Amazfit Bip.
|
||||
\n
|
||||
\nProsím nezapomeňte nainstalovat soubor .fw, potom soubor .res a nakonec soubor .gps. Vaše hodinky se po instalaci souboru .fw restartují.
|
||||
\n
|
||||
@ -436,7 +432,7 @@
|
||||
\n
|
||||
\nPOKRAČUJTE TO NA VLASTNÍ NEBEZPEČÍ!</string>
|
||||
<string name="amazfitbip_firmware">"Firmware Amazfit Bipu %1$s"</string>
|
||||
<string name="controlcenter_connect">Připojit</string>
|
||||
<string name="controlcenter_connect">Připojit…</string>
|
||||
<string name="fw_upgrade_notice_amazfitcor">Chystáte se nainstalovat firmvér %s do vašeho Amazfit Cor.
|
||||
\n
|
||||
\nProsím, ujistěte se, že jste nainstalovali soubor .fw a potom soubor .res. Vaše hodinky se po instalaci souboru .fw restartují.
|
||||
@ -445,19 +441,15 @@
|
||||
\n
|
||||
\nPOKRAČUJTE NA VLASTNÍ NEBEZPEČÍ!</string>
|
||||
<string name="pref_title_charts_swipe">Zapnout možnost potažení mezi grafy aktivit</string>
|
||||
|
||||
<string name="pref_title_weather">Počasí</string>
|
||||
<string name="pref_title_weather_location">Poloha pro počasí (CM/LOS)</string>
|
||||
|
||||
<string name="pref_title_pebble_enable_bgjs">Zapnout JS na pozadí</string>
|
||||
<string name="pref_summary_pebble_enable_bgjs">Pokud je zapnuto, umožňuje hodinám zobrazovat počasí, údaje o baterii atd.</string>
|
||||
|
||||
<string name="pref_header_auto_export">Automatický export</string>
|
||||
<string name="pref_title_auto_export_enabled">Zapnutý/Vypnutý</string>
|
||||
<string name="pref_title_auto_export_location">Složka pro uložení</string>
|
||||
<string name="pref_title_auto_export_interval">Časový interval</string>
|
||||
<string name="pref_summary_auto_export_interval">Exportovat každou %d hodinu</string>
|
||||
|
||||
<string name="preferences_amazfitbip_settings">Nastavení Amazfit Bip</string>
|
||||
<string name="prefs_title_heartrate_measurement_interval">Celodenní měření tepu</string>
|
||||
<string name="interval_one_minute">Jednou za minutu</string>
|
||||
@ -465,20 +457,16 @@
|
||||
<string name="interval_ten_minutes">Každých 10 minut</string>
|
||||
<string name="interval_thirty_minutes">Každých 30 minut</string>
|
||||
<string name="interval_one_hour">Jednou za hodinu</string>
|
||||
|
||||
<string name="notif_export_failed_title">Export databáze selhal! Zkontrolujte nastavení.</string>
|
||||
<string name="automatic">Automaticky</string>
|
||||
<string name="simplified_chinese">Zjednodušená Čínština</string>
|
||||
<string name="traditional_chinese">Tradiční Čínština</string>
|
||||
<string name="english">Angličtina</string>
|
||||
<string name="spanish">Španělština</string>
|
||||
|
||||
<string name="activity_web_view">Aktivity Webový pohled</string>
|
||||
|
||||
<string name="_pebble_watch_open_on_phone">Otevřít na Android zařízení</string>
|
||||
<string name="_pebble_watch_mute">Ztlumit</string>
|
||||
<string name="_pebble_watch_reply">Znova</string>
|
||||
|
||||
<string name="kind_firmware">Firmvér</string>
|
||||
<string name="kind_invalid">Neplatná data</string>
|
||||
<string name="kind_font">Písmo</string>
|
||||
@ -487,7 +475,6 @@
|
||||
<string name="kind_gps_cep">Korekce chyb GPS</string>
|
||||
<string name="kind_resources">Zdroje</string>
|
||||
<string name="kind_watchface">Ciferník</string>
|
||||
|
||||
<string name="devicetype_unknown">Neznámé zařízení</string>
|
||||
<string name="devicetype_test">Testovací zařízení</string>
|
||||
<string name="devicetype_pebble">Pebble</string>
|
||||
@ -503,10 +490,9 @@
|
||||
<string name="devicetype_no1_f1">No.1 F1</string>
|
||||
<string name="devicetype_teclast_h30">Teclast H30</string>
|
||||
<string name="devicetype_xwatch">XWatch</string>
|
||||
|
||||
<string name="choose_auto_export_location">Vyberte umístění exportu</string>
|
||||
<string name="notification_channel_name">Gadgetbridge notifikace</string>
|
||||
<string name="pref_title_pebble_gatt_clientonly">pouze GATT klient</string>
|
||||
<string name="pref_title_pebble_gatt_clientonly">pouze GATT klient</string>
|
||||
<string name="pref_summary_pebble_gatt_clientonly">Pebble 2 experimentální nastavení, zkuste máte-li problémy se spojením</string>
|
||||
<string name="on">Zapnuto</string>
|
||||
<string name="activity_type_not_measured">Neměřeno</string>
|
||||
@ -523,7 +509,6 @@
|
||||
<string name="select_all">Vybrat vše</string>
|
||||
<string name="share">Sdílet</string>
|
||||
<string name="reset_index">Vymazat datum stažení</string>
|
||||
|
||||
<string name="menuitem_shortcut_alipay">Alipay (Zástupce)</string>
|
||||
<string name="menuitem_shortcut_weather">Počasí (Zástupce)</string>
|
||||
<string name="menuitem_status">Stav</string>
|
||||
@ -534,15 +519,11 @@
|
||||
<string name="menuitem_compass">Kompas</string>
|
||||
<string name="menuitem_settings">Nastavení</string>
|
||||
<string name="menuitem_alipay">Alipay</string>
|
||||
<string name="controlcenter_change_led_color">Změnit barvu LED</string>
|
||||
<string name="controlcenter_change_led_color">Změnit barvu LED</string>
|
||||
<string name="controlcenter_change_fm_frequency">Změnit FM frekvenci</string>
|
||||
<string name="controlcenter_calibrate_device">Kalibrovat zařízení</string>
|
||||
|
||||
|
||||
<string name="blacklist_all_for_notifications">Zakázat všechny aplikace</string>
|
||||
<string name="whitelist_all_for_notifications">Povolit všechny aplikace</string>
|
||||
|
||||
|
||||
<string name="fw_upgrade_notice_miband3">Chystáte se nainstalovat firmvér %s do vašeho Mi Band 3.
|
||||
\n
|
||||
\nProsím, ujistěte se, že jste nainstalovali soubor .fw a potom soubor .res. Vaše hodinky se po instalaci souboru .fw restartují.
|
||||
@ -555,22 +536,18 @@
|
||||
<string name="pref_summary_rtl">Povolte, nepodporuje-li vaše zařízení jazyky zprava doleva</string>
|
||||
<string name="pref_rtl_max_line_length">Maximální délka řádku pro jazyky zprava doleva</string>
|
||||
<string name="pref_rtl_max_line_length_summary">Prodlužuje/zkracuje text řádků jazyků zprava doleva</string>
|
||||
|
||||
<string name="preferences_id115_settings">Nastavení ID115</string>
|
||||
<string name="prefs_screen_orientation">Orientace displeje</string>
|
||||
|
||||
<string name="pref_auto_fetch">Synchronizovat automaticky</string>
|
||||
<string name="pref_auto_fetch_summary">Synchronizovat při odemčení obrazovky. Musí být nastaven zámek obrazovky!</string>
|
||||
<string name="pref_auto_fetch_limit_fetches">Minimální doba mezi synchronizacemi</string>
|
||||
<string name="pref_auto_fetch_limit_fetches_summary">Synchronizovat každých %d minut</string>
|
||||
|
||||
<string name="preferences_miband2_settings">Nastavení Mi Band 2</string>
|
||||
<string name="preferences_miband3_settings">Nastavení Mi Band 3</string>
|
||||
<string name="preferences_amazfitcor_settings">Nastavení Amazfit Cor</string>s
|
||||
<string name="horizontal">Na šířku</string>
|
||||
<string name="vertical">Na výšku</string>
|
||||
<string name="watch9_pairing_tap_hint">Po zavibrování stiskněte tlačítko, nebo se zařízením zatřeste.</string>
|
||||
|
||||
<string name="notif_battery_low">%1$s nízký stav baterie</string>
|
||||
<string name="notif_battery_low_extended">%1$s baterie vybitá: %2$s</string>
|
||||
<string name="lack_of_sleep">Nedostatek spánku: %1$s</string>
|
||||
@ -584,7 +561,6 @@
|
||||
<string name="minutes_5">5 minut</string>
|
||||
<string name="minutes_10">10 minut</string>
|
||||
<string name="minutes_30">30 minut</string>
|
||||
|
||||
<string name="lack_of_step">Příliš málo kroků: %1$d</string>
|
||||
<string name="overstep">Kroků nad plán: %1$d</string>
|
||||
<string name="live_activity_max_heart_rate">Aktuální / Maximální tepová frekvence: %1$d / %2$d</string>
|
||||
@ -594,7 +570,6 @@
|
||||
<string name="mi3_prefs_band_screen_unlock_summary">Přejeďte prstem pro odemčení obrazovky zařízení</string>
|
||||
<string name="mi3_prefs_night_mode">Noční režim</string>
|
||||
<string name="mi3_prefs_night_mode_summary">Nižší automatická intenzita displeje v noci</string>
|
||||
|
||||
<string name="norwegian_bokmal">Norsky Bokmål</string>
|
||||
<string name="russian">Rusky</string>
|
||||
<string name="german">Německy</string>
|
||||
@ -603,13 +578,10 @@
|
||||
<string name="polish">Polsky</string>
|
||||
<string name="korean">Korejsky</string>
|
||||
<string name="japanese">Japonsky</string>
|
||||
|
||||
<string name="activity_prefs_charts">Nastavení grafů</string>
|
||||
<string name="activity_prefs_chart_max_heart_rate">Maximální tepová frekvence</string>
|
||||
<string name="activity_prefs_chart_min_heart_rate">Minimální tepová frekvence</string>
|
||||
|
||||
<string name="ok">Ok</string>
|
||||
|
||||
<string name="mi3_night_mode_sunset">Při západu slunce</string>
|
||||
<string name="controlcenter_start_activity_tracks">Záznamy aktivit</string>
|
||||
<string name="activity_type_treadmill">Běhací pás</string>
|
||||
@ -620,11 +592,9 @@
|
||||
<string name="devicetype_watch9">Watch 9</string>
|
||||
<string name="devicetype_roidmi">Roidmi</string>
|
||||
<string name="devicetype_roidmi3">Roidmi 3</string>
|
||||
|
||||
<string name="menuitem_notifications">Upozornění</string>
|
||||
<string name="menuitem_music">Hudba</string>
|
||||
<string name="menuitem_more">Více</string>
|
||||
|
||||
<string name="watch9_time_minutes">Minuty:</string>
|
||||
<string name="watch9_time_hours">Hodiny:</string>
|
||||
<string name="watch9_time_seconds">Vteřiny:</string>
|
||||
@ -639,9 +609,7 @@
|
||||
<string name="share_log_warning">Prosím nezapomeňte, že ladící záznamy Gadgetbridge mohou obsahovat osobní informace, zahrnující například zdravotní data, identifikátory (MAC adresu), hudební preference a podobně. Tyto informace můžete vymazat před odesláním souboru do veřejného reportu.</string>
|
||||
<string name="warning">Upozornění!</string>
|
||||
<string name="no_data">Žádná data</string>
|
||||
|
||||
<string name="preferences_led_color">Barva LED</string>
|
||||
|
||||
<string name="preferences_fm_frequency">Frekvence FM</string>
|
||||
<string name="pref_invalid_frequency_title">Neplatná frekvence</string>
|
||||
<string name="pref_invalid_frequency_message">Nastavte frekvenci mezi 87.5 a 108.0</string>
|
||||
@ -664,4 +632,5 @@
|
||||
<string name="mode_configuration">Konfigurace režimu</string>
|
||||
<string name="save_configuration">Uložit konfiguraci</string>
|
||||
<string name="appwidget_not_connected">Nepřipojeno, budíky neodeslány.</string>
|
||||
<string name="prefs_disconnect_notification">Upozornění při odpojení</string>
|
||||
</resources>
|
@ -51,7 +51,7 @@
|
||||
<string name="miband_firmware_unknown_warning">Este firmware no ha sido probado y puede que no sea compatible con Gadgetbridge.
|
||||
\n
|
||||
\n¡NO se recomienda la instalación en tu Mi Band!</string>
|
||||
<string name="miband_firmware_suggest_whitelist">Si aun así quieres seguir y las cosas continúan funcionando correctamente, por favor indícales a los desarrolladores de Gadgetbridge que la versión %s del firmware funciona bien</string>
|
||||
<string name="miband_firmware_suggest_whitelist">"Si aún desea continuar y después las cosas continúan funcionando correctamente, pida a los desarrolladores de Gadgetbridge que incluyan en la lista blanca la versión de firmware de% s."</string>
|
||||
<!--Strings related to Settings-->
|
||||
<string name="title_activity_settings">Ajustes</string>
|
||||
<string name="pref_header_general">Ajustes generales</string>
|
||||
@ -598,12 +598,12 @@
|
||||
<string name="devicetype_mykronoz_zetime">"MyKronoz ZeTime "</string>
|
||||
<string name="devicetype_id115">ID115</string>
|
||||
<string name="devicetype_watch9">"Watch 9 "</string>
|
||||
<string name="devicetype_roidmi"></string>
|
||||
<string name="devicetype_roidmi3"></string>
|
||||
<string name="devicetype_roidmi">Roidmi</string>
|
||||
<string name="devicetype_roidmi3">Roidmi 3</string>
|
||||
<string name="devicetype_casiogb6900">"Casio GB-6900 "</string>
|
||||
<string name="menuitem_status">Estado</string>
|
||||
<string name="menuitem_activity">Actividad</string>
|
||||
<string name="menuitem_alipay"></string>
|
||||
<string name="menuitem_alipay">Alipay</string>
|
||||
<string name="watch9_calibration_hint">Establezca la hora que su dispositivo le está mostrando en este momento.</string>
|
||||
<string name="share_log_warning">Tenga en cuenta que Gadgetbridge registra archivos que pueden contener mucha información personal, incluidos, entre otros, datos de salud, identificadores únicos (como la dirección MAC de un dispositivo), preferencias de música, etc. Considere editar el archivo y eliminar esta información antes de enviar el archivo a un informe público.</string>
|
||||
<string name="no_data">No hay datos</string>
|
||||
@ -626,4 +626,9 @@
|
||||
<string name="mode_configuration">Modo de Configuración</string>
|
||||
<string name="save_configuration">Guardar Configuración</string>
|
||||
<string name="appwidget_not_connected">No conectado, alarma no configurada.</string>
|
||||
<string name="title_activity_watch9_pairing">Emparejando Watch 9</string>
|
||||
<string name="title_activity_watch9_calibration">Calibrando Watch 9</string>
|
||||
<string name="preferences_rtl_settings">Soporte para Derecha a Izquierda</string>
|
||||
<string name="share_log">Compartir registro</string>
|
||||
<string name="warning">¡Advertencia!</string>
|
||||
</resources>
|
@ -623,4 +623,8 @@
|
||||
<string name="filter_submode_at_least_one">Минимум одно из слов</string>
|
||||
<string name="filter_submode_all">Все слова</string>
|
||||
<string name="toast_notification_filter_words_empty_hint">Введите хотя бы одно слово</string>
|
||||
<string name="debugactivity_really_factoryreset_title">Точно сбросить до заводских настроек\?</string>
|
||||
<string name="filter_mode">Режим фильтрации</string>
|
||||
<string name="save_configuration">Сохранить конфигурацию</string>
|
||||
<string name="appwidget_not_connected">Не подключено, будильник не установлено.</string>
|
||||
</resources>
|
@ -1,4 +1,4 @@
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="app_name">Gadgetbridge</string>
|
||||
<string name="title_activity_controlcenter">Gadgetbridge</string>
|
||||
@ -36,18 +36,18 @@
|
||||
<string name="miband_firmware_unknown_warning">Ця мікропрограма не перевірялася і може бути не сумісною із Gadgetbridge.
|
||||
\n
|
||||
\nНе рекомендується встановлювати її на Ваш Mi Band!</string>
|
||||
<string name="miband_firmware_suggest_whitelist">Якщо ж Ви вирішили продовжити та все працює, будь ласка, повідомте про це розробникам, аби відмітити версію %s мікропрограми сумісною з вашим пристроєм</string>
|
||||
<string name="miband_firmware_suggest_whitelist">Якщо ж Ви вирішили продовжити та все працює, будь ласка, повідомте про це розробникам, аби відмітити версію %s мікропрограми сумісною з вашим пристроєм.</string>
|
||||
<!--Strings related to Settings-->
|
||||
<string name="title_activity_settings">Параметри</string>
|
||||
<string name="pref_header_general">Загальні параметри</string>
|
||||
<string name="pref_title_general_autoconnectonbluetooth">З\'єднання із пристроєм при активації Bluetooth</string>
|
||||
<string name="pref_title_general_autoconnectonbluetooth">З\'єднання із пристроєм Gadgetbridge при активації Bluetooth</string>
|
||||
<string name="pref_title_general_autostartonboot">Запускатися автоматично</string>
|
||||
<string name="pref_title_general_autoreconnect">Перепід\'єднуватись автоматично</string>
|
||||
<string name="pref_title_audio_player">Бажаний музичний програвач</string>
|
||||
<string name="pref_default">Типовий</string>
|
||||
<string name="pref_header_datetime">Дата і час</string>
|
||||
<string name="pref_title_datetime_syctimeonconnect">"Синхронізація часу "</string>
|
||||
<string name="pref_summary_datetime_syctimeonconnect">Синхронізувати час під час з\'єднання з пристроєм, а також під час зміни часу чи часової зони в системі</string>
|
||||
<string name="pref_summary_datetime_syctimeonconnect">Синхронізувати час під час з\'єднання з пристроєм Gadgetbridge, а також під час зміни часу чи часової зони в системі Android</string>
|
||||
<string name="pref_title_theme">Тема</string>
|
||||
<string name="pref_theme_light">Світла</string>
|
||||
<string name="pref_theme_dark">Темна</string>
|
||||
@ -83,26 +83,26 @@
|
||||
<string name="pref_title_location_latitude">Широта</string>
|
||||
<string name="pref_title_location_longitude">Довгота</string>
|
||||
<string name="pref_title_pebble_forceprotocol">Примусовий протокол сповіщень</string>
|
||||
<string name="pref_summary_pebble_forceprotocol">Цей параметр примусово вмикає новий протокол сповіщень, який залежить від версії мікропрограми. ВМИКАЙТЕ, ЯКЩО ВИ ЗНАЄТЕ НА ЩО ЙДЕТЕ!</string>
|
||||
<string name="pref_summary_pebble_forceprotocol">Цей параметр примусово вмикає новий протокол сповіщень, який залежить від версії мікропрограми. ЗНАЙТЕ, ЩО РОБИТЕ!</string>
|
||||
<string name="pref_title_pebble_forceuntested">Увімкнути не перевірені можливості</string>
|
||||
<string name="pref_summary_pebble_forceuntested">Увімкнути функції, які ще не перевірені. ВМИКАЙТЕ НА СВІЙ СТРАХ ТА РИЗИК!</string>
|
||||
<string name="pref_summary_pebble_forceuntested">Увімкнути не перевірені можливості. ВМИКАЙТЕ НА СВІЙ СТРАХ ТА РИЗИК!</string>
|
||||
<string name="pref_title_pebble_reconnect_attempts">Спроби повторного з\'єднання</string>
|
||||
<string name="pref_title_timeformat">Формат часу</string>
|
||||
<string name="not_connected">немає з\'єднання</string>
|
||||
<string name="connecting">з\'єднання…</string>
|
||||
<string name="connected">з\'єднано</string>
|
||||
<string name="unknown_state">невідомий стан</string>
|
||||
<string name="not_connected">Немає з\'єднання</string>
|
||||
<string name="connecting">З\'єднання</string>
|
||||
<string name="connected">З\'єднано</string>
|
||||
<string name="unknown_state">Невідомий стан</string>
|
||||
<string name="_unknown_">(невідомо)</string>
|
||||
<string name="test">Тест</string>
|
||||
<string name="test_notification">Тест сповіщень</string>
|
||||
<string name="this_is_a_test_notification_from_gadgetbridge">Це тестове сповіщення від Gadgetbridge</string>
|
||||
<string name="bluetooth_is_not_supported_">Bluetooth не підтримується.</string>
|
||||
<string name="bluetooth_is_disabled_">Bluetooth вимкнуто.</string>
|
||||
<string name="cannot_connect_bt_address_invalid_">Не вдалося з\'єднатися. Можливо помилкова адреса BT?</string>
|
||||
<string name="cannot_connect_bt_address_invalid_">Не вдалося з\'єднатися. Можливо помилкова адреса Bluetooth\?</string>
|
||||
<string name="gadgetbridge_running">Gadgetbridge запущено</string>
|
||||
<string name="installing_binary_d_d">встановлення бінарного файлу %1$d/%2$d</string>
|
||||
<string name="installation_failed_">невдале встановлення!</string>
|
||||
<string name="installation_successful">встановлення завершено</string>
|
||||
<string name="installing_binary_d_d">Встановлення бінарного файлу %1$d/%2$d</string>
|
||||
<string name="installation_failed_">Невдале встановлення</string>
|
||||
<string name="installation_successful">Встановлено</string>
|
||||
<string name="firmware_install_warning">ВИ НАМАГАЄТЕСЬ ВСТАНОВИТИ МІКРОПРОГРАМУ, ПРОДОВЖУЙТЕ НА СВІЙ СТРАХ І РИЗИК.\n\n\nЦя мікропрограма для пристрою ревізії: %s</string>
|
||||
<string name="app_install_info">Ви збираєтесь встановити додаток:\n\n\n%1$s версія %2$s від %3$s\n</string>
|
||||
<string name="n_a">Недоступно</string>
|
||||
@ -110,20 +110,20 @@
|
||||
<string name="appversion_by_creator">%1$s від %2$s</string>
|
||||
<string name="title_activity_discovery">Пошук пристрою</string>
|
||||
<string name="discovery_stop_scanning">Зупинити пошук</string>
|
||||
<string name="discovery_start_scanning">Розумний пошук</string>
|
||||
<string name="discovery_start_scanning">Почати пошук</string>
|
||||
<string name="action_discover">Під\'єднати новий пристрій</string>
|
||||
<string name="device_with_rssi">%1$s (%2$s)</string>
|
||||
<string name="title_activity_android_pairing">Створення пари з пристроєм</string>
|
||||
<string name="android_pairing_hint">Для створення пари із пристроєм використовуйте діалог Android.</string>
|
||||
<string name="title_activity_mi_band_pairing">Створення пари із вашим Mi—Band</string>
|
||||
<string name="message_cannot_pair_no_mac">MAC-адресу не було передано, не вдалося створити пару.</string>
|
||||
<string name="preferences_category_device_specific_settings">Параметри пристрою</string>
|
||||
<string name="preferences_miband_settings">Параметри Mi—Band</string>
|
||||
<string name="male">чоловіча</string>
|
||||
<string name="female">жіноча</string>
|
||||
<string name="other">інше</string>
|
||||
<string name="left">ліва</string>
|
||||
<string name="right">права</string>
|
||||
<string name="preferences_category_device_specific_settings">Параметри специфічні для пристрою</string>
|
||||
<string name="preferences_miband_settings">Параметри Mi—Band / Amazfit</string>
|
||||
<string name="male">Чоловіча</string>
|
||||
<string name="female">Жіноча</string>
|
||||
<string name="other">Інше</string>
|
||||
<string name="left">Ліва</string>
|
||||
<string name="right">Права</string>
|
||||
<string name="miband_pairing_using_dummy_userdata">Не отримано дійсних даних користувача. Використовуються типові дані.</string>
|
||||
<string name="miband_pairing_tap_hint">Коли ваш Mi—Band вібрує та блимає, постукайте по ньому кілька раз.</string>
|
||||
<string name="appinstaller_install">Встановити</string>
|
||||
@ -131,12 +131,12 @@
|
||||
<string name="candidate_item_device_image">Зображення пристрою</string>
|
||||
<string name="miband_prefs_alias">Ім\'я/нік</string>
|
||||
<string name="pref_header_vibration_count">Кількість вібрацій</string>
|
||||
<string name="title_activity_sleepmonitor">Аналіз сну</string>
|
||||
<string name="initializing">Ініціалізація…</string>
|
||||
<string name="title_activity_sleepmonitor">Моніторинг сну</string>
|
||||
<string name="initializing">Ініціалізація</string>
|
||||
<string name="busy_task_fetch_activity_data">Отримання даних активності</string>
|
||||
<string name="sleep_activity_date_range">Від %1$s до %2$s</string>
|
||||
<string name="miband_prefs_wearside">На якій руці носите?</string>
|
||||
<string name="pref_screen_vibration_profile">Профіль вібро</string>
|
||||
<string name="pref_screen_vibration_profile">Профіль вібровідгуку</string>
|
||||
<string name="vibration_profile_staccato">Стакато</string>
|
||||
<string name="vibration_profile_short">Короткий</string>
|
||||
<string name="vibration_profile_medium">Середній</string>
|
||||
@ -146,7 +146,7 @@
|
||||
<string name="vibration_profile_alarm_clock">Будильник</string>
|
||||
<string name="miband_prefs_vibration">Вібрація</string>
|
||||
<string name="pref_screen_notification_profile_sms">SMS-сповіщення</string>
|
||||
<string name="pref_header_vibration_settings">Параметри вібро</string>
|
||||
<string name="pref_header_vibration_settings">Параметри вібровідгуку</string>
|
||||
<string name="pref_screen_notification_profile_generic">Загальні сповіщення</string>
|
||||
<string name="pref_screen_notification_profile_incoming_call">Сповіщення під час вхідного дзвінку</string>
|
||||
<string name="pref_screen_notification_profile_generic_chat">Чат</string>
|
||||
@ -157,7 +157,7 @@
|
||||
<string name="title_activity_charts">Ваша активність</string>
|
||||
<string name="title_activity_set_alarm">Завести Будильник</string>
|
||||
<string name="controlcenter_start_configure_alarms">Завести будильник</string>
|
||||
<string name="title_activity_alarm_details">Властивості будильнику</string>
|
||||
<string name="title_activity_alarm_details">Деталі будильнику</string>
|
||||
<string name="alarm_sun_short">Нд</string>
|
||||
<string name="alarm_mon_short">Пн</string>
|
||||
<string name="alarm_tue_short">Вт</string>
|
||||
@ -165,27 +165,27 @@
|
||||
<string name="alarm_thu_short">Чт</string>
|
||||
<string name="alarm_fri_short">Пт</string>
|
||||
<string name="alarm_sat_short">Сб</string>
|
||||
<string name="alarm_smart_wakeup">розумне пробудження</string>
|
||||
<string name="user_feedback_miband_set_alarms_failed">Виникла помилка під час налаштування будильнику, спробуйте ще раз!</string>
|
||||
<string name="user_feedback_miband_set_alarms_ok">Будильник відправлений на пристрій!</string>
|
||||
<string name="alarm_smart_wakeup">Розумне пробудження</string>
|
||||
<string name="user_feedback_miband_set_alarms_failed">Виникла помилка під час налаштування будильнику, спробуйте ще раз.</string>
|
||||
<string name="user_feedback_miband_set_alarms_ok">Будильник відправлено на пристрій.</string>
|
||||
<string name="chart_no_data_synchronize">Дані відсутні. Синхронізувати пристрій?</string>
|
||||
<string name="user_feedback_miband_activity_data_transfer">Буде передано %1$s даних, починаючи з %2$s</string>
|
||||
<string name="miband_prefs_fitness_goal">Мета кроків на кожен день</string>
|
||||
<string name="miband_prefs_fitness_goal">Щоденна ціль кроків</string>
|
||||
<string name="dbaccess_error_executing">Помилка виконання \'%1$s\'</string>
|
||||
<string name="controlcenter_start_activitymonitor">Ваша активність (ALPHA)</string>
|
||||
<string name="cannot_connect">Неможливо з\'єднатися: %1$s</string>
|
||||
<string name="installer_activity_unable_to_find_handler">Не вдалося знайти обробник подій для встановлення даного файлу.</string>
|
||||
<string name="pbw_install_handler_unable_to_install">Не вдалося встановити даний файл: %1$s</string>
|
||||
<string name="pbw_install_handler_hw_revision_mismatch">Не вдалося встановити дану мікропрограму: вона не відповідає версії пристрою Вашого Pebble.</string>
|
||||
<string name="pbw_install_handler_hw_revision_mismatch">Не вдалося встановити дану мікропрограму: Вона не відповідає версії пристрою Вашого Pebble.</string>
|
||||
<string name="installer_activity_wait_while_determining_status">Будь ласка, зачекайте, триває визначення стану встановлення…</string>
|
||||
<string name="notif_battery_low_title">Низький заряд пристрою!</string>
|
||||
<string name="notif_battery_low_percent">%1$s заряду лишилось: %2$s%%</string>
|
||||
<string name="notif_battery_low_bigtext_last_charge_time">Остання зарядка була: %s \n</string>
|
||||
<string name="notif_battery_low_bigtext_number_of_charges">Кількість зарядок: %s</string>
|
||||
<string name="sleepchart_your_sleep">Ваш сон</string>
|
||||
<string name="weekstepschart_steps_a_week">Кроки за тиждень</string>
|
||||
<string name="activity_sleepchart_activity_and_sleep">Ваша активність і сон</string>
|
||||
<string name="updating_firmware">Оновлення мікропрограми…</string>
|
||||
<string name="weekstepschart_steps_a_week">Кроків за тиждень</string>
|
||||
<string name="activity_sleepchart_activity_and_sleep">Ваша активність та сон</string>
|
||||
<string name="updating_firmware">Завантаження мікропрограми…</string>
|
||||
<string name="fwapp_install_device_not_ready">Не можливо встановити файл, пристрій не готовий.</string>
|
||||
<string name="installhandler_firmware_name">%1$s: %2$s %3$s</string>
|
||||
<string name="miband_fwinstaller_compatible_version">Сумісна версія</string>
|
||||
@ -199,7 +199,7 @@
|
||||
<string name="updatefirmwareoperation_metadata_updateproblem">Проблема із передачею метаданих мікрокоду</string>
|
||||
<string name="updatefirmwareoperation_update_complete">Встановлення мікропрограми завершено</string>
|
||||
<string name="updatefirmwareoperation_update_complete_rebooting">Встановлення мікропрограми завершено, перезавантаження пристрою…</string>
|
||||
<string name="updatefirmwareoperation_write_failed">Помилка запису мікропрограми</string>
|
||||
<string name="updatefirmwareoperation_write_failed">Помилка завантаження мікропрограми</string>
|
||||
<string name="chart_steps">Кроки</string>
|
||||
<string name="liveactivity_live_activity">Життєва активність</string>
|
||||
<string name="weeksteps_today_steps_description">Кроків сьогодні, мета: %1$s</string>
|
||||
@ -212,23 +212,23 @@
|
||||
<string name="live_activity_steps_per_minute_history">Історія кроків за хвилину</string>
|
||||
<string name="live_activity_start_your_activity">Почати вашу активність</string>
|
||||
<string name="abstract_chart_fragment_kind_activity">Активність</string>
|
||||
<string name="abstract_chart_fragment_kind_light_sleep">Легкий сон</string>
|
||||
<string name="abstract_chart_fragment_kind_light_sleep">Швидкий сон</string>
|
||||
<string name="abstract_chart_fragment_kind_deep_sleep">Глибокий сон</string>
|
||||
<string name="abstract_chart_fragment_kind_not_worn">Знесилений</string>
|
||||
<string name="abstract_chart_fragment_kind_not_worn"></string>
|
||||
<string name="device_not_connected">Не з\'єднано.</string>
|
||||
<string name="user_feedback_all_alarms_disabled">Всі будильники вимкнено</string>
|
||||
<string name="pref_title_keep_data_on_device">Лишати дані на пристрої</string>
|
||||
<string name="miband_fwinstaller_incompatible_version">Мікропрограма не підтримується</string>
|
||||
<string name="fwinstaller_firmware_not_compatible_to_device">Ця мікропрограма не підтримується даним пристроєм</string>
|
||||
<string name="waiting_for_reconnect">очікування повторного підключення</string>
|
||||
<string name="waiting_for_reconnect">Очікування повторного підключення</string>
|
||||
<string name="activity_prefs_about_you">Про Вас</string>
|
||||
<string name="activity_prefs_year_birth">Рік народження</string>
|
||||
<string name="activity_prefs_gender">Стать</string>
|
||||
<string name="activity_prefs_height_cm">Зріст в см</string>
|
||||
<string name="activity_prefs_weight_kg">Вага в кг</string>
|
||||
<string name="add_widget">Додати віджет</string>
|
||||
<string name="device_hw">Пристрій: %1$s</string>
|
||||
<string name="device_fw">ПЗ: %1$s</string>
|
||||
<string name="device_hw">Ревізія пристрою: %1$s</string>
|
||||
<string name="device_fw">Версія мікропрограми: %1$s</string>
|
||||
<string name="Cancel">Скасувати</string>
|
||||
<string name="Delete">Вилучити</string>
|
||||
<!--Strings related to Vibration Activity-->
|
||||
@ -236,30 +236,24 @@
|
||||
<!--Strings related to Pebble Pairing Activity-->
|
||||
<string name="timeformat_24h">24г</string>
|
||||
<string name="timeformat_am_pm">ДП/ПП</string>
|
||||
<string name="action_donate">Пожертвувати</string>
|
||||
<string name="controlcenter_connect">З\'єднати</string>
|
||||
<string name="controlcenter_snackbar_connecting">Підключення</string>
|
||||
<string name="action_donate">Пожертвувати</string>
|
||||
<string name="controlcenter_connect">З\'єднати…</string>
|
||||
<string name="controlcenter_snackbar_connecting">Підключення…</string>
|
||||
<string name="notification_channel_name">Сповіщення Gadgetbridge</string>
|
||||
<string name="controlcenter_navigation_drawer_open">Відкрити навігаційну панель</string>
|
||||
<string name="controlcenter_navigation_drawer_open">Відкрити навігаційну панель</string>
|
||||
<string name="controlcenter_navigation_drawer_close">Закрити навігаційну панель</string>
|
||||
<string name="controlcenter_snackbar_disconnecting">Роз\'єднання</string>
|
||||
<string name="controlcenter_snackbar_need_longpress">Довго натисніть на картку, щоб Роз\'єднати</string>
|
||||
<string name="controlcenter_snackbar_requested_screenshot">Знімок екрана пристрою</string>
|
||||
|
||||
|
||||
<string name="appmanager_cached_watchapps_watchfaces">Додатки в кеші</string>
|
||||
<string name="appmanager_installed_watchfaces">Встановлені годинники</string>
|
||||
<string name="appmanager_weather_activate">Активувати системний додаток погоди</string>
|
||||
<string name="appmanager_weather_deactivate">Вимкнути системний додаток погоди</string>
|
||||
<string name="appmanager_weather_install_provider">Встановити додаток повідомлення про погоду</string>
|
||||
<string name="app_move_to_top">Рухати вище</string>
|
||||
|
||||
<string name="blacklist_all_for_notifications">Чорний список для усіх сповіщень</string>
|
||||
<string name="whitelist_all_for_notifications">Білий список для всіх сповіщень</string>
|
||||
|
||||
|
||||
<string name="title_activity_calblacklist">Чорний список календарів</string>
|
||||
|
||||
<string name="fw_upgrade_notice_amazfitbip">Ви збираєтеся встановити %s прошивку на ваш Amazfit Bip.
|
||||
\n
|
||||
\nЗберігайте послідовність файлів, спорчатку .fw файл, потім .res за ним .gps. Ваш годинник перезавантажиться після встановлення .fw файлу.
|
||||
@ -282,67 +276,50 @@
|
||||
\n
|
||||
\nНЕТЕСТОВАНО, МОЖЕ ПОШКОДИТИ ВАШ ПРИСТРІЙ, ДІЙТЕ НА СВІЙ СТРАХ І РИЗИК!</string>
|
||||
<string name="pref_title_charts_swipe">Увімкнути бокові рухи у діаграмах активності</string>
|
||||
|
||||
<string name="pref_title_minimize_priority">Сховати сповіщення Gadgetbridge</string>
|
||||
<string name="pref_summary_minimize_priority_off">Значок в рядку стану та сповіщення на екрані блокування відображаються</string>
|
||||
<string name="pref_summary_minimize_priority_on">Значок в рядку стану та сповіщення на екрані блокування не відображаються</string>
|
||||
|
||||
<string name="pref_summary_notifications_pebblemsg">Підтримка застосунків, які відправляють повідомлення Pebble через PebbleKit.</string>
|
||||
<string name="pref_summary_notification_filter">Припинить надсилання небажаних сповіщень у режимі \"Не турбувати\"</string>
|
||||
<string name="pref_title_transliteration">Транслітерація</string>
|
||||
<string name="pref_summary_transliteration">"Увімкніть цей параметр, якщо пристрій не підтримує шрифт вашої мови "</string>
|
||||
|
||||
<string name="pref_title_call_privacy_mode">Режим приватності</string>
|
||||
<string name="pref_call_privacy_mode_off">Показувати ім’я та номер</string>
|
||||
<string name="pref_call_privacy_mode_name">Приховати ім\'я, але показати номер</string>
|
||||
<string name="pref_call_privacy_mode_number">Приховати номер, але показати ім\'я</string>
|
||||
<string name="pref_call_privacy_mode_complete">Приховати ім\'я та номер</string>
|
||||
|
||||
<string name="pref_title_weather">Погода</string>
|
||||
<string name="pref_title_weather_location">Розташування погоди (CM / LOS)</string>
|
||||
|
||||
<string name="pref_blacklist_calendars">Календарі чорного списку</string>
|
||||
|
||||
<string name="pref_header_cannned_messages">Збережені повідомлення</string>
|
||||
<string name="pref_title_canned_messages_dismisscall">Пропущені виклики</string>
|
||||
<string name="pref_title_canned_messages_set">Оновлення на Pebble</string>
|
||||
|
||||
<string name="pref_title_enable_outgoing_call">Підтримка вихідних дзвінків</string>
|
||||
<string name="pref_summary_enable_outgoing_call">"При вимкненні цого параметру Pebble 2/LE не вібруватиме підчас вихідних дзвінків"</string>
|
||||
|
||||
<string name="pref_header_pebble_timeline">Шкала часу Pebble</string>
|
||||
<string name="pref_title_enable_calendar_sync">Синхронізувати календар</string>
|
||||
<string name="pref_summary_enable_calendar_sync">Надіслати події календаря до часової шкали</string>
|
||||
|
||||
<string name="pref_auto_fetch_summary">Вибірка відбувається при розблокування екрану. Працює тільки якщо встановлений механізм блокування!</string>
|
||||
|
||||
<string name="notif_export_failed_title">Експорт бази даних не вдався! Будь ласка, перевірте ваші настройки.</string>
|
||||
<string name="miband2_prefs_dateformat">Mi2: Формат дати</string>
|
||||
<string name="miband2_prefs_dateformat">Формат дати</string>
|
||||
<string name="DEVINFO_HR_VER">"HR: "</string>
|
||||
<string name="menuitem_alipay">Alipay</string>
|
||||
<string name="controlcenter_calibrate_device">Калібрувати пристрій</string>
|
||||
|
||||
|
||||
<string name="controlcenter_calibrate_device">Калібрувати пристрій</string>
|
||||
<string name="pref_title_notifications_timeout">Мінімальний час між сповіщеннями</string>
|
||||
<string name="pref_title_autoremove_notifications">Автоматично видаляти відхилені сповіщення</string>
|
||||
<string name="pref_summary_autoremove_notifications">Сповіщення автоматично видаляються з Pebble коли звільняються з Android пристрою</string>
|
||||
|
||||
<string name="pref_title_pebble_privacy_mode">Приватний режим</string>
|
||||
<string name="pref_pebble_privacy_mode_off">Звичайні сповіщення</string>
|
||||
<string name="pref_pebble_privacy_mode_complete">Показувати лише іконку сповіщення</string>
|
||||
|
||||
<string name="pref_title_location_aquire">Отримати місцезнаходження</string>
|
||||
<string name="pref_title_location_keep_uptodate">Оновлювати місцезнаходження</string>
|
||||
<string name="pref_summary_location_keep_uptodate">Спробувати отримати поточне місцезнаходження під час виконання, використовувати збережене місце у випадку невдачі</string>
|
||||
|
||||
<string name="toast_enable_networklocationprovider">Будь ласка, включіть місце розташування мережі</string>
|
||||
<string name="toast_aqurired_networklocation">місцезнаходження визначено</string>
|
||||
|
||||
<string name="pref_title_pebble_enable_applogs">Увімкнути логування додатку</string>
|
||||
<string name="pref_title_pebble_enable_bgjs">Увімкнути фоновий JS</string>
|
||||
<string name="prefs_title_all_day_heart_rate">Вимірювання серцевого ритму протягом дня</string>
|
||||
<string name="prefs_screen_orientation">Орієнтація екрана</string>
|
||||
|
||||
<string name="pref_title_auto_export_enabled">Автоматичний експорт увімкнено</string>
|
||||
<string name="tap_a_device_to_connect">Натисніть на пристрій для підключення</string>
|
||||
<string name="preferences_miband2_settings">Налаштування Mi Band 2</string>
|
||||
@ -357,15 +334,12 @@
|
||||
<string name="interval_ten_minutes">кожні 10 хвилин</string>
|
||||
<string name="interval_thirty_minutes">кожні 30 хвилин</string>
|
||||
<string name="interval_one_hour">раз на годину</string>
|
||||
|
||||
<string name="stats_y_axis_label">Кроки на хвилину</string>
|
||||
|
||||
<string name="calories">Калорії</string>
|
||||
<string name="distance">Відстань</string>
|
||||
<string name="clock">Годинник</string>
|
||||
<string name="heart_rate">Пульс</string>
|
||||
<string name="battery">Акумулятор</string>
|
||||
|
||||
<string name="no_limit">Без обмежень</string>
|
||||
<string name="seconds_5">5 секунд</string>
|
||||
<string name="seconds_10">10 секунд</string>
|
||||
@ -375,9 +349,7 @@
|
||||
<string name="minutes_5">5 хвилин</string>
|
||||
<string name="minutes_10">10 хвилин</string>
|
||||
<string name="minutes_30">30 хвилин</string>
|
||||
|
||||
<string name="pref_summary_low_latency_fw_update">Це може допомогти на пристроях, де прошивання прошивки не вдається.</string>
|
||||
|
||||
<string name="you_did_not_sleep">Ви не спали</string>
|
||||
<string name="miband_prefs_reserve_alarm_calendar">Сигнали для резервування для майбутніх подій</string>
|
||||
<string name="miband_prefs_hr_sleep_detection">Використовувати датчик пульсу для поліпшення виявлення сну</string>
|
||||
@ -390,8 +362,98 @@
|
||||
<string name="pairing_in_progress">Зв\'язування в процесі: %1$s (%2$s)</string>
|
||||
<string name="preferences_amazfitcor_settings">Налаштування Amazfit Cor</string>s
|
||||
<string name="watch9_pairing_tap_hint">Коли ваш годинник вібруватиме, потрясіть пристрій або натисніть його кнопку.</string>
|
||||
|
||||
<string name="stats_x_axis_label">Всього хвилин</string>
|
||||
<string name="weeksleepchart_sleep_a_week">Сон за тиждень</string>
|
||||
<string name="weeksleepchart_today_sleep_description">Сон сьогодні, ціль: %1$s</string>
|
||||
</resources>
|
||||
<string name="controlcenter_change_led_color">Змінити колір світлодіода</string>
|
||||
<string name="controlcenter_change_fm_frequency">Змінити частоту FM</string>
|
||||
<string name="debugactivity_really_factoryreset_title">Дійсно скинути до заводських налаштувань\?</string>
|
||||
<string name="pref_title_rtl">З права на ліво</string>
|
||||
<string name="pref_pebble_privacy_mode_content">Перенесення тексту сповіщення, який виходить за рамки екрану</string>
|
||||
<string name="dbmanagementactivity_import_data_title">Імпортувати дані\?</string>
|
||||
<string name="dbmanagementactivity_import_successful">Імпортовано.</string>
|
||||
<string name="dbmanagementactivity_error_importing_db">Помилка імпорту бази даних: %1$s</string>
|
||||
<string name="dbmanagementactivity_error_importing_shared">Помилка імпорту налаштувань: %1$s</string>
|
||||
<string name="dbmanagementactivity_delete_activity_data_title">Видалити дані активності\?</string>
|
||||
<string name="dbmanagementactivity_database_successfully_deleted">Дані видалено.</string>
|
||||
<string name="dbmanagementactivity_db_deletion_failed">Не вдалося видалити базу даних.</string>
|
||||
<string name="dbmanagementactivity_overwrite">Перезаписати</string>
|
||||
<string name="ok">Гаразд</string>
|
||||
<string name="unit_metric">Метрична</string>
|
||||
<string name="unit_imperial">Англійська</string>
|
||||
<string name="pref_screen_notification_profile_alarm_clock">Будильник</string>
|
||||
<string name="StringUtils_sender">(%1$s)</string>
|
||||
<string name="find_device_you_found_it">Ви знайшли його!</string>
|
||||
<string name="miband2_prefs_timeformat">Mi2: Формат часу</string>
|
||||
<string name="mi2_enable_text_notifications">Текстові сповіщення</string>
|
||||
<string name="mi3_night_mode_sunset">При заході</string>
|
||||
<string name="mi2_dnd_automatic">Автоматично (визначення сну)</string>
|
||||
<string name="mi2_dnd_scheduled">Заплановано (часовий проміжок)</string>
|
||||
<string name="_pebble_watch_reply">Відповісти</string>
|
||||
<string name="activity_type_light_sleep">Швидкий сон</string>
|
||||
<string name="activity_type_deep_sleep">Глибокий сон</string>
|
||||
<string name="activity_type_swimming">Плавання</string>
|
||||
<string name="activity_type_unknown">Невідома активність</string>
|
||||
<string name="activity_summaries">Статистика активності</string>
|
||||
<string name="activity_type_biking">Вело прогулянка</string>
|
||||
<string name="activity_type_treadmill">Бігова доріжка</string>
|
||||
<string name="activity_type_exercise">Вправи</string>
|
||||
<string name="select_all">Обрати все</string>
|
||||
<string name="share">Поділитися</string>
|
||||
<string name="kind_firmware">Мікропрограма</string>
|
||||
<string name="kind_invalid">Недопустимі дані</string>
|
||||
<string name="kind_font">Шрифт</string>
|
||||
<string name="kind_gps">Мікропрограма GPS</string>
|
||||
<string name="kind_gps_almanac">Альманах GPS</string>
|
||||
<string name="kind_resources">Ресурси</string>
|
||||
<string name="devicetype_unknown">Невідомий пристрій</string>
|
||||
<string name="devicetype_test">Тестовий пристрій</string>
|
||||
<string name="devicetype_pebble">Pebble</string>
|
||||
<string name="devicetype_miband">Mi Band</string>
|
||||
<string name="devicetype_miband2">Mi Band 2</string>
|
||||
<string name="devicetype_miband3">Mi Band 3</string>
|
||||
<string name="devicetype_amazfit_bip">Amazfit Bip</string>
|
||||
<string name="devicetype_amazfit_cor">Amazfit Cor</string>
|
||||
<string name="devicetype_vibratissimo">Vibratissimo</string>
|
||||
<string name="devicetype_liveview">LiveView</string>
|
||||
<string name="devicetype_hplus">HPlus</string>
|
||||
<string name="devicetype_makibes_f68">Makibes F68</string>
|
||||
<string name="devicetype_exrizu_k8">Exrizu K8</string>
|
||||
<string name="devicetype_q8">Q8</string>
|
||||
<string name="devicetype_no1_f1">No.1 F1</string>
|
||||
<string name="devicetype_teclast_h30">Teclast H30</string>
|
||||
<string name="devicetype_xwatch">XWatch</string>
|
||||
<string name="devicetype_mykronoz_zetime">MyKronoz ZeTime</string>
|
||||
<string name="devicetype_id115">ID115</string>
|
||||
<string name="devicetype_watch9">Watch 9</string>
|
||||
<string name="devicetype_roidmi">Roidmi</string>
|
||||
<string name="devicetype_roidmi3">Roidmi 3</string>
|
||||
<string name="devicetype_casiogb6900">Casio GB-6900</string>
|
||||
<string name="choose_auto_export_location">Місце розташування для експорту</string>
|
||||
<string name="menuitem_status">Статус</string>
|
||||
<string name="menuitem_notifications">Сповіщення</string>
|
||||
<string name="menuitem_activity">Активність</string>
|
||||
<string name="menuitem_weather">Погода</string>
|
||||
<string name="menuitem_alarm">Будильник</string>
|
||||
<string name="menuitem_timer">Таймер</string>
|
||||
<string name="menuitem_compass">Компас</string>
|
||||
<string name="menuitem_settings">Налаштування</string>
|
||||
<string name="menuitem_music">Музика</string>
|
||||
<string name="menuitem_more">Ще</string>
|
||||
<string name="watch9_time_minutes">Хвилин:</string>
|
||||
<string name="watch9_time_hours">Годин:</string>
|
||||
<string name="watch9_time_seconds">Секунд:</string>
|
||||
<string name="watch9_calibration_button">Калібрування</string>
|
||||
<string name="share_log">Поділитися звітом</string>
|
||||
<string name="warning">Увага!</string>
|
||||
<string name="no_data">Немає даних</string>
|
||||
<string name="preferences_led_color">Колір світлодіода</string>
|
||||
<string name="preferences_fm_frequency">FM частота</string>
|
||||
<string name="pref_invalid_frequency_title">Неприпустима частота</string>
|
||||
<string name="pref_invalid_frequency_message">Будь ласка, введіть частоту з діапазону 87.5 - 108.0</string>
|
||||
<string name="language_and_region_prefs">Мова та регіональні налаштування</string>
|
||||
<string name="title_activity_notification_filter">Фільтр сповіщень</string>
|
||||
<string name="toast_notification_filter_words_empty_hint">Введіть хоча б одне слово</string>
|
||||
<string name="filter_mode">Режим фільтрації</string>
|
||||
<string name="save_configuration">Зберегти конфігурацію</string>
|
||||
</resources>
|
@ -83,6 +83,7 @@
|
||||
<string name="pref_header_notifications">Notifications</string>
|
||||
<string name="pref_title_notifications_repetitions">Repetitions</string>
|
||||
<string name="pref_title_notifications_call">Phone Calls</string>
|
||||
<string name="pref_title_support_voip_calls">Enable VoIP app calls</string>
|
||||
<string name="pref_title_notifications_sms">SMS</string>
|
||||
<string name="pref_title_notifications_timeout">Minimum time between notifications</string>
|
||||
<string name="pref_title_notifications_pebblemsg">Pebble Messages</string>
|
||||
|
@ -1,5 +1,13 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<changelog>
|
||||
<release version="0.32.4" versioncode="147">
|
||||
<change>Make voip call support optional (disabled by default)</change>
|
||||
<change>Amazfit Bip: GPX export corrections</change>
|
||||
<change>ZeTime: Fix setting alarms</change>
|
||||
<change>ZeTime: Fix wrong activity timestamps</change>
|
||||
<change>ZeTime: Set HR alarm limits when changed, not only on connect</change>
|
||||
<change>ZeTime: Sync preferences from the watch to Gadgetbridge settings</change>
|
||||
</release>
|
||||
<release version="0.32.3" versioncode="146">
|
||||
<change>Fix a crash in charts due to a broken German translation</change>
|
||||
<change>Fix a crash when transliterating emoji</change>
|
||||
|
@ -202,6 +202,11 @@
|
||||
android:key="notification_mode_calls"
|
||||
android:title="@string/pref_title_notifications_call"
|
||||
android:summary="%s" />
|
||||
<CheckBoxPreference
|
||||
android:layout="@layout/preference_checkbox"
|
||||
android:defaultValue="false"
|
||||
android:key="notification_support_voip_calls"
|
||||
android:title="@string/pref_title_support_voip_calls" />
|
||||
|
||||
<ListPreference
|
||||
android:defaultValue="when_screen_off"
|
||||
|
@ -0,0 +1,124 @@
|
||||
package nodomain.freeyourgadget.gadgetbridge.export;
|
||||
|
||||
import com.google.gson.internal.bind.util.ISO8601Utils;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.xml.sax.SAXException;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.InputStreamReader;
|
||||
import java.text.ParseException;
|
||||
import java.text.ParsePosition;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import javax.xml.XMLConstants;
|
||||
import javax.xml.parsers.ParserConfigurationException;
|
||||
import javax.xml.transform.Source;
|
||||
import javax.xml.transform.stream.StreamSource;
|
||||
import javax.xml.validation.Schema;
|
||||
import javax.xml.validation.SchemaFactory;
|
||||
import javax.xml.validation.Validator;
|
||||
|
||||
import nodomain.freeyourgadget.gadgetbridge.entities.Device;
|
||||
import nodomain.freeyourgadget.gadgetbridge.entities.User;
|
||||
import nodomain.freeyourgadget.gadgetbridge.export.ActivityTrackExporter.GPXTrackEmptyException;
|
||||
import nodomain.freeyourgadget.gadgetbridge.model.ActivityPoint;
|
||||
import nodomain.freeyourgadget.gadgetbridge.model.ActivityTrack;
|
||||
import nodomain.freeyourgadget.gadgetbridge.model.GPSCoordinate;
|
||||
import nodomain.freeyourgadget.gadgetbridge.test.TestBase;
|
||||
|
||||
public class GPXExporterTest extends TestBase {
|
||||
@Test
|
||||
public void shouldCreateValidGpxFromSimulatedData() throws IOException, ParseException, GPXTrackEmptyException, SAXException {
|
||||
final List<ActivityPoint> points = readActivityPoints("/GPXExporterTest-SampleTracks.csv");
|
||||
|
||||
final GPXExporter gpxExporter = new GPXExporter();
|
||||
gpxExporter.setCreator("Gadgetbridge Test");
|
||||
final ActivityTrack track = createTestTrack(points);
|
||||
|
||||
final File tempFile = File.createTempFile("gpx-exporter-test-track", ".gpx");
|
||||
tempFile.deleteOnExit();
|
||||
|
||||
gpxExporter.performExport(track, tempFile);
|
||||
validateGpxFile(tempFile);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldCreateValidGpxFromSimulatedDataWithHeartrate() throws IOException, ParseException, GPXTrackEmptyException, ParserConfigurationException, SAXException {
|
||||
final List<ActivityPoint> points = readActivityPoints("/GPXExporterTest-SampleTracksHR.csv");
|
||||
|
||||
final GPXExporter gpxExporter = new GPXExporter();
|
||||
gpxExporter.setCreator("Gadgetbridge Test");
|
||||
final ActivityTrack track = createTestTrack(points);
|
||||
|
||||
final File tempFile = File.createTempFile("gpx-exporter-test-track", ".gpx");
|
||||
tempFile.deleteOnExit();
|
||||
|
||||
gpxExporter.performExport(track, tempFile);
|
||||
validateGpxFile(tempFile);
|
||||
}
|
||||
|
||||
private ActivityTrack createTestTrack(List<ActivityPoint> points) {
|
||||
final User user = new User();
|
||||
user.setName("Test User");
|
||||
|
||||
Device device = new Device();
|
||||
device.setName("Test Device");
|
||||
|
||||
final ActivityTrack track = new ActivityTrack();
|
||||
track.setName("Test Track");
|
||||
track.setBaseTime(new Date());
|
||||
track.setUser(user);
|
||||
track.setDevice(device);
|
||||
|
||||
for (final ActivityPoint point : points) {
|
||||
track.addTrackPoint(point);
|
||||
}
|
||||
return track;
|
||||
}
|
||||
|
||||
private List<ActivityPoint> readActivityPoints(String resourcePath) throws IOException, ParseException {
|
||||
final List<ActivityPoint> points = new ArrayList<>();
|
||||
try (final InputStream inputStream = getClass().getResourceAsStream(resourcePath)) {
|
||||
try (final BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream))) {
|
||||
String nextLine = reader.readLine();
|
||||
while (nextLine != null) {
|
||||
final String[] pieces = nextLine.split("\\s+");
|
||||
final ActivityPoint point = new ActivityPoint();
|
||||
point.setLocation(new GPSCoordinate(
|
||||
Double.parseDouble(pieces[0]),
|
||||
Double.parseDouble(pieces[1]),
|
||||
Double.parseDouble(pieces[2]))
|
||||
);
|
||||
|
||||
final int dateIndex;
|
||||
if (pieces.length == 5) {
|
||||
point.setHeartRate(Integer.parseInt(pieces[3]));
|
||||
dateIndex = 4;
|
||||
} else {
|
||||
dateIndex = 3;
|
||||
}
|
||||
// Not sure about this parser but seemed safe to use
|
||||
point.setTime(ISO8601Utils.parse(pieces[dateIndex], new ParsePosition(0)));
|
||||
|
||||
points.add(point);
|
||||
nextLine = reader.readLine();
|
||||
}
|
||||
}
|
||||
}
|
||||
return points;
|
||||
}
|
||||
|
||||
private void validateGpxFile(File tempFile) throws SAXException, IOException {
|
||||
final Source xmlFile = new StreamSource(tempFile);
|
||||
final SchemaFactory schemaFactory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
|
||||
final Schema schema = schemaFactory.newSchema(new StreamSource(getClass().getResourceAsStream("/gpx.xsd")));
|
||||
final Validator validator = schema.newValidator();
|
||||
validator.validate(xmlFile);
|
||||
}
|
||||
}
|
14
app/src/test/resources/GPXExporterTest-SampleTracks.csv
Normal file
14
app/src/test/resources/GPXExporterTest-SampleTracks.csv
Normal file
@ -0,0 +1,14 @@
|
||||
-68.200293 44.152462 40 2019-01-01T00:00:00Z
|
||||
-68.20027 44.15246 40 2019-01-01T00:00:01Z
|
||||
-68.20026 44.152462 40 2019-01-01T00:00:02Z
|
||||
-68.200242 44.152493 40 2019-01-01T00:00:03Z
|
||||
-68.200237 44.152528 40 2019-01-01T00:00:04Z
|
||||
-68.200232 44.152567 40 2019-01-01T00:00:05Z
|
||||
-68.200248 44.152612 40 2019-01-01T00:00:06Z
|
||||
-68.200253 44.152657 40 2019-01-01T00:00:07Z
|
||||
-68.200245 44.152675 46 2019-01-01T00:00:08Z
|
||||
-68.200232 44.152695 46 2019-01-01T00:00:09Z
|
||||
-68.200215 44.15272 46 2019-01-01T00:00:10Z
|
||||
-68.200205 44.152753 46 2019-01-01T00:00:11Z
|
||||
-68.200197 44.152808 46 2019-01-01T00:00:12Z
|
||||
-68.200203 44.152877 46 2019-01-01T00:00:13Z
|
|
14
app/src/test/resources/GPXExporterTest-SampleTracksHR.csv
Normal file
14
app/src/test/resources/GPXExporterTest-SampleTracksHR.csv
Normal file
@ -0,0 +1,14 @@
|
||||
-68.73127 43.101062 40 91 2019-01-01T00:00:00Z
|
||||
-68.73126 43.101093 40 91 2019-01-01T00:00:01Z
|
||||
-68.731242 43.101128 40 91 2019-01-01T00:00:02Z
|
||||
-68.731237 43.101167 40 91 2019-01-01T00:00:03Z
|
||||
-68.731232 43.101212 40 91 2019-01-01T00:00:04Z
|
||||
-68.731248 43.101257 40 92 2019-01-01T00:00:05Z
|
||||
-68.731253 43.101275 40 92 2019-01-01T00:00:06Z
|
||||
-68.731245 43.101295 46 93 2019-01-01T00:00:07Z
|
||||
-68.731232 43.10132 46 94 2019-01-01T00:00:08Z
|
||||
-68.731215 43.101353 46 95 2019-01-01T00:00:09Z
|
||||
-68.731205 43.101408 46 95 2019-01-01T00:00:10Z
|
||||
-68.731197 43.101477 46 95 2019-01-01T00:00:11Z
|
||||
-68.731203 43.10152 46 96 2019-01-01T00:00:12Z
|
||||
-68.73121 43.101565 45 96 2019-01-01T00:00:13Z
|
|
784
app/src/test/resources/gpx.xsd
Normal file
784
app/src/test/resources/gpx.xsd
Normal file
@ -0,0 +1,784 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.topografix.com/GPX/1/1" targetNamespace="http://www.topografix.com/GPX/1/1" elementFormDefault="qualified">
|
||||
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
GPX schema version 1.1 - For more information on GPX and this schema, visit http://www.topografix.com/gpx.asp
|
||||
|
||||
GPX uses the following conventions: all coordinates are relative to the WGS84 datum. All measurements are in metric units.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
|
||||
<xsd:element name="gpx" type="gpxType">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
GPX is the root element in the XML file.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:element>
|
||||
|
||||
<xsd:complexType name="gpxType">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
GPX documents contain a metadata header, followed by waypoints, routes, and tracks. You can add your own elements
|
||||
to the extensions section of the GPX document.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="metadata" type="metadataType" minOccurs="0">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
Metadata about the file.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:element>
|
||||
<xsd:element name="wpt" type="wptType" minOccurs="0" maxOccurs="unbounded">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
A list of waypoints.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:element>
|
||||
<xsd:element name="rte" type="rteType" minOccurs="0" maxOccurs="unbounded">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
A list of routes.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:element>
|
||||
<xsd:element name="trk" type="trkType" minOccurs="0" maxOccurs="unbounded">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
A list of tracks.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:element>
|
||||
<xsd:element name="extensions" type="extensionsType" minOccurs="0">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
You can add extend GPX by adding your own elements from another schema here.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:element>
|
||||
</xsd:sequence>
|
||||
|
||||
<xsd:attribute name="version" type="xsd:string" use="required" fixed="1.1">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
You must include the version number in your GPX document.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:attribute>
|
||||
<xsd:attribute name="creator" type="xsd:string" use="required">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
You must include the name or URL of the software that created your GPX document. This allows others to
|
||||
inform the creator of a GPX instance document that fails to validate.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:attribute>
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="metadataType">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
Information about the GPX file, author, and copyright restrictions goes in the metadata section. Providing rich,
|
||||
meaningful information about your GPX files allows others to search for and use your GPS data.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
<xsd:sequence> <!-- elements must appear in this order -->
|
||||
<xsd:element name="name" type="xsd:string" minOccurs="0">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
The name of the GPX file.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:element>
|
||||
<xsd:element name="desc" type="xsd:string" minOccurs="0">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
A description of the contents of the GPX file.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:element>
|
||||
<xsd:element name="author" type="personType" minOccurs="0">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
The person or organization who created the GPX file.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:element>
|
||||
<xsd:element name="copyright" type="copyrightType" minOccurs="0">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
Copyright and license information governing use of the file.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:element>
|
||||
<xsd:element name="link" type="linkType" minOccurs="0" maxOccurs="unbounded">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
URLs associated with the location described in the file.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:element>
|
||||
<xsd:element name="time" type="xsd:dateTime" minOccurs="0">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
The creation date of the file.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:element>
|
||||
<xsd:element name="keywords" type="xsd:string" minOccurs="0">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
Keywords associated with the file. Search engines or databases can use this information to classify the data.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:element>
|
||||
<xsd:element name="bounds" type="boundsType" minOccurs="0">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
Minimum and maximum coordinates which describe the extent of the coordinates in the file.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:element>
|
||||
|
||||
<xsd:element name="extensions" type="extensionsType" minOccurs="0">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
You can add extend GPX by adding your own elements from another schema here.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:element>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="wptType">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
wpt represents a waypoint, point of interest, or named feature on a map.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
<xsd:sequence> <!-- elements must appear in this order -->
|
||||
<!-- Position info -->
|
||||
<xsd:element name="ele" type="xsd:decimal" minOccurs="0">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
Elevation (in meters) of the point.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:element>
|
||||
<xsd:element name="time" type="xsd:dateTime" minOccurs="0">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
Creation/modification timestamp for element. Date and time in are in Univeral Coordinated Time (UTC), not local time! Conforms to ISO 8601 specification for date/time representation. Fractional seconds are allowed for millisecond timing in tracklogs.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:element>
|
||||
<xsd:element name="magvar" type="degreesType" minOccurs="0">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
Magnetic variation (in degrees) at the point
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:element>
|
||||
<xsd:element name="geoidheight" type="xsd:decimal" minOccurs="0">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
Height (in meters) of geoid (mean sea level) above WGS84 earth ellipsoid. As defined in NMEA GGA message.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:element>
|
||||
|
||||
<!-- Description info -->
|
||||
<xsd:element name="name" type="xsd:string" minOccurs="0">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
The GPS name of the waypoint. This field will be transferred to and from the GPS. GPX does not place restrictions on the length of this field or the characters contained in it. It is up to the receiving application to validate the field before sending it to the GPS.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:element>
|
||||
<xsd:element name="cmt" type="xsd:string" minOccurs="0">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
GPS waypoint comment. Sent to GPS as comment.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:element>
|
||||
<xsd:element name="desc" type="xsd:string" minOccurs="0">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
A text description of the element. Holds additional information about the element intended for the user, not the GPS.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:element>
|
||||
<xsd:element name="src" type="xsd:string" minOccurs="0">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
Source of data. Included to give user some idea of reliability and accuracy of data. "Garmin eTrex", "USGS quad Boston North", e.g.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:element>
|
||||
<xsd:element name="link" type="linkType" minOccurs="0" maxOccurs="unbounded">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
Link to additional information about the waypoint.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:element>
|
||||
<xsd:element name="sym" type="xsd:string" minOccurs="0">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
Text of GPS symbol name. For interchange with other programs, use the exact spelling of the symbol as displayed on the GPS. If the GPS abbreviates words, spell them out.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:element>
|
||||
<xsd:element name="type" type="xsd:string" minOccurs="0">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
Type (classification) of the waypoint.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:element>
|
||||
|
||||
<!-- Accuracy info -->
|
||||
<xsd:element name="fix" type="fixType" minOccurs="0">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
Type of GPX fix.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:element>
|
||||
<xsd:element name="sat" type="xsd:nonNegativeInteger" minOccurs="0">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
Number of satellites used to calculate the GPX fix.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:element>
|
||||
<xsd:element name="hdop" type="xsd:decimal" minOccurs="0">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
Horizontal dilution of precision.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:element>
|
||||
<xsd:element name="vdop" type="xsd:decimal" minOccurs="0">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
Vertical dilution of precision.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:element>
|
||||
<xsd:element name="pdop" type="xsd:decimal" minOccurs="0">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
Position dilution of precision.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:element>
|
||||
<xsd:element name="ageofdgpsdata" type="xsd:decimal" minOccurs="0">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
Number of seconds since last DGPS update.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:element>
|
||||
<xsd:element name="dgpsid" type="dgpsStationType" minOccurs="0">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
ID of DGPS station used in differential correction.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:element>
|
||||
|
||||
<xsd:element name="extensions" type="extensionsType" minOccurs="0">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
You can add extend GPX by adding your own elements from another schema here.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:element>
|
||||
</xsd:sequence>
|
||||
|
||||
<xsd:attribute name="lat" type="latitudeType" use="required">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
The latitude of the point. This is always in decimal degrees, and always in WGS84 datum.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:attribute>
|
||||
<xsd:attribute name="lon" type="longitudeType" use="required">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
The longitude of the point. This is always in decimal degrees, and always in WGS84 datum.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:attribute>
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="rteType">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
rte represents route - an ordered list of waypoints representing a series of turn points leading to a destination.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="name" type="xsd:string" minOccurs="0">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
GPS name of route.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:element>
|
||||
<xsd:element name="cmt" type="xsd:string" minOccurs="0">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
GPS comment for route.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:element>
|
||||
<xsd:element name="desc" type="xsd:string" minOccurs="0">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
Text description of route for user. Not sent to GPS.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:element>
|
||||
<xsd:element name="src" type="xsd:string" minOccurs="0">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
Source of data. Included to give user some idea of reliability and accuracy of data.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:element>
|
||||
<xsd:element name="link" type="linkType" minOccurs="0" maxOccurs="unbounded">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
Links to external information about the route.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:element>
|
||||
<xsd:element name="number" type="xsd:nonNegativeInteger" minOccurs="0">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
GPS route number.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:element>
|
||||
<xsd:element name="type" type="xsd:string" minOccurs="0">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
Type (classification) of route.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:element>
|
||||
|
||||
<xsd:element name="extensions" type="extensionsType" minOccurs="0">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
You can add extend GPX by adding your own elements from another schema here.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:element>
|
||||
|
||||
<xsd:element name="rtept" type="wptType" minOccurs="0" maxOccurs="unbounded">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
A list of route points.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:element>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="trkType">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
trk represents a track - an ordered list of points describing a path.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="name" type="xsd:string" minOccurs="0">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
GPS name of track.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:element>
|
||||
<xsd:element name="cmt" type="xsd:string" minOccurs="0">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
GPS comment for track.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:element>
|
||||
<xsd:element name="desc" type="xsd:string" minOccurs="0">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
User description of track.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:element>
|
||||
<xsd:element name="src" type="xsd:string" minOccurs="0">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
Source of data. Included to give user some idea of reliability and accuracy of data.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:element>
|
||||
<xsd:element name="link" type="linkType" minOccurs="0" maxOccurs="unbounded">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
Links to external information about track.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:element>
|
||||
<xsd:element name="number" type="xsd:nonNegativeInteger" minOccurs="0">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
GPS track number.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:element>
|
||||
<xsd:element name="type" type="xsd:string" minOccurs="0">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
Type (classification) of track.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:element>
|
||||
|
||||
<xsd:element name="extensions" type="extensionsType" minOccurs="0">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
You can add extend GPX by adding your own elements from another schema here.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:element>
|
||||
|
||||
<xsd:element name="trkseg" type="trksegType" minOccurs="0" maxOccurs="unbounded">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
A Track Segment holds a list of Track Points which are logically connected in order. To represent a single GPS track where GPS reception was lost, or the GPS receiver was turned off, start a new Track Segment for each continuous span of track data.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:element>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="extensionsType">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
You can add extend GPX by adding your own elements from another schema here.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
<xsd:sequence>
|
||||
<xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
You can add extend GPX by adding your own elements from another schema here.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:any>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="trksegType">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
A Track Segment holds a list of Track Points which are logically connected in order. To represent a single GPS track where GPS reception was lost, or the GPS receiver was turned off, start a new Track Segment for each continuous span of track data.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
<xsd:sequence> <!-- elements must appear in this order -->
|
||||
<xsd:element name="trkpt" type="wptType" minOccurs="0" maxOccurs="unbounded">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
A Track Point holds the coordinates, elevation, timestamp, and metadata for a single point in a track.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:element>
|
||||
|
||||
<xsd:element name="extensions" type="extensionsType" minOccurs="0">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
You can add extend GPX by adding your own elements from another schema here.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:element>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="copyrightType">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
Information about the copyright holder and any license governing use of this file. By linking to an appropriate license,
|
||||
you may place your data into the public domain or grant additional usage rights.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
<xsd:sequence> <!-- elements must appear in this order -->
|
||||
<xsd:element name="year" type="xsd:gYear" minOccurs="0">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
Year of copyright.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:element>
|
||||
<xsd:element name="license" type="xsd:anyURI" minOccurs="0">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
Link to external file containing license text.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:element>
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="author" type="xsd:string" use="required">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
Copyright holder (TopoSoft, Inc.)
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:attribute>
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="linkType">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
A link to an external resource (Web page, digital photo, video clip, etc) with additional information.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
<xsd:sequence> <!-- elements must appear in this order -->
|
||||
<xsd:element name="text" type="xsd:string" minOccurs="0">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
Text of hyperlink.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:element>
|
||||
<xsd:element name="type" type="xsd:string" minOccurs="0">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
Mime type of content (image/jpeg)
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:element>
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="href" type="xsd:anyURI" use="required">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
URL of hyperlink.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:attribute>
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="emailType">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
An email address. Broken into two parts (id and domain) to help prevent email harvesting.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
<xsd:attribute name="id" type="xsd:string" use="required">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
id half of email address (billgates2004)
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:attribute>
|
||||
<xsd:attribute name="domain" type="xsd:string" use="required">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
domain half of email address (hotmail.com)
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:attribute>
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="personType">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
A person or organization.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
<xsd:sequence> <!-- elements must appear in this order -->
|
||||
<xsd:element name="name" type="xsd:string" minOccurs="0">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
Name of person or organization.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:element>
|
||||
<xsd:element name="email" type="emailType" minOccurs="0">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
Email address.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:element>
|
||||
<xsd:element name="link" type="linkType" minOccurs="0">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
Link to Web site or other external information about person.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:element>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="ptType">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
A geographic point with optional elevation and time. Available for use by other schemas.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
<xsd:sequence> <!-- elements must appear in this order -->
|
||||
<xsd:element name="ele" type="xsd:decimal" minOccurs="0">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
The elevation (in meters) of the point.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:element>
|
||||
<xsd:element name="time" type="xsd:dateTime" minOccurs="0">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
The time that the point was recorded.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:element>
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="lat" type="latitudeType" use="required">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
The latitude of the point. Decimal degrees, WGS84 datum.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:attribute>
|
||||
<xsd:attribute name="lon" type="longitudeType" use="required">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
The latitude of the point. Decimal degrees, WGS84 datum.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:attribute>
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="ptsegType">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
An ordered sequence of points. (for polygons or polylines, e.g.)
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
<xsd:sequence> <!-- elements must appear in this order -->
|
||||
<xsd:element name="pt" type="ptType" minOccurs="0" maxOccurs="unbounded">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
Ordered list of geographic points.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:element>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="boundsType">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
Two lat/lon pairs defining the extent of an element.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
<xsd:attribute name="minlat" type="latitudeType" use="required">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
The minimum latitude.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:attribute>
|
||||
<xsd:attribute name="minlon" type="longitudeType" use="required">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
The minimum longitude.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:attribute>
|
||||
<xsd:attribute name="maxlat" type="latitudeType" use="required">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
The maximum latitude.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:attribute>
|
||||
<xsd:attribute name="maxlon" type="longitudeType" use="required">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
The maximum longitude.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:attribute>
|
||||
</xsd:complexType>
|
||||
|
||||
|
||||
<xsd:simpleType name="latitudeType">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
The latitude of the point. Decimal degrees, WGS84 datum.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
<xsd:restriction base="xsd:decimal">
|
||||
<xsd:minInclusive value="-90.0"/>
|
||||
<xsd:maxInclusive value="90.0"/>
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
|
||||
<xsd:simpleType name="longitudeType">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
The longitude of the point. Decimal degrees, WGS84 datum.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
<xsd:restriction base="xsd:decimal">
|
||||
<xsd:minInclusive value="-180.0"/>
|
||||
<xsd:maxExclusive value="180.0"/>
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
|
||||
<xsd:simpleType name="degreesType">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
Used for bearing, heading, course. Units are decimal degrees, true (not magnetic).
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
<xsd:restriction base="xsd:decimal">
|
||||
<xsd:minInclusive value="0.0"/>
|
||||
<xsd:maxExclusive value="360.0"/>
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
|
||||
<xsd:simpleType name="fixType">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
Type of GPS fix. none means GPS had no fix. To signify "the fix info is unknown, leave out fixType entirely. pps = military signal used
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
<xsd:restriction base="xsd:string">
|
||||
<xsd:enumeration value="none"/>
|
||||
<xsd:enumeration value="2d"/>
|
||||
<xsd:enumeration value="3d"/>
|
||||
<xsd:enumeration value="dgps"/>
|
||||
<xsd:enumeration value="pps"/>
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
|
||||
<xsd:simpleType name="dgpsStationType">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
Represents a differential GPS station.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
<xsd:restriction base="xsd:integer">
|
||||
<xsd:minInclusive value="0"/>
|
||||
<xsd:maxInclusive value="1023"/>
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
|
||||
</xsd:schema>
|
@ -6,7 +6,7 @@ buildscript {
|
||||
google()
|
||||
}
|
||||
dependencies {
|
||||
classpath 'com.android.tools.build:gradle:3.3.1'
|
||||
classpath 'com.android.tools.build:gradle:3.3.2'
|
||||
|
||||
// NOTE: Do not place your application dependencies here; they belong
|
||||
// in the individual module build.gradle files
|
||||
|
6
fastlane/metadata/android/en-US/changelogs/147.txt
Normal file
6
fastlane/metadata/android/en-US/changelogs/147.txt
Normal file
@ -0,0 +1,6 @@
|
||||
* Make voip call support optional (disabled by default)
|
||||
* Amazfit Bip: GPX export corrections
|
||||
* ZeTime: Fix setting alarms
|
||||
* ZeTime: Fix wrong activity timestamps
|
||||
* ZeTime: Set HR alarm limits when changed, not only on connect
|
||||
* ZeTime: Sync preferences from the watch to Gadgetbridge settings
|
Loading…
Reference in New Issue
Block a user