فهرست منبع

Release 1.6.0 (#37)

* Add garmin management in iAPS. Thanks @avouspierre!
* Create a menu "Watch devices" for Garmin and Apple Watch, by @avouspierre.
* Allow to configure the content of the third part of the watch faces,  by @avouspierre.
Add steps display
* add (suggested) ISF display option on the Apple Watch,  by @avouspierre.
* Allows to use the IOS Simulator again
* First implementation of siri shortcuts, by @avouspierre.

* Remove some of the target schemes in iAPS  to avoid build errors.
* New recommended bolus % setting. % of normal manual bolus which iAPS recommends
* Add Carbs UI simplifications
* New Statistics View. Remove the background processing, except once a day if upload is enabled, see below. 
Configure the BG limits in one place for entire app for charts, colour of  BG in header and for statistics.
* Optional upload of statistics (and preferences) to NS once every 22 hours. 
Remove redundant settings.
* Add a StatConfig in Services section.
* Override Profile Target Glucose. Allows override also of glucose target. 

* Fastfile: add NFC tag reading capability  and fix bundle ID for iAPS in validate_secrets lane:
find_bundle_id("ru.artpancreas.#{TEAMID}.FreeAPS")-
Use macos-13 (currently in beta) for all workflows, use Xcode 14.3 for build_iAPS.yml (#30), by @bjornoleh.

* Bump version

---------

Co-authored-by: Pierre L <pn.lagarde@gmail.com>
Jon B Mårtensson 3 سال پیش
والد
کامیت
74d051c0fd
100فایلهای تغییر یافته به همراه751 افزوده شده و 1030 حذف شده
  1. 4 4
      .github/workflows/add_identifiers.yml
  2. 4 4
      .github/workflows/build_iAPS.yml
  3. 4 4
      .github/workflows/create_certs.yml
  4. 1 1
      .github/workflows/validate_secrets.yml
  5. 1 1
      Config.xcconfig
  6. 5 1
      Core_Data.xcdatamodeld/Core_Data.xcdatamodel/contents
  7. 3 0
      Dependencies/CGMBLEKit/CGMBLEKit Example/da.lproj/InfoPlist.strings
  8. 3 2
      Dependencies/CGMBLEKit/CGMBLEKit Example/da.lproj/Localizable.strings
  9. 8 8
      Dependencies/CGMBLEKit/CGMBLEKit Example/da.lproj/Main.strings
  10. 3 0
      Dependencies/CGMBLEKit/CGMBLEKit Example/de.lproj/InfoPlist.strings
  11. 1 0
      Dependencies/CGMBLEKit/CGMBLEKit Example/de.lproj/Localizable.strings
  12. 4 4
      Dependencies/CGMBLEKit/CGMBLEKit Example/de.lproj/Main.strings
  13. 3 0
      Dependencies/CGMBLEKit/CGMBLEKit Example/es.lproj/InfoPlist.strings
  14. 1 0
      Dependencies/CGMBLEKit/CGMBLEKit Example/es.lproj/Localizable.strings
  15. 7 7
      Dependencies/CGMBLEKit/CGMBLEKit Example/es.lproj/Main.strings
  16. 3 0
      Dependencies/CGMBLEKit/CGMBLEKit Example/fi.lproj/InfoPlist.strings
  17. 3 0
      Dependencies/CGMBLEKit/CGMBLEKit Example/fr.lproj/InfoPlist.strings
  18. 1 0
      Dependencies/CGMBLEKit/CGMBLEKit Example/fr.lproj/Localizable.strings
  19. 5 5
      Dependencies/CGMBLEKit/CGMBLEKit Example/fr.lproj/Main.strings
  20. 1 0
      Dependencies/CGMBLEKit/CGMBLEKit Example/he.lproj/Localizable.strings
  21. 4 4
      Dependencies/CGMBLEKit/CGMBLEKit Example/he.lproj/Main.strings
  22. 3 0
      Dependencies/CGMBLEKit/CGMBLEKit Example/it.lproj/InfoPlist.strings
  23. 3 2
      Dependencies/CGMBLEKit/CGMBLEKit Example/it.lproj/Localizable.strings
  24. 4 4
      Dependencies/CGMBLEKit/CGMBLEKit Example/it.lproj/Main.strings
  25. 1 0
      Dependencies/CGMBLEKit/CGMBLEKit Example/ja.lproj/Localizable.strings
  26. 4 4
      Dependencies/CGMBLEKit/CGMBLEKit Example/ja.lproj/Main.strings
  27. 3 0
      Dependencies/CGMBLEKit/CGMBLEKit Example/nb.lproj/InfoPlist.strings
  28. 1 0
      Dependencies/CGMBLEKit/CGMBLEKit Example/nb.lproj/Localizable.strings
  29. 5 5
      Dependencies/CGMBLEKit/CGMBLEKit Example/nb.lproj/Main.strings
  30. 3 0
      Dependencies/CGMBLEKit/CGMBLEKit Example/nl.lproj/InfoPlist.strings
  31. 2 2
      Dependencies/CGMBLEKit/CGMBLEKit Example/nl.lproj/Localizable.strings
  32. 7 1
      Dependencies/CGMBLEKit/CGMBLEKit Example/nl.lproj/Main.strings
  33. 3 0
      Dependencies/CGMBLEKit/CGMBLEKit Example/pl.lproj/InfoPlist.strings
  34. 2 1
      Dependencies/CGMBLEKit/CGMBLEKit Example/pl.lproj/Localizable.strings
  35. 6 6
      Dependencies/CGMBLEKit/CGMBLEKit Example/pl.lproj/Main.strings
  36. 1 0
      Dependencies/CGMBLEKit/CGMBLEKit Example/pt-BR.lproj/Localizable.strings
  37. 4 3
      Dependencies/CGMBLEKit/CGMBLEKit Example/pt-BR.lproj/Main.strings
  38. 3 0
      Dependencies/CGMBLEKit/CGMBLEKit Example/ro.lproj/InfoPlist.strings
  39. 1 0
      Dependencies/CGMBLEKit/CGMBLEKit Example/ro.lproj/Localizable.strings
  40. 4 4
      Dependencies/CGMBLEKit/CGMBLEKit Example/ro.lproj/Main.strings
  41. 3 0
      Dependencies/CGMBLEKit/CGMBLEKit Example/ru.lproj/InfoPlist.strings
  42. 1 0
      Dependencies/CGMBLEKit/CGMBLEKit Example/ru.lproj/Localizable.strings
  43. 8 8
      Dependencies/CGMBLEKit/CGMBLEKit Example/ru.lproj/Main.strings
  44. 3 0
      Dependencies/CGMBLEKit/CGMBLEKit Example/sk.lproj/InfoPlist.strings
  45. 6 0
      Dependencies/CGMBLEKit/CGMBLEKit Example/sk.lproj/Localizable.strings
  46. 27 0
      Dependencies/CGMBLEKit/CGMBLEKit Example/sk.lproj/Main.strings
  47. 3 0
      Dependencies/CGMBLEKit/CGMBLEKit Example/sv.lproj/InfoPlist.strings
  48. 1 1
      Dependencies/CGMBLEKit/CGMBLEKit Example/sv.lproj/Main.strings
  49. 3 0
      Dependencies/CGMBLEKit/CGMBLEKit Example/tr.lproj/InfoPlist.strings
  50. 4 3
      Dependencies/CGMBLEKit/CGMBLEKit Example/tr.lproj/Localizable.strings
  51. 11 11
      Dependencies/CGMBLEKit/CGMBLEKit Example/tr.lproj/Main.strings
  52. 1 0
      Dependencies/CGMBLEKit/CGMBLEKit Example/vi.lproj/Localizable.strings
  53. 4 4
      Dependencies/CGMBLEKit/CGMBLEKit Example/vi.lproj/Main.strings
  54. 1 0
      Dependencies/CGMBLEKit/CGMBLEKit Example/zh-Hans.lproj/Localizable.strings
  55. 4 4
      Dependencies/CGMBLEKit/CGMBLEKit Example/zh-Hans.lproj/Main.strings
  56. 120 0
      Dependencies/CGMBLEKit/CGMBLEKit.xcodeproj/project.pbxproj
  57. 0 97
      Dependencies/CGMBLEKit/CGMBLEKit.xcodeproj/xcshareddata/xcschemes/CGMBLEKit Example.xcscheme
  58. 0 87
      Dependencies/CGMBLEKit/CGMBLEKit.xcodeproj/xcshareddata/xcschemes/ResetTransmitter.xcscheme
  59. 0 76
      Dependencies/CGMBLEKit/CGMBLEKit.xcodeproj/xcshareddata/xcschemes/Shared-watchOS.xcscheme
  60. 0 137
      Dependencies/CGMBLEKit/CGMBLEKit.xcodeproj/xcshareddata/xcschemes/Shared.xcscheme
  61. 4 391
      Dependencies/CGMBLEKit/CGMBLEKit/OSLog.swift
  62. 1 1
      Dependencies/CGMBLEKit/CGMBLEKit/TransmitterManager.swift
  63. 3 0
      Dependencies/CGMBLEKit/CGMBLEKit/ar.lproj/Localizable.strings
  64. 18 0
      Dependencies/CGMBLEKit/CGMBLEKit/cs.lproj/Localizable.strings
  65. 10 7
      Dependencies/CGMBLEKit/CGMBLEKit/da.lproj/Localizable.strings
  66. 18 5
      Dependencies/CGMBLEKit/CGMBLEKit/de.lproj/Localizable.strings
  67. 15 3
      Dependencies/CGMBLEKit/CGMBLEKit/es.lproj/Localizable.strings
  68. 2 2
      Dependencies/CGMBLEKit/CGMBLEKit/fi.lproj/Localizable.strings
  69. 19 6
      Dependencies/CGMBLEKit/CGMBLEKit/fr.lproj/Localizable.strings
  70. 5 5
      Dependencies/CGMBLEKit/CGMBLEKit/he.lproj/Localizable.strings
  71. 9 0
      Dependencies/CGMBLEKit/CGMBLEKit/hi.lproj/Localizable.strings
  72. 17 5
      Dependencies/CGMBLEKit/CGMBLEKit/it.lproj/Localizable.strings
  73. 3 3
      Dependencies/CGMBLEKit/CGMBLEKit/ja.lproj/Localizable.strings
  74. 16 3
      Dependencies/CGMBLEKit/CGMBLEKit/nb.lproj/Localizable.strings
  75. 19 7
      Dependencies/CGMBLEKit/CGMBLEKit/nl.lproj/Localizable.strings
  76. 16 3
      Dependencies/CGMBLEKit/CGMBLEKit/pl.lproj/Localizable.strings
  77. 3 3
      Dependencies/CGMBLEKit/CGMBLEKit/pt-BR.lproj/Localizable.strings
  78. 10 7
      Dependencies/CGMBLEKit/CGMBLEKit/ro.lproj/Localizable.strings
  79. 14 2
      Dependencies/CGMBLEKit/CGMBLEKit/ru.lproj/Localizable.strings
  80. 42 0
      Dependencies/CGMBLEKit/CGMBLEKit/sk.lproj/Localizable.strings
  81. 4 1
      Dependencies/CGMBLEKit/CGMBLEKit/sv.lproj/Localizable.strings
  82. 14 11
      Dependencies/CGMBLEKit/CGMBLEKit/tr.lproj/Localizable.strings
  83. 3 3
      Dependencies/CGMBLEKit/CGMBLEKit/vi.lproj/Localizable.strings
  84. 1 0
      Dependencies/CGMBLEKit/CGMBLEKit/zh-Hans.lproj/Localizable.strings
  85. 16 0
      Dependencies/CGMBLEKit/CGMBLEKitUI/ar.lproj/Localizable.strings
  86. 3 0
      Dependencies/CGMBLEKit/CGMBLEKitUI/ar.lproj/TransmitterManagerSetup.strings
  87. 12 0
      Dependencies/CGMBLEKit/CGMBLEKitUI/cs.lproj/Localizable.strings
  88. 23 7
      Dependencies/CGMBLEKit/CGMBLEKitUI/da.lproj/Localizable.strings
  89. 7 7
      Dependencies/CGMBLEKit/CGMBLEKitUI/da.lproj/TransmitterManagerSetup.strings
  90. 19 3
      Dependencies/CGMBLEKit/CGMBLEKitUI/de.lproj/Localizable.strings
  91. 7 7
      Dependencies/CGMBLEKit/CGMBLEKitUI/de.lproj/TransmitterManagerSetup.strings
  92. 19 3
      Dependencies/CGMBLEKit/CGMBLEKitUI/es.lproj/Localizable.strings
  93. 7 7
      Dependencies/CGMBLEKit/CGMBLEKitUI/es.lproj/TransmitterManagerSetup.strings
  94. 1 1
      Dependencies/CGMBLEKit/CGMBLEKitUI/fi.lproj/Localizable.strings
  95. 1 1
      Dependencies/CGMBLEKit/CGMBLEKitUI/fi.lproj/TransmitterManagerSetup.strings
  96. 17 1
      Dependencies/CGMBLEKit/CGMBLEKitUI/fr.lproj/Localizable.strings
  97. 8 8
      Dependencies/CGMBLEKit/CGMBLEKitUI/fr.lproj/TransmitterManagerSetup.strings
  98. 9 5
      Dependencies/CGMBLEKit/CGMBLEKitUI/he.lproj/Localizable.strings
  99. 7 7
      Dependencies/CGMBLEKit/CGMBLEKitUI/he.lproj/TransmitterManagerSetup.strings
  100. 0 0
      Dependencies/CGMBLEKit/CGMBLEKitUI/hi.lproj/Localizable.strings

+ 4 - 4
.github/workflows/add_identifiers.yml

@@ -10,11 +10,11 @@ jobs:
 
   identifiers:
     needs: secrets
-    runs-on: macos-12
+    runs-on: macos-13
     steps:
-      # Uncomment to manually select latest Xcode if needed
-      #- name: Select Latest Xcode
-      #  run: "sudo xcode-select --switch /Applications/Xcode_13.0.app/Contents/Developer"
+      # Uncomment to manually select Xcode version if needed
+      #- name: Select Xcode version
+      #  run: "sudo xcode-select --switch /Applications/Xcode_14.1.app/Contents/Developer"
       
       # Checks-out the repo
       - name: Checkout Repo

+ 4 - 4
.github/workflows/build_iAPS.yml

@@ -18,11 +18,11 @@ jobs:
 
   build:
     needs: secrets
-    runs-on: macos-12
+    runs-on: macos-13
     steps:
-      # Uncomment to manually select latest Xcode if needed
-      - name: Select Latest Xcode
-        run: "sudo xcode-select --switch /Applications/Xcode_14.1.app/Contents/Developer"
+      # Uncomment to manually select Xcode version if needed
+      - name: Select Xcode version
+        run: "sudo xcode-select --switch /Applications/Xcode_14.3.app/Contents/Developer"
 
       # Checks-out the repo
       - name: Checkout Repo

+ 4 - 4
.github/workflows/create_certs.yml

@@ -10,11 +10,11 @@ jobs:
 
   certificates:
     needs: secrets
-    runs-on: macos-12
+    runs-on: macos-13
     steps:
-      # Uncomment to manually select latest Xcode if needed
-      #- name: Select Latest Xcode
-      #  run: "sudo xcode-select --switch /Applications/Xcode_13.0.app/Contents/Developer"
+      # Uncomment to manually select Xcode version if needed
+      #- name: Select Xcode version
+      #  run: "sudo xcode-select --switch /Applications/Xcode_14.1.app/Contents/Developer"
       
       # Checks-out the repo
       - name: Checkout Repo

+ 1 - 1
.github/workflows/validate_secrets.yml

@@ -4,7 +4,7 @@ on: [workflow_call, workflow_dispatch]
 
 jobs:
   validate:
-    runs-on: macos-12
+    runs-on: macos-13
     steps:
       # Checks-out the repo
       - name: Checkout Repo

+ 1 - 1
Config.xcconfig

@@ -1,5 +1,5 @@
 APP_DISPLAY_NAME = iAPS
-APP_VERSION = 1.5.0
+APP_VERSION = 1.6.0
 APP_BUILD_NUMBER = 1
 COPYRIGHT_NOTICE =
 DEVELOPER_TEAM = ##TEAM_ID##

+ 5 - 1
Core_Data.xcdatamodeld/Core_Data.xcdatamodel/contents

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<model type="com.apple.IDECoreDataModeler.DataModel" documentVersion="1.0" lastSavedToolsVersion="21513" systemVersion="22D68" minimumToolsVersion="Automatic" sourceLanguage="Swift" userDefinedModelVersionIdentifier="">
+<model type="com.apple.IDECoreDataModeler.DataModel" documentVersion="1.0" lastSavedToolsVersion="21754" systemVersion="22E261" minimumToolsVersion="Automatic" sourceLanguage="Swift" userDefinedModelVersionIdentifier="">
     <entity name="BGaverages" representedClassName="BGaverages" syncable="YES" codeGenerationType="class">
         <attribute name="average" optional="YES" attributeType="Decimal" defaultValueString="0.0"/>
         <attribute name="average_1" optional="YES" attributeType="Decimal" defaultValueString="0.0"/>
@@ -52,6 +52,7 @@
         <attribute name="enabled" optional="YES" attributeType="Boolean" defaultValueString="NO" usesScalarValueType="YES"/>
         <attribute name="indefinite" optional="YES" attributeType="Boolean" defaultValueString="NO" usesScalarValueType="YES"/>
         <attribute name="percentage" optional="YES" attributeType="Double" defaultValueString="100" usesScalarValueType="YES"/>
+        <attribute name="target" optional="YES" attributeType="Decimal" defaultValueString="100"/>
     </entity>
     <entity name="Presets" representedClassName="Presets" syncable="YES" codeGenerationType="class">
         <attribute name="carbs" optional="YES" attributeType="Decimal" defaultValueString="0.0"/>
@@ -63,6 +64,9 @@
         <attribute name="date" optional="YES" attributeType="Date" usesScalarValueType="NO"/>
         <attribute name="glucose" optional="YES" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="YES"/>
     </entity>
+    <entity name="StatsData" representedClassName="StatsData" syncable="YES" codeGenerationType="class">
+        <attribute name="lastrun" attributeType="Date" defaultDateTimeInterval="704497620" usesScalarValueType="NO"/>
+    </entity>
     <entity name="Target" representedClassName="Target" syncable="YES" codeGenerationType="class">
         <attribute name="current" optional="YES" attributeType="Decimal" defaultValueString="100"/>
     </entity>

+ 3 - 0
Dependencies/CGMBLEKit/CGMBLEKit Example/da.lproj/InfoPlist.strings

@@ -0,0 +1,3 @@
+/* Bundle name */
+"CFBundleName" = "Eksempel på CGMBLEKit";
+

+ 3 - 2
Dependencies/CGMBLEKit/CGMBLEKit Example/da.lproj/Localizable.strings

@@ -2,7 +2,8 @@
 "Backfill" = "Backfill";
 
 /* Title displayed during error response */
-"Error" = "Error";
+"Error" = "Fejl";
 
 /* Title displayed during unknown data response */
-"Unknown Data" = "Unknown Data";
+"Unknown Data" = "Ukendte data";
+

+ 8 - 8
Dependencies/CGMBLEKit/CGMBLEKit Example/da.lproj/Main.strings

@@ -1,12 +1,14 @@
-
 /* Class = "UILabel"; text = "Run alongside G5 app"; ObjectID = "3i8-2m-QFG"; */
-"3i8-2m-QFG.text" = "Kør langs G5-appen";
+"3i8-2m-QFG.text" = "Kør sammen med G5-appen";
 
 /* Class = "UILabel"; text = "Transmitter ID"; ObjectID = "5y6-vU-qC3"; */
-"5y6-vU-qC3.text" = "Senders id";
+"5y6-vU-qC3.text" = "Sender ID";
 
 /* Class = "UILabel"; text = "Waiting for first reading"; ObjectID = "9p7-LX-EMK"; */
-"9p7-LX-EMK.text" = "Venter på førstebehandling";
+"9p7-LX-EMK.text" = "Venter på første aflæsning";
+
+/* Class = "UITextField"; text = "500000"; ObjectID = "e0T-ru-tWD"; */
+"e0T-ru-tWD.text" = "500000";
 
 /* Class = "UIButton"; normalTitle = "Start"; ObjectID = "HEQ-Bp-kx7"; */
 "HEQ-Bp-kx7.normalTitle" = "Start";
@@ -15,13 +17,11 @@
 "HYW-Ex-7LC.normalTitle" = "Kalibrer";
 
 /* Class = "UIButton"; normalTitle = "Stop"; ObjectID = "JAM-9K-KeE"; */
-"JAM-9K-KeE.normalTitle" = "Hold op";
+"JAM-9K-KeE.normalTitle" = "Stop";
 
 /* Class = "UILabel"; text = "Stay connected"; ObjectID = "NSs-9e-3Sl"; */
 "NSs-9e-3Sl.text" = "Forbliv forbundet";
 
-/* Class = "UITextField"; text = "500000"; ObjectID = "e0T-ru-tWD"; */
-"e0T-ru-tWD.text" = "500000";
-
 /* Class = "UILabel"; text = "––"; ObjectID = "zAF-A7-1Oc"; */
 "zAF-A7-1Oc.text" = "––";
+

+ 3 - 0
Dependencies/CGMBLEKit/CGMBLEKit Example/de.lproj/InfoPlist.strings

@@ -0,0 +1,3 @@
+/* Bundle name */
+"CFBundleName" = "CGMBLEKit Beispiel";
+

+ 1 - 0
Dependencies/CGMBLEKit/CGMBLEKit Example/de.lproj/Localizable.strings

@@ -6,3 +6,4 @@
 
 /* Title displayed during unknown data response */
 "Unknown Data" = "Unbekannte Daten";
+

+ 4 - 4
Dependencies/CGMBLEKit/CGMBLEKit Example/de.lproj/Main.strings

@@ -1,4 +1,3 @@
-
 /* Class = "UILabel"; text = "Run alongside G5 app"; ObjectID = "3i8-2m-QFG"; */
 "3i8-2m-QFG.text" = "Neben G5-App ausführen";
 
@@ -8,6 +7,9 @@
 /* Class = "UILabel"; text = "Waiting for first reading"; ObjectID = "9p7-LX-EMK"; */
 "9p7-LX-EMK.text" = "Warte auf den ersten Wert";
 
+/* Class = "UITextField"; text = "500000"; ObjectID = "e0T-ru-tWD"; */
+"e0T-ru-tWD.text" = "500000";
+
 /* Class = "UIButton"; normalTitle = "Start"; ObjectID = "HEQ-Bp-kx7"; */
 "HEQ-Bp-kx7.normalTitle" = "Start";
 
@@ -20,8 +22,6 @@
 /* Class = "UILabel"; text = "Stay connected"; ObjectID = "NSs-9e-3Sl"; */
 "NSs-9e-3Sl.text" = "Verbunden bleiben";
 
-/* Class = "UITextField"; text = "500000"; ObjectID = "e0T-ru-tWD"; */
-"e0T-ru-tWD.text" = "500000";
-
 /* Class = "UILabel"; text = "––"; ObjectID = "zAF-A7-1Oc"; */
 "zAF-A7-1Oc.text" = "––";
+

+ 3 - 0
Dependencies/CGMBLEKit/CGMBLEKit Example/es.lproj/InfoPlist.strings

@@ -0,0 +1,3 @@
+/* Bundle name */
+"CFBundleName" = "Ejemplo de CGMBLEKit";
+

+ 1 - 0
Dependencies/CGMBLEKit/CGMBLEKit Example/es.lproj/Localizable.strings

@@ -6,3 +6,4 @@
 
 /* Title displayed during unknown data response */
 "Unknown Data" = "Datos desconocidos";
+

+ 7 - 7
Dependencies/CGMBLEKit/CGMBLEKit Example/es.lproj/Main.strings

@@ -1,12 +1,14 @@
-
 /* Class = "UILabel"; text = "Run alongside G5 app"; ObjectID = "3i8-2m-QFG"; */
-"3i8-2m-QFG.text" = "Ejecutar junto con la app del G5";
+"3i8-2m-QFG.text" = "Ejecutar junto con la aplicación del G5";
 
 /* Class = "UILabel"; text = "Transmitter ID"; ObjectID = "5y6-vU-qC3"; */
-"5y6-vU-qC3.text" = "Identificador del transmisor";
+"5y6-vU-qC3.text" = "Identificación del transmisor";
 
 /* Class = "UILabel"; text = "Waiting for first reading"; ObjectID = "9p7-LX-EMK"; */
-"9p7-LX-EMK.text" = "Esperando por el primero dato";
+"9p7-LX-EMK.text" = "Esperando el primero dato";
+
+/* Class = "UITextField"; text = "500000"; ObjectID = "e0T-ru-tWD"; */
+"e0T-ru-tWD.text" = "500000";
 
 /* Class = "UIButton"; normalTitle = "Start"; ObjectID = "HEQ-Bp-kx7"; */
 "HEQ-Bp-kx7.normalTitle" = "Comenzar";
@@ -20,8 +22,6 @@
 /* Class = "UILabel"; text = "Stay connected"; ObjectID = "NSs-9e-3Sl"; */
 "NSs-9e-3Sl.text" = "Mantenerse conectado";
 
-/* Class = "UITextField"; text = "500000"; ObjectID = "e0T-ru-tWD"; */
-"e0T-ru-tWD.text" = "500000";
-
 /* Class = "UILabel"; text = "––"; ObjectID = "zAF-A7-1Oc"; */
 "zAF-A7-1Oc.text" = "––";
+

+ 3 - 0
Dependencies/CGMBLEKit/CGMBLEKit Example/fi.lproj/InfoPlist.strings

@@ -0,0 +1,3 @@
+/* Bundle name */
+"CFBundleName" = "CGMBLEKit esimerkki";
+

+ 3 - 0
Dependencies/CGMBLEKit/CGMBLEKit Example/fr.lproj/InfoPlist.strings

@@ -0,0 +1,3 @@
+/* Bundle name */
+"CFBundleName" = "Exemple CGMBLEKit";
+

+ 1 - 0
Dependencies/CGMBLEKit/CGMBLEKit Example/fr.lproj/Localizable.strings

@@ -6,3 +6,4 @@
 
 /* Title displayed during unknown data response */
 "Unknown Data" = "Donnée inconnue";
+

+ 5 - 5
Dependencies/CGMBLEKit/CGMBLEKit Example/fr.lproj/Main.strings

@@ -1,6 +1,5 @@
-
 /* Class = "UILabel"; text = "Run alongside G5 app"; ObjectID = "3i8-2m-QFG"; */
-"3i8-2m-QFG.text" = "Faire fonctionner l’application G5 en parallèle";
+"3i8-2m-QFG.text" = "Exécuter en même temps que l'application G5";
 
 /* Class = "UILabel"; text = "Transmitter ID"; ObjectID = "5y6-vU-qC3"; */
 "5y6-vU-qC3.text" = "ID du transmetteur";
@@ -8,6 +7,9 @@
 /* Class = "UILabel"; text = "Waiting for first reading"; ObjectID = "9p7-LX-EMK"; */
 "9p7-LX-EMK.text" = "En attente de la première mesure";
 
+/* Class = "UITextField"; text = "500000"; ObjectID = "e0T-ru-tWD"; */
+"e0T-ru-tWD.text" = "500000";
+
 /* Class = "UIButton"; normalTitle = "Start"; ObjectID = "HEQ-Bp-kx7"; */
 "HEQ-Bp-kx7.normalTitle" = "Commencer";
 
@@ -20,8 +22,6 @@
 /* Class = "UILabel"; text = "Stay connected"; ObjectID = "NSs-9e-3Sl"; */
 "NSs-9e-3Sl.text" = "Rester connecté";
 
-/* Class = "UITextField"; text = "500000"; ObjectID = "e0T-ru-tWD"; */
-"e0T-ru-tWD.text" = "500000";
-
 /* Class = "UILabel"; text = "––"; ObjectID = "zAF-A7-1Oc"; */
 "zAF-A7-1Oc.text" = "––";
+

+ 1 - 0
Dependencies/CGMBLEKit/CGMBLEKit Example/he.lproj/Localizable.strings

@@ -6,3 +6,4 @@
 
 /* Title displayed during unknown data response */
 "Unknown Data" = "Unknown Data";
+

+ 4 - 4
Dependencies/CGMBLEKit/CGMBLEKit Example/he.lproj/Main.strings

@@ -1,4 +1,3 @@
-
 /* Class = "UILabel"; text = "Run alongside G5 app"; ObjectID = "3i8-2m-QFG"; */
 "3i8-2m-QFG.text" = "Run alongside G5 app";
 
@@ -8,6 +7,9 @@
 /* Class = "UILabel"; text = "Waiting for first reading"; ObjectID = "9p7-LX-EMK"; */
 "9p7-LX-EMK.text" = "Waiting for first reading";
 
+/* Class = "UITextField"; text = "500000"; ObjectID = "e0T-ru-tWD"; */
+"e0T-ru-tWD.text" = "500000";
+
 /* Class = "UIButton"; normalTitle = "Start"; ObjectID = "HEQ-Bp-kx7"; */
 "HEQ-Bp-kx7.normalTitle" = "Start";
 
@@ -20,8 +22,6 @@
 /* Class = "UILabel"; text = "Stay connected"; ObjectID = "NSs-9e-3Sl"; */
 "NSs-9e-3Sl.text" = "Stay connected";
 
-/* Class = "UITextField"; text = "500000"; ObjectID = "e0T-ru-tWD"; */
-"e0T-ru-tWD.text" = "500000";
-
 /* Class = "UILabel"; text = "––"; ObjectID = "zAF-A7-1Oc"; */
 "zAF-A7-1Oc.text" = "––";
+

+ 3 - 0
Dependencies/CGMBLEKit/CGMBLEKit Example/it.lproj/InfoPlist.strings

@@ -0,0 +1,3 @@
+/* Bundle name */
+"CFBundleName" = "esempio CGMBLE kit";
+

+ 3 - 2
Dependencies/CGMBLEKit/CGMBLEKit Example/it.lproj/Localizable.strings

@@ -1,8 +1,9 @@
 /* Title displayed during backfill response */
-"Backfill" = "Backfill";
+"Backfill" = "Riempimento";
 
 /* Title displayed during error response */
-"Error" = "Error";
+"Error" = "Errore";
 
 /* Title displayed during unknown data response */
 "Unknown Data" = "Unknown Data";
+

+ 4 - 4
Dependencies/CGMBLEKit/CGMBLEKit Example/it.lproj/Main.strings

@@ -1,4 +1,3 @@
-
 /* Class = "UILabel"; text = "Run alongside G5 app"; ObjectID = "3i8-2m-QFG"; */
 "3i8-2m-QFG.text" = "Esegui insieme all’app G5";
 
@@ -8,6 +7,9 @@
 /* Class = "UILabel"; text = "Waiting for first reading"; ObjectID = "9p7-LX-EMK"; */
 "9p7-LX-EMK.text" = "In attesa della prima lettura";
 
+/* Class = "UITextField"; text = "500000"; ObjectID = "e0T-ru-tWD"; */
+"e0T-ru-tWD.text" = "500000";
+
 /* Class = "UIButton"; normalTitle = "Start"; ObjectID = "HEQ-Bp-kx7"; */
 "HEQ-Bp-kx7.normalTitle" = "Avvia";
 
@@ -20,8 +22,6 @@
 /* Class = "UILabel"; text = "Stay connected"; ObjectID = "NSs-9e-3Sl"; */
 "NSs-9e-3Sl.text" = "Rimani connesso";
 
-/* Class = "UITextField"; text = "500000"; ObjectID = "e0T-ru-tWD"; */
-"e0T-ru-tWD.text" = "500000";
-
 /* Class = "UILabel"; text = "––"; ObjectID = "zAF-A7-1Oc"; */
 "zAF-A7-1Oc.text" = "––";
+

+ 1 - 0
Dependencies/CGMBLEKit/CGMBLEKit Example/ja.lproj/Localizable.strings

@@ -6,3 +6,4 @@
 
 /* Title displayed during unknown data response */
 "Unknown Data" = "不明なデータ";
+

+ 4 - 4
Dependencies/CGMBLEKit/CGMBLEKit Example/ja.lproj/Main.strings

@@ -1,4 +1,3 @@
-
 /* Class = "UILabel"; text = "Run alongside G5 app"; ObjectID = "3i8-2m-QFG"; */
 "3i8-2m-QFG.text" = "G5アプリのそばで使用してください";
 
@@ -8,6 +7,9 @@
 /* Class = "UILabel"; text = "Waiting for first reading"; ObjectID = "9p7-LX-EMK"; */
 "9p7-LX-EMK.text" = "最初の読み取りを待っています";
 
+/* Class = "UITextField"; text = "500000"; ObjectID = "e0T-ru-tWD"; */
+"e0T-ru-tWD.text" = "500000";
+
 /* Class = "UIButton"; normalTitle = "Start"; ObjectID = "HEQ-Bp-kx7"; */
 "HEQ-Bp-kx7.normalTitle" = "開始";
 
@@ -20,8 +22,6 @@
 /* Class = "UILabel"; text = "Stay connected"; ObjectID = "NSs-9e-3Sl"; */
 "NSs-9e-3Sl.text" = "接続を維持";
 
-/* Class = "UITextField"; text = "500000"; ObjectID = "e0T-ru-tWD"; */
-"e0T-ru-tWD.text" = "500000";
-
 /* Class = "UILabel"; text = "––"; ObjectID = "zAF-A7-1Oc"; */
 "zAF-A7-1Oc.text" = "––";
+

+ 3 - 0
Dependencies/CGMBLEKit/CGMBLEKit Example/nb.lproj/InfoPlist.strings

@@ -0,0 +1,3 @@
+/* Bundle name */
+"CFBundleName" = "CGMBLEKit Eksempel";
+

+ 1 - 0
Dependencies/CGMBLEKit/CGMBLEKit Example/nb.lproj/Localizable.strings

@@ -6,3 +6,4 @@
 
 /* Title displayed during unknown data response */
 "Unknown Data" = "Ukjent data";
+

+ 5 - 5
Dependencies/CGMBLEKit/CGMBLEKit Example/nb.lproj/Main.strings

@@ -1,6 +1,5 @@
-
 /* Class = "UILabel"; text = "Run alongside G5 app"; ObjectID = "3i8-2m-QFG"; */
-"3i8-2m-QFG.text" = "Kjør parralelt med G5 app";
+"3i8-2m-QFG.text" = "Kjør parallelt med G5 app";
 
 /* Class = "UILabel"; text = "Transmitter ID"; ObjectID = "5y6-vU-qC3"; */
 "5y6-vU-qC3.text" = "Sender ID";
@@ -8,6 +7,9 @@
 /* Class = "UILabel"; text = "Waiting for first reading"; ObjectID = "9p7-LX-EMK"; */
 "9p7-LX-EMK.text" = "Venter på første måling";
 
+/* Class = "UITextField"; text = "500000"; ObjectID = "e0T-ru-tWD"; */
+"e0T-ru-tWD.text" = "500000";
+
 /* Class = "UIButton"; normalTitle = "Start"; ObjectID = "HEQ-Bp-kx7"; */
 "HEQ-Bp-kx7.normalTitle" = "Start";
 
@@ -20,8 +22,6 @@
 /* Class = "UILabel"; text = "Stay connected"; ObjectID = "NSs-9e-3Sl"; */
 "NSs-9e-3Sl.text" = "Vær tilkoblet";
 
-/* Class = "UITextField"; text = "500000"; ObjectID = "e0T-ru-tWD"; */
-"e0T-ru-tWD.text" = "500000";
-
 /* Class = "UILabel"; text = "––"; ObjectID = "zAF-A7-1Oc"; */
 "zAF-A7-1Oc.text" = "––";
+

+ 3 - 0
Dependencies/CGMBLEKit/CGMBLEKit Example/nl.lproj/InfoPlist.strings

@@ -0,0 +1,3 @@
+/* Bundle name */
+"CFBundleName" = "CGMBLEKit Voorbeeld";
+

+ 2 - 2
Dependencies/CGMBLEKit/CGMBLEKit Example/nl.lproj/Localizable.strings

@@ -1,9 +1,9 @@
 /* Title displayed during backfill response */
-"Backfill" = "Aanvullen van data";
+"Backfill" = "Aanvullen";
 
 /* Title displayed during error response */
 "Error" = "Fout";
 
 /* Title displayed during unknown data response */
-"Unknown Data" = "Onbekende Data";
+"Unknown Data" = "Onbekende Gegevens";
 

+ 7 - 1
Dependencies/CGMBLEKit/CGMBLEKit Example/nl.lproj/Main.strings

@@ -2,11 +2,14 @@
 "3i8-2m-QFG.text" = "Gebruik tegelijk met G5 app";
 
 /* Class = "UILabel"; text = "Transmitter ID"; ObjectID = "5y6-vU-qC3"; */
-"5y6-vU-qC3.text" = "Zender ID";
+"5y6-vU-qC3.text" = "Zenderserienummer";
 
 /* Class = "UILabel"; text = "Waiting for first reading"; ObjectID = "9p7-LX-EMK"; */
 "9p7-LX-EMK.text" = "Wachten op eerste meting";
 
+/* Class = "UITextField"; text = "500000"; ObjectID = "e0T-ru-tWD"; */
+"e0T-ru-tWD.text" = "500000";
+
 /* Class = "UIButton"; normalTitle = "Start"; ObjectID = "HEQ-Bp-kx7"; */
 "HEQ-Bp-kx7.normalTitle" = "Start";
 
@@ -19,3 +22,6 @@
 /* Class = "UILabel"; text = "Stay connected"; ObjectID = "NSs-9e-3Sl"; */
 "NSs-9e-3Sl.text" = "Blijf verbonden";
 
+/* Class = "UILabel"; text = "––"; ObjectID = "zAF-A7-1Oc"; */
+"zAF-A7-1Oc.text" = "––";
+

+ 3 - 0
Dependencies/CGMBLEKit/CGMBLEKit Example/pl.lproj/InfoPlist.strings

@@ -0,0 +1,3 @@
+/* Bundle name */
+"CFBundleName" = "CGMBLEKit Example";
+

+ 2 - 1
Dependencies/CGMBLEKit/CGMBLEKit Example/pl.lproj/Localizable.strings

@@ -2,7 +2,8 @@
 "Backfill" = "Backfill";
 
 /* Title displayed during error response */
-"Error" = "Error";
+"Error" = "Błąd";
 
 /* Title displayed during unknown data response */
 "Unknown Data" = "Unknown Data";
+

+ 6 - 6
Dependencies/CGMBLEKit/CGMBLEKit Example/pl.lproj/Main.strings

@@ -1,12 +1,14 @@
-
 /* Class = "UILabel"; text = "Run alongside G5 app"; ObjectID = "3i8-2m-QFG"; */
-"3i8-2m-QFG.text" = "Przejrzyj aplikację G5";
+"3i8-2m-QFG.text" = "Uruchom aplikację G5";
 
 /* Class = "UILabel"; text = "Transmitter ID"; ObjectID = "5y6-vU-qC3"; */
 "5y6-vU-qC3.text" = "ID nadajnika";
 
 /* Class = "UILabel"; text = "Waiting for first reading"; ObjectID = "9p7-LX-EMK"; */
-"9p7-LX-EMK.text" = "Oczekiwanie na pierwszy odczyt";
+"9p7-LX-EMK.text" = "Czekam na pierwszy odczyt";
+
+/* Class = "UITextField"; text = "500000"; ObjectID = "e0T-ru-tWD"; */
+"e0T-ru-tWD.text" = "500000";
 
 /* Class = "UIButton"; normalTitle = "Start"; ObjectID = "HEQ-Bp-kx7"; */
 "HEQ-Bp-kx7.normalTitle" = "Start";
@@ -20,8 +22,6 @@
 /* Class = "UILabel"; text = "Stay connected"; ObjectID = "NSs-9e-3Sl"; */
 "NSs-9e-3Sl.text" = "Nie rozłączaj się";
 
-/* Class = "UITextField"; text = "500000"; ObjectID = "e0T-ru-tWD"; */
-"e0T-ru-tWD.text" = "500000";
-
 /* Class = "UILabel"; text = "––"; ObjectID = "zAF-A7-1Oc"; */
 "zAF-A7-1Oc.text" = "––";
+

+ 1 - 0
Dependencies/CGMBLEKit/CGMBLEKit Example/pt-BR.lproj/Localizable.strings

@@ -6,3 +6,4 @@
 
 /* Title displayed during unknown data response */
 "Unknown Data" = "Dados Desconhecidos";
+

+ 4 - 3
Dependencies/CGMBLEKit/CGMBLEKit Example/pt-BR.lproj/Main.strings

@@ -7,6 +7,9 @@
 /* Class = "UILabel"; text = "Waiting for first reading"; ObjectID = "9p7-LX-EMK"; */
 "9p7-LX-EMK.text" = "Esperando a primeira leitura";
 
+/* Class = "UITextField"; text = "500000"; ObjectID = "e0T-ru-tWD"; */
+"e0T-ru-tWD.text" = "500000";
+
 /* Class = "UIButton"; normalTitle = "Start"; ObjectID = "HEQ-Bp-kx7"; */
 "HEQ-Bp-kx7.normalTitle" = "Iniciar";
 
@@ -19,8 +22,6 @@
 /* Class = "UILabel"; text = "Stay connected"; ObjectID = "NSs-9e-3Sl"; */
 "NSs-9e-3Sl.text" = "Permanecer conectado";
 
-/* Class = "UITextField"; text = "500000"; ObjectID = "e0T-ru-tWD"; */
-"e0T-ru-tWD.text" = "500000";
-
 /* Class = "UILabel"; text = "––"; ObjectID = "zAF-A7-1Oc"; */
 "zAF-A7-1Oc.text" = "––";
+

+ 3 - 0
Dependencies/CGMBLEKit/CGMBLEKit Example/ro.lproj/InfoPlist.strings

@@ -0,0 +1,3 @@
+/* Bundle name */
+"CFBundleName" = "Exemplu CGMBLEKit";
+

+ 1 - 0
Dependencies/CGMBLEKit/CGMBLEKit Example/ro.lproj/Localizable.strings

@@ -6,3 +6,4 @@
 
 /* Title displayed during unknown data response */
 "Unknown Data" = "Date necunoscute";
+

+ 4 - 4
Dependencies/CGMBLEKit/CGMBLEKit Example/ro.lproj/Main.strings

@@ -1,4 +1,3 @@
-
 /* Class = "UILabel"; text = "Run alongside G5 app"; ObjectID = "3i8-2m-QFG"; */
 "3i8-2m-QFG.text" = "Rulează împreună cu aplicația G5";
 
@@ -8,6 +7,9 @@
 /* Class = "UILabel"; text = "Waiting for first reading"; ObjectID = "9p7-LX-EMK"; */
 "9p7-LX-EMK.text" = "Se așteaptă prima citire";
 
+/* Class = "UITextField"; text = "500000"; ObjectID = "e0T-ru-tWD"; */
+"e0T-ru-tWD.text" = "500000";
+
 /* Class = "UIButton"; normalTitle = "Start"; ObjectID = "HEQ-Bp-kx7"; */
 "HEQ-Bp-kx7.normalTitle" = "Pornește";
 
@@ -20,8 +22,6 @@
 /* Class = "UILabel"; text = "Stay connected"; ObjectID = "NSs-9e-3Sl"; */
 "NSs-9e-3Sl.text" = "Păstrează conexiunea";
 
-/* Class = "UITextField"; text = "500000"; ObjectID = "e0T-ru-tWD"; */
-"e0T-ru-tWD.text" = "500000";
-
 /* Class = "UILabel"; text = "––"; ObjectID = "zAF-A7-1Oc"; */
 "zAF-A7-1Oc.text" = "––";
+

+ 3 - 0
Dependencies/CGMBLEKit/CGMBLEKit Example/ru.lproj/InfoPlist.strings

@@ -0,0 +1,3 @@
+/* Bundle name */
+"CFBundleName" = "Пример CGMBLEKit";
+

+ 1 - 0
Dependencies/CGMBLEKit/CGMBLEKit Example/ru.lproj/Localizable.strings

@@ -6,3 +6,4 @@
 
 /* Title displayed during unknown data response */
 "Unknown Data" = "Неизвестные данные";
+

+ 8 - 8
Dependencies/CGMBLEKit/CGMBLEKit Example/ru.lproj/Main.strings

@@ -1,12 +1,14 @@
-
 /* Class = "UILabel"; text = "Run alongside G5 app"; ObjectID = "3i8-2m-QFG"; */
-"3i8-2m-QFG.text" = "запустить совместно с приложением G5";
+"3i8-2m-QFG.text" = "Запустить совместно с приложением G5";
 
 /* Class = "UILabel"; text = "Transmitter ID"; ObjectID = "5y6-vU-qC3"; */
-"5y6-vU-qC3.text" = "идентификатор трансмиттера";
+"5y6-vU-qC3.text" = "ID трансмиттера";
 
 /* Class = "UILabel"; text = "Waiting for first reading"; ObjectID = "9p7-LX-EMK"; */
-"9p7-LX-EMK.text" = "ожидание данных";
+"9p7-LX-EMK.text" = "Ожидание первого показания";
+
+/* Class = "UITextField"; text = "500000"; ObjectID = "e0T-ru-tWD"; */
+"e0T-ru-tWD.text" = "500000";
 
 /* Class = "UIButton"; normalTitle = "Start"; ObjectID = "HEQ-Bp-kx7"; */
 "HEQ-Bp-kx7.normalTitle" = "Начать";
@@ -18,10 +20,8 @@
 "JAM-9K-KeE.normalTitle" = "Стоп";
 
 /* Class = "UILabel"; text = "Stay connected"; ObjectID = "NSs-9e-3Sl"; */
-"NSs-9e-3Sl.text" = "Не разъединяйтесь";
-
-/* Class = "UITextField"; text = "500000"; ObjectID = "e0T-ru-tWD"; */
-"e0T-ru-tWD.text" = "500000";
+"NSs-9e-3Sl.text" = "Оставайтесь подключенными";
 
 /* Class = "UILabel"; text = "––"; ObjectID = "zAF-A7-1Oc"; */
 "zAF-A7-1Oc.text" = "––";
+

+ 3 - 0
Dependencies/CGMBLEKit/CGMBLEKit Example/sk.lproj/InfoPlist.strings

@@ -0,0 +1,3 @@
+/* Bundle name */
+"CFBundleName" = "Príklad CGMBLEKit";
+

+ 6 - 0
Dependencies/CGMBLEKit/CGMBLEKit Example/sk.lproj/Localizable.strings

@@ -0,0 +1,6 @@
+/* Title displayed during error response */
+"Error" = "Chyba";
+
+/* Title displayed during unknown data response */
+"Unknown Data" = "Neznáme dáta";
+

+ 27 - 0
Dependencies/CGMBLEKit/CGMBLEKit Example/sk.lproj/Main.strings

@@ -0,0 +1,27 @@
+/* Class = "UILabel"; text = "Run alongside G5 app"; ObjectID = "3i8-2m-QFG"; */
+"3i8-2m-QFG.text" = "Beží spolu s aplikáciou G5";
+
+/* Class = "UILabel"; text = "Transmitter ID"; ObjectID = "5y6-vU-qC3"; */
+"5y6-vU-qC3.text" = "ID vysielača";
+
+/* Class = "UILabel"; text = "Waiting for first reading"; ObjectID = "9p7-LX-EMK"; */
+"9p7-LX-EMK.text" = "Čaká sa na prvé načítanie";
+
+/* Class = "UITextField"; text = "500000"; ObjectID = "e0T-ru-tWD"; */
+"e0T-ru-tWD.text" = "500000";
+
+/* Class = "UIButton"; normalTitle = "Start"; ObjectID = "HEQ-Bp-kx7"; */
+"HEQ-Bp-kx7.normalTitle" = "Štart";
+
+/* Class = "UIButton"; normalTitle = "Calibrate"; ObjectID = "HYW-Ex-7LC"; */
+"HYW-Ex-7LC.normalTitle" = "Kalibrovať";
+
+/* Class = "UIButton"; normalTitle = "Stop"; ObjectID = "JAM-9K-KeE"; */
+"JAM-9K-KeE.normalTitle" = "Stop";
+
+/* Class = "UILabel"; text = "Stay connected"; ObjectID = "NSs-9e-3Sl"; */
+"NSs-9e-3Sl.text" = "Zostať pripojený";
+
+/* Class = "UILabel"; text = "––"; ObjectID = "zAF-A7-1Oc"; */
+"zAF-A7-1Oc.text" = "––";
+

+ 3 - 0
Dependencies/CGMBLEKit/CGMBLEKit Example/sv.lproj/InfoPlist.strings

@@ -0,0 +1,3 @@
+/* Bundle name */
+"CFBundleName" = "CGMBLEKit Example";
+

+ 1 - 1
Dependencies/CGMBLEKit/CGMBLEKit Example/sv.lproj/Main.strings

@@ -2,7 +2,7 @@
 "3i8-2m-QFG.text" = "Kör samtidigt som G5-appen";
 
 /* Class = "UILabel"; text = "Transmitter ID"; ObjectID = "5y6-vU-qC3"; */
-"5y6-vU-qC3.text" = "Sändar-ID";
+"5y6-vU-qC3.text" = "Sändari-ID";
 
 /* Class = "UILabel"; text = "Waiting for first reading"; ObjectID = "9p7-LX-EMK"; */
 "9p7-LX-EMK.text" = "Väntar på första värdet";

+ 3 - 0
Dependencies/CGMBLEKit/CGMBLEKit Example/tr.lproj/InfoPlist.strings

@@ -0,0 +1,3 @@
+/* Bundle name */
+"CFBundleName" = "CGMBLEKit Örneği";
+

+ 4 - 3
Dependencies/CGMBLEKit/CGMBLEKit Example/tr.lproj/Localizable.strings

@@ -1,8 +1,9 @@
 /* Title displayed during backfill response */
-"Backfill" = "Backfill";
+"Backfill" = "Dolgu";
 
 /* Title displayed during error response */
-"Error" = "Error";
+"Error" = "Hata";
 
 /* Title displayed during unknown data response */
-"Unknown Data" = "Unknown Data";
+"Unknown Data" = "Bilinmeyen Veri";
+

+ 11 - 11
Dependencies/CGMBLEKit/CGMBLEKit Example/tr.lproj/Main.strings

@@ -1,27 +1,27 @@
-
 /* Class = "UILabel"; text = "Run alongside G5 app"; ObjectID = "3i8-2m-QFG"; */
-"3i8-2m-QFG.text" = "Run alongside G5 app";
+"3i8-2m-QFG.text" = "G5 uygulamasıyla birlikte çalıştırın";
 
 /* Class = "UILabel"; text = "Transmitter ID"; ObjectID = "5y6-vU-qC3"; */
-"5y6-vU-qC3.text" = "Transmitter ID";
+"5y6-vU-qC3.text" = "Verici Kimliği";
 
 /* Class = "UILabel"; text = "Waiting for first reading"; ObjectID = "9p7-LX-EMK"; */
-"9p7-LX-EMK.text" = "Waiting for first reading";
+"9p7-LX-EMK.text" = "İlk okuma bekleniyor..";
+
+/* Class = "UITextField"; text = "500000"; ObjectID = "e0T-ru-tWD"; */
+"e0T-ru-tWD.text" = "500000";
 
 /* Class = "UIButton"; normalTitle = "Start"; ObjectID = "HEQ-Bp-kx7"; */
-"HEQ-Bp-kx7.normalTitle" = "Start";
+"HEQ-Bp-kx7.normalTitle" = "Başlat";
 
 /* Class = "UIButton"; normalTitle = "Calibrate"; ObjectID = "HYW-Ex-7LC"; */
-"HYW-Ex-7LC.normalTitle" = "Calibrate";
+"HYW-Ex-7LC.normalTitle" = "Kalibrasyon";
 
 /* Class = "UIButton"; normalTitle = "Stop"; ObjectID = "JAM-9K-KeE"; */
-"JAM-9K-KeE.normalTitle" = "Stop";
+"JAM-9K-KeE.normalTitle" = "Durdur";
 
 /* Class = "UILabel"; text = "Stay connected"; ObjectID = "NSs-9e-3Sl"; */
-"NSs-9e-3Sl.text" = "Stay connected";
-
-/* Class = "UITextField"; text = "500000"; ObjectID = "e0T-ru-tWD"; */
-"e0T-ru-tWD.text" = "500000";
+"NSs-9e-3Sl.text" = "Bağlı kalın";
 
 /* Class = "UILabel"; text = "––"; ObjectID = "zAF-A7-1Oc"; */
 "zAF-A7-1Oc.text" = "––";
+

+ 1 - 0
Dependencies/CGMBLEKit/CGMBLEKit Example/vi.lproj/Localizable.strings

@@ -6,3 +6,4 @@
 
 /* Title displayed during unknown data response */
 "Unknown Data" = "Không nhận biết dữ liệu";
+

+ 4 - 4
Dependencies/CGMBLEKit/CGMBLEKit Example/vi.lproj/Main.strings

@@ -1,4 +1,3 @@
-
 /* Class = "UILabel"; text = "Run alongside G5 app"; ObjectID = "3i8-2m-QFG"; */
 "3i8-2m-QFG.text" = "Chạy song song cùng ứng dụng G5";
 
@@ -8,6 +7,9 @@
 /* Class = "UILabel"; text = "Waiting for first reading"; ObjectID = "9p7-LX-EMK"; */
 "9p7-LX-EMK.text" = "Đang đợi đọc kết quả đầu tiên";
 
+/* Class = "UITextField"; text = "500000"; ObjectID = "e0T-ru-tWD"; */
+"e0T-ru-tWD.text" = "500000";
+
 /* Class = "UIButton"; normalTitle = "Start"; ObjectID = "HEQ-Bp-kx7"; */
 "HEQ-Bp-kx7.normalTitle" = "Bắt đầu";
 
@@ -20,8 +22,6 @@
 /* Class = "UILabel"; text = "Stay connected"; ObjectID = "NSs-9e-3Sl"; */
 "NSs-9e-3Sl.text" = "Giữ kết  nối";
 
-/* Class = "UITextField"; text = "500000"; ObjectID = "e0T-ru-tWD"; */
-"e0T-ru-tWD.text" = "500000";
-
 /* Class = "UILabel"; text = "––"; ObjectID = "zAF-A7-1Oc"; */
 "zAF-A7-1Oc.text" = "––";
+

+ 1 - 0
Dependencies/CGMBLEKit/CGMBLEKit Example/zh-Hans.lproj/Localizable.strings

@@ -6,3 +6,4 @@
 
 /* Title displayed during unknown data response */
 "Unknown Data" = "未知数据";
+

+ 4 - 4
Dependencies/CGMBLEKit/CGMBLEKit Example/zh-Hans.lproj/Main.strings

@@ -1,4 +1,3 @@
-
 /* Class = "UILabel"; text = "Run alongside G5 app"; ObjectID = "3i8-2m-QFG"; */
 "3i8-2m-QFG.text" = "与G5 App同时使用";
 
@@ -8,6 +7,9 @@
 /* Class = "UILabel"; text = "Waiting for first reading"; ObjectID = "9p7-LX-EMK"; */
 "9p7-LX-EMK.text" = "输入第一个校准值";
 
+/* Class = "UITextField"; text = "500000"; ObjectID = "e0T-ru-tWD"; */
+"e0T-ru-tWD.text" = "500000";
+
 /* Class = "UIButton"; normalTitle = "Start"; ObjectID = "HEQ-Bp-kx7"; */
 "HEQ-Bp-kx7.normalTitle" = "启动";
 
@@ -20,8 +22,6 @@
 /* Class = "UILabel"; text = "Stay connected"; ObjectID = "NSs-9e-3Sl"; */
 "NSs-9e-3Sl.text" = "保持连接";
 
-/* Class = "UITextField"; text = "500000"; ObjectID = "e0T-ru-tWD"; */
-"e0T-ru-tWD.text" = "500000";
-
 /* Class = "UILabel"; text = "––"; ObjectID = "zAF-A7-1Oc"; */
 "zAF-A7-1Oc.text" = "––";
+

+ 120 - 0
Dependencies/CGMBLEKit/CGMBLEKit.xcodeproj/project.pbxproj

@@ -185,6 +185,7 @@
 		B4D40D4A23ABB33500D7ECB5 /* CGMBLEKitG5Plugin.swift in Sources */ = {isa = PBXBuildFile; fileRef = B4D40D4923ABB33500D7ECB5 /* CGMBLEKitG5Plugin.swift */; };
 		B4D40D4B23ABB42400D7ECB5 /* OSLog.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4323115E1EFC870300B95E62 /* OSLog.swift */; };
 		C15543B2252D8777008EE7E5 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = C15543B1252D8776008EE7E5 /* Assets.xcassets */; };
