浏览代码

Version 5.5.4 (#3026)

Marino Faggiana 8 月之前
父节点
当前提交
7a4bb44167
共有 100 个文件被更改,包括 58 次插入68 次删除
  1. 3 3
      Nextcloud.xcodeproj/project.pbxproj
  2. 25 26
      iOSClient/AppDelegate.swift
  3. 3 5
      iOSClient/Login/NCLogin.swift
  4. 1 1
      iOSClient/Main/Collection Common/NCCollectionViewCommon.swift
  5. 22 30
      iOSClient/Networking/NCNetworkingCheckRemoteUser.swift
  6. 二进制
      iOSClient/Supporting Files/af.lproj/Localizable.strings
  7. 二进制
      iOSClient/Supporting Files/an.lproj/Localizable.strings
  8. 二进制
      iOSClient/Supporting Files/ar.lproj/Localizable.strings
  9. 二进制
      iOSClient/Supporting Files/ast.lproj/Localizable.strings
  10. 二进制
      iOSClient/Supporting Files/az.lproj/Localizable.strings
  11. 二进制
      iOSClient/Supporting Files/be.lproj/Localizable.strings
  12. 二进制
      iOSClient/Supporting Files/bg_BG.lproj/Localizable.strings
  13. 二进制
      iOSClient/Supporting Files/bn_BD.lproj/Localizable.strings
  14. 二进制
      iOSClient/Supporting Files/br.lproj/Localizable.strings
  15. 二进制
      iOSClient/Supporting Files/bs.lproj/Localizable.strings
  16. 二进制
      iOSClient/Supporting Files/ca.lproj/Localizable.strings
  17. 二进制
      iOSClient/Supporting Files/cs-CZ.lproj/Localizable.strings
  18. 二进制
      iOSClient/Supporting Files/cy_GB.lproj/Localizable.strings
  19. 二进制
      iOSClient/Supporting Files/da.lproj/Localizable.strings
  20. 二进制
      iOSClient/Supporting Files/de.lproj/Localizable.strings
  21. 二进制
      iOSClient/Supporting Files/el.lproj/Localizable.strings
  22. 二进制
      iOSClient/Supporting Files/en-GB.lproj/Localizable.strings
  23. 4 3
      iOSClient/Supporting Files/en.lproj/Localizable.strings
  24. 二进制
      iOSClient/Supporting Files/eo.lproj/Localizable.strings
  25. 二进制
      iOSClient/Supporting Files/es-419.lproj/Localizable.strings
  26. 二进制
      iOSClient/Supporting Files/es-AR.lproj/Localizable.strings
  27. 二进制
      iOSClient/Supporting Files/es-CL.lproj/Localizable.strings
  28. 二进制
      iOSClient/Supporting Files/es-CO.lproj/Localizable.strings
  29. 二进制
      iOSClient/Supporting Files/es-CR.lproj/Localizable.strings
  30. 二进制
      iOSClient/Supporting Files/es-DO.lproj/Localizable.strings
  31. 二进制
      iOSClient/Supporting Files/es-EC.lproj/Localizable.strings
  32. 二进制
      iOSClient/Supporting Files/es-GT.lproj/Localizable.strings
  33. 二进制
      iOSClient/Supporting Files/es-HN.lproj/Localizable.strings
  34. 二进制
      iOSClient/Supporting Files/es-MX.lproj/Localizable.strings
  35. 二进制
      iOSClient/Supporting Files/es-NI.lproj/Localizable.strings
  36. 二进制
      iOSClient/Supporting Files/es-PA.lproj/Localizable.strings
  37. 二进制
      iOSClient/Supporting Files/es-PE.lproj/Localizable.strings
  38. 二进制
      iOSClient/Supporting Files/es-PR.lproj/Localizable.strings
  39. 二进制
      iOSClient/Supporting Files/es-PY.lproj/Localizable.strings
  40. 二进制
      iOSClient/Supporting Files/es-SV.lproj/Localizable.strings
  41. 二进制
      iOSClient/Supporting Files/es-UY.lproj/Localizable.strings
  42. 二进制
      iOSClient/Supporting Files/es.lproj/Localizable.strings
  43. 二进制
      iOSClient/Supporting Files/et_EE.lproj/Localizable.strings
  44. 二进制
      iOSClient/Supporting Files/eu.lproj/Localizable.strings
  45. 二进制
      iOSClient/Supporting Files/fa.lproj/Localizable.strings
  46. 二进制
      iOSClient/Supporting Files/fi-FI.lproj/Localizable.strings
  47. 二进制
      iOSClient/Supporting Files/fo.lproj/Localizable.strings
  48. 二进制
      iOSClient/Supporting Files/fr.lproj/Localizable.strings
  49. 二进制
      iOSClient/Supporting Files/ga.lproj/Localizable.strings
  50. 二进制
      iOSClient/Supporting Files/gd.lproj/Localizable.strings
  51. 二进制
      iOSClient/Supporting Files/gl.lproj/Localizable.strings
  52. 二进制
      iOSClient/Supporting Files/he.lproj/Localizable.strings
  53. 二进制
      iOSClient/Supporting Files/hi_IN.lproj/Localizable.strings
  54. 二进制
      iOSClient/Supporting Files/hr.lproj/Localizable.strings
  55. 二进制
      iOSClient/Supporting Files/hsb.lproj/Localizable.strings
  56. 二进制
      iOSClient/Supporting Files/hu.lproj/Localizable.strings
  57. 二进制
      iOSClient/Supporting Files/hy.lproj/Localizable.strings
  58. 二进制
      iOSClient/Supporting Files/ia.lproj/Localizable.strings
  59. 二进制
      iOSClient/Supporting Files/id.lproj/Localizable.strings
  60. 二进制
      iOSClient/Supporting Files/ig.lproj/Localizable.strings
  61. 二进制
      iOSClient/Supporting Files/is.lproj/Localizable.strings
  62. 二进制
      iOSClient/Supporting Files/it.lproj/Localizable.strings
  63. 二进制
      iOSClient/Supporting Files/ja-JP.lproj/Localizable.strings
  64. 二进制
      iOSClient/Supporting Files/ka-GE.lproj/Localizable.strings
  65. 二进制
      iOSClient/Supporting Files/ka.lproj/Localizable.strings
  66. 二进制
      iOSClient/Supporting Files/kab.lproj/Localizable.strings
  67. 二进制
      iOSClient/Supporting Files/km.lproj/Localizable.strings
  68. 二进制
      iOSClient/Supporting Files/kn.lproj/Localizable.strings
  69. 二进制
      iOSClient/Supporting Files/ko.lproj/Localizable.strings
  70. 二进制
      iOSClient/Supporting Files/la.lproj/Localizable.strings
  71. 二进制
      iOSClient/Supporting Files/lb.lproj/Localizable.strings
  72. 二进制
      iOSClient/Supporting Files/lo.lproj/Localizable.strings
  73. 二进制
      iOSClient/Supporting Files/lt_LT.lproj/Localizable.strings
  74. 二进制
      iOSClient/Supporting Files/lv.lproj/Localizable.strings
  75. 二进制
      iOSClient/Supporting Files/mk.lproj/Localizable.strings
  76. 二进制
      iOSClient/Supporting Files/mn.lproj/Localizable.strings
  77. 二进制
      iOSClient/Supporting Files/mr.lproj/Localizable.strings
  78. 二进制
      iOSClient/Supporting Files/ms_MY.lproj/Localizable.strings
  79. 二进制
      iOSClient/Supporting Files/my.lproj/Localizable.strings
  80. 二进制
      iOSClient/Supporting Files/nb-NO.lproj/Localizable.strings
  81. 二进制
      iOSClient/Supporting Files/ne.lproj/Localizable.strings
  82. 二进制
      iOSClient/Supporting Files/nl.lproj/Localizable.strings
  83. 二进制
      iOSClient/Supporting Files/nn_NO.lproj/Localizable.strings
  84. 二进制
      iOSClient/Supporting Files/oc.lproj/Localizable.strings
  85. 二进制
      iOSClient/Supporting Files/pl.lproj/Localizable.strings
  86. 二进制
      iOSClient/Supporting Files/ps.lproj/Localizable.strings
  87. 二进制
      iOSClient/Supporting Files/pt-BR.lproj/Localizable.strings
  88. 二进制
      iOSClient/Supporting Files/pt-PT.lproj/Localizable.strings
  89. 二进制
      iOSClient/Supporting Files/ro.lproj/Localizable.strings
  90. 二进制
      iOSClient/Supporting Files/ru.lproj/Localizable.strings
  91. 二进制
      iOSClient/Supporting Files/sc.lproj/Localizable.strings
  92. 二进制
      iOSClient/Supporting Files/si.lproj/Localizable.strings
  93. 二进制
      iOSClient/Supporting Files/sk-SK.lproj/Localizable.strings
  94. 二进制
      iOSClient/Supporting Files/sl.lproj/Localizable.strings
  95. 二进制
      iOSClient/Supporting Files/sq.lproj/Localizable.strings
  96. 二进制
      iOSClient/Supporting Files/sr.lproj/Localizable.strings
  97. 二进制
      iOSClient/Supporting Files/sr@latin.lproj/Localizable.strings
  98. 二进制
      iOSClient/Supporting Files/sv.lproj/Localizable.strings
  99. 二进制
      iOSClient/Supporting Files/sw.lproj/Localizable.strings
  100. 二进制
      iOSClient/Supporting Files/ta.lproj/Localizable.strings

+ 3 - 3
Nextcloud.xcodeproj/project.pbxproj

@@ -5441,7 +5441,7 @@
 					"@executable_path/Frameworks",
 					"@executable_path/../../Frameworks",
 				);
