瀏覽代碼

Version 5.5.4 (#3026)

Marino Faggiana 9 月之前
父節點
當前提交
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


部分文件因文件數量過多而無法顯示