+		C182166E297E55A7001EB097 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = C182166C297E55A7001EB097 /* InfoPlist.strings */; };
 		C19084BB203932BD00AA47F3 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = C19084B9203932BD00AA47F3 /* Main.storyboard */; };
 		C19C8BDB286520970056D5E4 /* CGMBLEKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 43CABDF31C3506F100005705 /* CGMBLEKit.framework */; };
 		C19C8BDC286520970056D5E4 /* CGMBLEKit.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 43CABDF31C3506F100005705 /* CGMBLEKit.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
@@ -404,6 +405,7 @@
 		437AFF002038EC43008C4892 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
 		437AFF032038EC43008C4892 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
 		437AFF052038EC43008C4892 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
+		437DE50B229C8A1D003B1074 /* copy-frameworks.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = "copy-frameworks.sh"; sourceTree = "<group>"; };
 		43846AC51D8F896C00799272 /* CalibrationDataRxMessage.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CalibrationDataRxMessage.swift; sourceTree = "<group>"; };
 		43846AC71D8F89BE00799272 /* CalibrationDataRxMessageTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CalibrationDataRxMessageTests.swift; sourceTree = "<group>"; };
 		43880F971D9E19FC009061A8 /* TransmitterVersionRxMessage.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TransmitterVersionRxMessage.swift; sourceTree = "<group>"; };
@@ -570,9 +572,57 @@
 		B4D40D4623A42A1700D7ECB5 /* LoopKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = LoopKit.framework; sourceTree = BUILT_PRODUCTS_DIR; };
 		B4D40D4823ABB33500D7ECB5 /* CGMBLEKitG5Plugin-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "CGMBLEKitG5Plugin-Bridging-Header.h"; sourceTree = "<group>"; };
 		B4D40D4923ABB33500D7ECB5 /* CGMBLEKitG5Plugin.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CGMBLEKitG5Plugin.swift; sourceTree = "<group>"; };
+		C105EF122981EDCF00EA8341 /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+		C105EF132981EDCF00EA8341 /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+		C121D8C929C7866D00DA0520 /* cs */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = cs; path = cs.lproj/Localizable.strings; sourceTree = "<group>"; };
+		C121D8CA29C7866D00DA0520 /* cs */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = cs; path = cs.lproj/Localizable.strings; sourceTree = "<group>"; };
+		C121D8CB29C7866D00DA0520 /* cs */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = cs; path = cs.lproj/Localizable.strings; sourceTree = "<group>"; };
+		C122DEF729BBFAAE00321F8D /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+		C137D7B12981EDD200ABEE68 /* fi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fi; path = fi.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+		C14B04E12981EDD200B37D8B /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+		C14B04E22981EDD200B37D8B /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/InfoPlist.strings; sourceTree = "<group>"; };
 		C15543B1252D8776008EE7E5 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
+		C15A581729C7866600D3A5A1 /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = ar.lproj/Localizable.strings; sourceTree = "<group>"; };
+		C15A581829C7866600D3A5A1 /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = ar.lproj/Localizable.strings; sourceTree = "<group>"; };
+		C15A581929C7866600D3A5A1 /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = ar.lproj/TransmitterManagerSetup.strings; sourceTree = "<group>"; };
+		C15A581A29C7866600D3A5A1 /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = ar.lproj/Localizable.strings; sourceTree = "<group>"; };
+		C17F1B502981EDD500F2F205 /* nb */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nb; path = nb.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+		C17F1B512981EDD500F2F205 /* nb */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nb; path = nb.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+		C182166D297E55A7001EB097 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+		C182166F297E55A7001EB097 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+		C18F3CBE2981EDD5000D3D0A /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+		C18F3CBF2981EDD6000D3D0A /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/InfoPlist.strings; sourceTree = "<group>"; };
 		C19084BA203932BD00AA47F3 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