-				MARKETING_VERSION = 5.5.3;
+				MARKETING_VERSION = 5.5.4;
 				ONLY_ACTIVE_ARCH = YES;
 				OTHER_CFLAGS = "-v";
 				OTHER_LDFLAGS = "";
@@ -5504,7 +5504,7 @@
 					"@executable_path/Frameworks",
 					"@executable_path/../../Frameworks",
 				);
-				MARKETING_VERSION = 5.5.3;
+				MARKETING_VERSION = 5.5.4;
 				ONLY_ACTIVE_ARCH = YES;
 				OTHER_CFLAGS = "-v";
 				OTHER_LDFLAGS = "";
@@ -5779,7 +5779,7 @@
 			repositoryURL = "https://github.com/nextcloud/NextcloudKit";
 			requirement = {
 				kind = exactVersion;
-				version = 4.0.4;
+				version = 4.0.6;
 			};
 		};
 		F788ECC5263AAAF900ADC67F /* XCRemoteSwiftPackageReference "MarkdownKit" */ = {

+ 25 - 26
iOSClient/AppDelegate.swift

@@ -356,7 +356,16 @@ class AppDelegate: UIResponder, UIApplicationDelegate, UNUserNotificationCenterD
                 window.makeKeyAndVisible()
             } else {
                 UIApplication.shared.allSceneSessionDestructionExceptFirst()
-                UIApplication.shared.firstWindow?.rootViewController?.present(navigationController, animated: true)
+
+                if let rootVC = UIApplication.shared.firstWindow?.rootViewController {
+                    if let presentedVC = rootVC.presentedViewController, !(presentedVC is NCLoginNavigationController) {
+                        presentedVC.dismiss(animated: false) {
+                            rootVC.present(navigationController, animated: true)
+                        }
+                    } else {
+                        rootVC.present(navigationController, animated: true)
+                    }
+                }
             }
         }
 
