diff --git a/build.gradle b/build.gradle index 6fe2b443..ccc28b37 100644 --- a/build.gradle +++ b/build.gradle @@ -39,7 +39,7 @@ allprojects { ext { androidApplicationId = 'org.cryptomator' androidVersionCode = getVersionCode() - androidVersionName = '1.6.3' + androidVersionName = '1.6.4' } repositories { mavenCentral() diff --git a/data/src/main/java/org/cryptomator/data/cloud/crypto/CryptoImplVaultFormat7.kt b/data/src/main/java/org/cryptomator/data/cloud/crypto/CryptoImplVaultFormat7.kt index 6b17040e..7576d1ea 100644 --- a/data/src/main/java/org/cryptomator/data/cloud/crypto/CryptoImplVaultFormat7.kt +++ b/data/src/main/java/org/cryptomator/data/cloud/crypto/CryptoImplVaultFormat7.kt @@ -37,7 +37,6 @@ import java.nio.charset.StandardCharsets import java.util.UUID import java.util.function.Supplier import java.util.regex.Pattern -import kotlin.streams.toList import timber.log.Timber open class CryptoImplVaultFormat7 : CryptoImplDecorator { @@ -156,7 +155,6 @@ open class CryptoImplVaultFormat7 : CryptoImplDecorator { } return ciphertextNodes - .parallelStream() .map { node -> ciphertextToCleartextNode(cryptoFolder, dirId, node) } diff --git a/data/src/main/java/org/cryptomator/data/cloud/crypto/CryptoImplVaultFormatPre7.kt b/data/src/main/java/org/cryptomator/data/cloud/crypto/CryptoImplVaultFormatPre7.kt index bdac767f..c0f05464 100644 --- a/data/src/main/java/org/cryptomator/data/cloud/crypto/CryptoImplVaultFormatPre7.kt +++ b/data/src/main/java/org/cryptomator/data/cloud/crypto/CryptoImplVaultFormatPre7.kt @@ -126,7 +126,6 @@ internal class CryptoImplVaultFormatPre7( return cloudContentRepository .list(lvl2Dir) .filterIsInstance() - .parallelStream() .map { node -> ciphertextToCleartextNode(cryptoFolder, dirId, node) } diff --git a/data/src/main/java/org/cryptomator/data/cloud/dropbox/DropboxImpl.kt b/data/src/main/java/org/cryptomator/data/cloud/dropbox/DropboxImpl.kt index fb953649..bb6b6d5b 100644 --- a/data/src/main/java/org/cryptomator/data/cloud/dropbox/DropboxImpl.kt +++ b/data/src/main/java/org/cryptomator/data/cloud/dropbox/DropboxImpl.kt @@ -98,7 +98,7 @@ internal class DropboxImpl(cloud: DropboxCloud, context: Context) { @Throws(AuthenticationException::class, DbxException::class) fun list(folder: DropboxFolder): List { - val result: MutableList = ArrayList() + val result = ArrayList() var listFolderResult: ListFolderResult? = null do { listFolderResult = if (listFolderResult == null) { @@ -106,7 +106,7 @@ internal class DropboxImpl(cloud: DropboxCloud, context: Context) { } else { client().files().listFolderContinue(listFolderResult.cursor) } - listFolderResult.entries.parallelStream().forEach { + listFolderResult.entries.forEach { result.add(from(folder, it)) } } while (listFolderResult?.hasMore == true) diff --git a/data/src/main/java/org/cryptomator/data/cloud/pcloud/PCloudImpl.kt b/data/src/main/java/org/cryptomator/data/cloud/pcloud/PCloudImpl.kt index 63ca8de8..637a3714 100644 --- a/data/src/main/java/org/cryptomator/data/cloud/pcloud/PCloudImpl.kt +++ b/data/src/main/java/org/cryptomator/data/cloud/pcloud/PCloudImpl.kt @@ -39,7 +39,6 @@ import java.io.File import java.io.IOException import java.io.OutputStream import java.util.Date -import java.util.stream.Collectors import okio.BufferedSink import okio.BufferedSource import okio.source @@ -115,9 +114,7 @@ internal class PCloudImpl(context: Context, cloud: PCloud) { .listFolder(path) .execute() .children() - .parallelStream() .map { node -> PCloudNodeFactory.from(folder, node) } - .collect(Collectors.toList()) } catch (ex: ApiError) { handleApiError(ex, folder.name) throw FatalBackendException(ex) diff --git a/fastlane/metadata/android/de-DE/changelogs/default.txt b/fastlane/metadata/android/de-DE/changelogs/default.txt index bfce1dd3..7562a50d 100644 --- a/fastlane/metadata/android/de-DE/changelogs/default.txt +++ b/fastlane/metadata/android/de-DE/changelogs/default.txt @@ -1,4 +1 @@ -- Fotos können sofort hochgeladen werden, wenn der automatische Fotoupload aktiviert und der Tresor entsperrt ist -- Wenn der Tresor-Order der Stammordner der Cloud ist, kann dieser nun nicht mehr hinzugefügt werden -- Überarbeitung des Zugriffs auf den lokalen Speicher -- Sicherheit von WebDAV-Verbindungen verbessert \ No newline at end of file +- App-Absturz behoben, wenn der für den automatischen Upload angegebene Tresor nicht mehr existiert und der Upload beginnt \ No newline at end of file diff --git a/fastlane/metadata/android/en-US/changelogs/default.txt b/fastlane/metadata/android/en-US/changelogs/default.txt index 6fe62aea..b9bf647b 100644 --- a/fastlane/metadata/android/en-US/changelogs/default.txt +++ b/fastlane/metadata/android/en-US/changelogs/default.txt @@ -1,4 +1 @@ -- Upload photos instantly when auto photo upload is enabled and vault is unlocked -- Fixed vault name is empty when it is the root folder of the cloud -- Refactored access to local storage -- Enhanced security of WebDAV connections \ No newline at end of file +- Fixed app crash when vault specified for auto upload doesn't exist anymore and upload starts \ No newline at end of file diff --git a/fastlane/release-notes.html b/fastlane/release-notes.html index 74205218..473fc0b6 100644 --- a/fastlane/release-notes.html +++ b/fastlane/release-notes.html @@ -1,6 +1,3 @@
    -
  • Upload photos instantly when auto photo upload is enabled and vault is unlocked
  • -
  • Fixed vault name is empty when it is the root folder of the cloud
  • -
  • Refactored access to local storage
  • -
  • Enhanced security of WebDAV connections
  • +
  • Fixed app crash when vault specified for auto upload doesn't exist anymore and upload starts
\ No newline at end of file diff --git a/presentation/src/main/java/org/cryptomator/presentation/CryptomatorApp.kt b/presentation/src/main/java/org/cryptomator/presentation/CryptomatorApp.kt index 5abeb02f..487a6497 100644 --- a/presentation/src/main/java/org/cryptomator/presentation/CryptomatorApp.kt +++ b/presentation/src/main/java/org/cryptomator/presentation/CryptomatorApp.kt @@ -12,6 +12,7 @@ import androidx.multidex.MultiDexApplication import org.cryptomator.data.cloud.crypto.Cryptors import org.cryptomator.data.cloud.crypto.CryptorsModule import org.cryptomator.data.repository.RepositoryModule +import org.cryptomator.domain.Vault import org.cryptomator.presentation.di.HasComponent import org.cryptomator.presentation.di.component.ApplicationComponent import org.cryptomator.presentation.di.component.DaggerApplicationComponent @@ -123,10 +124,12 @@ class CryptomatorApp : MultiDexApplication(), HasComponent fun startAutoUpload() { val sharedPreferencesHandler = SharedPreferencesHandler(applicationContext()) if (checkToStartAutoImageUpload(sharedPreferencesHandler)) { - val vault = applicationComponent.vaultRepository().load(sharedPreferencesHandler.photoUploadVault()) - if (vault.isUnlocked) { + val vault: Vault? = applicationComponent.vaultRepository().load(sharedPreferencesHandler.photoUploadVault()) + if (vault?.isUnlocked == true) { val cloud = applicationComponent.cloudRepository().decryptedViewOf(vault) applicationContext().startService(AutoUploadService.startAutoUploadIntent(applicationContext(), cloud)) + } else if (vault == null) { + applicationContext().startService(AutoUploadService.vaultNotFoundUploadIntent(applicationContext())) } } } diff --git a/presentation/src/main/java/org/cryptomator/presentation/service/AutoUploadNotification.kt b/presentation/src/main/java/org/cryptomator/presentation/service/AutoUploadNotification.kt index 55816ef3..c22b439a 100644 --- a/presentation/src/main/java/org/cryptomator/presentation/service/AutoUploadNotification.kt +++ b/presentation/src/main/java/org/cryptomator/presentation/service/AutoUploadNotification.kt @@ -96,6 +96,10 @@ class AutoUploadNotification(private val context: Context, private val amountOfP showErrorWithMessage(context.getString(R.string.notification_auto_upload_failed_general_error)) } + fun showVaultNotFoundNotification() { + showErrorWithMessage(context.getString(R.string.notification_auto_upload_failed_due_to_vault_not_found)) + } + private fun showErrorWithMessage(message: String) { builder.setContentIntent(startTheActivity()) builder // diff --git a/presentation/src/main/java/org/cryptomator/presentation/service/AutoUploadService.java b/presentation/src/main/java/org/cryptomator/presentation/service/AutoUploadService.java index 452934c7..1ce3585a 100644 --- a/presentation/src/main/java/org/cryptomator/presentation/service/AutoUploadService.java +++ b/presentation/src/main/java/org/cryptomator/presentation/service/AutoUploadService.java @@ -47,8 +47,9 @@ import static org.cryptomator.domain.usecases.cloud.UploadFile.anUploadFile; public class AutoUploadService extends Service { - private static final String ACTION_CANCEL_AUTO_UPLOAD = "CANCEL_AUTO_UPLOAD"; private static final String ACTION_START_AUTO_UPLOAD = "START_AUTO_UPLOAD"; + private static final String ACTION_CANCEL_AUTO_UPLOAD = "CANCEL_AUTO_UPLOAD"; + private static final String ACTION_VAULT_NOT_FOUND = "VAULT_NOT_FOUND"; private static Cloud cloud; private AutoUploadNotification notification; @@ -69,17 +70,23 @@ public class AutoUploadService extends Service { } }; + public static Intent startAutoUploadIntent(Context context, Cloud myCloud) { + cloud = myCloud; + Intent startAutoUpload = new Intent(context, AutoUploadService.class); + startAutoUpload.setAction(ACTION_START_AUTO_UPLOAD); + return startAutoUpload; + } + public static Intent cancelAutoUploadIntent(Context context) { Intent cancelAutoUploadIntent = new Intent(context, AutoUploadService.class); cancelAutoUploadIntent.setAction(ACTION_CANCEL_AUTO_UPLOAD); return cancelAutoUploadIntent; } - public static Intent startAutoUploadIntent(Context context, Cloud myCloud) { - cloud = myCloud; - Intent startAutoUpload = new Intent(context, AutoUploadService.class); - startAutoUpload.setAction(ACTION_START_AUTO_UPLOAD); - return startAutoUpload; + public static Intent vaultNotFoundUploadIntent(Context context) { + Intent cancelAutoUploadIntent = new Intent(context, AutoUploadService.class); + cancelAutoUploadIntent.setAction(ACTION_VAULT_NOT_FOUND); + return cancelAutoUploadIntent; } private void startBackgroundImageUpload(Cloud cloud) { @@ -228,6 +235,9 @@ public class AutoUploadService extends Service { cancelled = true; hideNotification(); + } else if(isVaultNotFound(intent)) { + Timber.tag("AutoUploadService").i("Received show vault not found notification"); + notification.showVaultNotFoundNotification(); } return START_STICKY; } @@ -242,6 +252,11 @@ public class AutoUploadService extends Service { && ACTION_CANCEL_AUTO_UPLOAD.equals(intent.getAction()); } + private boolean isVaultNotFound(Intent intent) { + return intent != null // + && ACTION_VAULT_NOT_FOUND.equals(intent.getAction()); + } + @Override public void onDestroy() { Timber.tag("AutoUploadService").i("onDestroyed"); diff --git a/presentation/src/main/res/values-de-rDE/strings.xml b/presentation/src/main/res/values-de-rDE/strings.xml index 7188ee66..36da0782 100644 --- a/presentation/src/main/res/values-de-rDE/strings.xml +++ b/presentation/src/main/res/values-de-rDE/strings.xml @@ -368,6 +368,7 @@ Generaller Fehler während dem Hochladen. Ausgewählter Ordner für das Photo-Hochladen existiert nicht mehr. In der Einstellungen neuen auswählen Tresor gesperrt während dem hochladen, zum weiteren Hochladen entsperren + Der Tresor für den automatischen Upload existiert nicht mehr. Datei mit Schreibrechten geöffnet Tresor bleibt entsperrt bis die Datei nicht mehr editiert wird Neueste Version installiert diff --git a/presentation/src/main/res/values-el-rGR/strings.xml b/presentation/src/main/res/values-el-rGR/strings.xml index 6c1efe0b..b964817b 100644 --- a/presentation/src/main/res/values-el-rGR/strings.xml +++ b/presentation/src/main/res/values-el-rGR/strings.xml @@ -368,6 +368,7 @@ Παρουσιάστηκε γενικό σφάλμα κατά τη μεταφόρτωση. Ο επιλεγμένος φάκελος για μεταφόρτωση δεν είναι πια διαθέσιμος. Μεταβείτε στις ρυθμίσεις και επιλέξτε ένα νέο Κρύπτη κλειδωμένη κατά τη μεταφόρτωση, παρακαλώ ανοίξτε ξανά την κρύπτη για να συνεχίσετε + Η κρύπτη που ορίστηκε για αυτόματο ανέβασμα δεν υπάρχει πια. Άνοιγμα εγγράψιμου αρχείου Η κρύπτη παραμένει ξεκλείδωτη μέχρι να τελειώσει η επεξεργασία Τελευταία έκδοση εγκατεστημένη diff --git a/presentation/src/main/res/values-es-rES/strings.xml b/presentation/src/main/res/values-es-rES/strings.xml index d11569c2..a63fe476 100644 --- a/presentation/src/main/res/values-es-rES/strings.xml +++ b/presentation/src/main/res/values-es-rES/strings.xml @@ -368,6 +368,7 @@ Error general durante la carga. La carpeta seleccionada para cargar ya no está disponible. Vaya a los ajustes y elija una nueva Bóveda bloqueada durante la carga, vuelva a abrir la bóveda para continuar + La bóveda especificada para la carga automática ya no existe. Abrir archivo escribible La bóveda permanece desbloqueada hasta finalizar la edición Última versión instalada diff --git a/presentation/src/main/res/values-hu-rHU/strings.xml b/presentation/src/main/res/values-hu-rHU/strings.xml index 16168718..dc079f80 100644 --- a/presentation/src/main/res/values-hu-rHU/strings.xml +++ b/presentation/src/main/res/values-hu-rHU/strings.xml @@ -16,15 +16,35 @@ A felhő már létezik. Kérjük, töltsön le egy alkalmazást, amely képes megnyitni ezt a fájlt. Szerver nem található. + Kérjük, nyissa meg a készülék beállításait, majd állítsa be a képernyőzárat szabadkezűleg Az exportálás sikertelen. Próbálja meg eltávolítani a speciális karaktereket a fájlnevekből és exportálja újra. Nem tartalmazhat speciális karaktereket. A fájl neve nem tartalmazhat speciális karaktereket. A széf neve nem tartalmazhat speciális karaktereket. A frissítés ellenőrzése sikertelen. Általános hiba történt. + A frissítés keresése sikertelen. A generált hash nem egyezik a feltöltött fájllal + A frissítés keresése sikertelen. Nincs internetkapcsolat. + A WebDAV-jelszó visszafejtése sikertelen. Kérjük, adja meg újra a beállításokban + A Google Play szolgáltatások nincsenek telepítve + Sikertelen biometrikus azonosítás + A %1$s -ban megadott verzió eltér a %2$s -tól + A(z) %1$s nem egyezik a következővel: %2$s + Általános hiba a tároló konfigjának betöltése közben + A Cryptomatorra való visszaváltás után a helyi fájl már nem elérthető. Az esetleges változások nem frissíthetik a felhőben lévő fájlt. + Nem található ilyen adat + Az egyéni Masterkey hely választása még nem támogatott + Helyi tároló + A Cryptomatornak tárhely-hozzáférésre van szüksége a fájlok exportálásához + A Cryptomatornak tárhely-hozzáférésre van szüksége a fájlok feltöltéséhez + A Cryptomatornak tárhely-hozzáférésre van szüksége a fájlok megosztásához + A Cryptomator elvesztette a hozzáférési jogosultságát ehhez a forráshoz. Kérjük, válassza ki újra ezt a mappát az engedély visszaállításához. + Beállítások + Keresés + Előző Következő Rendezés A - Z @@ -40,9 +60,44 @@ Meglévő széfhez adás Eltávolítás Kattintson ide egy új széf létrehozásához + Jelszó sikeresen megváltoztatva Széf + Válassza ki a Masterkey fájlt + Helyezze ide + Trezor neve: %1$s + + %1$s áthelyezése ide + %2$d elem áthelyezése ide + + Áthelyezés + Mappa kiürítése + módosítva ennyi ideje: %1$s + Megosztás a következővel + Cél kiválasztása Választás + Nincs mit megosztani + Hozzáadás ide: %1$s + Mappa létrehozása + Szövegfájlt létrehozása + Fájlok feltöltése + Fájlok + Fájl exportálva + Fájlok exportálva + Nincs mit exportálni + Letöltések mappa létrehozása sikertelen + Megosztás + Átnevezés + Szerkeszt + Export + Törlés + Megnyitás a következővel … + Elemek kiválasztása + %1$d kiválasztva + Kijelölés + Összes kijelölése + Frissítés + Nincs kapcsolat Újra Sikeresen mentve @@ -106,13 +161,64 @@ Arcfeloldás megerősítése (ha elérhető) Alkalmazás blokkolása, ha nem látható A bevitel elfogásának blokkolása és a hamis felhasználói felület megjelenítése + Képernyőképek letiltása + Képernyőképek letiltása a előzmények listáján és az alkalmazáson belül + Keresés + Élő keresés + Frissítse a keresési eredményeket a keresőszavak beírása közben közben + Keresés glob-mintával + Használjon glob-minta keresést, pl. alice.*.jpg + Automatikus zárolás + Lezárás ennyi idő után + Amikor a képernyőt inaktív + Automatikus képfeltöltés + Trezor kiválasztása a feltöltéshez + Aktiválás + Képek várakoztatása a feltöltéshez, majd a meghatározott trezort feloldását követően a feltöltés megkezdése + Instant feltöltés + Automatikus feltöltés, ha a trezor fel van oldva + Feltöltés WIFI hálózaton + Videó feltöltése + Automatikus feltöltések helye: … + Cryptomator weboldala + Kövess minket a Twitteren + Lájkolj minket a Facebookon + Jogi nyilatkozat + Licenszek + Licencfeltételek + Támogatás + Segítségkérés + Hibakeresési mód + Naplófájlok küldése + A küldés sikertelen + Biztonsági tippek + Verzió + Speciális beállítások + A feloldás felgyorsítása + Trezor konfigurációjának letöltése a háttérben a jelszó/biometrikus hitelesítés megadása közben + Feloldvatartás + Fájlok szerkesztése közben tartsa feloldva a trezorokat + WebDAV fiókok + pCloud fiókok + S3 fiókok + Helyi tárolóhelyek + Bejelentkezés ide + Kijelentkezés innen + A %1$s hitelesítése sikertelen. + pCloud hitelesítő adatainak frissítése Mégse Feloldás + Régi jelszó + Új jelszó + Jelszó megváltoztatása + A régi jelszó nem lehet üres. + Az új jelszó nem lehet üres. + Az új jelszó nem egyezik az ismételten begépelt jelszóval. Eltávolítás Zárolás diff --git a/presentation/src/main/res/values-in-rID/strings.xml b/presentation/src/main/res/values-in-rID/strings.xml index 065d584b..9c194592 100644 --- a/presentation/src/main/res/values-in-rID/strings.xml +++ b/presentation/src/main/res/values-in-rID/strings.xml @@ -1,12 +1,17 @@ + Enkripsi + Server tidak ditemukan. + Cryptomator membutuhkan akses penyimpanan untuk mengunggah berkas + Cryptomator telah kehilangan izin untuk mengakses lokasi ini. Harap pilih folder ini lagi untuk memulihkan izin. Lanjut + Terbesar dahulu diff --git a/presentation/src/main/res/values-ja-rJP/strings.xml b/presentation/src/main/res/values-ja-rJP/strings.xml index 0cb3886b..f4c66faf 100644 --- a/presentation/src/main/res/values-ja-rJP/strings.xml +++ b/presentation/src/main/res/values-ja-rJP/strings.xml @@ -283,6 +283,7 @@ 他のアプリケーションが Cryptomator の上に何かを表示しています (例: ブルーライト フィルターや night mode アプリ)。このため、セキュリティの観点から Cryptomator が無効化されています。\n\nCryptomator を有効にするには 閉じる %1s クラウンドの金庫を再追加してください + 金庫がクラウト接続のルート フォルダーです この設定は安全のための機能です。他のアプリがユーザーを騙してしまうことを防ぎます。\n\n無効にすることで、 リスクを認識していること に留意する必要があります。 本当にこのクラウド接続を削除しますか? この操作により、クラウド接続とクラウドのすべての金庫が削除されます。 diff --git a/presentation/src/main/res/values-pl-rPL/strings.xml b/presentation/src/main/res/values-pl-rPL/strings.xml index 598e1e47..06ad4137 100644 --- a/presentation/src/main/res/values-pl-rPL/strings.xml +++ b/presentation/src/main/res/values-pl-rPL/strings.xml @@ -370,6 +370,7 @@ Wystąpił błąd podczas przesyłania. Wybrany folder do przesłania nie jest już dostępny. Przejdź do ustawień i wybierz nowy Sejf został zablokowany podczas przesyłania, otwórz go ponownie aby kontynuować + Sejf wybrany do automatycznego wysyłania już nie istnieje. Otwórz plik zapisywalny Sejf pozostaje odblokowany do czasu zakończenia edycji Zainstalowano najnowszą wersję diff --git a/presentation/src/main/res/values-ru-rRU/strings.xml b/presentation/src/main/res/values-ru-rRU/strings.xml index c92bf0ff..ddf4db58 100644 --- a/presentation/src/main/res/values-ru-rRU/strings.xml +++ b/presentation/src/main/res/values-ru-rRU/strings.xml @@ -370,6 +370,7 @@ Ошибка при загрузке. Выбранная папка для загрузки больше недоступна. Перейдите в настройки и выберите новую папку Хранилище заблокировано во время загрузки, откройте хранилище снова, чтобы продолжить + Хранилище, выбранное для автозагрузки, больше не существует. Открыть файл, доступный для записи Хранилище разблокировано до завершения редактирования Установлена новейшая версия diff --git a/presentation/src/main/res/values-sk-rSK/strings.xml b/presentation/src/main/res/values-sk-rSK/strings.xml index 887d98b6..5220bfdf 100644 --- a/presentation/src/main/res/values-sk-rSK/strings.xml +++ b/presentation/src/main/res/values-sk-rSK/strings.xml @@ -370,6 +370,7 @@ Došlo k obecnej chybe počas nahrávania. Zvolený adresár pre nahrávanie už nie je dostupný. V nastaveniach zvoľte nový Trezor počas nahrávania uzamknutý, prosím znovu-otvorte trezor pre pokračovanie + Trezor určený pre automatické nahrávanie už viac neexistuje. Otvoriť zapisovateľný súbor Trezor zostáva odomknutý pokial nie je ukončené editovanie Najnovšia verzia inštalovaná diff --git a/presentation/src/main/res/values-sv-rSE/strings.xml b/presentation/src/main/res/values-sv-rSE/strings.xml index 4aba1383..17954c50 100644 --- a/presentation/src/main/res/values-sv-rSE/strings.xml +++ b/presentation/src/main/res/values-sv-rSE/strings.xml @@ -368,6 +368,7 @@ Allmänt fel uppstod under uppladdning. Vald mapp för uppladdning finns inte längre. Gå till inställningar och välj en ny Valv låstes under uppladdningen, vänligen öppna valvet för att fortsätta + Valvet som angets för automatisk uppladdning finns inte längre. Öppna skrivbar fil Valvet är upplåst till färdig redigering Senaste versionen installerad diff --git a/presentation/src/main/res/values-uk-rUA/strings.xml b/presentation/src/main/res/values-uk-rUA/strings.xml index a51ebabd..8a2dce32 100644 --- a/presentation/src/main/res/values-uk-rUA/strings.xml +++ b/presentation/src/main/res/values-uk-rUA/strings.xml @@ -162,6 +162,20 @@ Пошук \"Живий\" пошук Оновити результати пошуку при вході в запит + Пошук за допомогою глобального шаблону + Використовувати шаблон, що відповідає аліасу.*.jpg + Автоматичне блокування + Блокувати після + Коли екран вимкнено + Автоматичне завантаження фотографій + Вибрати сховище для завантаження + Увімкнено + Захоплювати зображення у фоновому режимі і після розблокування вибраного сховища, почати завантаження + Вивантажити миттєво + Вивантажувати, якщо сховище розблоковано + Вивантажувати лише за допомогою Wi-Fi + Завантажувати відео + Зберігати автозавантажені файли до… diff --git a/presentation/src/main/res/values-zh-rCN/strings.xml b/presentation/src/main/res/values-zh-rCN/strings.xml index 2589a2db..444d8f4e 100644 --- a/presentation/src/main/res/values-zh-rCN/strings.xml +++ b/presentation/src/main/res/values-zh-rCN/strings.xml @@ -367,11 +367,12 @@ 上传时出错 所选文件夹无法再上传,请转到设置并选择一个新的文件夹 上传期间保险库锁定了,请重新打开保险库以继续 + 用于自动上传的指定保险库已不存在。 打开可写文件 编辑期间保险库保持解锁 已安装最新版本 缓存 - 缓存是在本地加密的最近访问文件,用以下次快速加载 + 缓存最近在本地加密的访问文件,用以下次快速加载 缓存总大小 清除缓存 更改将在下次应用重启时生效 diff --git a/presentation/src/main/res/values-zh-rTW/strings.xml b/presentation/src/main/res/values-zh-rTW/strings.xml index c56344c8..a166f383 100644 --- a/presentation/src/main/res/values-zh-rTW/strings.xml +++ b/presentation/src/main/res/values-zh-rTW/strings.xml @@ -71,6 +71,7 @@ 移動 清空資料夾 + 於%1$s前修改 分享對象 選擇目的地 選擇 @@ -89,6 +90,7 @@ 編輯 匯出 刪除 + 打開方式…… 選擇項目 已選取 %1$d 個項目 選擇 @@ -103,6 +105,7 @@ 文字 檔案 檔案 + 檔案名必須是唯一的,請重新命名重復的檔案。 儲存位置 儲存 加密已完成 @@ -111,6 +114,8 @@ 選擇位置 點擊此處新增位置 + 服務器似乎與 WebDAV 不兼容 + 沒有更多位置可用。 網址 帳號名稱 @@ -131,6 +136,7 @@ 設定密碼 完成 + 重要:如果您遺忘了密碼,您的數據將無法被恢復。 再次輸入密碼 密碼強度不足,無法新建加密檔案庫 @@ -146,6 +152,7 @@ 搜尋 即時搜尋 自動鎖定 + 在多久後鎖定 當螢幕被鎖定 自動上傳像片 選擇要上傳的加密檔案庫 @@ -157,6 +164,7 @@ 在臉書上給我們點讚 法律 軟體授權 + 許可證書條款 技術支援 請求協助 除錯模式 @@ -165,6 +173,8 @@ 安全提示 版本 進階設定 + 加速解鎖 + 保持解鎖 WebDAV 連線 pCloud 連線 @@ -212,6 +222,7 @@ 正在導出中(%1$d/%2$d) 請稍候…… 正在創建資料夾…… + 正在創建文本檔案…… 正在重命名…… 正在删除… 正在解鎖加密檔案庫…… @@ -224,6 +235,8 @@ 鎖定 無效的 TLS 憑證 詳情 + 這可能會是個安全風險。我清楚我在做什麼。 + 使用 HTTP 是不安全的。我們推薦使用 HTTPS 來取代。如果您瞭解風險,您可以使用 HTTP 繼續。 更換為 HTTPS 是否使用 HTTPS? 設定螢幕鎖定? @@ -236,6 +249,7 @@ 是否刪除%1$d個項目? 您確定要刪除這些項目嗎? 您確定要刪除這個檔案嗎? + 這將會刪除檔案夾中的全部內容。您確定要刪除這個檔案夾嗎? 提供一個有效的許可證書 我們檢測到你沒有使用 Google Play 商店安裝 Cryptomator。提供一個有效的許可證書,證書可以從https://cryptomator.org/android/購買 提供的許可證書無效。請確認您輸入無誤。 @@ -274,8 +288,29 @@ + 生物識別驗證登錄 + 使用加密檔案庫密碼 + 無法自動上傳檔案 + %1$s後自動鎖定 + 全部鎖定 + 取消上傳 + 正在運行像片自動上傳 + 正在上传 %1d/%2d + 像片自動上傳已完成 + 已將%1$d張像片上傳至加密檔案庫 + 像片自動上傳失敗 + 加密檔案庫在上傳期間鎖定,請重新打開加密檔案庫後繼續 + 已安裝最新版本 + 緩存 + 緩存總大小 + 清除緩存 + 變更將會在應用程式下次重啓後啓用。 + 註冊給 + %1$s + 檢查更新間隔 檢查更新 + 上次檢查於%1$s 立即 1分鐘 diff --git a/presentation/src/main/res/values/strings.xml b/presentation/src/main/res/values/strings.xml index 8ed2c79e..8ed8a1de 100644 --- a/presentation/src/main/res/values/strings.xml +++ b/presentation/src/main/res/values/strings.xml @@ -537,6 +537,7 @@ General error occurred during upload. Selected folder for upload isn\'t available anymore. Go to settings and choose a new one Vault locked during upload, please reopen vault to continue + Vault specified for auto upload doesn\'t exist anymore. @string/dialog_button_cancel Open writable file