+		C192C5FB29C78711001EFEA6 /* vi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = vi; path = vi.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+		C19E3878298638CE00851444 /* tr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = tr; path = tr.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+		C19E3879298638CE00851444 /* tr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = tr; path = tr.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+		C1B0CFD129C786BF0045B04D /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+		C1BCB5AC298309C4001C50FF /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+		C1BCB5AD298309C4001C50FF /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+		C1BE50C42981EDD8009CC165 /* ro */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ro; path = ro.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+		C1BE50C52981EDD8009CC165 /* ro */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ro; path = ro.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+		C1C2477B2995823200371B88 /* sk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sk; path = sk.lproj/Main.strings; sourceTree = "<group>"; };
+		C1C2477C2995823200371B88 /* sk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sk; path = sk.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+		C1C2477D2995823200371B88 /* sk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sk; path = sk.lproj/Localizable.strings; sourceTree = "<group>"; };
+		C1C2477E2995823200371B88 /* sk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sk; path = sk.lproj/Localizable.strings; sourceTree = "<group>"; };
+		C1C2477F2995823200371B88 /* sk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sk; path = sk.lproj/Localizable.strings; sourceTree = "<group>"; };
+		C1C247802995823200371B88 /* sk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sk; path = sk.lproj/TransmitterManagerSetup.strings; sourceTree = "<group>"; };
+		C1C247812995823200371B88 /* sk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sk; path = sk.lproj/Main.strings; sourceTree = "<group>"; };
+		C1C247822995823200371B88 /* sk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sk; path = sk.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+		C1C247832995823200371B88 /* sk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sk; path = sk.lproj/Localizable.strings; sourceTree = "<group>"; };
 		C1CD8B0A203931AD00A8F498 /* NSUserDefaults.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NSUserDefaults.swift; sourceTree = "<group>"; };
+		C1D18D4E2981EDD900FE14A1 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+		C1E3CD6A2981EDD9006BD841 /* sv */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sv; path = sv.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+		C1E3CD6B2981EDD9006BD841 /* sv */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sv; path = sv.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+		C1E693C729C786E200410918 /* pt-BR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-BR"; path = "pt-BR.lproj/InfoPlist.strings"; sourceTree = "<group>"; };
+		C1F48FF32995821600C8BD69 /* pl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pl; path = pl.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+		C1F48FF42995821600C8BD69 /* pl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pl; path = pl.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+		C1F83F572981EDCF00963B52 /* da */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = da; path = da.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+		C1F83F582981EDCF00963B52 /* da */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = da; path = da.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+		C1FAB5B929C786B000D25073 /* hi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hi; path = hi.lproj/Localizable.strings; sourceTree = "<group>"; };
+		C1FAB5BA29C786B000D25073 /* hi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hi; path = hi.lproj/Localizable.strings; sourceTree = "<group>"; };
+		C1FAB5BB29C786B000D25073 /* hi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hi; path = hi.lproj/Localizable.strings; sourceTree = "<group>"; };
+		C1FF3D4829C786A900BDC1EC /* he */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = he; path = he.lproj/InfoPlist.strings; sourceTree = "<group>"; };
 		E71BFF7D20673BD700C876A2 /* CommandQueue.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CommandQueue.swift; sourceTree = "<group>"; };
 		E752B40F2063C31B0063027D /* Command.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Command.swift; sourceTree = "<group>"; };
 		E75DB6AD20419B5D00FBE04E /* CalibrateGlucoseRxMessage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CalibrateGlucoseRxMessage.swift; sourceTree = "<group>"; };
@@ -731,6 +781,7 @@
 				C19084B9203932BD00AA47F3 /* Main.storyboard */,
 				437AFF022038EC43008C4892 /* LaunchScreen.storyboard */,
 				437AFF052038EC43008C4892 /* Info.plist */,