@@ -374,27 +383,10 @@ class AppDelegate: UIResponder, UIApplicationDelegate, UNUserNotificationCenterD
                     showLoginViewController(activeLogin)
                 }
             }
-
-        } else if NCBrandOptions.shared.disable_request_login_url {
-            if activeLogin?.view.window == nil {
-                activeLogin = UIStoryboard(name: "NCLogin", bundle: nil).instantiateViewController(withIdentifier: "NCLogin") as? NCLogin
-                activeLogin?.urlBase = NCBrandOptions.shared.loginBaseUrl
-                showLoginViewController(activeLogin)
-            }
-        } else if openLoginWeb {
-            // Used also for reinsert the account (change passwd)
-            if activeLogin?.view.window == nil {
-                activeLogin = UIStoryboard(name: "NCLogin", bundle: nil).instantiateViewController(withIdentifier: "NCLogin") as? NCLogin
-                activeLogin?.urlBase = urlBase
-                activeLogin?.disableUrlField = true
-                activeLogin?.disableCloseButton = true
-                showLoginViewController(activeLogin)
-            }
         } else {
             if activeLogin?.view.window == nil {
-                activeLogin?.disableCloseButton = true
-
                 activeLogin = UIStoryboard(name: "NCLogin", bundle: nil).instantiateViewController(withIdentifier: "NCLogin") as? NCLogin
+                activeLogin?.urlBase = NCBrandOptions.shared.disable_request_login_url ? NCBrandOptions.shared.loginBaseUrl : ""
                 showLoginViewController(activeLogin)
             }
         }
