diff --git a/.gitignore b/.gitignore
index 97f67a87..986db55f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -49,3 +49,6 @@ local.properties
# fdroid
**/fastlane/repo/**
**/fastlane/tmp/**
+**/fastlane/iod-scan-apk.php
+**/fastlane/current_iod-scan-apk.php
+**/fastlane/current_result.json
diff --git a/Gemfile.lock b/Gemfile.lock
index 06b22f75..56008e19 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -9,8 +9,8 @@ GEM
artifactory (3.0.15)
atomos (0.1.3)
aws-eventstream (1.1.1)
- aws-partitions (1.475.0)
- aws-sdk-core (3.116.0)
+ aws-partitions (1.478.0)
+ aws-sdk-core (3.117.0)
aws-eventstream (~> 1, >= 1.0.2)
aws-partitions (~> 1, >= 1.239.0)
aws-sigv4 (~> 1.1)
@@ -40,7 +40,7 @@ GEM
ed25519 (1.2.4)
emoji_regex (3.2.2)
excon (0.84.0)
- faraday (1.5.0)
+ faraday (1.5.1)
faraday-em_http (~> 1.0)
faraday-em_synchrony (~> 1.0)
faraday-excon (~> 1.1)
@@ -58,7 +58,7 @@ GEM
faraday-excon (1.1.0)
faraday-httpclient (1.0.1)
faraday-net_http (1.0.1)
- faraday-net_http_persistent (1.1.0)
+ faraday-net_http_persistent (1.2.0)
faraday-patron (1.0.0)
faraday_middleware (1.0.0)
faraday (~> 1.0)
diff --git a/build.gradle b/build.gradle
index 141439eb..1fd7544c 100644
--- a/build.gradle
+++ b/build.gradle
@@ -2,14 +2,13 @@ apply from: 'buildsystem/dependencies.gradle'
apply plugin: "com.vanniktech.android.junit.jacoco"
buildscript {
- ext.kotlin_version = '1.5.10'
+ ext.kotlin_version = '1.5.21'
repositories {
- jcenter()
mavenCentral()
google()
}
dependencies {
- classpath 'com.android.tools.build:gradle:4.2.1'
+ classpath 'com.android.tools.build:gradle:4.2.2'
classpath 'org.greenrobot:greendao-gradle-plugin:3.3.0'
classpath 'com.vanniktech:gradle-android-junit-jacoco-plugin:0.16.0'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
diff --git a/buildsystem/dependencies.gradle b/buildsystem/dependencies.gradle
index ba474d91..184a185d 100644
--- a/buildsystem/dependencies.gradle
+++ b/buildsystem/dependencies.gradle
@@ -1,6 +1,7 @@
allprojects {
repositories {
- jcenter()
+ mavenCentral()
+ maven { url 'https://jitpack.io' }
}
}
@@ -35,7 +36,7 @@ ext {
okHttpVersion = '4.9.1'
okHttpDigestVersion = '2.5'
- velocityVersion = '1.7'
+ velocityVersion = '2.3'
timberVersion = '4.7.1'
@@ -43,7 +44,7 @@ ext {
scaleImageViewVersion = '3.10.0'
- lruFileCacheVersion = '1.0'
+ lruFileCacheVersion = '1.2'
// KEEP IN SYNC WITH GENERATOR VERSION IN root build.gradle
greenDaoVersion = '3.3.0'
@@ -135,7 +136,7 @@ ext {
msgraph : "com.microsoft.graph:microsoft-graph:${msgraphVersion}",
multidex : "androidx.multidex:multidex:${multidexVersion}",
okHttp : "com.squareup.okhttp3:okhttp:${okHttpVersion}",
- okHttpDigest : "com.burgstaller:okhttp-digest:${okHttpDigestVersion}",
+ okHttpDigest : "io.github.rburgst:okhttp-digest:${okHttpDigestVersion}",
recyclerViewFastScroll: "com.simplecityapps:recyclerview-fastscroll:${recyclerViewFastScrollVersion}",
rxJava : "io.reactivex.rxjava2:rxjava:${rxJavaVersion}",
rxAndroid : "io.reactivex.rxjava2:rxandroid:${rxAndroidVersion}",
@@ -143,14 +144,14 @@ ext {
stax : "stax:stax:${staxVersion}",
testingSupportLib : "com.android.support.test:testing-support-lib:${testingSupportLibVersion}",
timber : "com.jakewharton.timber:timber:${timberVersion}",
- velocity : "org.apache.velocity:velocity:${velocityVersion}",
+ velocity : "org.apache.velocity:velocity-engine-core:${velocityVersion}",
runner : "androidx.test:runner:${runnerVersion}",
rules : "androidx.test:rules:${rulesVersion}",
contribution : "androidx.test.espresso:espresso-contrib:${contributionVersion}",
uiAutomator : "androidx.test.uiautomator:uiautomator:${uiautomatorVersion}",
zxcvbn : "com.nulab-inc:zxcvbn:${zxcvbnVersion}",
scaleImageView : "com.davemorrissey.labs:subsampling-scale-image-view:${scaleImageViewVersion}",
- lruFileCache : "com.tomclaw.cache:cache:${lruFileCacheVersion}",
+ lruFileCache : "com.github.solkin:disk-lru-cache:${lruFileCacheVersion}",
jsonWebTokenApi : "io.jsonwebtoken:jjwt-api:${jsonWebTokenApiVersion}",
jsonWebTokenImpl : "io.jsonwebtoken:jjwt-impl:${jsonWebTokenApiVersion}",
jsonWebTokenJson : "io.jsonwebtoken:jjwt-orgjson:${jsonWebTokenApiVersion}"
diff --git a/fastlane/Fastfile b/fastlane/Fastfile
index 8237c70c..e3d26fbc 100644
--- a/fastlane/Fastfile
+++ b/fastlane/Fastfile
@@ -2,13 +2,14 @@ fastlane_require 'dotenv'
fastlane_require 'jwt'
fastlane_require 'base64'
fastlane_require 'net/sftp'
+fastlane_require 'json'
default_platform(:android)
build = number_of_commits + 1958 # adding 1958 for legacy reasons. Must be in sync with getVersionCode() from build.gradle
version = get_version_name(
gradle_file_path:"build.gradle",
- ext_constant_name:"androidVersionName")
+ ext_constant_name:"androidVersionName")
version = version.delete "'"
release_note_path_en = "metadata/android/en-US/changelogs/default.txt"
@@ -181,35 +182,77 @@ platform :android do |options|
}
)
- if options[:alpha] or options[:beta]
- puts "Skipping deployment to F-Droid cause there isn't currently a alpha/beta channel"
- else
- puts "Updating F-Droid"
+ checkTrackingAddedInDependency(alpha:options[:alpha], beta:options[:beta])
- FileUtils.cp(lane_context[SharedValues::GRADLE_APK_OUTPUT_PATH], "repo/Cryptomator.apk")
+ if options[:alpha] or options[:beta]
+ puts "Skipping deployment to F-Droid cause there isn't currently a alpha/beta channel"
+ else
+ puts "Updating F-Droid"
- sh("cp -r metadata/android/ metadata/org.cryptomator/")
- FileUtils.cp("metadata/org.cryptomator/en-US/changelogs/default.txt", "metadata/org.cryptomator/en-US/changelogs/#{version}.txt")
- FileUtils.cp("metadata/org.cryptomator/de-DE/changelogs/default.txt", "metadata/org.cryptomator/de-DE/changelogs/#{version}.txt")
- sh("fdroid update && fdroid rewritemeta")
- sh("rm -r metadata/org.cryptomator/")
+ FileUtils.cp(lane_context[SharedValues::GRADLE_APK_OUTPUT_PATH], "repo/Cryptomator.apk")
- aws_s3(
- bucket: ENV['S3_BUCKET'],
- endpoint: ENV['S3_ENDPOINT'],
- region: ENV['S3_REGION'],
- access_key: ENV['S3_ACCESS_KEY'],
- secret_access_key: ENV['S3_SECRET_ACCESS_KEY'],
- path: "android/fdroid",
- folder: "fastlane/repo",
- skip_html_upload: true,
- apk: ''
- )
- end
+ sh("cp -r metadata/android/ metadata/org.cryptomator/")
+ FileUtils.cp("metadata/org.cryptomator/en-US/changelogs/default.txt", "metadata/org.cryptomator/en-US/changelogs/#{version}.txt")
+ FileUtils.cp("metadata/org.cryptomator/de-DE/changelogs/default.txt", "metadata/org.cryptomator/de-DE/changelogs/#{version}.txt")
+ sh("fdroid update && fdroid rewritemeta")
+ sh("rm -r metadata/org.cryptomator/")
+
+ aws_s3(
+ bucket: ENV['S3_BUCKET'],
+ endpoint: ENV['S3_ENDPOINT'],
+ region: ENV['S3_REGION'],
+ access_key: ENV['S3_ACCESS_KEY'],
+ secret_access_key: ENV['S3_SECRET_ACCESS_KEY'],
+ path: "android/fdroid",
+ folder: "fastlane/repo",
+ skip_html_upload: true,
+ apk: ''
+ )
+ end
FileUtils.cp(lane_context[SharedValues::GRADLE_APK_OUTPUT_PATH], "release/Cryptomator-#{version}_fdroid_signed.apk")
end
+ desc "Check if tracking added in some dependency"
+ lane :checkTrackingAddedInDependency do |options|
+ puts "Check if script file is latest"
+ sh("wget -O current_iod-scan-apk.php https://gitlab.com/fdroid/issuebot/-/raw/master/modules/iod-scan-apk.php")
+
+ same_script = FileUtils.compare_file("iod-scan-apk.php", "current_iod-scan-apk.php")
+ if same_script
+ puts "Script file unchanged"
+ FileUtils.rm("current_iod-scan-apk.php")
+ else
+ UI.error("Script updated, check diff, download and save to iod-scan-apk.php")
+ fail
+ end
+
+ FileUtils.mkdir("unsigned")
+
+ FileUtils.cp(lane_context[SharedValues::GRADLE_APK_OUTPUT_PATH], "unsigned/org.cryptomator_#{version}.apk")
+
+ sh("ISSUEBOT_CURRENT_APPLICATION_ID=org.cryptomator ISSUEBOT_CURRENT_REPLY_FILE=current_result.json php iod-scan-apk.php")
+
+ # clean up
+ FileUtils.rm("libinfo.txt")
+ FileUtils.rm("libsmali.txt")
+ FileUtils.rm_r("unsigned")
+ FileUtils.rm_r("org.cryptomator_#{version}")
+
+ puts "Check if something changed in the APK regarding the dependencies"
+
+ report = JSON.parse(File.read("result.json"))["report"]
+ current_report = JSON.parse(File.read("current_result.json"))["report"]
+
+ if report.eql?(current_report)
+ puts "Dependencies unchanged"
+ FileUtils.rm("current_result.json")
+ else
+ UI.error("Dependencies changed, check result of current_result.json, if no problem, move it to result.json, commit and retry")
+ fail
+ end
+ end
+
desc "Create GitHub draft release"
lane :createGitHubDraftRelease do |options|
target_branch = "main"
diff --git a/fastlane/README.md b/fastlane/README.md
index c2bc6cb2..bca77c73 100644
--- a/fastlane/README.md
+++ b/fastlane/README.md
@@ -41,6 +41,11 @@ Deploy new version to server
fastlane android deployToFDroid
```
Deploy new version to F-Droid
+### android checkTrackingAddedInDependency
+```
+fastlane android checkTrackingAddedInDependency
+```
+Check if tracking added in some dependency
### android createGitHubDraftRelease
```
fastlane android createGitHubDraftRelease
@@ -49,6 +54,6 @@ Create GitHub draft release
----
-This README.md is auto-generated and will be re-generated every time [fastlane](https://fastlane.tools) is run.
+This README.md is auto-generated and will be re-generated every time [_fastlane_](https://fastlane.tools) is run.
More information about fastlane can be found on [fastlane.tools](https://fastlane.tools).
The documentation of fastlane can be found on [docs.fastlane.tools](https://docs.fastlane.tools).
diff --git a/fastlane/result.json b/fastlane/result.json
new file mode 100644
index 00000000..a29d38fb
--- /dev/null
+++ b/fastlane/result.json
@@ -0,0 +1 @@
+{"applicationId":"org.cryptomator","emoji":[],"labels":["scanner-warning"],"report":"
APK library scanner
\nunsigned/org.cryptomator_1.6.1-SNAPSHOT.apk
\nOffending libs:
\n\n - Dropbox Core SDK for Java (/com/dropbox/core): NonFreeNet
\n - MSA Auth for Android (/com/microsoft/services/msa): NonFreeNet
\n - pCloud Java SDK (/com/pcloud/sdk): NonFreeNet
\n
\n3 offender(s). Full report available here. \n","reportData":{"unsigned/org.cryptomator_1.6.1-SNAPSHOT.apk":[{"id":"/android/support/v4","name":"Android Support v4","typ":"Development Framework","anti":""},{"id":"/androidx/arch","name":"Arch","typ":"Utility","anti":""},{"id":"/androidx/appcompat","name":"AppCompat","typ":"Utility","anti":""},{"id":"/androidx/biometric","name":"Biometric","typ":"Utility","anti":""},{"id":"/androidx/constraintlayout","name":"Constraint Layout Library","typ":"Utility","anti":""},{"id":"/androidx/core","name":"Androidx Core","typ":"Utility","anti":""},{"id":"/androidx/documentfile","name":"Documentfile","typ":"UI Component","anti":""},{"id":"/androidx/exifinterface","name":"Exifinterface","typ":"Utility","anti":""},{"id":"/androidx/legacy","name":"androidx.legacy","typ":"Utility","anti":""},{"id":"/androidx/lifecycle","name":"Lifecycle","typ":"Utility","anti":""},{"id":"/androidx/loader","name":"Loader","typ":"Utility","anti":""},{"id":"/androidx/preference","name":"Preference","typ":"Utility","anti":""},{"id":"/androidx/print","name":"Print","typ":"Utility","anti":""},{"id":"/androidx/transition","name":"Transition","typ":"UI Component","anti":""},{"id":"/androidx/vectordrawable","name":"Vectordrawable","typ":"UI Component","anti":""},{"id":"/com/burgstaller/okhttp","name":"okhttp-digest","typ":"Utility","anti":""},{"id":"/com/davemorrissey/labs/subscaleview","name":"Subsampling Scale Image View","typ":"UI Component","anti":""},{"id":"/com/dropbox/core","name":"Dropbox Core SDK for Java","typ":"Utility","anti":"NonFreeNet"},{"id":"/com/fasterxml","name":"Fasterxml","typ":"Utility","anti":""},{"id":"/com/google/android/material","name":"Google Material Design","typ":"Utility","anti":""},{"id":"/com/google/common","name":"Google Core Libraries for Java 6+","typ":"Utility","anti":""},{"id":"/com/google/errorprone","name":"Error Prone","typ":"Utility","anti":""},{"id":"/com/google/gson","name":"Google Gson","typ":"Utility","anti":""},{"id":"/com/google/j2objc","name":"J2ObjC","typ":"Utility","anti":""},{"id":"/com/jakewharton/rxbinding","name":"RxBinding","typ":"Utility","anti":""},{"id":"/com/microsoft/graph","name":"Microsoft Graph-SDK","typ":"Development Framework","anti":""},{"id":"/com/microsoft/services/msa","name":"MSA Auth for Android","typ":"Utility","anti":"NonFreeNet"},{"id":"/com/nulabinc/zxcvbn","name":"zxcvbn4j","typ":"Utility","anti":""},{"id":"/com/pcloud/sdk","name":"pCloud Java SDK","typ":"Utility","anti":"NonFreeNet"},{"id":"/com/simplecityapps/recyclerview_fastscroll","name":"RecyclerView-FastScroll","typ":"UI Component","anti":""},{"id":"/com/squareup/okhttp","name":"OkHttp","typ":"Utility","anti":""},{"id":"/com/tomclaw/cache","name":"Disk LRU Cache","typ":"Utility","anti":""},{"id":"/dagger","name":"Dagger","typ":"Utility","anti":""},{"id":"/io/jsonwebtoken","name":"Java JWT","typ":"Utility","anti":""},{"id":"/io/reactivex","name":"RxJava","typ":"Utility","anti":""},{"id":"/javax/annotation","name":"JavaX Annotation API","typ":"Utility","anti":""},{"id":"/javax/inject","name":"JavaX Dependency Injection","typ":"Utility","anti":""},{"id":"/kotlin","name":"Kotlin","typ":"Utility","anti":""},{"id":"/kotlinx/coroutines","name":"kotlinx.coroutines","typ":"Utility","anti":""},{"id":"/okio","name":"OkHttp okio Framework","typ":"Utility","anti":""},{"id":"/org/apache/commons","name":"Apache Commons","typ":"Development Framework","anti":""},{"id":"/org/apache/http","name":"Apache Http","typ":"Utility","anti":""},{"id":"/org/checkerframework","name":"Checker Framework","typ":"Utility","anti":""},{"id":"/org/greenrobot/greendao","name":"greenDAO","typ":"Utility","anti":""},{"id":"/org/intellij","name":"IntelliJ IDEA","typ":"Utility","anti":""},{"id":"/org/reactivestreams","name":"Reactive Streams","typ":"Utility","anti":""},{"id":"/org/simpleframework","name":"Simple","typ":"Utility","anti":""},{"id":"/org/slf4j","name":"Simple Logging Facade for Java","typ":"Utility","anti":""},{"id":"/timber/log","name":"Timber","typ":"Utility","anti":""}],"log":["Fetching library definitions from https://gitlab.com/IzzyOnDroid/repo/-/raw/master/lib","Loaded 2500 library definitions","Analyzing 'unsigned/org.cryptomator_1.6.1-SNAPSHOT.apk'...","Apktool returned: 0","Read 23715 bytes of smali path names from 'org.cryptomator_1.6.1-SNAPSHOT.dirlist'","Identified 49 libraries, 3 offenders.","Done analyzing 'unsigned/org.cryptomator_1.6.1-SNAPSHOT.apk'"],"self_url":"/artifacts/public/issuebot///iod-scan-apk.php.json"}}
\ No newline at end of file
diff --git a/generator-api/build.gradle b/generator-api/build.gradle
index c032a3c8..c560571c 100644
--- a/generator-api/build.gradle
+++ b/generator-api/build.gradle
@@ -8,5 +8,7 @@ targetCompatibility = 1.8
dependencies {
def dependencies = rootProject.ext.dependencies
- implementation dependencies.android
+ implementation(dependencies.android) {
+ exclude module: 'httpclient'
+ }
}
diff --git a/msa-auth-for-android b/msa-auth-for-android
index fe4e0458..7c0dc9ba 160000
--- a/msa-auth-for-android
+++ b/msa-auth-for-android
@@ -1 +1 @@
-Subproject commit fe4e04589043cb18011cae80aec7eab09b46ed44
+Subproject commit 7c0dc9baf7ef0e6f5a701fa8817b2e34be67f21b
diff --git a/presentation/src/main/res/values-ca-rES/strings.xml b/presentation/src/main/res/values-ca-rES/strings.xml
index 5f571123..8cc4abce 100644
--- a/presentation/src/main/res/values-ca-rES/strings.xml
+++ b/presentation/src/main/res/values-ca-rES/strings.xml
@@ -1,26 +1,57 @@
+ Xifrar
+ Hi ha hagut un error
+ Ha fallat l\'autenticació
+ Error d\'autenticació, inicieu sessió usant %1$s
+ No hi ha connexió de xarxa
+ Contrasenya incorrecta
+ Ja existeix un fitxer o carpeta.
+ Caixa forta no suportada. Caixa forta creada amb una altra versió de Cryptomator.
+ La caixa forta ja existeix.
+ El fitxer no existeix.
+ S\'ha bloquejat la caixa forta.
+ Núvol ja existent.
+ Descarregueu un aplicació que pugui obrir aquest fitxer.
+ No s\'ha trobat el servidor.
+ Obriu la configuració dels vostres dispositius i establiu el bloqueig de pantalla a mà
+ Emmagatzematge local
+ Cercar
+ Anterior
Següent
+ Ordenar
+ A - Z
+ Z - A
Elimina
Caixa forta
Trieu
+ Editar
+ text
+ fitxer
+ fitxers
+ URL
+ Nom d\'usuari
Contrasenya
+ Connectar
+ Regió
+ Nom de la caixa forta
+ Crear
Fet
Poc segura
@@ -28,6 +59,7 @@
Segura
General
+ Cercar
@@ -38,6 +70,9 @@
Desbloqueja
Elimina
+ D\'acord
+ Crear Caixa forta
+ No es pot obrir %1$s
Bloqueja
Tanca
Enrere
diff --git a/presentation/src/main/res/values-hu-rHU/strings.xml b/presentation/src/main/res/values-hu-rHU/strings.xml
index a5d5c5fd..1232623a 100644
--- a/presentation/src/main/res/values-hu-rHU/strings.xml
+++ b/presentation/src/main/res/values-hu-rHU/strings.xml
@@ -118,6 +118,7 @@
Mégse
Feloldás
+ Eltávolítás
Zárolás
Bezár
Vissza
diff --git a/presentation/src/main/res/values-ja-rJP/strings.xml b/presentation/src/main/res/values-ja-rJP/strings.xml
index 4a2ca15f..eb493d68 100644
--- a/presentation/src/main/res/values-ja-rJP/strings.xml
+++ b/presentation/src/main/res/values-ja-rJP/strings.xml
@@ -1,64 +1,352 @@
+ 暗号化
+ エラーが発生しました
+ 認証に失敗しました
+ 認証に失敗しました。%1$s を使用してログインしてください
+ ネットワーク接続がありません
+ パスワードが正しくありません
+ ファイルかフォルダーが既に存在します。
+ サポートされない金庫です。この金庫は別のバージョンの Cryptomator を使用して作成されました。
+ 金庫が既に存在します。
+ ファイルが存在しません。
+ 金庫が施錠されました。
+ クラウドが既に存在します。
+ このファイルを開くことができるアプリをダウンロードしてください。
+ サーバーが見つかりませんでした。
+ 端末の設定を開いて、画面ロックを設定してください
+ エクスポートに失敗しました。ファイル名から特殊文字を削除して再度エクスポートしてください。
+ 特殊文字を含めることはできません。
+ 特殊文字を含むファイル名は使用できません。
+ 特殊文字を含む金庫名は使用できません。
+ 更新の確認に失敗しました。エラーが発生しました。
+ 更新の確認に失敗しました。ハッシュ値がアップロードされたファイルと一致しません。
+ 更新の確認に失敗しました。インターネット接続がありません。
+ WebDAV パスワードの復号に失敗しました。設定を再度追加してください
+ Play Services がインストールされていません
+ 生体認証が中断されました
+ Vault.cryptomator 内で指定されたバージョンと masterkey.cryptomator の情報が異なります
+ vault.cryptomator が masterkey.cryptomator と一致しません
+ 金庫の設定を読み込み中に失敗しました
+ Bucket がありません
+ 自由に Masterkey の場所を設定することはまだできません
+ ローカルストレージ
+ ファイルをエクスポートするには、Cryptomator がストレージにアクセスする許可が必要です
+ ファイルをアップロードするには、Cryptomator がストレージにアクセスする許可が必要です
+ ファイルを共有するには、Cryptomator がストレージにアクセスする許可が必要です
設定
+ 検索
+ 戻る
次へ
+ ソート
+ A - Z
+ Z - A
+ 新しい順
+ 古い順
+ 大きい順
+ 小さい順
+ Cryptomator に追加
+ 新しい金庫を作成
+ 既存の金庫を追加
削除
+ ここをクリックして新しい金庫を作成
+ パスワードが正常に変更されました
金庫
+ Masterkey ファイルを選択
+ ここにおく
+ 金庫の名前: %1$s
+ 移動
+ 空のフォルダー
+ %1$s 前に編集
+ 次で共有
+ 保存先を選択
選択
+ 共有するものがありません
+ %1$s に追加
+ フォルダーを作成
+ テキスト ファイルを作成
+ ファイルをアップロード
+ ファイル
+ エクスポートされたファイル
+ エクスポートされたファイル
+ エクスポートするものがありません
+ ダウンロード ディレクトリの作成に失敗しました
+ 共有
+ 名前の変更
編集
+ エクスポート
+ 削除
+ 次で開く…
+ アイテムを選択
+ %1$d 個選択済み
+ 選択…
+ すべて選択
+ 更新
+ 接続なし
+ 再試行
+ 正常に保存されました
+ %1$s を保存…
+ テキスト
+ ファイル
+ ファイル
+ ファイル名は重複しない必要があります。名前を変更してください
+ 保存先
+ 保存
+ 暗号化が完了しました
+ クラウド サービス
+ 接続先を選択
+ ここをタップして場所を追加する
+ サーバーに WebDAV との互換性がありません
+ その他の保存先
+ デフォルトの保存先
+ 追加の利用できる保存先はありません。
URL
ユーザー名
パスワード
+ 接続
+ URLは空にできません。
+ URL が無効です。
+ ユーザー名は空にできません。
+ パスワードは空にできません。
+ 表示名
+ 接続キー
+ 秘密鍵
+ 既存の Bucket
+ エンドポイント
+ 地域
+ 表示名は空にできません
+ 接続キーは空にできません
+ 秘密キーは空にできません
+ Bucket は空にできません
+ エンドポイントまたは地域は空にできません
+ 金庫名は空にできません。
+ 金庫の名前
作成
+ パスワードの設定
+ 再入力されたパスワードが一致しません。
完了
重要: パスワードを忘れると、データを回復する方法はありません。
+ パスワードを再入力
+ 金庫を作成するには弱すぎます
弱い
普通
強い
+ 非常に強い
基本設定
+ クラウド サービス
+ 生体認証
+ 生体認証を有効にする
+ 顔認証のロック解除 (利用できる場合)
+ 他のアプリが重なるときにアプリを停止
+ スクリーンショットをブロック
+ 検索
+ ライブ検索
+ 次の場合にロックする
+ 画面がロックされたとき
+ 自動的に画像をアップロード
+ アップロードする金庫を選択
+ 有効
+ WIFI を使用しているときのみアップロード
+ ビデオをアップロード
+ Cryptomator のウェブサイト
+ Twitter でフォローする
+ Facebook でいいねする
+ 法的事項
+ ライセンス
+ ライセンス条項
+ サポート
+ ヘルプを求める
+ デバッグ モード
+ ログ ファイルを送信
+ 送信できませんでした
+ セキュリティのヒント
+ バージョン
+ 高度な設定
+ パスワードまたは生体による認証中に、バックグラウンドで金庫の設定をダウンロードします
+ 解錠したままにする
+ ファイルの編集中は金庫を解錠しておく
+ WebDAV 接続
+ pCloud 接続
+ S3 接続
+ ローカル ストレージの場所
+ ログイン
+ 次からサインアウト
+ %1$s は認証できませんでした。
+ pCloud 資格情報を更新
+ \'%1$s\' に到達できません
+ Cryptomator がこのフォルダに到達できません。
+ Sanitizer の詳細
キャンセル
解錠
+ 古いパスワード
+ 新しいパスワード
+ パスワードを変更
+ 古いパスワードは空にできません。
+ 新しいパスワードは空にできません。
+ 新しいパスワードが再入力されたパスワードと一致しません。
+ 金庫 %1$s が見つかりません
+ 金庫の名前が変更、移動または削除されました。この金庫をリストから削除し、再度追加してください。今すぐ削除してもよろしいですか?
削除
+ ファイルが既に存在します
+ 置換
+ ファイル名 %1$s が既に存在します。
+ すべて置換
+ 置換
+ ファイルを置き換えますか?
+ ファイルを置き換えますか?
+ ファイルを共有できません
+ 金庫のセットアップが完了していません。最初に Cryptomator から新しい金庫を作成してください。
OK
+ 金庫を作成
+ %1$s を開くことができません
+ このファイルを開くことができるアプリをダウンロードしてください。それともデバイスに保存しますか?
+ 金庫の名前を変更
+ フォルダーの名前を変更
+ ファイルの名前を変更
+ 保存していない変更があります
+ 保存せずに終了してもよろしいですか?
+ 破棄
+ text.txt
+ 本当にこの金庫を削除しますか?
+ アップロード中…
+ ファイル %1$d/%2$d
+ エクスポート中 (%1$d/%2$d)
+ しばらくお待ち下さい…
+ フォルダーを作成中…
+ テキスト ファイルを作成中…
+ 認証…
+ 名前を変更中…
+ 削除中…
+ 金庫を解錠中…
+ パスワードを変更中…
+ 金庫を作成中…
+ アップロード中…
+ ダウンロード中…
+ 暗号化中…
+ 復号中…
+ 移動中…
施錠
+ 不正な SSL 証明書です
+ SSL 証明書が無効です。それでも信頼しますか?
+ 詳細
+ これはセキュリティ リスクになる可能性があります。リスクについて理解していますか
+ HTTPS に変更
+ HTTPS を使用しますか?
+ 画面ロックを設定しますか?
+ 画面ロックを設定
+ システムに基本的な認証が設定されていません
+ 注意
+ 有効
+ この設定は安全のための機能です。他のアプリがユーザーを騙してしまうことを防ぎます。\n\n無効にすることで、 リスクを認識していること に留意する必要があります。
+ 注意
+ 無効
+ アプリが重なっています
+ 他のアプリケーションが Cryptomator の上に何かを表示しています (例: ブルーライト フィルターや night mode アプリ)。このため、セキュリティの観点から Cryptomator が無効化されています。\n\nCryptomator を有効にするには
閉じる
+ この設定は安全のための機能です。他のアプリがユーザーを騙してしまうことを防ぎます。\n\n無効にすることで、 リスクを認識していること に留意する必要があります。
+ 本当にこのクラウド接続を削除しますか?
+ この操作により、クラウド接続とクラウドのすべての金庫が削除されます。
+ %1$d 個の項目を削除しますか?
+ 本当にこれらの項目を削除してもよろしいですか?
+ 本当にこのファイルを削除してもよろしいですか?
+ この操作はフォルダーの内容をすべて削除します。本当にこのフォルダーを削除してもよろしいですか?
+ 生体認証機能が無効になりました
+ 有効なライセンスを入力してください
+ 終了
+ すぐに更新
+ ダウンロード サイトに行く
+ あとで
+ ダウンロード中
戻る
+ 0 kB
+ バイト
+ kB
+ MB
+ GB
+ TB
+ 秒
+ 秒
+ 分
分
+ 時
+ 時
+ 日
+ 日
+ 週
+ 週
+ 月
+ 月
+ 年
+ 年
+ 生体認証でログイン
+ 生体認証を使用してログイン
+ 金庫のパスワードを使用
+ すべて施錠
+ アップロードをキャンセル
+ 写真を自動的にアップロードしています
+ アップロード中 %1d/%2d
+ 写真の自動アップロードが完了しました
+ %1$d 個の画像を金庫にアップロードしました
+ 写真の自動アップロードが失敗しました
+ キャッシュ
+ キャッシュの合計サイズ
+ キャッシュを削除する
+ 変更は次のアプリの再起動時に適用されます
+ 登録済み
+ %1$s
+ 更新確認の間隔
+ 更新の確認
+ 1分
+ 2分
+ 5分
+ 10分
+ 無期限
+ 50 MB
+ 100 MB
+ 250 MB
+ 500 MB
+ 1 GB
+ 5 GB
+ 外観
+ 自動 (システムに従う)
ライト
ダーク
+ 毎日
+ 毎週
+ 毎月
diff --git a/presentation/src/main/res/values-ru-rRU/strings.xml b/presentation/src/main/res/values-ru-rRU/strings.xml
index ed562bab..460abc6a 100644
--- a/presentation/src/main/res/values-ru-rRU/strings.xml
+++ b/presentation/src/main/res/values-ru-rRU/strings.xml
@@ -65,6 +65,12 @@
Выберите файл Masterkey
Поместить здесь
Имя хранилища: %1$s
+
+ - Переместить %1$s в
+ - Переместить %2$d элем. в
+ - Переместить %2$d элем. в
+ - Переместить %2$d элем. в
+
Переместить
Пустая папка
изменено %1$s назад
diff --git a/presentation/src/main/res/values-tr-rTR/strings.xml b/presentation/src/main/res/values-tr-rTR/strings.xml
index d7c691ac..cec441ce 100644
--- a/presentation/src/main/res/values-tr-rTR/strings.xml
+++ b/presentation/src/main/res/values-tr-rTR/strings.xml
@@ -22,7 +22,7 @@
Dosya adları özel karakterler içeremez.
Kasa adı özel karakterler içeremez.
Genel bir hata oluştu ve güncelleme kontrolü başarısız oldu.
- Güncelleme kontrolü başarısız. Hesaplanan karma değer yüklenen dosya ile eşleşmiyor
+ Güncelleme kontrolü başarısız. Hesaplanan hash değeri ile yüklenen dosyanın ki eşleşmiyor
Güncelleme kontrolü başarısız oldu. İnternet bağlantısı yok.
WebDAV şifresi çözülemedi, lütfen ayarlara yeniden ekleyin
Play Hizmetleri yüklü değil
@@ -131,10 +131,10 @@
Görünen Ad
Erişim Anahtarı
Gizli Anahtar
- Mevcut Kova
- Endpoint
+ Mevcut kova
+ Uç nokta
Bölge
- Görünen Ad boş olamaz
+ Görünen ad boş olamaz
Erişim Anahtarı boş olamaz
Gizli Anahtar boş olamaz
Kova boş olamaz
@@ -168,7 +168,7 @@
Canlı arama
Sorgulama yaparken, arama sonuçlarını güncelle
Glob kalıbı kullanarak ara
- Glob pattern kullan. alice.*.jpg gibi
+ Glob kalıbı kullan. alice.*.jpg gibi
Otomatik Kilitleme
Kilitleme zamanı
Ekran devre dışı bırakıldığında
@@ -272,7 +272,7 @@
Şifre çözülüyor…
Taşınıyor…
Kilitle
- Geçersiz SSL sertifikası
+ SSL sertifikası geçersiz
SSL sertifikası geçersiz. Yine de güvenmek istiyor musun?
Detaylar
Bu bir güvenlik riski olabilir! Ne yaptığımı biliyorum.
@@ -323,7 +323,7 @@
\'%1$s\' bulut klasörünün bir dizin dosyası yok. Klasör başka bir cihazda oluşturulmuş ve henüz buluta tam olarak senkronize edilmemiş olabilir. Lütfen aşağıdaki dosyanın mevcut olup olmadığını kontrol edin:\n%2$s
… göstermek için daha fazla resim yok
%1$s kimlik bilgileri güncellendi
- Yeni bir pCloud hesabı eklemeyi düşünüyorsanız, bu url www.pcloud.com tıklayın, mevcut hesaptan çıkın ve yeni bir bulut bağlantısı oluşturmak için bu uygulamadaki \'+\'. tekrar tıklayın.
+ Yeni bir pCloud hesabı eklemeyi düşünüyorsanız, bu url www.pcloud.com tıklayın, mevcut hesaptan çıkın ve yeni bir bulut bağlantısı oluşturmak için \'+\'. tekrar tıklayın.
Cryptomator\'un yerel kasaları kullanmak için depolama erişimine ihtiyacı var
Cryptomator\'un otomatik fotoğraf yüklemesi için depolama erişimine ihtiyacı var
@@ -372,7 +372,7 @@
Düzenleme tamamlanana kadar, uygulamalar kasası kilidi açık kalır
En son sürüm yüklendi
Önbellek
- Yeniden açıldıklarında daha sonra yeniden kullanılmak üzere cihazda yerel olarak şifrelenmiş yakın zamanda erişilen dosyaları önbelleğe alın
+ Yeniden açıldıklarında daha sonra yeniden kullanılmak üzere, cihazda yerel olarak şifrelenmiş yakın zamanda erişilen dosyaları önbelleğe alın
Toplam önbellek boyutu
Önbelleği temizle
Değişiklikler, uygulama yeniden başlatıldığında uygulanacak
@@ -388,6 +388,7 @@
2 dakika
5 dakika
10 dakika
+ Hiçbir zaman
50 MB
100 MB