+				C182166C297E55A7001EB097 /* InfoPlist.strings */,
 				7D9BF0F82336EF7C005DCFD6 /* Localizable.strings */,
 			);
 			path = "CGMBLEKit Example";
@@ -750,6 +801,14 @@
 			name = Frameworks;
 			sourceTree = "<group>";
 		};
+		437DE50A229C8A0D003B1074 /* Scripts */ = {
+			isa = PBXGroup;
+			children = (
+				437DE50B229C8A1D003B1074 /* copy-frameworks.sh */,
+			);
+			path = Scripts;
+			sourceTree = "<group>";
+		};
 		43A8EC53210D0A7400A81379 /* CGMBLEKitUI */ = {
 			isa = PBXGroup;
 			children = (
@@ -781,6 +840,7 @@
 				B4D40D3F23A428BC00D7ECB5 /* CGMBLEKitG5Plugin */,
 				43CABDF41C3506F100005705 /* Products */,
 				437AFF172038EDF9008C4892 /* Frameworks */,
+				437DE50A229C8A0D003B1074 /* Scripts */,
 			);
 			sourceTree = "<group>";
 		};
@@ -1179,6 +1239,10 @@
 				ro,
 				tr,
 				he,
+				sk,
+				ar,
+				cs,
+				hi,
 			);
 			mainGroup = 43CABDE91C3506F100005705;
 			productRefGroup = 43CABDF41C3506F100005705 /* Products */;
@@ -1218,6 +1282,7 @@
 				7D9BF0F62336EF7C005DCFD6 /* Localizable.strings in Resources */,
 				437AFF042038EC43008C4892 /* LaunchScreen.storyboard in Resources */,
 				437AFF012038EC43008C4892 /* Assets.xcassets in Resources */,
+				C182166E297E55A7001EB097 /* InfoPlist.strings in Resources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -1547,6 +1612,10 @@
 				7D9BF11F2336FD7C005DCFD6 /* ro */,
 				F5D9C03C27DAC064002E48F6 /* tr */,
 				F5E0BE1C27E1DE3E0033557E /* he */,
+				C1C2477E2995823200371B88 /* sk */,
+				C15A581729C7866600D3A5A1 /* ar */,
+				C121D8C929C7866D00DA0520 /* cs */,
+				C1FAB5B929C786B000D25073 /* hi */,
 			);
 			name = Localizable.strings;
 			sourceTree = "<group>";
@@ -1573,6 +1642,10 @@
 				7D9BF1202336FD7D005DCFD6 /* ro */,
 				F5D9C03D27DAC064002E48F6 /* tr */,
 				F5E0BE1D27E1DE3E0033557E /* he */,
+				C1C2477F2995823200371B88 /* sk */,
+				C15A581829C7866600D3A5A1 /* ar */,
+				C121D8CA29C7866D00DA0520 /* cs */,
+				C1FAB5BA29C786B000D25073 /* hi */,
 			);
 			name = Localizable.strings;
 			sourceTree = "<group>";
@@ -1600,6 +1673,7 @@
 				7D9BF11E2336FD7C005DCFD6 /* ro */,
 				F5D9C03A27DAC063002E48F6 /* tr */,
 				F5E0BE1A27E1DE3E0033557E /* he */,
+				C1C247812995823200371B88 /* sk */,
 			);
 			name = Main.storyboard;
 			sourceTree = "<group>";
@@ -1637,6 +1711,8 @@
 				7D9BF11C2336FD7B005DCFD6 /* ro */,
 				F5D9C03727DAC063002E48F6 /* tr */,
 				F5E0BE1727E1DE3E0033557E /* he */,
+				C1C247802995823200371B88 /* sk */,
+				C15A581929C7866600D3A5A1 /* ar */,
 			);
 			name = TransmitterManagerSetup.storyboard;
 			sourceTree = "<group>";
@@ -1673,6 +1749,10 @@
 				7D9BF1222336FD7D005DCFD6 /* ro */,
 				F5D9C03F27DAC064002E48F6 /* tr */,
 				F5E0BE1F27E1DE3E0033557E /* he */,
+				C1C247832995823200371B88 /* sk */,
+				C15A581A29C7866600D3A5A1 /* ar */,
+				C121D8CB29C7866D00DA0520 /* cs */,
+				C1FAB5BB29C786B000D25073 /* hi */,
 			);
 			name = Localizable.strings;
 			sourceTree = "<group>";
@@ -1699,6 +1779,7 @@
 				7D9BF1212336FD7D005DCFD6 /* ro */,
 				F5D9C03E27DAC064002E48F6 /* tr */,
 				F5E0BE1E27E1DE3E0033557E /* he */,
+				C1C2477D2995823200371B88 /* sk */,
 			);
 			name = Localizable.strings;
 			sourceTree = "<group>";
@@ -1707,6 +1788,44 @@
 			isa = PBXVariantGroup;
 			children = (
 				80F864E82433C6450026EC26 /* fi */,
+				C182166F297E55A7001EB097 /* es */,
+				C1F83F582981EDCF00963B52 /* da */,
+				C105EF132981EDCF00EA8341 /* de */,
+				C14B04E22981EDD200B37D8B /* fr */,
+				C17F1B512981EDD500F2F205 /* nb */,
+				C18F3CBF2981EDD6000D3D0A /* nl */,
+				C1BE50C52981EDD8009CC165 /* ro */,
+				C1E3CD6B2981EDD9006BD841 /* sv */,
+				C1BCB5AD298309C4001C50FF /* it */,
+				C19E3879298638CE00851444 /* tr */,
+				C1F48FF42995821600C8BD69 /* pl */,
+				C1C247822995823200371B88 /* sk */,
+				C122DEF729BBFAAE00321F8D /* ru */,
+				C1FF3D4829C786A900BDC1EC /* he */,
+				C1B0CFD129C786BF0045B04D /* ja */,
+				C1E693C729C786E200410918 /* pt-BR */,
+				C192C5FB29C78711001EFEA6 /* vi */,
+			);
+			name = InfoPlist.strings;
+			sourceTree = "<group>";
+		};
+		C182166C297E55A7001EB097 /* InfoPlist.strings */ = {
+			isa = PBXVariantGroup;
+			children = (
+				C182166D297E55A7001EB097 /* es */,
+				C1F83F572981EDCF00963B52 /* da */,
+				C105EF122981EDCF00EA8341 /* de */,
+				C137D7B12981EDD200ABEE68 /* fi */,
+				C14B04E12981EDD200B37D8B /* fr */,
+				C17F1B502981EDD500F2F205 /* nb */,
+				C18F3CBE2981EDD5000D3D0A /* nl */,
+				C1BE50C42981EDD8009CC165 /* ro */,
+				C1D18D4E2981EDD900FE14A1 /* ru */,
+				C1E3CD6A2981EDD9006BD841 /* sv */,
+				C1BCB5AC298309C4001C50FF /* it */,
+				C19E3878298638CE00851444 /* tr */,
+				C1F48FF32995821600C8BD69 /* pl */,
+				C1C2477C2995823200371B88 /* sk */,
 			);
 			name = InfoPlist.strings;
 			sourceTree = "<group>";
@@ -1734,6 +1853,7 @@
 				7D9BF11D2336FD7C005DCFD6 /* ro */,
 				F5D9C03827DAC063002E48F6 /* tr */,
 				F5E0BE1827E1DE3E0033557E /* he */,
+				C1C2477B2995823200371B88 /* sk */,
 			);
 			name = Main.storyboard;
 			sourceTree = "<group>";

+ 0 - 97
Dependencies/CGMBLEKit/CGMBLEKit.xcodeproj/xcshareddata/xcschemes/CGMBLEKit Example.xcscheme

@@ -1,97 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Scheme
-   LastUpgradeVersion = "1330"
-   version = "1.3">
-   <BuildAction
-      parallelizeBuildables = "YES"
-      buildImplicitDependencies = "YES">
-      <BuildActionEntries>
-         <BuildActionEntry
-            buildForTesting = "YES"
-            buildForRunning = "YES"
-            buildForProfiling = "YES"
-            buildForArchiving = "YES"
-            buildForAnalyzing = "YES">
-            <BuildableReference
-               BuildableIdentifier = "primary"
-               BlueprintIdentifier = "437AFEF62038EC43008C4892"
-               BuildableName = "CGMBLEKit Example.app"
-               BlueprintName = "CGMBLEKit Example"
-               ReferencedContainer = "container:CGMBLEKit.xcodeproj">
-            </BuildableReference>
-         </BuildActionEntry>
-      </BuildActionEntries>
-   </BuildAction>
-   <TestAction
-      buildConfiguration = "Debug"
-      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
-      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
-      shouldUseLaunchSchemeArgsEnv = "YES">
-      <MacroExpansion>
-         <BuildableReference
-            BuildableIdentifier = "primary"
-            BlueprintIdentifier = "437AFEF62038EC43008C4892"
-            BuildableName = "CGMBLEKit Example.app"
-            BlueprintName = "CGMBLEKit Example"
-            ReferencedContainer = "container:CGMBLEKit.xcodeproj">
-         </BuildableReference>
-      </MacroExpansion>
-      <Testables>
-         <TestableReference
-            skipped = "NO">
-            <BuildableReference
-               BuildableIdentifier = "primary"
-               BlueprintIdentifier = "43CABDFC1C3506F100005705"
-               BuildableName = "CGMBLEKitTests.xctest"
-               BlueprintName = "CGMBLEKitTests"
-               ReferencedContainer = "container:CGMBLEKit.xcodeproj">
-            </BuildableReference>
-         </TestableReference>
-      </Testables>
-   </TestAction>
-   <LaunchAction
-      buildConfiguration = "Debug"
-      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
-      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
-      launchStyle = "0"
-      useCustomWorkingDirectory = "NO"
-      ignoresPersistentStateOnLaunch = "NO"
-      debugDocumentVersioning = "YES"
-      debugServiceExtension = "internal"
-      allowLocationSimulation = "YES">
-      <BuildableProductRunnable
-         runnableDebuggingMode = "0">
-         <BuildableReference
-            BuildableIdentifier = "primary"
-            BlueprintIdentifier = "437AFEF62038EC43008C4892"
-            BuildableName = "CGMBLEKit Example.app"
-            BlueprintName = "CGMBLEKit Example"
-            ReferencedContainer = "container:CGMBLEKit.xcodeproj">
-         </BuildableReference>
-      </BuildableProductRunnable>
-   </LaunchAction>
-   <ProfileAction
-      buildConfiguration = "Release"
-      shouldUseLaunchSchemeArgsEnv = "YES"
-      savedToolIdentifier = ""
-      useCustomWorkingDirectory = "NO"
-      debugDocumentVersioning = "YES">
-      <BuildableProductRunnable
-         runnableDebuggingMode = "0">
-         <BuildableReference
-            BuildableIdentifier = "primary"
-            BlueprintIdentifier = "437AFEF62038EC43008C4892"
-            BuildableName = "CGMBLEKit Example.app"
-            BlueprintName = "CGMBLEKit Example"
-            ReferencedContainer = "container:CGMBLEKit.xcodeproj">
-         </BuildableReference>
-      </BuildableProductRunnable>
-   </ProfileAction>
-   <AnalyzeAction
-      buildConfiguration = "Debug">
-   </AnalyzeAction>
-   <ArchiveAction
-      buildConfiguration = "Release"
-      revealArchiveInOrganizer = "YES">
-   </ArchiveAction>
-</Scheme>

+ 0 - 87
Dependencies/CGMBLEKit/CGMBLEKit.xcodeproj/xcshareddata/xcschemes/ResetTransmitter.xcscheme

@@ -1,87 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Scheme
-   LastUpgradeVersion = "1330"
-   version = "1.3">
-   <BuildAction
-      parallelizeBuildables = "YES"
-      buildImplicitDependencies = "YES">
-      <BuildActionEntries>
-         <BuildActionEntry
-            buildForTesting = "YES"
-            buildForRunning = "YES"
-            buildForProfiling = "YES"
-            buildForArchiving = "YES"
-            buildForAnalyzing = "YES">
-            <BuildableReference
-               BuildableIdentifier = "primary"
-               BlueprintIdentifier = "4308103220785FEA00B66384"
-               BuildableName = "ResetTransmitter.app"
-               BlueprintName = "ResetTransmitter"
-               ReferencedContainer = "container:CGMBLEKit.xcodeproj">
-            </BuildableReference>
-         </BuildActionEntry>
-      </BuildActionEntries>
-   </BuildAction>
-   <TestAction
-      buildConfiguration = "Debug"
-      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
-      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
-      shouldUseLaunchSchemeArgsEnv = "YES">
-      <MacroExpansion>
-         <BuildableReference
-            BuildableIdentifier = "primary"
-            BlueprintIdentifier = "4308103220785FEA00B66384"
-            BuildableName = "ResetTransmitter.app"
-            BlueprintName = "ResetTransmitter"
-            ReferencedContainer = "container:CGMBLEKit.xcodeproj">
-         </BuildableReference>
-      </MacroExpansion>
-      <Testables>
-      </Testables>
-   </TestAction>
-   <LaunchAction
-      buildConfiguration = "Debug"
-      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
-      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
-      launchStyle = "0"
-      useCustomWorkingDirectory = "NO"
-      ignoresPersistentStateOnLaunch = "NO"
-      debugDocumentVersioning = "YES"
-      debugServiceExtension = "internal"
-      allowLocationSimulation = "YES">
-      <BuildableProductRunnable
-         runnableDebuggingMode = "0">
-         <BuildableReference
-            BuildableIdentifier = "primary"
-            BlueprintIdentifier = "4308103220785FEA00B66384"
-            BuildableName = "ResetTransmitter.app"
-            BlueprintName = "ResetTransmitter"
-            ReferencedContainer = "container:CGMBLEKit.xcodeproj">
-         </BuildableReference>
-      </BuildableProductRunnable>
-   </LaunchAction>
-   <ProfileAction
-      buildConfiguration = "Release"
-      shouldUseLaunchSchemeArgsEnv = "YES"
-      savedToolIdentifier = ""
-      useCustomWorkingDirectory = "NO"
-      debugDocumentVersioning = "YES">
-      <BuildableProductRunnable
-         runnableDebuggingMode = "0">
-         <BuildableReference
-            BuildableIdentifier = "primary"
-            BlueprintIdentifier = "4308103220785FEA00B66384"
-            BuildableName = "ResetTransmitter.app"
-            BlueprintName = "ResetTransmitter"
-            ReferencedContainer = "container:CGMBLEKit.xcodeproj">
-         </BuildableReference>
-      </BuildableProductRunnable>
-   </ProfileAction>
-   <AnalyzeAction
-      buildConfiguration = "Debug">
-   </AnalyzeAction>
-   <ArchiveAction
-      buildConfiguration = "Release"
-      revealArchiveInOrganizer = "YES">
-   </ArchiveAction>
-</Scheme>

