Przeglądaj źródła

New localizations, strings and PR from Robert (@mountrcg) (#122)

* New localizations, strings and PR from Robert (@mountrcg)

* Adding comments

* Crowdin comments sync

* Crowdin
Jon B Mårtensson 4 lat temu
rodzic
commit
556affc656
52 zmienionych plików z 4336 dodań i 93 usunięć
  1. 9 9
      Dependencies/rileylink_ios/OmniKitUI/de.lproj/Localizable.strings
  2. 11 11
      Dependencies/rileylink_ios/OmniKitUI/ru.lproj/Localizable.strings
  3. 1 1
      Dependencies/rileylink_ios/RileyLinkKitUI/ru.lproj/Localizable.strings
  4. 10 10
      Dependencies/rileylink_ios/RileyLinkKitUI/uk.lproj/Localizable.strings
  5. 50 0
      FreeAPS.xcodeproj/project.pbxproj
  6. 14 0
      FreeAPS/Resources/Base.lproj/InfoPlist.strings
  7. 2 2
      FreeAPS/Resources/Info.plist
  8. 14 0
      FreeAPS/Resources/ar.lproj/InfoPlist.strings
  9. 14 0
      FreeAPS/Resources/ca.lproj/InfoPlist.strings
  10. 14 0
      FreeAPS/Resources/da.lproj/InfoPlist.strings
  11. 14 0
      FreeAPS/Resources/de.lproj/InfoPlist.strings
  12. 16 0
      FreeAPS/Resources/en.lproj/infoPlist.strings
  13. 14 0
      FreeAPS/Resources/es.lproj/InfoPlist.strings
  14. 14 0
      FreeAPS/Resources/fi.lproj/InfoPlist.strings
  15. 14 0
      FreeAPS/Resources/fr.lproj/InfoPlist.strings
  16. 14 0
      FreeAPS/Resources/he.lproj/InfoPlist.strings
  17. 14 0
      FreeAPS/Resources/it.lproj/InfoPlist.strings
  18. 14 0
      FreeAPS/Resources/nb.lproj/InfoPlist.strings
  19. 14 0
      FreeAPS/Resources/nl.lproj/InfoPlist.strings
  20. 14 0
      FreeAPS/Resources/pl.lproj/InfoPlist.strings
  21. 14 0
      FreeAPS/Resources/pt-BR.lproj/InfoPlist.strings
  22. 12 0
      FreeAPS/Resources/pt-PT.lproj/infoPlist.strings
  23. 13 0
      FreeAPS/Resources/pt.lproj/InfoPlist.strings
  24. 14 0
      FreeAPS/Resources/ru.lproj/InfoPlist.strings
  25. 14 0
      FreeAPS/Resources/sv.lproj/InfoPlist.strings
  26. 14 0
      FreeAPS/Resources/tr.lproj/InfoPlist.strings
  27. 14 0
      FreeAPS/Resources/uk.lproj/InfoPlist.strings
  28. 14 0
      FreeAPS/Resources/zh-Hans.lproj/InfoPlist.strings
  29. 1 1
      FreeAPS/Sources/APS/CGM/CGMType.swift
  30. 197 2
      FreeAPS/Sources/Localizations/Main/ar.lproj/Localizable.strings
  31. 197 2
      FreeAPS/Sources/Localizations/Main/ca.lproj/Localizable.strings
  32. 197 2
      FreeAPS/Sources/Localizations/Main/da.lproj/Localizable.strings
  33. 198 3
      FreeAPS/Sources/Localizations/Main/de.lproj/Localizable.strings
  34. 198 3
      FreeAPS/Sources/Localizations/Main/en.lproj/Localizable.strings
  35. 197 2
      FreeAPS/Sources/Localizations/Main/es.lproj/Localizable.strings
  36. 197 2
      FreeAPS/Sources/Localizations/Main/fi.lproj/Localizable.strings
  37. 197 2
      FreeAPS/Sources/Localizations/Main/fr.lproj/Localizable.strings
  38. 197 2
      FreeAPS/Sources/Localizations/Main/he.lproj/Localizable.strings
  39. 197 2
      FreeAPS/Sources/Localizations/Main/it.lproj/Localizable.strings
  40. 198 3
      FreeAPS/Sources/Localizations/Main/nb.lproj/Localizable.strings
  41. 197 2
      FreeAPS/Sources/Localizations/Main/nl.lproj/Localizable.strings
  42. 197 2
      FreeAPS/Sources/Localizations/Main/pl.lproj/Localizable.strings
  43. 197 2
      FreeAPS/Sources/Localizations/Main/pt-BR.lproj/Localizable.strings
  44. 1 1
      FreeAPS/Sources/Localizations/Main/pt-PT.lproj/Localizable.strings
  45. 91 1
      FreeAPS/Sources/Localizations/Main/pt.lproj/Localizable.strings
  46. 197 2
      FreeAPS/Sources/Localizations/Main/ru.lproj/Localizable.strings
  47. 198 3
      FreeAPS/Sources/Localizations/Main/sv.lproj/Localizable.strings
  48. 197 2
      FreeAPS/Sources/Localizations/Main/tr.lproj/Localizable.strings
  49. 300 16
      FreeAPS/Sources/Localizations/Main/uk.lproj/Localizable.strings
  50. 197 2
      FreeAPS/Sources/Localizations/Main/zh-Hans.lproj/Localizable.strings
  51. 1 1
      FreeAPS/Sources/Modules/PreferencesEditor/PreferencesEditorStateModel.swift
  52. 2 0
      crowdin.yml

+ 9 - 9
Dependencies/rileylink_ios/OmniKitUI/de.lproj/Localizable.strings

@@ -36,7 +36,7 @@
 "Active Time" = "Laufzeit";
 
 /* The title of the cell showing the Pod Active Clock */
-"Pod Active Clock" = "Pod Active Clock";
+"Pod Active Clock" = "Pod aktive Zeit";
 
 /* The title of the cell showing alarm status */
 "Alarms" = "Alarme";
@@ -72,7 +72,7 @@
 "Configuration" = "Konfiguration";
 
 /* The title of the Insulin Type */
-"Insulin Type" = "Insulin Type";
+"Insulin Type" = "Insulin Typ";
 
 /* The title of the continue action in an action sheet */
 "Continue" = "Fortsetzen";
@@ -106,16 +106,16 @@
 "Error enabling bolus beeps" = "Fehler beim Aktivieren der Bolustöne";
 
 /* The alert title for enable Confirmation Beeps */
-"Enable Confirmation Beeps" = "Enable Confirmation Beeps";
+"Enable Confirmation Beeps" = "Bestätigungssignale aktivieren";
 
 /* The alert title for Disable Confirmation Beep */
-"Disable Confirmation Beeps" = "Disable Confirmation Beeps";
+"Disable Confirmation Beeps" = "Bestätigungssignale deaktivieren";
 
 /* The alert title for enable Automatic Bolus Beeps */
-"Enable Automatic Bolus Beeps" = "Enable Automatic Bolus Beeps";
+"Enable Automatic Bolus Beeps" = "Automatischen Bolus Piepton aktivieren";
 
 /* The alert title for Disable Automatic Bolus Beeps */
-"Disable Automatic Bolus Beeps" = "Disable Automatic Bolus Beeps";
+"Disable Automatic Bolus Beeps" = "Automatischen Bolus Piepton aktivieren";
 
 /* The alert title for a resume error */
 "Error Resuming" = "Fehler beim Fortfahren";
@@ -249,13 +249,13 @@
 "Unknown" = "Unbekannt";
 
 /* The title of the diagnostics section in settings */
-"Diagnostics" = "Diagnostics";
+"Diagnostics" = "Diagnose-Infos";
 
 /* The diagnostic command Read Pod Status */
-"Read Pod Status" = "Read Pod Status";
+"Read Pod Status" = "Pod-Status abrufen";
 
 /* The diagnostic command Read Pulse Log */
-"Read Pulse Log" = "Read Pulse Log";
+"Read Pulse Log" = "Pulse-Log lesen";
 
 /* The title of the pod details section in settings */
 "Pod Details" = "Pod Details";

+ 11 - 11
Dependencies/rileylink_ios/OmniKitUI/ru.lproj/Localizable.strings

@@ -36,7 +36,7 @@
 "Active Time" = "Активирован в";
 
 /* The title of the cell showing the Pod Active Clock */
-"Pod Active Clock" = "Pod Active Clock";
+"Pod Active Clock" = "Активные часы Pod-а";
 
 /* The title of the cell showing alarm status */
 "Alarms" = "Оповещения";
@@ -72,7 +72,7 @@
 "Configuration" = "Конфигурация";
 
 /* The title of the Insulin Type */
-"Insulin Type" = "Insulin Type";
+"Insulin Type" = "Тип инсулина";
 
 /* The title of the continue action in an action sheet */
 "Continue" = "Продолжить";
@@ -106,16 +106,16 @@
 "Error enabling bolus beeps" = "Ошибка подключения звукового сигнала болюса";
 
 /* The alert title for enable Confirmation Beeps */
-"Enable Confirmation Beeps" = "Enable Confirmation Beeps";
+"Enable Confirmation Beeps" = "Включить подтверждающие звуковые сигналы";
 
 /* The alert title for Disable Confirmation Beep */
-"Disable Confirmation Beeps" = "Disable Confirmation Beeps";
+"Disable Confirmation Beeps" = "Включить подтверждающие звуковые сигналы";
 
 /* The alert title for enable Automatic Bolus Beeps */
-"Enable Automatic Bolus Beeps" = "Enable Automatic Bolus Beeps";
+"Enable Automatic Bolus Beeps" = "Включить звуковые сигналы автоматического болюса";
 
 /* The alert title for Disable Automatic Bolus Beeps */
-"Disable Automatic Bolus Beeps" = "Disable Automatic Bolus Beeps";
+"Disable Automatic Bolus Beeps" = "Выключить звуковые сигналы автоматического болюса";
 
 /* The alert title for a resume error */
 "Error Resuming" = "Ошибка возобновления";
@@ -193,7 +193,7 @@
 "Primed" = "Заполнено";
 
 /* The text of the loading label when priming */
-"Priming…" = "Priming…";
+"Priming…" = "Заполнение…";
 
 /* Label describing time remaining view */
 "Remaining" = "Заполняется";
@@ -249,13 +249,13 @@
 "Unknown" = "Неизвестно";
 
 /* The title of the diagnostics section in settings */
-"Diagnostics" = "Diagnostics";
+"Diagnostics" = "Диагностика";
 
 /* The diagnostic command Read Pod Status */
-"Read Pod Status" = "Read Pod Status";
+"Read Pod Status" = "Прочитать статус помпы";
 
 /* The diagnostic command Read Pulse Log */
-"Read Pulse Log" = "Read Pulse Log";
+"Read Pulse Log" = "Читать журнал сигналов";
 
 /* The title of the pod details section in settings */
-"Pod Details" = "Pod Details";
+"Pod Details" = "Подробности пода";

+ 1 - 1
Dependencies/rileylink_ios/RileyLinkKitUI/ru.lproj/Localizable.strings

@@ -50,7 +50,7 @@
 "Voltage" = "Напряжение";
 
 /* "The title of the section for alerts" */
-"Alert" = "Alert";
+"Alert" = "Тревога";
 
 /* The title of the cell showing Low Battery Alert */
 "Low Battery Alert" = "Предупредить при уровне заряда";

+ 10 - 10
Dependencies/rileylink_ios/RileyLinkKitUI/uk.lproj/Localizable.strings

@@ -1,35 +1,35 @@
 /* The title of the section describing commands */
-"Commands" = "Commands";
+"Commands" = "Команди";
 
 /* The connected state */
-"Connected" = "Connected";
+"Connected" = "Під'єднаний";
 
 /* The in-progress connecting state */
-"Connecting" = "Connecting";
+"Connecting" = "Під'єднання";
 
 /* The title of the cell showing BLE connection state */
-"Connection State" = "Connection State";
+"Connection State" = "Стан з'єднання";
 
 /* The title of the section describing the device */
-"Device" = "Device";
+"Device" = "Пристрій";
 
 /* The title of the devices table section in RileyLink settings */
-"Devices" = "Devices";
+"Devices" = "Пристрої";
 
 /* The disconnected state */
-"Disconnected" = "Disconnected";
+"Disconnected" = "Від’єднано";
 
 /* The in-progress disconnecting state */
-"Disconnecting" = "Disconnecting";
+"Disconnecting" = "Від'єднання";
 
 /* The title of the cell showing firmware version */
-"Firmware" = "Firmware";
+"Firmware" = "Прошивка";
 
 /* The title of the cell showing current rileylink frequency */
 "Frequency" = "Frequency";
 
 /* The title of the cell showing device name */
-"Name" = "Name";
+"Name" = "Ім'я";
 
 /* RileyLink setup description */
 "RileyLink allows for communication with the pump over Bluetooth Low Energy." = "RileyLink allows for communication with the pump over Bluetooth Low Energy.";

+ 50 - 0
FreeAPS.xcodeproj/project.pbxproj

@@ -11,6 +11,7 @@
 		0CEA2EA070AB041AF3E3745B /* BolusRootView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 10A0C32B0DAB52726EF9B6D9 /* BolusRootView.swift */; };
 		0D9A5E34A899219C5C4CDFAF /* DataTableStateModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9455FA2D92E77A6C4AFED8A3 /* DataTableStateModel.swift */; };
 		17A9D0899046B45E87834820 /* CREditorProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9C8D5F457B5AFF763F8CF3DF /* CREditorProvider.swift */; };
