Jelajahi Sumber

Crowdin strings (#83)

* Crowdin strings (#104)

Translations. Swedish 100%, Chinese 97% and 14 other languages partly translated.

* Remove duplicate Localizable strings

(cherry picked from commit 64b611dece06084fc4ea99bc919e5c98a7c8fc87)

* Crowdin updates (#112)

Update Noisy CGM Target Multiplier. German, Swedish, and Chinese updates.

* Crowdin updates. German and Swedish (#126)

* German

* Swedish

* Crowdin (#130)

Crowdin updates. Chinese, French, missing string added, typo in source string fixed.

* Crowdin updates and source strings edit (#133)

Typos, edit Insulin Peak Time definition and new translations from Crowdin

* Crowdin updates (#137)

Swedish

* Crowdin updates (Swedish) (#140)

* Crowdin Swedish updates (#142)

* Crowdin updates (#147)

Italian updates etc.

* Crowdin (French, Italian, Swedish updates etc) (#149)
Jon B Mårtensson 4 tahun lalu
induk
melakukan
6d3d9c6528
22 mengubah file dengan 3132 tambahan dan 2258 penghapusan
  1. 47 47
      FreeAPS.xcodeproj/project.pbxproj
  2. 85 67
      FreeAPS/Sources/Localizations/Main/ar.lproj/Localizable.strings
  3. 85 67
      FreeAPS/Sources/Localizations/Main/ca.lproj/Localizable.strings
  4. 89 71
      FreeAPS/Sources/Localizations/Main/da.lproj/Localizable.strings
  5. 198 180
      FreeAPS/Sources/Localizations/Main/de.lproj/Localizable.strings
  6. 85 67
      FreeAPS/Sources/Localizations/Main/en.lproj/Localizable.strings
  7. 199 181
      FreeAPS/Sources/Localizations/Main/es.lproj/Localizable.strings
  8. 85 67
      FreeAPS/Sources/Localizations/Main/fi.lproj/Localizable.strings
  9. 192 174
      FreeAPS/Sources/Localizations/Main/fr.lproj/Localizable.strings
  10. 85 67
      FreeAPS/Sources/Localizations/Main/he.lproj/Localizable.strings
  11. 198 180
      FreeAPS/Sources/Localizations/Main/it.lproj/Localizable.strings
  12. 192 174
      FreeAPS/Sources/Localizations/Main/nb.lproj/Localizable.strings
  13. 196 178
      FreeAPS/Sources/Localizations/Main/nl.lproj/Localizable.strings
  14. 132 112
      FreeAPS/Sources/Localizations/Main/pl.lproj/Localizable.strings
  15. 199 181
      FreeAPS/Sources/Localizations/Main/ru.lproj/Localizable.strings
  16. 87 51
      FreeAPS/Sources/Localizations/Main/sv.lproj/Localizable.strings
  17. 522 0
      FreeAPS/Sources/Localizations/Main/tr.lproj/Localizable.strings
  18. 200 182
      FreeAPS/Sources/Localizations/Main/uk.lproj/Localizable.strings
  19. 227 207
      FreeAPS/Sources/Localizations/Main/zh-Hans.lproj/Localizable.strings
  20. 1 1
      FreeAPS/Sources/Modules/Home/View/Header/LoopView.swift
  21. 7 4
      FreeAPS/Sources/Modules/PreferencesEditor/PreferencesEditorViewModel.swift
  22. 21 0
      crowdin.yml

+ 47 - 47
FreeAPS.xcodeproj/project.pbxproj

@@ -12,7 +12,7 @@
 		0D9A5E34A899219C5C4CDFAF /* DataTableViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9455FA2D92E77A6C4AFED8A3 /* DataTableViewModel.swift */; };
 		17A9D0899046B45E87834820 /* CREditorProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9C8D5F457B5AFF763F8CF3DF /* CREditorProvider.swift */; };
 		19434C14DF3F4816F4E4BF2E /* BolusBuilder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 77FAEF7B34EEC71B3A7B800C /* BolusBuilder.swift */; };
-		19BE6CBA2674132500624F4A /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 19BE6CBC2674132500624F4A /* Localizable.strings */; };
+		198377D2266BFFF6004DE65E /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 198377D4266BFFF6004DE65E /* Localizable.strings */; };
 		1BBB001DAD60F3B8CEA4B1C7 /* ISFEditorViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 505E09DC17A0C3D0AF4B66FE /* ISFEditorViewModel.swift */; };
 		1D086541F369D339A74893AC /* BasalProfileEditorBuilder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6BA56D2DCAB9E0A8AF24D984 /* BasalProfileEditorBuilder.swift */; };
 		1D845DF2E3324130E1D95E67 /* DataTableProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60744C3E9BB3652895C908CC /* DataTableProvider.swift */; };
@@ -315,24 +315,24 @@
 		10CAE3534904CDCA0F367017 /* PumpSettingsEditorBuilder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = PumpSettingsEditorBuilder.swift; sourceTree = "<group>"; };
 		111579A6E3AC6BFA79C4DD43 /* NightscoutConfigBuilder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = NightscoutConfigBuilder.swift; sourceTree = "<group>"; };
 		12204445D7632AF09264A979 /* PreferencesEditorDataFlow.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = PreferencesEditorDataFlow.swift; sourceTree = "<group>"; };
-		19BE6CBD2674152700624F4A /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = ar.lproj/Localizable.strings; sourceTree = "<group>"; };
-		19BE6CBE2674152D00624F4A /* ca */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ca; path = ca.lproj/Localizable.strings; sourceTree = "<group>"; };
-		19BE6CBF2674153200624F4A /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Localizable.strings"; sourceTree = "<group>"; };
-		19BE6CC02674153800624F4A /* da */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = da; path = da.lproj/Localizable.strings; sourceTree = "<group>"; };
-		19BE6CC12674153C00624F4A /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/Localizable.strings; sourceTree = "<group>"; };
-		19BE6CC22674154300624F4A /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Localizable.strings; sourceTree = "<group>"; };
-		19BE6CC42674155000624F4A /* fi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fi; path = fi.lproj/Localizable.strings; sourceTree = "<group>"; };
-		19BE6CC52674155A00624F4A /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/Localizable.strings; sourceTree = "<group>"; };
-		19BE6CC62674156100624F4A /* el */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = el; path = el.lproj/Localizable.strings; sourceTree = "<group>"; };
-		19BE6CC72674156600624F4A /* he */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = he; path = he.lproj/Localizable.strings; sourceTree = "<group>"; };
-		19BE6CC82674156E00624F4A /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/Localizable.strings; sourceTree = "<group>"; };
-		19BE6CC92674157400624F4A /* nb */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nb; path = nb.lproj/Localizable.strings; sourceTree = "<group>"; };
-		19BE6CCA2674158400624F4A /* pl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pl; path = pl.lproj/Localizable.strings; sourceTree = "<group>"; };
-		19BE6CCB2674158900624F4A /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/Localizable.strings; sourceTree = "<group>"; };
-		19BE6CCC2674158F00624F4A /* sv */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sv; path = sv.lproj/Localizable.strings; sourceTree = "<group>"; };
-		19BE6CCD2674159600624F4A /* uk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = uk; path = uk.lproj/Localizable.strings; sourceTree = "<group>"; };
-		19BE6CCE2674159C00624F4A /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/Localizable.strings; sourceTree = "<group>"; };
-		19BE6CCF267559A100624F4A /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = "<group>"; };
+		1918333A26ADA46800F45722 /* fi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fi; path = fi.lproj/Localizable.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>"; };
+		198377D7266C0A15004DE65E /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Localizable.strings"; sourceTree = "<group>"; };
+		198377D8266C0A1C004DE65E /* da */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = da; path = da.lproj/Localizable.strings; sourceTree = "<group>"; };
+		198377D9266C0A21004DE65E /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/Localizable.strings; sourceTree = "<group>"; };
+		198377DA266C0A2B004DE65E /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Localizable.strings; sourceTree = "<group>"; };
+		198377DB266C0A32004DE65E /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/Localizable.strings; sourceTree = "<group>"; };
+		198377DC266C0A3C004DE65E /* he */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = he; path = he.lproj/Localizable.strings; sourceTree = "<group>"; };
+		198377DD266C0A51004DE65E /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/Localizable.strings; sourceTree = "<group>"; };
+		198377DE266C0A69004DE65E /* nb */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nb; path = nb.lproj/Localizable.strings; sourceTree = "<group>"; };
+		198377DF266C0A7F004DE65E /* pl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pl; path = pl.lproj/Localizable.strings; sourceTree = "<group>"; };
+		198377E0266C0AB5004DE65E /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/Localizable.strings; sourceTree = "<group>"; };
+		198377E1266C0ABF004DE65E /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/Localizable.strings; sourceTree = "<group>"; };
+		198377E2266C0AC8004DE65E /* sv */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sv; path = sv.lproj/Localizable.strings; sourceTree = "<group>"; };
+		198377E3266C0ADC004DE65E /* tr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = tr; path = tr.lproj/Localizable.strings; sourceTree = "<group>"; };
+		198377E4266C13D2004DE65E /* uk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = uk; path = uk.lproj/Localizable.strings; sourceTree = "<group>"; };
 		223EC0494F55A91E3EA69EF4 /* BolusViewModel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = BolusViewModel.swift; sourceTree = "<group>"; };
 		2AD22C985B79A2F0D2EA3D9D /* PumpConfigRootView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = PumpConfigRootView.swift; sourceTree = "<group>"; };
 		2F2A13DF0EDEEEDC4106AA2A /* NightscoutConfigDataFlow.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = NightscoutConfigDataFlow.swift; sourceTree = "<group>"; };
@@ -643,18 +643,18 @@
 			path = View;
 			sourceTree = "<group>";
 		};
-		19BE6CB6267412C200624F4A /* Localizations */ = {
+		198377CF266BFEDE004DE65E /* Localizations */ = {
 			isa = PBXGroup;
 			children = (
-				19BE6CB7267412CF00624F4A /* Main */,
+				19D440A926B6FEBD008DA6C8 /* Main */,
 			);
 			path = Localizations;
 			sourceTree = "<group>";
 		};
-		19BE6CB7267412CF00624F4A /* Main */ = {
+		19D440A926B6FEBD008DA6C8 /* Main */ = {
 			isa = PBXGroup;
 			children = (
-				19BE6CBC2674132500624F4A /* Localizable.strings */,
+				198377D4266BFFF6004DE65E /* Localizable.strings */,
 			);
 			path = Main;
 			sourceTree = "<group>";
@@ -711,7 +711,7 @@
 		3811DE1325C9D39E00A708ED /* Sources */ = {
 			isa = PBXGroup;
 			children = (
-				19BE6CB6267412C200624F4A /* Localizations */,
+				198377CF266BFEDE004DE65E /* Localizations */,
 				3811DEDE25C9E2DD00A708ED /* Application */,
 				3811DF0A25CAAAA500A708ED /* APS */,
 				38E98A3225F5300800C0CED0 /* Config */,
@@ -1598,17 +1598,17 @@
 				da,
 				nl,
 				fr,
-				fi,
 				de,
-				el,
 				he,
 				it,
 				nb,
 				pl,
 				ru,
+				es,
 				sv,
+				tr,
 				uk,
-				es,
+				fi,
 			);
 			mainGroup = 388E594F25AD948C0019842D;
 			packageReferences = (
@@ -1634,7 +1634,7 @@
 			buildActionMask = 2147483647;
 			files = (
 				388E596025AD948E0019842D /* Assets.xcassets in Resources */,
-				19BE6CBA2674132500624F4A /* Localizable.strings in Resources */,
+				198377D2266BFFF6004DE65E /* Localizable.strings in Resources */,
 				388E597225AD9CF10019842D /* json in Resources */,
 				388E596F25AD96040019842D /* javascript in Resources */,
 			);
@@ -1920,27 +1920,27 @@
 /* End PBXTargetDependency section */
 
 /* Begin PBXVariantGroup section */
-		19BE6CBC2674132500624F4A /* Localizable.strings */ = {
+		198377D4266BFFF6004DE65E /* Localizable.strings */ = {
 			isa = PBXVariantGroup;
 			children = (
-				19BE6CBD2674152700624F4A /* ar */,
-				19BE6CBE2674152D00624F4A /* ca */,
-				19BE6CBF2674153200624F4A /* zh-Hans */,
-				19BE6CC02674153800624F4A /* da */,
-				19BE6CC12674153C00624F4A /* nl */,
-				19BE6CC22674154300624F4A /* fr */,
-				19BE6CC42674155000624F4A /* fi */,
-				19BE6CC52674155A00624F4A /* de */,
-				19BE6CC62674156100624F4A /* el */,
-				19BE6CC72674156600624F4A /* he */,
-				19BE6CC82674156E00624F4A /* it */,
-				19BE6CC92674157400624F4A /* nb */,
-				19BE6CCA2674158400624F4A /* pl */,
-				19BE6CCB2674158900624F4A /* ru */,
-				19BE6CCC2674158F00624F4A /* sv */,
-				19BE6CCD2674159600624F4A /* uk */,
-				19BE6CCE2674159C00624F4A /* es */,
-				19BE6CCF267559A100624F4A /* en */,
+				198377D3266BFFF6004DE65E /* en */,
+				198377D5266C0A05004DE65E /* ar */,
+				198377D6266C0A0A004DE65E /* ca */,
+				198377D7266C0A15004DE65E /* zh-Hans */,
+				198377D8266C0A1C004DE65E /* da */,
+				198377D9266C0A21004DE65E /* nl */,
+				198377DA266C0A2B004DE65E /* fr */,
+				198377DB266C0A32004DE65E /* de */,
+				198377DC266C0A3C004DE65E /* he */,
+				198377DD266C0A51004DE65E /* it */,
+				198377DE266C0A69004DE65E /* nb */,
+				198377DF266C0A7F004DE65E /* pl */,
+				198377E0266C0AB5004DE65E /* ru */,
+				198377E1266C0ABF004DE65E /* es */,
+				198377E2266C0AC8004DE65E /* sv */,
+				198377E3266C0ADC004DE65E /* tr */,
+				198377E4266C13D2004DE65E /* uk */,
+				1918333A26ADA46800F45722 /* fi */,
 			);
 			name = Localizable.strings;
 			sourceTree = "<group>";

File diff ditekan karena terlalu besar
+ 85 - 67
FreeAPS/Sources/Localizations/Main/ar.lproj/Localizable.strings


File diff ditekan karena terlalu besar
+ 85 - 67
FreeAPS/Sources/Localizations/Main/ca.lproj/Localizable.strings


File diff ditekan karena terlalu besar
+ 89 - 71
FreeAPS/Sources/Localizations/Main/da.lproj/Localizable.strings


File diff ditekan karena terlalu besar
+ 198 - 180
FreeAPS/Sources/Localizations/Main/de.lproj/Localizable.strings


File diff ditekan karena terlalu besar
+ 85 - 67
FreeAPS/Sources/Localizations/Main/en.lproj/Localizable.strings


File diff ditekan karena terlalu besar
+ 199 - 181
FreeAPS/Sources/Localizations/Main/es.lproj/Localizable.strings


File diff ditekan karena terlalu besar
+ 85 - 67
FreeAPS/Sources/Localizations/Main/fi.lproj/Localizable.strings


File diff ditekan karena terlalu besar
+ 192 - 174
FreeAPS/Sources/Localizations/Main/fr.lproj/Localizable.strings


File diff ditekan karena terlalu besar
+ 85 - 67
FreeAPS/Sources/Localizations/Main/he.lproj/Localizable.strings


File diff ditekan karena terlalu besar
+ 198 - 180
FreeAPS/Sources/Localizations/Main/it.lproj/Localizable.strings


File diff ditekan karena terlalu besar
+ 192 - 174
FreeAPS/Sources/Localizations/Main/nb.lproj/Localizable.strings


File diff ditekan karena terlalu besar
+ 196 - 178
FreeAPS/Sources/Localizations/Main/nl.lproj/Localizable.strings


File diff ditekan karena terlalu besar
+ 132 - 112
FreeAPS/Sources/Localizations/Main/pl.lproj/Localizable.strings


File diff ditekan karena terlalu besar
+ 199 - 181
FreeAPS/Sources/Localizations/Main/ru.lproj/Localizable.strings


File diff ditekan karena terlalu besar
+ 87 - 51
FreeAPS/Sources/Localizations/Main/sv.lproj/Localizable.strings


File diff ditekan karena terlalu besar
+ 522 - 0
FreeAPS/Sources/Localizations/Main/tr.lproj/Localizable.strings


File diff ditekan karena terlalu besar
+ 200 - 182
FreeAPS/Sources/Localizations/Main/uk.lproj/Localizable.strings


File diff ditekan karena terlalu besar
+ 227 - 207
FreeAPS/Sources/Localizations/Main/zh-Hans.lproj/Localizable.strings


+ 1 - 1
FreeAPS/Sources/Modules/Home/View/Header/LoopView.swift

@@ -48,7 +48,7 @@ struct LoopView: View {
         if minAgo > 1440 {
             return "--"
         }
-        return "\(minAgo) min ago"
+        return "\(minAgo) " + NSLocalizedString("min ago", comment: "Minutes ago since last loop")
     }
 
     private var color: Color {

File diff ditekan karena terlalu besar
+ 7 - 4
FreeAPS/Sources/Modules/PreferencesEditor/PreferencesEditorViewModel.swift


+ 21 - 0
crowdin.yml

@@ -0,0 +1,21 @@
+export_languages:
+  - ar
+  - ca
+  - da
+  - es-ES
+  - nl
+  - fi
+  - fr
+  - de
+  - he
+  - it
+  - nb
+  - pl
+  - ru
+  - sv-SE
+  - tr
+  - uk
+  - zh-CN
+files:
+  - source: /FreeAPS/Sources/Localizations/Main/en.lproj/Localizable.strings
+    translation: /FreeAPS/Sources/Localizations/Main/%osx_locale%.lproj/Localizable.strings