+ 0 - 76
Dependencies/CGMBLEKit/CGMBLEKit.xcodeproj/xcshareddata/xcschemes/Shared-watchOS.xcscheme

@@ -1,76 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Scheme
-   LastUpgradeVersion = "1330"
-   version = "1.3">
-   <BuildAction
-      parallelizeBuildables = "YES"
-      buildImplicitDependencies = "NO">
-      <BuildActionEntries>
-         <BuildActionEntry
-            buildForTesting = "YES"
-            buildForRunning = "YES"
-            buildForProfiling = "YES"
-            buildForArchiving = "YES"
-            buildForAnalyzing = "YES">
-            <BuildableReference
-               BuildableIdentifier = "primary"
-               BlueprintIdentifier = "A9AD37DE225EEE850058C179"
-               BuildableName = "CGMBLEKit.framework"
-               BlueprintName = "CGMBLEKit-watchOS"
-               ReferencedContainer = "container:CGMBLEKit.xcodeproj">
-            </BuildableReference>
-         </BuildActionEntry>
-      </BuildActionEntries>
-   </BuildAction>
-   <TestAction
-      buildConfiguration = "Debug"
-      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
-      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
-      shouldUseLaunchSchemeArgsEnv = "YES">
-      <Testables>
-      </Testables>
-   </TestAction>
-   <LaunchAction
-      buildConfiguration = "Debug"
-      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
-      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
-      launchStyle = "0"
-      useCustomWorkingDirectory = "NO"
-      ignoresPersistentStateOnLaunch = "NO"
-      debugDocumentVersioning = "YES"
-      debugServiceExtension = "internal"
-      allowLocationSimulation = "YES">
-      <MacroExpansion>
-         <BuildableReference
-            BuildableIdentifier = "primary"
-            BlueprintIdentifier = "A9AD37DE225EEE850058C179"
-            BuildableName = "CGMBLEKit.framework"
-            BlueprintName = "CGMBLEKit-watchOS"
-            ReferencedContainer = "container:CGMBLEKit.xcodeproj">
-         </BuildableReference>
-      </MacroExpansion>
-   </LaunchAction>
-   <ProfileAction
-      buildConfiguration = "Release"
-      shouldUseLaunchSchemeArgsEnv = "YES"
-      savedToolIdentifier = ""
-      useCustomWorkingDirectory = "NO"
-      debugDocumentVersioning = "YES">
-      <MacroExpansion>
-         <BuildableReference
-            BuildableIdentifier = "primary"
-            BlueprintIdentifier = "A9AD37DE225EEE850058C179"
-            BuildableName = "CGMBLEKit.framework"
-            BlueprintName = "CGMBLEKit-watchOS"
-            ReferencedContainer = "container:CGMBLEKit.xcodeproj">
-         </BuildableReference>
-      </MacroExpansion>
-   </ProfileAction>
-   <AnalyzeAction
-      buildConfiguration = "Debug">
-   </AnalyzeAction>
-   <ArchiveAction
-      buildConfiguration = "Release"
-      revealArchiveInOrganizer = "YES">
-   </ArchiveAction>
-</Scheme>

+ 0 - 137
Dependencies/CGMBLEKit/CGMBLEKit.xcodeproj/xcshareddata/xcschemes/Shared.xcscheme

@@ -1,137 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Scheme
-   LastUpgradeVersion = "1330"
-   version = "1.3">
-   <BuildAction
-      parallelizeBuildables = "NO"
-      buildImplicitDependencies = "NO">
-      <BuildActionEntries>
-         <BuildActionEntry
-            buildForTesting = "YES"
-            buildForRunning = "YES"
-            buildForProfiling = "YES"
-            buildForArchiving = "YES"
-            buildForAnalyzing = "YES">
-            <BuildableReference
-               BuildableIdentifier = "primary"
-               BlueprintIdentifier = "43CABDF21C3506F100005705"
-               BuildableName = "CGMBLEKit.framework"
-               BlueprintName = "CGMBLEKit"
-               ReferencedContainer = "container:CGMBLEKit.xcodeproj">
-            </BuildableReference>
-         </BuildActionEntry>
-         <BuildActionEntry
-            buildForTesting = "YES"
-            buildForRunning = "YES"
-            buildForProfiling = "YES"
-            buildForArchiving = "YES"
-            buildForAnalyzing = "YES">
-            <BuildableReference
-               BuildableIdentifier = "primary"
-               BlueprintIdentifier = "43A8EC51210D0A7400A81379"
-               BuildableName = "CGMBLEKitUI.framework"
-               BlueprintName = "CGMBLEKitUI"
-               ReferencedContainer = "container:CGMBLEKit.xcodeproj">
-            </BuildableReference>
-         </BuildActionEntry>
-         <BuildActionEntry
-            buildForTesting = "YES"
-            buildForRunning = "YES"
-            buildForProfiling = "YES"
-            buildForArchiving = "YES"
-            buildForAnalyzing = "YES">
-            <BuildableReference
-               BuildableIdentifier = "primary"
-               BlueprintIdentifier = "B4D40D3D23A428BC00D7ECB5"
-               BuildableName = "CGMBLEKitG5Plugin.loopplugin"
-               BlueprintName = "CGMBLEKitG5Plugin"
-               ReferencedContainer = "container:CGMBLEKit.xcodeproj">
-            </BuildableReference>
-         </BuildActionEntry>
-         <BuildActionEntry
-            buildForTesting = "YES"
-            buildForRunning = "YES"
-            buildForProfiling = "YES"
-            buildForArchiving = "YES"
-            buildForAnalyzing = "YES">
-            <BuildableReference
-               BuildableIdentifier = "primary"
-               BlueprintIdentifier = "B4D40D2D23A3E91800D7ECB5"
-               BuildableName = "CGMBLEKitG6Plugin.loopplugin"
-               BlueprintName = "CGMBLEKitG6Plugin"
-               ReferencedContainer = "container:CGMBLEKit.xcodeproj">
-            </BuildableReference>
-         </BuildActionEntry>
-      </BuildActionEntries>
-   </BuildAction>
-   <TestAction
-      buildConfiguration = "Debug"
-      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
-      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
-      shouldUseLaunchSchemeArgsEnv = "YES">
-      <MacroExpansion>
-         <BuildableReference
-            BuildableIdentifier = "primary"
-            BlueprintIdentifier = "43CABDF21C3506F100005705"
-            BuildableName = "CGMBLEKit.framework"
-            BlueprintName = "CGMBLEKit"
-            ReferencedContainer = "container:CGMBLEKit.xcodeproj">
-         </BuildableReference>
-      </MacroExpansion>
-      <Testables>
-         <TestableReference
-            skipped = "NO">
-            <BuildableReference
-               BuildableIdentifier = "primary"
-               BlueprintIdentifier = "43CABDFC1C3506F100005705"
-               BuildableName = "CGMBLEKitTests.xctest"
-               BlueprintName = "CGMBLEKitTests"
-               ReferencedContainer = "container:CGMBLEKit.xcodeproj">
-            </BuildableReference>
-         </TestableReference>
-      </Testables>
-   </TestAction>
-   <LaunchAction
-      buildConfiguration = "Debug"
-      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
-      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
-      launchStyle = "0"
-      useCustomWorkingDirectory = "NO"
-      ignoresPersistentStateOnLaunch = "NO"
-      debugDocumentVersioning = "YES"
-      debugServiceExtension = "internal"
-      allowLocationSimulation = "YES">
-      <MacroExpansion>
-         <BuildableReference
-            BuildableIdentifier = "primary"
-            BlueprintIdentifier = "43CABDF21C3506F100005705"
-            BuildableName = "CGMBLEKit.framework"
-            BlueprintName = "CGMBLEKit"
-            ReferencedContainer = "container:CGMBLEKit.xcodeproj">
-         </BuildableReference>
-      </MacroExpansion>
-   </LaunchAction>
-   <ProfileAction
-      buildConfiguration = "Release"
-      shouldUseLaunchSchemeArgsEnv = "YES"
-      savedToolIdentifier = ""
-      useCustomWorkingDirectory = "NO"
-      debugDocumentVersioning = "YES">
-      <MacroExpansion>
-         <BuildableReference
-            BuildableIdentifier = "primary"
-            BlueprintIdentifier = "43CABDF21C3506F100005705"
-            BuildableName = "CGMBLEKit.framework"
-            BlueprintName = "CGMBLEKit"
-            ReferencedContainer = "container:CGMBLEKit.xcodeproj">
-         </BuildableReference>
-      </MacroExpansion>
-   </ProfileAction>
-   <AnalyzeAction
-      buildConfiguration = "Debug">
-   </AnalyzeAction>
-   <ArchiveAction
-      buildConfiguration = "Release"
-      revealArchiveInOrganizer = "YES">
-   </ArchiveAction>
-</Scheme>

+ 4 - 391
Dependencies/CGMBLEKit/CGMBLEKit/OSLog.swift

@@ -4,143 +4,29 @@
 //
 //  Copyright © 2017 LoopKit Authors. All rights reserved.
 //
-//
-//  OSLog.swift
-//  OmniBLE
-//
-//  Copyright © 2017 LoopKit Authors. All rights reserved.
-// OSLog updated for FreeAPSX logs
-//
 
 import os.log
-import Foundation
-
-let storeLoopLog: Bool = false
-
-let loggerLock = NSRecursiveLock()
-let baseReporter: IssueReporter = SimpleLogReporter()
-let category = Logger.Category.CGMBLEKit
-
-extension NSLocking {
-    func perform<T>(_ block: () throws -> T) rethrows -> T {
-        lock()
-        defer { unlock() }
-        return try block()
-    }
-}
-
-extension NSRecursiveLock {
-    convenience init(label: String) {
-        self.init()
-        name = label
-    }
-}
 
-extension NSLock {
-    convenience init(label: String) {
-        self.init()
-        name = label
-    }
-}
 
 extension OSLog {
-    
     convenience init(category: String) {
         self.init(subsystem: "com.loopkit.CGMBLEKit", category: category)
     }
 
     func debug(_ message: StaticString, _ args: CVarArg...) {
-        if (!storeLoopLog) {
-            log(message, type: .debug, args)
-        } else {
-            let msg_format = message.withUTF8Buffer{
-                String(decoding: $0, as: UTF8.self)
-            }
-            
-            let msg = String(format: msg_format.replacingOccurrences(of: "{public}", with: ""), args)
-            DispatchWorkItem(qos: .background, flags: .enforceQoS) {
-                loggerLock.perform {
-                    category.logger.debug(
-                        {msg}(),
-                        printToConsole: true,
-                        file: #file,
-                        function: #function,
-                        line: #line
-                    )
-                }
-            }.perform()
-        }
+        log(message, type: .debug, args)
     }
 
     func info(_ message: StaticString, _ args: CVarArg...) {
-        if (!storeLoopLog) {
-            log(message, type: .info, args)
-        } else {
-            let msg_format = message.withUTF8Buffer{
-                String(decoding: $0, as: UTF8.self)
-            }
-            let msg = String(format: msg_format.replacingOccurrences(of: "{public}", with: ""), args)
-            DispatchWorkItem(qos: .background, flags: .enforceQoS) {
-                loggerLock.perform {
-                    category.logger.info(
-                        {msg}(),
-                        file: #file,
-                        function: #function,
-                        line: #line
-                    )
-                }
-            }.perform()
-        }
-        
-        
+        log(message, type: .info, args)
     }
 
     func `default`(_ message: StaticString, _ args: CVarArg...) {
-        if (!storeLoopLog) {
-            log(message, type: .default, args)
-        } else {
-            let msg_format = message.withUTF8Buffer{
-                String(decoding: $0, as: UTF8.self)
-            }
-            let msg = String(format: msg_format.replacingOccurrences(of: "{public}", with: ""), args)
-            DispatchWorkItem(qos: .background, flags: .enforceQoS) {
-                loggerLock.perform {
-                    category.logger.debug(
-                        {msg}(),
-                        printToConsole: true,
-                        file: #file,
-                        function: #function,
-                        line: #line
-                    )
-                }
-            }.perform()
-        }
-        
+        log(message, type: .default, args)
     }
 
     func error(_ message: StaticString, _ args: CVarArg...) {
-        if (!storeLoopLog) {
-            log(message, type: .error, args)
-        } else {
-            let msg_format = message.withUTF8Buffer{
-                String(decoding: $0, as: UTF8.self)
-            }
-            let msg = String(format: msg_format.replacingOccurrences(of: "{public}", with: ""), args)
-            DispatchWorkItem(qos: .background, flags: .enforceQoS) {
-               
-                loggerLock.perform {
-                    category.logger.warning(
-                        {msg}(),
-                        description:  {msg}(),
-                        error: nil,
-                        file: #file,
-                        function: #function,
-                        line: #line
-                    )
-                }
-            }.perform()
-        }
-        
+        log(message, type: .error, args)
     }
 
     private func log(_ message: StaticString, type: OSLogType, _ args: [CVarArg]) {
@@ -162,276 +48,3 @@ extension OSLog {
         }
     }
 }
-
-protocol IssueReporter: AnyObject {
-    /// Call this method in `applicationDidFinishLaunching()`.
-    func setup()
-
-    func setUserIdentifier(_: String?)
-
-    func reportNonFatalIssue(withName: String, attributes: [String: String])
-
-    func reportNonFatalIssue(withError: NSError)
-
-    func log(_ category: String, _ message: String, file: String, function: String, line: UInt)
-}
-
-final class Logger {
-    static let `default` = Logger(category: .default, reporter: baseReporter)
-    static let  CGMBLEKit = Logger(category: .CGMBLEKit, reporter: baseReporter)
-
-    enum Category: String {
-        case `default`
-        case CGMBLEKit
-
-        var name: String {
-            rawValue
-        }
-
-        var logger: Logger {
-            switch self {
-            case .default: return .default
-            case .CGMBLEKit: return .CGMBLEKit
-            
-            }
-        }
-
-        fileprivate var log: OSLog {
-            let subsystem = Bundle.main.bundleIdentifier!
-            switch self {
-            case .default: return OSLog.default
-            case .CGMBLEKit: return OSLog(subsystem: subsystem, category: name)
-            }
-        }
-    }
-
-    fileprivate enum Error: Swift.Error {
-        case error(String)
-        case errorWithInnerError(String, Swift.Error)
-        case errorWithDescription(String, String)
-        case errorWithDescriptionAndInnerError(String, String, Swift.Error)
-
-        private func domain() -> String {
-            switch self {
-            case let .error(domain),
-                 let .errorWithDescription(domain, _),
-                 let .errorWithDescriptionAndInnerError(domain, _, _),
-                 let .errorWithInnerError(domain, _):
-                return domain
-            }
-        }
-
-        private func innerError() -> Swift.Error? {
-            switch self {
-            case let .errorWithDescriptionAndInnerError(_, _, error),
-                 let .errorWithInnerError(_, error):
-                return error
-            default: return nil
-            }
-        }
-
-        func asNSError() -> NSError {
-            var info: [String: Any] = ["Description": String(describing: self)]
-
-            if let error = innerError() {
-                info["Error"] = String(describing: error)
-            }
-
-            return NSError(domain: domain(), code: -1, userInfo: info)
-        }
-    }
-
-    private let category: Category
-    private let reporter: IssueReporter
-    let log: OSLog
-
-    private init(category: Category, reporter: IssueReporter) {
-        self.category = category
-        self.reporter = reporter
-        log = category.log
-    }
-
-    static func setup() {
-        loggerLock.perform {
-            baseReporter.setup()
-        }
-    }
-
-    func debug(
-        _ message: @autoclosure () -> String,
-        printToConsole: Bool = true,
-        file: String = #file,
-        function: String = #function,
-        line: UInt = #line
-    ) {
-        let message = "DEV: \(message())"
-        if printToConsole {
-            os_log("%@ - %@ - %d %{public}@", log: log, type: .debug, file.file, function, line, message)
-        }
-        reporter.log(category.name, message, file: file, function: function, line: line)
-    }
-
-    func info(
-        _ message: String,
-        file: String = #file,
-        function: String = #function,
-        line: UInt = #line
-    ) {
-        let printedMessage = "INFO: \(message)"
-        os_log("%@ - %@ - %d %{public}@", log: log, type: .info, file.file, function, line, printedMessage)
-        reporter.log(category.name, printedMessage, file: file, function: function, line: line)
-    }
-
-    func warning(
-        _ message: String,
-        description: String? = nil,
-        error maybeError: Swift.Error? = nil,
-        file: String = #file,
-        function: String = #function,
-        line: UInt = #line
-    ) {
-        let loggerError = maybeError.loggerError(message: message, withDescription: description)
-        let message = "WARN: \(String(describing: loggerError))"
-
-        os_log("%@ - %@ - %d %{public}@", log: log, type: .default, file.file, function, line, message)
-        reporter.log(category.name, message, file: file, function: function, line: line)
-        reporter.reportNonFatalIssue(withError: loggerError.asNSError())
-        
-    }
-
-    func error(
-        _ message: String,
-        description: String? = nil,
-        error maybeError: Swift.Error? = nil,
-        file: String = #file,
-        function: String = #function,
-        line: UInt = #line
-    ) -> Never {
-        errorWithoutFatalError(message, description: description, error: maybeError, file: file, function: function, line: line)
-
-        fatalError(
-            "\(message) @ \(String(describing: description)) @ \(String(describing: maybeError)) @ \(file) @ \(function) @ \(line)"
-        )
-    }
-
-
-    fileprivate func errorWithoutFatalError(
-        _ message: String,
-        description: String? = nil,
-        error maybeError: Swift.Error? = nil,
-        file: String = #file,
-        function: String = #function,
-        line: UInt = #line
-    ) {
-        let loggerError = maybeError.loggerError(message: message, withDescription: description)
-        let message = "ERR: \(String(describing: loggerError))"
-
-        os_log("%@ - %@ - %d %{public}@", log: log, type: .error, file.file, function, line, message)
-        reporter.log(category.name, message, file: file, function: function, line: line)
-        reporter.reportNonFatalIssue(withError: loggerError.asNSError())
-    }
-}
-
-private extension Optional where Wrapped == Swift.Error {
-    func loggerError(message: String, withDescription description: String?) -> Logger.Error {
-        switch (description, self) {
-        case (nil, nil):
-            return .error(message)
-        case let (descr?, nil):
-            return .errorWithDescription(message, descr)
-        case let (nil, error?):
-            return .errorWithInnerError(message, error)
-        case let (descr?, error?):
-            return .errorWithDescriptionAndInnerError(message, descr, error)
-        }
-    }
-}
-
-
-final class SimpleLogReporter: IssueReporter {
-    private let fileManager = FileManager.default
-
-    private var dateFormatter: DateFormatter {
-        let dateFormatter = DateFormatter()
-        dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZ"
-        return dateFormatter
-    }
-
-    func setup() {}
-
-    func setUserIdentifier(_: String?) {}
-
-    func reportNonFatalIssue(withName _: String, attributes _: [String: String]) {}
-
-    func reportNonFatalIssue(withError _: NSError) {}
-
-    func log(_ category: String, _ message: String, file: String, function: String, line: UInt) {
-        let now = Date()
-        let startOfDay = Calendar.current.startOfDay(for: now)
-
-        if !fileManager.fileExists(atPath: SimpleLogReporter.logDir) {
-            try? fileManager.createDirectory(
-                atPath: SimpleLogReporter.logDir,
-                withIntermediateDirectories: false,
-                attributes: nil
-            )
-        }
-
-        if !fileManager.fileExists(atPath: SimpleLogReporter.logFile) {
-            createFile(at: startOfDay)
-        } else {
-            if let attributes = try? fileManager.attributesOfItem(atPath: SimpleLogReporter.logFile),
-               let creationDate = attributes[.creationDate] as? Date, creationDate < startOfDay
-            {
-                try? fileManager.removeItem(atPath: SimpleLogReporter.logFilePrev)
-                try? fileManager.moveItem(atPath: SimpleLogReporter.logFile, toPath: SimpleLogReporter.logFilePrev)
-                createFile(at: startOfDay)
-            }
-        }
-
-        let logEntry = "\(dateFormatter.string(from: now)) [\(category)] \(file.file) - \(function) - \(line) - \(message)\n"
-        let data = logEntry.data(using: .utf8)!
-        try? data.append(fileURL: URL(fileURLWithPath: SimpleLogReporter.logFile))
-    }
-
-    private func createFile(at date: Date) {
-        fileManager.createFile(atPath: SimpleLogReporter.logFile, contents: nil, attributes: [.creationDate: date])
-    }
-
-    static var logFile: String {
-        getDocumentsDirectory().appendingPathComponent("logs/log.txt").path
-    }
-
-    static var logDir: String {
-        getDocumentsDirectory().appendingPathComponent("logs").path
-    }
-
-    static var logFilePrev: String {
-        getDocumentsDirectory().appendingPathComponent("logs/log_prev.txt").path
-    }
-
-    static func getDocumentsDirectory() -> URL {
-        let paths = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)
-        let documentsDirectory = paths[0]
-        return documentsDirectory
-    }
-}
-
-private extension Data {
-    func append(fileURL: URL) throws {
-        if let fileHandle = FileHandle(forWritingAtPath: fileURL.path) {
-            defer {
-                fileHandle.closeFile()
-            }
-            fileHandle.seekToEndOfFile()
-            fileHandle.write(self)
-        } else {
-            try write(to: fileURL, options: .atomic)
-        }
-    }
-}
-
-private extension String {
-    var file: String { components(separatedBy: "/").last ?? "" }
-}
-

