diff --git a/CREDITS.md b/CREDITS.md
new file mode 100644
index 0000000..87d701f
--- /dev/null
+++ b/CREDITS.md
@@ -0,0 +1,7 @@
+CREDITS
+-------
+Thank you to the following people who have contributed to this app:
+
+Juergen Huebers - German Translation
+Pavel Losevsky - Russian Translation
+Andreas Ekstrom - Sweedish Translation
diff --git a/app/src/main/java/uk/org/openseizuredetector/SdServer.java b/app/src/main/java/uk/org/openseizuredetector/SdServer.java
index cbed35f..164db1e 100644
--- a/app/src/main/java/uk/org/openseizuredetector/SdServer.java
+++ b/app/src/main/java/uk/org/openseizuredetector/SdServer.java
@@ -414,31 +414,31 @@ public class SdServer extends Service implements SdDataReceiver {
switch (alarmLevel) {
case 0:
iconId = R.drawable.star_of_life_24x24;
- titleStr = "OK";
+ titleStr = getString(R.string.okBtnTxt);
soundUri = null;
break;
case 1:
iconId = R.drawable.star_of_life_yellow_24x24;
- titleStr = "WARNING";
+ titleStr = getString(R.string.Warning);
if (mAudibleWarning)
soundUri = Uri.parse("android.resource://" + getPackageName() + "/raw/warning");
break;
case 2:
iconId = R.drawable.star_of_life_red_24x24;
- titleStr = "ALARM";
+ titleStr = getString(R.string.Alarm);
if (mAudibleAlarm)
soundUri = Uri.parse("android.resource://" + getPackageName() + "/raw/alarm");
break;
case -1:
iconId = R.drawable.star_of_life_fault_24x24;
- titleStr = "FAULT";
+ titleStr = getString(R.string.Fault);
if (mAudibleFaultWarning)
soundUri = Uri.parse("android.resource://" + getPackageName() + "/raw/fault");
break;
default:
iconId = R.drawable.star_of_life_24x24;
soundUri = null;
- titleStr = "OK";
+ titleStr = getString(R.string.okBtnTxt);
}
if (mCancelAudible) {
@@ -453,9 +453,9 @@ public class SdServer extends Service implements SdDataReceiver {
0, i, PendingIntent.FLAG_UPDATE_CURRENT);
String smsStr;
if (mSMSAlarm) {
- smsStr = "WARNING: SMS Location Alarm Active";
+ smsStr = getString(R.string.sms_location_alarm_active);
} else {
- smsStr = "SMS Location Alarm Disabled";
+ smsStr = getString(R.string.sms_location_alarm_disabled);
}
if (mNotificationBuilder != null) {
mNotification = mNotificationBuilder.setContentIntent(contentIntent)
@@ -788,11 +788,11 @@ public class SdServer extends Service implements SdDataReceiver {
}
} else {
Log.i(TAG, "sendSMSAlarm() - Cancel Audible Active - not sending SMS");
- mUtil.showToast("Cancel Audible Active - not sending SMS");
+ mUtil.showToast(getString(R.string.cancel_audible_not_sending_sms));
}
} else {
Log.i(TAG, "sendSMSAlarm() - SMS Alarms Disabled - not doing anything!");
- mUtil.showToast("SMS Alarms Disabled - not doing anything!");
+ mUtil.showToast(getString(R.string.sms_alarm_disabled));
}
}
@@ -996,7 +996,7 @@ public class SdServer extends Service implements SdDataReceiver {
if (!isWiFi) {
Log.v(TAG, "NetworkBroadcastReceiver - no Wifi Connection");
mUtil.writeToSysLogFile("Network State Changed - no Wifi Connection");
- mUtil.showToast("Network State Changed - no Wifi Connection");
+ mUtil.showToast(getString(R.string.no_wifi_connection));
} else {
Log.v(TAG, "NetworkBroadcastReceiver - Wifi Connected");
mUtil.writeToSysLogFile("Network State Changed - Wifi Connected");
@@ -1005,7 +1005,7 @@ public class SdServer extends Service implements SdDataReceiver {
} else {
Log.v(TAG, "NetworkBroadcastReceiver - No Active Network");
mUtil.writeToSysLogFile("Network State Changed - No Active Network");
- mUtil.showToast("Network State Changed - No Active Network");
+ mUtil.showToast(getString(R.string.no_active_network));
}
}
}
@@ -1092,7 +1092,7 @@ public class SdServer extends Service implements SdDataReceiver {
} catch (Exception ex) {
Log.v(TAG, "updatePrefs() - Problem parsing preferences!");
mUtil.writeToSysLogFile("SdServer.updatePrefs() - Error " + ex.toString());
- mUtil.showToast("Problem Parsing Preferences - Something won't work - Please go back to Settings and correct it!");
+ mUtil.showToast(getString(R.string.problem_parsing_preferences));
}
}
@@ -1174,7 +1174,7 @@ public class SdServer extends Service implements SdDataReceiver {
mLocationFinder.getLocation(this);
Location loc = mLocationFinder.getLastLocation();
if (loc != null) {
- mUtil.showToast("Send SMS - last location is "
+ mUtil.showToast(getString(R.string.send_sms_last_location)
+ loc.getLongitude() + ","
+ loc.getLatitude());
} else {
@@ -1216,7 +1216,7 @@ public class SdServer extends Service implements SdDataReceiver {
Log.e(TAG, "sendSMS - Failed to send SMS Message");
mUtil.writeToSysLogFile("sendSMS - Failed to send SMS Message");
Log.e(TAG, e.toString());
- mUtil.showToast("ERROR: FAILED TO SEND SMS MESSAGE");
+ mUtil.showToast(getString(R.string.failed_to_send_sms));
}
}
@@ -1239,7 +1239,7 @@ public class SdServer extends Service implements SdDataReceiver {
@Override
public void onSdLocationReceived(Location ll) {
if (ll == null) {
- mUtil.showToast("onSdLocationReceived() - NULL LOCATION RECEIVED");
+ //mUtil.showToast("onSdLocationReceived() - NULL LOCATION RECEIVED");
Log.w(TAG, "onSdLocationReceived() - NULL LOCATION RECEIVED");
} else {
//mUtil.showToast("onSdLocationReceived() - found location" + ll.toString());
@@ -1266,7 +1266,7 @@ public class SdServer extends Service implements SdDataReceiver {
}
} else {
Log.i(TAG, "sendSMSAlarm() - SMS Alarms Disabled - not doing anything!");
- mUtil.showToast("SMS Alarms Disabled - not doing anything!");
+ mUtil.showToast(getString(R.string.sms_alarms_disabled));
}
}
diff --git a/app/src/main/res/layout/about_layout.xml b/app/src/main/res/layout/about_layout.xml
index 554e8c1..a1c3b06 100644
--- a/app/src/main/res/layout/about_layout.xml
+++ b/app/src/main/res/layout/about_layout.xml
@@ -18,18 +18,7 @@
android:layout_height="wrap_content"
android:textSize="16sp"
android:autoLink="web"
- android:text="OpenSeizureDetector epileptic\n
-(tonic-clonic) seizure detector and \n
-alarm system. Uses a Pebble Smart\n
-watch to detect the shaking \n
-associated with a seizure, \n
-then raises audible and text\n
-message (SMS) alerts for carers.\n
-The system is free and open source - see \n
-http://openseizuredetector.org.uk for details.
-Please report any issues to graham@openseizuredetector.org.uk\n
-or raise an issue on the project github source code \n
-repository - https://github.com/OpenSeizureDetector"
+ android:text="@string/about_text"
/>
diff --git a/app/src/main/res/layout/startup_activity.xml b/app/src/main/res/layout/startup_activity.xml
index 7ad4a3b..931f1fc 100644
--- a/app/src/main/res/layout/startup_activity.xml
+++ b/app/src/main/res/layout/startup_activity.xml
@@ -40,7 +40,7 @@
@@ -127,7 +127,7 @@
diff --git a/app/src/main/res/menu/main_activity_actions.xml b/app/src/main/res/menu/main_activity_actions.xml
index d99d335..73b9dbd 100644
--- a/app/src/main/res/menu/main_activity_actions.xml
+++ b/app/src/main/res/menu/main_activity_actions.xml
@@ -2,14 +2,14 @@
+ android:title="@string/accept_alarm" />
+ android:title="@string/start_stop_server" />
+ Epost
+ Lösenord
+ Logga in eller registrera
+ Logga in
+ "Välkommen!"
+ Ej giltigt användarnamn
+ Lösenord måste vara >5 tecken
+ "Inloggning misslyckades"
+ Avancerat läge
+ Aktivera avancerade inställningar (ger fler valmöjligheter....)
+ Starta automatiskt
+ Öppna OpenSeizureDetector automatiskt när enheten startar
+ Välj datakälla
+ Välj om du använder en Garminklocka, Pebbleklocka eller nätverksanslutning som OpenSeizureDetectors datakälla.
+ Logga data via nätverk
+ Logga data till OpenSeizureDetector databas
+ Använd mobilnät
+ Använd mobilnät för att logga data
+ Seizure Detector inställningar
+ Alarmgräns
+ Alarmgräns (förval = 100)
+ Alarm kvotgräns
+ Alarm kvotgräns (förval = 50). Öka för att minska känsligheten.
+ Maxvärde frekvens (Hz)
+ Maxvärde frekvens ROI (Hz) (förval = 8 Hz)
+ Minvärde frekvens (Hz)
+ Minvärde frekvens ROI (Hz) (förval = 3 Hz)
+ Pulslarm PÅ
+
+ Larma vid nollpuls
+
+ Puls mingräns (bpm)
+
+ Puls maxgräns (bpm)
+
+ Basic
+ Basic Preferences
+ Accept Alarm
+ Start/Stop Server
+ Install Watch App
+ Test Alarm Beep
+ Test Warning Beep
+ Test SMS Alarm Notification
+ Data Log Manager
+ View Log Entries
+ Export Data
+ Settings
+ About...
+ OpenSeizureDetector epileptic\n (tonic-clonic) seizure detector and \n alarm system. Uses a Pebble Smart\n watch to detect the shaking \n associated with a seizure, \n then raises audible and text\n message (SMS) alerts for carers.\n The system is free and open source - see \n http://openseizuredetector.org.uk for details. Please report any issues to graham@openseizuredetector.org.uk\n or raise an issue on the project github source code \n repository - https://github.com/OpenSeizureDetector
+ Main Watch App and Android App \n copyright Graham Jones, 2015.\n The following libraries are used:\n - SYLT-FFT - https://github.com/stg/SYLT-FFT by D. Taylor.\n - NanoHTTPD - https://github.com/NanoHttpd/nanohttpd\n - jQuery - http://jquery.org\n - jBeep - http://www.ultraduz.com.br\n - Chartjs - http://www.chartjs.org\n - MPAndroidChart - https://github.com/PhilJay/MPAndroidChart\n - UCE-Handler - https://github.com/RohitSurwase/UCE-Handler\n \n The Logo is based on Star of life2 by Verdy P, \n Licensed under Public Domain via\n Wikimedia Commons (http://commons.wikimedia.org/wiki/File:Star_of_life2.svg#mediaviewer/File:Star_of_life2.svg).
+ Edit Settings
+ SMS Location Alarm Active
+ SMS Location Alarm Disabled
+ Cancel Audible Active - not sending SMS
+ SMS Alarms Disabled - not doing anything!
+ Network State Changed - no Wifi Connection
+ Network State Changed - No Active Network
+ Problem Parsing Preferences - Something won\'t work - Please go back to Settings and correct it!
+ \"Send SMS - last location is \"
+ ERROR: FAILED TO SEND SMS MESSAGE
+ SMS Alarms Disabled - not doing anything!
+
+
+
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index fd7be75..67bdfd2 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -120,5 +120,31 @@
Heart Rate Max Threshold (bpm)
+ Basic
+ Basic Preferences
+ Accept Alarm
+ Start/Stop Server
+ Install Watch App
+ Test Alarm Beep
+ Test Warning Beep
+ Test SMS Alarm Notification
+ Data Log Manager
+ View Log Entries
+ Export Data
+ Settings
+ About...
+ OpenSeizureDetector epileptic\n (tonic-clonic) seizure detector and \n alarm system. Uses a Pebble Smart\n watch to detect the shaking \n associated with a seizure, \n then raises audible and text\n message (SMS) alerts for carers.\n The system is free and open source - see \n http://openseizuredetector.org.uk for details. Please report any issues to graham@openseizuredetector.org.uk\n or raise an issue on the project github source code \n repository - https://github.com/OpenSeizureDetector
+ Main Watch App and Android App \n copyright Graham Jones, 2015.\n The following libraries are used:\n - SYLT-FFT - https://github.com/stg/SYLT-FFT by D. Taylor.\n - NanoHTTPD - https://github.com/NanoHttpd/nanohttpd\n - jQuery - http://jquery.org\n - jBeep - http://www.ultraduz.com.br\n - Chartjs - http://www.chartjs.org\n - MPAndroidChart - https://github.com/PhilJay/MPAndroidChart\n - UCE-Handler - https://github.com/RohitSurwase/UCE-Handler\n \n The Logo is based on Star of life2 by Verdy P, \n Licensed under Public Domain via\n Wikimedia Commons (http://commons.wikimedia.org/wiki/File:Star_of_life2.svg#mediaviewer/File:Star_of_life2.svg).
+ Edit Settings
+ SMS Location Alarm Active
+ SMS Location Alarm Disabled
+ Cancel Audible Active - not sending SMS
+ SMS Alarms Disabled - not doing anything!
+ Network State Changed - no Wifi Connection
+ Network State Changed - No Active Network
+ Problem Parsing Preferences - Something won\'t work - Please go back to Settings and correct it!
+ \"Send SMS - last location is \"
+ ERROR: FAILED TO SEND SMS MESSAGE
+ SMS Alarms Disabled - not doing anything!
diff --git a/app/src/main/res/xml/preference_headers.xml b/app/src/main/res/xml/preference_headers.xml
index b396c7b..1450392 100644
--- a/app/src/main/res/xml/preference_headers.xml
+++ b/app/src/main/res/xml/preference_headers.xml
@@ -4,8 +4,8 @@
+ android:title="@string/BasicPrefTitle"
+ android:summary="@string/BasicPrefSummary" />
+
+ OpenSeizureDetector
+
+ OpenSeizureDetector samlar inga personliga data.
+ Detta innebär att det inte är möjligt för mig att nå ut med information om eventuella
+ problem med appen som kan uppstå. \nVänligen prenumerera på uppdateringar via
+ http://openseizuredetector.org.uk eller appens Facebooksida https://www.facebook.com/openseizuredetector. \nTack! Graham \ngraham@openseizuredetector.org.uk
+ \n\nChanges in this version:
+ \n V3.2.0 - mar2020
+ \n - Modified data logging to use sqlite database rather than text files.
+ \n - Added facility to upload data to remote server.
+ \n - Added support for additional GarminSD settings data fields to record the watch app version number etc and
+ log that info to the SysLog file.
+ \n - Made only a subset of settings visible by default unless the user enables Advanced Mode
+ \n V3.1.15 - Added German Language Support to main and start-up screens
+ \n V3.1.14 - Repaired OpenSeizureDetector Web Interface, that was broken by V3.1.13
+ \n V3.1.13 - Fixed ERR-400 display on Garmin watch and associated problem with network datasource fault alerting.
+ \n
+
+
+ OpenSeizureDetector samlar inga personliga data.
+ Detta innebär att det inte är möjligt för mig att nå ut med information om eventuella
+ problem med appen som kan uppstå.
+ \nVänligen prenumerera på uppdateringar via
+ http://openseizuredetector.org.uk eller appens Facebooksida https://www.facebook.com/openseizuredetector.\nTack! Graham \ngraham@openseizuredetector.org.uk
+ \n\nChanges in this version:
+ \n V3.2.0 - mar2020
+ \n - Modified data logging to use sqlite database rather than text files.
+ \n - Added facility to upload data to remote server.
+ \n - Added support for additional GarminSD settings data fields to record the watch app version number etc and
+ log that info to the SysLog file.
+ \n - Made only a subset of settings visible by default unless the user enables Advanced Mode
+ \n V3.1.15 - Added German Language Support to main and start-up screens
+ \n V3.1.14 - Repaired OpenSeizureDetector Web Interface, that was broken by V3.1.13
+ \n V3.1.13 - Fixed ERR-400 display on Garmin watch and associated problem with network datasource fault alerting.
+
+ OpenSeizureDetector har tyvärr kraschat. Vänligen eposta loggfilen till oss, så att vi kan undersöka vad som hänt och åtgärda problemet.\nTack! Graham.
+ Hej OpenSeizureDetector!\n\nAppen har precis kraschat, vänligen kontrollera loggen för fler detaljer.\n\n\n
+ OpenSeizureDetector (Using UCE Handler\nCopyright © 2018 Rohit Sahebrao Surwase.)
+ OK
+ Tack för att du uppdaterar OpenSeizureDetector
+ Välkommen till OpenSeizureDetector
+ Problem med SMS-behörighet
+ App-behörighet OK
+ Problem med App-behörighet
+ Anslutning till tjänst OK
+ Kopplar till Bakgrundstjänst...
+ Anslutning till klocka OK
+ Klocka ej ansluten
+ Mottagning av Seizure Detector Data OK
+ Väntar på Seizure Detector Data...
+ Mottagning av Seizure Detector inställningar OK
+ Väntar på Seizure Detector inställningar...
+ Datakälla
+ OpenSeizureDetector Android App Version
+ Server status OK\n
+ Anslut till server på
+ Server stoppad
+ VARNING
+ Stäng av
+ **ALARM**
+ **FALL**
+ \"Puls = \"
+ Pulslarm Av
+ Smartklocka App OK
+ Smartklocka App AV
+ Klockbatteri =
+ \"Styrka = \"
+ Kvotvärde =
+ (gräns =
+ NÄTFEL
+ Klocka App -----
+ ------
+ SMS skickas om
+ AVBRYT?
+ Acceptera Alarm
+ Ljudalarm avstängda i
+ Tryck för att återaktivera
+ Stäng av ljudalarm (temporärt)
+ Ljudalarm AV
+ Fel
+ Godkänn
+ Ej godkänt
+ Avbryt
+
+ Epost
+ Lösenord
+ Logga in eller registrera
+ Logga in
+ "Välkommen!"
+ Ej giltigt användarnamn
+ Lösenord måste vara >5 tecken
+ "Inloggning misslyckades"
+ Avancerat läge
+ Aktivera avancerade inställningar (ger fler valmöjligheter....)
+ Starta automatiskt
+ Öppna OpenSeizureDetector automatiskt när enheten startar
+ Välj datakälla
+ Välj om du använder en Garminklocka, Pebbleklocka eller nätverksanslutning som OpenSeizureDetectors datakälla.
+ Logga data via nätverk
+ Logga data till OpenSeizureDetector databas
+ Använd mobilnät
+ Använd mobilnät för att logga data
+ Seizure Detector inställningar
+ Alarmgräns
+ Alarmgräns (förval = 100)
+ Alarm kvotgräns
+ Alarm kvotgräns (förval = 50). Öka för att minska känsligheten.
+ Maxvärde frekvens (Hz)
+ Maxvärde frekvens ROI (Hz) (förval = 8 Hz)
+ Minvärde frekvens (Hz)
+ Minvärde frekvens ROI (Hz) (förval = 3 Hz)
+ Pulslarm PÅ
+
+ Larma vid nollpuls
+
+ Puls mingräns (bpm)
+
+ Puls maxgräns (bpm)
+
+
+
+
diff --git a/translations/sv/sv-1.png b/translations/sv/sv-1.png
new file mode 100644
index 0000000..cb9835f
Binary files /dev/null and b/translations/sv/sv-1.png differ
diff --git a/translations/sv/sv-2.png b/translations/sv/sv-2.png
new file mode 100644
index 0000000..184bdcd
Binary files /dev/null and b/translations/sv/sv-2.png differ