+		1927C8E62744606D00347C69 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 1927C8E82744606D00347C69 /* InfoPlist.strings */; };
 		198377D2266BFFF6004DE65E /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 198377D4266BFFF6004DE65E /* Localizable.strings */; };
 		1BBB001DAD60F3B8CEA4B1C7 /* ISFEditorStateModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 505E09DC17A0C3D0AF4B66FE /* ISFEditorStateModel.swift */; };
 		1D845DF2E3324130E1D95E67 /* DataTableProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60744C3E9BB3652895C908CC /* DataTableProvider.swift */; };
@@ -297,6 +298,26 @@
 		10A0C32B0DAB52726EF9B6D9 /* BolusRootView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = BolusRootView.swift; sourceTree = "<group>"; };
 		12204445D7632AF09264A979 /* PreferencesEditorDataFlow.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = PreferencesEditorDataFlow.swift; sourceTree = "<group>"; };
 		1918333A26ADA46800F45722 /* fi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fi; path = fi.lproj/Localizable.strings; sourceTree = "<group>"; };
+		1927C8E92744611700347C69 /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = ar.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+		1927C8EA2744611800347C69 /* ca */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ca; path = ca.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+		1927C8EB2744611900347C69 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/InfoPlist.strings"; sourceTree = "<group>"; };
+		1927C8EC2744611A00347C69 /* da */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = da; path = da.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+		1927C8ED2744611B00347C69 /* fi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fi; path = fi.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+		1927C8EE2744611C00347C69 /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+		1927C8EF2744611D00347C69 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+		1927C8F02744611E00347C69 /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+		1927C8F12744611E00347C69 /* he */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = he; path = he.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+		1927C8F22744611F00347C69 /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+		1927C8F32744612000347C69 /* nb */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nb; path = nb.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+		1927C8F42744612100347C69 /* pl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pl; path = pl.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+		1927C8F52744612100347C69 /* pt-BR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-BR"; path = "pt-BR.lproj/InfoPlist.strings"; sourceTree = "<group>"; };
+		1927C8F62744612200347C69 /* pt-PT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-PT"; path = "pt-PT.lproj/InfoPlist.strings"; sourceTree = "<group>"; };
+		1927C8F72744612300347C69 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+		1927C8F82744612400347C69 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+		1927C8F92744612400347C69 /* sv */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sv; path = sv.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+		1927C8FA2744612500347C69 /* tr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = tr; path = tr.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+		1927C8FB2744612600347C69 /* uk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = uk; path = uk.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+		1927C8FE274489BA00347C69 /* Base */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = Base; path = Base.lproj/InfoPlist.strings; sourceTree = "<group>"; };
 		198377D3266BFFF6004DE65E /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = "<group>"; };
 		198377D5266C0A05004DE65E /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = ar.lproj/Localizable.strings; sourceTree = "<group>"; };
 		198377D6266C0A0A004DE65E /* ca */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ca; path = ca.lproj/Localizable.strings; sourceTree = "<group>"; };