+ 1 - 1
Dependencies/CGMBLEKit/CGMBLEKit/TransmitterManager.swift

@@ -126,7 +126,7 @@ public class TransmitterManager: TransmitterDelegate {
         }()
 
         let quantity = HKQuantity(unit: .milligramsPerDeciliter, doubleValue: glucoseValue)
-        let trendRate = HKQuantity(unit: .milligramsPerDeciliter, doubleValue: trendRateValue)
+        let trendRate = HKQuantity(unit: .milligramsPerDeciliterPerMinute, doubleValue: trendRateValue)
         let sample = NewGlucoseSample(date: timestamp, quantity: quantity, condition: nil, trend: trend, trendRate: trendRate, isDisplayOnly: false, wasUserEntered: false, syncIdentifier: syncIdentifier)
         self.updateDelegate(with: .newData([sample]))
     }

+ 3 - 0
Dependencies/CGMBLEKit/CGMBLEKit/ar.lproj/Localizable.strings

@@ -0,0 +1,3 @@
+/* Describes a functioning transmitter */
+"OK" = "موافق";
+

+ 18 - 0
Dependencies/CGMBLEKit/CGMBLEKit/cs.lproj/Localizable.strings

@@ -0,0 +1,18 @@
+/* Error description for unreliable state */
+"Glucose data is unavailable" = "Údaje o glukóze nejsou k dispozici";
+
+/* Describes a low battery */
+"Low Battery" = "Vybitá baterie";
+
+/* Describes a functioning transmitter */
+"OK" = "OK";
+
+/* Timeout error description */
+"Peripheral did not respond in time" = "Periferní zařízení nereagovalo včas";
+
+/* The description of sensor calibration state when sensor sensor is stopped. */
+"Sensor is stopped" = "Senzor je zastaven";
+
+/* The description of sensor calibration state when sensor sensor is warming up. */
+"Sensor is warming up" = "Senzor se zahřívá";
+

+ 10 - 7
Dependencies/CGMBLEKit/CGMBLEKit/da.lproj/Localizable.strings

@@ -5,7 +5,7 @@
 "Dexcom G6" = "Dexcom G6";
 
 /* Error description for unreliable state */
-"Glucose data is unavailable" = "Glukosedata er ikke tilgængelige";
+"Glucose data is unavailable" = "Glukosedata ikke tilgængeligt";
 
 /* Describes a low battery */
 "Low Battery" = "lavt batteri";
@@ -13,27 +13,30 @@
 /* Describes a functioning transmitter */
 "OK" = "OK";
 
+/* invlid config error description */
+"Peripheral command was invalid" = "Kommando for ekstern enhed var ugyldig";
+
 /* Timeout error description */
-"Peripheral did not respond in time" = "Perifere reagerede ikke i tide";
+"Peripheral did not respond in time" = "Ekstern enhed svarede ikke i tide";
 
 /* Not ready error description */
-"Peripheral isnʼt connected" = "Perifert udstyr er ikke tilsluttet";
+"Peripheral isnʼt connected" = "Ekstern enhed er ikke forbundet";
 
 /* The description of sensor calibration state when sensor calibration is ok. */
 "Sensor calibration is OK" = "Sensorkalibrering er OK";
 
 /* The description of sensor calibration state when raw value is unknown. (1: missing data details) */
-"Sensor is in unknown state %1$d" = "Sensoren er i en ukendt tilstand %1$d";
+"Sensor is in unknown state %1$d" = "Sensor i ukendt tilstand %1$d";
 
 /* The description of sensor calibration state when sensor sensor is stopped. */
-"Sensor is stopped" = "Sensoren er stoppet";
+"Sensor is stopped" = "Sensor er stoppet";
 
 /* The description of sensor calibration state when sensor sensor is warming up. */
-"Sensor is warming up" = "Sensoren varmer op";
+"Sensor is warming up" = "Sensor varmer op";
 
 /* The description of sensor calibration state when sensor needs calibration. */
 "Sensor needs calibration" = "Sensoren har brug for kalibrering";
 
 /* Error description */
-"Unknown characteristic" = "Ukendt egenskab";
+"Unknown characteristic" = "Ukendt karakteristik";
 

+ 18 - 5
Dependencies/CGMBLEKit/CGMBLEKit/de.lproj/Localizable.strings

@@ -1,29 +1,42 @@
+/* CGM display title */
+"Dexcom G5" = "Dexcom G5";
+
+/* CGM display title */
+"Dexcom G6" = "Dexcom G6";
+
 /* Error description for unreliable state */
-"Glucose data is unavailable" = "Glukosedaten sind nicht verfügbar";
+"Glucose data is unavailable" = "Blutzuckerdaten sind nicht verfügbar";
 
 /* Describes a low battery */
 "Low Battery" = "Niedriger Batteriestatus";
 
+/* Describes a functioning transmitter */
+"OK" = "OK";
+
+/* invlid config error description */
+"Peripheral command was invalid" = "Peripheriebefehl war ungültig";
+
 /* Timeout error description */
-"Peripheral did not respond in time" = "Peripheres Gerät antwortet nicht rechtzeitig";
+"Peripheral did not respond in time" = "Peripherie antwortet nicht rechtzeitig";
 
 /* Not ready error description */
-"Peripheral isnʼt connected" = "Peripheres Gerät ist nicht verbunden";
+"Peripheral isnʼt connected" = "Peripherie ist nicht verbunden";
 
 /* The description of sensor calibration state when sensor calibration is ok. */
 "Sensor calibration is OK" = "Sensorkalibrierung ist OK";
 
 /* The description of sensor calibration state when raw value is unknown. (1: missing data details) */
-"Sensor is in unknown state %1$d" = "Sensor ist in unbekanntem Zustand %1$d";
+"Sensor is in unknown state %1$d" = "Sensor befindet sich in unbekanntem Zustand %1$d";
 
 /* The description of sensor calibration state when sensor sensor is stopped. */
 "Sensor is stopped" = "Sensor ist gestoppt";
 
 /* The description of sensor calibration state when sensor sensor is warming up. */
-"Sensor is warming up" = "Sensor erwärmt sich";
+"Sensor is warming up" = "Sensor befindet sich in der Aufwärmphase";
 
 /* The description of sensor calibration state when sensor needs calibration. */
 "Sensor needs calibration" = "Sensor benötigt Kalibrierung";
 
 /* Error description */
 "Unknown characteristic" = "Unbekannte Charakteristik";
+

+ 15 - 3
Dependencies/CGMBLEKit/CGMBLEKit/es.lproj/Localizable.strings

@@ -1,3 +1,8 @@
+/* CGM display title */
+"Dexcom G5" = "Dexcom G5";
+
+/* CGM display title */
+"Dexcom G6" = "Dexcom G6";
 
 /* Error description for unreliable state */
 "Glucose data is unavailable" = "Los datos de glucosa no están disponibles";
@@ -5,6 +10,12 @@
 /* Describes a low battery */
 "Low Battery" = "Batería Baja";
 
+/* Describes a functioning transmitter */
+"OK" = "OK";
+
+/* invlid config error description */
+"Peripheral command was invalid" = "El comando del dispositivo periférico no es válido";
+
 /* Timeout error description */
 "Peripheral did not respond in time" = "El dispositivo periférico no respondió a tiempo";
 
@@ -15,16 +26,17 @@
 "Sensor calibration is OK" = "Calibración de sensor está OK";
 
 /* The description of sensor calibration state when raw value is unknown. (1: missing data details) */
-"Sensor is in unknown state %1$d" = "Estado desconocido de sensor %1$d";
+"Sensor is in unknown state %1$d" = "El sensor está en estado desconocido %1$d";
 
 /* The description of sensor calibration state when sensor sensor is stopped. */
-"Sensor is stopped" = "Sensor se ha detenido";
+"Sensor is stopped" = "El sensor está en pausa";
 
 /* The description of sensor calibration state when sensor sensor is warming up. */
-"Sensor is warming up" = "Preparación de sensor";
+"Sensor is warming up" = "El sensor se está calentando";
 
 /* The description of sensor calibration state when sensor needs calibration. */
 "Sensor needs calibration" = "Sensor se necesita de calibración";
 
 /* Error description */
 "Unknown characteristic" = "Característica desconocida";
+

+ 2 - 2
Dependencies/CGMBLEKit/CGMBLEKit/fi.lproj/Localizable.strings

@@ -17,10 +17,10 @@
 "Peripheral command was invalid" = "Oheislaitekomento oli virheellinen";
 
 /* Timeout error description */
-"Peripheral did not respond in time" = "Oheislaite ei vastannut ajoissa";
+"Peripheral did not respond in time" = "Ulkoinen laite ei vastannut ajoissa";
 
 /* Not ready error description */
-"Peripheral isnʼt connected" = "Oheislaitetta ei ole kytketty";
+"Peripheral isnʼt connected" = "Ulkoinen laite ei ole yhdistetty";
 
 /* The description of sensor calibration state when sensor calibration is ok. */
 "Sensor calibration is OK" = "Anturin kalibrointi onnistui";

+ 19 - 6
Dependencies/CGMBLEKit/CGMBLEKit/fr.lproj/Localizable.strings

@@ -1,9 +1,21 @@
+/* CGM display title */
+"Dexcom G5" = "Dexcom G5";
+
+/* CGM display title */
+"Dexcom G6" = "Dexcom G6";
+
 /* Error description for unreliable state */
-"Glucose data is unavailable" = "Les données de glucose ne sont pas disponibles";
+"Glucose data is unavailable" = "Les données de glycémie ne sont pas disponibles";
 
 /* Describes a low battery */
 "Low Battery" = "Batterie faible";
 
+/* Describes a functioning transmitter */
+"OK" = "OK";
+
+/* invlid config error description */
+"Peripheral command was invalid" = "La commande périphérique a retourné une commande invalide";
+
 /* Timeout error description */
 "Peripheral did not respond in time" = "Le périphérique n’a pas répondu à temps";
 
@@ -11,19 +23,20 @@
 "Peripheral isnʼt connected" = "Le périphérique n’est pas connecté";
 
 /* The description of sensor calibration state when sensor calibration is ok. */
-"Sensor calibration is OK" = "Calibration de capteur OK";
+"Sensor calibration is OK" = "Étalonnage de capteur OK";
 
 /* The description of sensor calibration state when raw value is unknown. (1: missing data details) */
-"Sensor is in unknown state %1$d" = "Capteur est dans un état inconnu %1$d";
+"Sensor is in unknown state %1$d" = "Le capteur est dans un état inconnu %1$d";
 
 /* The description of sensor calibration state when sensor sensor is stopped. */
-"Sensor is stopped" = "Capteur est arrêté";
+"Sensor is stopped" = "Le capteur est arrêté";
 
 /* The description of sensor calibration state when sensor sensor is warming up. */
-"Sensor is warming up" = "Capteur est en période de réchauffement";
+"Sensor is warming up" = "Le capteur est en préchauffage";
 
 /* The description of sensor calibration state when sensor needs calibration. */
-"Sensor needs calibration" = "Capteur a besoin de calibration";
+"Sensor needs calibration" = "Capteur doit être étalonné";
 
 /* Error description */
 "Unknown characteristic" = "Caractéristique inconnue";
+

+ 5 - 5
Dependencies/CGMBLEKit/CGMBLEKit/he.lproj/Localizable.strings

@@ -8,7 +8,7 @@
 "Glucose data is unavailable" = "Glucose data is unavailable";
 
 /* Describes a low battery */
-"Low Battery" = "Low Battery";
+"Low Battery" = "סוללה חלשה";
 
 /* Describes a functioning transmitter */
 "OK" = "OK";
@@ -23,17 +23,17 @@
 "Sensor calibration is OK" = "Sensor calibration is OK";
 
 /* The description of sensor calibration state when raw value is unknown. (1: missing data details) */
-"Sensor is in unknown state %1$d" = "Sensor is in unknown state %1$d";
+"Sensor is in unknown state %1$d" = "מצב החישן אינו ידוע %1$d";
 
 /* The description of sensor calibration state when sensor sensor is stopped. */
-"Sensor is stopped" = "Sensor is stopped";
+"Sensor is stopped" = "חיישן נעצר";
 
 /* The description of sensor calibration state when sensor sensor is warming up. */
-"Sensor is warming up" = "Sensor is warming up";
+"Sensor is warming up" = "חיישן מתחמם";
 
 /* The description of sensor calibration state when sensor needs calibration. */
 "Sensor needs calibration" = "Sensor needs calibration";
 
 /* Error description */
-"Unknown characteristic" = "Unknown characteristic";
+"Unknown characteristic" = "מאפיין לא ידוע";
 

+ 9 - 0
Dependencies/CGMBLEKit/CGMBLEKit/hi.lproj/Localizable.strings

@@ -0,0 +1,9 @@
+/* Error description for unreliable state */
+"Glucose data is unavailable" = "ग्लूकोस डेटा उपलब्ध नहीं है";
+
+/* The description of sensor calibration state when sensor sensor is stopped. */
+"Sensor is stopped" = "सेन्सर समाप्त हो गया";
+
+/* The description of sensor calibration state when sensor sensor is warming up. */
+"Sensor is warming up" = "सेन्सर अपने शुरुआती समय में है";
+

+ 17 - 5
Dependencies/CGMBLEKit/CGMBLEKit/it.lproj/Localizable.strings

@@ -1,10 +1,21 @@
+/* CGM display title */
+"Dexcom G5" = "Dexcom G5";
+
+/* CGM display title */
+"Dexcom G6" = "Dexcom G6";
 
 /* Error description for unreliable state */
-"Glucose data is unavailable" = "I dati sulla glicemia non sono disponibili";
+"Glucose data is unavailable" = "I dati della glicemia non sono disponibili";
 
 /* Describes a low battery */
 "Low Battery" = "Batteria Bassa";
 
+/* Describes a functioning transmitter */
+"OK" = "OK";
+
+/* invlid config error description */
+"Peripheral command was invalid" = "Il comando della periferica non era valido";
+
 /* Timeout error description */
 "Peripheral did not respond in time" = "La periferica non ha risposto nel tempo limite";
 
@@ -15,16 +26,17 @@
 "Sensor calibration is OK" = "La calibrazione del sensore e' valida";
 
 /* The description of sensor calibration state when raw value is unknown. (1: missing data details) */
-"Sensor is in unknown state %1$d" = "Il sensore presenta stato sconosciuto %1$d";
+"Sensor is in unknown state %1$d" = "Il Sensore e' in un stato%1$d sconosciuto";
 
 /* The description of sensor calibration state when sensor sensor is stopped. */
-"Sensor is stopped" = "Il sensore e' spento";
+"Sensor is stopped" = "Il Sensore e' fermato";
 
 /* The description of sensor calibration state when sensor sensor is warming up. */
-"Sensor is warming up" = "Il sensore e' in fase di avvio";
+"Sensor is warming up" = "Il Sensore si sta riscaldando";
 
 /* The description of sensor calibration state when sensor needs calibration. */
 "Sensor needs calibration" = "Il sensore necessita di calibrazione";
 
 /* Error description */
-"Unknown characteristic" = "Caratteristiche sconosciute";
+"Unknown characteristic" = "Caratteristica sconosciuta";
+

+ 3 - 3
Dependencies/CGMBLEKit/CGMBLEKit/ja.lproj/Localizable.strings

@@ -14,10 +14,10 @@
 "OK" = "OK";
 
 /* Timeout error description */
-"Peripheral did not respond in time" = "周辺機器が時間内に反応しませんでした";
+"Peripheral did not respond in time" = "危機が時間内に反応しませんでした";
 
 /* Not ready error description */
-"Peripheral isnʼt connected" = "周辺機器が接続されていません";
+"Peripheral isnʼt connected" = "危機が接続されていません";
 
 /* The description of sensor calibration state when sensor calibration is ok. */
 "Sensor calibration is OK" = "センサーの較正はできています";
@@ -35,5 +35,5 @@
 "Sensor needs calibration" = "センサーの較正が必要です";
 
 /* Error description */
-"Unknown characteristic" = "不明な特徴";
+"Unknown characteristic" = "エラー不明";
 

+ 16 - 3
Dependencies/CGMBLEKit/CGMBLEKit/nb.lproj/Localizable.strings

@@ -1,8 +1,20 @@
+/* CGM display title */
+"Dexcom G5" = "Dexcom G5";
+
+/* CGM display title */
+"Dexcom G6" = "Dexcom G6";
+
 /* Error description for unreliable state */
-"Glucose data is unavailable" = "Glukose data er utilgjengelig";
+"Glucose data is unavailable" = "Blodsukker er utilgjengelig";
 
 /* Describes a low battery */
-"Low Battery" = "Lite batteri";
+"Low Battery" = "Lavt batterinivå";
+
+/* Describes a functioning transmitter */
+"OK" = "Ok";
+
+/* invlid config error description */
+"Peripheral command was invalid" = "Perifer kommando var ugyldig";
 
 /* Timeout error description */
 "Peripheral did not respond in time" = "Tilbehøret svarte ikke i tide";
@@ -14,7 +26,7 @@
 "Sensor calibration is OK" = "Sensorkalibrering er OK";
 
 /* The description of sensor calibration state when raw value is unknown. (1: missing data details) */
-"Sensor is in unknown state %1$d" = "Sensor er i ukjent status %1$d";
+"Sensor is in unknown state %1$d" = "Sensor er i ukjent tilstand %1$d";
 
 /* The description of sensor calibration state when sensor sensor is stopped. */
 "Sensor is stopped" = "Sensor er stoppet";
@@ -27,3 +39,4 @@
 
 /* Error description */
 "Unknown characteristic" = "Ukjent karakteristikk";
+

+ 19 - 7
Dependencies/CGMBLEKit/CGMBLEKit/nl.lproj/Localizable.strings

@@ -1,9 +1,20 @@
+/* CGM display title */
+"Dexcom G5" = "Dexcom G5";
+
+/* CGM display title */
+"Dexcom G6" = "Dexcom G6";
 
 /* Error description for unreliable state */