@@ -411,7 +403,20 @@ class AppDelegate: UIResponder, UIApplicationDelegate, UNUserNotificationCenterD
         guard !self.timerErrorNetworkingDisabled,
               !account.isEmpty,
               NCKeychain().getPassword(account: account).isEmpty else { return }
-        openLogin(selector: NCGlobal.shared.introLogin, openLoginWeb: true)
+
+        let description = String.localizedStringWithFormat(NSLocalizedString("_error_check_remote_user_", comment: ""))
+        let error = NKError(errorCode: NCKeychain().getPassword(account: account).isEmpty ? NCGlobal.shared.errorUnauthorized997 : NCGlobal.shared.errorInternalServerError, errorDescription: description)
+        NCContentPresenter().showError(error: error, priority: .max)
+
+        deleteAccount(account)
+
+        let accounts = NCManageDatabase.shared.getAccounts()
+
+        if accounts?.count ?? 0 > 0, let newAccount = accounts?.first {
+            changeAccount(newAccount, userProfile: nil) { }
+        } else {
+            openLogin(selector: NCGlobal.shared.introLogin, openLoginWeb: false)
+        }
     }
 
     func trustCertificateError(host: String) {
@@ -545,12 +550,6 @@ class AppDelegate: UIResponder, UIApplicationDelegate, UNUserNotificationCenterD
         self.user = ""
         self.userId = ""
         self.password = ""
-
-        /*
-        NextcloudKit.shared.deleteAppPassword(serverUrl: urlBase, username: userId, password: password) { _, error in
-            print(error)
-        }
-        */
     }
 
     func deleteAllAccounts() {

+ 3 - 5
iOSClient/Login/NCLogin.swift

@@ -51,8 +51,6 @@ class NCLogin: UIViewController, UITextFieldDelegate, NCLoginQRCodeDelegate {
 
     /// The URL that will show up on the URL field when this screen appears
     var urlBase = ""
-    var disableUrlField = false
-    var disableCloseButton = false
 
     // Used for MDM
     var configServerUrl: String?
@@ -95,7 +93,8 @@ class NCLogin: UIViewController, UITextFieldDelegate, NCLoginQRCodeDelegate {
         baseUrl.rightViewMode = .always
         baseUrl.attributedPlaceholder = NSAttributedString(string: NSLocalizedString("_login_url_", comment: ""), attributes: [NSAttributedString.Key.foregroundColor: textColor.withAlphaComponent(0.5)])
         baseUrl.delegate = self
-        baseUrl.isEnabled = !disableUrlField
+
+        baseUrl.isEnabled = !NCBrandOptions.shared.disable_request_login_url
 
         // Login button
         loginAddressDetail.textColor = textColor
@@ -106,7 +105,6 @@ class NCLogin: UIViewController, UITextFieldDelegate, NCLoginQRCodeDelegate {
 
         // brand
         if NCBrandOptions.shared.disable_request_login_url {
-            baseUrl.text = NCBrandOptions.shared.loginBaseUrl
             baseUrl.isEnabled = false
             baseUrl.isUserInteractionEnabled = false
             baseUrl.alpha = 0.5
@@ -131,7 +129,7 @@ class NCLogin: UIViewController, UITextFieldDelegate, NCLoginQRCodeDelegate {
         self.navigationController?.view.backgroundColor = NCBrandColor.shared.customer
         self.navigationController?.navigationBar.tintColor = textColor
 
-        if !NCManageDatabase.shared.getAllAccount().isEmpty && !disableCloseButton {
+        if !NCManageDatabase.shared.getAllAccount().isEmpty {
             let navigationItemCancel = UIBarButtonItem(barButtonSystemItem: .stop, target: self, action: #selector(self.actionCancel))
             navigationItemCancel.tintColor = textColor
             navigationItem.leftBarButtonItem = navigationItemCancel

+ 1 - 1
iOSClient/Main/Collection Common/NCCollectionViewCommon.swift

@@ -776,7 +776,7 @@ class NCCollectionViewCommon: UIViewController, UIGestureRecognizerDelegate, UIS
                 }
             ])
 
-            let viewStyleSubmenu = UIMenu(title: "", options: .displayInline, children: [list, grid, UIMenu(title: NSLocalizedString("_photo_", comment: ""), children: [menuPhoto, menuZoom])])
+            let viewStyleSubmenu = UIMenu(title: "", options: .displayInline, children: [list, grid, UIMenu(title: NSLocalizedString("_additional_view_options_", comment: ""), children: [menuPhoto, menuZoom])])
 
             let ascending = layoutForView.ascending
             let ascendingChevronImage = utility.loadImage(named: ascending ? "chevron.up" : "chevron.down")

+ 22 - 30
iOSClient/Networking/NCNetworkingCheckRemoteUser.swift

@@ -33,37 +33,29 @@ class NCNetworkingCheckRemoteUser {
 
         NCNetworking.shared.cancelAllTask()
 
-        if NCGlobal.shared.capabilityServerVersionMajor >= NCGlobal.shared.nextcloudVersion17 {
-            NextcloudKit.shared.getRemoteWipeStatus(serverUrl: tableAccount.urlBase, token: token, account: tableAccount.account) { account, wipe, _, error in
-                if wipe {
-                    appDelegate.deleteAccount(account)
-                    let error = NKError(errorCode: NCGlobal.shared.errorInternalError, errorDescription: "_wipe_account_")
-                    NCContentPresenter().messageNotification(tableAccount.user, error: error, delay: NCGlobal.shared.dismissAfterSecondLong, type: NCContentPresenter.messageType.error, priority: .max)
-                    NextcloudKit.shared.setRemoteWipeCompletition(serverUrl: tableAccount.urlBase, token: token, account: tableAccount.account) { _, _ in print("wipe") }
-                    let accounts = NCManageDatabase.shared.getAccounts()
-                    if accounts?.count ?? 0 > 0 {
-                        if let newAccount = accounts?.first {
-                            appDelegate.changeAccount(newAccount, userProfile: nil) { }
-                        } else {
-                            appDelegate.openLogin(selector: NCGlobal.shared.introLogin, openLoginWeb: false)
-                        }
-                    }
-                } else {
-                    if UIApplication.shared.applicationState == .active && NextcloudKit.shared.isNetworkReachable() {
-                        let description = String.localizedStringWithFormat(NSLocalizedString("_error_check_remote_user_", comment: ""), tableAccount.user, tableAccount.urlBase)
-                        let error = NKError(errorCode: error.errorCode, errorDescription: description)
-                        NCContentPresenter().showError(error: error, priority: .max)
-                        NCKeychain().setPassword(account: account, password: nil)
-                        NextcloudKit.shared.nkCommonInstance.writeLog("[INFO] Password removed.")
-                    }
-                }
+        NextcloudKit.shared.getRemoteWipeStatus(serverUrl: tableAccount.urlBase, token: token, account: tableAccount.account) { account, wipe, _, error in
+            var finalError: NKError?
+
+            if wipe {
+                appDelegate.deleteAccount(account) // delete account, don't delete database
+                finalError = NKError(errorCode: NCGlobal.shared.errorInternalError, errorDescription: "_wipe_account_")
+            } else if UIApplication.shared.applicationState == .active && NextcloudKit.shared.isNetworkReachable() {
+                appDelegate.deleteAccount(account) // delete account, delete database
+                finalError = NKError(errorCode: error.errorCode, errorDescription: "_error_check_remote_user_")
+            }
+
+            if let finalError {
+                NCContentPresenter().messageNotification(tableAccount.user, error: finalError, delay: NCGlobal.shared.dismissAfterSecondLong, type: NCContentPresenter.messageType.error, priority: .max)
             }
-        } else {
-            if UIApplication.shared.applicationState == .active && NextcloudKit.shared.isNetworkReachable() {
-                let description = String.localizedStringWithFormat(NSLocalizedString("_error_check_remote_user_", comment: ""), tableAccount.user, tableAccount.urlBase)
-                let error = NKError(errorCode: error.errorCode, errorDescription: description)
-                NCContentPresenter().showError(error: error, priority: .max)
-                NCKeychain().setPassword(account: account, password: nil)
+
+            NextcloudKit.shared.setRemoteWipeCompletition(serverUrl: tableAccount.urlBase, token: token, account: tableAccount.account) { _, _ in print("wipe") }
+
+            let accounts = NCManageDatabase.shared.getAccounts()
+
+            if accounts?.count ?? 0 > 0, let newAccount = accounts?.first {
+                appDelegate.changeAccount(newAccount, userProfile: nil) { }
+            } else {
+                appDelegate.openLogin(selector: NCGlobal.shared.introLogin, openLoginWeb: false)
             }
         }
     }

二进制
iOSClient/Supporting Files/af.lproj/Localizable.strings


二进制
iOSClient/Supporting Files/an.lproj/Localizable.strings


二进制
iOSClient/Supporting Files/ar.lproj/Localizable.strings


二进制
iOSClient/Supporting Files/ast.lproj/Localizable.strings


二进制
iOSClient/Supporting Files/az.lproj/Localizable.strings


二进制
iOSClient/Supporting Files/be.lproj/Localizable.strings


二进制
iOSClient/Supporting Files/bg_BG.lproj/Localizable.strings


二进制
iOSClient/Supporting Files/bn_BD.lproj/Localizable.strings


二进制
iOSClient/Supporting Files/br.lproj/Localizable.strings


二进制
iOSClient/Supporting Files/bs.lproj/Localizable.strings


二进制
iOSClient/Supporting Files/ca.lproj/Localizable.strings


二进制
iOSClient/Supporting Files/cs-CZ.lproj/Localizable.strings


二进制
iOSClient/Supporting Files/cy_GB.lproj/Localizable.strings


二进制
iOSClient/Supporting Files/da.lproj/Localizable.strings


二进制
iOSClient/Supporting Files/de.lproj/Localizable.strings


二进制
iOSClient/Supporting Files/el.lproj/Localizable.strings


二进制
iOSClient/Supporting Files/en-GB.lproj/Localizable.strings


+ 4 - 3
iOSClient/Supporting Files/en.lproj/Localizable.strings

@@ -91,6 +91,7 @@
 "_photo_"                   = "Photo";
 "_audio_"                   = "Audio";
 "_unknown_"                 = "Unknown";
+"_additional_view_options_" = "Additional view options";
 "_next_"                    = "Next";
 "_success_"                 = "Success";
 "_initialization_"          = "Initialization";
@@ -123,7 +124,7 @@
 "_dark_mode_"               = "Dark mode";
 "_dark_mode_detect_"        = "Detect iOS dark mode";
 "_screen_"                  = "Screen";
-"_wipe_account_"            = "Account wiped from server";
+"_wipe_account_"            = "Account is wiped from server";
 "_appconfig_view_title_"    = "Account configuration in progress …";
 "_no_permission_add_file_"  = "You don't have permission to add files";
 "_no_permission_delete_file_" = "You don't have permission to delete files";
@@ -828,7 +829,7 @@
 "_no_nextcloud_found_"                  = "Server not found";
 "_error_decompressing_"                 = "Error during decompressing. Unknown compression method or the file is corrupt";
 "_error_json_decoding_"                 = "Serious internal error in decoding metadata (The data couldn't be read because it isn't in the correct format.)";
-"_error_check_remote_user_"             = "Server responded with error, password re-entry is required";
+"_error_check_remote_user_"             = "Server responded with an error. Please log in again";
 "_request_entity_too_large_"            = "The file is too large";
 "_not_possible_download_"               = "It is not possible to download the file";
 "_not_possible_upload_"                 = "It is not possible to upload the file";
@@ -982,7 +983,7 @@
 "_selected_photo_"          = "selected photo";
 "_selected_photos_"         = "selected photos";
 "_delete_selected_photos_"  = "Delete selected photos";
-"_media_square_"            = "Square photo grid";
+"_media_square_"            = "Square grid";
 "_media_ratio_"             = "Aspect ratio grid";
 "_autoupload_notice_"       = "To ensure the proper functioning of the application, it is necessary to enable Background App Refresh. Otherwise, new photos or videos will not be detected when the application is in the background.\n\nAdditionally, please note that the application will not be able to detect new photos and videos if it is manually terminated. When the app is in the background, data transfer may be slower, and new photos and/or videos will generally be detected every 10 minutes, depending on the device’s battery level.\n\nTo verify that the app is functioning correctly, you can use the log file available in Advanced.";
 "_display_"                 = "Display";

二进制
iOSClient/Supporting Files/eo.lproj/Localizable.strings


二进制
iOSClient/Supporting Files/es-419.lproj/Localizable.strings


二进制
iOSClient/Supporting Files/es-AR.lproj/Localizable.strings


二进制
iOSClient/Supporting Files/es-CL.lproj/Localizable.strings


二进制
iOSClient/Supporting Files/es-CO.lproj/Localizable.strings


二进制
iOSClient/Supporting Files/es-CR.lproj/Localizable.strings


二进制
iOSClient/Supporting Files/es-DO.lproj/Localizable.strings


二进制
iOSClient/Supporting Files/es-EC.lproj/Localizable.strings


二进制
iOSClient/Supporting Files/es-GT.lproj/Localizable.strings


二进制
iOSClient/Supporting Files/es-HN.lproj/Localizable.strings


二进制
iOSClient/Supporting Files/es-MX.lproj/Localizable.strings


二进制
iOSClient/Supporting Files/es-NI.lproj/Localizable.strings


二进制
iOSClient/Supporting Files/es-PA.lproj/Localizable.strings


二进制
iOSClient/Supporting Files/es-PE.lproj/Localizable.strings


二进制
iOSClient/Supporting Files/es-PR.lproj/Localizable.strings


二进制
iOSClient/Supporting Files/es-PY.lproj/Localizable.strings


二进制
iOSClient/Supporting Files/es-SV.lproj/Localizable.strings


二进制
iOSClient/Supporting Files/es-UY.lproj/Localizable.strings


二进制
iOSClient/Supporting Files/es.lproj/Localizable.strings


二进制
iOSClient/Supporting Files/et_EE.lproj/Localizable.strings


二进制
iOSClient/Supporting Files/eu.lproj/Localizable.strings


二进制
iOSClient/Supporting Files/fa.lproj/Localizable.strings


二进制
iOSClient/Supporting Files/fi-FI.lproj/Localizable.strings


二进制
iOSClient/Supporting Files/fo.lproj/Localizable.strings


二进制
iOSClient/Supporting Files/fr.lproj/Localizable.strings


二进制
iOSClient/Supporting Files/ga.lproj/Localizable.strings


二进制
iOSClient/Supporting Files/gd.lproj/Localizable.strings


二进制
iOSClient/Supporting Files/gl.lproj/Localizable.strings


二进制
iOSClient/Supporting Files/he.lproj/Localizable.strings


二进制
iOSClient/Supporting Files/hi_IN.lproj/Localizable.strings


二进制
iOSClient/Supporting Files/hr.lproj/Localizable.strings


二进制
iOSClient/Supporting Files/hsb.lproj/Localizable.strings


二进制
iOSClient/Supporting Files/hu.lproj/Localizable.strings


二进制
iOSClient/Supporting Files/hy.lproj/Localizable.strings


二进制
iOSClient/Supporting Files/ia.lproj/Localizable.strings


二进制
iOSClient/Supporting Files/id.lproj/Localizable.strings


二进制
iOSClient/Supporting Files/ig.lproj/Localizable.strings


二进制
iOSClient/Supporting Files/is.lproj/Localizable.strings


二进制
iOSClient/Supporting Files/it.lproj/Localizable.strings


二进制
iOSClient/Supporting Files/ja-JP.lproj/Localizable.strings


二进制
iOSClient/Supporting Files/ka-GE.lproj/Localizable.strings


二进制
iOSClient/Supporting Files/ka.lproj/Localizable.strings


二进制
iOSClient/Supporting Files/kab.lproj/Localizable.strings


二进制
iOSClient/Supporting Files/km.lproj/Localizable.strings


二进制
iOSClient/Supporting Files/kn.lproj/Localizable.strings


二进制
iOSClient/Supporting Files/ko.lproj/Localizable.strings


二进制
iOSClient/Supporting Files/la.lproj/Localizable.strings


二进制
iOSClient/Supporting Files/lb.lproj/Localizable.strings


二进制
iOSClient/Supporting Files/lo.lproj/Localizable.strings


二进制
iOSClient/Supporting Files/lt_LT.lproj/Localizable.strings


二进制
iOSClient/Supporting Files/lv.lproj/Localizable.strings


二进制
iOSClient/Supporting Files/mk.lproj/Localizable.strings


二进制
iOSClient/Supporting Files/mn.lproj/Localizable.strings


二进制
iOSClient/Supporting Files/mr.lproj/Localizable.strings


二进制
iOSClient/Supporting Files/ms_MY.lproj/Localizable.strings


二进制
iOSClient/Supporting Files/my.lproj/Localizable.strings


二进制
iOSClient/Supporting Files/nb-NO.lproj/Localizable.strings


二进制
iOSClient/Supporting Files/ne.lproj/Localizable.strings


二进制
iOSClient/Supporting Files/nl.lproj/Localizable.strings


二进制
iOSClient/Supporting Files/nn_NO.lproj/Localizable.strings


二进制
iOSClient/Supporting Files/oc.lproj/Localizable.strings


二进制
iOSClient/Supporting Files/pl.lproj/Localizable.strings


二进制
iOSClient/Supporting Files/ps.lproj/Localizable.strings


二进制
iOSClient/Supporting Files/pt-BR.lproj/Localizable.strings


二进制
iOSClient/Supporting Files/pt-PT.lproj/Localizable.strings


二进制
iOSClient/Supporting Files/ro.lproj/Localizable.strings


二进制
iOSClient/Supporting Files/ru.lproj/Localizable.strings


二进制
iOSClient/Supporting Files/sc.lproj/Localizable.strings


二进制
iOSClient/Supporting Files/si.lproj/Localizable.strings


二进制
iOSClient/Supporting Files/sk-SK.lproj/Localizable.strings


二进制
iOSClient/Supporting Files/sl.lproj/Localizable.strings


二进制
iOSClient/Supporting Files/sq.lproj/Localizable.strings


二进制
iOSClient/Supporting Files/sr.lproj/Localizable.strings


二进制
iOSClient/Supporting Files/sr@latin.lproj/Localizable.strings


二进制
iOSClient/Supporting Files/sv.lproj/Localizable.strings


二进制
iOSClient/Supporting Files/sw.lproj/Localizable.strings


二进制
iOSClient/Supporting Files/ta.lproj/Localizable.strings


部分文件因为文件数量过多而无法显示