@@ -848,6 +869,7 @@
 				388E596E25AD96040019842D /* javascript */,
 				3811DEC725C9DA7300A708ED /* FreeAPS.entitlements */,
 				388E596425AD948E0019842D /* Info.plist */,
+				1927C8E82744606D00347C69 /* InfoPlist.strings */,
 				388E595F25AD948E0019842D /* Assets.xcassets */,
 				38F3783A2613555C009DB701 /* Config.xcconfig */,
 			);
@@ -1591,6 +1613,7 @@
 				198377D2266BFFF6004DE65E /* Localizable.strings in Resources */,
 				388E597225AD9CF10019842D /* json in Resources */,
 				388E596F25AD96040019842D /* javascript in Resources */,
+				1927C8E62744606D00347C69 /* InfoPlist.strings in Resources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -1854,6 +1877,33 @@
 /* End PBXTargetDependency section */
 
 /* Begin PBXVariantGroup section */
+		1927C8E82744606D00347C69 /* InfoPlist.strings */ = {
+			isa = PBXVariantGroup;
+			children = (
+				1927C8E92744611700347C69 /* ar */,
+				1927C8EA2744611800347C69 /* ca */,
+				1927C8EB2744611900347C69 /* zh-Hans */,
+				1927C8EC2744611A00347C69 /* da */,
+				1927C8ED2744611B00347C69 /* fi */,
+				1927C8EE2744611C00347C69 /* nl */,
+				1927C8EF2744611D00347C69 /* fr */,
+				1927C8F02744611E00347C69 /* de */,
+				1927C8F12744611E00347C69 /* he */,
+				1927C8F22744611F00347C69 /* it */,
+				1927C8F32744612000347C69 /* nb */,
+				1927C8F42744612100347C69 /* pl */,
+				1927C8F52744612100347C69 /* pt-BR */,
+				1927C8F62744612200347C69 /* pt-PT */,
+				1927C8F72744612300347C69 /* ru */,
+				1927C8F82744612400347C69 /* es */,
+				1927C8F92744612400347C69 /* sv */,
+				1927C8FA2744612500347C69 /* tr */,
+				1927C8FB2744612600347C69 /* uk */,
+				1927C8FE274489BA00347C69 /* Base */,
+			);
+			name = InfoPlist.strings;
+			sourceTree = "<group>";
+		};
 		198377D4266BFFF6004DE65E /* Localizable.strings */ = {
 			isa = PBXVariantGroup;
 			children = (

+ 14 - 0
FreeAPS/Resources/Base.lproj/InfoPlist.strings

@@ -0,0 +1,14 @@
+/* Privacy - NFC Scan Usage Description */
+"NFCReaderUsageDescription" = "NFC is used to scan Libre sensors.";
+
+/* Privacy - Bluetooth Always Usage Description */
+"NSBluetoothAlwaysUsageDescription" = "Bluetooth is used to communicate with insulin pump and continuous glucose monitor devices";
+
+/* Privacy - Bluetooth Peripheral Usage Description */
+"NSBluetoothPeripheralUsageDescription" = "Bluetooth is used to communicate with insulin pump and continuous glucose monitor devices";
+
+/* Privacy - Face ID Usage Description */
+"NSFaceIDUsageDescription" = "For authorized acces to bolus";
+
+/* Privacy - Calendars Usage Description */
+"NSCalendarsUsageDescription" = "Calendar is used to create a new glucose events.";

+ 2 - 2
FreeAPS/Resources/Info.plist

@@ -45,6 +45,8 @@
 	<true/>
 	<key>LSSupportsOpeningDocumentsInPlace</key>
 	<true/>
+	<key>NFCReaderUsageDescription</key>
+	<string>NFC is used to scan Libre sensors.</string>
 	<key>NSAppTransportSecurity</key>
 	<dict>
 		<key>NSAllowsArbitraryLoads</key>
@@ -63,8 +65,6 @@
 	</dict>
 	<key>UIApplicationSupportsIndirectInputEvents</key>
 	<true/>
-	<key>NFCReaderUsageDescription</key>
-	<string>NFC is used to scan Libre sensors.</string>
 	<key>NSCalendarsUsageDescription</key>
 	<string>Calendar is used to create a new glucose events.</string>
 	<key>UIBackgroundModes</key>

+ 14 - 0
FreeAPS/Resources/ar.lproj/InfoPlist.strings

@@ -0,0 +1,14 @@
+/* Privacy - NFC Scan Usage Description */
+"NFCReaderUsageDescription" = "NFC is used to scan Libre sensors.";
+
+/* Privacy - Bluetooth Always Usage Description */
+"NSBluetoothAlwaysUsageDescription" = "Bluetooth is used to communicate with insulin pump and continuous glucose monitor devices";
+
+/* Privacy - Bluetooth Peripheral Usage Description */
+"NSBluetoothPeripheralUsageDescription" = "Bluetooth is used to communicate with insulin pump and continuous glucose monitor devices";
+
+/* Privacy - Face ID Usage Description */
+"NSFaceIDUsageDescription" = "For authorized acces to bolus";
+
+/* Privacy - Calendars Usage Description */
+"NSCalendarsUsageDescription" = "Calendar is used to create a new glucose events.";

+ 14 - 0
FreeAPS/Resources/ca.lproj/InfoPlist.strings

@@ -0,0 +1,14 @@
+/* Privacy - NFC Scan Usage Description */
+"NFCReaderUsageDescription" = "NFC is used to scan Libre sensors.";
+
+/* Privacy - Bluetooth Always Usage Description */
+"NSBluetoothAlwaysUsageDescription" = "Bluetooth is used to communicate with insulin pump and continuous glucose monitor devices";
+
+/* Privacy - Bluetooth Peripheral Usage Description */
+"NSBluetoothPeripheralUsageDescription" = "Bluetooth is used to communicate with insulin pump and continuous glucose monitor devices";
+
+/* Privacy - Face ID Usage Description */
+"NSFaceIDUsageDescription" = "For authorized acces to bolus";
+
+/* Privacy - Calendars Usage Description */
+"NSCalendarsUsageDescription" = "Calendar is used to create a new glucose events.";

+ 14 - 0
FreeAPS/Resources/da.lproj/InfoPlist.strings

@@ -0,0 +1,14 @@
+/* Privacy - NFC Scan Usage Description */
+"NFCReaderUsageDescription" = "NFC is used to scan Libre sensors.";
+
+/* Privacy - Bluetooth Always Usage Description */
+"NSBluetoothAlwaysUsageDescription" = "Bluetooth is used to communicate with insulin pump and continuous glucose monitor devices";
+
+/* Privacy - Bluetooth Peripheral Usage Description */
+"NSBluetoothPeripheralUsageDescription" = "Bluetooth is used to communicate with insulin pump and continuous glucose monitor devices";
+
+/* Privacy - Face ID Usage Description */
+"NSFaceIDUsageDescription" = "For authorized acces to bolus";
+
+/* Privacy - Calendars Usage Description */
+"NSCalendarsUsageDescription" = "Calendar is used to create a new glucose events.";

+ 14 - 0
FreeAPS/Resources/de.lproj/InfoPlist.strings

@@ -0,0 +1,14 @@
+/* Privacy - NFC Scan Usage Description */
+"NFCReaderUsageDescription" = "NFC is used to scan Libre sensors.";
+
+/* Privacy - Bluetooth Always Usage Description */
+"NSBluetoothAlwaysUsageDescription" = "Bluetooth is used to communicate with insulin pump and continuous glucose monitor devices";
+
+/* Privacy - Bluetooth Peripheral Usage Description */
+"NSBluetoothPeripheralUsageDescription" = "Bluetooth is used to communicate with insulin pump and continuous glucose monitor devices";
+
+/* Privacy - Face ID Usage Description */
+"NSFaceIDUsageDescription" = "For authorized acces to bolus";
+
+/* Privacy - Calendars Usage Description */
+"NSCalendarsUsageDescription" = "Calendar is used to create a new glucose events.";

+ 16 - 0
FreeAPS/Resources/en.lproj/infoPlist.strings

@@ -0,0 +1,16 @@
+
+/* Privacy - Bluetooth Always Usage Description */
+"NSBluetoothAlwaysUsageDescription" = "Bluetooth is used to communicate with insulin pump and continuous glucose monitor devices";
+
+"NSBluetoothPeripheralUsageDescription" = "Bluetooth is used to communicate with insulin pump and continuous glucose monitor devices";
+
+/* Privacy - Face ID Usage Description */
+"NSFaceIDUsageDescription" = "For authorized acces to bolus";
+
+/* Privacy - NFC Scan Usage Description */
+"NFCReaderUsageDescription" = "NFC is used to scan Libre sensors.";
+
+/* Privacy - Calendars Usage Description */
+"NSCalendarsUsageDescription" = "Calendar is used to create a new glucose events.";
+
+

+ 14 - 0
FreeAPS/Resources/es.lproj/InfoPlist.strings

@@ -0,0 +1,14 @@
+/* Privacy - NFC Scan Usage Description */
+"NFCReaderUsageDescription" = "NFC is used to scan Libre sensors.";
+
+/* Privacy - Bluetooth Always Usage Description */
+"NSBluetoothAlwaysUsageDescription" = "Bluetooth is used to communicate with insulin pump and continuous glucose monitor devices";
+
+/* Privacy - Bluetooth Peripheral Usage Description */
+"NSBluetoothPeripheralUsageDescription" = "Bluetooth is used to communicate with insulin pump and continuous glucose monitor devices";
+
+/* Privacy - Face ID Usage Description */
+"NSFaceIDUsageDescription" = "For authorized acces to bolus";
+
+/* Privacy - Calendars Usage Description */
+"NSCalendarsUsageDescription" = "Calendar is used to create a new glucose events.";

+ 14 - 0
FreeAPS/Resources/fi.lproj/InfoPlist.strings

@@ -0,0 +1,14 @@
+/* Privacy - NFC Scan Usage Description */
+"NFCReaderUsageDescription" = "NFC is used to scan Libre sensors.";
+
+/* Privacy - Bluetooth Always Usage Description */
+"NSBluetoothAlwaysUsageDescription" = "Bluetooth is used to communicate with insulin pump and continuous glucose monitor devices";
+
+/* Privacy - Bluetooth Peripheral Usage Description */
+"NSBluetoothPeripheralUsageDescription" = "Bluetooth is used to communicate with insulin pump and continuous glucose monitor devices";
+
+/* Privacy - Face ID Usage Description */
+"NSFaceIDUsageDescription" = "For authorized acces to bolus";
+
+/* Privacy - Calendars Usage Description */
+"NSCalendarsUsageDescription" = "Calendar is used to create a new glucose events.";

+ 14 - 0
FreeAPS/Resources/fr.lproj/InfoPlist.strings

@@ -0,0 +1,14 @@
+/* Privacy - NFC Scan Usage Description */
+"NFCReaderUsageDescription" = "NFC is used to scan Libre sensors.";
+
+/* Privacy - Bluetooth Always Usage Description */
+"NSBluetoothAlwaysUsageDescription" = "Bluetooth is used to communicate with insulin pump and continuous glucose monitor devices";
+
+/* Privacy - Bluetooth Peripheral Usage Description */
+"NSBluetoothPeripheralUsageDescription" = "Bluetooth is used to communicate with insulin pump and continuous glucose monitor devices";
+
+/* Privacy - Face ID Usage Description */
+"NSFaceIDUsageDescription" = "For authorized acces to bolus";
+
+/* Privacy - Calendars Usage Description */
+"NSCalendarsUsageDescription" = "Calendar is used to create a new glucose events.";

+ 14 - 0
FreeAPS/Resources/he.lproj/InfoPlist.strings

@@ -0,0 +1,14 @@
+/* Privacy - NFC Scan Usage Description */
+"NFCReaderUsageDescription" = "NFC is used to scan Libre sensors.";
+
+/* Privacy - Bluetooth Always Usage Description */
+"NSBluetoothAlwaysUsageDescription" = "Bluetooth is used to communicate with insulin pump and continuous glucose monitor devices";
+
+/* Privacy - Bluetooth Peripheral Usage Description */
+"NSBluetoothPeripheralUsageDescription" = "Bluetooth is used to communicate with insulin pump and continuous glucose monitor devices";
+
+/* Privacy - Face ID Usage Description */
+"NSFaceIDUsageDescription" = "For authorized acces to bolus";
+
+/* Privacy - Calendars Usage Description */
+"NSCalendarsUsageDescription" = "Calendar is used to create a new glucose events.";

+ 14 - 0
FreeAPS/Resources/it.lproj/InfoPlist.strings

@@ -0,0 +1,14 @@
+/* Privacy - NFC Scan Usage Description */
+"NFCReaderUsageDescription" = "NFC is used to scan Libre sensors.";
+
+/* Privacy - Bluetooth Always Usage Description */
+"NSBluetoothAlwaysUsageDescription" = "Bluetooth is used to communicate with insulin pump and continuous glucose monitor devices";
+
+/* Privacy - Bluetooth Peripheral Usage Description */
+"NSBluetoothPeripheralUsageDescription" = "Bluetooth is used to communicate with insulin pump and continuous glucose monitor devices";
+
+/* Privacy - Face ID Usage Description */
+"NSFaceIDUsageDescription" = "For authorized acces to bolus";
+
+/* Privacy - Calendars Usage Description */
+"NSCalendarsUsageDescription" = "Calendar is used to create a new glucose events.";

+ 14 - 0
FreeAPS/Resources/nb.lproj/InfoPlist.strings

@@ -0,0 +1,14 @@
+/* Privacy - NFC Scan Usage Description */
+"NFCReaderUsageDescription" = "NFC brukes til å skanne Libre-sensorer.";
+
+/* Privacy - Bluetooth Always Usage Description */
+"NSBluetoothAlwaysUsageDescription" = "Bluetooth brukes til å kommunisere med insulinpumpe og blodsukkersensor";
+
+/* Privacy - Bluetooth Peripheral Usage Description */
+"NSBluetoothPeripheralUsageDescription" = "Bluetooth brukes til å kommunisere med insulinpumpe og blodsukkersensor-enheter";
+
+/* Privacy - Face ID Usage Description */
+"NSFaceIDUsageDescription" = "For autorisert tilgang til bolus";
+
+/* Privacy - Calendars Usage Description */
+"NSCalendarsUsageDescription" = "Kalender brukes til å opprette nye blodsukker-oppføringer.";

+ 14 - 0
FreeAPS/Resources/nl.lproj/InfoPlist.strings

@@ -0,0 +1,14 @@
+/* Privacy - NFC Scan Usage Description */
+"NFCReaderUsageDescription" = "NFC is used to scan Libre sensors.";
+
+/* Privacy - Bluetooth Always Usage Description */
+"NSBluetoothAlwaysUsageDescription" = "Bluetooth is used to communicate with insulin pump and continuous glucose monitor devices";
+
+/* Privacy - Bluetooth Peripheral Usage Description */
+"NSBluetoothPeripheralUsageDescription" = "Bluetooth is used to communicate with insulin pump and continuous glucose monitor devices";
+
+/* Privacy - Face ID Usage Description */
+"NSFaceIDUsageDescription" = "For authorized acces to bolus";
+
+/* Privacy - Calendars Usage Description */
+"NSCalendarsUsageDescription" = "Calendar is used to create a new glucose events.";

+ 14 - 0
FreeAPS/Resources/pl.lproj/InfoPlist.strings

@@ -0,0 +1,14 @@
+/* Privacy - NFC Scan Usage Description */
+"NFCReaderUsageDescription" = "NFC is used to scan Libre sensors.";
+
+/* Privacy - Bluetooth Always Usage Description */
+"NSBluetoothAlwaysUsageDescription" = "Bluetooth is used to communicate with insulin pump and continuous glucose monitor devices";
+
+/* Privacy - Bluetooth Peripheral Usage Description */
+"NSBluetoothPeripheralUsageDescription" = "Bluetooth is used to communicate with insulin pump and continuous glucose monitor devices";
+
+/* Privacy - Face ID Usage Description */
+"NSFaceIDUsageDescription" = "For authorized acces to bolus";
+
+/* Privacy - Calendars Usage Description */
+"NSCalendarsUsageDescription" = "Calendar is used to create a new glucose events.";

+ 14 - 0
FreeAPS/Resources/pt-BR.lproj/InfoPlist.strings

@@ -0,0 +1,14 @@
+/* Privacy - NFC Scan Usage Description */
+"NFCReaderUsageDescription" = "NFC is used to scan Libre sensors.";
+
+/* Privacy - Bluetooth Always Usage Description */
+"NSBluetoothAlwaysUsageDescription" = "Bluetooth is used to communicate with insulin pump and continuous glucose monitor devices";
+
+/* Privacy - Bluetooth Peripheral Usage Description */
+"NSBluetoothPeripheralUsageDescription" = "Bluetooth is used to communicate with insulin pump and continuous glucose monitor devices";
+
+/* Privacy - Face ID Usage Description */
+"NSFaceIDUsageDescription" = "For authorized acces to bolus";
+
+/* Privacy - Calendars Usage Description */
+"NSCalendarsUsageDescription" = "Calendar is used to create a new glucose events.";

+ 12 - 0
FreeAPS/Resources/pt-PT.lproj/infoPlist.strings

@@ -0,0 +1,12 @@
+/* Privacy - Bluetooth Always Usage Description */
+"Bluetooth is used to communicate with insulin pump and continuous glucose monitor devices" = "Bluetooth is used to communicate with insulin pump and continuous glucose monitor devices";
+
+/* Privacy - Face ID Usage Description */
+"For authorized acces to bolus" = "For authorized acces to bolus";
+
+/* Privacy - NFC Scan Usage Description */
+"NFC is used to scan Libre sensors." = "NFC is used to scan Libre sensors.";
+
+/* Privacy - Calendars Usage Description */
+"Calendar is used to create a new glucose events." = "Calendar is used to create a new glucose events.";
+

+ 13 - 0
FreeAPS/Resources/pt.lproj/InfoPlist.strings

@@ -0,0 +1,13 @@
+/* Privacy - NFC Scan Usage Description */
+"NFCReaderUsageDescription" = "NFC is used to scan Libre sensors.";
+
+/* Privacy - Bluetooth Always Usage Description */
+"NSBluetoothAlwaysUsageDescription" = "Bluetooth is used to communicate with insulin pump and continuous glucose monitor devices";
+
+"NSBluetoothPeripheralUsageDescription" = "Bluetooth is used to communicate with insulin pump and continuous glucose monitor devices";
+
+/* Privacy - Calendars Usage Description */
+"NSCalendarsUsageDescription" = "Calendar is used to create a new glucose events.";
+
+/* Privacy - Face ID Usage Description */
+"NSFaceIDUsageDescription" = "For authorized acces to bolus";

+ 14 - 0
FreeAPS/Resources/ru.lproj/InfoPlist.strings

@@ -0,0 +1,14 @@
+/* Privacy - NFC Scan Usage Description */
+"NFCReaderUsageDescription" = "NFC используется для сканирования сенсоров Libre.";
+
+/* Privacy - Bluetooth Always Usage Description */
+"NSBluetoothAlwaysUsageDescription" = "Bluetooth используется для связи с инсулиновой помпой и устройствами непрерывного мониторинга глюкозы";
+
+/* Privacy - Bluetooth Peripheral Usage Description */
+"NSBluetoothPeripheralUsageDescription" = "Bluetooth используется для связи с инсулиновой помпой и устройствами непрерывного мониторинга глюкозы";
+
+/* Privacy - Face ID Usage Description */
+"NSFaceIDUsageDescription" = "Для авторизованного болюса";
+
+/* Privacy - Calendars Usage Description */
+"NSCalendarsUsageDescription" = "Календарь используется для создания новых событий о глюкозе.";

+ 14 - 0
FreeAPS/Resources/sv.lproj/InfoPlist.strings

@@ -0,0 +1,14 @@
+/* Privacy - NFC Scan Usage Description */
+"NFCReaderUsageDescription" = "NFC används för att skanna Libre-sensorer.";
+
+/* Privacy - Bluetooth Always Usage Description */
+"NSBluetoothAlwaysUsageDescription" = "Bluetooth används för att kommunicera med insulinpumpen och kontinuerlig glukosmätare";
+
+/* Privacy - Bluetooth Peripheral Usage Description */
+"NSBluetoothPeripheralUsageDescription" = "Bluetooth används för att kommunicera med insulinpumpen och kontinuerlig glukosmätare";
+
+/* Privacy - Face ID Usage Description */
+"NSFaceIDUsageDescription" = "För auktoriserad åtkomst till bolus";
+
+/* Privacy - Calendars Usage Description */
+"NSCalendarsUsageDescription" = "Kalendern används för att skapa kalenderhändelser för glukosvärden.";

+ 14 - 0
FreeAPS/Resources/tr.lproj/InfoPlist.strings

@@ -0,0 +1,14 @@
+/* Privacy - NFC Scan Usage Description */
+"NFCReaderUsageDescription" = "NFC is used to scan Libre sensors.";
+
+/* Privacy - Bluetooth Always Usage Description */
+"NSBluetoothAlwaysUsageDescription" = "Bluetooth is used to communicate with insulin pump and continuous glucose monitor devices";
+
+/* Privacy - Bluetooth Peripheral Usage Description */
+"NSBluetoothPeripheralUsageDescription" = "Bluetooth is used to communicate with insulin pump and continuous glucose monitor devices";
+
+/* Privacy - Face ID Usage Description */
+"NSFaceIDUsageDescription" = "For authorized acces to bolus";
+
+/* Privacy - Calendars Usage Description */
+"NSCalendarsUsageDescription" = "Calendar is used to create a new glucose events.";

+ 14 - 0
FreeAPS/Resources/uk.lproj/InfoPlist.strings

@@ -0,0 +1,14 @@
+/* Privacy - NFC Scan Usage Description */
+"NFCReaderUsageDescription" = "NFC використовується для сканування датчиків Libre.";
+
+/* Privacy - Bluetooth Always Usage Description */
+"NSBluetoothAlwaysUsageDescription" = "Bluetooth використовується для обміну з інсуліновими помпами та безперервним монітором глюкози";
+
+/* Privacy - Bluetooth Peripheral Usage Description */
+"NSBluetoothPeripheralUsageDescription" = "Bluetooth використовується для обміну з інсуліновими помпами та безперервним монітором глюкози";
+
+/* Privacy - Face ID Usage Description */
+"NSFaceIDUsageDescription" = "Авторизуйтесь для доступу до болюсу";
+
+/* Privacy - Calendars Usage Description */
+"NSCalendarsUsageDescription" = "Для створення нових подій глюкози використовується календар.";

+ 14 - 0
FreeAPS/Resources/zh-Hans.lproj/InfoPlist.strings

@@ -0,0 +1,14 @@
+/* Privacy - NFC Scan Usage Description */
+"NFCReaderUsageDescription" = "NFC is used to scan Libre sensors.";
+
+/* Privacy - Bluetooth Always Usage Description */
+"NSBluetoothAlwaysUsageDescription" = "Bluetooth is used to communicate with insulin pump and continuous glucose monitor devices";
+
+/* Privacy - Bluetooth Peripheral Usage Description */
+"NSBluetoothPeripheralUsageDescription" = "Bluetooth is used to communicate with insulin pump and continuous glucose monitor devices";
+
+/* Privacy - Face ID Usage Description */
+"NSFaceIDUsageDescription" = "For authorized acces to bolus";
+
+/* Privacy - Calendars Usage Description */
+"NSCalendarsUsageDescription" = "Calendar is used to create a new glucose events.";

+ 1 - 1
FreeAPS/Sources/APS/CGM/CGMType.swift

@@ -20,7 +20,7 @@ enum CGMType: String, JSON, CaseIterable, Identifiable {
         case .dexcomG5:
             return "Dexcom G5"
         case .libreTransmitter:
-            return "Libre Transmitter"
+            return NSLocalizedString("Libre Transmitter", comment: "Libre Transmitter type")
         }
     }
 

Plik diff jest za duży
+ 197 - 2
FreeAPS/Sources/Localizations/Main/ar.lproj/Localizable.strings


Plik diff jest za duży
+ 197 - 2
FreeAPS/Sources/Localizations/Main/ca.lproj/Localizable.strings


Plik diff jest za duży
+ 197 - 2
FreeAPS/Sources/Localizations/Main/da.lproj/Localizable.strings


Plik diff jest za duży
+ 198 - 3
FreeAPS/Sources/Localizations/Main/de.lproj/Localizable.strings


Plik diff jest za duży
+ 198 - 3
FreeAPS/Sources/Localizations/Main/en.lproj/Localizable.strings


Plik diff jest za duży
+ 197 - 2
FreeAPS/Sources/Localizations/Main/es.lproj/Localizable.strings


Plik diff jest za duży
+ 197 - 2
FreeAPS/Sources/Localizations/Main/fi.lproj/Localizable.strings


Plik diff jest za duży
+ 197 - 2
FreeAPS/Sources/Localizations/Main/fr.lproj/Localizable.strings


Plik diff jest za duży
+ 197 - 2
FreeAPS/Sources/Localizations/Main/he.lproj/Localizable.strings


Plik diff jest za duży
+ 197 - 2
FreeAPS/Sources/Localizations/Main/it.lproj/Localizable.strings


Plik diff jest za duży
+ 198 - 3
FreeAPS/Sources/Localizations/Main/nb.lproj/Localizable.strings


Plik diff jest za duży
+ 197 - 2
FreeAPS/Sources/Localizations/Main/nl.lproj/Localizable.strings


Plik diff jest za duży
+ 197 - 2
FreeAPS/Sources/Localizations/Main/pl.lproj/Localizable.strings


Plik diff jest za duży
+ 197 - 2
FreeAPS/Sources/Localizations/Main/pt-BR.lproj/Localizable.strings


Plik diff jest za duży
+ 1 - 1
FreeAPS/Sources/Localizations/Main/pt-PT.lproj/Localizable.strings


Plik diff jest za duży
+ 91 - 1
FreeAPS/Sources/Localizations/Main/pt.lproj/Localizable.strings


Plik diff jest za duży
+ 197 - 2
FreeAPS/Sources/Localizations/Main/ru.lproj/Localizable.strings


Plik diff jest za duży
+ 198 - 3
FreeAPS/Sources/Localizations/Main/sv.lproj/Localizable.strings


Plik diff jest za duży
+ 197 - 2
FreeAPS/Sources/Localizations/Main/tr.lproj/Localizable.strings


Plik diff jest za duży
+ 300 - 16
FreeAPS/Sources/Localizations/Main/uk.lproj/Localizable.strings


Plik diff jest za duży
+ 197 - 2
FreeAPS/Sources/Localizations/Main/zh-Hans.lproj/Localizable.strings


+ 1 - 1
FreeAPS/Sources/Modules/PreferencesEditor/PreferencesEditorStateModel.swift

@@ -305,7 +305,7 @@ extension PreferencesEditor {
                     displayName: "Insulin Peak Time",
                     type: .decimal(keypath: \.insulinPeakTime),
                     infoText: NSLocalizedString(
-                        "Time of maximum blood glucose lowering effect of insulin, in minutes",
+                        "Time of maximum blood glucose lowering effect of insulin, in minutes. Beware: Oref assumes for ultra-papid (Lyumjev) & rapid-acting (Fiasp) curves minimal (35 & 50 min) and maximal (100 & 120 min) applicable insulinPeakTimes. Using a custom insulinPeakTime outside these bounds will result in issues with FreeAPS-X, longer loop calculations and possible red loops.",
                         comment: "Insulin Peak Time"
                     ),
                     settable: self

+ 2 - 0
crowdin.yml

@@ -25,3 +25,5 @@ files:
     translation: /Dependencies/rileylink_ios/RileyLinkKitUI/%osx_locale%.lproj/Localizable.strings
   - source: /Dependencies/rileylink_ios/OmniKitUI/en.lproj/Localizable.strings
     translation: /Dependencies/rileylink_ios/OmniKitUI/%osx_locale%.lproj/Localizable.strings
+  - source: /FreeAPS/Resources/Base.lproj/InfoPlist.strings
+    translation: /FreeAPS/Resources/%osx_locale%.lproj/InfoPlist.strings