-"Glucose data is unavailable" = "Glucose gegevens niet beschikbaar";
+"Glucose data is unavailable" = "Glucosegegevens zijn niet beschikbaar";
 
 /* Describes a low battery */
-"Low Battery" = "Lage batterij";
+"Low Battery" = "Batterij Bijna Leeg";
+
+/* Describes a functioning transmitter */
+"OK" = "Ok";
+
+/* invlid config error description */
+"Peripheral command was invalid" = "Perifere commando was ongeldig";
 
 /* Timeout error description */
 "Peripheral did not respond in time" = "Apparaat reageerde niet op tijd";
@@ -12,19 +23,20 @@
 "Peripheral isnʼt connected" = "Apparaat is niet verbonden";
 
 /* The description of sensor calibration state when sensor calibration is ok. */
-"Sensor calibration is OK" = "Sensor callibratie is geslaagd";
+"Sensor calibration is OK" = "Sensorkalibratie is OK";
 
 /* The description of sensor calibration state when raw value is unknown. (1: missing data details) */
-"Sensor is in unknown state %1$d" = "Senor is in onbekende status %1$d";
+"Sensor is in unknown state %1$d" = "Onbekende sensorstatus %1$d";
 
 /* The description of sensor calibration state when sensor sensor is stopped. */
-"Sensor is stopped" = "Sensor is gestopt";
+"Sensor is stopped" = "Sensor gestopt";
 
 /* The description of sensor calibration state when sensor sensor is warming up. */
-"Sensor is warming up" = "Sensor is aan het opwarmen";
+"Sensor is warming up" = "Sensor aan het opwarmen";
 
 /* The description of sensor calibration state when sensor needs calibration. */
-"Sensor needs calibration" = "Sensor heeft callibratie nodig";
+"Sensor needs calibration" = "Sensor moet worden gekalibreerd";
 
 /* Error description */
 "Unknown characteristic" = "Onbekende eigenschap";
+

+ 16 - 3
Dependencies/CGMBLEKit/CGMBLEKit/pl.lproj/Localizable.strings

@@ -1,9 +1,21 @@
+/* CGM display title */
+"Dexcom G5" = "Dexcom G5";
+
+/* CGM display title */
+"Dexcom G6" = "Dexcom G6";
+
 /* Error description for unreliable state */
-"Glucose data is unavailable" = "Dane o glukozie są niedostępne";
+"Glucose data is unavailable" = "Dane o poziomie glukozy są niedostępne";
 
 /* Describes a low battery */
 "Low Battery" = "Słaba bateria";
 
+/* Describes a functioning transmitter */
+"OK" = "OK";
+
+/* invlid config error description */
+"Peripheral command was invalid" = "Polecenie urządzenia peryferyjnego było nieprawidłowe";
+
 /* Timeout error description */
 "Peripheral did not respond in time" = "Urz. peryferyjne nie odpowiada";
 
@@ -17,13 +29,14 @@
 "Sensor is in unknown state %1$d" = "Sensor jest w nieznanym stanie %1$d";
 
 /* The description of sensor calibration state when sensor sensor is stopped. */
-"Sensor is stopped" = "Sensor jest wstrzymany";
+"Sensor is stopped" = "Sensor został zatrzymany";
 
 /* The description of sensor calibration state when sensor sensor is warming up. */
-"Sensor is warming up" = "Sensor jest w trakcie uruchamiania";
+"Sensor is warming up" = "Sensor jest w fazie rozruchu";
 
 /* The description of sensor calibration state when sensor needs calibration. */
 "Sensor needs calibration" = "Sensor wymaga kalibracji";
 
 /* Error description */
 "Unknown characteristic" = "Nieznany błąd";
+

+ 3 - 3
Dependencies/CGMBLEKit/CGMBLEKit/pt-BR.lproj/Localizable.strings

@@ -14,10 +14,10 @@
 "OK" = "OK";
 
 /* Timeout error description */
-"Peripheral did not respond in time" = "Periférico não respondeu a tempo";
+"Peripheral did not respond in time" = "Acessório não respondeu a tempo";
 
 /* Not ready error description */
-"Peripheral isnʼt connected" = "O periférico não está conectado";
+"Peripheral isnʼt connected" = "Acessório não está conectado";
 
 /* The description of sensor calibration state when sensor calibration is ok. */
 "Sensor calibration is OK" = "A calibração do sensor está OK";
@@ -35,5 +35,5 @@
 "Sensor needs calibration" = "O sensor precisa de calibração";
 
 /* Error description */
-"Unknown characteristic" = "Característica desconhecida";
+"Unknown characteristic" = "Característica Desconhecida";
 

+ 10 - 7
Dependencies/CGMBLEKit/CGMBLEKit/ro.lproj/Localizable.strings

@@ -5,31 +5,34 @@
 "Dexcom G6" = "Dexcom G6";
 
 /* Error description for unreliable state */
-"Glucose data is unavailable" = "Datele cu glucoză nu sunt disponibile";
+"Glucose data is unavailable" = "Datele despre glucoză nu sunt disponibile";
 
 /* Describes a low battery */
-"Low Battery" = "Baterie descarcata";
+"Low Battery" = "Baterie descărcată";
 
 /* Describes a functioning transmitter */
 "OK" = "OK";
 
+/* invlid config error description */
+"Peripheral command was invalid" = "Comanda dispozitivului este nevalidă";
+
 /* Timeout error description */
-"Peripheral did not respond in time" = "Perifericul nu a răspuns la timp";
+"Peripheral did not respond in time" = "Dispozitivul periferic nu a răspuns în timp util";
 
 /* Not ready error description */
-"Peripheral isnʼt connected" = "Perifericul nu este conectat";
+"Peripheral isnʼt connected" = "Dispozitivul periferic nu este conectat";
 
 /* The description of sensor calibration state when sensor calibration is ok. */
 "Sensor calibration is OK" = "Calibrarea senzorului este OK";
 
 /* The description of sensor calibration state when raw value is unknown. (1: missing data details) */
-"Sensor is in unknown state %1$d" = "Senzorul este într-o stare necunoscută %1$d";
+"Sensor is in unknown state %1$d" = "Starea senzorului este necunoscută";
 
 /* The description of sensor calibration state when sensor sensor is stopped. */
-"Sensor is stopped" = "Senzorul este oprit";
+"Sensor is stopped" = "Senzorul e oprit";
 
 /* The description of sensor calibration state when sensor sensor is warming up. */
-"Sensor is warming up" = "Senzorul se încălzește";
+"Sensor is warming up" = "Senzorul se pregătește";
 
 /* The description of sensor calibration state when sensor needs calibration. */
 "Sensor needs calibration" = "Senzorul are nevoie de calibrare";

+ 14 - 2
Dependencies/CGMBLEKit/CGMBLEKit/ru.lproj/Localizable.strings

@@ -1,9 +1,20 @@
+/* CGM display title */
+"Dexcom G5" = "Dexcom G5";
+
+/* CGM display title */
+"Dexcom G6" = "Dexcom G6";
 
 /* Error description for unreliable state */
 "Glucose data is unavailable" = "Данные глюкозы недоступны";
 
 /* Describes a low battery */
-"Low Battery" = "Низкий заряд батареи";
+"Low Battery" = "Батарейка садится";
+
+/* Describes a functioning transmitter */
+"OK" = "OK";
+
+/* invlid config error description */
+"Peripheral command was invalid" = "Неправильно сформирован запрос.";
 
 /* Timeout error description */
 "Peripheral did not respond in time" = "Периферийное устройство не отозвалось вовремя";
@@ -15,7 +26,7 @@
 "Sensor calibration is OK" = "Калибровка сенсора ОК";
 
 /* The description of sensor calibration state when raw value is unknown. (1: missing data details) */
-"Sensor is in unknown state %1$d" = "Состояние сенсора неизвестно %1$d";
+"Sensor is in unknown state %1$d" = "Неизвестное состояние сенсора%1$d";
 
 /* The description of sensor calibration state when sensor sensor is stopped. */
 "Sensor is stopped" = "Сенсор остановлен";
@@ -28,3 +39,4 @@
 
 /* Error description */
 "Unknown characteristic" = "Неизвестная характеристика";
+

+ 42 - 0
Dependencies/CGMBLEKit/CGMBLEKit/sk.lproj/Localizable.strings

@@ -0,0 +1,42 @@
+/* CGM display title */
+"Dexcom G5" = "Dexcom G5";
+
+/* CGM display title */
+"Dexcom G6" = "Dexcom G6";
+
+/* Error description for unreliable state */
+"Glucose data is unavailable" = "Údaje o glykémii nie sú k dispozícii";
+
+/* Describes a low battery */
+"Low Battery" = "Slabá batéria";
+
+/* Describes a functioning transmitter */
+"OK" = "OK";
+
+/* invlid config error description */
+"Peripheral command was invalid" = "Periférny príkaz bol neplatný";
+
+/* Timeout error description */
+"Peripheral did not respond in time" = "Periférne zariadenie nereagovalo načas";
+
+/* Not ready error description */
+"Peripheral isnʼt connected" = "Periférne zariadenie nie je pripojené";
+
+/* The description of sensor calibration state when sensor calibration is ok. */
+"Sensor calibration is OK" = "Kalibrácia senzora je vporiadku";
+
+/* The description of sensor calibration state when raw value is unknown. (1: missing data details) */
+"Sensor is in unknown state %1$d" = "Senzor je v neznámom stave %1$d";
+
+/* The description of sensor calibration state when sensor sensor is stopped. */
+"Sensor is stopped" = "Senzor je zastavený";
+
+/* The description of sensor calibration state when sensor sensor is warming up. */
+"Sensor is warming up" = "Senzor sa zahrieva";
+
+/* The description of sensor calibration state when sensor needs calibration. */
+"Sensor needs calibration" = "Senzor potrebuje kalibráciu";
+
+/* Error description */
+"Unknown characteristic" = "Neznáma charakteristika";
+

+ 4 - 1
Dependencies/CGMBLEKit/CGMBLEKit/sv.lproj/Localizable.strings

@@ -13,8 +13,11 @@
 /* Describes a functioning transmitter */
 "OK" = "OK";
 
+/* invlid config error description */
+"Peripheral command was invalid" = "Perifert kommando var ogiltigt";
+
 /* Timeout error description */
-"Peripheral did not respond in time" = "Enheten svarade inte i tid";
+"Peripheral did not respond in time" = "Enhet svarade inte inom utsatt tid";
 
 /* Not ready error description */
 "Peripheral isnʼt connected" = "Enheten är inte ansluten";

+ 14 - 11
Dependencies/CGMBLEKit/CGMBLEKit/tr.lproj/Localizable.strings

@@ -5,35 +5,38 @@
 "Dexcom G6" = "Dexcom G6";
 
 /* Error description for unreliable state */
-"Glucose data is unavailable" = "Glucose data is unavailable";
+"Glucose data is unavailable" = "KŞ verileri mevcut değil";
 
 /* Describes a low battery */
-"Low Battery" = "Low Battery";
+"Low Battery" = "Düşük Pil";
 
 /* Describes a functioning transmitter */
-"OK" = "OK";
+"OK" = "Tamam";
+
+/* invlid config error description */
+"Peripheral command was invalid" = "Çevre birimi komutu geçersiz";
 
 /* Timeout error description */
-"Peripheral did not respond in time" = "Peripheral did not respond in time";
+"Peripheral did not respond in time" = "Çevre birimi zamanında yanıt vermedi";
 
 /* Not ready error description */
-"Peripheral isnʼt connected" = "Peripheral isnʼt connected";
+"Peripheral isnʼt connected" = "Çevre birimi bağlı değil";
 
 /* The description of sensor calibration state when sensor calibration is ok. */
-"Sensor calibration is OK" = "Sensor calibration is OK";
+"Sensor calibration is OK" = "Sensör kalibrasyonu tamam";
 
 /* The description of sensor calibration state when raw value is unknown. (1: missing data details) */
-"Sensor is in unknown state %1$d" = "Sensor is in unknown state %1$d";
+"Sensor is in unknown state %1$d" = "Sensör bilinmeyen durumda %1$d";
 
 /* The description of sensor calibration state when sensor sensor is stopped. */
-"Sensor is stopped" = "Sensor is stopped";
+"Sensor is stopped" = "Sensör durdu";
 
 /* The description of sensor calibration state when sensor sensor is warming up. */
-"Sensor is warming up" = "Sensor is warming up";
+"Sensor is warming up" = "Sensör ısınıyor";
 
 /* The description of sensor calibration state when sensor needs calibration. */
-"Sensor needs calibration" = "Sensor needs calibration";
+"Sensor needs calibration" = "Sensörün kalibrasyona ihtiyacı var";
 
 /* Error description */
-"Unknown characteristic" = "Unknown characteristic";
+"Unknown characteristic" = "Bilinmeyen karakteristik";
 

+ 3 - 3
Dependencies/CGMBLEKit/CGMBLEKit/vi.lproj/Localizable.strings

@@ -14,10 +14,10 @@
 "OK" = "OK";
 
 /* Timeout error description */
-"Peripheral did not respond in time" = "Ngoại vi không đáp ứng kịp thời";
+"Peripheral did not respond in time" = "Ngoại vi không đáp ứng kịp thời";
 
 /* Not ready error description */
-"Peripheral isnʼt connected" = "Ngoại vi không được kết nối";
+"Peripheral isnʼt connected" = "Ngoại vi không được kết nối";
 
 /* The description of sensor calibration state when sensor calibration is ok. */
 "Sensor calibration is OK" = "Hiệu chuẩn cảm biến là OK";
@@ -35,5 +35,5 @@
 "Sensor needs calibration" = "Cảm biến cần hiệu chuẩn";
 
 /* Error description */
-"Unknown characteristic" = "Đặc điểm không xác định";
+"Unknown characteristic" = "Đặc điểm không xác định";
 

+ 1 - 0
Dependencies/CGMBLEKit/CGMBLEKit/zh-Hans.lproj/Localizable.strings

@@ -27,3 +27,4 @@
 
 /* Error description */
 "Unknown characteristic" = "未知特性";
+

+ 16 - 0
Dependencies/CGMBLEKit/CGMBLEKitUI/ar.lproj/Localizable.strings

@@ -0,0 +1,16 @@
+/* Confirmation message for deleting a CGM */
+"Are you sure you want to delete this CGM?" = "هل أنت متأكد أنك تريد حذف هذا CGM؟";
+
+/* The title of the cancel action in an action sheet */
+"Cancel" = "إلغاء";
+
+/* Button title to delete CGM
+Title text for the button to remove a CGM from Loop */
+"Delete CGM" = "حذف CGM";
+
+/* Title describing glucose value */
+"Glucose" = "قراءات السكر";
+
+/* Title describing CGM calibration and battery state */
+"Status" = "الحالة";
+

+ 3 - 0
Dependencies/CGMBLEKit/CGMBLEKitUI/ar.lproj/TransmitterManagerSetup.strings

@@ -0,0 +1,3 @@
+/* Class = "UILabel"; text = "Detail"; ObjectID = "GOT-KQ-cEh"; */
+"GOT-KQ-cEh.text" = "تفاصيل";
+

+ 12 - 0
Dependencies/CGMBLEKit/CGMBLEKitUI/cs.lproj/Localizable.strings

@@ -0,0 +1,12 @@
+/* Format string for glucose trend per minute. (1: glucose value and unit) */
+"%@/min" = "%@/min";
+
+/* The title of the cancel action in an action sheet */
+"Cancel" = "Zrušit";
+
+/* Title describing glucose value */
+"Glucose" = "Glukóza";
+
+/* Title describing CGM calibration and battery state */
+"Status" = "Status";
+

+ 23 - 7
Dependencies/CGMBLEKit/CGMBLEKitUI/da.lproj/Localizable.strings

@@ -5,7 +5,7 @@
 "Are you sure you want to delete this CGM?" = "Er du sikker på, at du vil slette denne CGM?";
 
 /* The title of the cancel action in an action sheet */
-"Cancel" = "Afbestille";
+"Cancel" = "Annuller";
 
 /* Title describing glucose date */
 "Date" = "Dato";
@@ -15,7 +15,7 @@ Title text for the button to remove a CGM from Loop */
 "Delete CGM" = "Slet CGM";
 
 /* Title describing glucose value */
-"Glucose" = "Blodsukker";
+"Glucose" = "Glukose";
 
 /* Describes a glucose value adjusted to reflect a recent calibration */
 "Glucose (Adjusted)" = "Blodsukker (justeret)";
@@ -23,23 +23,39 @@ Title text for the button to remove a CGM from Loop */
 /* Section title for latest glucose calibration */
 "Latest Calibration" = "Seneste kalibrering";
 
+/* Section title for latest connection date */
+"Latest Connection" = "Seneste forbindelse";
+
 /* Section title for latest glucose reading */
-"Latest Reading" = "Seneste læsning";
+"Latest Reading" = "Seneste aflæsning";
 
 /* Button title to open CGM app */
 "Open App" = "Åben app";
 
+/* Section title for remote data synchronization */
+"Remote Data Synchronization" = "Synkronisering af fjerndata";
+
+/* Title describing past sensor expiration */
+"Sensor Expired" = "Sensor udløbet";
+
+/* Title describing sensor expiration */
+"Sensor Expires" = "Sensor udløber";
+
 /* Title describing sensor session age */
-"Session Age" = "Session alder";
+"Session Age" = "Session-alder";
 
 /* Title describing CGM calibration and battery state */
-"Status" = "status";
+"Status" = "Status";
 
 /* Title describing transmitter session age */
-"Transmitter Age" = "Senders alder";
+"Transmitter Age" = "Sender alder";
 
 /* The title text for the Dexcom G5/G6 transmitter ID config value */
-"Transmitter ID" = "Senders ID";
+"Transmitter ID" = "Sender ID";
 
 /* Title describing glucose trend */
 "Trend" = "Trend";
+
+/* The title text for the upload glucose switch cell */
+"Upload Readings" = "Upload aflæsninger";
+

+ 7 - 7
Dependencies/CGMBLEKit/CGMBLEKitUI/da.lproj/TransmitterManagerSetup.strings

@@ -1,4 +1,3 @@
-
 /* Class = "UILabel"; text = "Credentials"; ObjectID = "5oU-vK-JHQ"; */
 "5oU-vK-JHQ.text" = "Legitimationsoplysninger";
 
@@ -8,12 +7,6 @@
 /* Class = "UILabel"; text = "Detail"; ObjectID = "GOT-KQ-cEh"; */
 "GOT-KQ-cEh.text" = "Detalje";
 
-/* Class = "UITableViewSection"; footerTitle = "The transmitter ID can be found printed on the back of the device, on the side of the box it came in, and from within the settings menus of the receiver and mobile app."; ObjectID = "Qub-6B-0aB"; */
-"Qub-6B-0aB.footerTitle" = "Sender-ID'et kan findes trykt på bagsiden af ​​enheden, på den side af boksen, den kom i, og fra indstillingsmenuerne på modtageren og mobilappen.";
-
-/* Class = "UITableViewSection"; headerTitle = "Transmitter ID"; ObjectID = "Qub-6B-0aB"; */
-"Qub-6B-0aB.headerTitle" = "Senders id";
-
 /* Class = "UITableViewSection"; footerTitle = "Data can be downloaded over the Internet from Share when the transmitter connection fails."; ObjectID = "k1N-Rg-XDy"; */
 "k1N-Rg-XDy.footerTitle" = "Data kan downloades over internettet fra Share, når transmitterforbindelsen mislykkes.";
 
@@ -22,3 +15,10 @@
 
 /* Class = "UITextField"; placeholder = "Enter the 6-digit transmitter ID"; ObjectID = "nKX-TW-GhD"; */
 "nKX-TW-GhD.placeholder" = "Indtast det 6-cifrede sender-ID";
+
+/* Class = "UITableViewSection"; footerTitle = "The transmitter ID can be found printed on the back of the device, on the side of the box it came in, and from within the settings menus of the receiver and mobile app."; ObjectID = "Qub-6B-0aB"; */
+"Qub-6B-0aB.footerTitle" = "Sender-ID'et kan findes trykt på bagsiden af ​​enheden, på den side af boksen, den kom i, og fra indstillingsmenuerne på modtageren og mobilappen.";
+
+/* Class = "UITableViewSection"; headerTitle = "Transmitter ID"; ObjectID = "Qub-6B-0aB"; */
+"Qub-6B-0aB.headerTitle" = "Sender ID";
+

+ 19 - 3
Dependencies/CGMBLEKit/CGMBLEKitUI/de.lproj/Localizable.strings

@@ -2,7 +2,7 @@
 "%@/min" = "%@/min";
 
 /* Confirmation message for deleting a CGM */
-"Are you sure you want to delete this CGM?" = "Möchten Sie dieses CGM wirklich löschen?";
+"Are you sure you want to delete this CGM?" = "Sind Sie sicher, dass Sie dieses CGM löschen wollen?";
 
 /* The title of the cancel action in an action sheet */
 "Cancel" = "Abbrechen";
@@ -15,7 +15,7 @@ Title text for the button to remove a CGM from Loop */
 "Delete CGM" = "CGM löschen";
 
 /* Title describing glucose value */
-"Glucose" = "Glukose";
+"Glucose" = "Blutzucker";
 
 /* Describes a glucose value adjusted to reflect a recent calibration */
 "Glucose (Adjusted)" = "BZ-Wert (angepasst)";
@@ -23,12 +23,24 @@ Title text for the button to remove a CGM from Loop */
 /* Section title for latest glucose calibration */
 "Latest Calibration" = "Letzte Kalibrierung";
 
+/* Section title for latest connection date */
+"Latest Connection" = "Letzte Verbindung";
+
 /* Section title for latest glucose reading */
 "Latest Reading" = "Letzter Wert";
 
 /* Button title to open CGM app */
 "Open App" = "App öffnen";
 
+/* Section title for remote data synchronization */
+"Remote Data Synchronization" = "Remote Daten Synchronisation";
+
+/* Title describing past sensor expiration */
+"Sensor Expired" = "Sensor abgelaufen";
+
+/* Title describing sensor expiration */
+"Sensor Expires" = "Sensor-Ablaufzeitpunkt";
+
 /* Title describing sensor session age */
 "Session Age" = "Sitzungsalter";
 
@@ -39,7 +51,11 @@ Title text for the button to remove a CGM from Loop */
 "Transmitter Age" = "Transmitteralter";
 
 /* The title text for the Dexcom G5/G6 transmitter ID config value */
-"Transmitter ID" = "Sender-ID";
+"Transmitter ID" = "Transmitter-ID";
 
 /* Title describing glucose trend */
 "Trend" = "Trend";
+
+/* The title text for the upload glucose switch cell */
+"Upload Readings" = "Werte hochladen";
+

+ 7 - 7
Dependencies/CGMBLEKit/CGMBLEKitUI/de.lproj/TransmitterManagerSetup.strings

@@ -1,4 +1,3 @@
-
 /* Class = "UILabel"; text = "Credentials"; ObjectID = "5oU-vK-JHQ"; */
 "5oU-vK-JHQ.text" = "Logindaten";
 
@@ -8,12 +7,6 @@
 /* Class = "UILabel"; text = "Detail"; ObjectID = "GOT-KQ-cEh"; */
 "GOT-KQ-cEh.text" = "Detail";
 
-/* Class = "UITableViewSection"; footerTitle = "The transmitter ID can be found printed on the back of the device, on the side of the box it came in, and from within the settings menus of the receiver and mobile app."; ObjectID = "Qub-6B-0aB"; */
-"Qub-6B-0aB.footerTitle" = "Die Transmitter-ID befindet sich auf der Rückseite des Transmitters, an der Seite der Verpackung und in den Einstellungsmenüs des Empfängers sowie der Dexcom-App.";
-
-/* Class = "UITableViewSection"; headerTitle = "Transmitter ID"; ObjectID = "Qub-6B-0aB"; */
-"Qub-6B-0aB.headerTitle" = "Transmitter-ID";
-
 /* Class = "UITableViewSection"; footerTitle = "Data can be downloaded over the Internet from Share when the transmitter connection fails."; ObjectID = "k1N-Rg-XDy"; */
 "k1N-Rg-XDy.footerTitle" = "Daten können über das Internet von Share heruntergeladen werden, wenn die Verbindung zum Transmitter unterbrochen ist.";
 
@@ -22,3 +15,10 @@
 
 /* Class = "UITextField"; placeholder = "Enter the 6-digit transmitter ID"; ObjectID = "nKX-TW-GhD"; */
 "nKX-TW-GhD.placeholder" = "Geben Sie die 6-stellige Transmitter-ID ein";
+
+/* Class = "UITableViewSection"; footerTitle = "The transmitter ID can be found printed on the back of the device, on the side of the box it came in, and from within the settings menus of the receiver and mobile app."; ObjectID = "Qub-6B-0aB"; */
+"Qub-6B-0aB.footerTitle" = "Die Transmitter-ID befindet sich auf der Rückseite des Transmitters, an der Seite der Verpackung und in den Einstellungsmenüs des Empfängers sowie der Dexcom-App.";
+
+/* Class = "UITableViewSection"; headerTitle = "Transmitter ID"; ObjectID = "Qub-6B-0aB"; */
+"Qub-6B-0aB.headerTitle" = "Transmitter-ID";
+

+ 19 - 3
Dependencies/CGMBLEKit/CGMBLEKitUI/es.lproj/Localizable.strings

@@ -2,7 +2,7 @@
 "%@/min" = "%@/min";
 
 /* Confirmation message for deleting a CGM */
-"Are you sure you want to delete this CGM?" = "¿Está usted seguro de querer eliminar este CGM?";
+"Are you sure you want to delete this CGM?" = "¿Está seguro de que quiere eliminar este MCG?";
 
 /* The title of the cancel action in an action sheet */
 "Cancel" = "Cancelar";
@@ -12,7 +12,7 @@
 
 /* Button title to delete CGM
 Title text for the button to remove a CGM from Loop */
-"Delete CGM" = "Eliminar CGM";
+"Delete CGM" = "Eliminar MCG";
 
 /* Title describing glucose value */
 "Glucose" = "Glucosa";
@@ -23,12 +23,24 @@ Title text for the button to remove a CGM from Loop */
 /* Section title for latest glucose calibration */
 "Latest Calibration" = "Calibración más reciente";
 
+/* Section title for latest connection date */
+"Latest Connection" = "Conexión más reciente";
+
 /* Section title for latest glucose reading */
 "Latest Reading" = "Dato más reciente";
 
 /* Button title to open CGM app */
 "Open App" = "Abrir App";
 
+/* Section title for remote data synchronization */
+"Remote Data Synchronization" = "Sincronización remota de datos";
+
+/* Title describing past sensor expiration */
+"Sensor Expired" = "Sensor caducado";
+
+/* Title describing sensor expiration */
+"Sensor Expires" = "El sensor caduca";
+
 /* Title describing sensor session age */
 "Session Age" = "Tiempo de sesión del sensor";
 
@@ -39,7 +51,11 @@ Title text for the button to remove a CGM from Loop */
 "Transmitter Age" = "Edad del transmisor";
 
 /* The title text for the Dexcom G5/G6 transmitter ID config value */
-"Transmitter ID" = "ID de Transmisor";
+"Transmitter ID" = "Identificación del transmisor";
 
 /* Title describing glucose trend */
 "Trend" = "Tendencia";
+
+/* The title text for the upload glucose switch cell */
+"Upload Readings" = "Subir Datos";
+

+ 7 - 7
Dependencies/CGMBLEKit/CGMBLEKitUI/es.lproj/TransmitterManagerSetup.strings

@@ -1,4 +1,3 @@
-
 /* Class = "UILabel"; text = "Credentials"; ObjectID = "5oU-vK-JHQ"; */
 "5oU-vK-JHQ.text" = "Credenciales";
 
@@ -8,12 +7,6 @@
 /* Class = "UILabel"; text = "Detail"; ObjectID = "GOT-KQ-cEh"; */
 "GOT-KQ-cEh.text" = "Detalle";
 
-/* Class = "UITableViewSection"; footerTitle = "The transmitter ID can be found printed on the back of the device, on the side of the box it came in, and from within the settings menus of the receiver and mobile app."; ObjectID = "Qub-6B-0aB"; */
-"Qub-6B-0aB.footerTitle" = "La identificación del transmisor puede encontrarse en la parte trasera del dispositivo, en el lateral de la caja en la que venía, o en los menús de ajustes del receptor y la app del teléfono móvil. ";
-
-/* Class = "UITableViewSection"; headerTitle = "Transmitter ID"; ObjectID = "Qub-6B-0aB"; */
-"Qub-6B-0aB.headerTitle" = "Identificación del transmisor";
-
 /* Class = "UITableViewSection"; footerTitle = "Data can be downloaded over the Internet from Share when the transmitter connection fails."; ObjectID = "k1N-Rg-XDy"; */
 "k1N-Rg-XDy.footerTitle" = "Los datos pueden descargarse, vía internet, desde el Share cuando la conexión del transmisor falla.";
 
@@ -22,3 +15,10 @@
 
 /* Class = "UITextField"; placeholder = "Enter the 6-digit transmitter ID"; ObjectID = "nKX-TW-GhD"; */
 "nKX-TW-GhD.placeholder" = "Introduzca la identificación de 6 cifras del transmisor";
+
+/* Class = "UITableViewSection"; footerTitle = "The transmitter ID can be found printed on the back of the device, on the side of the box it came in, and from within the settings menus of the receiver and mobile app."; ObjectID = "Qub-6B-0aB"; */
+"Qub-6B-0aB.footerTitle" = "La identificación del transmisor puede encontrarse en la parte trasera del dispositivo, en el lateral de la caja en la que venía, o en los menús de ajustes del receptor y la app del teléfono móvil. ";
+
+/* Class = "UITableViewSection"; headerTitle = "Transmitter ID"; ObjectID = "Qub-6B-0aB"; */
+"Qub-6B-0aB.headerTitle" = "Identificación del transmisor";
+

+ 1 - 1
Dependencies/CGMBLEKit/CGMBLEKitUI/fi.lproj/Localizable.strings

@@ -11,7 +11,7 @@
 "Date" = "Aika";
 
 /* Button title to delete CGM
-   Title text for the button to remove a CGM from Loop */
+Title text for the button to remove a CGM from Loop */
 "Delete CGM" = "Poista CGM";
 
 /* Title describing glucose value */

+ 1 - 1
Dependencies/CGMBLEKit/CGMBLEKitUI/fi.lproj/TransmitterManagerSetup.strings

@@ -5,7 +5,7 @@
 "Dds-49-o7G.title" = "Lähettimen asennus";
 
 /* Class = "UILabel"; text = "Detail"; ObjectID = "GOT-KQ-cEh"; */
-"GOT-KQ-cEh.text" = "Yksityiskohta";
+"GOT-KQ-cEh.text" = "Detail";
 
 /* Class = "UITableViewSection"; footerTitle = "Data can be downloaded over the Internet from Share when the transmitter connection fails."; ObjectID = "k1N-Rg-XDy"; */
 "k1N-Rg-XDy.footerTitle" = "Tiedot voidaan ladata Internetistä Share-palvelimelta, kun yhteys lähettimeen epäonnistuu.";

+ 17 - 1
Dependencies/CGMBLEKit/CGMBLEKitUI/fr.lproj/Localizable.strings

@@ -12,7 +12,7 @@
 
 /* Button title to delete CGM
 Title text for the button to remove a CGM from Loop */
-"Delete CGM" = "Supprimer CGM";
+"Delete CGM" = "Effacer le CGM";
 
 /* Title describing glucose value */
 "Glucose" = "Glycémie";
@@ -23,12 +23,24 @@ Title text for the button to remove a CGM from Loop */
 /* Section title for latest glucose calibration */
 "Latest Calibration" = "Dernier étalonnage";
 
+/* Section title for latest connection date */
+"Latest Connection" = "Dernière connexion";
+
 /* Section title for latest glucose reading */
 "Latest Reading" = "Dernière mesure";
 
 /* Button title to open CGM app */
 "Open App" = "Ouvrir l’application";
 
+/* Section title for remote data synchronization */
+"Remote Data Synchronization" = "Synchronisation des données à distance";
+
+/* Title describing past sensor expiration */
+"Sensor Expired" = "Capteur expiré";
+
+/* Title describing sensor expiration */
+"Sensor Expires" = "Le capteur expire";
+
 /* Title describing sensor session age */
 "Session Age" = "L’âge de la session";
 
@@ -43,3 +55,7 @@ Title text for the button to remove a CGM from Loop */
 
 /* Title describing glucose trend */
 "Trend" = "Tendance";
+
+/* The title text for the upload glucose switch cell */
+"Upload Readings" = "Envoyer les données";
+

+ 8 - 8
Dependencies/CGMBLEKit/CGMBLEKitUI/fr.lproj/TransmitterManagerSetup.strings

@@ -1,6 +1,5 @@
-
 /* Class = "UILabel"; text = "Credentials"; ObjectID = "5oU-vK-JHQ"; */
-"5oU-vK-JHQ.text" = "Identifiants";
+"5oU-vK-JHQ.text" = "Identifiant";
 
 /* Class = "UITableViewController"; title = "Transmitter Setup"; ObjectID = "Dds-49-o7G"; */
 "Dds-49-o7G.title" = "Configuration du transmetteur";
@@ -8,12 +7,6 @@
 /* Class = "UILabel"; text = "Detail"; ObjectID = "GOT-KQ-cEh"; */
 "GOT-KQ-cEh.text" = "Détail";
 
-/* Class = "UITableViewSection"; footerTitle = "The transmitter ID can be found printed on the back of the device, on the side of the box it came in, and from within the settings menus of the receiver and mobile app."; ObjectID = "Qub-6B-0aB"; */
-"Qub-6B-0aB.footerTitle" = "L’ID du transmetteur se trouve sur le dos de l’appareil, sur la boîte dans laquelle il est venu, et depuis les menus de réglages du receveur et de l’application mobile.";
-
-/* Class = "UITableViewSection"; headerTitle = "Transmitter ID"; ObjectID = "Qub-6B-0aB"; */
-"Qub-6B-0aB.headerTitle" = "ID du transmetteur";
-
 /* Class = "UITableViewSection"; footerTitle = "Data can be downloaded over the Internet from Share when the transmitter connection fails."; ObjectID = "k1N-Rg-XDy"; */
 "k1N-Rg-XDy.footerTitle" = "Les données peuvent être téléchargées depuis Internet avec Share quand la connexion au transmetteur échoue.";
 
@@ -22,3 +15,10 @@
 
 /* Class = "UITextField"; placeholder = "Enter the 6-digit transmitter ID"; ObjectID = "nKX-TW-GhD"; */
 "nKX-TW-GhD.placeholder" = "Entrez l’ID du transmetteur, composé de 6 lettres et chiffres";
+
+/* Class = "UITableViewSection"; footerTitle = "The transmitter ID can be found printed on the back of the device, on the side of the box it came in, and from within the settings menus of the receiver and mobile app."; ObjectID = "Qub-6B-0aB"; */
+"Qub-6B-0aB.footerTitle" = "L’ID du transmetteur se trouve sur le dos de l’appareil, sur la boîte dans laquelle il est fourni, et depuis les menus de réglages du récepteur et de l’application mobile.";
+
+/* Class = "UITableViewSection"; headerTitle = "Transmitter ID"; ObjectID = "Qub-6B-0aB"; */
+"Qub-6B-0aB.headerTitle" = "ID du transmetteur";
+

+ 9 - 5
Dependencies/CGMBLEKit/CGMBLEKitUI/he.lproj/Localizable.strings

@@ -23,20 +23,23 @@ Title text for the button to remove a CGM from Loop */
 /* Section title for latest glucose calibration */
 "Latest Calibration" = "Latest Calibration";
 
+/* Section title for latest connection date */
+"Latest Connection" = "חיבור אחרון";
+
 /* Section title for latest glucose reading */
 "Latest Reading" = "Latest Reading";
 
 /* Button title to open CGM app */
 "Open App" = "Open App";
 
-/* Title describing sensor session age */
-"Session Age" = "Session Age";
+/* Title describing past sensor expiration */
+"Sensor Expired" = "Sensor Expired";
 
 /* Title describing sensor expiration */
 "Sensor Expires" = "Sensor Expires";
 
-/* Title describing past sensor expiration */
-"Sensor Expired" = "Sensor Expired";
+/* Title describing sensor session age */
+"Session Age" = "Session Age";
 
 /* Title describing CGM calibration and battery state */
 "Status" = "Status";
@@ -48,4 +51,5 @@ Title text for the button to remove a CGM from Loop */
 "Transmitter ID" = "Transmitter ID";
 
 /* Title describing glucose trend */
-"Trend" = "Trend";
+"Trend" = "מגמה";
+

+ 7 - 7
Dependencies/CGMBLEKit/CGMBLEKitUI/he.lproj/TransmitterManagerSetup.strings

@@ -1,4 +1,3 @@
-
 /* Class = "UILabel"; text = "Credentials"; ObjectID = "5oU-vK-JHQ"; */
 "5oU-vK-JHQ.text" = "Credentials";
 
@@ -8,12 +7,6 @@
 /* Class = "UILabel"; text = "Detail"; ObjectID = "GOT-KQ-cEh"; */
 "GOT-KQ-cEh.text" = "Detail";
 
-/* Class = "UITableViewSection"; footerTitle = "The transmitter ID can be found printed on the back of the device, on the side of the box it came in, and from within the settings menus of the receiver and mobile app."; ObjectID = "Qub-6B-0aB"; */
-"Qub-6B-0aB.footerTitle" = "The transmitter ID can be found printed on the back of the device, on the side of the box it came in, and from within the settings menus of the receiver and mobile app.";
-
-/* Class = "UITableViewSection"; headerTitle = "Transmitter ID"; ObjectID = "Qub-6B-0aB"; */
-"Qub-6B-0aB.headerTitle" = "Transmitter ID";
-
 /* Class = "UITableViewSection"; footerTitle = "Data can be downloaded over the Internet from Share when the transmitter connection fails."; ObjectID = "k1N-Rg-XDy"; */
 "k1N-Rg-XDy.footerTitle" = "Data can be downloaded over the Internet from Share when the transmitter connection fails.";
 
@@ -22,3 +15,10 @@
 
 /* Class = "UITextField"; placeholder = "Enter the 6-digit transmitter ID"; ObjectID = "nKX-TW-GhD"; */
 "nKX-TW-GhD.placeholder" = "Enter the 6-digit transmitter ID";
+
+/* Class = "UITableViewSection"; footerTitle = "The transmitter ID can be found printed on the back of the device, on the side of the box it came in, and from within the settings menus of the receiver and mobile app."; ObjectID = "Qub-6B-0aB"; */
+"Qub-6B-0aB.footerTitle" = "The transmitter ID can be found printed on the back of the device, on the side of the box it came in, and from within the settings menus of the receiver and mobile app.";
+
+/* Class = "UITableViewSection"; headerTitle = "Transmitter ID"; ObjectID = "Qub-6B-0aB"; */
+"Qub-6B-0aB.headerTitle" = "Transmitter ID";
+

+ 0 - 0
Dependencies/CGMBLEKit/CGMBLEKitUI/hi.lproj/Localizable.strings


برخی فایل ها در این مقایسه diff نمایش داده نمی شوند زیرا تعداد فایل ها بسیار زیاد است