mirror of
https://github.com/Kunzisoft/KeePassDX.git
synced 2025-12-04 15:49:33 +01:00
Compare commits
188 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3ba56677ba | ||
|
|
39b4b4df70 | ||
|
|
4180ca92b0 | ||
|
|
bc9d00a1e1 | ||
|
|
5bdc72aa67 | ||
|
|
2be32e6884 | ||
|
|
612db4a6fc | ||
|
|
e74176f3bc | ||
|
|
af1fba42a0 | ||
|
|
bebf30aec1 | ||
|
|
321bb46df5 | ||
|
|
429f6db93f | ||
|
|
fc5a13160a | ||
|
|
c6eee8d449 | ||
|
|
7d227f372f | ||
|
|
3ac56b974f | ||
|
|
2e85ea401b | ||
|
|
fd080fb952 | ||
|
|
cc8e07366a | ||
|
|
c21bcbdbc2 | ||
|
|
e2ee17dae7 | ||
|
|
e68830fa25 | ||
|
|
9ddd66ce85 | ||
|
|
e3b69789bf | ||
|
|
54f2ed9fab | ||
|
|
2fea019b95 | ||
|
|
9ac7ef2d22 | ||
|
|
6d452fa49c | ||
|
|
d99edb6b4d | ||
|
|
cb679f0d59 | ||
|
|
2e237fba2d | ||
|
|
e68863a154 | ||
|
|
5dd9f75095 | ||
|
|
403021d38b | ||
|
|
fea7b30d6f | ||
|
|
ab5c859db4 | ||
|
|
3fcbc65de0 | ||
|
|
3f1ee6bbea | ||
|
|
37ce2ab781 | ||
|
|
ffaf4a761a | ||
|
|
56b7cc9118 | ||
|
|
987f3f9047 | ||
|
|
3039efc67c | ||
|
|
26daac4637 | ||
|
|
88a93829a9 | ||
|
|
7923a63d36 | ||
|
|
9a5c782d5d | ||
|
|
c39e4ba693 | ||
|
|
7db3d0502f | ||
|
|
d557e8b516 | ||
|
|
d6ae17657b | ||
|
|
3468b0f6f5 | ||
|
|
79777801e8 | ||
|
|
a202f66d48 | ||
|
|
ba58d5d47c | ||
|
|
46685592df | ||
|
|
ba9e2892ef | ||
|
|
a1da3b4fbd | ||
|
|
8bee0ec220 | ||
|
|
aebf6b21de | ||
|
|
0cf9253ea4 | ||
|
|
b63ceb37a4 | ||
|
|
c462dae6f5 | ||
|
|
ddf890b861 | ||
|
|
252eb30b13 | ||
|
|
62ab11cc56 | ||
|
|
e19ad3a8cc | ||
|
|
51fd8a77eb | ||
|
|
5ee0c2eb13 | ||
|
|
6d0ef8265c | ||
|
|
ea69d5acb2 | ||
|
|
1fb9595ec3 | ||
|
|
88e0bd51dc | ||
|
|
67477cc53b | ||
|
|
d2549d61d6 | ||
|
|
d6dc75961b | ||
|
|
f40c83812a | ||
|
|
b29c638d20 | ||
|
|
5bb03c2eef | ||
|
|
a76b1195e5 | ||
|
|
64da26f42c | ||
|
|
ef82552a0f | ||
|
|
d61b27ccd0 | ||
|
|
910ba99056 | ||
|
|
3de2a9acfd | ||
|
|
a48dccf27a | ||
|
|
2a561fb37e | ||
|
|
e27a329ac5 | ||
|
|
8e06a2a7cb | ||
|
|
ace82852af | ||
|
|
73369974b8 | ||
|
|
332eda8a7a | ||
|
|
e5ea1e35aa | ||
|
|
86aae9635a | ||
|
|
db3ccae87d | ||
|
|
4cec26967c | ||
|
|
a0368a4981 | ||
|
|
a1c7fe1e99 | ||
|
|
bf247ddeb7 | ||
|
|
1d2bc0fbfb | ||
|
|
85a12fe4ee | ||
|
|
a443ef996b | ||
|
|
c6995ad403 | ||
|
|
9018807eb8 | ||
|
|
b463106dd5 | ||
|
|
a23d28e1fa | ||
|
|
a0454f42d0 | ||
|
|
1c2ac88f47 | ||
|
|
11eb1bae45 | ||
|
|
089d86165a | ||
|
|
6a7362ad35 | ||
|
|
d2c10e2e4e | ||
|
|
0c20a14e67 | ||
|
|
acccf290de | ||
|
|
6ebe0f78af | ||
|
|
935c09ccd2 | ||
|
|
1eb10ad5bd | ||
|
|
ca4283151e | ||
|
|
8fb98ca4e7 | ||
|
|
be74c9710f | ||
|
|
24fb3c4c30 | ||
|
|
3bdc5fe600 | ||
|
|
c30884d6d0 | ||
|
|
5d26c3bd09 | ||
|
|
02e35cf5b7 | ||
|
|
085aefd2b9 | ||
|
|
1ea5b7a50c | ||
|
|
6cba96dd42 | ||
|
|
46238a76bc | ||
|
|
d5a9b664a1 | ||
|
|
6fdc4504d5 | ||
|
|
8a7c411a35 | ||
|
|
5ff9d5fa2f | ||
|
|
bb0f3c80d3 | ||
|
|
597d9c8274 | ||
|
|
4dd8c06fd2 | ||
|
|
72c66b3cd9 | ||
|
|
c2223afa6f | ||
|
|
d338d1340f | ||
|
|
ed4423666b | ||
|
|
d21fe662ff | ||
|
|
4da1c5bd92 | ||
|
|
18c18605fb | ||
|
|
988cb1a8d0 | ||
|
|
b6e01767e0 | ||
|
|
5414854e9c | ||
|
|
ae7f0732c6 | ||
|
|
d49d33fe3a | ||
|
|
5e7fc2d468 | ||
|
|
0d26e6a870 | ||
|
|
dd92f9ceb6 | ||
|
|
ff9239b9c4 | ||
|
|
319d35e485 | ||
|
|
28e65a4601 | ||
|
|
eb626e5bfe | ||
|
|
e1decf9a23 | ||
|
|
fff0e84b95 | ||
|
|
d73a7004b1 | ||
|
|
f71061e835 | ||
|
|
b2d25cc512 | ||
|
|
4d54b56c1d | ||
|
|
c764c6afff | ||
|
|
87b97a3849 | ||
|
|
5e6db44476 | ||
|
|
8615fa817f | ||
|
|
2f891bacd3 | ||
|
|
0d8a426df4 | ||
|
|
c952eb4415 | ||
|
|
2fd53b9416 | ||
|
|
244ca08890 | ||
|
|
409f290e33 | ||
|
|
7ce6092270 | ||
|
|
a819f2f8a8 | ||
|
|
c92da0a72f | ||
|
|
524963dbd8 | ||
|
|
bfe50fa985 | ||
|
|
3d798e6585 | ||
|
|
068c59ac98 | ||
|
|
34ec94a0c3 | ||
|
|
576a355342 | ||
|
|
aa19f11699 | ||
|
|
2fb4dff46d | ||
|
|
e6cf3f12a5 | ||
|
|
ca94ce86ba | ||
|
|
dea6b25bb4 | ||
|
|
c48f64d331 | ||
|
|
5e3a504c1f | ||
|
|
b9b7d7b2db |
22
CHANGELOG
22
CHANGELOG
@@ -1,3 +1,25 @@
|
|||||||
|
KeePassDX(4.2.4)
|
||||||
|
* Fix remembering database location #2262
|
||||||
|
|
||||||
|
KeePassDX(4.2.3)
|
||||||
|
* Fix multiple Passkey selection #2253
|
||||||
|
* Fix database dialog subtitle #2254
|
||||||
|
* Fix save search info if URL present #2255
|
||||||
|
* Small fixes
|
||||||
|
|
||||||
|
KeePassDX(4.2.2)
|
||||||
|
* Fix database merge algorithm #2223
|
||||||
|
* Fix save search info #2243
|
||||||
|
* Fix Play Service as privileged app for Passkey Cross Device Authentication #2244
|
||||||
|
* Small fixes
|
||||||
|
|
||||||
|
KeePassDX(4.2.1)
|
||||||
|
* Fix Magikeyboard autosearch #2233
|
||||||
|
* Fix database merge #2223
|
||||||
|
* Fix dialog database action #2234
|
||||||
|
* Fix autofill selection #2238 #2235
|
||||||
|
* Small fixes
|
||||||
|
|
||||||
KeePassDX(4.2.0)
|
KeePassDX(4.2.0)
|
||||||
* Passkeys management #1421 #2097 (@cali-95)
|
* Passkeys management #1421 #2097 (@cali-95)
|
||||||
* Confirm usage of passkey #2165 #2124
|
* Confirm usage of passkey #2165 #2124
|
||||||
|
|||||||
22
README.md
22
README.md
@@ -6,19 +6,21 @@
|
|||||||
|
|
||||||
### Features
|
### Features
|
||||||
|
|
||||||
- Create database files / entries and groups.
|
- **Passkeys** for authentication and **local storage of private keys**.
|
||||||
- Support for **.kdb** and **.kdbx** files (version 1 to 4) with AES - Twofish - ChaCha20 - Argon2 algorithm.
|
- **Biometric recognition** for fast unlocking (fingerprint / face unlock / …).
|
||||||
- **Compatible** with the majority of alternative programs (KeePass, KeePassXC, KeeWeb, …).
|
- **One-Time Password** management (HOTP / TOTP) for two-factor authentication (2FA).
|
||||||
|
- **Autofill** for easy form filling with passwords.
|
||||||
|
- **Magikeyboard** to efficiently fill in any field.
|
||||||
|
- Create **encrypted database files**.
|
||||||
|
- Organisation of credentials by **entry** and in **group** trees.
|
||||||
- Allows opening and **copying URI / URL fields quickly**.
|
- Allows opening and **copying URI / URL fields quickly**.
|
||||||
- **Biometric recognition** for fast unlocking *(fingerprint / face unlock / …)*.
|
- Dynamic **templates** for each type of entry.
|
||||||
- **One-Time Password** management *(HOTP / TOTP)* for Two-factor authentication (2FA).
|
|
||||||
- Material design with **themes**.
|
|
||||||
- **Auto-Fill** and Integration.
|
|
||||||
- Field filling **keyboard**.
|
|
||||||
- Dynamic **templates**
|
|
||||||
- **History** of each entry.
|
- **History** of each entry.
|
||||||
- Precise management of **settings**.
|
- Precise management of **settings**.
|
||||||
- Code written in **native languages** *(Kotlin / Java / JNI / C)*.
|
- Material design with **themes**.
|
||||||
|
- Support for **.kdb** and **.kdbx** files (version 1 to 4) with AES - Twofish - ChaCha20 - Argon2 algorithm.
|
||||||
|
- **Compatible** with the majority of alternative programs (KeePass, KeePassXC, KeeWeb, …).
|
||||||
|
- Code written in **native languages** (Kotlin / Java / JNI / C).
|
||||||
|
|
||||||
KeePassDX is **open source** and **ad-free**.
|
KeePassDX is **open source** and **ad-free**.
|
||||||
|
|
||||||
|
|||||||
@@ -11,8 +11,8 @@ android {
|
|||||||
applicationId "com.kunzisoft.keepass"
|
applicationId "com.kunzisoft.keepass"
|
||||||
minSdkVersion 19
|
minSdkVersion 19
|
||||||
targetSdkVersion 35
|
targetSdkVersion 35
|
||||||
versionCode = 145
|
versionCode = 149
|
||||||
versionName = "4.2.0"
|
versionName = "4.2.4"
|
||||||
multiDexEnabled true
|
multiDexEnabled true
|
||||||
|
|
||||||
testApplicationId = "com.kunzisoft.keepass.tests"
|
testApplicationId = "com.kunzisoft.keepass.tests"
|
||||||
|
|||||||
@@ -48,6 +48,18 @@
|
|||||||
]
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"type": "android",
|
||||||
|
"info": {
|
||||||
|
"package_name": "org.ironfoxoss.ironfox.nightly",
|
||||||
|
"signatures": [
|
||||||
|
{
|
||||||
|
"build": "release",
|
||||||
|
"cert_fingerprint_sha256": "C5:E2:91:B5:A5:71:F9:C8:CD:9A:97:99:C2:C9:4E:02:EC:97:03:94:88:93:F2:CA:75:6D:67:B9:42:04:F9:04"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"type": "android",
|
"type": "android",
|
||||||
"info": {
|
"info": {
|
||||||
|
|||||||
@@ -125,6 +125,8 @@ class EntryActivity : DatabaseLockActivity() {
|
|||||||
private var mBackgroundColor: Int? = null
|
private var mBackgroundColor: Int? = null
|
||||||
private var mForegroundColor: Int? = null
|
private var mForegroundColor: Int? = null
|
||||||
|
|
||||||
|
override fun manageDatabaseInfo(): Boolean = true
|
||||||
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
|
|
||||||
|
|||||||
@@ -63,7 +63,6 @@ import com.kunzisoft.keepass.credentialprovider.EntrySelectionHelper.buildSpecia
|
|||||||
import com.kunzisoft.keepass.credentialprovider.EntrySelectionHelper.retrieveRegisterInfo
|
import com.kunzisoft.keepass.credentialprovider.EntrySelectionHelper.retrieveRegisterInfo
|
||||||
import com.kunzisoft.keepass.credentialprovider.EntrySelectionHelper.retrieveSearchInfo
|
import com.kunzisoft.keepass.credentialprovider.EntrySelectionHelper.retrieveSearchInfo
|
||||||
import com.kunzisoft.keepass.credentialprovider.TypeMode
|
import com.kunzisoft.keepass.credentialprovider.TypeMode
|
||||||
import com.kunzisoft.keepass.credentialprovider.magikeyboard.MagikeyboardService
|
|
||||||
import com.kunzisoft.keepass.credentialprovider.passkey.util.PasskeyHelper.buildPasskeyResponseAndSetResult
|
import com.kunzisoft.keepass.credentialprovider.passkey.util.PasskeyHelper.buildPasskeyResponseAndSetResult
|
||||||
import com.kunzisoft.keepass.database.ContextualDatabase
|
import com.kunzisoft.keepass.database.ContextualDatabase
|
||||||
import com.kunzisoft.keepass.database.element.Attachment
|
import com.kunzisoft.keepass.database.element.Attachment
|
||||||
@@ -158,6 +157,8 @@ class EntryEditActivity : DatabaseLockActivity(),
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun manageDatabaseInfo(): Boolean = true
|
||||||
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
setContentView(R.layout.activity_entry_edit)
|
setContentView(R.layout.activity_entry_edit)
|
||||||
@@ -486,14 +487,12 @@ class EntryEditActivity : DatabaseLockActivity(),
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun entryValidatedForKeyboardSelection(database: ContextualDatabase, entry: Entry) {
|
private fun entryValidatedForKeyboardSelection(database: ContextualDatabase, entry: Entry) {
|
||||||
// Populate Magikeyboard with entry
|
// Build Magikeyboard response with the entry selected
|
||||||
MagikeyboardService.populateKeyboardAndMoveAppToBackground(
|
this.buildSpecialModeResponseAndSetResult(
|
||||||
this,
|
entryInfo = entry.getEntryInfo(database),
|
||||||
entry.getEntryInfo(database)
|
extras = buildEntryResult(entry)
|
||||||
)
|
)
|
||||||
onValidateSpecialMode()
|
onValidateSpecialMode()
|
||||||
// Don't keep activity history for entry edition
|
|
||||||
finishForEntryResult(entry)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun entryValidatedForAutofill(database: ContextualDatabase, entry: Entry) {
|
private fun entryValidatedForAutofill(database: ContextualDatabase, entry: Entry) {
|
||||||
|
|||||||
@@ -55,10 +55,8 @@ import com.kunzisoft.keepass.education.FileDatabaseSelectActivityEducation
|
|||||||
import com.kunzisoft.keepass.hardware.HardwareKey
|
import com.kunzisoft.keepass.hardware.HardwareKey
|
||||||
import com.kunzisoft.keepass.model.RegisterInfo
|
import com.kunzisoft.keepass.model.RegisterInfo
|
||||||
import com.kunzisoft.keepass.model.SearchInfo
|
import com.kunzisoft.keepass.model.SearchInfo
|
||||||
import com.kunzisoft.keepass.services.DatabaseTaskNotificationService
|
|
||||||
import com.kunzisoft.keepass.services.DatabaseTaskNotificationService.Companion.ACTION_DATABASE_CREATE_TASK
|
import com.kunzisoft.keepass.services.DatabaseTaskNotificationService.Companion.ACTION_DATABASE_CREATE_TASK
|
||||||
import com.kunzisoft.keepass.services.DatabaseTaskNotificationService.Companion.ACTION_DATABASE_LOAD_TASK
|
import com.kunzisoft.keepass.services.DatabaseTaskNotificationService.Companion.ACTION_DATABASE_LOAD_TASK
|
||||||
import com.kunzisoft.keepass.services.DatabaseTaskNotificationService.Companion.DATABASE_URI_KEY
|
|
||||||
import com.kunzisoft.keepass.settings.PreferencesUtil
|
import com.kunzisoft.keepass.settings.PreferencesUtil
|
||||||
import com.kunzisoft.keepass.tasks.ActionRunnable
|
import com.kunzisoft.keepass.tasks.ActionRunnable
|
||||||
import com.kunzisoft.keepass.utils.AppUtil.isContributingUser
|
import com.kunzisoft.keepass.utils.AppUtil.isContributingUser
|
||||||
@@ -94,6 +92,8 @@ class FileDatabaseSelectActivity : DatabaseModeActivity(),
|
|||||||
|
|
||||||
private var mExternalFileHelper: ExternalFileHelper? = null
|
private var mExternalFileHelper: ExternalFileHelper? = null
|
||||||
|
|
||||||
|
override fun manageDatabaseInfo(): Boolean = false
|
||||||
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
|
|
||||||
@@ -214,6 +214,12 @@ class FileDatabaseSelectActivity : DatabaseModeActivity(),
|
|||||||
// Retrieve settings for default database
|
// Retrieve settings for default database
|
||||||
mAdapterDatabaseHistory?.setDefaultDatabase(it)
|
mAdapterDatabaseHistory?.setDefaultDatabase(it)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Remove all the remember locations if needed
|
||||||
|
if (PreferencesUtil.rememberDatabaseLocations(applicationContext).not()) {
|
||||||
|
FileDatabaseHistoryAction.getInstance(applicationContext)
|
||||||
|
.deleteAll()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onDatabaseRetrieved(database: ContextualDatabase) {
|
override fun onDatabaseRetrieved(database: ContextualDatabase) {
|
||||||
@@ -226,22 +232,6 @@ class FileDatabaseSelectActivity : DatabaseModeActivity(),
|
|||||||
result: ActionRunnable.Result
|
result: ActionRunnable.Result
|
||||||
) {
|
) {
|
||||||
if (result.isSuccess) {
|
if (result.isSuccess) {
|
||||||
// Update list
|
|
||||||
when (actionTask) {
|
|
||||||
ACTION_DATABASE_CREATE_TASK,
|
|
||||||
ACTION_DATABASE_LOAD_TASK -> {
|
|
||||||
result.data?.getParcelableCompat<Uri>(DATABASE_URI_KEY)?.let { databaseUri ->
|
|
||||||
val mainCredential =
|
|
||||||
result.data?.getParcelableCompat(DatabaseTaskNotificationService.MAIN_CREDENTIAL_KEY)
|
|
||||||
?: MainCredential()
|
|
||||||
databaseFilesViewModel.addDatabaseFile(
|
|
||||||
databaseUri,
|
|
||||||
mainCredential.keyFileUri,
|
|
||||||
mainCredential.hardwareKey
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// Launch activity
|
// Launch activity
|
||||||
when (actionTask) {
|
when (actionTask) {
|
||||||
ACTION_DATABASE_CREATE_TASK -> {
|
ACTION_DATABASE_CREATE_TASK -> {
|
||||||
@@ -250,13 +240,13 @@ class FileDatabaseSelectActivity : DatabaseModeActivity(),
|
|||||||
database,
|
database,
|
||||||
false
|
false
|
||||||
)
|
)
|
||||||
|
coordinatorLayout.showActionErrorIfNeeded(result)
|
||||||
}
|
}
|
||||||
ACTION_DATABASE_LOAD_TASK -> {
|
ACTION_DATABASE_LOAD_TASK -> {
|
||||||
launchGroupActivityIfLoaded(database)
|
launchGroupActivityIfLoaded(database)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
coordinatorLayout.showActionErrorIfNeeded(result)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -467,7 +457,7 @@ class FileDatabaseSelectActivity : DatabaseModeActivity(),
|
|||||||
* -------------------------
|
* -------------------------
|
||||||
*/
|
*/
|
||||||
|
|
||||||
fun launchForSearchResult(
|
fun launchForSearch(
|
||||||
context: Context,
|
context: Context,
|
||||||
searchInfo: SearchInfo
|
searchInfo: SearchInfo
|
||||||
) {
|
) {
|
||||||
@@ -488,7 +478,7 @@ class FileDatabaseSelectActivity : DatabaseModeActivity(),
|
|||||||
context: Context,
|
context: Context,
|
||||||
typeMode: TypeMode,
|
typeMode: TypeMode,
|
||||||
searchInfo: SearchInfo? = null,
|
searchInfo: SearchInfo? = null,
|
||||||
activityResultLauncher: ActivityResultLauncher<Intent>? = null,
|
activityResultLauncher: ActivityResultLauncher<Intent>?,
|
||||||
) {
|
) {
|
||||||
EntrySelectionHelper.startActivityForSelectionModeResult(
|
EntrySelectionHelper.startActivityForSelectionModeResult(
|
||||||
context = context,
|
context = context,
|
||||||
@@ -512,10 +502,10 @@ class FileDatabaseSelectActivity : DatabaseModeActivity(),
|
|||||||
) {
|
) {
|
||||||
EntrySelectionHelper.startActivityForRegistrationModeResult(
|
EntrySelectionHelper.startActivityForRegistrationModeResult(
|
||||||
context = context,
|
context = context,
|
||||||
activityResultLauncher = activityResultLauncher,
|
|
||||||
intent = Intent(context, FileDatabaseSelectActivity::class.java),
|
intent = Intent(context, FileDatabaseSelectActivity::class.java),
|
||||||
registerInfo = registerInfo,
|
registerInfo = registerInfo,
|
||||||
typeMode = typeMode
|
typeMode = typeMode,
|
||||||
|
activityResultLauncher = activityResultLauncher
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,6 +18,7 @@
|
|||||||
*/
|
*/
|
||||||
package com.kunzisoft.keepass.activities
|
package com.kunzisoft.keepass.activities
|
||||||
|
|
||||||
|
import android.app.Activity
|
||||||
import android.app.SearchManager
|
import android.app.SearchManager
|
||||||
import android.content.ComponentName
|
import android.content.ComponentName
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
@@ -41,7 +42,6 @@ import android.widget.TextView
|
|||||||
import androidx.activity.result.ActivityResultLauncher
|
import androidx.activity.result.ActivityResultLauncher
|
||||||
import androidx.activity.viewModels
|
import androidx.activity.viewModels
|
||||||
import androidx.appcompat.app.ActionBarDrawerToggle
|
import androidx.appcompat.app.ActionBarDrawerToggle
|
||||||
import androidx.appcompat.app.AppCompatActivity
|
|
||||||
import androidx.appcompat.view.ActionMode
|
import androidx.appcompat.view.ActionMode
|
||||||
import androidx.appcompat.widget.SearchView
|
import androidx.appcompat.widget.SearchView
|
||||||
import androidx.appcompat.widget.Toolbar
|
import androidx.appcompat.widget.Toolbar
|
||||||
@@ -274,6 +274,8 @@ class GroupActivity : DatabaseLockActivity(),
|
|||||||
mGroupEditViewModel.selectIcon(icon)
|
mGroupEditViewModel.selectIcon(icon)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun manageDatabaseInfo(): Boolean = true
|
||||||
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
|
|
||||||
@@ -839,7 +841,7 @@ class GroupActivity : DatabaseLockActivity(),
|
|||||||
// Open child group
|
// Open child group
|
||||||
loadMainGroup(GroupState(group.nodeId, 0))
|
loadMainGroup(GroupState(group.nodeId, 0))
|
||||||
} catch (e: ClassCastException) {
|
} catch (e: ClassCastException) {
|
||||||
Log.e(TAG, "Node can't be cast in Group")
|
Log.e(TAG, "Node can't be cast in Group", e)
|
||||||
}
|
}
|
||||||
|
|
||||||
Type.ENTRY -> try {
|
Type.ENTRY -> try {
|
||||||
@@ -865,14 +867,16 @@ class GroupActivity : DatabaseLockActivity(),
|
|||||||
if (!database.isReadOnly
|
if (!database.isReadOnly
|
||||||
&& searchInfo != null
|
&& searchInfo != null
|
||||||
&& PreferencesUtil.isKeyboardSaveSearchInfoEnable(this@GroupActivity)
|
&& PreferencesUtil.isKeyboardSaveSearchInfoEnable(this@GroupActivity)
|
||||||
|
&& entryVersioned.containsSearchInfo(database, searchInfo).not()
|
||||||
) {
|
) {
|
||||||
updateEntryWithRegisterInfo(
|
updateEntryWithRegisterInfo(
|
||||||
database,
|
database,
|
||||||
entryVersioned,
|
entryVersioned,
|
||||||
searchInfo.toRegisterInfo()
|
searchInfo.toRegisterInfo()
|
||||||
)
|
)
|
||||||
|
} else {
|
||||||
|
entrySelectedForKeyboardSelection(database, entryVersioned)
|
||||||
}
|
}
|
||||||
entrySelectedForKeyboardSelection(database, entryVersioned)
|
|
||||||
}
|
}
|
||||||
TypeMode.PASSKEY -> {
|
TypeMode.PASSKEY -> {
|
||||||
entrySelectedForPasskeySelection(database, entryVersioned)
|
entrySelectedForPasskeySelection(database, entryVersioned)
|
||||||
@@ -881,14 +885,16 @@ class GroupActivity : DatabaseLockActivity(),
|
|||||||
if (!database.isReadOnly
|
if (!database.isReadOnly
|
||||||
&& searchInfo != null
|
&& searchInfo != null
|
||||||
&& PreferencesUtil.isAutofillSaveSearchInfoEnable(this@GroupActivity)
|
&& PreferencesUtil.isAutofillSaveSearchInfoEnable(this@GroupActivity)
|
||||||
|
&& entryVersioned.containsSearchInfo(database, searchInfo).not()
|
||||||
) {
|
) {
|
||||||
updateEntryWithRegisterInfo(
|
updateEntryWithRegisterInfo(
|
||||||
database,
|
database,
|
||||||
entryVersioned,
|
entryVersioned,
|
||||||
searchInfo.toRegisterInfo()
|
searchInfo.toRegisterInfo()
|
||||||
)
|
)
|
||||||
|
} else {
|
||||||
|
entrySelectedForAutofillSelection(database, entryVersioned)
|
||||||
}
|
}
|
||||||
entrySelectedForAutofillSelection(database, entryVersioned)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
loadGroup()
|
loadGroup()
|
||||||
@@ -908,18 +914,15 @@ class GroupActivity : DatabaseLockActivity(),
|
|||||||
finish()
|
finish()
|
||||||
})
|
})
|
||||||
} catch (e: ClassCastException) {
|
} catch (e: ClassCastException) {
|
||||||
Log.e(TAG, "Node can't be cast in Entry")
|
Log.e(TAG, "Node can't be cast in Entry", e)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun entrySelectedForKeyboardSelection(database: ContextualDatabase, entry: Entry) {
|
private fun entrySelectedForKeyboardSelection(database: ContextualDatabase, entry: Entry) {
|
||||||
removeSearch()
|
removeSearch()
|
||||||
// Populate Magikeyboard with entry
|
// Build response with the entry selected
|
||||||
MagikeyboardService.populateKeyboardAndMoveAppToBackground(
|
this.buildSpecialModeResponseAndSetResult(entry.getEntryInfo(database))
|
||||||
this,
|
|
||||||
entry.getEntryInfo(database)
|
|
||||||
)
|
|
||||||
onValidateSpecialMode()
|
onValidateSpecialMode()
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -980,6 +983,17 @@ class GroupActivity : DatabaseLockActivity(),
|
|||||||
updateEntry(entry, newEntry)
|
updateEntry(entry, newEntry)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun Entry.containsSearchInfo(
|
||||||
|
database: ContextualDatabase,
|
||||||
|
searchInfo: SearchInfo
|
||||||
|
): Boolean {
|
||||||
|
return getEntryInfo(
|
||||||
|
database,
|
||||||
|
raw = true,
|
||||||
|
removeTemplateConfiguration = false
|
||||||
|
).containsSearchInfo(searchInfo)
|
||||||
|
}
|
||||||
|
|
||||||
private fun finishNodeAction() {
|
private fun finishNodeAction() {
|
||||||
actionNodeMode?.finish()
|
actionNodeMode?.finish()
|
||||||
}
|
}
|
||||||
@@ -1521,7 +1535,7 @@ class GroupActivity : DatabaseLockActivity(),
|
|||||||
* Search Launch
|
* Search Launch
|
||||||
* -------------------------
|
* -------------------------
|
||||||
*/
|
*/
|
||||||
fun launchForSearchResult(
|
fun launchForSearch(
|
||||||
context: Context,
|
context: Context,
|
||||||
database: ContextualDatabase,
|
database: ContextualDatabase,
|
||||||
searchInfo: SearchInfo,
|
searchInfo: SearchInfo,
|
||||||
@@ -1536,13 +1550,18 @@ class GroupActivity : DatabaseLockActivity(),
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* -------------------------
|
||||||
|
* Selection Launch
|
||||||
|
* -------------------------
|
||||||
|
*/
|
||||||
fun launchForSelection(
|
fun launchForSelection(
|
||||||
context: Context,
|
context: Context,
|
||||||
database: ContextualDatabase,
|
database: ContextualDatabase,
|
||||||
typeMode: TypeMode,
|
typeMode: TypeMode,
|
||||||
searchInfo: SearchInfo? = null,
|
searchInfo: SearchInfo? = null,
|
||||||
autoSearch: Boolean = false,
|
autoSearch: Boolean = false,
|
||||||
activityResultLauncher: ActivityResultLauncher<Intent>? = null,
|
activityResultLauncher: ActivityResultLauncher<Intent>?,
|
||||||
) {
|
) {
|
||||||
if (database.loaded) {
|
if (database.loaded) {
|
||||||
checkTimeAndBuildIntent(context, null) { intent ->
|
checkTimeAndBuildIntent(context, null) { intent ->
|
||||||
@@ -1590,7 +1609,7 @@ class GroupActivity : DatabaseLockActivity(),
|
|||||||
* -------------------------
|
* -------------------------
|
||||||
*/
|
*/
|
||||||
fun launch(
|
fun launch(
|
||||||
activity: AppCompatActivity,
|
activity: Activity,
|
||||||
database: ContextualDatabase,
|
database: ContextualDatabase,
|
||||||
onValidateSpecialMode: () -> Unit,
|
onValidateSpecialMode: () -> Unit,
|
||||||
onCancelSpecialMode: () -> Unit,
|
onCancelSpecialMode: () -> Unit,
|
||||||
@@ -1610,7 +1629,7 @@ class GroupActivity : DatabaseLockActivity(),
|
|||||||
searchAction = { searchInfo ->
|
searchAction = { searchInfo ->
|
||||||
// Search action
|
// Search action
|
||||||
if (database.loaded) {
|
if (database.loaded) {
|
||||||
launchForSearchResult(activity,
|
launchForSearch(activity,
|
||||||
database,
|
database,
|
||||||
searchInfo,
|
searchInfo,
|
||||||
true)
|
true)
|
||||||
@@ -1632,11 +1651,7 @@ class GroupActivity : DatabaseLockActivity(),
|
|||||||
MagikeyboardService.performSelection(
|
MagikeyboardService.performSelection(
|
||||||
items = items,
|
items = items,
|
||||||
actionPopulateKeyboard = { entryInfo ->
|
actionPopulateKeyboard = { entryInfo ->
|
||||||
// Keyboard populated
|
activity.buildSpecialModeResponseAndSetResult(items)
|
||||||
MagikeyboardService.populateKeyboardAndMoveAppToBackground(
|
|
||||||
activity,
|
|
||||||
entryInfo
|
|
||||||
)
|
|
||||||
onValidateSpecialMode()
|
onValidateSpecialMode()
|
||||||
},
|
},
|
||||||
actionEntrySelection = { autoSearch ->
|
actionEntrySelection = { autoSearch ->
|
||||||
@@ -1645,6 +1660,7 @@ class GroupActivity : DatabaseLockActivity(),
|
|||||||
database = database,
|
database = database,
|
||||||
typeMode = TypeMode.MAGIKEYBOARD,
|
typeMode = TypeMode.MAGIKEYBOARD,
|
||||||
searchInfo = searchInfo,
|
searchInfo = searchInfo,
|
||||||
|
activityResultLauncher = activityResultLauncher,
|
||||||
autoSearch = autoSearch
|
autoSearch = autoSearch
|
||||||
)
|
)
|
||||||
onLaunchActivitySpecialMode()
|
onLaunchActivitySpecialMode()
|
||||||
|
|||||||
@@ -78,6 +78,8 @@ class IconPickerActivity : DatabaseLockActivity() {
|
|||||||
|
|
||||||
private var mExternalFileHelper: ExternalFileHelper? = null
|
private var mExternalFileHelper: ExternalFileHelper? = null
|
||||||
|
|
||||||
|
override fun manageDatabaseInfo(): Boolean = true
|
||||||
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
|
|
||||||
|
|||||||
@@ -45,6 +45,8 @@ class ImageViewerActivity : DatabaseLockActivity() {
|
|||||||
private lateinit var imageView: ImageView
|
private lateinit var imageView: ImageView
|
||||||
private lateinit var progressView: View
|
private lateinit var progressView: View
|
||||||
|
|
||||||
|
override fun manageDatabaseInfo(): Boolean = false
|
||||||
|
|
||||||
@SuppressLint("ClickableViewAccessibility")
|
@SuppressLint("ClickableViewAccessibility")
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
|
|||||||
@@ -28,6 +28,8 @@ class KeyGeneratorActivity : DatabaseLockActivity() {
|
|||||||
private lateinit var validationButton: View
|
private lateinit var validationButton: View
|
||||||
private var lockView: View? = null
|
private var lockView: View? = null
|
||||||
|
|
||||||
|
override fun manageDatabaseInfo(): Boolean = true
|
||||||
|
|
||||||
private val keyGeneratorViewModel: KeyGeneratorViewModel by viewModels()
|
private val keyGeneratorViewModel: KeyGeneratorViewModel by viewModels()
|
||||||
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
|
|||||||
@@ -36,7 +36,6 @@ import android.widget.TextView
|
|||||||
import android.widget.Toast
|
import android.widget.Toast
|
||||||
import androidx.activity.result.ActivityResultLauncher
|
import androidx.activity.result.ActivityResultLauncher
|
||||||
import androidx.activity.viewModels
|
import androidx.activity.viewModels
|
||||||
import androidx.appcompat.app.AppCompatActivity
|
|
||||||
import androidx.appcompat.widget.Toolbar
|
import androidx.appcompat.widget.Toolbar
|
||||||
import androidx.biometric.BiometricManager
|
import androidx.biometric.BiometricManager
|
||||||
import androidx.coordinatorlayout.widget.CoordinatorLayout
|
import androidx.coordinatorlayout.widget.CoordinatorLayout
|
||||||
@@ -125,6 +124,8 @@ class MainCredentialActivity : DatabaseModeActivity() {
|
|||||||
private var mReadOnly: Boolean = false
|
private var mReadOnly: Boolean = false
|
||||||
private var mForceReadOnly: Boolean = false
|
private var mForceReadOnly: Boolean = false
|
||||||
|
|
||||||
|
override fun manageDatabaseInfo(): Boolean = false
|
||||||
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
|
|
||||||
@@ -803,13 +804,13 @@ class MainCredentialActivity : DatabaseModeActivity() {
|
|||||||
|
|
||||||
@Throws(FileNotFoundException::class)
|
@Throws(FileNotFoundException::class)
|
||||||
fun launchForSelection(
|
fun launchForSelection(
|
||||||
activity: AppCompatActivity,
|
activity: Activity,
|
||||||
databaseFile: Uri,
|
databaseFile: Uri,
|
||||||
keyFile: Uri?,
|
keyFile: Uri?,
|
||||||
hardwareKey: HardwareKey?,
|
hardwareKey: HardwareKey?,
|
||||||
typeMode: TypeMode,
|
typeMode: TypeMode,
|
||||||
searchInfo: SearchInfo?,
|
searchInfo: SearchInfo?,
|
||||||
activityResultLauncher: ActivityResultLauncher<Intent>? = null,
|
activityResultLauncher: ActivityResultLauncher<Intent>?
|
||||||
) {
|
) {
|
||||||
buildAndLaunchIntent(activity, databaseFile, keyFile, hardwareKey) { intent ->
|
buildAndLaunchIntent(activity, databaseFile, keyFile, hardwareKey) { intent ->
|
||||||
EntrySelectionHelper.startActivityForSelectionModeResult(
|
EntrySelectionHelper.startActivityForSelectionModeResult(
|
||||||
@@ -831,20 +832,20 @@ class MainCredentialActivity : DatabaseModeActivity() {
|
|||||||
@Throws(FileNotFoundException::class)
|
@Throws(FileNotFoundException::class)
|
||||||
fun launchForRegistration(
|
fun launchForRegistration(
|
||||||
activity: Activity,
|
activity: Activity,
|
||||||
activityResultLauncher: ActivityResultLauncher<Intent>?,
|
|
||||||
databaseFile: Uri,
|
databaseFile: Uri,
|
||||||
keyFile: Uri?,
|
keyFile: Uri?,
|
||||||
hardwareKey: HardwareKey?,
|
hardwareKey: HardwareKey?,
|
||||||
typeMode: TypeMode,
|
typeMode: TypeMode,
|
||||||
registerInfo: RegisterInfo?
|
registerInfo: RegisterInfo?,
|
||||||
|
activityResultLauncher: ActivityResultLauncher<Intent>?
|
||||||
) {
|
) {
|
||||||
buildAndLaunchIntent(activity, databaseFile, keyFile, hardwareKey) { intent ->
|
buildAndLaunchIntent(activity, databaseFile, keyFile, hardwareKey) { intent ->
|
||||||
EntrySelectionHelper.startActivityForRegistrationModeResult(
|
EntrySelectionHelper.startActivityForRegistrationModeResult(
|
||||||
context = activity,
|
context = activity,
|
||||||
activityResultLauncher = activityResultLauncher,
|
|
||||||
intent = intent,
|
intent = intent,
|
||||||
typeMode = typeMode,
|
typeMode = typeMode,
|
||||||
registerInfo = registerInfo
|
registerInfo = registerInfo,
|
||||||
|
activityResultLauncher = activityResultLauncher,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,13 +1,17 @@
|
|||||||
package com.kunzisoft.keepass.activities.legacy
|
package com.kunzisoft.keepass.activities.legacy
|
||||||
|
|
||||||
import android.Manifest
|
import android.Manifest
|
||||||
|
import android.content.Intent
|
||||||
import android.content.pm.PackageManager
|
import android.content.pm.PackageManager
|
||||||
import android.os.Build
|
import android.os.Build
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
|
import androidx.activity.result.ActivityResultLauncher
|
||||||
|
import androidx.activity.result.contract.ActivityResultContract
|
||||||
import androidx.activity.result.contract.ActivityResultContracts
|
import androidx.activity.result.contract.ActivityResultContracts
|
||||||
import androidx.activity.viewModels
|
import androidx.activity.viewModels
|
||||||
import androidx.appcompat.app.AlertDialog
|
import androidx.appcompat.app.AlertDialog
|
||||||
import androidx.core.app.ActivityCompat
|
import androidx.core.app.ActivityCompat
|
||||||
|
import androidx.core.app.ActivityOptionsCompat
|
||||||
import androidx.core.content.ContextCompat
|
import androidx.core.content.ContextCompat
|
||||||
import androidx.lifecycle.Lifecycle
|
import androidx.lifecycle.Lifecycle
|
||||||
import androidx.lifecycle.lifecycleScope
|
import androidx.lifecycle.lifecycleScope
|
||||||
@@ -16,13 +20,14 @@ import com.kunzisoft.keepass.R
|
|||||||
import com.kunzisoft.keepass.activities.dialogs.DatabaseChangedDialogFragment
|
import com.kunzisoft.keepass.activities.dialogs.DatabaseChangedDialogFragment
|
||||||
import com.kunzisoft.keepass.activities.dialogs.DatabaseChangedDialogFragment.Companion.DATABASE_CHANGED_DIALOG_TAG
|
import com.kunzisoft.keepass.activities.dialogs.DatabaseChangedDialogFragment.Companion.DATABASE_CHANGED_DIALOG_TAG
|
||||||
import com.kunzisoft.keepass.activities.stylish.StylishActivity
|
import com.kunzisoft.keepass.activities.stylish.StylishActivity
|
||||||
|
import com.kunzisoft.keepass.credentialprovider.EntrySelectionHelper.setActivityResult
|
||||||
import com.kunzisoft.keepass.database.ContextualDatabase
|
import com.kunzisoft.keepass.database.ContextualDatabase
|
||||||
import com.kunzisoft.keepass.database.DatabaseTaskProvider.Companion.startDatabaseService
|
import com.kunzisoft.keepass.database.DatabaseTaskProvider.Companion.startDatabaseService
|
||||||
import com.kunzisoft.keepass.database.ProgressMessage
|
|
||||||
import com.kunzisoft.keepass.model.SnapFileDatabaseInfo
|
import com.kunzisoft.keepass.model.SnapFileDatabaseInfo
|
||||||
import com.kunzisoft.keepass.tasks.ActionRunnable
|
import com.kunzisoft.keepass.tasks.ActionRunnable
|
||||||
import com.kunzisoft.keepass.tasks.ProgressTaskDialogFragment
|
import com.kunzisoft.keepass.tasks.ProgressTaskDialogFragment
|
||||||
import com.kunzisoft.keepass.tasks.ProgressTaskDialogFragment.Companion.PROGRESS_TASK_DIALOG_TAG
|
import com.kunzisoft.keepass.tasks.ProgressTaskDialogFragment.Companion.PROGRESS_TASK_DIALOG_TAG
|
||||||
|
import com.kunzisoft.keepass.tasks.ProgressTaskViewModel
|
||||||
import com.kunzisoft.keepass.viewmodels.DatabaseViewModel
|
import com.kunzisoft.keepass.viewmodels.DatabaseViewModel
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
|
|
||||||
@@ -32,6 +37,7 @@ abstract class DatabaseActivity : StylishActivity(), DatabaseRetrieval {
|
|||||||
protected val mDatabase: ContextualDatabase?
|
protected val mDatabase: ContextualDatabase?
|
||||||
get() = mDatabaseViewModel.database
|
get() = mDatabaseViewModel.database
|
||||||
|
|
||||||
|
private val progressTaskViewModel: ProgressTaskViewModel by viewModels()
|
||||||
private var progressTaskDialogFragment: ProgressTaskDialogFragment? = null
|
private var progressTaskDialogFragment: ProgressTaskDialogFragment? = null
|
||||||
private var databaseChangedDialogFragment: DatabaseChangedDialogFragment? = null
|
private var databaseChangedDialogFragment: DatabaseChangedDialogFragment? = null
|
||||||
|
|
||||||
@@ -53,58 +59,104 @@ abstract class DatabaseActivity : StylishActivity(), DatabaseRetrieval {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Useful to only waiting for the activity result and prevent any parallel action
|
||||||
|
*/
|
||||||
|
var credentialResultLaunched = false
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Utility activity result launcher,
|
||||||
|
* Used recursively, close each activity with return data
|
||||||
|
*/
|
||||||
|
protected var mCredentialActivityResultLauncher: CredentialActivityResultLauncher =
|
||||||
|
CredentialActivityResultLauncher(
|
||||||
|
registerForActivityResult(
|
||||||
|
ActivityResultContracts.StartActivityForResult()
|
||||||
|
) {
|
||||||
|
setActivityResult(
|
||||||
|
lockDatabase = false,
|
||||||
|
resultCode = it.resultCode,
|
||||||
|
data = it.data
|
||||||
|
)
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Custom ActivityResultLauncher to manage the database action
|
||||||
|
*/
|
||||||
|
protected inner class CredentialActivityResultLauncher(
|
||||||
|
val builder: ActivityResultLauncher<Intent>
|
||||||
|
) : ActivityResultLauncher<Intent>() {
|
||||||
|
|
||||||
|
override fun launch(
|
||||||
|
input: Intent?,
|
||||||
|
options: ActivityOptionsCompat?
|
||||||
|
) {
|
||||||
|
credentialResultLaunched = true
|
||||||
|
builder.launch(input, options)
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun unregister() {
|
||||||
|
builder.unregister()
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun getContract(): ActivityResultContract<Intent?, *> {
|
||||||
|
return builder.getContract()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
|
|
||||||
|
if (savedInstanceState != null
|
||||||
|
&& savedInstanceState.containsKey(CREDENTIAL_RESULT_LAUNCHER_KEY)
|
||||||
|
) {
|
||||||
|
credentialResultLaunched = savedInstanceState.getBoolean(CREDENTIAL_RESULT_LAUNCHER_KEY)
|
||||||
|
}
|
||||||
|
|
||||||
lifecycleScope.launch {
|
lifecycleScope.launch {
|
||||||
repeatOnLifecycle(Lifecycle.State.STARTED) {
|
repeatOnLifecycle(Lifecycle.State.STARTED) {
|
||||||
mDatabaseViewModel.actionState.collect { uiState ->
|
mDatabaseViewModel.actionState.collect { uiState ->
|
||||||
when (uiState) {
|
if (credentialResultLaunched.not()) {
|
||||||
is DatabaseViewModel.ActionState.Loading -> {}
|
when (uiState) {
|
||||||
is DatabaseViewModel.ActionState.OnDatabaseReloaded -> {
|
is DatabaseViewModel.ActionState.Wait -> {}
|
||||||
if (finishActivityIfReloadRequested()) {
|
is DatabaseViewModel.ActionState.OnDatabaseReloaded -> {
|
||||||
finish()
|
if (finishActivityIfReloadRequested()) {
|
||||||
|
finish()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
is DatabaseViewModel.ActionState.OnDatabaseInfoChanged -> {
|
||||||
|
if (manageDatabaseInfo()) {
|
||||||
is DatabaseViewModel.ActionState.OnDatabaseInfoChanged -> {
|
showDatabaseChangedDialog(
|
||||||
if (manageDatabaseInfo()) {
|
uiState.previousDatabaseInfo,
|
||||||
showDatabaseChangedDialog(
|
uiState.newDatabaseInfo,
|
||||||
uiState.previousDatabaseInfo,
|
uiState.readOnlyDatabase
|
||||||
uiState.newDatabaseInfo,
|
)
|
||||||
uiState.readOnlyDatabase
|
}
|
||||||
|
}
|
||||||
|
is DatabaseViewModel.ActionState.OnDatabaseActionRequested -> {
|
||||||
|
startDatabasePermissionService(
|
||||||
|
uiState.bundle,
|
||||||
|
uiState.actionTask
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
is DatabaseViewModel.ActionState.OnDatabaseActionStarted -> {
|
||||||
|
progressTaskViewModel.show(uiState.progressMessage)
|
||||||
is DatabaseViewModel.ActionState.OnDatabaseActionRequested -> {
|
}
|
||||||
startDatabasePermissionService(
|
is DatabaseViewModel.ActionState.OnDatabaseActionUpdated -> {
|
||||||
uiState.bundle,
|
progressTaskViewModel.show(uiState.progressMessage)
|
||||||
uiState.actionTask
|
}
|
||||||
)
|
is DatabaseViewModel.ActionState.OnDatabaseActionStopped -> {
|
||||||
}
|
progressTaskViewModel.hide()
|
||||||
|
}
|
||||||
is DatabaseViewModel.ActionState.OnDatabaseActionStarted -> {
|
is DatabaseViewModel.ActionState.OnDatabaseActionFinished -> {
|
||||||
if (showDatabaseDialog())
|
onDatabaseActionFinished(
|
||||||
startDialog(uiState.progressMessage)
|
uiState.database,
|
||||||
}
|
uiState.actionTask,
|
||||||
|
uiState.result
|
||||||
is DatabaseViewModel.ActionState.OnDatabaseActionUpdated -> {
|
)
|
||||||
if (showDatabaseDialog())
|
progressTaskViewModel.hide()
|
||||||
updateDialog(uiState.progressMessage)
|
}
|
||||||
}
|
|
||||||
|
|
||||||
is DatabaseViewModel.ActionState.OnDatabaseActionStopped -> {
|
|
||||||
// Remove the progress task
|
|
||||||
stopDialog()
|
|
||||||
}
|
|
||||||
|
|
||||||
is DatabaseViewModel.ActionState.OnDatabaseActionFinished -> {
|
|
||||||
onDatabaseActionFinished(
|
|
||||||
uiState.database,
|
|
||||||
uiState.actionTask,
|
|
||||||
uiState.result
|
|
||||||
)
|
|
||||||
stopDialog()
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -112,15 +164,34 @@ abstract class DatabaseActivity : StylishActivity(), DatabaseRetrieval {
|
|||||||
}
|
}
|
||||||
lifecycleScope.launch {
|
lifecycleScope.launch {
|
||||||
repeatOnLifecycle(Lifecycle.State.RESUMED) {
|
repeatOnLifecycle(Lifecycle.State.RESUMED) {
|
||||||
mDatabaseViewModel.databaseState.collect { database ->
|
progressTaskViewModel.progressTaskState.collect { state ->
|
||||||
// Nullable function
|
when (state) {
|
||||||
onUnknownDatabaseRetrieved(database)
|
is ProgressTaskViewModel.ProgressTaskState.Show ->
|
||||||
database?.let {
|
startDialog()
|
||||||
onDatabaseRetrieved(database)
|
is ProgressTaskViewModel.ProgressTaskState.Hide ->
|
||||||
|
stopDialog()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
lifecycleScope.launch {
|
||||||
|
repeatOnLifecycle(Lifecycle.State.RESUMED) {
|
||||||
|
mDatabaseViewModel.databaseState.collect { database ->
|
||||||
|
if (credentialResultLaunched.not()) {
|
||||||
|
// Nullable function
|
||||||
|
onUnknownDatabaseRetrieved(database)
|
||||||
|
database?.let {
|
||||||
|
onDatabaseRetrieved(database)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onSaveInstanceState(outState: Bundle) {
|
||||||
|
outState.putBoolean(CREDENTIAL_RESULT_LAUNCHER_KEY, credentialResultLaunched)
|
||||||
|
super.onSaveInstanceState(outState)
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -203,29 +274,21 @@ abstract class DatabaseActivity : StylishActivity(), DatabaseRetrieval {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun startDialog(progressMessage: ProgressMessage) {
|
private fun startDialog() {
|
||||||
lifecycleScope.launch {
|
lifecycleScope.launch {
|
||||||
if (progressTaskDialogFragment == null) {
|
if (showDatabaseDialog()) {
|
||||||
progressTaskDialogFragment = supportFragmentManager
|
if (progressTaskDialogFragment == null) {
|
||||||
.findFragmentByTag(PROGRESS_TASK_DIALOG_TAG) as ProgressTaskDialogFragment?
|
progressTaskDialogFragment = supportFragmentManager
|
||||||
|
.findFragmentByTag(PROGRESS_TASK_DIALOG_TAG) as ProgressTaskDialogFragment?
|
||||||
|
}
|
||||||
|
if (progressTaskDialogFragment == null) {
|
||||||
|
progressTaskDialogFragment = ProgressTaskDialogFragment()
|
||||||
|
progressTaskDialogFragment?.show(
|
||||||
|
supportFragmentManager,
|
||||||
|
PROGRESS_TASK_DIALOG_TAG
|
||||||
|
)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (progressTaskDialogFragment == null) {
|
|
||||||
progressTaskDialogFragment = ProgressTaskDialogFragment()
|
|
||||||
progressTaskDialogFragment?.show(
|
|
||||||
supportFragmentManager,
|
|
||||||
PROGRESS_TASK_DIALOG_TAG
|
|
||||||
)
|
|
||||||
}
|
|
||||||
updateDialog(progressMessage)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun updateDialog(progressMessage: ProgressMessage) {
|
|
||||||
progressTaskDialogFragment?.apply {
|
|
||||||
updateTitle(progressMessage.titleId)
|
|
||||||
updateMessage(progressMessage.messageId)
|
|
||||||
updateWarning(progressMessage.warningId)
|
|
||||||
setCancellable(progressMessage.cancelable)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -237,4 +300,8 @@ abstract class DatabaseActivity : StylishActivity(), DatabaseRetrieval {
|
|||||||
protected open fun showDatabaseDialog(): Boolean {
|
protected open fun showDatabaseDialog(): Boolean {
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
companion object {
|
||||||
|
const val CREDENTIAL_RESULT_LAUNCHER_KEY = "com.kunzisoft.keepass.CREDENTIAL_RESULT_LAUNCHER_KEY"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -370,9 +370,11 @@ abstract class DatabaseLockActivity : DatabaseModeActivity(),
|
|||||||
.setNegativeButton(android.R.string.cancel, null)
|
.setNegativeButton(android.R.string.cancel, null)
|
||||||
.setPositiveButton(R.string.lock) { _, _ ->
|
.setPositiveButton(R.string.lock) { _, _ ->
|
||||||
sendBroadcast(Intent(LOCK_ACTION))
|
sendBroadcast(Intent(LOCK_ACTION))
|
||||||
|
finish()
|
||||||
}.create().show()
|
}.create().show()
|
||||||
} else {
|
} else {
|
||||||
sendBroadcast(Intent(LOCK_ACTION))
|
sendBroadcast(Intent(LOCK_ACTION))
|
||||||
|
finish()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,12 +1,9 @@
|
|||||||
package com.kunzisoft.keepass.activities.legacy
|
package com.kunzisoft.keepass.activities.legacy
|
||||||
|
|
||||||
import android.content.Intent
|
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.widget.Toast
|
import android.widget.Toast
|
||||||
import androidx.activity.OnBackPressedCallback
|
import androidx.activity.OnBackPressedCallback
|
||||||
import androidx.activity.result.ActivityResultLauncher
|
|
||||||
import androidx.activity.result.contract.ActivityResultContracts
|
|
||||||
import com.kunzisoft.keepass.R
|
import com.kunzisoft.keepass.R
|
||||||
import com.kunzisoft.keepass.credentialprovider.EntrySelectionHelper.isIntentSenderMode
|
import com.kunzisoft.keepass.credentialprovider.EntrySelectionHelper.isIntentSenderMode
|
||||||
import com.kunzisoft.keepass.credentialprovider.EntrySelectionHelper.removeInfo
|
import com.kunzisoft.keepass.credentialprovider.EntrySelectionHelper.removeInfo
|
||||||
@@ -15,7 +12,6 @@ import com.kunzisoft.keepass.credentialprovider.EntrySelectionHelper.retrieveReg
|
|||||||
import com.kunzisoft.keepass.credentialprovider.EntrySelectionHelper.retrieveSearchInfo
|
import com.kunzisoft.keepass.credentialprovider.EntrySelectionHelper.retrieveSearchInfo
|
||||||
import com.kunzisoft.keepass.credentialprovider.EntrySelectionHelper.retrieveSpecialMode
|
import com.kunzisoft.keepass.credentialprovider.EntrySelectionHelper.retrieveSpecialMode
|
||||||
import com.kunzisoft.keepass.credentialprovider.EntrySelectionHelper.retrieveTypeMode
|
import com.kunzisoft.keepass.credentialprovider.EntrySelectionHelper.retrieveTypeMode
|
||||||
import com.kunzisoft.keepass.credentialprovider.EntrySelectionHelper.setActivityResult
|
|
||||||
import com.kunzisoft.keepass.credentialprovider.SpecialMode
|
import com.kunzisoft.keepass.credentialprovider.SpecialMode
|
||||||
import com.kunzisoft.keepass.credentialprovider.TypeMode
|
import com.kunzisoft.keepass.credentialprovider.TypeMode
|
||||||
import com.kunzisoft.keepass.model.RegisterInfo
|
import com.kunzisoft.keepass.model.RegisterInfo
|
||||||
@@ -34,21 +30,6 @@ abstract class DatabaseModeActivity : DatabaseActivity() {
|
|||||||
|
|
||||||
private var mToolbarSpecial: ToolbarSpecial? = null
|
private var mToolbarSpecial: ToolbarSpecial? = null
|
||||||
|
|
||||||
/**
|
|
||||||
* Utility activity result launcher,
|
|
||||||
* Used recursively, close each activity with return data
|
|
||||||
*/
|
|
||||||
protected open var mCredentialActivityResultLauncher: ActivityResultLauncher<Intent>? =
|
|
||||||
registerForActivityResult(
|
|
||||||
ActivityResultContracts.StartActivityForResult()
|
|
||||||
) {
|
|
||||||
setActivityResult(
|
|
||||||
lockDatabase = false,
|
|
||||||
resultCode = it.resultCode,
|
|
||||||
data = it.data
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
open fun onDatabaseBackPressed() {
|
open fun onDatabaseBackPressed() {
|
||||||
if (mSpecialMode != SpecialMode.DEFAULT)
|
if (mSpecialMode != SpecialMode.DEFAULT)
|
||||||
onCancelSpecialMode()
|
onCancelSpecialMode()
|
||||||
|
|||||||
@@ -34,15 +34,20 @@ import androidx.core.content.ContextCompat
|
|||||||
import androidx.core.graphics.drawable.IconCompat
|
import androidx.core.graphics.drawable.IconCompat
|
||||||
import com.kunzisoft.keepass.R
|
import com.kunzisoft.keepass.R
|
||||||
import com.kunzisoft.keepass.database.ContextualDatabase
|
import com.kunzisoft.keepass.database.ContextualDatabase
|
||||||
|
import com.kunzisoft.keepass.database.element.node.NodeIdUUID
|
||||||
import com.kunzisoft.keepass.model.EntryInfo
|
import com.kunzisoft.keepass.model.EntryInfo
|
||||||
import com.kunzisoft.keepass.model.RegisterInfo
|
import com.kunzisoft.keepass.model.RegisterInfo
|
||||||
import com.kunzisoft.keepass.model.SearchInfo
|
import com.kunzisoft.keepass.model.SearchInfo
|
||||||
import com.kunzisoft.keepass.utils.LOCK_ACTION
|
import com.kunzisoft.keepass.utils.LOCK_ACTION
|
||||||
|
import com.kunzisoft.keepass.utils.getEnum
|
||||||
import com.kunzisoft.keepass.utils.getEnumExtra
|
import com.kunzisoft.keepass.utils.getEnumExtra
|
||||||
|
import com.kunzisoft.keepass.utils.getParcelableCompat
|
||||||
import com.kunzisoft.keepass.utils.getParcelableExtraCompat
|
import com.kunzisoft.keepass.utils.getParcelableExtraCompat
|
||||||
import com.kunzisoft.keepass.utils.getParcelableList
|
import com.kunzisoft.keepass.utils.getParcelableList
|
||||||
|
import com.kunzisoft.keepass.utils.putEnum
|
||||||
import com.kunzisoft.keepass.utils.putEnumExtra
|
import com.kunzisoft.keepass.utils.putEnumExtra
|
||||||
import com.kunzisoft.keepass.utils.putParcelableList
|
import com.kunzisoft.keepass.utils.putParcelableList
|
||||||
|
import java.io.IOException
|
||||||
import java.util.UUID
|
import java.util.UUID
|
||||||
|
|
||||||
object EntrySelectionHelper {
|
object EntrySelectionHelper {
|
||||||
@@ -157,10 +162,21 @@ object EntrySelectionHelper {
|
|||||||
return this
|
return this
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun Bundle.addSearchInfo(searchInfo: SearchInfo?): Bundle {
|
||||||
|
searchInfo?.let {
|
||||||
|
putParcelable(KEY_SEARCH_INFO, it)
|
||||||
|
}
|
||||||
|
return this
|
||||||
|
}
|
||||||
|
|
||||||
fun Intent.retrieveSearchInfo(): SearchInfo? {
|
fun Intent.retrieveSearchInfo(): SearchInfo? {
|
||||||
return getParcelableExtraCompat(KEY_SEARCH_INFO)
|
return getParcelableExtraCompat(KEY_SEARCH_INFO)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun Bundle.getSearchInfo(): SearchInfo? {
|
||||||
|
return getParcelableCompat(KEY_SEARCH_INFO)
|
||||||
|
}
|
||||||
|
|
||||||
fun Intent.addRegisterInfo(registerInfo: RegisterInfo?): Intent {
|
fun Intent.addRegisterInfo(registerInfo: RegisterInfo?): Intent {
|
||||||
registerInfo?.let {
|
registerInfo?.let {
|
||||||
putExtra(KEY_REGISTER_INFO, it)
|
putExtra(KEY_REGISTER_INFO, it)
|
||||||
@@ -168,10 +184,21 @@ object EntrySelectionHelper {
|
|||||||
return this
|
return this
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun Bundle.addRegisterInfo(registerInfo: RegisterInfo?): Bundle {
|
||||||
|
registerInfo?.let {
|
||||||
|
putParcelable(KEY_REGISTER_INFO, it)
|
||||||
|
}
|
||||||
|
return this
|
||||||
|
}
|
||||||
|
|
||||||
fun Intent.retrieveRegisterInfo(): RegisterInfo? {
|
fun Intent.retrieveRegisterInfo(): RegisterInfo? {
|
||||||
return getParcelableExtraCompat(KEY_REGISTER_INFO)
|
return getParcelableExtraCompat(KEY_REGISTER_INFO)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun Bundle.getRegisterInfo(): RegisterInfo? {
|
||||||
|
return getParcelableCompat(KEY_REGISTER_INFO)
|
||||||
|
}
|
||||||
|
|
||||||
fun Intent.removeInfo() {
|
fun Intent.removeInfo() {
|
||||||
removeExtra(KEY_SEARCH_INFO)
|
removeExtra(KEY_SEARCH_INFO)
|
||||||
removeExtra(KEY_REGISTER_INFO)
|
removeExtra(KEY_REGISTER_INFO)
|
||||||
@@ -182,8 +209,17 @@ object EntrySelectionHelper {
|
|||||||
return this
|
return this
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun Bundle.addSpecialMode(specialMode: SpecialMode): Bundle {
|
||||||
|
this.putEnum(KEY_SPECIAL_MODE, specialMode)
|
||||||
|
return this
|
||||||
|
}
|
||||||
|
|
||||||
fun Intent.retrieveSpecialMode(): SpecialMode {
|
fun Intent.retrieveSpecialMode(): SpecialMode {
|
||||||
return getEnumExtra<SpecialMode>(KEY_SPECIAL_MODE) ?: SpecialMode.DEFAULT
|
return this.getEnumExtra<SpecialMode>(KEY_SPECIAL_MODE) ?: SpecialMode.DEFAULT
|
||||||
|
}
|
||||||
|
|
||||||
|
fun Bundle.getSpecialMode(): SpecialMode {
|
||||||
|
return this.getEnum<SpecialMode>(KEY_SPECIAL_MODE) ?: SpecialMode.DEFAULT
|
||||||
}
|
}
|
||||||
|
|
||||||
fun Intent.addTypeMode(typeMode: TypeMode): Intent {
|
fun Intent.addTypeMode(typeMode: TypeMode): Intent {
|
||||||
@@ -233,12 +269,26 @@ object EntrySelectionHelper {
|
|||||||
removeExtra(EXTRA_NODE_ID)
|
removeExtra(EXTRA_NODE_ID)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retrieve nodes ids from intent and get the corresponding entry info list in [database]
|
||||||
|
*/
|
||||||
|
fun Intent.retrieveAndRemoveEntries(database: ContextualDatabase): List<EntryInfo> {
|
||||||
|
val nodesIds = retrieveNodesIds()
|
||||||
|
?: throw IOException("NodesIds is null")
|
||||||
|
removeNodesIds()
|
||||||
|
return nodesIds.mapNotNull { nodeId ->
|
||||||
|
database
|
||||||
|
.getEntryById(NodeIdUUID(nodeId))
|
||||||
|
?.getEntryInfo(database)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Intent sender uses special retains data in callback
|
* Intent sender uses special retains data in callback
|
||||||
*/
|
*/
|
||||||
fun isIntentSenderMode(specialMode: SpecialMode, typeMode: TypeMode): Boolean {
|
fun isIntentSenderMode(specialMode: SpecialMode, typeMode: TypeMode): Boolean {
|
||||||
return (specialMode == SpecialMode.SELECTION
|
return (specialMode == SpecialMode.SELECTION
|
||||||
&& (typeMode == TypeMode.AUTOFILL || typeMode == TypeMode.PASSKEY))
|
&& (typeMode == TypeMode.MAGIKEYBOARD || typeMode == TypeMode.AUTOFILL || typeMode == TypeMode.PASSKEY))
|
||||||
|| (specialMode == SpecialMode.REGISTRATION
|
|| (specialMode == SpecialMode.REGISTRATION
|
||||||
&& (typeMode == TypeMode.AUTOFILL || typeMode == TypeMode.PASSKEY))
|
&& (typeMode == TypeMode.AUTOFILL || typeMode == TypeMode.PASSKEY))
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -38,14 +38,17 @@ import com.kunzisoft.keepass.activities.legacy.DatabaseModeActivity
|
|||||||
import com.kunzisoft.keepass.credentialprovider.EntrySelectionHelper.addRegisterInfo
|
import com.kunzisoft.keepass.credentialprovider.EntrySelectionHelper.addRegisterInfo
|
||||||
import com.kunzisoft.keepass.credentialprovider.EntrySelectionHelper.addSearchInfo
|
import com.kunzisoft.keepass.credentialprovider.EntrySelectionHelper.addSearchInfo
|
||||||
import com.kunzisoft.keepass.credentialprovider.EntrySelectionHelper.addSpecialMode
|
import com.kunzisoft.keepass.credentialprovider.EntrySelectionHelper.addSpecialMode
|
||||||
|
import com.kunzisoft.keepass.credentialprovider.EntrySelectionHelper.getRegisterInfo
|
||||||
|
import com.kunzisoft.keepass.credentialprovider.EntrySelectionHelper.getSearchInfo
|
||||||
|
import com.kunzisoft.keepass.credentialprovider.EntrySelectionHelper.getSpecialMode
|
||||||
import com.kunzisoft.keepass.credentialprovider.EntrySelectionHelper.setActivityResult
|
import com.kunzisoft.keepass.credentialprovider.EntrySelectionHelper.setActivityResult
|
||||||
import com.kunzisoft.keepass.credentialprovider.SpecialMode
|
import com.kunzisoft.keepass.credentialprovider.SpecialMode
|
||||||
import com.kunzisoft.keepass.credentialprovider.autofill.AutofillComponent
|
import com.kunzisoft.keepass.credentialprovider.autofill.AutofillComponent
|
||||||
import com.kunzisoft.keepass.credentialprovider.autofill.AutofillHelper.addAutofillComponent
|
import com.kunzisoft.keepass.credentialprovider.autofill.AutofillHelper.addAutofillComponent
|
||||||
|
import com.kunzisoft.keepass.credentialprovider.autofill.AutofillHelper.retrieveAutofillComponent
|
||||||
import com.kunzisoft.keepass.credentialprovider.viewmodel.AutofillLauncherViewModel
|
import com.kunzisoft.keepass.credentialprovider.viewmodel.AutofillLauncherViewModel
|
||||||
import com.kunzisoft.keepass.credentialprovider.viewmodel.CredentialLauncherViewModel
|
import com.kunzisoft.keepass.credentialprovider.viewmodel.CredentialLauncherViewModel
|
||||||
import com.kunzisoft.keepass.database.ContextualDatabase
|
import com.kunzisoft.keepass.database.ContextualDatabase
|
||||||
import com.kunzisoft.keepass.database.exception.RegisterInReadOnlyDatabaseException
|
|
||||||
import com.kunzisoft.keepass.model.RegisterInfo
|
import com.kunzisoft.keepass.model.RegisterInfo
|
||||||
import com.kunzisoft.keepass.model.SearchInfo
|
import com.kunzisoft.keepass.model.SearchInfo
|
||||||
import com.kunzisoft.keepass.utils.AppUtil.randomRequestCode
|
import com.kunzisoft.keepass.utils.AppUtil.randomRequestCode
|
||||||
@@ -67,15 +70,21 @@ class AutofillLauncherActivity : DatabaseModeActivity() {
|
|||||||
autofillLauncherViewModel.manageRegistrationResult(it)
|
autofillLauncherViewModel.manageRegistrationResult(it)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun applyCustomStyle(): Boolean {
|
override fun applyCustomStyle(): Boolean = false
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun finishActivityIfReloadRequested(): Boolean {
|
override fun finishActivityIfReloadRequested(): Boolean = true
|
||||||
return true
|
|
||||||
}
|
override fun manageDatabaseInfo(): Boolean = false
|
||||||
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
|
// To apply the bypass https://github.com/Kunzisoft/KeePassDX/issues/2238
|
||||||
|
// before managing intent in super class
|
||||||
|
intent.retrieveSelectionBundle()?.apply {
|
||||||
|
intent.addSpecialMode(getSpecialMode())
|
||||||
|
intent.addSearchInfo(getSearchInfo())
|
||||||
|
intent.addRegisterInfo(getRegisterInfo())
|
||||||
|
intent.addAutofillComponent(retrieveAutofillComponent())
|
||||||
|
}
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
autofillLauncherViewModel.initialize()
|
autofillLauncherViewModel.initialize()
|
||||||
lifecycleScope.launch {
|
lifecycleScope.launch {
|
||||||
@@ -87,10 +96,6 @@ class AutofillLauncherActivity : DatabaseModeActivity() {
|
|||||||
showBlockRestartMessage()
|
showBlockRestartMessage()
|
||||||
autofillLauncherViewModel.cancelResult()
|
autofillLauncherViewModel.cancelResult()
|
||||||
}
|
}
|
||||||
is AutofillLauncherViewModel.UIState.ShowReadOnlyMessage -> {
|
|
||||||
showReadOnlySaveMessage()
|
|
||||||
autofillLauncherViewModel.cancelResult()
|
|
||||||
}
|
|
||||||
is AutofillLauncherViewModel.UIState.ShowAutofillSuggestionMessage -> {
|
is AutofillLauncherViewModel.UIState.ShowAutofillSuggestionMessage -> {
|
||||||
showAutofillSuggestionMessage()
|
showAutofillSuggestionMessage()
|
||||||
}
|
}
|
||||||
@@ -101,8 +106,8 @@ class AutofillLauncherActivity : DatabaseModeActivity() {
|
|||||||
// Retrieve the UI
|
// Retrieve the UI
|
||||||
autofillLauncherViewModel.credentialUiState.collect { uiState ->
|
autofillLauncherViewModel.credentialUiState.collect { uiState ->
|
||||||
when (uiState) {
|
when (uiState) {
|
||||||
is CredentialLauncherViewModel.UIState.Loading -> {}
|
is CredentialLauncherViewModel.CredentialState.Loading -> {}
|
||||||
is CredentialLauncherViewModel.UIState.LaunchGroupActivityForSelection -> {
|
is CredentialLauncherViewModel.CredentialState.LaunchGroupActivityForSelection -> {
|
||||||
GroupActivity.launchForSelection(
|
GroupActivity.launchForSelection(
|
||||||
context = this@AutofillLauncherActivity,
|
context = this@AutofillLauncherActivity,
|
||||||
database = uiState.database,
|
database = uiState.database,
|
||||||
@@ -111,7 +116,7 @@ class AutofillLauncherActivity : DatabaseModeActivity() {
|
|||||||
activityResultLauncher = mAutofillSelectionActivityResultLauncher,
|
activityResultLauncher = mAutofillSelectionActivityResultLauncher,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
is CredentialLauncherViewModel.UIState.LaunchGroupActivityForRegistration -> {
|
is CredentialLauncherViewModel.CredentialState.LaunchGroupActivityForRegistration -> {
|
||||||
GroupActivity.launchForRegistration(
|
GroupActivity.launchForRegistration(
|
||||||
context = this@AutofillLauncherActivity,
|
context = this@AutofillLauncherActivity,
|
||||||
database = uiState.database,
|
database = uiState.database,
|
||||||
@@ -120,7 +125,7 @@ class AutofillLauncherActivity : DatabaseModeActivity() {
|
|||||||
activityResultLauncher = mAutofillRegistrationActivityResultLauncher
|
activityResultLauncher = mAutofillRegistrationActivityResultLauncher
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
is CredentialLauncherViewModel.UIState.LaunchFileDatabaseSelectActivityForSelection -> {
|
is CredentialLauncherViewModel.CredentialState.LaunchFileDatabaseSelectActivityForSelection -> {
|
||||||
FileDatabaseSelectActivity.launchForSelection(
|
FileDatabaseSelectActivity.launchForSelection(
|
||||||
context = this@AutofillLauncherActivity,
|
context = this@AutofillLauncherActivity,
|
||||||
searchInfo = uiState.searchInfo,
|
searchInfo = uiState.searchInfo,
|
||||||
@@ -128,7 +133,7 @@ class AutofillLauncherActivity : DatabaseModeActivity() {
|
|||||||
activityResultLauncher = mAutofillSelectionActivityResultLauncher
|
activityResultLauncher = mAutofillSelectionActivityResultLauncher
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
is CredentialLauncherViewModel.UIState.LaunchFileDatabaseSelectActivityForRegistration -> {
|
is CredentialLauncherViewModel.CredentialState.LaunchFileDatabaseSelectActivityForRegistration -> {
|
||||||
FileDatabaseSelectActivity.launchForRegistration(
|
FileDatabaseSelectActivity.launchForRegistration(
|
||||||
context = this@AutofillLauncherActivity,
|
context = this@AutofillLauncherActivity,
|
||||||
registerInfo = uiState.registerInfo,
|
registerInfo = uiState.registerInfo,
|
||||||
@@ -136,14 +141,14 @@ class AutofillLauncherActivity : DatabaseModeActivity() {
|
|||||||
activityResultLauncher = mAutofillRegistrationActivityResultLauncher,
|
activityResultLauncher = mAutofillRegistrationActivityResultLauncher,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
is CredentialLauncherViewModel.UIState.SetActivityResult -> {
|
is CredentialLauncherViewModel.CredentialState.SetActivityResult -> {
|
||||||
setActivityResult(
|
setActivityResult(
|
||||||
lockDatabase = uiState.lockDatabase,
|
lockDatabase = uiState.lockDatabase,
|
||||||
resultCode = uiState.resultCode,
|
resultCode = uiState.resultCode,
|
||||||
data = uiState.data
|
data = uiState.data
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
is CredentialLauncherViewModel.UIState.ShowError -> {
|
is CredentialLauncherViewModel.CredentialState.ShowError -> {
|
||||||
toastError(uiState.error)
|
toastError(uiState.error)
|
||||||
autofillLauncherViewModel.cancelResult()
|
autofillLauncherViewModel.cancelResult()
|
||||||
}
|
}
|
||||||
@@ -174,29 +179,34 @@ class AutofillLauncherActivity : DatabaseModeActivity() {
|
|||||||
).show()
|
).show()
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun showReadOnlySaveMessage() {
|
|
||||||
toastError(RegisterInReadOnlyDatabaseException())
|
|
||||||
}
|
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
|
|
||||||
|
private const val KEY_PENDING_INTENT_BUNDLE = "com.kunzisoft.keepass.extra.BUNDLE"
|
||||||
private val TAG = AutofillLauncherActivity::class.java.name
|
private val TAG = AutofillLauncherActivity::class.java.name
|
||||||
|
|
||||||
|
fun Intent.retrieveSelectionBundle(): Bundle? {
|
||||||
|
return this.getBundleExtra(KEY_PENDING_INTENT_BUNDLE)
|
||||||
|
}
|
||||||
|
|
||||||
fun getPendingIntentForSelection(
|
fun getPendingIntentForSelection(
|
||||||
context: Context,
|
context: Context,
|
||||||
searchInfo: SearchInfo? = null,
|
searchInfo: SearchInfo? = null,
|
||||||
autofillComponent: AutofillComponent
|
autofillComponent: AutofillComponent
|
||||||
): PendingIntent? {
|
): PendingIntent? {
|
||||||
try {
|
try {
|
||||||
|
// Doesn't work with direct extra Parcelable in Android 11 (don't know why?)
|
||||||
|
// https://github.com/Kunzisoft/KeePassDX/issues/2238
|
||||||
|
// Wrap into a bundle to bypass the problem
|
||||||
|
val tempBundle = Bundle().apply {
|
||||||
|
addSpecialMode(SpecialMode.SELECTION)
|
||||||
|
addSearchInfo(searchInfo)
|
||||||
|
addAutofillComponent(autofillComponent)
|
||||||
|
}
|
||||||
return PendingIntent.getActivity(
|
return PendingIntent.getActivity(
|
||||||
context,
|
context,
|
||||||
randomRequestCode(),
|
randomRequestCode(),
|
||||||
// Doesn't work with direct extra Parcelable (don't know why?)
|
|
||||||
// Wrap into a bundle to bypass the problem
|
|
||||||
Intent(context, AutofillLauncherActivity::class.java).apply {
|
Intent(context, AutofillLauncherActivity::class.java).apply {
|
||||||
addSpecialMode(SpecialMode.SELECTION)
|
putExtra(KEY_PENDING_INTENT_BUNDLE, tempBundle)
|
||||||
addSearchInfo(searchInfo)
|
|
||||||
addAutofillComponent(autofillComponent)
|
|
||||||
},
|
},
|
||||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
|
||||||
PendingIntent.FLAG_MUTABLE or PendingIntent.FLAG_CANCEL_CURRENT
|
PendingIntent.FLAG_MUTABLE or PendingIntent.FLAG_CANCEL_CURRENT
|
||||||
@@ -215,12 +225,16 @@ class AutofillLauncherActivity : DatabaseModeActivity() {
|
|||||||
registerInfo: RegisterInfo
|
registerInfo: RegisterInfo
|
||||||
): PendingIntent? {
|
): PendingIntent? {
|
||||||
try {
|
try {
|
||||||
|
// Bypass intent issue
|
||||||
|
val tempBundle = Bundle().apply {
|
||||||
|
addSpecialMode(SpecialMode.REGISTRATION)
|
||||||
|
addRegisterInfo(registerInfo)
|
||||||
|
}
|
||||||
return PendingIntent.getActivity(
|
return PendingIntent.getActivity(
|
||||||
context,
|
context,
|
||||||
randomRequestCode(),
|
randomRequestCode(),
|
||||||
Intent(context, AutofillLauncherActivity::class.java).apply {
|
Intent(context, AutofillLauncherActivity::class.java).apply {
|
||||||
addSpecialMode(SpecialMode.REGISTRATION)
|
putExtra(KEY_PENDING_INTENT_BUNDLE, tempBundle)
|
||||||
addRegisterInfo(registerInfo)
|
|
||||||
},
|
},
|
||||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
|
||||||
PendingIntent.FLAG_MUTABLE or PendingIntent.FLAG_CANCEL_CURRENT
|
PendingIntent.FLAG_MUTABLE or PendingIntent.FLAG_CANCEL_CURRENT
|
||||||
|
|||||||
@@ -22,20 +22,22 @@ package com.kunzisoft.keepass.credentialprovider.activity
|
|||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import androidx.core.net.toUri
|
import androidx.activity.result.ActivityResultLauncher
|
||||||
|
import androidx.activity.result.contract.ActivityResultContracts
|
||||||
|
import androidx.activity.viewModels
|
||||||
|
import androidx.lifecycle.lifecycleScope
|
||||||
import com.kunzisoft.keepass.activities.FileDatabaseSelectActivity
|
import com.kunzisoft.keepass.activities.FileDatabaseSelectActivity
|
||||||
import com.kunzisoft.keepass.activities.GroupActivity
|
import com.kunzisoft.keepass.activities.GroupActivity
|
||||||
import com.kunzisoft.keepass.activities.legacy.DatabaseModeActivity
|
import com.kunzisoft.keepass.activities.legacy.DatabaseModeActivity
|
||||||
import com.kunzisoft.keepass.credentialprovider.TypeMode
|
import com.kunzisoft.keepass.credentialprovider.EntrySelectionHelper.addSearchInfo
|
||||||
|
import com.kunzisoft.keepass.credentialprovider.EntrySelectionHelper.setActivityResult
|
||||||
import com.kunzisoft.keepass.credentialprovider.magikeyboard.MagikeyboardService
|
import com.kunzisoft.keepass.credentialprovider.magikeyboard.MagikeyboardService
|
||||||
|
import com.kunzisoft.keepass.credentialprovider.viewmodel.CredentialLauncherViewModel
|
||||||
|
import com.kunzisoft.keepass.credentialprovider.viewmodel.EntrySelectionViewModel
|
||||||
import com.kunzisoft.keepass.database.ContextualDatabase
|
import com.kunzisoft.keepass.database.ContextualDatabase
|
||||||
import com.kunzisoft.keepass.database.exception.RegisterInReadOnlyDatabaseException
|
|
||||||
import com.kunzisoft.keepass.database.helper.SearchHelper
|
|
||||||
import com.kunzisoft.keepass.model.SearchInfo
|
import com.kunzisoft.keepass.model.SearchInfo
|
||||||
import com.kunzisoft.keepass.otp.OtpEntryFields
|
|
||||||
import com.kunzisoft.keepass.utils.KeyboardUtil.isKeyboardActivatedInSettings
|
|
||||||
import com.kunzisoft.keepass.utils.getParcelableCompat
|
|
||||||
import com.kunzisoft.keepass.view.toastError
|
import com.kunzisoft.keepass.view.toastError
|
||||||
|
import kotlinx.coroutines.launch
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Activity to search or select entry in database,
|
* Activity to search or select entry in database,
|
||||||
@@ -43,201 +45,133 @@ import com.kunzisoft.keepass.view.toastError
|
|||||||
*/
|
*/
|
||||||
class EntrySelectionLauncherActivity : DatabaseModeActivity() {
|
class EntrySelectionLauncherActivity : DatabaseModeActivity() {
|
||||||
|
|
||||||
override fun applyCustomStyle(): Boolean {
|
private val entrySelectionViewModel: EntrySelectionViewModel by viewModels()
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun finishActivityIfReloadRequested(): Boolean {
|
private var mEntrySelectionActivityResultLauncher: ActivityResultLauncher<Intent>? =
|
||||||
return false
|
this.registerForActivityResult(ActivityResultContracts.StartActivityForResult()) {
|
||||||
|
entrySelectionViewModel.manageSelectionResult(it)
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun applyCustomStyle() = false
|
||||||
|
|
||||||
|
override fun finishActivityIfReloadRequested() = false
|
||||||
|
|
||||||
|
override fun manageDatabaseInfo(): Boolean = false
|
||||||
|
|
||||||
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
|
super.onCreate(savedInstanceState)
|
||||||
|
entrySelectionViewModel.initialize()
|
||||||
|
lifecycleScope.launch {
|
||||||
|
// Initialize the parameters
|
||||||
|
entrySelectionViewModel.uiState.collect { uiState ->
|
||||||
|
when (uiState) {
|
||||||
|
is EntrySelectionViewModel.UIState.Loading -> {}
|
||||||
|
is EntrySelectionViewModel.UIState.PopulateKeyboard -> {
|
||||||
|
MagikeyboardService.addEntryAndLaunchNotificationIfAllowed(
|
||||||
|
context = this@EntrySelectionLauncherActivity,
|
||||||
|
entry = uiState.entryInfo,
|
||||||
|
toast = true
|
||||||
|
)
|
||||||
|
}
|
||||||
|
is EntrySelectionViewModel.UIState.LaunchFileDatabaseSelectForSearch -> {
|
||||||
|
FileDatabaseSelectActivity.launchForSearch(
|
||||||
|
context = this@EntrySelectionLauncherActivity,
|
||||||
|
searchInfo = uiState.searchInfo
|
||||||
|
)
|
||||||
|
finish()
|
||||||
|
}
|
||||||
|
is EntrySelectionViewModel.UIState.LaunchGroupActivityForSearch -> {
|
||||||
|
GroupActivity.launchForSearch(
|
||||||
|
context = this@EntrySelectionLauncherActivity,
|
||||||
|
database = uiState.database,
|
||||||
|
searchInfo = uiState.searchInfo
|
||||||
|
)
|
||||||
|
finish()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
lifecycleScope.launch {
|
||||||
|
// Retrieve the UI
|
||||||
|
entrySelectionViewModel.credentialUiState.collect { uiState ->
|
||||||
|
when (uiState) {
|
||||||
|
is CredentialLauncherViewModel.CredentialState.Loading -> {}
|
||||||
|
is CredentialLauncherViewModel.CredentialState.LaunchGroupActivityForSelection -> {
|
||||||
|
GroupActivity.launchForSelection(
|
||||||
|
context = this@EntrySelectionLauncherActivity,
|
||||||
|
database = uiState.database,
|
||||||
|
searchInfo = uiState.searchInfo,
|
||||||
|
typeMode = uiState.typeMode,
|
||||||
|
activityResultLauncher = mEntrySelectionActivityResultLauncher
|
||||||
|
)
|
||||||
|
}
|
||||||
|
is CredentialLauncherViewModel.CredentialState.LaunchGroupActivityForRegistration -> {
|
||||||
|
GroupActivity.launchForRegistration(
|
||||||
|
context = this@EntrySelectionLauncherActivity,
|
||||||
|
database = uiState.database,
|
||||||
|
registerInfo = uiState.registerInfo,
|
||||||
|
typeMode = uiState.typeMode,
|
||||||
|
activityResultLauncher = null // Null to not get any callback
|
||||||
|
)
|
||||||
|
finish()
|
||||||
|
}
|
||||||
|
is CredentialLauncherViewModel.CredentialState.LaunchFileDatabaseSelectActivityForSelection -> {
|
||||||
|
FileDatabaseSelectActivity.launchForSelection(
|
||||||
|
context = this@EntrySelectionLauncherActivity,
|
||||||
|
searchInfo = uiState.searchInfo,
|
||||||
|
typeMode = uiState.typeMode,
|
||||||
|
activityResultLauncher = mEntrySelectionActivityResultLauncher
|
||||||
|
)
|
||||||
|
}
|
||||||
|
is CredentialLauncherViewModel.CredentialState.LaunchFileDatabaseSelectActivityForRegistration -> {
|
||||||
|
FileDatabaseSelectActivity.launchForRegistration(
|
||||||
|
context = this@EntrySelectionLauncherActivity,
|
||||||
|
registerInfo = uiState.registerInfo,
|
||||||
|
typeMode = uiState.typeMode,
|
||||||
|
activityResultLauncher = null // Null to not get any callback
|
||||||
|
)
|
||||||
|
finish()
|
||||||
|
}
|
||||||
|
is CredentialLauncherViewModel.CredentialState.SetActivityResult -> {
|
||||||
|
setActivityResult(
|
||||||
|
lockDatabase = uiState.lockDatabase,
|
||||||
|
resultCode = uiState.resultCode,
|
||||||
|
data = uiState.data
|
||||||
|
)
|
||||||
|
}
|
||||||
|
is CredentialLauncherViewModel.CredentialState.ShowError -> {
|
||||||
|
toastError(uiState.error)
|
||||||
|
entrySelectionViewModel.cancelResult()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onUnknownDatabaseRetrieved(database: ContextualDatabase?) {
|
override fun onUnknownDatabaseRetrieved(database: ContextualDatabase?) {
|
||||||
super.onUnknownDatabaseRetrieved(database)
|
super.onUnknownDatabaseRetrieved(database)
|
||||||
|
entrySelectionViewModel.launchActionIfNeeded(intent, mSpecialMode, database)
|
||||||
val keySelectionBundle = intent.getBundleExtra(KEY_SELECTION_BUNDLE)
|
|
||||||
if (keySelectionBundle != null) {
|
|
||||||
// To manage package name
|
|
||||||
var searchInfo = SearchInfo()
|
|
||||||
keySelectionBundle.getParcelableCompat<SearchInfo>(KEY_SEARCH_INFO)?.let { mSearchInfo ->
|
|
||||||
searchInfo = mSearchInfo
|
|
||||||
}
|
|
||||||
launch(database, searchInfo)
|
|
||||||
} else {
|
|
||||||
// To manage share
|
|
||||||
var sharedWebDomain: String? = null
|
|
||||||
var otpString: String? = null
|
|
||||||
|
|
||||||
when (intent?.action) {
|
|
||||||
Intent.ACTION_SEND -> {
|
|
||||||
if ("text/plain" == intent.type) {
|
|
||||||
// Retrieve web domain or OTP
|
|
||||||
intent.getStringExtra(Intent.EXTRA_TEXT)?.let { extra ->
|
|
||||||
if (OtpEntryFields.isOTPUri(extra))
|
|
||||||
otpString = extra
|
|
||||||
else
|
|
||||||
sharedWebDomain = extra.toUri().host
|
|
||||||
}
|
|
||||||
}
|
|
||||||
launchSelection(database, sharedWebDomain, otpString)
|
|
||||||
}
|
|
||||||
Intent.ACTION_VIEW -> {
|
|
||||||
// Retrieve OTP
|
|
||||||
intent.dataString?.let { extra ->
|
|
||||||
if (OtpEntryFields.isOTPUri(extra))
|
|
||||||
otpString = extra
|
|
||||||
}
|
|
||||||
launchSelection(database, null, otpString)
|
|
||||||
}
|
|
||||||
else -> {
|
|
||||||
if (database != null) {
|
|
||||||
GroupActivity.launch(this, database)
|
|
||||||
} else {
|
|
||||||
FileDatabaseSelectActivity.launch(this)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
finish()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun launchSelection(database: ContextualDatabase?,
|
override fun onDestroy() {
|
||||||
sharedWebDomain: String?,
|
super.onDestroy()
|
||||||
otpString: String?) {
|
|
||||||
// Build domain search param
|
|
||||||
val searchInfo = SearchInfo().apply {
|
|
||||||
this.webDomain = sharedWebDomain
|
|
||||||
this.otpString = otpString
|
|
||||||
}
|
|
||||||
launch(database, searchInfo)
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun launch(database: ContextualDatabase?,
|
|
||||||
searchInfo: SearchInfo) {
|
|
||||||
|
|
||||||
// Setting to integrate Magikeyboard
|
|
||||||
val searchShareForMagikeyboard = isKeyboardActivatedInSettings()
|
|
||||||
|
|
||||||
// If database is open
|
|
||||||
val readOnly = database?.isReadOnly != false
|
|
||||||
SearchHelper.checkAutoSearchInfo(
|
|
||||||
context = this,
|
|
||||||
database = database,
|
|
||||||
searchInfo = searchInfo,
|
|
||||||
onItemsFound = { openedDatabase, items ->
|
|
||||||
// Items found
|
|
||||||
if (searchInfo.otpString != null) {
|
|
||||||
if (!readOnly) {
|
|
||||||
GroupActivity.launchForRegistration(
|
|
||||||
context = this,
|
|
||||||
activityResultLauncher = null,
|
|
||||||
database = openedDatabase,
|
|
||||||
registerInfo = searchInfo.toRegisterInfo(),
|
|
||||||
typeMode = TypeMode.DEFAULT
|
|
||||||
)
|
|
||||||
} else {
|
|
||||||
toastError(RegisterInReadOnlyDatabaseException())
|
|
||||||
}
|
|
||||||
} else if (searchShareForMagikeyboard) {
|
|
||||||
MagikeyboardService.performSelection(
|
|
||||||
items,
|
|
||||||
{ entryInfo ->
|
|
||||||
// Automatically populate keyboard
|
|
||||||
MagikeyboardService.populateKeyboardAndMoveAppToBackground(
|
|
||||||
this,
|
|
||||||
entryInfo
|
|
||||||
)
|
|
||||||
},
|
|
||||||
{ autoSearch ->
|
|
||||||
GroupActivity.launchForSelection(
|
|
||||||
context = this,
|
|
||||||
database = openedDatabase,
|
|
||||||
typeMode = TypeMode.MAGIKEYBOARD,
|
|
||||||
searchInfo = searchInfo,
|
|
||||||
autoSearch = autoSearch
|
|
||||||
)
|
|
||||||
}
|
|
||||||
)
|
|
||||||
} else {
|
|
||||||
GroupActivity.launchForSearchResult(
|
|
||||||
this,
|
|
||||||
openedDatabase,
|
|
||||||
searchInfo,
|
|
||||||
true
|
|
||||||
)
|
|
||||||
}
|
|
||||||
},
|
|
||||||
onItemNotFound = { openedDatabase ->
|
|
||||||
// Show the database UI to select the entry
|
|
||||||
if (searchInfo.otpString != null) {
|
|
||||||
if (!readOnly) {
|
|
||||||
GroupActivity.launchForRegistration(
|
|
||||||
context = this,
|
|
||||||
activityResultLauncher = null,
|
|
||||||
database = openedDatabase,
|
|
||||||
registerInfo = searchInfo.toRegisterInfo(),
|
|
||||||
typeMode = TypeMode.DEFAULT
|
|
||||||
)
|
|
||||||
} else {
|
|
||||||
toastError(RegisterInReadOnlyDatabaseException())
|
|
||||||
}
|
|
||||||
} else if (searchShareForMagikeyboard) {
|
|
||||||
GroupActivity.launchForSelection(
|
|
||||||
context = this,
|
|
||||||
database = openedDatabase,
|
|
||||||
typeMode = TypeMode.MAGIKEYBOARD,
|
|
||||||
searchInfo = searchInfo,
|
|
||||||
autoSearch = false
|
|
||||||
)
|
|
||||||
} else {
|
|
||||||
GroupActivity.launchForSearchResult(
|
|
||||||
this,
|
|
||||||
openedDatabase,
|
|
||||||
searchInfo,
|
|
||||||
false
|
|
||||||
)
|
|
||||||
}
|
|
||||||
},
|
|
||||||
onDatabaseClosed = {
|
|
||||||
// If database not open
|
|
||||||
if (searchInfo.otpString != null) {
|
|
||||||
FileDatabaseSelectActivity.launchForRegistration(
|
|
||||||
context = this,
|
|
||||||
activityResultLauncher = null,
|
|
||||||
registerInfo = searchInfo.toRegisterInfo(),
|
|
||||||
typeMode = TypeMode.DEFAULT
|
|
||||||
)
|
|
||||||
} else if (searchShareForMagikeyboard) {
|
|
||||||
FileDatabaseSelectActivity.launchForSelection(
|
|
||||||
context = this,
|
|
||||||
typeMode = TypeMode.MAGIKEYBOARD,
|
|
||||||
searchInfo = searchInfo
|
|
||||||
)
|
|
||||||
} else {
|
|
||||||
FileDatabaseSelectActivity.launchForSearchResult(
|
|
||||||
this,
|
|
||||||
searchInfo
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
|
|
||||||
private const val KEY_SELECTION_BUNDLE = "KEY_SELECTION_BUNDLE"
|
fun launch(
|
||||||
private const val KEY_SEARCH_INFO = "KEY_SEARCH_INFO"
|
context: Context,
|
||||||
|
searchInfo: SearchInfo? = null
|
||||||
fun launch(context: Context,
|
) {
|
||||||
searchInfo: SearchInfo? = null) {
|
context.startActivity(Intent(
|
||||||
val intent = Intent(context, EntrySelectionLauncherActivity::class.java).apply {
|
context,
|
||||||
putExtra(KEY_SELECTION_BUNDLE, Bundle().apply {
|
EntrySelectionLauncherActivity::class.java
|
||||||
putParcelable(KEY_SEARCH_INFO, searchInfo)
|
).apply {
|
||||||
})
|
addSearchInfo(searchInfo)
|
||||||
}
|
// New task needed because don't launch from an Activity context
|
||||||
// New task needed because don't launch from an Activity context
|
flags = Intent.FLAG_ACTIVITY_NEW_TASK or
|
||||||
intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK or
|
Intent.FLAG_ACTIVITY_CLEAR_TASK
|
||||||
Intent.FLAG_ACTIVITY_CLEAR_TASK
|
})
|
||||||
context.startActivity(intent)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -76,14 +76,14 @@ class HardwareKeyActivity: DatabaseModeActivity(){
|
|||||||
lifecycleScope.launch {
|
lifecycleScope.launch {
|
||||||
mHardwareKeyLauncherViewModel.credentialUiState.collect { uiState ->
|
mHardwareKeyLauncherViewModel.credentialUiState.collect { uiState ->
|
||||||
when (uiState) {
|
when (uiState) {
|
||||||
is CredentialLauncherViewModel.UIState.SetActivityResult -> {
|
is CredentialLauncherViewModel.CredentialState.SetActivityResult -> {
|
||||||
setActivityResult(
|
setActivityResult(
|
||||||
lockDatabase = uiState.lockDatabase,
|
lockDatabase = uiState.lockDatabase,
|
||||||
resultCode = uiState.resultCode,
|
resultCode = uiState.resultCode,
|
||||||
data = uiState.data
|
data = uiState.data
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
is CredentialLauncherViewModel.UIState.ShowError -> {
|
is CredentialLauncherViewModel.CredentialState.ShowError -> {
|
||||||
toastError(uiState.error)
|
toastError(uiState.error)
|
||||||
mHardwareKeyLauncherViewModel.cancelResult()
|
mHardwareKeyLauncherViewModel.cancelResult()
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -112,19 +112,19 @@ class PasskeyLauncherActivity : DatabaseLockActivity() {
|
|||||||
lifecycleScope.launch {
|
lifecycleScope.launch {
|
||||||
passkeyLauncherViewModel.credentialUiState.collect { uiState ->
|
passkeyLauncherViewModel.credentialUiState.collect { uiState ->
|
||||||
when (uiState) {
|
when (uiState) {
|
||||||
is CredentialLauncherViewModel.UIState.Loading -> {}
|
is CredentialLauncherViewModel.CredentialState.Loading -> {}
|
||||||
is CredentialLauncherViewModel.UIState.SetActivityResult -> {
|
is CredentialLauncherViewModel.CredentialState.SetActivityResult -> {
|
||||||
setActivityResult(
|
setActivityResult(
|
||||||
lockDatabase = uiState.lockDatabase,
|
lockDatabase = uiState.lockDatabase,
|
||||||
resultCode = uiState.resultCode,
|
resultCode = uiState.resultCode,
|
||||||
data = uiState.data
|
data = uiState.data
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
is CredentialLauncherViewModel.UIState.ShowError -> {
|
is CredentialLauncherViewModel.CredentialState.ShowError -> {
|
||||||
toastError(uiState.error)
|
toastError(uiState.error)
|
||||||
passkeyLauncherViewModel.cancelResult()
|
passkeyLauncherViewModel.cancelResult()
|
||||||
}
|
}
|
||||||
is CredentialLauncherViewModel.UIState.LaunchGroupActivityForSelection -> {
|
is CredentialLauncherViewModel.CredentialState.LaunchGroupActivityForSelection -> {
|
||||||
GroupActivity.launchForSelection(
|
GroupActivity.launchForSelection(
|
||||||
context = this@PasskeyLauncherActivity,
|
context = this@PasskeyLauncherActivity,
|
||||||
database = uiState.database,
|
database = uiState.database,
|
||||||
@@ -133,7 +133,7 @@ class PasskeyLauncherActivity : DatabaseLockActivity() {
|
|||||||
activityResultLauncher = mPasskeySelectionActivityResultLauncher
|
activityResultLauncher = mPasskeySelectionActivityResultLauncher
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
is CredentialLauncherViewModel.UIState.LaunchGroupActivityForRegistration -> {
|
is CredentialLauncherViewModel.CredentialState.LaunchGroupActivityForRegistration -> {
|
||||||
GroupActivity.launchForRegistration(
|
GroupActivity.launchForRegistration(
|
||||||
context = this@PasskeyLauncherActivity,
|
context = this@PasskeyLauncherActivity,
|
||||||
database = uiState.database,
|
database = uiState.database,
|
||||||
@@ -142,7 +142,7 @@ class PasskeyLauncherActivity : DatabaseLockActivity() {
|
|||||||
activityResultLauncher = mPasskeyRegistrationActivityResultLauncher
|
activityResultLauncher = mPasskeyRegistrationActivityResultLauncher
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
is CredentialLauncherViewModel.UIState.LaunchFileDatabaseSelectActivityForSelection -> {
|
is CredentialLauncherViewModel.CredentialState.LaunchFileDatabaseSelectActivityForSelection -> {
|
||||||
FileDatabaseSelectActivity.launchForSelection(
|
FileDatabaseSelectActivity.launchForSelection(
|
||||||
context = this@PasskeyLauncherActivity,
|
context = this@PasskeyLauncherActivity,
|
||||||
typeMode = uiState.typeMode,
|
typeMode = uiState.typeMode,
|
||||||
@@ -150,7 +150,7 @@ class PasskeyLauncherActivity : DatabaseLockActivity() {
|
|||||||
activityResultLauncher = mPasskeySelectionActivityResultLauncher
|
activityResultLauncher = mPasskeySelectionActivityResultLauncher
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
is CredentialLauncherViewModel.UIState.LaunchFileDatabaseSelectActivityForRegistration -> {
|
is CredentialLauncherViewModel.CredentialState.LaunchFileDatabaseSelectActivityForRegistration -> {
|
||||||
FileDatabaseSelectActivity.launchForRegistration(
|
FileDatabaseSelectActivity.launchForRegistration(
|
||||||
context = this@PasskeyLauncherActivity,
|
context = this@PasskeyLauncherActivity,
|
||||||
typeMode = uiState.typeMode,
|
typeMode = uiState.typeMode,
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ import android.content.Intent
|
|||||||
import android.graphics.BlendMode
|
import android.graphics.BlendMode
|
||||||
import android.graphics.drawable.Icon
|
import android.graphics.drawable.Icon
|
||||||
import android.os.Build
|
import android.os.Build
|
||||||
|
import android.os.Bundle
|
||||||
import android.service.autofill.Dataset
|
import android.service.autofill.Dataset
|
||||||
import android.service.autofill.Field
|
import android.service.autofill.Field
|
||||||
import android.service.autofill.FillResponse
|
import android.service.autofill.FillResponse
|
||||||
@@ -53,6 +54,7 @@ import com.kunzisoft.keepass.model.SearchInfo
|
|||||||
import com.kunzisoft.keepass.settings.AutofillSettingsActivity
|
import com.kunzisoft.keepass.settings.AutofillSettingsActivity
|
||||||
import com.kunzisoft.keepass.settings.PreferencesUtil
|
import com.kunzisoft.keepass.settings.PreferencesUtil
|
||||||
import com.kunzisoft.keepass.utils.AppUtil.randomRequestCode
|
import com.kunzisoft.keepass.utils.AppUtil.randomRequestCode
|
||||||
|
import com.kunzisoft.keepass.utils.getParcelableCompat
|
||||||
import com.kunzisoft.keepass.utils.getParcelableExtraCompat
|
import com.kunzisoft.keepass.utils.getParcelableExtraCompat
|
||||||
import java.io.IOException
|
import java.io.IOException
|
||||||
import kotlin.math.min
|
import kotlin.math.min
|
||||||
@@ -64,20 +66,50 @@ object AutofillHelper {
|
|||||||
private const val EXTRA_BASE_STRUCTURE = "com.kunzisoft.keepass.autofill.BASE_STRUCTURE"
|
private const val EXTRA_BASE_STRUCTURE = "com.kunzisoft.keepass.autofill.BASE_STRUCTURE"
|
||||||
private const val EXTRA_INLINE_SUGGESTIONS_REQUEST = "com.kunzisoft.keepass.autofill.INLINE_SUGGESTIONS_REQUEST"
|
private const val EXTRA_INLINE_SUGGESTIONS_REQUEST = "com.kunzisoft.keepass.autofill.INLINE_SUGGESTIONS_REQUEST"
|
||||||
|
|
||||||
fun Intent.addAutofillComponent(autofillComponent: AutofillComponent) {
|
fun Intent.addAutofillComponent(autofillComponent: AutofillComponent?): Intent {
|
||||||
this.putExtra(EXTRA_BASE_STRUCTURE, autofillComponent.assistStructure)
|
autofillComponent?.let {
|
||||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
|
this.putExtra(EXTRA_BASE_STRUCTURE, autofillComponent.assistStructure)
|
||||||
autofillComponent.compatInlineSuggestionsRequest?.let {
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
|
||||||
this.putExtra(EXTRA_INLINE_SUGGESTIONS_REQUEST, it)
|
autofillComponent.compatInlineSuggestionsRequest?.let {
|
||||||
|
this.putExtra(EXTRA_INLINE_SUGGESTIONS_REQUEST, it)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return this
|
||||||
}
|
}
|
||||||
|
|
||||||
fun Intent.retrieveAutofillComponent(): AutofillComponent? {
|
fun Intent.retrieveAutofillComponent(): AutofillComponent? {
|
||||||
getParcelableExtraCompat<AssistStructure>(EXTRA_BASE_STRUCTURE)?.let { assistStructure ->
|
this.getParcelableExtraCompat<AssistStructure>(EXTRA_BASE_STRUCTURE)?.let { assistStructure ->
|
||||||
return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
|
return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
|
||||||
AutofillComponent(assistStructure,
|
AutofillComponent(
|
||||||
getParcelableExtraCompat(EXTRA_INLINE_SUGGESTIONS_REQUEST))
|
assistStructure,
|
||||||
|
this.getParcelableExtraCompat(EXTRA_INLINE_SUGGESTIONS_REQUEST))
|
||||||
|
} else {
|
||||||
|
AutofillComponent(assistStructure, null)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null
|
||||||
|
}
|
||||||
|
|
||||||
|
fun Bundle.addAutofillComponent(autofillComponent: AutofillComponent?): Bundle {
|
||||||
|
autofillComponent?.let {
|
||||||
|
this.putParcelable(EXTRA_BASE_STRUCTURE, autofillComponent.assistStructure)
|
||||||
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
|
||||||
|
autofillComponent.compatInlineSuggestionsRequest?.let {
|
||||||
|
this.putParcelable(EXTRA_INLINE_SUGGESTIONS_REQUEST, it)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return this
|
||||||
|
}
|
||||||
|
|
||||||
|
fun Bundle.retrieveAutofillComponent(): AutofillComponent? {
|
||||||
|
this.getParcelableCompat<AssistStructure>(EXTRA_BASE_STRUCTURE)?.let { assistStructure ->
|
||||||
|
return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
|
||||||
|
AutofillComponent(
|
||||||
|
assistStructure,
|
||||||
|
this.getParcelableCompat(EXTRA_INLINE_SUGGESTIONS_REQUEST)
|
||||||
|
)
|
||||||
} else {
|
} else {
|
||||||
AutofillComponent(assistStructure, null)
|
AutofillComponent(assistStructure, null)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -462,9 +462,11 @@ class MagikeyboardService : InputMethodService(), KeyboardView.OnKeyboardActionL
|
|||||||
KeyboardEntryNotificationService.launchNotificationIfAllowed(context, entry, toast)
|
KeyboardEntryNotificationService.launchNotificationIfAllowed(context, entry, toast)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun performSelection(items: List<EntryInfo>,
|
fun performSelection(
|
||||||
actionPopulateKeyboard: (entryInfo: EntryInfo) -> Unit,
|
items: List<EntryInfo>,
|
||||||
actionEntrySelection: (autoSearch: Boolean) -> Unit) {
|
actionPopulateKeyboard: (entryInfo: EntryInfo) -> Unit,
|
||||||
|
actionEntrySelection: (autoSearch: Boolean) -> Unit
|
||||||
|
) {
|
||||||
EntrySelectionHelper.performSelection(
|
EntrySelectionHelper.performSelection(
|
||||||
items = items,
|
items = items,
|
||||||
actionPopulateCredentialProvider = { itemFound ->
|
actionPopulateCredentialProvider = { itemFound ->
|
||||||
@@ -478,15 +480,5 @@ class MagikeyboardService : InputMethodService(), KeyboardView.OnKeyboardActionL
|
|||||||
actionEntrySelection = actionEntrySelection
|
actionEntrySelection = actionEntrySelection
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun populateKeyboardAndMoveAppToBackground(activity: Activity,
|
|
||||||
entry: EntryInfo,
|
|
||||||
toast: Boolean = true) {
|
|
||||||
// Populate Magikeyboard with entry
|
|
||||||
addEntryAndLaunchNotificationIfAllowed(activity, entry, toast)
|
|
||||||
// Consume the selection mode
|
|
||||||
activity.intent.removeModes()
|
|
||||||
activity.moveTaskToBack(true)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -9,8 +9,7 @@ import android.util.Log
|
|||||||
import androidx.activity.result.ActivityResult
|
import androidx.activity.result.ActivityResult
|
||||||
import androidx.annotation.RequiresApi
|
import androidx.annotation.RequiresApi
|
||||||
import androidx.lifecycle.viewModelScope
|
import androidx.lifecycle.viewModelScope
|
||||||
import com.kunzisoft.keepass.credentialprovider.EntrySelectionHelper.removeNodesIds
|
import com.kunzisoft.keepass.credentialprovider.EntrySelectionHelper.retrieveAndRemoveEntries
|
||||||
import com.kunzisoft.keepass.credentialprovider.EntrySelectionHelper.retrieveNodesIds
|
|
||||||
import com.kunzisoft.keepass.credentialprovider.EntrySelectionHelper.retrieveRegisterInfo
|
import com.kunzisoft.keepass.credentialprovider.EntrySelectionHelper.retrieveRegisterInfo
|
||||||
import com.kunzisoft.keepass.credentialprovider.EntrySelectionHelper.retrieveSearchInfo
|
import com.kunzisoft.keepass.credentialprovider.EntrySelectionHelper.retrieveSearchInfo
|
||||||
import com.kunzisoft.keepass.credentialprovider.EntrySelectionHelper.retrieveSpecialMode
|
import com.kunzisoft.keepass.credentialprovider.EntrySelectionHelper.retrieveSpecialMode
|
||||||
@@ -21,7 +20,7 @@ import com.kunzisoft.keepass.credentialprovider.autofill.AutofillHelper
|
|||||||
import com.kunzisoft.keepass.credentialprovider.autofill.AutofillHelper.retrieveAutofillComponent
|
import com.kunzisoft.keepass.credentialprovider.autofill.AutofillHelper.retrieveAutofillComponent
|
||||||
import com.kunzisoft.keepass.credentialprovider.autofill.KeeAutofillService
|
import com.kunzisoft.keepass.credentialprovider.autofill.KeeAutofillService
|
||||||
import com.kunzisoft.keepass.database.ContextualDatabase
|
import com.kunzisoft.keepass.database.ContextualDatabase
|
||||||
import com.kunzisoft.keepass.database.element.node.NodeIdUUID
|
import com.kunzisoft.keepass.database.exception.RegisterInReadOnlyDatabaseException
|
||||||
import com.kunzisoft.keepass.database.helper.SearchHelper
|
import com.kunzisoft.keepass.database.helper.SearchHelper
|
||||||
import com.kunzisoft.keepass.model.RegisterInfo
|
import com.kunzisoft.keepass.model.RegisterInfo
|
||||||
import com.kunzisoft.keepass.model.SearchInfo
|
import com.kunzisoft.keepass.model.SearchInfo
|
||||||
@@ -119,7 +118,7 @@ class AutofillLauncherViewModel(application: Application): CredentialLauncherVie
|
|||||||
onItemNotFound = { openedDatabase ->
|
onItemNotFound = { openedDatabase ->
|
||||||
// Show the database UI to select the entry
|
// Show the database UI to select the entry
|
||||||
mCredentialUiState.value =
|
mCredentialUiState.value =
|
||||||
CredentialLauncherViewModel.UIState.LaunchGroupActivityForSelection(
|
CredentialState.LaunchGroupActivityForSelection(
|
||||||
database = openedDatabase,
|
database = openedDatabase,
|
||||||
searchInfo = searchInfo,
|
searchInfo = searchInfo,
|
||||||
typeMode = TypeMode.AUTOFILL
|
typeMode = TypeMode.AUTOFILL
|
||||||
@@ -128,7 +127,7 @@ class AutofillLauncherViewModel(application: Application): CredentialLauncherVie
|
|||||||
onDatabaseClosed = {
|
onDatabaseClosed = {
|
||||||
// If database not open
|
// If database not open
|
||||||
mCredentialUiState.value =
|
mCredentialUiState.value =
|
||||||
CredentialLauncherViewModel.UIState.LaunchFileDatabaseSelectActivityForSelection(
|
CredentialState.LaunchFileDatabaseSelectActivityForSelection(
|
||||||
searchInfo = searchInfo,
|
searchInfo = searchInfo,
|
||||||
typeMode = TypeMode.AUTOFILL
|
typeMode = TypeMode.AUTOFILL
|
||||||
)
|
)
|
||||||
@@ -156,17 +155,10 @@ class AutofillLauncherViewModel(application: Application): CredentialLauncherVie
|
|||||||
Log.d(TAG, "Autofill selection result")
|
Log.d(TAG, "Autofill selection result")
|
||||||
if (intent == null)
|
if (intent == null)
|
||||||
throw IOException("Intent is null")
|
throw IOException("Intent is null")
|
||||||
val nodesIds = intent.retrieveNodesIds()
|
val entries = intent.retrieveAndRemoveEntries(database)
|
||||||
?: throw IOException("NodesIds is null")
|
|
||||||
intent.removeNodesIds()
|
|
||||||
val autofillComponent = mAutofillComponent
|
val autofillComponent = mAutofillComponent
|
||||||
if (autofillComponent == null)
|
if (autofillComponent == null)
|
||||||
throw IOException("Autofill component is null")
|
throw IOException("Autofill component is null")
|
||||||
val entries = nodesIds.mapNotNull { nodeId ->
|
|
||||||
database
|
|
||||||
.getEntryById(NodeIdUUID(nodeId))
|
|
||||||
?.getEntryInfo(database)
|
|
||||||
}
|
|
||||||
withContext(Dispatchers.Main) {
|
withContext(Dispatchers.Main) {
|
||||||
AutofillHelper.buildResponse(
|
AutofillHelper.buildResponse(
|
||||||
context = getApplication(),
|
context = getApplication(),
|
||||||
@@ -211,32 +203,36 @@ class AutofillLauncherViewModel(application: Application): CredentialLauncherVie
|
|||||||
if (!readOnly) {
|
if (!readOnly) {
|
||||||
// Show the database UI to select the entry
|
// Show the database UI to select the entry
|
||||||
mCredentialUiState.value =
|
mCredentialUiState.value =
|
||||||
CredentialLauncherViewModel.UIState.LaunchGroupActivityForRegistration(
|
CredentialState.LaunchGroupActivityForRegistration(
|
||||||
database = openedDatabase,
|
database = openedDatabase,
|
||||||
registerInfo = registerInfo,
|
registerInfo = registerInfo,
|
||||||
typeMode = TypeMode.AUTOFILL
|
typeMode = TypeMode.AUTOFILL
|
||||||
)
|
)
|
||||||
} else {
|
} else {
|
||||||
mUiState.value = UIState.ShowReadOnlyMessage
|
mCredentialUiState.value = CredentialState.ShowError(
|
||||||
|
RegisterInReadOnlyDatabaseException()
|
||||||
|
)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
onItemNotFound = { openedDatabase ->
|
onItemNotFound = { openedDatabase ->
|
||||||
if (!readOnly) {
|
if (!readOnly) {
|
||||||
// Show the database UI to select the entry
|
// Show the database UI to select the entry
|
||||||
mCredentialUiState.value =
|
mCredentialUiState.value =
|
||||||
CredentialLauncherViewModel.UIState.LaunchGroupActivityForRegistration(
|
CredentialState.LaunchGroupActivityForRegistration(
|
||||||
database = openedDatabase,
|
database = openedDatabase,
|
||||||
registerInfo = registerInfo,
|
registerInfo = registerInfo,
|
||||||
typeMode = TypeMode.AUTOFILL
|
typeMode = TypeMode.AUTOFILL
|
||||||
)
|
)
|
||||||
} else {
|
} else {
|
||||||
mUiState.value = UIState.ShowReadOnlyMessage
|
mCredentialUiState.value = CredentialState.ShowError(
|
||||||
|
RegisterInReadOnlyDatabaseException()
|
||||||
|
)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
onDatabaseClosed = {
|
onDatabaseClosed = {
|
||||||
// If database not open
|
// If database not open
|
||||||
mCredentialUiState.value =
|
mCredentialUiState.value =
|
||||||
CredentialLauncherViewModel.UIState.LaunchFileDatabaseSelectActivityForRegistration(
|
CredentialState.LaunchFileDatabaseSelectActivityForRegistration(
|
||||||
registerInfo = registerInfo,
|
registerInfo = registerInfo,
|
||||||
typeMode = TypeMode.AUTOFILL
|
typeMode = TypeMode.AUTOFILL
|
||||||
)
|
)
|
||||||
@@ -274,7 +270,6 @@ class AutofillLauncherViewModel(application: Application): CredentialLauncherVie
|
|||||||
sealed class UIState {
|
sealed class UIState {
|
||||||
object Loading: UIState()
|
object Loading: UIState()
|
||||||
object ShowBlockRestartMessage: UIState()
|
object ShowBlockRestartMessage: UIState()
|
||||||
object ShowReadOnlyMessage: UIState()
|
|
||||||
object ShowAutofillSuggestionMessage: UIState()
|
object ShowAutofillSuggestionMessage: UIState()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -25,12 +25,12 @@ abstract class CredentialLauncherViewModel(application: Application): AndroidVie
|
|||||||
protected var isResultLauncherRegistered: Boolean = false
|
protected var isResultLauncherRegistered: Boolean = false
|
||||||
private var mSelectionResult: ActivityResult? = null
|
private var mSelectionResult: ActivityResult? = null
|
||||||
|
|
||||||
protected val mCredentialUiState = MutableStateFlow<UIState>(UIState.Loading)
|
protected val mCredentialUiState = MutableStateFlow<CredentialState>(CredentialState.Loading)
|
||||||
val credentialUiState: StateFlow<UIState> = mCredentialUiState
|
val credentialUiState: StateFlow<CredentialState> = mCredentialUiState
|
||||||
|
|
||||||
fun showError(error: Throwable) {
|
fun showError(error: Throwable) {
|
||||||
Log.e(TAG, "Error on credential provider launch", error)
|
Log.e(TAG, "Error on credential provider launch", error)
|
||||||
mCredentialUiState.value = UIState.ShowError(error)
|
mCredentialUiState.value = CredentialState.ShowError(error)
|
||||||
}
|
}
|
||||||
|
|
||||||
open fun onResult() {
|
open fun onResult() {
|
||||||
@@ -41,7 +41,7 @@ abstract class CredentialLauncherViewModel(application: Application): AndroidVie
|
|||||||
fun setResult(intent: Intent, lockDatabase: Boolean = false) {
|
fun setResult(intent: Intent, lockDatabase: Boolean = false) {
|
||||||
// Remove the launcher register
|
// Remove the launcher register
|
||||||
onResult()
|
onResult()
|
||||||
mCredentialUiState.value = UIState.SetActivityResult(
|
mCredentialUiState.value = CredentialState.SetActivityResult(
|
||||||
lockDatabase = lockDatabase,
|
lockDatabase = lockDatabase,
|
||||||
resultCode = RESULT_OK,
|
resultCode = RESULT_OK,
|
||||||
data = intent
|
data = intent
|
||||||
@@ -50,7 +50,7 @@ abstract class CredentialLauncherViewModel(application: Application): AndroidVie
|
|||||||
|
|
||||||
fun cancelResult(lockDatabase: Boolean = false) {
|
fun cancelResult(lockDatabase: Boolean = false) {
|
||||||
onResult()
|
onResult()
|
||||||
mCredentialUiState.value = UIState.SetActivityResult(
|
mCredentialUiState.value = CredentialState.SetActivityResult(
|
||||||
lockDatabase = lockDatabase,
|
lockDatabase = lockDatabase,
|
||||||
resultCode = RESULT_CANCELED
|
resultCode = RESULT_CANCELED
|
||||||
)
|
)
|
||||||
@@ -115,34 +115,34 @@ abstract class CredentialLauncherViewModel(application: Application): AndroidVie
|
|||||||
database: ContextualDatabase?
|
database: ContextualDatabase?
|
||||||
)
|
)
|
||||||
|
|
||||||
sealed class UIState {
|
sealed class CredentialState {
|
||||||
object Loading : UIState()
|
object Loading : CredentialState()
|
||||||
data class LaunchGroupActivityForSelection(
|
data class LaunchGroupActivityForSelection(
|
||||||
val database: ContextualDatabase,
|
val database: ContextualDatabase,
|
||||||
val searchInfo: SearchInfo?,
|
val searchInfo: SearchInfo?,
|
||||||
val typeMode: TypeMode
|
val typeMode: TypeMode
|
||||||
): UIState()
|
): CredentialState()
|
||||||
data class LaunchGroupActivityForRegistration(
|
data class LaunchGroupActivityForRegistration(
|
||||||
val database: ContextualDatabase,
|
val database: ContextualDatabase,
|
||||||
val registerInfo: RegisterInfo?,
|
val registerInfo: RegisterInfo?,
|
||||||
val typeMode: TypeMode
|
val typeMode: TypeMode
|
||||||
): UIState()
|
): CredentialState()
|
||||||
data class LaunchFileDatabaseSelectActivityForSelection(
|
data class LaunchFileDatabaseSelectActivityForSelection(
|
||||||
val searchInfo: SearchInfo?,
|
val searchInfo: SearchInfo?,
|
||||||
val typeMode: TypeMode
|
val typeMode: TypeMode
|
||||||
): UIState()
|
): CredentialState()
|
||||||
data class LaunchFileDatabaseSelectActivityForRegistration(
|
data class LaunchFileDatabaseSelectActivityForRegistration(
|
||||||
val registerInfo: RegisterInfo?,
|
val registerInfo: RegisterInfo?,
|
||||||
val typeMode: TypeMode
|
val typeMode: TypeMode
|
||||||
): UIState()
|
): CredentialState()
|
||||||
data class SetActivityResult(
|
data class SetActivityResult(
|
||||||
val lockDatabase: Boolean,
|
val lockDatabase: Boolean,
|
||||||
val resultCode: Int,
|
val resultCode: Int,
|
||||||
val data: Intent? = null
|
val data: Intent? = null
|
||||||
): UIState()
|
): CredentialState()
|
||||||
data class ShowError(
|
data class ShowError(
|
||||||
val error: Throwable
|
val error: Throwable
|
||||||
): UIState()
|
): CredentialState()
|
||||||
}
|
}
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
|
|||||||
@@ -0,0 +1,297 @@
|
|||||||
|
package com.kunzisoft.keepass.credentialprovider.viewmodel
|
||||||
|
|
||||||
|
import android.app.Activity.RESULT_CANCELED
|
||||||
|
import android.app.Activity.RESULT_OK
|
||||||
|
import android.app.Application
|
||||||
|
import android.content.Intent
|
||||||
|
import android.util.Log
|
||||||
|
import androidx.activity.result.ActivityResult
|
||||||
|
import androidx.core.net.toUri
|
||||||
|
import androidx.lifecycle.viewModelScope
|
||||||
|
import com.kunzisoft.keepass.credentialprovider.EntrySelectionHelper.retrieveAndRemoveEntries
|
||||||
|
import com.kunzisoft.keepass.credentialprovider.EntrySelectionHelper.retrieveNodeId
|
||||||
|
import com.kunzisoft.keepass.credentialprovider.EntrySelectionHelper.retrieveSearchInfo
|
||||||
|
import com.kunzisoft.keepass.credentialprovider.SpecialMode
|
||||||
|
import com.kunzisoft.keepass.credentialprovider.TypeMode
|
||||||
|
import com.kunzisoft.keepass.credentialprovider.magikeyboard.MagikeyboardService
|
||||||
|
import com.kunzisoft.keepass.database.ContextualDatabase
|
||||||
|
import com.kunzisoft.keepass.database.exception.RegisterInReadOnlyDatabaseException
|
||||||
|
import com.kunzisoft.keepass.database.helper.SearchHelper
|
||||||
|
import com.kunzisoft.keepass.model.EntryInfo
|
||||||
|
import com.kunzisoft.keepass.model.SearchInfo
|
||||||
|
import com.kunzisoft.keepass.otp.OtpEntryFields
|
||||||
|
import com.kunzisoft.keepass.utils.KeyboardUtil.isKeyboardActivatedInSettings
|
||||||
|
import kotlinx.coroutines.CoroutineExceptionHandler
|
||||||
|
import kotlinx.coroutines.Dispatchers
|
||||||
|
import kotlinx.coroutines.flow.MutableStateFlow
|
||||||
|
import kotlinx.coroutines.flow.StateFlow
|
||||||
|
import kotlinx.coroutines.launch
|
||||||
|
import kotlinx.coroutines.withContext
|
||||||
|
import java.io.IOException
|
||||||
|
|
||||||
|
class EntrySelectionViewModel(application: Application): CredentialLauncherViewModel(application) {
|
||||||
|
|
||||||
|
private var searchShareForMagikeyboard: Boolean = false
|
||||||
|
private var mLockDatabaseAfterSelection: Boolean = false
|
||||||
|
private val mUiState = MutableStateFlow<UIState>(UIState.Loading)
|
||||||
|
val uiState: StateFlow<UIState> = mUiState
|
||||||
|
|
||||||
|
fun initialize() {
|
||||||
|
searchShareForMagikeyboard = getApplication<Application>().isKeyboardActivatedInSettings()
|
||||||
|
mLockDatabaseAfterSelection = false // TODO Close database after selection
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun launchActionIfNeeded(
|
||||||
|
intent: Intent,
|
||||||
|
specialMode: SpecialMode,
|
||||||
|
database: ContextualDatabase?
|
||||||
|
) {
|
||||||
|
// Launch with database when a nodeId is present
|
||||||
|
if ((database != null && database.loaded) || intent.retrieveNodeId() == null) {
|
||||||
|
super.launchActionIfNeeded(intent, specialMode, database)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
override suspend fun launchAction(
|
||||||
|
intent: Intent,
|
||||||
|
specialMode: SpecialMode,
|
||||||
|
database: ContextualDatabase?
|
||||||
|
) {
|
||||||
|
val searchInfo: SearchInfo? = intent.retrieveSearchInfo()
|
||||||
|
if (searchInfo != null) {
|
||||||
|
launch(database, searchInfo)
|
||||||
|
} else {
|
||||||
|
// To manage share
|
||||||
|
var sharedWebDomain: String? = null
|
||||||
|
var otpString: String? = null
|
||||||
|
|
||||||
|
when (intent.action) {
|
||||||
|
Intent.ACTION_SEND -> {
|
||||||
|
if ("text/plain" == intent.type) {
|
||||||
|
// Retrieve web domain or OTP
|
||||||
|
intent.getStringExtra(Intent.EXTRA_TEXT)?.let { extra ->
|
||||||
|
if (OtpEntryFields.isOTPUri(extra))
|
||||||
|
otpString = extra
|
||||||
|
else
|
||||||
|
sharedWebDomain = extra.toUri().host
|
||||||
|
}
|
||||||
|
}
|
||||||
|
launchSelection(database, sharedWebDomain, otpString)
|
||||||
|
}
|
||||||
|
Intent.ACTION_VIEW -> {
|
||||||
|
// Retrieve OTP
|
||||||
|
intent.dataString?.let { extra ->
|
||||||
|
if (OtpEntryFields.isOTPUri(extra))
|
||||||
|
otpString = extra
|
||||||
|
}
|
||||||
|
launchSelection(database, null, otpString)
|
||||||
|
}
|
||||||
|
else -> {
|
||||||
|
if (database != null && database.loaded) {
|
||||||
|
mUiState.value = UIState.LaunchGroupActivityForSearch(
|
||||||
|
database = database,
|
||||||
|
searchInfo = SearchInfo()
|
||||||
|
)
|
||||||
|
} else {
|
||||||
|
mUiState.value = UIState.LaunchFileDatabaseSelectForSearch(
|
||||||
|
searchInfo = SearchInfo()
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// -------------
|
||||||
|
// Selection
|
||||||
|
// -------------
|
||||||
|
|
||||||
|
private fun launchSelection(
|
||||||
|
database: ContextualDatabase?,
|
||||||
|
sharedWebDomain: String?,
|
||||||
|
otpString: String?
|
||||||
|
) {
|
||||||
|
// Build domain search param
|
||||||
|
val searchInfo = SearchInfo().apply {
|
||||||
|
this.webDomain = sharedWebDomain
|
||||||
|
this.otpString = otpString
|
||||||
|
}
|
||||||
|
launch(database, searchInfo)
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun launch(
|
||||||
|
database: ContextualDatabase?,
|
||||||
|
searchInfo: SearchInfo
|
||||||
|
) {
|
||||||
|
// If database is open
|
||||||
|
val readOnly = database?.isReadOnly != false
|
||||||
|
SearchHelper.checkAutoSearchInfo(
|
||||||
|
context = getApplication(),
|
||||||
|
database = database,
|
||||||
|
searchInfo = searchInfo,
|
||||||
|
onItemsFound = { openedDatabase, items ->
|
||||||
|
// Items found
|
||||||
|
if (searchInfo.otpString != null) {
|
||||||
|
if (!readOnly) {
|
||||||
|
mCredentialUiState.value =
|
||||||
|
CredentialState.LaunchGroupActivityForRegistration(
|
||||||
|
database = openedDatabase,
|
||||||
|
registerInfo = searchInfo.toRegisterInfo(),
|
||||||
|
typeMode = TypeMode.DEFAULT
|
||||||
|
)
|
||||||
|
} else {
|
||||||
|
mCredentialUiState.value = CredentialState.ShowError(
|
||||||
|
RegisterInReadOnlyDatabaseException()
|
||||||
|
)
|
||||||
|
}
|
||||||
|
} else if (searchShareForMagikeyboard) {
|
||||||
|
MagikeyboardService.performSelection(
|
||||||
|
items,
|
||||||
|
{ entryInfo ->
|
||||||
|
populateKeyboard(entryInfo)
|
||||||
|
},
|
||||||
|
{ autoSearch ->
|
||||||
|
mCredentialUiState.value = CredentialState.LaunchGroupActivityForSelection(
|
||||||
|
database = openedDatabase,
|
||||||
|
searchInfo = searchInfo,
|
||||||
|
typeMode = TypeMode.MAGIKEYBOARD
|
||||||
|
)
|
||||||
|
}
|
||||||
|
)
|
||||||
|
} else {
|
||||||
|
mUiState.value = UIState.LaunchGroupActivityForSearch(
|
||||||
|
database = openedDatabase,
|
||||||
|
searchInfo = searchInfo
|
||||||
|
)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
onItemNotFound = { openedDatabase ->
|
||||||
|
// Show the database UI to select the entry
|
||||||
|
if (searchInfo.otpString != null) {
|
||||||
|
if (!readOnly) {
|
||||||
|
mCredentialUiState.value =
|
||||||
|
CredentialState.LaunchGroupActivityForRegistration(
|
||||||
|
database = openedDatabase,
|
||||||
|
registerInfo = searchInfo.toRegisterInfo(),
|
||||||
|
typeMode = TypeMode.DEFAULT
|
||||||
|
)
|
||||||
|
} else {
|
||||||
|
mCredentialUiState.value = CredentialState.ShowError(
|
||||||
|
RegisterInReadOnlyDatabaseException()
|
||||||
|
)
|
||||||
|
}
|
||||||
|
} else if (searchShareForMagikeyboard) {
|
||||||
|
mCredentialUiState.value = CredentialState.LaunchGroupActivityForSelection(
|
||||||
|
database = openedDatabase,
|
||||||
|
searchInfo = searchInfo,
|
||||||
|
typeMode = TypeMode.MAGIKEYBOARD
|
||||||
|
)
|
||||||
|
} else {
|
||||||
|
mUiState.value = UIState.LaunchGroupActivityForSearch(
|
||||||
|
database = openedDatabase,
|
||||||
|
searchInfo = searchInfo
|
||||||
|
)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
onDatabaseClosed = {
|
||||||
|
// If database not open
|
||||||
|
if (searchInfo.otpString != null) {
|
||||||
|
mCredentialUiState.value = CredentialState.LaunchFileDatabaseSelectActivityForRegistration(
|
||||||
|
registerInfo = searchInfo.toRegisterInfo(),
|
||||||
|
typeMode = TypeMode.DEFAULT
|
||||||
|
)
|
||||||
|
} else if (searchShareForMagikeyboard) {
|
||||||
|
mCredentialUiState.value = CredentialState.LaunchFileDatabaseSelectActivityForSelection(
|
||||||
|
searchInfo = searchInfo,
|
||||||
|
typeMode = TypeMode.MAGIKEYBOARD
|
||||||
|
)
|
||||||
|
} else {
|
||||||
|
mUiState.value = UIState.LaunchFileDatabaseSelectForSearch(
|
||||||
|
searchInfo = searchInfo
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun populateKeyboard(entryInfo: EntryInfo) {
|
||||||
|
// Automatically populate keyboard
|
||||||
|
mUiState.value = UIState.PopulateKeyboard(entryInfo)
|
||||||
|
setResult(Intent(), lockDatabase = mLockDatabaseAfterSelection)
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun manageSelectionResult(
|
||||||
|
database: ContextualDatabase,
|
||||||
|
activityResult: ActivityResult
|
||||||
|
) {
|
||||||
|
super.manageSelectionResult(database, activityResult)
|
||||||
|
val intent = activityResult.data
|
||||||
|
viewModelScope.launch(CoroutineExceptionHandler { _, e ->
|
||||||
|
Log.e(TAG, "Unable to create selection response for Magikeyboard", e)
|
||||||
|
showError(e)
|
||||||
|
}) {
|
||||||
|
when (activityResult.resultCode) {
|
||||||
|
RESULT_OK -> {
|
||||||
|
withContext(Dispatchers.IO) {
|
||||||
|
Log.d(TAG, "Magikeyboard selection result")
|
||||||
|
if (intent == null)
|
||||||
|
throw IOException("Intent is null")
|
||||||
|
val entries = intent.retrieveAndRemoveEntries(database)
|
||||||
|
withContext(Dispatchers.Main) {
|
||||||
|
// Populate Magikeyboard with entry
|
||||||
|
entries.firstOrNull()?.let { entryInfo ->
|
||||||
|
populateKeyboard(entryInfo)
|
||||||
|
} // TODO Manage multiple entries in Magikeyboard
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
RESULT_CANCELED -> {
|
||||||
|
withContext(Dispatchers.Main) {
|
||||||
|
cancelResult()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun manageRegistrationResult(activityResult: ActivityResult) {
|
||||||
|
super.manageRegistrationResult(activityResult)
|
||||||
|
viewModelScope.launch(CoroutineExceptionHandler { _, e ->
|
||||||
|
Log.e(TAG, "Unable to create selection response for Magikeyboard", e)
|
||||||
|
showError(e)
|
||||||
|
}) {
|
||||||
|
when (activityResult.resultCode) {
|
||||||
|
RESULT_OK -> {
|
||||||
|
// Empty data result
|
||||||
|
// TODO Show Toast indicating value is saved
|
||||||
|
withContext(Dispatchers.Main) {
|
||||||
|
setResult(Intent(), lockDatabase = false)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
RESULT_CANCELED -> {
|
||||||
|
withContext(Dispatchers.Main) {
|
||||||
|
cancelResult()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
sealed class UIState {
|
||||||
|
object Loading: UIState()
|
||||||
|
data class PopulateKeyboard(
|
||||||
|
val entryInfo: EntryInfo
|
||||||
|
): UIState()
|
||||||
|
data class LaunchFileDatabaseSelectForSearch(
|
||||||
|
val searchInfo: SearchInfo
|
||||||
|
): UIState()
|
||||||
|
data class LaunchGroupActivityForSearch(
|
||||||
|
val database: ContextualDatabase,
|
||||||
|
val searchInfo: SearchInfo
|
||||||
|
): UIState()
|
||||||
|
}
|
||||||
|
|
||||||
|
companion object {
|
||||||
|
private val TAG = EntrySelectionViewModel::class.java.name
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -238,7 +238,7 @@ class PasskeyLauncherViewModel(application: Application): CredentialLauncherView
|
|||||||
"launch manual selection in opened database"
|
"launch manual selection in opened database"
|
||||||
)
|
)
|
||||||
mCredentialUiState.value =
|
mCredentialUiState.value =
|
||||||
CredentialLauncherViewModel.UIState.LaunchGroupActivityForSelection(
|
CredentialState.LaunchGroupActivityForSelection(
|
||||||
database = openedDatabase,
|
database = openedDatabase,
|
||||||
searchInfo = searchInfo,
|
searchInfo = searchInfo,
|
||||||
typeMode = TypeMode.PASSKEY
|
typeMode = TypeMode.PASSKEY
|
||||||
@@ -247,7 +247,7 @@ class PasskeyLauncherViewModel(application: Application): CredentialLauncherView
|
|||||||
onDatabaseClosed = {
|
onDatabaseClosed = {
|
||||||
Log.d(TAG, "Manual passkey selection in closed database")
|
Log.d(TAG, "Manual passkey selection in closed database")
|
||||||
mCredentialUiState.value =
|
mCredentialUiState.value =
|
||||||
CredentialLauncherViewModel.UIState.LaunchFileDatabaseSelectActivityForSelection(
|
CredentialState.LaunchFileDatabaseSelectActivityForSelection(
|
||||||
searchInfo = searchInfo,
|
searchInfo = searchInfo,
|
||||||
typeMode = TypeMode.PASSKEY
|
typeMode = TypeMode.PASSKEY
|
||||||
)
|
)
|
||||||
@@ -426,7 +426,7 @@ class PasskeyLauncherViewModel(application: Application): CredentialLauncherView
|
|||||||
"but launch manual registration for a new entry"
|
"but launch manual registration for a new entry"
|
||||||
)
|
)
|
||||||
mCredentialUiState.value =
|
mCredentialUiState.value =
|
||||||
CredentialLauncherViewModel.UIState.LaunchGroupActivityForRegistration(
|
CredentialState.LaunchGroupActivityForRegistration(
|
||||||
database = openedDatabase,
|
database = openedDatabase,
|
||||||
registerInfo = registerInfo,
|
registerInfo = registerInfo,
|
||||||
typeMode = TypeMode.PASSKEY
|
typeMode = TypeMode.PASSKEY
|
||||||
@@ -435,7 +435,7 @@ class PasskeyLauncherViewModel(application: Application): CredentialLauncherView
|
|||||||
onItemNotFound = { openedDatabase ->
|
onItemNotFound = { openedDatabase ->
|
||||||
Log.d(TAG, "Launch new manual registration in opened database")
|
Log.d(TAG, "Launch new manual registration in opened database")
|
||||||
mCredentialUiState.value =
|
mCredentialUiState.value =
|
||||||
CredentialLauncherViewModel.UIState.LaunchGroupActivityForRegistration(
|
CredentialState.LaunchGroupActivityForRegistration(
|
||||||
database = openedDatabase,
|
database = openedDatabase,
|
||||||
registerInfo = registerInfo,
|
registerInfo = registerInfo,
|
||||||
typeMode = TypeMode.PASSKEY
|
typeMode = TypeMode.PASSKEY
|
||||||
@@ -444,7 +444,7 @@ class PasskeyLauncherViewModel(application: Application): CredentialLauncherView
|
|||||||
onDatabaseClosed = {
|
onDatabaseClosed = {
|
||||||
Log.d(TAG, "Manual passkey registration in closed database")
|
Log.d(TAG, "Manual passkey registration in closed database")
|
||||||
mCredentialUiState.value =
|
mCredentialUiState.value =
|
||||||
CredentialLauncherViewModel.UIState.LaunchFileDatabaseSelectActivityForRegistration(
|
CredentialState.LaunchFileDatabaseSelectActivityForRegistration(
|
||||||
registerInfo = registerInfo,
|
registerInfo = registerInfo,
|
||||||
typeMode = TypeMode.PASSKEY
|
typeMode = TypeMode.PASSKEY
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -121,7 +121,6 @@ class DatabaseTaskProvider(
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun initServiceConnection() {
|
private fun initServiceConnection() {
|
||||||
actionTaskListener?.onActionStopped()
|
|
||||||
if (serviceConnection == null) {
|
if (serviceConnection == null) {
|
||||||
serviceConnection = object : ServiceConnection {
|
serviceConnection = object : ServiceConnection {
|
||||||
override fun onBindingDied(name: ComponentName?) {
|
override fun onBindingDied(name: ComponentName?) {
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import androidx.annotation.StringRes
|
|||||||
|
|
||||||
data class ProgressMessage(
|
data class ProgressMessage(
|
||||||
@StringRes
|
@StringRes
|
||||||
var titleId: Int,
|
var titleId: Int? = null,
|
||||||
@StringRes
|
@StringRes
|
||||||
var messageId: Int? = null,
|
var messageId: Int? = null,
|
||||||
@StringRes
|
@StringRes
|
||||||
|
|||||||
@@ -165,7 +165,7 @@ class AttachmentFileNotificationService: LockNotificationService() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (attachmentNotificationList.isEmpty()) {
|
if (attachmentNotificationList.isEmpty()) {
|
||||||
stopSelf()
|
stopService()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -62,7 +62,7 @@ class ClipboardEntryNotificationService : LockNotificationService() {
|
|||||||
sendBroadcast(Intent(LOCK_ACTION))
|
sendBroadcast(Intent(LOCK_ACTION))
|
||||||
}
|
}
|
||||||
// Stop the service
|
// Stop the service
|
||||||
stopSelf()
|
stopService()
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int {
|
override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int {
|
||||||
|
|||||||
@@ -262,11 +262,12 @@ open class DatabaseTaskNotificationService : LockNotificationService(), Progress
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
/* Do not stopped here, service cannot be connected
|
||||||
mActionTaskListeners.forEach { actionTaskListener ->
|
mActionTaskListeners.forEach { actionTaskListener ->
|
||||||
actionTaskListener.onActionStopped(
|
actionTaskListener.onActionStopped(
|
||||||
database
|
database
|
||||||
)
|
)
|
||||||
}
|
}*/
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -338,7 +339,7 @@ open class DatabaseTaskNotificationService : LockNotificationService(), Progress
|
|||||||
val intentAction = intent?.action
|
val intentAction = intent?.action
|
||||||
|
|
||||||
if (intentAction == null && !database.loaded) {
|
if (intentAction == null && !database.loaded) {
|
||||||
stopSelf()
|
stopService()
|
||||||
}
|
}
|
||||||
|
|
||||||
val actionRunnable: ActionRunnable? = when (intentAction) {
|
val actionRunnable: ActionRunnable? = when (intentAction) {
|
||||||
@@ -447,10 +448,10 @@ open class DatabaseTaskNotificationService : LockNotificationService(), Progress
|
|||||||
TimeoutHelper.releaseTemporarilyDisableTimeout()
|
TimeoutHelper.releaseTemporarilyDisableTimeout()
|
||||||
// Stop service after save if user remove task
|
// Stop service after save if user remove task
|
||||||
if (save && mTaskRemovedRequested) {
|
if (save && mTaskRemovedRequested) {
|
||||||
actionOnLock()
|
stopService()
|
||||||
} else if (TimeoutHelper.checkTimeAndLockIfTimeout(this@DatabaseTaskNotificationService)) {
|
} else if (TimeoutHelper.checkTimeAndLockIfTimeout(this@DatabaseTaskNotificationService)) {
|
||||||
if (!database.loaded) {
|
if (!database.loaded) {
|
||||||
stopSelf()
|
stopService()
|
||||||
} else {
|
} else {
|
||||||
// Restart the service to open lock notification
|
// Restart the service to open lock notification
|
||||||
try {
|
try {
|
||||||
@@ -535,11 +536,10 @@ open class DatabaseTaskNotificationService : LockNotificationService(), Progress
|
|||||||
|
|
||||||
val notificationBuilder = buildNewNotification().apply {
|
val notificationBuilder = buildNewNotification().apply {
|
||||||
setSmallIcon(iconId)
|
setSmallIcon(iconId)
|
||||||
intent?.let {
|
val titleId = mProgressMessage.titleId?.let {
|
||||||
setContentTitle(getString(
|
intent?.getIntExtra(DATABASE_TASK_TITLE_KEY, it)
|
||||||
intent.getIntExtra(DATABASE_TASK_TITLE_KEY, mProgressMessage.titleId))
|
} ?: R.string.app_name
|
||||||
)
|
setContentTitle(getString(titleId))
|
||||||
}
|
|
||||||
setAutoCancel(false)
|
setAutoCancel(false)
|
||||||
setContentIntent(null)
|
setContentIntent(null)
|
||||||
}
|
}
|
||||||
@@ -661,7 +661,9 @@ open class DatabaseTaskNotificationService : LockNotificationService(), Progress
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun updateMessage(resId: Int) {
|
private fun updateMessage(resId: Int) {
|
||||||
mProgressMessage.messageId = resId
|
mProgressMessage = mProgressMessage.copy(
|
||||||
|
messageId = resId
|
||||||
|
)
|
||||||
notifyProgressMessage()
|
notifyProgressMessage()
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -673,7 +675,7 @@ open class DatabaseTaskNotificationService : LockNotificationService(), Progress
|
|||||||
updateMessage(R.string.decrypting_db)
|
updateMessage(R.string.decrypting_db)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun actionOnLock() {
|
override fun stopService() {
|
||||||
if (!TimeoutHelper.temporarilyDisableLock) {
|
if (!TimeoutHelper.temporarilyDisableLock) {
|
||||||
closeDatabase(mDatabase)
|
closeDatabase(mDatabase)
|
||||||
// Remove the database during the lock
|
// Remove the database during the lock
|
||||||
@@ -685,7 +687,7 @@ open class DatabaseTaskNotificationService : LockNotificationService(), Progress
|
|||||||
// Remove the lock timer (no more needed if it exists)
|
// Remove the lock timer (no more needed if it exists)
|
||||||
TimeoutHelper.cancelLockTimer(this)
|
TimeoutHelper.cancelLockTimer(this)
|
||||||
// Service is stopped after receive the broadcast
|
// Service is stopped after receive the broadcast
|
||||||
super.actionOnLock()
|
super.stopService()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -729,7 +731,9 @@ open class DatabaseTaskNotificationService : LockNotificationService(), Progress
|
|||||||
// Close channels
|
// Close channels
|
||||||
closeChallengeResponse()
|
closeChallengeResponse()
|
||||||
// Restore previous message
|
// Restore previous message
|
||||||
mProgressMessage = previousMessage
|
mProgressMessage = previousMessage.apply {
|
||||||
|
cancelable = null
|
||||||
|
}
|
||||||
notifyProgressMessage()
|
notifyProgressMessage()
|
||||||
}
|
}
|
||||||
return response
|
return response
|
||||||
|
|||||||
@@ -55,7 +55,7 @@ class KeyboardEntryNotificationService : LockNotificationService() {
|
|||||||
sendBroadcast(Intent(LOCK_ACTION))
|
sendBroadcast(Intent(LOCK_ACTION))
|
||||||
}
|
}
|
||||||
// Stop the service
|
// Stop the service
|
||||||
stopSelf()
|
stopService()
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int {
|
override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int {
|
||||||
|
|||||||
@@ -20,7 +20,6 @@
|
|||||||
package com.kunzisoft.keepass.services
|
package com.kunzisoft.keepass.services
|
||||||
|
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import androidx.core.app.ServiceCompat
|
|
||||||
import com.kunzisoft.keepass.timeout.TimeoutHelper
|
import com.kunzisoft.keepass.timeout.TimeoutHelper
|
||||||
import com.kunzisoft.keepass.utils.LockReceiver
|
import com.kunzisoft.keepass.utils.LockReceiver
|
||||||
import com.kunzisoft.keepass.utils.registerLockReceiver
|
import com.kunzisoft.keepass.utils.registerLockReceiver
|
||||||
@@ -29,13 +28,7 @@ import com.kunzisoft.keepass.utils.unregisterLockReceiver
|
|||||||
abstract class LockNotificationService : NotificationService() {
|
abstract class LockNotificationService : NotificationService() {
|
||||||
|
|
||||||
private var mLockReceiver: LockReceiver = LockReceiver {
|
private var mLockReceiver: LockReceiver = LockReceiver {
|
||||||
actionOnLock()
|
stopService()
|
||||||
}
|
|
||||||
|
|
||||||
protected open fun actionOnLock() {
|
|
||||||
// Stop the service in all cases
|
|
||||||
ServiceCompat.stopForeground(this, ServiceCompat.STOP_FOREGROUND_REMOVE)
|
|
||||||
stopSelf()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onCreate() {
|
override fun onCreate() {
|
||||||
@@ -46,7 +39,7 @@ abstract class LockNotificationService : NotificationService() {
|
|||||||
|
|
||||||
override fun onTaskRemoved(rootIntent: Intent?) {
|
override fun onTaskRemoved(rootIntent: Intent?) {
|
||||||
if (!TimeoutHelper.temporarilyDisableLock) {
|
if (!TimeoutHelper.temporarilyDisableLock) {
|
||||||
actionOnLock()
|
stopService()
|
||||||
}
|
}
|
||||||
super.onTaskRemoved(rootIntent)
|
super.onTaskRemoved(rootIntent)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ import android.util.TypedValue
|
|||||||
import android.widget.Toast
|
import android.widget.Toast
|
||||||
import androidx.core.app.NotificationCompat
|
import androidx.core.app.NotificationCompat
|
||||||
import androidx.core.app.NotificationManagerCompat
|
import androidx.core.app.NotificationManagerCompat
|
||||||
|
import androidx.core.app.ServiceCompat
|
||||||
import androidx.core.content.ContextCompat
|
import androidx.core.content.ContextCompat
|
||||||
import com.kunzisoft.keepass.R
|
import com.kunzisoft.keepass.R
|
||||||
import com.kunzisoft.keepass.activities.stylish.Stylish
|
import com.kunzisoft.keepass.activities.stylish.Stylish
|
||||||
@@ -114,6 +115,12 @@ abstract class NotificationService : Service() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected open fun stopService() {
|
||||||
|
// Stop the service in all cases
|
||||||
|
ServiceCompat.stopForeground(this, ServiceCompat.STOP_FOREGROUND_REMOVE)
|
||||||
|
stopSelf()
|
||||||
|
}
|
||||||
|
|
||||||
protected fun defineTimerJob(builder: NotificationCompat.Builder,
|
protected fun defineTimerJob(builder: NotificationCompat.Builder,
|
||||||
type: NotificationServiceType,
|
type: NotificationServiceType,
|
||||||
timeoutMilliseconds: Long,
|
timeoutMilliseconds: Long,
|
||||||
|
|||||||
@@ -13,6 +13,8 @@ abstract class ExternalSettingsActivity : DatabaseModeActivity() {
|
|||||||
|
|
||||||
private var lockView: FloatingActionButton? = null
|
private var lockView: FloatingActionButton? = null
|
||||||
|
|
||||||
|
override fun manageDatabaseInfo(): Boolean = true
|
||||||
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
|
|
||||||
|
|||||||
@@ -27,32 +27,27 @@ import android.view.View
|
|||||||
import android.widget.Button
|
import android.widget.Button
|
||||||
import android.widget.ProgressBar
|
import android.widget.ProgressBar
|
||||||
import android.widget.TextView
|
import android.widget.TextView
|
||||||
import androidx.annotation.StringRes
|
|
||||||
import androidx.appcompat.app.AlertDialog
|
import androidx.appcompat.app.AlertDialog
|
||||||
import androidx.core.view.isVisible
|
import androidx.core.view.isVisible
|
||||||
import androidx.fragment.app.DialogFragment
|
import androidx.fragment.app.DialogFragment
|
||||||
|
import androidx.fragment.app.activityViewModels
|
||||||
|
import androidx.lifecycle.Lifecycle
|
||||||
import androidx.lifecycle.lifecycleScope
|
import androidx.lifecycle.lifecycleScope
|
||||||
|
import androidx.lifecycle.repeatOnLifecycle
|
||||||
import com.kunzisoft.keepass.R
|
import com.kunzisoft.keepass.R
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
|
|
||||||
open class ProgressTaskDialogFragment : DialogFragment() {
|
open class ProgressTaskDialogFragment : DialogFragment() {
|
||||||
|
|
||||||
@StringRes
|
|
||||||
private var title = UNDEFINED
|
|
||||||
@StringRes
|
|
||||||
private var message = UNDEFINED
|
|
||||||
@StringRes
|
|
||||||
private var warning = UNDEFINED
|
|
||||||
private var cancellable: (() -> Unit)? = null
|
|
||||||
|
|
||||||
private var titleView: TextView? = null
|
private var titleView: TextView? = null
|
||||||
private var messageView: TextView? = null
|
private var messageView: TextView? = null
|
||||||
private var warningView: TextView? = null
|
private var warningView: TextView? = null
|
||||||
private var cancelButton: Button? = null
|
private var cancelButton: Button? = null
|
||||||
private var progressView: ProgressBar? = null
|
private var progressView: ProgressBar? = null
|
||||||
|
|
||||||
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
|
private val progressTaskViewModel: ProgressTaskViewModel by activityViewModels()
|
||||||
|
|
||||||
|
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
|
||||||
try {
|
try {
|
||||||
activity?.let {
|
activity?.let {
|
||||||
val builder = AlertDialog.Builder(it)
|
val builder = AlertDialog.Builder(it)
|
||||||
@@ -71,68 +66,63 @@ open class ProgressTaskDialogFragment : DialogFragment() {
|
|||||||
cancelButton = root.findViewById(R.id.progress_dialog_cancel)
|
cancelButton = root.findViewById(R.id.progress_dialog_cancel)
|
||||||
progressView = root.findViewById(R.id.progress_dialog_bar)
|
progressView = root.findViewById(R.id.progress_dialog_bar)
|
||||||
|
|
||||||
updateTitle(title)
|
|
||||||
updateMessage(message)
|
|
||||||
updateWarning(warning)
|
|
||||||
setCancellable(cancellable)
|
|
||||||
|
|
||||||
isCancelable = false
|
isCancelable = false
|
||||||
|
|
||||||
|
lifecycleScope.launch {
|
||||||
|
repeatOnLifecycle(Lifecycle.State.STARTED) {
|
||||||
|
progressTaskViewModel.progressTaskState.collect { state ->
|
||||||
|
when (state) {
|
||||||
|
is ProgressTaskViewModel.ProgressTaskState.Show -> {
|
||||||
|
val value = state.value
|
||||||
|
updateView(
|
||||||
|
titleView,
|
||||||
|
value.titleId?.let { title ->
|
||||||
|
getString(title)
|
||||||
|
})
|
||||||
|
updateView(
|
||||||
|
messageView,
|
||||||
|
value.messageId?.let { message ->
|
||||||
|
getString(message)
|
||||||
|
})
|
||||||
|
updateView(
|
||||||
|
warningView,
|
||||||
|
value.warningId?.let { warning ->
|
||||||
|
getString(warning)
|
||||||
|
})
|
||||||
|
cancelButton?.apply {
|
||||||
|
isVisible = value.cancelable != null
|
||||||
|
setOnClickListener {
|
||||||
|
value.cancelable?.invoke()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else -> {
|
||||||
|
// Nothing here, this fragment is stopped externally
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return builder.create()
|
return builder.create()
|
||||||
}
|
}
|
||||||
} catch (e: Exception) {
|
} catch (e: Exception) {
|
||||||
Log.e(TAG, "Unable to create progress dialog")
|
Log.e(TAG, "Unable to create progress dialog", e)
|
||||||
}
|
}
|
||||||
return super.onCreateDialog(savedInstanceState)
|
return super.onCreateDialog(savedInstanceState)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun setTitle(@StringRes titleId: Int) {
|
private fun updateView(textView: TextView?, value: String?) {
|
||||||
this.title = titleId
|
if (value == null) {
|
||||||
}
|
textView?.visibility = View.GONE
|
||||||
|
} else {
|
||||||
private fun updateView(textView: TextView?, @StringRes resId: Int) {
|
textView?.text = value
|
||||||
activity?.lifecycleScope?.launch {
|
textView?.visibility = View.VISIBLE
|
||||||
if (resId == UNDEFINED) {
|
|
||||||
textView?.visibility = View.GONE
|
|
||||||
} else {
|
|
||||||
textView?.setText(resId)
|
|
||||||
textView?.visibility = View.VISIBLE
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun updateCancelable() {
|
|
||||||
activity?.lifecycleScope?.launch {
|
|
||||||
cancelButton?.isVisible = cancellable != null
|
|
||||||
cancelButton?.setOnClickListener {
|
|
||||||
cancellable?.invoke()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
fun updateTitle(@StringRes resId: Int?) {
|
|
||||||
this.title = resId ?: UNDEFINED
|
|
||||||
updateView(titleView, title)
|
|
||||||
}
|
|
||||||
|
|
||||||
fun updateMessage(@StringRes resId: Int?) {
|
|
||||||
this.message = resId ?: UNDEFINED
|
|
||||||
updateView(messageView, message)
|
|
||||||
}
|
|
||||||
|
|
||||||
fun updateWarning(@StringRes resId: Int?) {
|
|
||||||
this.warning = resId ?: UNDEFINED
|
|
||||||
updateView(warningView, warning)
|
|
||||||
}
|
|
||||||
|
|
||||||
fun setCancellable(cancellable: (() -> Unit)?) {
|
|
||||||
this.cancellable = cancellable
|
|
||||||
updateCancelable()
|
|
||||||
}
|
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
private val TAG = ProgressTaskDialogFragment::class.java.simpleName
|
private val TAG = ProgressTaskDialogFragment::class.java.simpleName
|
||||||
const val PROGRESS_TASK_DIALOG_TAG = "progressDialogFragment"
|
const val PROGRESS_TASK_DIALOG_TAG = "progressDialogFragment"
|
||||||
const val UNDEFINED = -1
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,28 @@
|
|||||||
|
package com.kunzisoft.keepass.tasks
|
||||||
|
|
||||||
|
import androidx.lifecycle.ViewModel
|
||||||
|
import com.kunzisoft.keepass.database.ProgressMessage
|
||||||
|
import kotlinx.coroutines.flow.MutableStateFlow
|
||||||
|
import kotlinx.coroutines.flow.StateFlow
|
||||||
|
import kotlinx.coroutines.flow.update
|
||||||
|
|
||||||
|
class ProgressTaskViewModel: ViewModel() {
|
||||||
|
|
||||||
|
private val mProgressTaskState = MutableStateFlow<ProgressTaskState>(ProgressTaskState.Hide)
|
||||||
|
val progressTaskState: StateFlow<ProgressTaskState> = mProgressTaskState
|
||||||
|
|
||||||
|
fun show(value: ProgressMessage) {
|
||||||
|
mProgressTaskState.update { currentState ->
|
||||||
|
ProgressTaskState.Show(value)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fun hide() {
|
||||||
|
mProgressTaskState.value = ProgressTaskState.Hide
|
||||||
|
}
|
||||||
|
|
||||||
|
sealed class ProgressTaskState {
|
||||||
|
data class Show(val value: ProgressMessage): ProgressTaskState()
|
||||||
|
object Hide: ProgressTaskState()
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -98,25 +98,43 @@ object AppUtil {
|
|||||||
}
|
}
|
||||||
|
|
||||||
val processedPackageNames = mutableSetOf<String>()
|
val processedPackageNames = mutableSetOf<String>()
|
||||||
|
|
||||||
for (resolveInfo in resolveInfoList) {
|
for (resolveInfo in resolveInfoList) {
|
||||||
val packageName = resolveInfo.activityInfo.packageName
|
val packageName = resolveInfo.activityInfo.packageName
|
||||||
if (packageName != null && !processedPackageNames.contains(packageName)) {
|
if (packageName != null && !processedPackageNames.contains(packageName)) {
|
||||||
try {
|
buildAndroidPrivilegedApp(packageManager, packageName)?.let { privilegedApp ->
|
||||||
val packageInfo = packageManager.getPackageInfo(
|
browserList.add(privilegedApp)
|
||||||
packageName,
|
processedPackageNames.add(packageName)
|
||||||
PackageManager.GET_SIGNING_CERTIFICATES
|
|
||||||
)
|
|
||||||
val signatureFingerprints = packageInfo.signingInfo?.getAllFingerprints()
|
|
||||||
signatureFingerprints?.let {
|
|
||||||
browserList.add(AndroidPrivilegedApp(packageName, signatureFingerprints))
|
|
||||||
processedPackageNames.add(packageName)
|
|
||||||
}
|
|
||||||
} catch (e: Exception) {
|
|
||||||
Log.e(AppUtil::class.simpleName, "Error processing package: $packageName", e)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Add the Play Service
|
||||||
|
val gServices = "com.google.android.gms"
|
||||||
|
buildAndroidPrivilegedApp(packageManager, gServices)?.let { privilegedApp ->
|
||||||
|
browserList.add(privilegedApp)
|
||||||
|
processedPackageNames.add(gServices)
|
||||||
|
}
|
||||||
|
|
||||||
return browserList.distinctBy { it.packageName } // Ensure uniqueness just in case
|
return browserList.distinctBy { it.packageName } // Ensure uniqueness just in case
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@RequiresApi(Build.VERSION_CODES.P)
|
||||||
|
private fun buildAndroidPrivilegedApp(
|
||||||
|
packageManager: PackageManager,
|
||||||
|
packageName: String
|
||||||
|
): AndroidPrivilegedApp? {
|
||||||
|
return try {
|
||||||
|
val packageInfo = packageManager.getPackageInfo(
|
||||||
|
packageName,
|
||||||
|
PackageManager.GET_SIGNING_CERTIFICATES
|
||||||
|
)
|
||||||
|
val signatureFingerprints = packageInfo.signingInfo?.getAllFingerprints()
|
||||||
|
signatureFingerprints?.let {
|
||||||
|
AndroidPrivilegedApp(packageName, signatureFingerprints)
|
||||||
|
}
|
||||||
|
} catch (e: Exception) {
|
||||||
|
Log.e(AppUtil::class.simpleName, "Error processing package: $packageName", e)
|
||||||
|
null
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -32,7 +32,7 @@ class DatabaseViewModel(application: Application): AndroidViewModel(application)
|
|||||||
val database: ContextualDatabase?
|
val database: ContextualDatabase?
|
||||||
get() = databaseState.value
|
get() = databaseState.value
|
||||||
|
|
||||||
private val mActionState = MutableStateFlow<ActionState>(ActionState.Loading)
|
private val mActionState = MutableStateFlow<ActionState>(ActionState.Wait)
|
||||||
val actionState: StateFlow<ActionState> = mActionState
|
val actionState: StateFlow<ActionState> = mActionState
|
||||||
|
|
||||||
private var mDatabaseTaskProvider: DatabaseTaskProvider = DatabaseTaskProvider(
|
private var mDatabaseTaskProvider: DatabaseTaskProvider = DatabaseTaskProvider(
|
||||||
@@ -469,7 +469,7 @@ class DatabaseViewModel(application: Application): AndroidViewModel(application)
|
|||||||
}
|
}
|
||||||
|
|
||||||
sealed class ActionState {
|
sealed class ActionState {
|
||||||
object Loading: ActionState()
|
object Wait: ActionState()
|
||||||
object OnDatabaseReloaded: ActionState()
|
object OnDatabaseReloaded: ActionState()
|
||||||
data class OnDatabaseActionRequested(
|
data class OnDatabaseActionRequested(
|
||||||
val bundle: Bundle? = null,
|
val bundle: Bundle? = null,
|
||||||
|
|||||||
@@ -335,7 +335,7 @@
|
|||||||
<string name="device_unlock_explanation_summary">استخدم إلغاء القفل الجهاز لفتح قاعدة البيانات بسهولة</string>
|
<string name="device_unlock_explanation_summary">استخدم إلغاء القفل الجهاز لفتح قاعدة البيانات بسهولة</string>
|
||||||
<string name="lock_database_show_button_summary">يعرض زر القَفل في الواجهة</string>
|
<string name="lock_database_show_button_summary">يعرض زر القَفل في الواجهة</string>
|
||||||
<string name="lock_database_show_button_title">أظهر زر القفل</string>
|
<string name="lock_database_show_button_title">أظهر زر القفل</string>
|
||||||
<string name="lock_database_back_root_summary">قفل قاعدة البيانات عند النقر على زر الرجوع في الشاشة الرئيسية</string>
|
<string name="lock_database_back_root_summary">اضغط على \"رجوع\" لقفل قاعدة البيانات إذا كنت في الشاشة الجذر لقاعدة البيانات</string>
|
||||||
<string name="lock_database_back_root_title">اضغط على \"رجوع\" للإقفال</string>
|
<string name="lock_database_back_root_title">اضغط على \"رجوع\" للإقفال</string>
|
||||||
<string name="clipboard_explanation_summary">انسخ حقول المدخل باستخدام الحافظة</string>
|
<string name="clipboard_explanation_summary">انسخ حقول المدخل باستخدام الحافظة</string>
|
||||||
<string name="database_opened">قاعدة البيانات مفتوحة</string>
|
<string name="database_opened">قاعدة البيانات مفتوحة</string>
|
||||||
@@ -642,8 +642,8 @@
|
|||||||
<string name="show_uuid_title">أظهر \"المعرّف العام المميز\" UUID</string>
|
<string name="show_uuid_title">أظهر \"المعرّف العام المميز\" UUID</string>
|
||||||
<string name="unlock_and_link_biometric">رابط فتح الجهاز</string>
|
<string name="unlock_and_link_biometric">رابط فتح الجهاز</string>
|
||||||
<string name="device_unlock_invalid_key">لا يمكن قراءة مفتاح فتح الجهاز. يرجى حذفه وتكرار إجراء التعرف على الفتح.</string>
|
<string name="device_unlock_invalid_key">لا يمكن قراءة مفتاح فتح الجهاز. يرجى حذفه وتكرار إجراء التعرف على الفتح.</string>
|
||||||
<string name="menu_appearance_settings_summary">المظاهر والألوان والسمات</string>
|
<string name="menu_appearance_settings_summary">المظاهر والألوان والأيقونات والخطوط والسمات</string>
|
||||||
<string name="autofill_explanation_summary">تمكين الملء التلقائي لملء النماذج بسرعة في التطبيقات الأخرى</string>
|
<string name="autofill_explanation_summary">اضبط الملء التلقائي لملء النماذج بسرعة في التطبيقات الأخرى</string>
|
||||||
<string name="device_credential_unlock_enable_summary">يتيح لك استخدام بيانات اعتماد جهازك لفتح قاعدة البيانات</string>
|
<string name="device_credential_unlock_enable_summary">يتيح لك استخدام بيانات اعتماد جهازك لفتح قاعدة البيانات</string>
|
||||||
<string name="unlock">فتح</string>
|
<string name="unlock">فتح</string>
|
||||||
<string name="menu_app_settings_summary">البحث، القفل، التاريخ، الخصائص</string>
|
<string name="menu_app_settings_summary">البحث، القفل، التاريخ، الخصائص</string>
|
||||||
@@ -691,4 +691,45 @@
|
|||||||
<string name="warning_large_keyfile">لا يُنصح بإضافة ملف مفتاحي كبير، فقد يؤدي هذا إلى منع فتح قاعدة البيانات.</string>
|
<string name="warning_large_keyfile">لا يُنصح بإضافة ملف مفتاحي كبير، فقد يؤدي هذا إلى منع فتح قاعدة البيانات.</string>
|
||||||
<string name="hide_templates_title">أخفِ القوالب</string>
|
<string name="hide_templates_title">أخفِ القوالب</string>
|
||||||
<string name="error_otp_secret_length">يجب أن يتكوّن المفتاح السري من %1$d أحرف على الأقل.</string>
|
<string name="error_otp_secret_length">يجب أن يتكوّن المفتاح السري من %1$d أحرف على الأقل.</string>
|
||||||
|
<string name="entry_application_id">معرّف التطبيق</string>
|
||||||
|
<string name="warning_overwrite_data_title">أتريد الكتابة فوق البيانات الموجودة؟</string>
|
||||||
|
<string name="warning_overwrite_data_description">سيؤدي هذا الإجراء إلى استبدال البيانات الموجودة في الإدخال، ويمكنك استرداد البيانات القديمة إذا كانت المحفوظات مفعلة.</string>
|
||||||
|
<string name="credential_provider">موفّر بيانات الاعتماد</string>
|
||||||
|
<string name="passkeys">مفاتيح المرور</string>
|
||||||
|
<string name="passkeys_explanation_summary">اضبط مفاتيح المرور لتسجيل دخول سريع وآمن بدون كلمة سر</string>
|
||||||
|
<string name="passkeys_preference_title">إعدادات مفاتيح المرور</string>
|
||||||
|
<string name="passkeys_close_database_title">أغلق قاعدة البيانات</string>
|
||||||
|
<string name="passkeys_close_database_summary">أغلق قاعدة البيانات بعد اختيار مفتاح المرور</string>
|
||||||
|
<string name="passkeys_privileged_apps_title">التطبيقات المتميزة</string>
|
||||||
|
<string name="passkeys_privileged_apps_summary">أدر المتصفحات في القائمة المخصّصة للتطبيقات المتميزة</string>
|
||||||
|
<string name="passkeys_privileged_apps_explanation">تحذير: يعمل تطبيق مميز كبوابة لاسترداد أصل الاستيثاق. تأكد من شرعيته لتجنب المشكلات الأمنية.</string>
|
||||||
|
<string name="passkeys_privileged_apps_ask_title">التطبيق غير معروف</string>
|
||||||
|
<string name="passkeys_privileged_apps_ask_message">يحاول %1$s تنفيذ إجراء مفتاح المرور.\n\nأتريد إضافته إلى قائمة التطبيقات المتميزة؟</string>
|
||||||
|
<string name="passkeys_missing_signature_app_ask_title">التوقيع مفقود</string>
|
||||||
|
<string name="passkeys_missing_signature_app_ask_explanation">تحذير: أُنشئ مفتاح المرور من عميل آخر أو حُذف التوقيع. تأكد من أن التطبيق الذي تريد الاستيثاق عليه جزء من نفس الخدمة وأنه شرعي لتجنب المشكلات الأمنية.\nإذا كان التطبيق متصفحًا، فلا تضف توقيعه إلى الإدخال، بل إلى قائمة التطبيقات الموثوقة في الإعدادات.</string>
|
||||||
|
<string name="passkeys_missing_signature_app_ask_message">%1$s غير معروف ويحاول الاستيثاق باستخدام مفتاح مرور موجود.</string>
|
||||||
|
<string name="passkeys_missing_signature_app_ask_question">إضافة توقيع التطبيق إلى إدخال مفتاح المرور؟</string>
|
||||||
|
<string name="passkeys_auto_select_title">تحديد تلقائي</string>
|
||||||
|
<string name="passkeys_auto_select_summary">حدّد تلقائي إذا كان هناك إدخال واحد فقط وقاعدة البيانات مفتوحة، فقط إذا كان التطبيق الطالب متوافقًا</string>
|
||||||
|
<string name="passkeys_backup_eligibility_title">أهلية النسخ الاحتياطي</string>
|
||||||
|
<string name="passkeys_backup_eligibility_summary">تحديد وقت الإنشاء ما إذا كان مسموحًا بنسخ مصدر بيانات اعتماد المفتاح العام احتياطيًا</string>
|
||||||
|
<string name="passkeys_backup_state_title">حالة النسخ الاحتياطي</string>
|
||||||
|
<string name="passkeys_backup_state_summary">أشر إلى أن بيانات الاعتماد مدعومة ومحمية ضد فقدان جهاز واحد</string>
|
||||||
|
<string name="credential_provider_service_subtitle">مفاتيح المرور، موفّر بيانات اعتماد الملء التلقائي</string>
|
||||||
|
<string name="passkey">مفتاح المرور</string>
|
||||||
|
<string name="passkey_service_name">موفّر بيانات اعتماد KeePassDX</string>
|
||||||
|
<string name="passkey_creation_description">احفظ مفتاح المرور في مدخل جديد</string>
|
||||||
|
<string name="passkey_update_description">حدِّث مفتاح المرور في %1$s</string>
|
||||||
|
<string name="passkey_selection_username">لم يُعثر على مفتاح مرور</string>
|
||||||
|
<string name="passkey_selection_description">حدّد مفتاح مرور موجود</string>
|
||||||
|
<string name="passkey_database_username">قاعدة بيانات KeePassDX</string>
|
||||||
|
<string name="passkey_locked_database_description">حدّد لفتح القفل</string>
|
||||||
|
<string name="passkey_username">اسم مستخدم مفتاح المرور</string>
|
||||||
|
<string name="passkey_private_key">المفتاح الخاص لمفتاح المرور</string>
|
||||||
|
<string name="passkey_credential_id">معرّف بيانات مفتاح المرور</string>
|
||||||
|
<string name="passkey_user_handle">معرّف مستخدم مفتاح المرور</string>
|
||||||
|
<string name="passkey_relying_party">الطرف المعتمد لمفتاح المرور</string>
|
||||||
|
<string name="passkey_backup_eligibility">أهلية النسخ الاحتياطي لمفتاح المرور</string>
|
||||||
|
<string name="passkey_backup_state">حالة النسخ الاحتياطي لمفتاح المرور</string>
|
||||||
|
<string name="error_passkey_result">تعذر إرجاع مفتاح المرور</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
@@ -232,7 +232,7 @@
|
|||||||
<string name="auto_focus_search_title">Бързо търсене</string>
|
<string name="auto_focus_search_title">Бързо търсене</string>
|
||||||
<string name="subdomain_search_title">Търсене на поддомейни</string>
|
<string name="subdomain_search_title">Търсене на поддомейни</string>
|
||||||
<string name="menu_delete">Изтриване</string>
|
<string name="menu_delete">Изтриване</string>
|
||||||
<string name="menu_appearance_settings_summary">Теми, цветове, атрибути</string>
|
<string name="menu_appearance_settings_summary">Теми, цветове, икони, шрифтове, атрибути</string>
|
||||||
<string name="download_initialization">Подготвяне…</string>
|
<string name="download_initialization">Подготвяне…</string>
|
||||||
<string name="content_description_entry_background_color">Цвят на фона на запис</string>
|
<string name="content_description_entry_background_color">Цвят на фона на запис</string>
|
||||||
<string name="html_about_licence">KeePassDX © %1$d Kunzisoft е приложение с <strong>отворен код</strong> и <strong>без реклами</strong>. \nРазпространява се под лиценза <strong>GPLv3</strong> без каквато и да е гаранция.</string>
|
<string name="html_about_licence">KeePassDX © %1$d Kunzisoft е приложение с <strong>отворен код</strong> и <strong>без реклами</strong>. \nРазпространява се под лиценза <strong>GPLv3</strong> без каквато и да е гаранция.</string>
|
||||||
@@ -283,11 +283,11 @@
|
|||||||
<string name="search">Търсене</string>
|
<string name="search">Търсене</string>
|
||||||
<string name="uppercase">Горен регистър</string>
|
<string name="uppercase">Горен регистър</string>
|
||||||
<string name="warning">Внимание</string>
|
<string name="warning">Внимание</string>
|
||||||
<string name="lock_database_back_root_summary">Заключва хранилището при докосване на бутона „Назад“ на началния екран</string>
|
<string name="lock_database_back_root_summary">Бутонът „Назад“ в кореновата папка заключва хранилището</string>
|
||||||
<string name="read_only">Само за четене</string>
|
<string name="read_only">Само за четене</string>
|
||||||
<string name="contains_duplicate_uuid">Хранилището съдържа повтарящ се идентификатор.</string>
|
<string name="contains_duplicate_uuid">Хранилището съдържа повтарящ се идентификатор.</string>
|
||||||
<string name="biometric">Биометричен ключ</string>
|
<string name="biometric">Биометричен ключ</string>
|
||||||
<string name="set_credential_provider_service_title">Задаване на подразбирана услуга за автоматично попълване</string>
|
<string name="set_credential_provider_service_title">Услуга за автоматично попълване на регистрации</string>
|
||||||
<string name="password_size_title">Дължина на създаваните пароли</string>
|
<string name="password_size_title">Дължина на създаваните пароли</string>
|
||||||
<string name="lock_database_back_root_title">Заключване при „Назад“</string>
|
<string name="lock_database_back_root_title">Заключване при „Назад“</string>
|
||||||
<string name="content">Съдържание</string>
|
<string name="content">Съдържание</string>
|
||||||
@@ -398,7 +398,7 @@
|
|||||||
<string name="education_search_summary">Търсете по заглавие, потребител или съдържание на други полета, за да намерите своите пароли.</string>
|
<string name="education_search_summary">Търсете по заглавие, потребител или съдържание на други полета, за да намерите своите пароли.</string>
|
||||||
<string name="html_about_contribution">За <strong>запазване на нашата независимост</strong>, <strong>отстраняване на дефекти</strong>, <strong>добавяне на нови възможности</strong> и <strong>поддържане на активна разработка</strong>, разчитаме на вашата <strong>поддръжка</strong>.</string>
|
<string name="html_about_contribution">За <strong>запазване на нашата независимост</strong>, <strong>отстраняване на дефекти</strong>, <strong>добавяне на нови възможности</strong> и <strong>поддържане на активна разработка</strong>, разчитаме на вашата <strong>поддръжка</strong>.</string>
|
||||||
<string name="lock_database_show_button_title">Бутон за заключване</string>
|
<string name="lock_database_show_button_title">Бутон за заключване</string>
|
||||||
<string name="autofill_explanation_summary">Включете услугата за попълване на формуляри в други приложения</string>
|
<string name="autofill_explanation_summary">Настройки на услугата за попълване на формуляри в други приложения</string>
|
||||||
<string name="properties">Свойства</string>
|
<string name="properties">Свойства</string>
|
||||||
<string name="education_validate_entry_summary">Не забравяйте да потвърдите записа и да го запазите в хранилището.
|
<string name="education_validate_entry_summary">Не забравяйте да потвърдите записа и да го запазите в хранилището.
|
||||||
\n
|
\n
|
||||||
@@ -653,7 +653,7 @@
|
|||||||
<string name="biometric_auto_open_prompt_summary">Автоматична заявка за отключване на устройството ако хранилището се отключва с устройството</string>
|
<string name="biometric_auto_open_prompt_summary">Автоматична заявка за отключване на устройството ако хранилището се отключва с устройството</string>
|
||||||
<string name="allow_copy_password_summary">Разрешава копиране на паролите и защитените полета от записите в междинната памет</string>
|
<string name="allow_copy_password_summary">Разрешава копиране на паролите и защитените полета от записите в междинната памет</string>
|
||||||
<string name="error_rebuild_list">Списъкът не може да бъде изграден отново.</string>
|
<string name="error_rebuild_list">Списъкът не може да бъде изграден отново.</string>
|
||||||
<string name="error_otp_type">Формулярът не разпознава този вид OTP и може да не създава правилни кодове за достъп.</string>
|
<string name="error_otp_type">Формулярът не разпознава този вид OTP и може да не създава верни кодове за достъп.</string>
|
||||||
<string name="warning_keyfile_integrity">Отпечатъкът от файла не е сигурен, защото Андроид може да променя данните в движение. Променете разширението на файла на .bin, за бъде невредим.</string>
|
<string name="warning_keyfile_integrity">Отпечатъкът от файла не е сигурен, защото Андроид може да променя данните в движение. Променете разширението на файла на .bin, за бъде невредим.</string>
|
||||||
<string name="allow_copy_password_title">Доверяване на междинната памет</string>
|
<string name="allow_copy_password_title">Доверяване на междинната памет</string>
|
||||||
<string name="warning_exact_alarm">Приложението няма права за използване на точен будилник. В резултат на това дейностите, които зависят от него няма да се изпълняват на време.</string>
|
<string name="warning_exact_alarm">Приложението няма права за използване на точен будилник. В резултат на това дейностите, които зависят от него няма да се изпълняват на време.</string>
|
||||||
@@ -681,4 +681,45 @@
|
|||||||
<string name="hide_templates_summary">Шаблоните не се показват</string>
|
<string name="hide_templates_summary">Шаблоните не се показват</string>
|
||||||
<string name="hide_templates_title">Скриване на шаблоните</string>
|
<string name="hide_templates_title">Скриване на шаблоните</string>
|
||||||
<string name="error_otp_secret_length">Тайният ключ трябва да бъде най-малко %1$d знаци.</string>
|
<string name="error_otp_secret_length">Тайният ключ трябва да бъде най-малко %1$d знаци.</string>
|
||||||
|
<string name="entry_application_id">Идент. приложение</string>
|
||||||
|
<string name="warning_overwrite_data_title">Презаписване на информация?</string>
|
||||||
|
<string name="warning_overwrite_data_description">Чрез това действие ще бъде презаоисана информация на записа. Може да намерите старите данни ако историята е включена.</string>
|
||||||
|
<string name="credential_provider">Доставчик на регистрации</string>
|
||||||
|
<string name="passkeys">Ключове за достъп</string>
|
||||||
|
<string name="passkeys_explanation_summary">Настройки на ключове за достъп за бърз и сигурен вход без парола</string>
|
||||||
|
<string name="passkeys_preference_title">Настройки на ключове за достъп</string>
|
||||||
|
<string name="passkeys_close_database_title">Затваряне на хранилище</string>
|
||||||
|
<string name="passkeys_close_database_summary">Затваряне на хранилището след избор на ключ за достъп</string>
|
||||||
|
<string name="passkeys_privileged_apps_explanation">ВНИМАНИЕ: Приложенията с допълнителни права играят ролята на шлюз, от който се получава произхода на удостоверяването. За да избегнете проблеми със сигурността се уверете в неговата автентичност.</string>
|
||||||
|
<string name="passkeys_privileged_apps_title">Приложения с допълнителни права</string>
|
||||||
|
<string name="passkeys_privileged_apps_summary">Управление на мрежови четци в потребителския списък на приложения с допълнителни права</string>
|
||||||
|
<string name="passkeys_privileged_apps_ask_title">Неразпознато приложение</string>
|
||||||
|
<string name="passkeys_privileged_apps_ask_message">Приложението „%1$s“ опитва да извърши действия с ключ за достъп .\n\nДа бъде ли добавено в списъка на приложения с допълнителни права?</string>
|
||||||
|
<string name="passkeys_missing_signature_app_ask_title">Липсващ подпис</string>
|
||||||
|
<string name="passkeys_missing_signature_app_ask_message">Приложението „%1$s“ не е разпознато, но се опитва да извърши удостоверяване с ключ за достъп.</string>
|
||||||
|
<string name="passkeys_missing_signature_app_ask_question">Добавяне на подпис към запис на ключ за достъп?</string>
|
||||||
|
<string name="passkeys_auto_select_title">Автоматичен избор</string>
|
||||||
|
<string name="passkeys_auto_select_summary">Работи при отключено хранилище, съвпадение на един запис и съвместимо запитващо приложение</string>
|
||||||
|
<string name="passkeys_backup_eligibility_title">Възможност за резервно копие</string>
|
||||||
|
<string name="passkeys_backup_eligibility_summary">Настройка, определяща още при създаване разрешението за резервно копие на публичния ключ на източника на регистрацията</string>
|
||||||
|
<string name="passkeys_backup_state_title">Наличие на резервно копие</string>
|
||||||
|
<string name="passkeys_backup_state_summary">Указва дали регистрацията е включена в резервно копие и е защитена от загуба на едно устройство</string>
|
||||||
|
<string name="credential_provider_service_subtitle">Услуга за автоматично попълване на ключове за достъп и регистрации</string>
|
||||||
|
<string name="passkey">Ключ за достъп</string>
|
||||||
|
<string name="passkey_service_name">Доставчик на регистрации на KeePassDX</string>
|
||||||
|
<string name="passkey_creation_description">Запазване ключа за достъп в друг запис</string>
|
||||||
|
<string name="passkey_update_description">Обновяване ключа за достъп в/ъв %1$s</string>
|
||||||
|
<string name="passkey_selection_username">Ключ за достъп не е намерен</string>
|
||||||
|
<string name="passkey_selection_description">Изберете съществуващ ключ за достъп</string>
|
||||||
|
<string name="passkey_database_username">Хранилище на KeePassDX</string>
|
||||||
|
<string name="passkey_locked_database_description">Изберете за отключване</string>
|
||||||
|
<string name="passkey_username">Потребител на ключа за достъп</string>
|
||||||
|
<string name="passkey_private_key">Частен ключ на ключа за достъп</string>
|
||||||
|
<string name="passkey_credential_id">Идент. на регистрация на ключа за достъп</string>
|
||||||
|
<string name="passkey_user_handle">Идент. на потребител на ключа за достъп</string>
|
||||||
|
<string name="passkey_backup_eligibility">Възможност за резервно копие на ключа за достъп</string>
|
||||||
|
<string name="passkey_backup_state">Състояние на резервно копие на ключа за достъп</string>
|
||||||
|
<string name="error_passkey_result">Грешка при връщане на ключ за достъп</string>
|
||||||
|
<string name="passkey_relying_party">Доверяваща страна на ключа за достъп</string>
|
||||||
|
<string name="passkeys_missing_signature_app_ask_explanation">ВНИМАНИЕ: Ключът за достъп е създаден от друг клиент или подписът е премахнат. За да избегнете проблеми със сигурността се уверете, че приложението, което удостоверявате е част от същата услуга и е автентично.\nАко приложението е мрежов четец не добавяйте подписа му към записа, а в настройките го добавете в списъка на приложенията с допълнителни права.</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
@@ -180,8 +180,8 @@
|
|||||||
<string name="general">Obecné</string>
|
<string name="general">Obecné</string>
|
||||||
<string name="autofill">Samovyplnění</string>
|
<string name="autofill">Samovyplnění</string>
|
||||||
<string name="autofill_sign_in_prompt">Přihlásit se s KeePassDX</string>
|
<string name="autofill_sign_in_prompt">Přihlásit se s KeePassDX</string>
|
||||||
<string name="set_credential_provider_service_title">Nastavit výchozí službu samovyplnění</string>
|
<string name="set_credential_provider_service_title">Služba poskytovatele údajů</string>
|
||||||
<string name="autofill_explanation_summary">Zapnout samovyplnění formulářů za účelem rychlého vyplnění v ostatních aplikacích</string>
|
<string name="autofill_explanation_summary">Nastavit automatické vyplnění formulářů za účelem rychlého vyplnění v ostatních aplikacích</string>
|
||||||
<string name="password_size_title">Délka generovaného hesla</string>
|
<string name="password_size_title">Délka generovaného hesla</string>
|
||||||
<string name="password_size_summary">Nastavení výchozí délky generovaných hesel</string>
|
<string name="password_size_summary">Nastavení výchozí délky generovaných hesel</string>
|
||||||
<string name="list_password_generator_options_title">Znaky hesla</string>
|
<string name="list_password_generator_options_title">Znaky hesla</string>
|
||||||
@@ -206,7 +206,7 @@
|
|||||||
<string name="assign_master_key">Přiřadit hlavní klíč</string>
|
<string name="assign_master_key">Přiřadit hlavní klíč</string>
|
||||||
<string name="create_keepass_file">Vytvořit nový trezor</string>
|
<string name="create_keepass_file">Vytvořit nový trezor</string>
|
||||||
<string name="recycle_bin_title">Využití koše</string>
|
<string name="recycle_bin_title">Využití koše</string>
|
||||||
<string name="recycle_bin_summary">Před smazáním přesune vybrané položky do skupiny s názvem \"Koš\"</string>
|
<string name="recycle_bin_summary">Před smazáním přesune vybrané záznamy do skupiny s názvem „Koš“</string>
|
||||||
<string name="monospace_font_fields_enable_title">Písmo kolonek</string>
|
<string name="monospace_font_fields_enable_title">Písmo kolonek</string>
|
||||||
<string name="monospace_font_fields_enable_summary">Čitelnost znaků v kolonkách můžete přizpůsobit změnou písma</string>
|
<string name="monospace_font_fields_enable_summary">Čitelnost znaků v kolonkách můžete přizpůsobit změnou písma</string>
|
||||||
<string name="allow_copy_password_title">Důvěřovat schránce</string>
|
<string name="allow_copy_password_title">Důvěřovat schránce</string>
|
||||||
@@ -283,9 +283,9 @@
|
|||||||
<string name="keyboard_setting_label">Magikeyboard nastavení</string>
|
<string name="keyboard_setting_label">Magikeyboard nastavení</string>
|
||||||
<string name="keyboard_entry_category">Záznam</string>
|
<string name="keyboard_entry_category">Záznam</string>
|
||||||
<string name="keyboard_entry_timeout_title">Časový limit</string>
|
<string name="keyboard_entry_timeout_title">Časový limit</string>
|
||||||
<string name="keyboard_entry_timeout_summary">Doba uchování položky v Magikeyboardu</string>
|
<string name="keyboard_entry_timeout_summary">Doba uchování položky v klávesnici</string>
|
||||||
<string name="keyboard_notification_entry_title">Informace o oznámení</string>
|
<string name="keyboard_notification_entry_title">Informace o oznámení</string>
|
||||||
<string name="keyboard_notification_entry_summary">Zobrazit oznámení, když je položka dostupná</string>
|
<string name="keyboard_notification_entry_summary">Zobrazit oznámení, když je záznam dostupný</string>
|
||||||
<string name="keyboard_notification_entry_content_title_text">Záznam</string>
|
<string name="keyboard_notification_entry_content_title_text">Záznam</string>
|
||||||
<string name="keyboard_notification_entry_content_title">%1$s dostupné v Magikeyboardu</string>
|
<string name="keyboard_notification_entry_content_title">%1$s dostupné v Magikeyboardu</string>
|
||||||
<string name="keyboard_notification_entry_content_text">%1$s</string>
|
<string name="keyboard_notification_entry_content_text">%1$s</string>
|
||||||
@@ -299,7 +299,7 @@
|
|||||||
<string name="selection_mode">Režim výběru</string>
|
<string name="selection_mode">Režim výběru</string>
|
||||||
<string name="do_not_kill_app">Nezavírejte aplikaci…</string>
|
<string name="do_not_kill_app">Nezavírejte aplikaci…</string>
|
||||||
<string name="lock_database_back_root_title">K uzamknutí stiskněte Zpět</string>
|
<string name="lock_database_back_root_title">K uzamknutí stiskněte Zpět</string>
|
||||||
<string name="lock_database_back_root_summary">Zamknout obrazovku, pokud uživatel stiskne tlačítko Zpět v hlavním panelu</string>
|
<string name="lock_database_back_root_summary">Stiskněte „Zpět“ pro uzamčení databáze, pokud se nacházíte na hlavní obrazovce databáze</string>
|
||||||
<string name="clear_clipboard_notification_title">Vymazat při ukončení</string>
|
<string name="clear_clipboard_notification_title">Vymazat při ukončení</string>
|
||||||
<string name="clear_clipboard_notification_summary">Uzamknout databázi, jakmile trvání schránky vyprší nebo po uzavření oznámení</string>
|
<string name="clear_clipboard_notification_summary">Uzamknout databázi, jakmile trvání schránky vyprší nebo po uzavření oznámení</string>
|
||||||
<string name="recycle_bin">Koš</string>
|
<string name="recycle_bin">Koš</string>
|
||||||
@@ -524,7 +524,7 @@
|
|||||||
<string name="unit_mebibyte">MiB</string>
|
<string name="unit_mebibyte">MiB</string>
|
||||||
<string name="unit_kibibyte">KiB</string>
|
<string name="unit_kibibyte">KiB</string>
|
||||||
<string name="unit_byte">B</string>
|
<string name="unit_byte">B</string>
|
||||||
<string name="error_otp_type">Nemohu rozpoznat existující typ OTP v této formě, jeho validace patrně nebude generovat správný token.</string>
|
<string name="error_otp_type">Nemohu rozpoznat existující typ OTP v této formě a jeho validace patrně nebude generovat správný token.</string>
|
||||||
<string name="download_canceled">Zrušeno!</string>
|
<string name="download_canceled">Zrušeno!</string>
|
||||||
<string name="icon_section_custom">Vlastní</string>
|
<string name="icon_section_custom">Vlastní</string>
|
||||||
<string name="icon_section_standard">Standardní</string>
|
<string name="icon_section_standard">Standardní</string>
|
||||||
@@ -679,7 +679,7 @@
|
|||||||
<string name="ask">Zeptat se</string>
|
<string name="ask">Zeptat se</string>
|
||||||
<string name="configure">Nastavit</string>
|
<string name="configure">Nastavit</string>
|
||||||
<string name="unlock_and_link_biometric">Propojení s odemykáním zařízení</string>
|
<string name="unlock_and_link_biometric">Propojení s odemykáním zařízení</string>
|
||||||
<string name="menu_appearance_settings_summary">Motivy, barvy, atributy</string>
|
<string name="menu_appearance_settings_summary">Motivy, barvy, ikony, písma, atributy</string>
|
||||||
<string name="unlock">Odemknout</string>
|
<string name="unlock">Odemknout</string>
|
||||||
<string name="education_validate_entry_title">Ověřit vstup</string>
|
<string name="education_validate_entry_title">Ověřit vstup</string>
|
||||||
<string name="education_validate_entry_summary">Nezapomeňte ověřit svůj vstup a uložit databázi.
|
<string name="education_validate_entry_summary">Nezapomeňte ověřit svůj vstup a uložit databázi.
|
||||||
@@ -705,4 +705,45 @@
|
|||||||
<string name="hide_templates_title">Skrýt šablony</string>
|
<string name="hide_templates_title">Skrýt šablony</string>
|
||||||
<string name="hide_templates_summary">Šablony nejsou zobrazeny</string>
|
<string name="hide_templates_summary">Šablony nejsou zobrazeny</string>
|
||||||
<string name="error_otp_secret_length">Tajný klíč musí obsahovat alespoň %1$d znaků.</string>
|
<string name="error_otp_secret_length">Tajný klíč musí obsahovat alespoň %1$d znaků.</string>
|
||||||
|
<string name="entry_application_id">ID aplikace</string>
|
||||||
|
<string name="warning_overwrite_data_title">Přepsat existující data?</string>
|
||||||
|
<string name="warning_overwrite_data_description">Tato akce nahradí existující data v položce, pokud je povolena historie, můžete původní data získat.</string>
|
||||||
|
<string name="credential_provider">Poskytovatel údajů</string>
|
||||||
|
<string name="passkeys">Přístupové klíče</string>
|
||||||
|
<string name="passkeys_explanation_summary">Nastavte přístupové klíče pro rychlé a bezpečné přihlášení bez hesla</string>
|
||||||
|
<string name="passkeys_preference_title">Nastavení přístupových klíčů</string>
|
||||||
|
<string name="passkeys_close_database_title">Zavřít databázi</string>
|
||||||
|
<string name="passkeys_close_database_summary">Zavřít databázi po výběru přístupového klíče</string>
|
||||||
|
<string name="passkeys_privileged_apps_title">Privilegované aplikace</string>
|
||||||
|
<string name="passkeys_privileged_apps_summary">Spravovat prohlížeče ve vlastním seznamu privilegovaných aplikací</string>
|
||||||
|
<string name="passkeys_privileged_apps_explanation">VAROVÁNÍ: Privilegovaná aplikace funguje jako brána k získání původu autentifikace. Ujistěte se, že se jedná o důvěryhodnou aplikaci, pro zabránění bezpečnostním problémům.</string>
|
||||||
|
<string name="passkeys_privileged_apps_ask_title">Aplikace nerozpoznána</string>
|
||||||
|
<string name="passkeys_privileged_apps_ask_message">%1$s se pokouší provést akci přísupového klíče.\n\nChcete ji přidat do seznamu privilegovaných aplikací?</string>
|
||||||
|
<string name="passkeys_missing_signature_app_ask_title">Chybějící podpis</string>
|
||||||
|
<string name="passkeys_missing_signature_app_ask_explanation">VAROVÁNÍ: Přístupový klíč byl vytvořen z jiného klienta nebo byl vymazán podpis. Ujistěte se, že aplikace, kterou chcete autentifikovat, je součástí stejné služby a že je legitimní pro zabránění bezpečnostním problémům.\nPokud je aplikace prohlížeč, nepřidávejte její podpis do záznamu, ale do seznamu privilegovaných aplikací v nastavení.</string>
|
||||||
|
<string name="passkeys_missing_signature_app_ask_message">%1$s je nerozpoznaná a pokouší se o autentifikaci s existujícím přístupovým klíčem.</string>
|
||||||
|
<string name="passkeys_missing_signature_app_ask_question">Přidat podpis aplikace do záznamu přístupového klíče?</string>
|
||||||
|
<string name="passkeys_auto_select_title">Automatický výběr</string>
|
||||||
|
<string name="passkeys_auto_select_summary">Automaticky vybrat, pokud existuje pouze jeden záznam a aplikace je otevřená, pouze pokud je žádající aplikace kompatibilní</string>
|
||||||
|
<string name="passkeys_backup_eligibility_title">Možnost zálohy</string>
|
||||||
|
<string name="passkeys_backup_eligibility_summary">Při vytváření určit, zda je povoleno zálohovat zdroj ověřovacích údajů veřejného klíče</string>
|
||||||
|
<string name="passkeys_backup_state_title">Stav zálohy</string>
|
||||||
|
<string name="passkeys_backup_state_summary">Uvést, že přihlašovací údaje jsou zálohovány a chráněny proti ztrátě jednoho zařízení</string>
|
||||||
|
<string name="credential_provider_service_subtitle">Přístupové klíče, poskytovatel automatického vyplnění</string>
|
||||||
|
<string name="passkey">Přístupový klíč</string>
|
||||||
|
<string name="passkey_service_name">Poskytovatel údajů KeePassDX</string>
|
||||||
|
<string name="passkey_creation_description">Uložit přístupový klíč do nového záznamu</string>
|
||||||
|
<string name="passkey_update_description">Aktualizovat přístupový klíč v %1$s</string>
|
||||||
|
<string name="passkey_selection_username">Nenalezeny žádné přístupové klíče</string>
|
||||||
|
<string name="passkey_selection_description">Vyberte existující přístupový klíč</string>
|
||||||
|
<string name="passkey_database_username">Databáze KeePassDX</string>
|
||||||
|
<string name="passkey_locked_database_description">Vyberte k odemčení</string>
|
||||||
|
<string name="passkey_username">Uživatelské jméno přístupového klíče</string>
|
||||||
|
<string name="passkey_private_key">Soukromý klíč přístupového klíče</string>
|
||||||
|
<string name="passkey_credential_id">ID údaje přístupového klíče</string>
|
||||||
|
<string name="passkey_user_handle">Uživatelská adresa přístupového klíče</string>
|
||||||
|
<string name="passkey_relying_party">Strana předávající přístupový klíč</string>
|
||||||
|
<string name="passkey_backup_eligibility">Způsobilost přístupového klíče k zálohování</string>
|
||||||
|
<string name="passkey_backup_state">Stav zálohy přístupového klíče</string>
|
||||||
|
<string name="error_passkey_result">Nepodařilo se vrátit přístupový klíč</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
Translations from David Ramiro
|
Translations from David Ramiro
|
||||||
--><resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation">
|
--><resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation">
|
||||||
<string name="contact">Kontakt</string>
|
<string name="contact">Kontakt</string>
|
||||||
<string name="contribution">Beiträge</string>
|
<string name="contribution">Beitrag</string>
|
||||||
<string name="feedback">Feedback</string>
|
<string name="feedback">Feedback</string>
|
||||||
<string name="homepage">Webseite</string>
|
<string name="homepage">Webseite</string>
|
||||||
<string name="about_description">Android-Implementierung des Passwortmanagers KeePass.</string>
|
<string name="about_description">Android-Implementierung des Passwortmanagers KeePass.</string>
|
||||||
@@ -153,7 +153,7 @@
|
|||||||
<string name="menu_appearance_settings">Erscheinungsbild</string>
|
<string name="menu_appearance_settings">Erscheinungsbild</string>
|
||||||
<string name="password_size_title">Generierte Passwortlänge</string>
|
<string name="password_size_title">Generierte Passwortlänge</string>
|
||||||
<string name="password_size_summary">Legt die Standardlänge des generierten Passworts fest</string>
|
<string name="password_size_summary">Legt die Standardlänge des generierten Passworts fest</string>
|
||||||
<string name="clipboard_notifications_title">Kopier-Benachrichtigung</string>
|
<string name="clipboard_notifications_title">Kopierbenachrichtigung</string>
|
||||||
<string name="clipboard_notifications_summary">Benachrichtigung anzeigen, um beim Betrachten eines Eintrags Felder kopieren zu können</string>
|
<string name="clipboard_notifications_summary">Benachrichtigung anzeigen, um beim Betrachten eines Eintrags Felder kopieren zu können</string>
|
||||||
<string name="lock_database_screen_off_title">Bildschirmsperre</string>
|
<string name="lock_database_screen_off_title">Bildschirmsperre</string>
|
||||||
<string name="lock_database_screen_off_summary">Datenbank wenige Sekunden nach Bildschirmabschaltung sperren</string>
|
<string name="lock_database_screen_off_summary">Datenbank wenige Sekunden nach Bildschirmabschaltung sperren</string>
|
||||||
@@ -197,7 +197,7 @@
|
|||||||
<string name="autofill">Automatisches Ausfüllen</string>
|
<string name="autofill">Automatisches Ausfüllen</string>
|
||||||
<string name="autofill_sign_in_prompt">Mit KeePassDX anmelden</string>
|
<string name="autofill_sign_in_prompt">Mit KeePassDX anmelden</string>
|
||||||
<string name="set_credential_provider_service_title">Standard-Autofill-Service festlegen</string>
|
<string name="set_credential_provider_service_title">Standard-Autofill-Service festlegen</string>
|
||||||
<string name="autofill_explanation_summary">Automatisches Ausfüllen aktivieren, um Formulare in anderen Apps schnell auszufüllen</string>
|
<string name="autofill_explanation_summary">Automatisches Ausfüllen konfigurieren, um Formulare in anderen Apps schnell auszufüllen</string>
|
||||||
<string name="autofill_select_entry">Eintrag auswählen …</string>
|
<string name="autofill_select_entry">Eintrag auswählen …</string>
|
||||||
<string name="clipboard">Zwischenablage</string>
|
<string name="clipboard">Zwischenablage</string>
|
||||||
<string name="biometric_delete_all_key_title">Verschlüsselungsschlüssel löschen</string>
|
<string name="biometric_delete_all_key_title">Verschlüsselungsschlüssel löschen</string>
|
||||||
@@ -223,8 +223,8 @@
|
|||||||
<string name="reset_education_screens_summary">Alle Hilfsinfos nochmal anzeigen</string>
|
<string name="reset_education_screens_summary">Alle Hilfsinfos nochmal anzeigen</string>
|
||||||
<string name="reset_education_screens_text">Hilfeanzeige zurückgesetzt</string>
|
<string name="reset_education_screens_text">Hilfeanzeige zurückgesetzt</string>
|
||||||
<string name="education_create_database_title">Datenbankdatei erstellen</string>
|
<string name="education_create_database_title">Datenbankdatei erstellen</string>
|
||||||
<string name="education_create_database_summary">Erste Datei zur Passwortverwaltung erstellen.</string>
|
<string name="education_create_database_summary">Eine erste Datei zur Passwortverwaltung erstellen.</string>
|
||||||
<string name="education_select_database_title">Existierende Datenbank öffnen</string>
|
<string name="education_select_database_title">Vorhandene Datenbank öffnen</string>
|
||||||
<string name="education_select_database_summary">Öffnet über den Dateimanager eine früher erstellte Datenbankdatei, um sie weiterzuverwenden.</string>
|
<string name="education_select_database_summary">Öffnet über den Dateimanager eine früher erstellte Datenbankdatei, um sie weiterzuverwenden.</string>
|
||||||
<string name="education_new_node_title">Datenbankelemente hinzufügen</string>
|
<string name="education_new_node_title">Datenbankelemente hinzufügen</string>
|
||||||
<string name="education_new_node_summary">Einträge helfen, digitale Konten zu verwalten.
|
<string name="education_new_node_summary">Einträge helfen, digitale Konten zu verwalten.
|
||||||
@@ -257,7 +257,7 @@
|
|||||||
<string name="html_text_dev_feature_buy_pro">Durch den Kauf der <strong>Pro-Version</strong>,</string>
|
<string name="html_text_dev_feature_buy_pro">Durch den Kauf der <strong>Pro-Version</strong>,</string>
|
||||||
<string name="html_text_dev_feature_contibute">Durch deinen <strong>Beitrag</strong>,</string>
|
<string name="html_text_dev_feature_contibute">Durch deinen <strong>Beitrag</strong>,</string>
|
||||||
<string name="html_text_dev_feature_encourage">ermutigst du die Entwickler, <strong>neue Funktionen</strong> einzuführen und gemäß deinen Anmerkungen <strong>Fehler zu beheben</strong>.</string>
|
<string name="html_text_dev_feature_encourage">ermutigst du die Entwickler, <strong>neue Funktionen</strong> einzuführen und gemäß deinen Anmerkungen <strong>Fehler zu beheben</strong>.</string>
|
||||||
<string name="html_text_dev_feature_thanks">Vielen Dank für deine Unterstützung.</string>
|
<string name="html_text_dev_feature_thanks">Vielen Dank für die Unterstützung.</string>
|
||||||
<string name="html_text_dev_feature_work_hard">Wir bemühen uns, diese Funktion bald zu veröffentlichen.</string>
|
<string name="html_text_dev_feature_work_hard">Wir bemühen uns, diese Funktion bald zu veröffentlichen.</string>
|
||||||
<string name="html_text_dev_feature_upgrade">Denke daran, die App durch die Installation neuer Versionen auf dem aktuellsten Stand zu halten.</string>
|
<string name="html_text_dev_feature_upgrade">Denke daran, die App durch die Installation neuer Versionen auf dem aktuellsten Stand zu halten.</string>
|
||||||
<string name="download">Download</string>
|
<string name="download">Download</string>
|
||||||
@@ -312,7 +312,7 @@
|
|||||||
<string name="hide_broken_locations_title">Defekte Datenbankverknüpfungen ausblenden</string>
|
<string name="hide_broken_locations_title">Defekte Datenbankverknüpfungen ausblenden</string>
|
||||||
<string name="hide_broken_locations_summary">Defekte Verknüpfungen in der Liste der zuletzt verwendeten Datenbanken ausblenden</string>
|
<string name="hide_broken_locations_summary">Defekte Verknüpfungen in der Liste der zuletzt verwendeten Datenbanken ausblenden</string>
|
||||||
<string name="do_not_kill_app">App nicht beenden …</string>
|
<string name="do_not_kill_app">App nicht beenden …</string>
|
||||||
<string name="lock_database_back_root_summary">Datenbank sperren, wenn auf dem Hauptbildschirm die Taste „Zurück“ gedrückt wird</string>
|
<string name="lock_database_back_root_summary">„Zurück“ drücken, um die Datenbank zu sperren, wenn man sich auf dem Hauptbildschirm der Datenbank befindet</string>
|
||||||
<string name="clear_clipboard_notification_title">Beim Schließen löschen</string>
|
<string name="clear_clipboard_notification_title">Beim Schließen löschen</string>
|
||||||
<string name="recycle_bin">Papierkorb</string>
|
<string name="recycle_bin">Papierkorb</string>
|
||||||
<string name="keyboard_selection_entry_title">Eintragsauswahl</string>
|
<string name="keyboard_selection_entry_title">Eintragsauswahl</string>
|
||||||
@@ -498,7 +498,7 @@
|
|||||||
<string name="keyboard_save_search_info_title">Geteilte Informationen speichern</string>
|
<string name="keyboard_save_search_info_title">Geteilte Informationen speichern</string>
|
||||||
<string name="warning_empty_recycle_bin">Alle Knoten unwiderruflich aus dem Papierkorb löschen\?</string>
|
<string name="warning_empty_recycle_bin">Alle Knoten unwiderruflich aus dem Papierkorb löschen\?</string>
|
||||||
<string name="error_field_name_already_exists">Der Feldname existiert bereits.</string>
|
<string name="error_field_name_already_exists">Der Feldname existiert bereits.</string>
|
||||||
<string name="device_unlock_prompt_store_credential_message">Du musst dich weiterhin an deinen Hauptschlüssel erinnern, wenn du die Geräteentsperrung verwendest.</string>
|
<string name="device_unlock_prompt_store_credential_message">Falls die Geräteentsperrung verwendet wird, ist es immer noch notwendig, sich die Hauptzugangsdaten für den Tresor zu merken.</string>
|
||||||
<string name="menu_keystore_remove_key">Schlüssel für Geräteentsperrung löschen</string>
|
<string name="menu_keystore_remove_key">Schlüssel für Geräteentsperrung löschen</string>
|
||||||
<string name="device_unlock_prompt_store_credential_title">Verknüpfung mit Geräteentsperrung</string>
|
<string name="device_unlock_prompt_store_credential_title">Verknüpfung mit Geräteentsperrung</string>
|
||||||
<string name="education_device_unlock_summary">Eigenes Passwort mit Biometrie- oder Geräteanmeldedaten verknüpfen, um die Datenbank schnell zu entsperren.</string>
|
<string name="education_device_unlock_summary">Eigenes Passwort mit Biometrie- oder Geräteanmeldedaten verknüpfen, um die Datenbank schnell zu entsperren.</string>
|
||||||
@@ -508,7 +508,7 @@
|
|||||||
<string name="temp_device_unlock_timeout_title">Ablauf der Geräteentsperrung</string>
|
<string name="temp_device_unlock_timeout_title">Ablauf der Geräteentsperrung</string>
|
||||||
<string name="temp_device_unlock_enable_summary">Bei Nutzung der Geräteentsperrung keine verschlüsselten Inhalte speichern</string>
|
<string name="temp_device_unlock_enable_summary">Bei Nutzung der Geräteentsperrung keine verschlüsselten Inhalte speichern</string>
|
||||||
<string name="temp_device_unlock_enable_title">Zeitlich begrenzte Geräteentsperrung</string>
|
<string name="temp_device_unlock_enable_title">Zeitlich begrenzte Geräteentsperrung</string>
|
||||||
<string name="device_credential_unlock_enable_summary">Ermöglicht das Öffnen der Datenbank mit deinen Geräteanmeldedaten</string>
|
<string name="device_credential_unlock_enable_summary">Ermöglicht das Öffnen der Datenbank mit den persönlichen Geräteanmeldedaten</string>
|
||||||
<string name="device_unlock_tap_delete">Drücken, um alle Geräteentsperrschlüssel zu löschen</string>
|
<string name="device_unlock_tap_delete">Drücken, um alle Geräteentsperrschlüssel zu löschen</string>
|
||||||
<string name="content">Inhalt</string>
|
<string name="content">Inhalt</string>
|
||||||
<string name="device_unlock_prompt_extract_credential_title">Datenbank mit Geräteentsperrdaten öffnen</string>
|
<string name="device_unlock_prompt_extract_credential_title">Datenbank mit Geräteentsperrdaten öffnen</string>
|
||||||
@@ -536,7 +536,7 @@
|
|||||||
<string name="error_upload_file">Beim Hochladen der Datei ist ein Fehler aufgetreten.</string>
|
<string name="error_upload_file">Beim Hochladen der Datei ist ein Fehler aufgetreten.</string>
|
||||||
<string name="import_app_properties_title">App-Einstellungen importieren</string>
|
<string name="import_app_properties_title">App-Einstellungen importieren</string>
|
||||||
<string name="error_start_database_action">Beim Ausführen einer Aktion in der Datenbank ist ein Fehler aufgetreten.</string>
|
<string name="error_start_database_action">Beim Ausführen einer Aktion in der Datenbank ist ein Fehler aufgetreten.</string>
|
||||||
<string name="error_otp_type">Der vorhandene OTP-Typ wird von diesem Formular nicht erkannt, seine Validierung kann Token möglicherweise nicht mehr korrekt erzeugen.</string>
|
<string name="error_otp_type">Der vorhandene OTP-Typ wird von diesem Formular nicht erkannt, und seine Validierung kann Token möglicherweise nicht mehr korrekt erzeugen.</string>
|
||||||
<string name="content_description_otp_information">Informationen zu Einmalpasswörtern</string>
|
<string name="content_description_otp_information">Informationen zu Einmalpasswörtern</string>
|
||||||
<string name="warning_database_revoked">Auf die Datei kann nicht zugegriffen werden. Bitte die Datenbank schließen und von ihrem Speicherort aus erneut öffnen.</string>
|
<string name="warning_database_revoked">Auf die Datei kann nicht zugegriffen werden. Bitte die Datenbank schließen und von ihrem Speicherort aus erneut öffnen.</string>
|
||||||
<string name="error_export_app_properties">Fehler beim Exportieren der App-Einstellungen.</string>
|
<string name="error_export_app_properties">Fehler beim Exportieren der App-Einstellungen.</string>
|
||||||
@@ -682,7 +682,7 @@
|
|||||||
<string name="ask">Fragen</string>
|
<string name="ask">Fragen</string>
|
||||||
<string name="later">Später</string>
|
<string name="later">Später</string>
|
||||||
<string name="unlock_and_link_biometric">Geräteentsperrverknüpfung</string>
|
<string name="unlock_and_link_biometric">Geräteentsperrverknüpfung</string>
|
||||||
<string name="menu_appearance_settings_summary">Design, Farben, Attribute</string>
|
<string name="menu_appearance_settings_summary">Design, Farben, Symbole, Schriftarten, Attribute</string>
|
||||||
<string name="warning_database_notification_permission">Die Benachrichtigungsberechtigung ermöglicht es, den Status der Datenbank anzuzeigen und sie mit einer leicht zugänglichen Taste zu sperren.
|
<string name="warning_database_notification_permission">Die Benachrichtigungsberechtigung ermöglicht es, den Status der Datenbank anzuzeigen und sie mit einer leicht zugänglichen Taste zu sperren.
|
||||||
\n
|
\n
|
||||||
\nWird diese Berechtigung nicht aktiviert, ist die im Hintergrund geöffnete Datenbank nicht sichtbar, wenn eine Anwendung im Vordergrund läuft.</string>
|
\nWird diese Berechtigung nicht aktiviert, ist die im Hintergrund geöffnete Datenbank nicht sichtbar, wenn eine Anwendung im Vordergrund läuft.</string>
|
||||||
@@ -704,4 +704,45 @@
|
|||||||
<string name="recursive_number_entries_title">Rekursive Anzahl der Einträge</string>
|
<string name="recursive_number_entries_title">Rekursive Anzahl der Einträge</string>
|
||||||
<string name="generate_keyfile">Schlüsseldatei generieren</string>
|
<string name="generate_keyfile">Schlüsseldatei generieren</string>
|
||||||
<string name="error_otp_secret_length">Geheimschlüssel muss mindestens %1$d Zeichen lang sein.</string>
|
<string name="error_otp_secret_length">Geheimschlüssel muss mindestens %1$d Zeichen lang sein.</string>
|
||||||
|
<string name="entry_application_id">App-ID</string>
|
||||||
|
<string name="warning_overwrite_data_title">Bestehende Daten überschreiben?</string>
|
||||||
|
<string name="warning_overwrite_data_description">Diese Aktion ersetzt die bestehenden Daten im Eintrag. Die alten Daten können wiederhergestellt werden, wenn der Verlauf aktiviert ist.</string>
|
||||||
|
<string name="passkeys">Passkeys</string>
|
||||||
|
<string name="passkeys_preference_title">Passkeys-Einstellungen</string>
|
||||||
|
<string name="passkeys_close_database_title">Datenbank schließen</string>
|
||||||
|
<string name="passkeys_privileged_apps_title">Vertrauliche Apps</string>
|
||||||
|
<string name="passkeys_missing_signature_app_ask_title">Signatur fehlt</string>
|
||||||
|
<string name="passkeys_auto_select_title">Automatische Auswahl</string>
|
||||||
|
<string name="passkeys_backup_eligibility_title">Backup-Erlaubnis</string>
|
||||||
|
<string name="passkeys_backup_state_title">Backup-Status</string>
|
||||||
|
<string name="passkeys_privileged_apps_ask_title">App nicht erkannt</string>
|
||||||
|
<string name="passkey">Passkey</string>
|
||||||
|
<string name="passkey_selection_username">Kein Passkey gefunden</string>
|
||||||
|
<string name="passkey_creation_description">Passkey in neuem Eintrag speichern</string>
|
||||||
|
<string name="passkey_update_description">Passkey in %1$s aktualisieren</string>
|
||||||
|
<string name="passkey_selection_description">Vorhandenen Passkey auswählen</string>
|
||||||
|
<string name="passkey_database_username">KeePassDX-Datenbank</string>
|
||||||
|
<string name="passkey_username">Passkey-Benutzername</string>
|
||||||
|
<string name="passkey_backup_state">Passkey-Backup-Status</string>
|
||||||
|
<string name="passkey_backup_eligibility">Passkey-Backup-Erlaubnis</string>
|
||||||
|
<string name="passkeys_close_database_summary">Datenbank nach der Passwortauswahl schließen</string>
|
||||||
|
<string name="credential_provider">Anmeldeinformationsanbieter</string>
|
||||||
|
<string name="passkeys_explanation_summary">Passkeys für eine schnelle und sichere Anmeldung ohne Passwort konfigurieren</string>
|
||||||
|
<string name="passkeys_privileged_apps_summary">Browser in der benutzerdefinierten Liste privilegierter Apps verwalten</string>
|
||||||
|
<string name="passkeys_privileged_apps_explanation">WARNUNG: Eine privilegierte App fungiert als Gateway, um die Herkunft einer Authentifizierung abzurufen. Zur Vermeidung von Sicherheitsproblemen ist ihre Legitimität sicherzustellen.</string>
|
||||||
|
<string name="passkeys_privileged_apps_ask_message">%1$s versucht, eine Passkey-Aktion auszuführen.\n\nZur Liste der privilegierten Apps hinzufügen?</string>
|
||||||
|
<string name="passkeys_missing_signature_app_ask_explanation">WARNUNG: Der Passkey wurde von einem anderen Client erstellt oder die Signatur wurde gelöscht. Um Sicherheitsrisiken zu vermeiden, sollte die zu authentifizierende App zum selben Dienst gehören und legitimiert sein.\nWenn es sich bei der App um einen Browser handelt, dann die Signatur nicht zum Eintrag, sondern zur Liste der privilegierten Apps in den Einstellungen hinzufügen.</string>
|
||||||
|
<string name="passkeys_missing_signature_app_ask_message">%1$s wird nicht erkannt und versucht, sich mit einem vorhandenen Passkey zu authentifizieren.</string>
|
||||||
|
<string name="passkeys_missing_signature_app_ask_question">App-Signatur zum Passkey-Eintrag hinzufügen?</string>
|
||||||
|
<string name="passkeys_auto_select_summary">Automatische Auswahl, wenn nur ein Eintrag vorhanden und die Datenbank geöffnet ist, und nur, wenn die anfragende App kompatibel ist</string>
|
||||||
|
<string name="passkeys_backup_eligibility_summary">Bei der Erstellung festlegen, ob die Quelle für öffentliche Schlüssel-Anmeldeinformationen gesichert werden darf</string>
|
||||||
|
<string name="passkeys_backup_state_summary">Anzeigen, dass Anmeldedaten gesichert und gegen den Verlust eines einzelnen Geräts geschützt sind</string>
|
||||||
|
<string name="credential_provider_service_subtitle">Passkeys, Anbieter für das automatische Ausfüllen von Anmeldedaten</string>
|
||||||
|
<string name="passkey_service_name">KeePassDX-Anmeldeungsdatenanbieter</string>
|
||||||
|
<string name="passkey_locked_database_description">Zum Entsperren auswählen</string>
|
||||||
|
<string name="passkey_private_key">Passkey Privater Schlüssel</string>
|
||||||
|
<string name="passkey_credential_id">Passkey-Anmeldeinformation</string>
|
||||||
|
<string name="error_passkey_result">Passkey kann nicht zurückgegeben werden</string>
|
||||||
|
<string name="passkey_user_handle">Passkey-Benutzerkennung</string>
|
||||||
|
<string name="passkey_relying_party">Passkey-Vertrauensstelle</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
@@ -165,7 +165,7 @@
|
|||||||
<string name="warning_no_encryption_key">¿Continuar sin clave de cifrado\?</string>
|
<string name="warning_no_encryption_key">¿Continuar sin clave de cifrado\?</string>
|
||||||
<string name="encrypted_value_stored">Contraseña cifrada almacenada</string>
|
<string name="encrypted_value_stored">Contraseña cifrada almacenada</string>
|
||||||
<string name="database_history">Historial</string>
|
<string name="database_history">Historial</string>
|
||||||
<string name="autofill_explanation_summary">Habilite el servicio para rellenar formularios fácilmente desde otras aplicaciones</string>
|
<string name="autofill_explanation_summary">Configura el autocompletado para rellenar rápidamente formularios en otras aplicaciones</string>
|
||||||
<string name="unavailable">No disponible</string>
|
<string name="unavailable">No disponible</string>
|
||||||
<string name="menu_appearance_settings">Apariencia</string>
|
<string name="menu_appearance_settings">Apariencia</string>
|
||||||
<string name="general">General</string>
|
<string name="general">General</string>
|
||||||
@@ -195,7 +195,7 @@
|
|||||||
<string name="assign_master_key">Asignar una clave maestra</string>
|
<string name="assign_master_key">Asignar una clave maestra</string>
|
||||||
<string name="create_keepass_file">Crear una nueva bóveda</string>
|
<string name="create_keepass_file">Crear una nueva bóveda</string>
|
||||||
<string name="recycle_bin_title">Uso de la papelera de reciclaje</string>
|
<string name="recycle_bin_title">Uso de la papelera de reciclaje</string>
|
||||||
<string name="recycle_bin_summary">Mueve los grupos y las entradas al grupo \"Papelera de reciclaje\" antes de eliminarlos</string>
|
<string name="recycle_bin_summary">Mueve los grupos y los apuntes al grupo \"Papelera de reciclaje\" antes de eliminarlos</string>
|
||||||
<string name="monospace_font_fields_enable_title">Tipografía del campo</string>
|
<string name="monospace_font_fields_enable_title">Tipografía del campo</string>
|
||||||
<string name="monospace_font_fields_enable_summary">Cambia la tipografía usada en los campos para una mejor visibilidad del carácter</string>
|
<string name="monospace_font_fields_enable_summary">Cambia la tipografía usada en los campos para una mejor visibilidad del carácter</string>
|
||||||
<string name="allow_copy_password_title">Portapapeles de confianza</string>
|
<string name="allow_copy_password_title">Portapapeles de confianza</string>
|
||||||
@@ -256,7 +256,7 @@
|
|||||||
<string name="error_load_database">No se ha podido cargar la base de datos.</string>
|
<string name="error_load_database">No se ha podido cargar la base de datos.</string>
|
||||||
<string name="error_load_database_KDF_memory">No se ha podido cargar la clave. Intente reducir el \"Uso de memoria\" del KDF.</string>
|
<string name="error_load_database_KDF_memory">No se ha podido cargar la clave. Intente reducir el \"Uso de memoria\" del KDF.</string>
|
||||||
<string name="list_entries_show_username_title">Mostrar nombres de usuario</string>
|
<string name="list_entries_show_username_title">Mostrar nombres de usuario</string>
|
||||||
<string name="list_entries_show_username_summary">Muestra los nombres de usuario en las listas de entrada</string>
|
<string name="list_entries_show_username_summary">Muestra los nombres de usuario en las listas de apuntes</string>
|
||||||
<string name="menu_copy">Copiar</string>
|
<string name="menu_copy">Copiar</string>
|
||||||
<string name="menu_move">Mover</string>
|
<string name="menu_move">Mover</string>
|
||||||
<string name="menu_paste">Pegar</string>
|
<string name="menu_paste">Pegar</string>
|
||||||
@@ -274,12 +274,12 @@
|
|||||||
<string name="keyboard_name">Magikeyboard</string>
|
<string name="keyboard_name">Magikeyboard</string>
|
||||||
<string name="keyboard_label">Magikeyboard (KeePassDX)</string>
|
<string name="keyboard_label">Magikeyboard (KeePassDX)</string>
|
||||||
<string name="keyboard_setting_label">Configuración de Magikeyboard</string>
|
<string name="keyboard_setting_label">Configuración de Magikeyboard</string>
|
||||||
<string name="keyboard_entry_category">Entrada</string>
|
<string name="keyboard_entry_category">Apunte</string>
|
||||||
<string name="keyboard_entry_timeout_title">Tiempo límite</string>
|
<string name="keyboard_entry_timeout_title">Tiempo límite</string>
|
||||||
<string name="keyboard_entry_timeout_summary">Tiempo límite para vaciar la entrada del teclado</string>
|
<string name="keyboard_entry_timeout_summary">Tiempo límite para vaciar el apunte del teclado</string>
|
||||||
<string name="keyboard_notification_entry_title">Información sobre notificación</string>
|
<string name="keyboard_notification_entry_title">Información sobre notificación</string>
|
||||||
<string name="keyboard_notification_entry_summary">Muestra una notificación cuando esté disponible un apunte</string>
|
<string name="keyboard_notification_entry_summary">Muestra una notificación cuando esté disponible un apunte</string>
|
||||||
<string name="keyboard_notification_entry_content_title_text">Entrada</string>
|
<string name="keyboard_notification_entry_content_title_text">Apunte</string>
|
||||||
<string name="keyboard_notification_entry_content_title">%1$s disponible en Magikeyboard</string>
|
<string name="keyboard_notification_entry_content_title">%1$s disponible en Magikeyboard</string>
|
||||||
<string name="keyboard_notification_entry_content_text">%1$s</string>
|
<string name="keyboard_notification_entry_content_text">%1$s</string>
|
||||||
<string name="keyboard_notification_entry_clear_close_title">Vaciar al cerrar</string>
|
<string name="keyboard_notification_entry_clear_close_title">Vaciar al cerrar</string>
|
||||||
@@ -291,11 +291,11 @@
|
|||||||
<string name="keyboard_key_sound_title">Sonar al pulsar las teclas</string>
|
<string name="keyboard_key_sound_title">Sonar al pulsar las teclas</string>
|
||||||
<string name="selection_mode">Modo de selección</string>
|
<string name="selection_mode">Modo de selección</string>
|
||||||
<string name="do_not_kill_app">No cierre la aplicación…</string>
|
<string name="do_not_kill_app">No cierre la aplicación…</string>
|
||||||
<string name="lock_database_back_root_summary">Bloquear la base de datos cuando el usuario pulse el botón atrás en la pantalla inicial</string>
|
<string name="lock_database_back_root_summary">Pulse \'Atrás\' para bloquear la base de datos si se encuentra en la pantalla raíz de la base de datos</string>
|
||||||
<string name="clear_clipboard_notification_title">Vaciar al cerrar</string>
|
<string name="clear_clipboard_notification_title">Vaciar al cerrar</string>
|
||||||
<string name="clear_clipboard_notification_summary">Bloquea la base de datos cuando caduque la duración del portapapeles o se cierre la notificación tras empezar a utilizarla</string>
|
<string name="clear_clipboard_notification_summary">Bloquea la base de datos cuando caduque la duración del portapapeles o se cierre la notificación tras empezar a utilizarla</string>
|
||||||
<string name="recycle_bin">Papelera de reciclaje</string>
|
<string name="recycle_bin">Papelera de reciclaje</string>
|
||||||
<string name="keyboard_selection_entry_title">Selección de entrada</string>
|
<string name="keyboard_selection_entry_title">Selección de apuntes</string>
|
||||||
<string name="keyboard_selection_entry_summary">Al visualizar un apunte en KeePassDX, rellena Magikeyboard con ese apunte</string>
|
<string name="keyboard_selection_entry_summary">Al visualizar un apunte en KeePassDX, rellena Magikeyboard con ese apunte</string>
|
||||||
<string name="delete_entered_password_title">Eliminar contraseña</string>
|
<string name="delete_entered_password_title">Eliminar contraseña</string>
|
||||||
<string name="delete_entered_password_summary">Elimina la contraseña introducida tras un intento de conexión a una base de datos</string>
|
<string name="delete_entered_password_summary">Elimina la contraseña introducida tras un intento de conexión a una base de datos</string>
|
||||||
@@ -315,8 +315,8 @@
|
|||||||
<string name="entry_UUID">UUID</string>
|
<string name="entry_UUID">UUID</string>
|
||||||
<string name="error_move_entry_here">No puede mover un apunte aquí.</string>
|
<string name="error_move_entry_here">No puede mover un apunte aquí.</string>
|
||||||
<string name="error_copy_entry_here">No puede copiar un apunte aquí.</string>
|
<string name="error_copy_entry_here">No puede copiar un apunte aquí.</string>
|
||||||
<string name="list_groups_show_number_entries_title">Mostrar número de entradas</string>
|
<string name="list_groups_show_number_entries_title">Mostrar número de apunte</string>
|
||||||
<string name="list_groups_show_number_entries_summary">Muestra el número de entradas de un grupo</string>
|
<string name="list_groups_show_number_entries_summary">Muestra el número de apuntes de un grupo</string>
|
||||||
<string name="content_description_background">Fondo</string>
|
<string name="content_description_background">Fondo</string>
|
||||||
<string name="content_description_update_from_list">Actualizar</string>
|
<string name="content_description_update_from_list">Actualizar</string>
|
||||||
<string name="content_description_keyboard_close_fields">Cerrar campos</string>
|
<string name="content_description_keyboard_close_fields">Cerrar campos</string>
|
||||||
@@ -498,7 +498,7 @@
|
|||||||
<string name="keyboard_auto_go_action_title">Acción automática de la tecla</string>
|
<string name="keyboard_auto_go_action_title">Acción automática de la tecla</string>
|
||||||
<string name="keyboard_save_search_info_summary">Intente guardar información compartida cuando realice una selección manual de apunte para utilizar más fácil en el futuro</string>
|
<string name="keyboard_save_search_info_summary">Intente guardar información compartida cuando realice una selección manual de apunte para utilizar más fácil en el futuro</string>
|
||||||
<string name="keyboard_save_search_info_title">Guardar información compartida</string>
|
<string name="keyboard_save_search_info_title">Guardar información compartida</string>
|
||||||
<string name="show_uuid_summary">Muestra el UUID vinculado a una entrada o a un grupo</string>
|
<string name="show_uuid_summary">Muestra el UUID vinculado a un apuntes o a un grupo</string>
|
||||||
<string name="show_uuid_title">Mostrar UUID</string>
|
<string name="show_uuid_title">Mostrar UUID</string>
|
||||||
<string name="error_rebuild_list">No se puede reconstruir correctamente la lista.</string>
|
<string name="error_rebuild_list">No se puede reconstruir correctamente la lista.</string>
|
||||||
<string name="error_database_uri_null">No se puede recuperar la URI de la base de datos.</string>
|
<string name="error_database_uri_null">No se puede recuperar la URI de la base de datos.</string>
|
||||||
@@ -513,7 +513,7 @@
|
|||||||
<string name="warning_database_info_changed_options">Fusionar los datos, sobrescribir las modificaciones externas guardando la base de datos o recargarla con los últimos cambios.</string>
|
<string name="warning_database_info_changed_options">Fusionar los datos, sobrescribir las modificaciones externas guardando la base de datos o recargarla con los últimos cambios.</string>
|
||||||
<string name="warning_database_info_changed">La información contenida en su archivo de base de datos ha sido modificada fuera de la aplicación.</string>
|
<string name="warning_database_info_changed">La información contenida en su archivo de base de datos ha sido modificada fuera de la aplicación.</string>
|
||||||
<string name="menu_reload_database">Recargar datos</string>
|
<string name="menu_reload_database">Recargar datos</string>
|
||||||
<string name="error_otp_type">El tipo de OTP existente no es reconocido por este formulario, es posible que su validación ya no genere correctamente el código.</string>
|
<string name="error_otp_type">El tipo de OTP existente no es reconocido por este formulario, y es posible que su validación ya no genere correctamente el token.</string>
|
||||||
<string name="download_canceled">¡Cancelado!</string>
|
<string name="download_canceled">¡Cancelado!</string>
|
||||||
<string name="error_duplicate_file">Los datos del archivo ya existen.</string>
|
<string name="error_duplicate_file">Los datos del archivo ya existen.</string>
|
||||||
<string name="error_upload_file">Se ha producido un error al cargar los datos del archivo.</string>
|
<string name="error_upload_file">Se ha producido un error al cargar los datos del archivo.</string>
|
||||||
@@ -539,7 +539,7 @@
|
|||||||
<string name="error_word_reserved">Esta palabra está reservada y no se puede usar.</string>
|
<string name="error_word_reserved">Esta palabra está reservada y no se puede usar.</string>
|
||||||
<string name="templates">Plantillas</string>
|
<string name="templates">Plantillas</string>
|
||||||
<string name="templates_group_uuid_title">Grupo de plantillas</string>
|
<string name="templates_group_uuid_title">Grupo de plantillas</string>
|
||||||
<string name="templates_group_enable_summary">Utilice plantillas dinámicas para completar los campos de una entrada</string>
|
<string name="templates_group_enable_summary">Utilice plantillas dinámicas para completar los campos de un apunte</string>
|
||||||
<string name="templates_group_enable_title">Uso de plantillas</string>
|
<string name="templates_group_enable_title">Uso de plantillas</string>
|
||||||
<string name="version">Versión</string>
|
<string name="version">Versión</string>
|
||||||
<string name="template">Plantilla</string>
|
<string name="template">Plantilla</string>
|
||||||
@@ -571,12 +571,12 @@
|
|||||||
<string name="ssid">SSID</string>
|
<string name="ssid">SSID</string>
|
||||||
<string name="personal_identification_number">PIN</string>
|
<string name="personal_identification_number">PIN</string>
|
||||||
<string name="card_verification_value">CVV</string>
|
<string name="card_verification_value">CVV</string>
|
||||||
<string name="show_otp_token_summary">Muestra los códigos OTP en la lista de entradas</string>
|
<string name="show_otp_token_summary">Muestra los códigos OTP en la lista de apuntes</string>
|
||||||
<string name="show_otp_token_title">Mostrar código OTP</string>
|
<string name="show_otp_token_title">Mostrar código OTP</string>
|
||||||
<string name="menu_external_icon">Icono externo</string>
|
<string name="menu_external_icon">Icono externo</string>
|
||||||
<string name="autofill_manual_selection_summary">Muestra la opción para permitir al usuario seleccionar la entrada de la base de datos</string>
|
<string name="autofill_manual_selection_summary">Muestra la opción para permitir al usuario seleccionar el apunte de la base de datos</string>
|
||||||
<string name="autofill_manual_selection_title">Selección manual</string>
|
<string name="autofill_manual_selection_title">Selección manual</string>
|
||||||
<string name="autofill_select_entry">Seleccionar entrada…</string>
|
<string name="autofill_select_entry">Seleccionar apunte…</string>
|
||||||
<string name="hint_icon_name">Nombre del icono</string>
|
<string name="hint_icon_name">Nombre del icono</string>
|
||||||
<string name="warning_exact_alarm">No ha permitido que la app use una alarma exacta. Como resultado, las funciones que requieren un temporizador no se harán con una hora exacta.</string>
|
<string name="warning_exact_alarm">No ha permitido que la app use una alarma exacta. Como resultado, las funciones que requieren un temporizador no se harán con una hora exacta.</string>
|
||||||
<string name="permission">Permiso</string>
|
<string name="permission">Permiso</string>
|
||||||
@@ -587,7 +587,7 @@
|
|||||||
<string name="warning_database_info_reloaded">La recarga de la base de datos borrará los datos modificados localmente.</string>
|
<string name="warning_database_info_reloaded">La recarga de la base de datos borrará los datos modificados localmente.</string>
|
||||||
<string name="warning_keyfile_integrity">El hash del archivo no está garantizado porque Android puede cambiar sus datos sobre la marcha. Cambia la extensión del archivo a .bin para una integridad correcta.</string>
|
<string name="warning_keyfile_integrity">El hash del archivo no está garantizado porque Android puede cambiar sus datos sobre la marcha. Cambia la extensión del archivo a .bin para una integridad correcta.</string>
|
||||||
<string name="enable_keep_screen_on_title">Mantener pantalla encendida</string>
|
<string name="enable_keep_screen_on_title">Mantener pantalla encendida</string>
|
||||||
<string name="enable_keep_screen_on_summary">Mantiene la pantalla encendida cuando se visualiza la entrada</string>
|
<string name="enable_keep_screen_on_summary">Mantiene la pantalla encendida cuando se visualiza el apunte</string>
|
||||||
<string name="enable_screenshot_mode_title">Modo captura de pantalla</string>
|
<string name="enable_screenshot_mode_title">Modo captura de pantalla</string>
|
||||||
<string name="enable_screenshot_mode_summary">Permite que aplicaciones de terceros graben o tomen pantallazos de la aplicación</string>
|
<string name="enable_screenshot_mode_summary">Permite que aplicaciones de terceros graben o tomen pantallazos de la aplicación</string>
|
||||||
<string name="show_entry_colors_summary">Muestra los colores de primer y segundo plano de una entrada</string>
|
<string name="show_entry_colors_summary">Muestra los colores de primer y segundo plano de una entrada</string>
|
||||||
@@ -666,7 +666,7 @@
|
|||||||
<string name="ask">Preguntar</string>
|
<string name="ask">Preguntar</string>
|
||||||
<string name="configure">Configurar</string>
|
<string name="configure">Configurar</string>
|
||||||
<string name="unlock_and_link_biometric">Enlace de desbloqueo del dispositivo</string>
|
<string name="unlock_and_link_biometric">Enlace de desbloqueo del dispositivo</string>
|
||||||
<string name="menu_appearance_settings_summary">Temas, colores, atributos</string>
|
<string name="menu_appearance_settings_summary">Temas, colores, iconos, fuentes, atributos</string>
|
||||||
<string name="unlock">Desbloquear</string>
|
<string name="unlock">Desbloquear</string>
|
||||||
<string name="education_validate_entry_title">Validar la entrada</string>
|
<string name="education_validate_entry_title">Validar la entrada</string>
|
||||||
<string name="education_validate_entry_summary">No olvide validar tu inicio de sesión y guardar tu base de datos.\n\nSi se activa un bloqueo automático y olvidas que estabas haciendo una modificación, corres el riesgo de perder tus datos.</string>
|
<string name="education_validate_entry_summary">No olvide validar tu inicio de sesión y guardar tu base de datos.\n\nSi se activa un bloqueo automático y olvidas que estabas haciendo una modificación, corres el riesgo de perder tus datos.</string>
|
||||||
@@ -683,11 +683,52 @@
|
|||||||
<string name="style_name_dark">Oscuro</string>
|
<string name="style_name_dark">Oscuro</string>
|
||||||
<string name="warning_database_info_changed_options_read_only">Recargue la base de datos con los últimos cambios.</string>
|
<string name="warning_database_info_changed_options_read_only">Recargue la base de datos con los últimos cambios.</string>
|
||||||
<string name="nodes">Nodos</string>
|
<string name="nodes">Nodos</string>
|
||||||
<string name="recursive_number_entries_summary">Calcula recursivamente el número de entradas en un grupo</string>
|
<string name="recursive_number_entries_summary">Calcula recursivamente el número de apuntes en un grupo</string>
|
||||||
<string name="warning_large_keyfile">No se recomienda agregar un archivo de clave grande , esto puede impedir que se abra la base de datos.</string>
|
<string name="warning_large_keyfile">No se recomienda agregar un archivo de clave grande , esto puede impedir que se abra la base de datos.</string>
|
||||||
<string name="hide_templates_title">Ocultar plantillas</string>
|
<string name="hide_templates_title">Ocultar plantillas</string>
|
||||||
<string name="generate_keyfile">Generar archivo de claves</string>
|
<string name="generate_keyfile">Generar archivo de claves</string>
|
||||||
<string name="recursive_number_entries_title">Número recursivo de entradas</string>
|
<string name="recursive_number_entries_title">Número recursivo de apuntes</string>
|
||||||
<string name="hide_templates_summary">Las plantillas no se muestran</string>
|
<string name="hide_templates_summary">Las plantillas no se muestran</string>
|
||||||
<string name="error_otp_secret_length">La clave secreta debe tener al menos %1$d caracteres.</string>
|
<string name="error_otp_secret_length">La clave secreta debe tener al menos %1$d caracteres.</string>
|
||||||
|
<string name="entry_application_id">ID aplicación</string>
|
||||||
|
<string name="warning_overwrite_data_title">¿Desea sobrescribir los datos existentes?</string>
|
||||||
|
<string name="warning_overwrite_data_description">Esta acción sustituirá los datos existentes en el apuntes. Si el historial está habilitado, podrá recuperar los datos antiguos.</string>
|
||||||
|
<string name="credential_provider">Proveedor de credenciales</string>
|
||||||
|
<string name="passkeys_explanation_summary">Configure las claves de acceso para un inicio de sesión rápido y seguro sin contraseña</string>
|
||||||
|
<string name="passkeys">Claves de acceso</string>
|
||||||
|
<string name="passkeys_preference_title">Configuración de claves de acceso</string>
|
||||||
|
<string name="passkeys_close_database_title">Cerrar base de datos</string>
|
||||||
|
<string name="passkeys_close_database_summary">Cerrar la base de datos después de seleccionar una contraseña</string>
|
||||||
|
<string name="passkeys_privileged_apps_summary">Administrar navegadores en la lista personalizada de aplicaciones privilegiadas</string>
|
||||||
|
<string name="passkeys_privileged_apps_explanation">ADVERTENCIA: Una aplicación privilegiada actúa como puerta de enlace para recuperar el origen de una autenticación. Asegúrese de su legitimidad para evitar problemas de seguridad.</string>
|
||||||
|
<string name="passkeys_privileged_apps_title">Aplicaciones privilegiadas</string>
|
||||||
|
<string name="passkeys_privileged_apps_ask_title">Aplicación no reconocida</string>
|
||||||
|
<string name="passkeys_privileged_apps_ask_message">%1$s intenta realizar una acción de claves de acceso.\n\n¿Añadirlo a la lista de aplicaciones con privilegios?</string>
|
||||||
|
<string name="passkeys_missing_signature_app_ask_title">Falta la firma</string>
|
||||||
|
<string name="passkeys_missing_signature_app_ask_explanation">ADVERTENCIA: La clave de acceso se ha creado desde otro cliente o se ha eliminado la firma. Asegúrese de que la aplicación que desea autenticar forma parte del mismo servicio y es legítima para evitar problemas de seguridad.\nSi la aplicación es un navegador, no añada su firma al apunte, sino a la lista de aplicaciones privilegiadas en la configuración.</string>
|
||||||
|
<string name="passkeys_missing_signature_app_ask_message">%1$s no se reconoce e intenta autenticarse con una clave de acceso existente.</string>
|
||||||
|
<string name="passkeys_missing_signature_app_ask_question">¿Añadir firma de la aplicación al apunte de la clave de acceso?</string>
|
||||||
|
<string name="passkeys_auto_select_title">Selección automática</string>
|
||||||
|
<string name="passkeys_auto_select_summary">Seleccionar automáticamente si solo hay un apunte y la base de datos está abierta, solo si la aplicación solicitante es compatible</string>
|
||||||
|
<string name="passkeys_backup_eligibility_title">Requisitos para la copia de seguridad</string>
|
||||||
|
<string name="passkeys_backup_eligibility_summary">Determinar en el momento de la creación si se permite realizar copias de seguridad de la fuente de credenciales de clave pública</string>
|
||||||
|
<string name="passkeys_backup_state_title">Estado de copia de seguridad</string>
|
||||||
|
<string name="passkeys_backup_state_summary">Indique que las credenciales están respaldadas y protegidas contra la pérdida de un solo dispositivo</string>
|
||||||
|
<string name="credential_provider_service_subtitle">Claves de acceso, proveedor de credenciales de autocompletar</string>
|
||||||
|
<string name="passkey">Claves de acceso</string>
|
||||||
|
<string name="passkey_service_name">Proveedor de credenciales KeePassDX</string>
|
||||||
|
<string name="passkey_creation_description">Guardar clave de acceso en nuevo apunte</string>
|
||||||
|
<string name="passkey_update_description">Actualizar clave de acceso en %1$s</string>
|
||||||
|
<string name="passkey_selection_username">No se ha encontrado ninguna clave de acceso</string>
|
||||||
|
<string name="passkey_selection_description">Seleccionar una clave de acceso existente</string>
|
||||||
|
<string name="passkey_database_username">Base de datos KeePassDX</string>
|
||||||
|
<string name="passkey_locked_database_description">Seleccionar para desbloquear</string>
|
||||||
|
<string name="passkey_username">Nombre de usuario de clave de acceso</string>
|
||||||
|
<string name="passkey_private_key">Clave privada clave de acceso</string>
|
||||||
|
<string name="passkey_credential_id">Identificador de credencial de clave de acceso</string>
|
||||||
|
<string name="passkey_user_handle">Identificador de usuario de clave de acceso</string>
|
||||||
|
<string name="passkey_relying_party">Parte que confía en la clave de acceso</string>
|
||||||
|
<string name="passkey_backup_eligibility">Requisitos para la copia de seguridad de la clave de acceso</string>
|
||||||
|
<string name="passkey_backup_state">Estado de copia de seguridad de la clave de acceso</string>
|
||||||
|
<string name="error_passkey_result">No se puede retornar la clave de acceso</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
@@ -403,7 +403,7 @@
|
|||||||
<string name="database_history">Ajalugu</string>
|
<string name="database_history">Ajalugu</string>
|
||||||
<string name="properties">Omadused</string>
|
<string name="properties">Omadused</string>
|
||||||
<string name="menu_appearance_settings">Välimus</string>
|
<string name="menu_appearance_settings">Välimus</string>
|
||||||
<string name="menu_appearance_settings_summary">Välimus, värvid, omadused</string>
|
<string name="menu_appearance_settings_summary">Välimus, värvid, ikoonid, kirjatüübid, omadused</string>
|
||||||
<string name="html_text_dev_feature_upgrade">Ära unusta paigaldada viimaseid versioone ja tagada, et rakendus on alati uuendatud.</string>
|
<string name="html_text_dev_feature_upgrade">Ära unusta paigaldada viimaseid versioone ja tagada, et rakendus on alati uuendatud.</string>
|
||||||
<string name="at_least_one_char">Vähemalt üks tähemärk igast</string>
|
<string name="at_least_one_char">Vähemalt üks tähemärk igast</string>
|
||||||
<string name="exclude_ambiguous_chars">Välista mitmetähenduslikud tähemärgid</string>
|
<string name="exclude_ambiguous_chars">Välista mitmetähenduslikud tähemärgid</string>
|
||||||
@@ -452,7 +452,7 @@
|
|||||||
<string name="lock_database_screen_off_summary">Mõni sekund peale ekraani väljalülitumist lukusta andmebaas</string>
|
<string name="lock_database_screen_off_summary">Mõni sekund peale ekraani väljalülitumist lukusta andmebaas</string>
|
||||||
<string name="lock_database_back_root_title">Vajuta nuppu „Tagasi“</string>
|
<string name="lock_database_back_root_title">Vajuta nuppu „Tagasi“</string>
|
||||||
<string name="lock_database_show_button_title">Näita lukustuse nuppu</string>
|
<string name="lock_database_show_button_title">Näita lukustuse nuppu</string>
|
||||||
<string name="lock_database_back_root_summary">Lukusta andmebaas peale juurkaustas „Tagasi“ nupu klõpsimist</string>
|
<string name="lock_database_back_root_summary">Kui sa pole andmebaasi juurkasutas, siis lukusta andmebaas peale „Tagasi“ nupu klõpsimist</string>
|
||||||
<string name="allow_copy_password_title">Lõikelaua usaldamine</string>
|
<string name="allow_copy_password_title">Lõikelaua usaldamine</string>
|
||||||
<string name="allow_copy_password_summary">Luba sisestatud salasõna ja kaitstud väljade kopeerimise lõikelauale</string>
|
<string name="allow_copy_password_summary">Luba sisestatud salasõna ja kaitstud väljade kopeerimise lõikelauale</string>
|
||||||
<string name="education_unlock_title">Eemalda oma andmebaasi lukustus</string>
|
<string name="education_unlock_title">Eemalda oma andmebaasi lukustus</string>
|
||||||
@@ -470,7 +470,7 @@
|
|||||||
<string name="allow_copy_password_warning">Hoiatus: süsteemiülene lõikelaud on kõikide rakenduste kasutuses. Kui sa kopeerid sinna delikaatseid andmeid, siis muu tarkvara võib seda seal näha. Kui sa kasutad KDE Connecti või muud lõikelaua jagamise teenust, siis sõltuvalt seadistustest võivad need delikaatsed andmed olla nähtavad ka muudes seadmetes.</string>
|
<string name="allow_copy_password_warning">Hoiatus: süsteemiülene lõikelaud on kõikide rakenduste kasutuses. Kui sa kopeerid sinna delikaatseid andmeid, siis muu tarkvara võib seda seal näha. Kui sa kasutad KDE Connecti või muud lõikelaua jagamise teenust, siis sõltuvalt seadistustest võivad need delikaatsed andmed olla nähtavad ka muudes seadmetes.</string>
|
||||||
<string name="warning_database_revoked">Failihaldur on blokeerinud ligipääsu failile. Sulge andmebaas ja ava ta uuesti oma asukohast.</string>
|
<string name="warning_database_revoked">Failihaldur on blokeerinud ligipääsu failile. Sulge andmebaas ja ava ta uuesti oma asukohast.</string>
|
||||||
<string name="autofill_sign_in_prompt">Logi sisse KeePassDX abil</string>
|
<string name="autofill_sign_in_prompt">Logi sisse KeePassDX abil</string>
|
||||||
<string name="autofill_explanation_summary">Täitmaks andmevorme teistes rakenduses, luba automaattäite teenus</string>
|
<string name="autofill_explanation_summary">Täitmaks andmevorme teistes rakenduses, seadista automaattäite teenus</string>
|
||||||
<string name="autofill_select_entry">Vali kirje…</string>
|
<string name="autofill_select_entry">Vali kirje…</string>
|
||||||
<string name="set_credential_provider_service_title">Vali vaikimisi kasutatav automaattäite teenus</string>
|
<string name="set_credential_provider_service_title">Vali vaikimisi kasutatav automaattäite teenus</string>
|
||||||
<string name="autofill_preference_title">Automaattäite teenuse seadistused</string>
|
<string name="autofill_preference_title">Automaattäite teenuse seadistused</string>
|
||||||
@@ -662,4 +662,45 @@
|
|||||||
<string name="keyboard_previous_fill_in_summary">Peale tegevust „Automaatne võtmetoiming“ lülita automaatselt tagasi eelmisele klahvistikule</string>
|
<string name="keyboard_previous_fill_in_summary">Peale tegevust „Automaatne võtmetoiming“ lülita automaatselt tagasi eelmisele klahvistikule</string>
|
||||||
<string name="education_read_only_summary">Saad juhtida sessioonil kasutatavat avamisviisi.\n\n„Kirjutuskaitstud“ tagab, et juhuslike muudatustega ei läheks andmeid kaotsi.\n„Muudetav“ võimaldab sul lisada, kustutada või muuta kõiki andmebaasi kirjeid.</string>
|
<string name="education_read_only_summary">Saad juhtida sessioonil kasutatavat avamisviisi.\n\n„Kirjutuskaitstud“ tagab, et juhuslike muudatustega ei läheks andmeid kaotsi.\n„Muudetav“ võimaldab sul lisada, kustutada või muuta kõiki andmebaasi kirjeid.</string>
|
||||||
<string name="error_otp_secret_length">Salavõti peab olema vähemalt %1$d tähemärki pikk.</string>
|
<string name="error_otp_secret_length">Salavõti peab olema vähemalt %1$d tähemärki pikk.</string>
|
||||||
|
<string name="entry_application_id">Rakenduse tunnus</string>
|
||||||
|
<string name="passkeys_close_database_title">Sulge andmebaas</string>
|
||||||
|
<string name="passkeys_privileged_apps_ask_title">Rakendust ei õnnestu tuvastada</string>
|
||||||
|
<string name="warning_overwrite_data_title">Kas soovid olemasolevad andmed üle kirjutada?</string>
|
||||||
|
<string name="warning_overwrite_data_description">Selle toiminguga asendad kirje olemasolevad andmed, aga kui ajaloo logimine on kasutusel, siis saad vanu kirjeid ka hiljem näha.</string>
|
||||||
|
<string name="credential_provider">kasutajanime/salasõna automaattäite teenus</string>
|
||||||
|
<string name="passkeys">WebAuthn pääsuvõtmed</string>
|
||||||
|
<string name="passkeys_explanation_summary">Seadista WebAuthn pääsuvõtmed, mis võimaldavad kiiret ja turvalist salasõnadeta ligipääsu</string>
|
||||||
|
<string name="passkeys_preference_title">Pääsuvõtmete seadistused</string>
|
||||||
|
<string name="passkeys_close_database_summary">Peale pääsuvõtme valimist sulge andmebaas</string>
|
||||||
|
<string name="passkeys_privileged_apps_title">Eesõigustega rakendused</string>
|
||||||
|
<string name="passkeys_privileged_apps_summary">Halda brausereid sinu loodud eesõigustega rakenduste loendis</string>
|
||||||
|
<string name="passkeys_privileged_apps_explanation">HOIATUS: Eesõigustega rakendus toimib lüüsina autentimise algallikaga suhtlemisel. Turvaprobleemide vältimiseks palun taga, et kasutad õiget rakendust.</string>
|
||||||
|
<string name="passkeys_privileged_apps_ask_message">%1$s kaset pääsuvõtmega autentimiseks.\n\nKas lisame ta eesõigustega rakenduste loendisse?</string>
|
||||||
|
<string name="passkeys_missing_signature_app_ask_title">Allkiri on puudu</string>
|
||||||
|
<string name="passkeys_missing_signature_app_ask_explanation">HOAITUS: See pääsuluba on loodud teise kliendi poolt või on allkiri kustutatud. Turvaprobleemide vältimiseks palun kontrolli rakendus, milles soovi end tuvastada on sama teenuse osa ning sisuliselt õige.\n\nKui rakendus on veebibrauser, siis ära lisa allkirja kirje juurde vaid seadistustes leiduva eesõigustega rakenduste loendisse.</string>
|
||||||
|
<string name="passkeys_missing_signature_app_ask_message">%1$s on antud kontekstis tundmatu ja mittetunnustatud ning ta proovib autentimist olemasoleva pääsuvõtmega.</string>
|
||||||
|
<string name="passkeys_missing_signature_app_ask_question">Kas soovid lisada rakenduse allkirja pääsuvõtme kirjele?</string>
|
||||||
|
<string name="passkeys_auto_select_title">Automaatne valik</string>
|
||||||
|
<string name="passkeys_auto_select_summary">Vali automaatselt vaid siis, kui vaid üks kirje ja andmebaas on avatud ning vaid siis, kui rakendus ühildub</string>
|
||||||
|
<string name="passkeys_backup_eligibility_title">Varunduse kõlblikkus</string>
|
||||||
|
<string name="passkeys_backup_eligibility_summary">Otsusta loomise hetkel, kas avaliku võtme allikat on lubatud varundada</string>
|
||||||
|
<string name="passkeys_backup_state_title">Varunduse olek</string>
|
||||||
|
<string name="passkeys_backup_state_summary">Anna märku, kas autentimisandmed on varundatud ja kaitstud üksiku seadme kaotsimineku puhul</string>
|
||||||
|
<string name="credential_provider_service_subtitle">Pääsuvõtmed - automaattäite teenusepakkuja</string>
|
||||||
|
<string name="passkey">WebAuthn pääsuvõti</string>
|
||||||
|
<string name="passkey_service_name">KeePassDX autentimisteenusepakkuja</string>
|
||||||
|
<string name="passkey_creation_description">Salvesta pääsuvõti uue kirjena</string>
|
||||||
|
<string name="passkey_update_description">Uuenda pääsuvõtit: %1$s</string>
|
||||||
|
<string name="passkey_selection_username">Pääsuvõtit ei leidu</string>
|
||||||
|
<string name="passkey_selection_description">Vali olemasolev pääsuvõti</string>
|
||||||
|
<string name="passkey_database_username">KeePassDX-i andmebaas</string>
|
||||||
|
<string name="passkey_locked_database_description">Vali lukustuse eemaldamiseks</string>
|
||||||
|
<string name="passkey_username">Pääsuvõtme kasutajanimi</string>
|
||||||
|
<string name="passkey_private_key">Pääsuvõtme privaatvõti</string>
|
||||||
|
<string name="passkey_credential_id">Pääsuvõtme autentimisühiku tunnus</string>
|
||||||
|
<string name="passkey_user_handle">Pääsuvõtme kasutaja võrgutunnus</string>
|
||||||
|
<string name="passkey_relying_party">Pääsuvõtit edastav osapool</string>
|
||||||
|
<string name="passkey_backup_eligibility">Pääsuvõtme kõlblikkus varundamiseks</string>
|
||||||
|
<string name="passkey_backup_state">Pääsuvõtme varunduse olek</string>
|
||||||
|
<string name="error_passkey_result">Pääsuvõtme väljastamine vastuseks ei õnnestu</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
@@ -19,7 +19,7 @@
|
|||||||
--><resources>
|
--><resources>
|
||||||
<string name="feedback">Palaute</string>
|
<string name="feedback">Palaute</string>
|
||||||
<string name="homepage">Kotisivu</string>
|
<string name="homepage">Kotisivu</string>
|
||||||
<string name="about_description">KeePass-salasanahallintaohjelman Android-toteutus</string>
|
<string name="about_description">KeePass-salasanahallintaohjelman Android-toteutus.</string>
|
||||||
<string name="accept">Hyväksy</string>
|
<string name="accept">Hyväksy</string>
|
||||||
<string name="add_entry">Lisää uusi salasanatietue</string>
|
<string name="add_entry">Lisää uusi salasanatietue</string>
|
||||||
<string name="add_group">Lisää ryhmä</string>
|
<string name="add_group">Lisää ryhmä</string>
|
||||||
@@ -29,7 +29,7 @@
|
|||||||
<string name="application">Sovellus</string>
|
<string name="application">Sovellus</string>
|
||||||
<string name="menu_app_settings">Ohjelman asetukset</string>
|
<string name="menu_app_settings">Ohjelman asetukset</string>
|
||||||
<string name="brackets">Hakasulkeet</string>
|
<string name="brackets">Hakasulkeet</string>
|
||||||
<string name="file_manager_install_description">Tietokantojen avaamista, luomista ja tallentamista varten tarvitaan tiedostonhallintaohjelma, joka tukee ACTION_CREATE_DOCUMENT ja ACTION_OPEN_DOCUMENT Intent-toimintoja.</string>
|
<string name="file_manager_install_description">Tietokantojen avaamista, luomista ja tallentamista varten tarvitaan tiedostonhallintaohjelma, joka tukee ACTION_CREATE_DOCUMENT ja ACTION_OPEN_DOCUMENT intent-toimintoja.</string>
|
||||||
<string name="clipboard_cleared">Leikepöytä tyhjennetty</string>
|
<string name="clipboard_cleared">Leikepöytä tyhjennetty</string>
|
||||||
<string name="clipboard_error_title">Leikepöytävirhe</string>
|
<string name="clipboard_error_title">Leikepöytävirhe</string>
|
||||||
<string name="clipboard_error">Jotkin laitteet eivät anna sovellusten käyttää leikepöytää.</string>
|
<string name="clipboard_error">Jotkin laitteet eivät anna sovellusten käyttää leikepöytää.</string>
|
||||||
@@ -145,7 +145,7 @@
|
|||||||
<string name="edit_entry">Muokkaa merkintää</string>
|
<string name="edit_entry">Muokkaa merkintää</string>
|
||||||
<string name="error_disallow_no_credentials">Ainakin yksi pääsytieto tulee olla asetettuna.</string>
|
<string name="error_disallow_no_credentials">Ainakin yksi pääsytieto tulee olla asetettuna.</string>
|
||||||
<string name="error_load_database_KDF_memory">Avainta ei pystytty lataamaan. Kokeile vähentää KDF ”Muistin käyttöä”.</string>
|
<string name="error_load_database_KDF_memory">Avainta ei pystytty lataamaan. Kokeile vähentää KDF ”Muistin käyttöä”.</string>
|
||||||
<string name="error_load_database">Tietokantaa ei pystytty avaamaan.</string>
|
<string name="error_load_database">Tietokantaa ei pystytty lataamaan.</string>
|
||||||
<string name="error_invalid_OTP">Virheellinen OTP salaisuus.</string>
|
<string name="error_invalid_OTP">Virheellinen OTP salaisuus.</string>
|
||||||
<string name="entry_otp">OTP</string>
|
<string name="entry_otp">OTP</string>
|
||||||
<string name="otp_algorithm">Algoritmi</string>
|
<string name="otp_algorithm">Algoritmi</string>
|
||||||
@@ -173,7 +173,7 @@
|
|||||||
<string name="content_description_repeat_toggle_password_visibility">Toista salasanan näkyvyyden vaihto</string>
|
<string name="content_description_repeat_toggle_password_visibility">Toista salasanan näkyvyyden vaihto</string>
|
||||||
<string name="content_description_keyfile_checkbox">Avaintiedoston valintaruutu</string>
|
<string name="content_description_keyfile_checkbox">Avaintiedoston valintaruutu</string>
|
||||||
<string name="content_description_password_checkbox">Salasanan valintaruutu</string>
|
<string name="content_description_password_checkbox">Salasanan valintaruutu</string>
|
||||||
<string name="content_description_file_information">Tietoja tiedostosta</string>
|
<string name="content_description_file_information">Tiedoston tiedot</string>
|
||||||
<string name="content_description_add_item">Lisää esine</string>
|
<string name="content_description_add_item">Lisää esine</string>
|
||||||
<string name="content_description_add_group">Lisää ryhmä</string>
|
<string name="content_description_add_group">Lisää ryhmä</string>
|
||||||
<string name="content_description_add_entry">Lisää kohta</string>
|
<string name="content_description_add_entry">Lisää kohta</string>
|
||||||
@@ -192,7 +192,7 @@
|
|||||||
<string name="menu_appearance_settings">Ulkonäkö</string>
|
<string name="menu_appearance_settings">Ulkonäkö</string>
|
||||||
<string name="database_history">Historia</string>
|
<string name="database_history">Historia</string>
|
||||||
<string name="biometric">Biometrinen</string>
|
<string name="biometric">Biometrinen</string>
|
||||||
<string name="unavailable">Tässä salasanatietokannassa ei ole vielä pääsytietoja.</string>
|
<string name="unavailable">Ei saatavilla</string>
|
||||||
<string name="keystore_not_accessible">Avainsäilöä ei ole kunnolla alustettu.</string>
|
<string name="keystore_not_accessible">Avainsäilöä ei ole kunnolla alustettu.</string>
|
||||||
<string name="build_label">Koontiversio %1$s</string>
|
<string name="build_label">Koontiversio %1$s</string>
|
||||||
<string name="warning_database_link_revoked">Tiedostoon pääsy evätty</string>
|
<string name="warning_database_link_revoked">Tiedostoon pääsy evätty</string>
|
||||||
@@ -235,7 +235,7 @@
|
|||||||
<string name="memory_usage_explanation">Avaimen johtamisfunktion käyttämän muistin määrä.</string>
|
<string name="memory_usage_explanation">Avaimen johtamisfunktion käyttämän muistin määrä.</string>
|
||||||
<string name="memory_usage">Muistin käyttö</string>
|
<string name="memory_usage">Muistin käyttö</string>
|
||||||
<string name="kdf_explanation">Pääavain muunnetaan käyttäen satunnaista suolattua avaimen johtamisfunktiota, jotta salausalgoritmin avain voidaan generoida.</string>
|
<string name="kdf_explanation">Pääavain muunnetaan käyttäen satunnaista suolattua avaimen johtamisfunktiota, jotta salausalgoritmin avain voidaan generoida.</string>
|
||||||
<string name="encryption_explanation">Salasanatietokannan salausalgoritmi, jota käytetään kaikelle datalle.</string>
|
<string name="encryption_explanation">Salasanatietokannan salausalgoritmi, jota käytetään kaikelle datalle</string>
|
||||||
<string name="password_size_title">Generoidun salasanan pituus</string>
|
<string name="password_size_title">Generoidun salasanan pituus</string>
|
||||||
<string name="set_credential_provider_service_title">Aseta oletus automaattiselle täytölle</string>
|
<string name="set_credential_provider_service_title">Aseta oletus automaattiselle täytölle</string>
|
||||||
<string name="autofill_sign_in_prompt">Kirjaudu sisään KeePassDX:llä</string>
|
<string name="autofill_sign_in_prompt">Kirjaudu sisään KeePassDX:llä</string>
|
||||||
@@ -257,10 +257,10 @@
|
|||||||
<string name="sort_menu">Järjestä</string>
|
<string name="sort_menu">Järjestä</string>
|
||||||
<string name="parallelism_explanation">Avaimen johtamisfunktion käyttämä rinnakkaisuuden aste (eli säikeiden määrä).</string>
|
<string name="parallelism_explanation">Avaimen johtamisfunktion käyttämä rinnakkaisuuden aste (eli säikeiden määrä).</string>
|
||||||
<string name="show_recent_files_title">Näytä viimeaikaiset tiedostot</string>
|
<string name="show_recent_files_title">Näytä viimeaikaiset tiedostot</string>
|
||||||
<string name="remember_keyfile_locations_summary">Muista salasanatietokantojen avaintiedostojen sijainti</string>
|
<string name="remember_keyfile_locations_summary">Tallentaa avaintiedostojen tiedostosijannin</string>
|
||||||
<string name="remember_keyfile_locations_title">Tallenna avaintiedostojen sijainti</string>
|
<string name="remember_keyfile_locations_title">Muista avaintiedostojen tiedostosijainnin</string>
|
||||||
<string name="remember_database_locations_summary">Muista salasanatietokantojen sijainti</string>
|
<string name="remember_database_locations_summary">Tallentaa tietokantojen tiedostosijainnit</string>
|
||||||
<string name="remember_database_locations_title">Tallenna salasatietokantojen sijainti</string>
|
<string name="remember_database_locations_title">Muista tietokantojen sijainnit</string>
|
||||||
<string name="selection_mode">Valintatila</string>
|
<string name="selection_mode">Valintatila</string>
|
||||||
<string name="contains_duplicate_uuid_procedure">Ratkaise ongelma generoimalla uudet UUID:t kaksoiskappaleilla jatkaaksesi\?</string>
|
<string name="contains_duplicate_uuid_procedure">Ratkaise ongelma generoimalla uudet UUID:t kaksoiskappaleilla jatkaaksesi\?</string>
|
||||||
<string name="contains_duplicate_uuid">Tietokanta sisältää päällekkäisiä UUID-tunnuksia.</string>
|
<string name="contains_duplicate_uuid">Tietokanta sisältää päällekkäisiä UUID-tunnuksia.</string>
|
||||||
@@ -286,9 +286,9 @@
|
|||||||
<string name="menu_form_filling_settings">Lomakkeen täyttö</string>
|
<string name="menu_form_filling_settings">Lomakkeen täyttö</string>
|
||||||
<string name="copy_field">Kopio %1$s:sta</string>
|
<string name="copy_field">Kopio %1$s:sta</string>
|
||||||
<string name="creating_database">Luodaan tietokantaa…</string>
|
<string name="creating_database">Luodaan tietokantaa…</string>
|
||||||
<string name="list_groups_show_number_entries_summary">Näytä tietueiden määrä ryhmässä</string>
|
<string name="list_groups_show_number_entries_summary">Näyttää tietueiden määrän ryhmässä</string>
|
||||||
<string name="list_groups_show_number_entries_title">Näytä tietueiden määrä</string>
|
<string name="list_groups_show_number_entries_title">Näytä tietueiden määrä</string>
|
||||||
<string name="list_entries_show_username_summary">Näytä käyttäjänimet tietuelistoissa</string>
|
<string name="list_entries_show_username_summary">Näyttää käyttäjänimet tietuelistoissa</string>
|
||||||
<string name="list_entries_show_username_title">Näytä käyttäjänimet</string>
|
<string name="list_entries_show_username_title">Näytä käyttäjänimet</string>
|
||||||
<string name="invalid_db_same_uuid">%1$s samalla UUID:lla %2$s on jo olemassa.</string>
|
<string name="invalid_db_same_uuid">%1$s samalla UUID:lla %2$s on jo olemassa.</string>
|
||||||
<string name="file_not_found_content">Tiedostoa ei löytynyt. Yritä avata se uudelleen tiedostoselaimessasi.</string>
|
<string name="file_not_found_content">Tiedostoa ei löytynyt. Yritä avata se uudelleen tiedostoselaimessasi.</string>
|
||||||
@@ -367,7 +367,7 @@
|
|||||||
<string name="public_key">Julkinen avain</string>
|
<string name="public_key">Julkinen avain</string>
|
||||||
<string name="private_key">Salainen avain</string>
|
<string name="private_key">Salainen avain</string>
|
||||||
<string name="error_word_reserved">Tämä sana on varattu eikä sitä voi käyttää.</string>
|
<string name="error_word_reserved">Tämä sana on varattu eikä sitä voi käyttää.</string>
|
||||||
<string name="error_otp_type">Olemassaolevaa OTP-tyyppiä ei ole tunnistettu tällä lomakkeella, ja sen validointi ei välttämättä enää tuota oikein tokenia.</string>
|
<string name="error_otp_type">Olemassaolevaa OTP-tyyppiä ei ole tunnistettu tällä lomakkeella, ja sen validointi ei välttämättä enää tuota tokenia oikein.</string>
|
||||||
<string name="show_uuid_summary">Näyttää tietueen tai ryhmän UUID-tunnisteen</string>
|
<string name="show_uuid_summary">Näyttää tietueen tai ryhmän UUID-tunnisteen</string>
|
||||||
<string name="generate_keyfile">Luo avaintiedosto</string>
|
<string name="generate_keyfile">Luo avaintiedosto</string>
|
||||||
<string name="nodes">Solmut</string>
|
<string name="nodes">Solmut</string>
|
||||||
@@ -388,16 +388,16 @@
|
|||||||
<string name="error_database_uri_null">Tietokannan URI-osoitetta ei voi palauttaa.</string>
|
<string name="error_database_uri_null">Tietokannan URI-osoitetta ei voi palauttaa.</string>
|
||||||
<string name="error_file_to_big">Lataamasi tiedosto on liian suuri.</string>
|
<string name="error_file_to_big">Lataamasi tiedosto on liian suuri.</string>
|
||||||
<string name="error_remove_file">Virhe poistaessa tiedoston tietoja.</string>
|
<string name="error_remove_file">Virhe poistaessa tiedoston tietoja.</string>
|
||||||
<string name="error_challenge_already_requested">Haaste on jo pyydetty</string>
|
<string name="error_challenge_already_requested">Haaste on jo pyydetty.</string>
|
||||||
<string name="error_response_already_provided">Vastaus on jo annettu.</string>
|
<string name="error_response_already_provided">Vastaus on jo annettu.</string>
|
||||||
<string name="error_no_response_from_challenge">Vastausta haasteeseen ei voitu saada.</string>
|
<string name="error_no_response_from_challenge">Vastausta haasteeseen ei voitu saada.</string>
|
||||||
<string name="error_unable_merge_database_kdb">Ei voitu yhdistää kdb-tietokantatiedostoon</string>
|
<string name="error_unable_merge_database_kdb">Ei voitu yhdistää kdb-tietokantatiedostoon.</string>
|
||||||
<string name="error_location_unknown">Tietokannan sijainti ei ole tiedossa, tietokannan toimintaa ei voida suorittaa.</string>
|
<string name="error_location_unknown">Tietokannan sijainti ei ole tiedossa, tietokannan toimintaa ei voida suorittaa.</string>
|
||||||
<string name="error_hardware_key_unsupported">Laitteistoavainta ei tueta.</string>
|
<string name="error_hardware_key_unsupported">Laitteistoavainta ei tueta.</string>
|
||||||
<string name="error_empty_key">Avain ei voi olla tyhjä.</string>
|
<string name="error_empty_key">Avain ei voi olla tyhjä.</string>
|
||||||
<string name="corrupted_file">Korruptoitunut tiedosto.</string>
|
<string name="corrupted_file">Korruptoitunut tiedosto.</string>
|
||||||
<string name="passphrase">Salalause</string>
|
<string name="passphrase">Salalause</string>
|
||||||
<string name="error_registration_read_only">Uuden tietueen tallentaminen ei ole sallittua, kun tietokanta on vain lukutilassa</string>
|
<string name="error_registration_read_only">Uuden tietueen tallentaminen ei ole sallittua, kun tietokanta on Vain luku -tilassa.</string>
|
||||||
<string name="bank_name">Pankin nimi</string>
|
<string name="bank_name">Pankin nimi</string>
|
||||||
<string name="warning_permanently_delete_nodes">Poista pysyvästi valitut solmut?</string>
|
<string name="warning_permanently_delete_nodes">Poista pysyvästi valitut solmut?</string>
|
||||||
<string name="warning_database_info_changed">Tietokantatiedoston sisältämää tietoa on muutettu sovelluksen ulkopuolella.</string>
|
<string name="warning_database_info_changed">Tietokantatiedoston sisältämää tietoa on muutettu sovelluksen ulkopuolella.</string>
|
||||||
@@ -416,10 +416,10 @@
|
|||||||
<string name="menu_security_settings_summary">Salaus, avaimen johtamisfunktio</string>
|
<string name="menu_security_settings_summary">Salaus, avaimen johtamisfunktio</string>
|
||||||
<string name="master_key_settings_summary">Muutos, uudistus</string>
|
<string name="master_key_settings_summary">Muutos, uudistus</string>
|
||||||
<string name="remember_hardware_key_title">Muista laitteistoavaimet</string>
|
<string name="remember_hardware_key_title">Muista laitteistoavaimet</string>
|
||||||
<string name="remember_hardware_key_summary">Seuraa käytettyjä laitteistoavaimia</string>
|
<string name="remember_hardware_key_summary">Tallenna käytetyt laitteistoavaimet</string>
|
||||||
<string name="import_app_properties_title">Tuo sovellusasetukset</string>
|
<string name="import_app_properties_title">Tuo sovellusasetukset</string>
|
||||||
<string name="import_app_properties_summary">Valitse tiedosto tuodaksesi sovellusasetukset</string>
|
<string name="import_app_properties_summary">Valitse tiedosto tuodaksesi sovellusasetukset</string>
|
||||||
<string name="error_import_app_properties">Virhe sovellusasetuksia tuodessa</string>
|
<string name="error_import_app_properties">Virhe sovellusasetuksia tuodessa.</string>
|
||||||
<string name="filter">Suodatin</string>
|
<string name="filter">Suodatin</string>
|
||||||
<string name="warning_database_already_opened">Sulje avoinna oleva tietokanta ennen uuden avaamista</string>
|
<string name="warning_database_already_opened">Sulje avoinna oleva tietokanta ennen uuden avaamista</string>
|
||||||
<string name="warning_empty_recycle_bin">Poista pysyvästi kaikki solmut roskakorista?</string>
|
<string name="warning_empty_recycle_bin">Poista pysyvästi kaikki solmut roskakorista?</string>
|
||||||
@@ -435,6 +435,52 @@
|
|||||||
<string name="export_app_properties_title">Vie sovellusasetukset</string>
|
<string name="export_app_properties_title">Vie sovellusasetukset</string>
|
||||||
<string name="description_app_properties">KeePassDX ominaisuudet sovellusasetusten hallintaan</string>
|
<string name="description_app_properties">KeePassDX ominaisuudet sovellusasetusten hallintaan</string>
|
||||||
<string name="success_import_app_properties">Sovellusasetukset tuotu</string>
|
<string name="success_import_app_properties">Sovellusasetukset tuotu</string>
|
||||||
<string name="error_export_app_properties">Virhe sovellusasetuksia viedessä</string>
|
<string name="error_export_app_properties">Virhe sovellusasetuksia viedessä.</string>
|
||||||
<string name="success_export_app_properties">Sovellusasetukset tuotu</string>
|
<string name="success_export_app_properties">Sovellusasetukset tuotu</string>
|
||||||
|
<string name="error_otp_secret_length">Secret key on oltava vähintään %1$d merkkiä.</string>
|
||||||
|
<string name="warning_database_info_changed_options">Yhdistä tiedot, korvaa ulkoiset muutokset tallentamalla tietokanta tai lataa se uudelleen uusimmilla muutoksilla.</string>
|
||||||
|
<string name="warning_database_info_changed_options_read_only">Lataa tietokanta uudelleen uusimmilla muutoksilla.</string>
|
||||||
|
<string name="warning_database_info_reloaded">Tietokannan uudelleenlataaminen poistaa paikallisesti muokatut tiedot.</string>
|
||||||
|
<string name="warning_database_revoked">Tiedostonhallintaohjelma on peruuttanut tiedoston käyttöoikeuden. Sulje tietokanta ja avaa se uudelleen sen sijainnista.</string>
|
||||||
|
<string name="warning_exact_alarm">Et ole antanut sovellukselle lupaa käyttää tarkkaa hälytystä. Tämän seurauksena ajastinta vaativat toiminnot eivät toimi tarkalla ajalla.</string>
|
||||||
|
<string name="warning_keyfile_integrity">Tiedoston tiivisteen eheys ei ole taattu, koska Android voi muuttaa sen tietoja lennossa. Vaihda tiedostopääte .bin:ksi oikean eheyden varmistamiseksi.</string>
|
||||||
|
<string name="warning_copy_permission">Ilmoitusoikeus tarvitaan leikepöydän ilmoitusominaisuuden käyttämiseen.</string>
|
||||||
|
<string name="later">Myöhemmin</string>
|
||||||
|
<string name="ask">Kysy</string>
|
||||||
|
<string name="merge_success">Yhdistäminen suoritettu onnistuneesti</string>
|
||||||
|
<string name="permission">Lupa</string>
|
||||||
|
<string name="configure">Määritä</string>
|
||||||
|
<string name="biometric_security_update_required">Biometrinen turvallisuuspäivitys vaaditaan.</string>
|
||||||
|
<string name="unlock_and_link_biometric">Laitteen lukituksen avauslinkki</string>
|
||||||
|
<string name="device_unlock_prompt_store_credential_title">Linkki laitteen lukituksen avaamiseen</string>
|
||||||
|
<string name="device_unlock_prompt_store_credential_message">Sinun on edelleen muistettava pääkäyttäjätunnuksesi, jos käytät laitteen lukituksen avaamisen tunnistusta.</string>
|
||||||
|
<string name="device_unlock_prompt_extract_credential_title">Laitteen lukituksen tunnistus</string>
|
||||||
|
<string name="device_unlock_prompt_extract_credential_message">Hae tietokannan tunnistetiedot laitteen lukituksen avaustiedoilla</string>
|
||||||
|
<string name="device_unlock_invalid_key">Laitteen lukituksen avausavainta ei voi lukea. Poista se ja toista lukituksen tunnistamismenettely.</string>
|
||||||
|
<string name="device_unlock_not_recognized">Laitteen lukituksen avaustunnistetta ei tunnistettu</string>
|
||||||
|
<string name="device_unlock_prompt_not_initialized">Laitteen lukituksen avauskehotuksen alustaminen epäonnistui.</string>
|
||||||
|
<string name="credential_before_click_device_unlock_button">Kirjoita salasana ja napsauta sitten tätä painiketta.</string>
|
||||||
|
<string name="properties">Ominaisuudet</string>
|
||||||
|
<string name="menu_appearance_settings_summary">Teemat, värit, kuvakkeet, fontit, attribuutit</string>
|
||||||
|
<string name="device_credential">Laitteen tunnistetiedot</string>
|
||||||
|
<string name="entry_application_id">Sovelluksen ID</string>
|
||||||
|
<string name="warning_overwrite_data_title">Tallenna olemassaolevan datan päälle?</string>
|
||||||
|
<string name="warning_overwrite_data_description">Tämä toiminto korvaa tietueessa jo olemassa olevan datan, mutta voit palauttaa vanhan datan jos historia on otettu käyttöön.</string>
|
||||||
|
<string name="configure_biometric">Biometrisiä tunnistetietoja tai laitteen lukitusta ei ole otettu käyttöön.</string>
|
||||||
|
<string name="credential_provider">Tunnistetietojen tarjoaja</string>
|
||||||
|
<string name="passkeys">Pääsyavaimet</string>
|
||||||
|
<string name="passkeys_explanation_summary">Ota pääsyavaimet käyttöön nopeaan ja turvalliseen salasanattomaan kirjautumiseen</string>
|
||||||
|
<string name="passkeys_preference_title">Pääsyavainten asetukset</string>
|
||||||
|
<string name="passkeys_close_database_title">Sulje tietokanta</string>
|
||||||
|
<string name="passkeys_close_database_summary">Sulje tietokanta pääsyavaimen valitsemisen jälkeen</string>
|
||||||
|
<string name="passkeys_privileged_apps_title">Luotetut sovellukset</string>
|
||||||
|
<string name="passkeys_privileged_apps_summary">Hallinnoi selaimia luotettujen sovellustesi listassa</string>
|
||||||
|
<string name="passkeys_privileged_apps_explanation">VAROITUS: Luotettu sovellus toimii porttina tunnistautumisen alkuperän selvittämiseen. Varmista sen aitous välttääksesi tietoturvaongelmia.</string>
|
||||||
|
<string name="passkeys_privileged_apps_ask_title">Sovellusta ei tunnistettu</string>
|
||||||
|
<string name="passkeys_privileged_apps_ask_message">%1$s yrittää pääsyavaintoimintoa.\n\nLisätäänkö se luotettujen sovellusten listaan?</string>
|
||||||
|
<string name="passkeys_missing_signature_app_ask_title">Allekirjoitus puuttuu</string>
|
||||||
|
<string name="passkeys_missing_signature_app_ask_explanation">VAROITUS: Pääsyavain joko luotiin toisessa ohjelmassa tai sen allekirjoitus on poistettu. Varmista, että sovellus jonka haluat todentaa on osana samaa palvelua, ja että se on aito tietoturvaongelmien välttämiseksi.\nJos sovellus on selain, älä lisää sen allekirjoitusta tietueeseen, vaan lisää se asetuksissa luotettujen sovellusten listaan.</string>
|
||||||
|
<string name="passkeys_missing_signature_app_ask_message">%1$s on tuntematon ja se yrittää tunnistautua jo olemassaolevalla pääsyavaimella.</string>
|
||||||
|
<string name="passkeys_missing_signature_app_ask_question">Lisätäänkö sovelluksen allekirjoitus pääsyavaimen tietueeseen?</string>
|
||||||
|
<string name="passkeys_auto_select_title">Automaattinen valinta</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
@@ -19,7 +19,7 @@
|
|||||||
--><resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation">
|
--><resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation">
|
||||||
<string name="feedback">Commentaires</string>
|
<string name="feedback">Commentaires</string>
|
||||||
<string name="homepage">Page d’accueil</string>
|
<string name="homepage">Page d’accueil</string>
|
||||||
<string name="about_description">Implémentation Android du gestionnaire de mots de passe KeePass</string>
|
<string name="about_description">Implémentation Android du gestionnaire de mots de passe KeePass.</string>
|
||||||
<string name="accept">Accepter</string>
|
<string name="accept">Accepter</string>
|
||||||
<string name="add_entry">Ajouter une entrée</string>
|
<string name="add_entry">Ajouter une entrée</string>
|
||||||
<string name="add_group">Ajouter un groupe</string>
|
<string name="add_group">Ajouter un groupe</string>
|
||||||
@@ -165,7 +165,7 @@
|
|||||||
<string name="autofill">Remplissage automatique</string>
|
<string name="autofill">Remplissage automatique</string>
|
||||||
<string name="autofill_sign_in_prompt">Se connecter avec KeePassDX</string>
|
<string name="autofill_sign_in_prompt">Se connecter avec KeePassDX</string>
|
||||||
<string name="set_credential_provider_service_title">Définir le service de remplissage automatique par défaut</string>
|
<string name="set_credential_provider_service_title">Définir le service de remplissage automatique par défaut</string>
|
||||||
<string name="autofill_explanation_summary">Activer le remplissage automatique pour remplir rapidement des formulaires dans d’autres applications</string>
|
<string name="autofill_explanation_summary">Configurer le remplissage automatique pour remplir rapidement des formulaires dans d’autres applications</string>
|
||||||
<string name="autofill_select_entry">Sélectionner une entrée…</string>
|
<string name="autofill_select_entry">Sélectionner une entrée…</string>
|
||||||
<string name="password_size_title">Taille du mot de passe généré</string>
|
<string name="password_size_title">Taille du mot de passe généré</string>
|
||||||
<string name="password_size_summary">Défini la taille par défaut des mots de passe générés</string>
|
<string name="password_size_summary">Défini la taille par défaut des mots de passe générés</string>
|
||||||
@@ -319,7 +319,7 @@
|
|||||||
<string name="selection_mode">Mode sélection</string>
|
<string name="selection_mode">Mode sélection</string>
|
||||||
<string name="do_not_kill_app">Ne pas fermer l\'application…</string>
|
<string name="do_not_kill_app">Ne pas fermer l\'application…</string>
|
||||||
<string name="lock_database_back_root_title">Appuyer sur \"Retour\" pour verrouiller</string>
|
<string name="lock_database_back_root_title">Appuyer sur \"Retour\" pour verrouiller</string>
|
||||||
<string name="lock_database_back_root_summary">Verrouille la base de données lorsque l’utilisateur clique sur le bouton retour de l’écran racine</string>
|
<string name="lock_database_back_root_summary">Appuyer sur « Retour » pour verrouiller la base de données si vous vous trouvez sur l\'écran racine de la base de données</string>
|
||||||
<string name="clear_clipboard_notification_title">Suppression à la fermeture</string>
|
<string name="clear_clipboard_notification_title">Suppression à la fermeture</string>
|
||||||
<string name="clear_clipboard_notification_summary">Verrouille la base de données lorsque la durée du presse-papier expire ou que la notification est fermée après avoir commencé à l’utiliser</string>
|
<string name="clear_clipboard_notification_summary">Verrouille la base de données lorsque la durée du presse-papier expire ou que la notification est fermée après avoir commencé à l’utiliser</string>
|
||||||
<string name="recycle_bin">Corbeille</string>
|
<string name="recycle_bin">Corbeille</string>
|
||||||
@@ -539,7 +539,7 @@
|
|||||||
<string name="unit_mebibyte">Mébioctets</string>
|
<string name="unit_mebibyte">Mébioctets</string>
|
||||||
<string name="unit_kibibyte">Kibioctets</string>
|
<string name="unit_kibibyte">Kibioctets</string>
|
||||||
<string name="unit_byte">Octets</string>
|
<string name="unit_byte">Octets</string>
|
||||||
<string name="error_otp_type">Le type OTP existant n\'est pas reconnu par ce formulaire, sa validation peut ne plus générer correctement le jeton.</string>
|
<string name="error_otp_type">Le type OTP existant n\'est pas reconnu par ce formulaire, et sa validation peut ne plus générer correctement le jeton.</string>
|
||||||
<string name="download_canceled">Annulé !</string>
|
<string name="download_canceled">Annulé !</string>
|
||||||
<string name="icon_section_custom">Customisé</string>
|
<string name="icon_section_custom">Customisé</string>
|
||||||
<string name="icon_section_standard">Standard</string>
|
<string name="icon_section_standard">Standard</string>
|
||||||
@@ -702,4 +702,45 @@
|
|||||||
<string name="hide_templates_title">Cacher les gabarits</string>
|
<string name="hide_templates_title">Cacher les gabarits</string>
|
||||||
<string name="hide_templates_summary">Les gabarits ne sont pas affichés</string>
|
<string name="hide_templates_summary">Les gabarits ne sont pas affichés</string>
|
||||||
<string name="error_otp_secret_length">La clé secrète doit avoir ai moins %1$d caractères.</string>
|
<string name="error_otp_secret_length">La clé secrète doit avoir ai moins %1$d caractères.</string>
|
||||||
|
<string name="entry_application_id">ID d\'application</string>
|
||||||
|
<string name="warning_overwrite_data_title">Écraser les données existantes ?</string>
|
||||||
|
<string name="warning_overwrite_data_description">Cette action va remplacer la donnée existante de cette entrée, vous pourrez récupérer l\'ancienne donnée si l\'historique est activé.</string>
|
||||||
|
<string name="passkeys">Clé d\'accès</string>
|
||||||
|
<string name="passkeys_explanation_summary">Configurer des clés d\'accès pour une connexion rapide et sécurisée, sans mot de passe</string>
|
||||||
|
<string name="passkeys_preference_title">Paramètres des clés d\'accès</string>
|
||||||
|
<string name="passkeys_close_database_title">Fermer la base de données</string>
|
||||||
|
<string name="credential_provider">Fournisseur d\'authentification</string>
|
||||||
|
<string name="passkeys_close_database_summary">Fermer la base de données après la sélection d\'un mot de passe</string>
|
||||||
|
<string name="passkeys_privileged_apps_title">Applications privilégiées</string>
|
||||||
|
<string name="passkeys_privileged_apps_summary">Gérer les navigateurs dans la liste personnalisée des applications privilégiées</string>
|
||||||
|
<string name="passkeys_privileged_apps_explanation">AVERTISSEMENT : une application privilégiée sert de passerelle pour récupérer l\'origine d\'une authentification. Assurez-vous de sa légitimité afin d\'éviter tout problème de sécurité.</string>
|
||||||
|
<string name="passkeys_privileged_apps_ask_title">Application non reconnue</string>
|
||||||
|
<string name="passkeys_privileged_apps_ask_message">%1$s tente d\'effectuer une action Passkey.\n\nL\'ajouter à la liste des applications privilégiées ?</string>
|
||||||
|
<string name="passkeys_missing_signature_app_ask_title">Signature manquante</string>
|
||||||
|
<string name="passkeys_missing_signature_app_ask_explanation">AVERTISSEMENT : la clé d\'accès a été créée à partir d\'un autre client ou la signature a été supprimée. Assurez-vous que l\'application que vous souhaitez authentifier fait partie du même service et qu\'elle est légitime afin d\'éviter tout problème de sécurité.\nSi l\'application est un navigateur, n\'ajoutez pas sa signature à l\'entrée, mais à la liste des applications privilégiées dans les paramètres.</string>
|
||||||
|
<string name="passkeys_missing_signature_app_ask_message">%1$s n\'est pas reconnu et tente de s\'authentifier avec une clé d\'accès existante.</string>
|
||||||
|
<string name="passkeys_missing_signature_app_ask_question">Ajouter la signature d\'application à l\'entrée contenant la clé d\'accès ?</string>
|
||||||
|
<string name="passkeys_auto_select_title">Sélection automatique</string>
|
||||||
|
<string name="passkeys_auto_select_summary">Sélection automatique s\'il n\'y a qu\'une seule entrée et que la base de données est ouverte, uniquement si l\'application requérante est compatible</string>
|
||||||
|
<string name="passkeys_backup_eligibility_title">Admissibilité à la sauvegarde</string>
|
||||||
|
<string name="passkeys_backup_eligibility_summary">Déterminer au moment de la création si la source d\'authentification de clé publique est autorisé à une copie de sauvegarde</string>
|
||||||
|
<string name="passkeys_backup_state_title">État de sauvegarde</string>
|
||||||
|
<string name="passkeys_backup_state_summary">Indiquer que les informations d\'authentification sont sauvegardées et protégées contre la perte d\'un seul appareil</string>
|
||||||
|
<string name="credential_provider_service_subtitle">Clés d\'accès, Remplissage automatique fournisseur d\'authentification</string>
|
||||||
|
<string name="passkey">Clé d\'accès</string>
|
||||||
|
<string name="passkey_service_name">KeePassDX Fournisseur d\'Authentification</string>
|
||||||
|
<string name="passkey_creation_description">Enregistrer la clé d\'accès dans la nouvelle entrée</string>
|
||||||
|
<string name="passkey_update_description">Mettre à jour la clé d\'accès dans %1$s</string>
|
||||||
|
<string name="passkey_selection_username">Aucune clé d\'accès trouvée</string>
|
||||||
|
<string name="passkey_selection_description">Sélectionner une clé d\'accès existante</string>
|
||||||
|
<string name="passkey_database_username">Base de données KeePassDX</string>
|
||||||
|
<string name="passkey_locked_database_description">Sélectionner pour déverrouiller</string>
|
||||||
|
<string name="passkey_username">Nom d\'Utilisateur de Clé d\'Accès</string>
|
||||||
|
<string name="passkey_private_key">Clé Privée de Clé d\'Accès</string>
|
||||||
|
<string name="passkey_credential_id">Identifiant d\'Authentification de Clé d\'Accès</string>
|
||||||
|
<string name="passkey_user_handle">Identifiant Utilisateur de Clé d\'Accès</string>
|
||||||
|
<string name="passkey_relying_party">Partie Utilisatrice de Clé d\'Accès</string>
|
||||||
|
<string name="passkey_backup_eligibility">Admissibilité à la Sauvegarde de Clé d\'Accès</string>
|
||||||
|
<string name="passkey_backup_state">État de la Sauvegarde de Clé d\'Accès</string>
|
||||||
|
<string name="error_passkey_result">Impossible de restituer la clé d\'accès</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
@@ -18,7 +18,7 @@
|
|||||||
along with KeePassDX. If not, see <http://www.gnu.org/licenses/>.
|
along with KeePassDX. If not, see <http://www.gnu.org/licenses/>.
|
||||||
--><resources>
|
--><resources>
|
||||||
<string name="feedback">Visszajelzés</string>
|
<string name="feedback">Visszajelzés</string>
|
||||||
<string name="homepage">Honlap</string>
|
<string name="homepage">Weboldal</string>
|
||||||
<string name="about_description">A KeePass jelszókezelő androidos megvalósítása.</string>
|
<string name="about_description">A KeePass jelszókezelő androidos megvalósítása.</string>
|
||||||
<string name="accept">Elfogadás</string>
|
<string name="accept">Elfogadás</string>
|
||||||
<string name="add_entry">Bejegyzés hozzáadása</string>
|
<string name="add_entry">Bejegyzés hozzáadása</string>
|
||||||
@@ -29,7 +29,7 @@
|
|||||||
<string name="application">Alkalmazás</string>
|
<string name="application">Alkalmazás</string>
|
||||||
<string name="menu_app_settings">Alkalmazásbeállítások</string>
|
<string name="menu_app_settings">Alkalmazásbeállítások</string>
|
||||||
<string name="brackets">Zárójelek</string>
|
<string name="brackets">Zárójelek</string>
|
||||||
<string name="file_manager_install_description">Az adatbázisfájlok létrehozásához, megnyitásához és mentéséhez szükség van egy fájlkezelőre, amely képes fogadni az ACTION_CREATE_DOCUMENT és ACTION_OPEN_DOCUMENT Intenteket.</string>
|
<string name="file_manager_install_description">Az adatbázisfájlok létrehozásához, megnyitásához és mentéséhez szükség van egy fájlkezelőre, amely képes fogadni az ACTION_CREATE_DOCUMENT és ACTION_OPEN_DOCUMENT intenteket.</string>
|
||||||
<string name="clipboard_cleared">Vágólap törölve</string>
|
<string name="clipboard_cleared">Vágólap törölve</string>
|
||||||
<string name="clipboard_error_title">Vágólaphiba</string>
|
<string name="clipboard_error_title">Vágólaphiba</string>
|
||||||
<string name="clipboard_error">Egyes eszközök nem engedik, hogy az alkalmazások használják a vágólapot.</string>
|
<string name="clipboard_error">Egyes eszközök nem engedik, hogy az alkalmazások használják a vágólapot.</string>
|
||||||
@@ -56,7 +56,7 @@
|
|||||||
<string name="entry_password">Jelszó</string>
|
<string name="entry_password">Jelszó</string>
|
||||||
<string name="save">Mentés</string>
|
<string name="save">Mentés</string>
|
||||||
<string name="entry_title">Cím</string>
|
<string name="entry_title">Cím</string>
|
||||||
<string name="entry_url">URL</string>
|
<string name="entry_url">Webcím</string>
|
||||||
<string name="entry_user_name">Felhasználónév</string>
|
<string name="entry_user_name">Felhasználónév</string>
|
||||||
<string name="error_arc4">Az Arcfour adatfolyam-titkosítás nem támogatott.</string>
|
<string name="error_arc4">Az Arcfour adatfolyam-titkosítás nem támogatott.</string>
|
||||||
<string name="error_can_not_handle_uri">Ez az URI nem kezelhető a KeePassDX-ben.</string>
|
<string name="error_can_not_handle_uri">Ez az URI nem kezelhető a KeePassDX-ben.</string>
|
||||||
@@ -83,7 +83,7 @@
|
|||||||
<string name="hint_length">Hossz</string>
|
<string name="hint_length">Hossz</string>
|
||||||
<string name="hint_pass">Jelszó</string>
|
<string name="hint_pass">Jelszó</string>
|
||||||
<string name="password">Jelszó</string>
|
<string name="password">Jelszó</string>
|
||||||
<string name="invalid_credentials">A hitelesítő adatok nem olvashatók.</string>
|
<string name="invalid_credentials">A hitelesítési adatok nem olvashatók.</string>
|
||||||
<string name="invalid_algorithm">Hibás algoritmus.</string>
|
<string name="invalid_algorithm">Hibás algoritmus.</string>
|
||||||
<string name="invalid_db_sig">Az adatbázis formátuma nem ismerhető fel.</string>
|
<string name="invalid_db_sig">Az adatbázis formátuma nem ismerhető fel.</string>
|
||||||
<string name="keyfile_is_empty">A kulcsfájl üres.</string>
|
<string name="keyfile_is_empty">A kulcsfájl üres.</string>
|
||||||
@@ -106,11 +106,11 @@
|
|||||||
<string name="menu_open">Megnyitás</string>
|
<string name="menu_open">Megnyitás</string>
|
||||||
<string name="menu_search">Keresés</string>
|
<string name="menu_search">Keresés</string>
|
||||||
<string name="menu_showpass">Jelszó megjelenítése</string>
|
<string name="menu_showpass">Jelszó megjelenítése</string>
|
||||||
<string name="menu_url">Ugrás az URL-re</string>
|
<string name="menu_url">Ugrás a webcímre</string>
|
||||||
<string name="minus">Mínusz</string>
|
<string name="minus">Mínusz</string>
|
||||||
<string name="never">Soha</string>
|
<string name="never">Soha</string>
|
||||||
<string name="no_results">Nincs találat</string>
|
<string name="no_results">Nincs találat</string>
|
||||||
<string name="no_url_handler">Telepítsen egy webböngészőt az URL megnyitásához.</string>
|
<string name="no_url_handler">Telepítsen egy webböngészőt a webcím megnyitásához.</string>
|
||||||
<string name="progress_create">Új adatbázis létrehozása…</string>
|
<string name="progress_create">Új adatbázis létrehozása…</string>
|
||||||
<string name="progress_title">Feldolgozás…</string>
|
<string name="progress_title">Feldolgozás…</string>
|
||||||
<string name="protection">Védelem</string>
|
<string name="protection">Védelem</string>
|
||||||
@@ -127,15 +127,13 @@
|
|||||||
<string name="search">Keresés</string>
|
<string name="search">Keresés</string>
|
||||||
<string name="underline">Aláhúzás</string>
|
<string name="underline">Aláhúzás</string>
|
||||||
<string name="unsupported_db_version">Nem támogatott adatbázis-verzió.</string>
|
<string name="unsupported_db_version">Nem támogatott adatbázis-verzió.</string>
|
||||||
<string name="uppercase">Nagybetűs</string>
|
<string name="uppercase">Nagybetűk</string>
|
||||||
<string name="warning">Figyelmeztetés</string>
|
<string name="warning">Figyelmeztetés</string>
|
||||||
<string name="warning_password_encoding">Kerülje a Latin-1 karakterkészlettől eltérő jelszókaraktereket az adatbázis-fájlban (a nem felismert karakterek mert ugyanarra a betűre lesznek alakítva).</string>
|
<string name="warning_password_encoding">Kerülje a Latin-1 karakterkészlettől eltérő jelszókaraktereket az adatbázis-fájlban (a nem felismert karakterek mert ugyanarra a betűre lesznek alakítva).</string>
|
||||||
<string name="version_label">Verzió: %1$s</string>
|
<string name="version_label">Verzió: %1$s</string>
|
||||||
<string name="encrypted_value_stored">Titkosított jelszó tárolva</string>
|
<string name="encrypted_value_stored">Titkosított jelszó tárolva</string>
|
||||||
<string name="unavailable">Nem érhető el</string>
|
<string name="unavailable">Nem érhető el</string>
|
||||||
<string name="education_unlock_summary">Adja meg a jelszót és/vagy a kulcsfájlt, hogy kinyithassa az adatbázist.
|
<string name="education_unlock_summary">Adja meg a jelszót és/vagy a kulcsfájlt, hogy kinyithassa az adatbázist. \n \nBiztonsági mentés létrehozása az adatbázisról minden egyes módosítás után.</string>
|
||||||
\n
|
|
||||||
\nKészítsen biztonsági mentést az adatbázisról minden egyes módosítás után.</string>
|
|
||||||
<string-array name="list_size_options">
|
<string-array name="list_size_options">
|
||||||
<item>Kicsi</item>
|
<item>Kicsi</item>
|
||||||
<item>Közepes</item>
|
<item>Közepes</item>
|
||||||
@@ -184,8 +182,8 @@
|
|||||||
<string name="general">Általános</string>
|
<string name="general">Általános</string>
|
||||||
<string name="autofill">Automatikus kitöltés</string>
|
<string name="autofill">Automatikus kitöltés</string>
|
||||||
<string name="autofill_sign_in_prompt">Bejelentkezés a KeePassDX-szel</string>
|
<string name="autofill_sign_in_prompt">Bejelentkezés a KeePassDX-szel</string>
|
||||||
<string name="set_credential_provider_service_title">Alapértelmezett automatikus kitöltési szolgáltatás beállítása</string>
|
<string name="set_credential_provider_service_title">Hitelesítő adatkezelő szolgáltatás</string>
|
||||||
<string name="autofill_explanation_summary">Automatikus kitöltés engedélyezése az űrlapok gyors kitöltéséhez más alkalmazásokban</string>
|
<string name="autofill_explanation_summary">Automatikus kitöltés az űrlapok gyors kitöltéséhez más alkalmazásokban</string>
|
||||||
<string name="password_size_title">Előállított jelszó mérete</string>
|
<string name="password_size_title">Előállított jelszó mérete</string>
|
||||||
<string name="password_size_summary">Beállítja az előállított jelszavak alapértelmezett méretét</string>
|
<string name="password_size_summary">Beállítja az előállított jelszavak alapértelmezett méretét</string>
|
||||||
<string name="list_password_generator_options_title">Jelszó karakterek</string>
|
<string name="list_password_generator_options_title">Jelszó karakterek</string>
|
||||||
@@ -193,7 +191,7 @@
|
|||||||
<string name="clipboard">Vágólap</string>
|
<string name="clipboard">Vágólap</string>
|
||||||
<string name="clipboard_notifications_title">Vágólap-értesítések</string>
|
<string name="clipboard_notifications_title">Vágólap-értesítések</string>
|
||||||
<string name="clipboard_notifications_summary">Vágólap-értesítések megjelenítése a bejegyzésmezők másolásakor</string>
|
<string name="clipboard_notifications_summary">Vágólap-értesítések megjelenítése a bejegyzésmezők másolásakor</string>
|
||||||
<string name="clipboard_warning">Ha a vágólap automatikus törlése meghiúsul, akkor törölje kézzel az előzményeket.</string>
|
<string name="clipboard_warning">Ha a vágólap automatikus törlése meghiúsul, akkor törölje saját kezűleg az előzményeket.</string>
|
||||||
<string name="lock">Zárolás</string>
|
<string name="lock">Zárolás</string>
|
||||||
<string name="lock_database_screen_off_title">Képernyőzár</string>
|
<string name="lock_database_screen_off_title">Képernyőzár</string>
|
||||||
<string name="lock_database_screen_off_summary">Az adatbázis zárolása néhány másodperc után, ha a képernyő kikapcsol</string>
|
<string name="lock_database_screen_off_summary">Az adatbázis zárolása néhány másodperc után, ha a képernyő kikapcsol</string>
|
||||||
@@ -217,7 +215,7 @@
|
|||||||
<string name="allow_copy_password_warning">Figyelmeztetés: A vágólapon osztozik az összes alkalmazás. Ha érzékeny adatokat másol, akkor a többi szoftver is hozzáférhet.</string>
|
<string name="allow_copy_password_warning">Figyelmeztetés: A vágólapon osztozik az összes alkalmazás. Ha érzékeny adatokat másol, akkor a többi szoftver is hozzáférhet.</string>
|
||||||
<string name="database_name_title">Adatbázis neve</string>
|
<string name="database_name_title">Adatbázis neve</string>
|
||||||
<string name="database_description_title">Adatbázis leírása</string>
|
<string name="database_description_title">Adatbázis leírása</string>
|
||||||
<string name="database_version_title">Adatbázis verzió</string>
|
<string name="database_version_title">Adatbázis-verzió</string>
|
||||||
<string name="text_appearance">Szöveg</string>
|
<string name="text_appearance">Szöveg</string>
|
||||||
<string name="application_appearance">Felhasználói felület</string>
|
<string name="application_appearance">Felhasználói felület</string>
|
||||||
<string name="other">Egyéb</string>
|
<string name="other">Egyéb</string>
|
||||||
@@ -243,7 +241,7 @@
|
|||||||
<string name="keyboard_key_vibrate_title">Rezgés gombnyomáskor</string>
|
<string name="keyboard_key_vibrate_title">Rezgés gombnyomáskor</string>
|
||||||
<string name="keyboard_key_sound_title">Hang gombnyomáskor</string>
|
<string name="keyboard_key_sound_title">Hang gombnyomáskor</string>
|
||||||
<string name="allow_no_password_title">Mesterkulcs elhagyásának engedélyezése</string>
|
<string name="allow_no_password_title">Mesterkulcs elhagyásának engedélyezése</string>
|
||||||
<string name="allow_no_password_summary">A „Megnyitás” gomb engedélyezése, ha nincsenek hitelesítő adatok kiválasztva</string>
|
<string name="allow_no_password_summary">A „Megnyitás” gomb engedélyezése, ha nincsenek hitelesítési adatok kiválasztva</string>
|
||||||
<string name="enable_education_screens_title">Oktatóképernyők</string>
|
<string name="enable_education_screens_title">Oktatóképernyők</string>
|
||||||
<string name="enable_education_screens_summary">Elemek kiemelése, hogy megtudja hogyan működik az alkalmazás</string>
|
<string name="enable_education_screens_summary">Elemek kiemelése, hogy megtudja hogyan működik az alkalmazás</string>
|
||||||
<string name="reset_education_screens_title">Oktatóképernyők visszaállítása</string>
|
<string name="reset_education_screens_title">Oktatóképernyők visszaállítása</string>
|
||||||
@@ -278,18 +276,18 @@
|
|||||||
<string name="education_lock_summary">Zárolja gyorsan az adatbázist, beállíthatja hogy az alkalmazás lezárja egy idő után, valamint ha a képernyőt kikapcsolja.</string>
|
<string name="education_lock_summary">Zárolja gyorsan az adatbázist, beállíthatja hogy az alkalmazás lezárja egy idő után, valamint ha a képernyőt kikapcsolja.</string>
|
||||||
<string name="education_sort_title">Elemek rendezése</string>
|
<string name="education_sort_title">Elemek rendezése</string>
|
||||||
<string name="education_sort_summary">Válasszon, hogy az elemek és csoportok hogyan legyenek rendezve.</string>
|
<string name="education_sort_summary">Válasszon, hogy az elemek és csoportok hogyan legyenek rendezve.</string>
|
||||||
<string name="education_donation_title">Közreműködés</string>
|
<string name="education_donation_title">Részvétel</string>
|
||||||
<string name="education_entry_edit_summary">Szerkessze a bejegyzése egyéni mezőit. Az adatok hivatkozhatóak a különböző mezők között.</string>
|
<string name="education_entry_edit_summary">Szerkessze a bejegyzése egyéni mezőit. Az adatok hivatkozhatóak a különböző mezők között.</string>
|
||||||
<string name="education_donation_summary">Segítsen a stabilitás és a biztonság növelésében, és az új funkciók hozzáadásában.</string>
|
<string name="education_donation_summary">Segítsen a stabilitás és a biztonság növelésében, és az új funkciók hozzáadásában.</string>
|
||||||
<string name="html_text_ad_free">Számos más jelszókezelő alkalmazással ellentétben, ez egy <strong>reklámmentes</strong>, <strong>copyleft licencelésű szabad szoftver</strong>, amely nem gyűjt személyes adatokat a kiszolgálókon, bármelyik verziót is használja.</string>
|
<string name="html_text_ad_free">Számos más jelszókezelő alkalmazással ellentétben, ez egy <strong>reklámmentes</strong>, <strong>copyleft licencelésű szabad szoftver</strong>, amely nem gyűjt személyes adatokat a kiszolgálókon, bármelyik verziót is használja.</string>
|
||||||
<string name="html_text_buy_pro">A pro verzió megvásárlásával hozzáférést kap ehhez a <strong>vizuális stílushoz</strong>, és segít a <strong>közösségi projektek megvalósulásában.</strong></string>
|
<string name="html_text_buy_pro">A pro verzió megvásárlásával hozzáférést kap ehhez a <strong>vizuális stílushoz</strong>, és segít a <strong>közösségi projektek megvalósulásában.</strong></string>
|
||||||
<string name="html_text_feature_generosity">Ez a <strong>vizuális stílus</strong> az Ön nagylelkűségének köszönhetően érhető el.</string>
|
<string name="html_text_feature_generosity">Ez a <strong>vizuális stílus</strong> az Ön nagylelkűségének köszönhetően érhető el.</string>
|
||||||
<string name="html_text_donation">Azzal, hogy <strong>hozzájárul</strong> a projekthez <i>(pénzzel, kóddal, fordítással)</i>, segít abban, hogy a projekt tovább éljen és gyarapodjon, továbbá Ön jogosulttá válik a <strong>téma</strong>feloldásának lehetősége.</string>
|
<string name="html_text_donation">Azzal, hogy <strong>hozzájárul</strong> a projekthez <i>(pénzzel, kóddal, fordítással)</i>, segít abban, hogy a projekt tovább éljen és gyarapodjon, továbbá Ön jogosulttá válik a <strong>téma</strong>feloldásának lehetősége.</string>
|
||||||
<string name="html_text_dev_feature">Ez a funkció <strong>fejlesztés alatt áll</strong>, és az Ön <strong>támogatására</strong> van szükség, hogy hamarosan elérhető legyen.</string>
|
<string name="html_text_dev_feature">Ez a funkció <strong>fejlesztés alatt áll</strong>, és az Ön <strong>közreműködésére</strong> van szükség, hogy hamarosan elérhető legyen.</string>
|
||||||
<string name="html_text_dev_feature_buy_pro">A <strong>pro</strong> verzió megvásárlásával,</string>
|
<string name="html_text_dev_feature_buy_pro">A <strong>pro</strong> verzió megvásárlásával,</string>
|
||||||
<string name="html_text_dev_feature_contibute">A <strong>támogatással</strong></string>
|
<string name="html_text_dev_feature_contibute">A <strong>közreműködésével</strong>,</string>
|
||||||
<string name="html_text_dev_feature_encourage">arra ösztönzi a fejlesztőket, hogy <strong>új funkciókat</strong> készítsenek, és <strong>hibákat javítsanak</strong> az észrevételei alapján.</string>
|
<string name="html_text_dev_feature_encourage">arra ösztönzi a fejlesztőket, hogy <strong>új funkciókat</strong> hozzanak létre, és <strong>hibákat javítsanak</strong> az észrevételei alapján.</string>
|
||||||
<string name="html_text_dev_feature_thanks">Köszönjük a támogatását.</string>
|
<string name="html_text_dev_feature_thanks">Köszönjük a közreműködését.</string>
|
||||||
<string name="html_text_dev_feature_work_hard">Keményen dolgozunk, hogy gyorsan kiadjuk ezt a funkciót.</string>
|
<string name="html_text_dev_feature_work_hard">Keményen dolgozunk, hogy gyorsan kiadjuk ezt a funkciót.</string>
|
||||||
<string name="html_text_dev_feature_upgrade">Ne felejtse naprakészen tartani az alkalmazást az új verziók telepítésével.</string>
|
<string name="html_text_dev_feature_upgrade">Ne felejtse naprakészen tartani az alkalmazást az új verziók telepítésével.</string>
|
||||||
<string name="download">Letöltés</string>
|
<string name="download">Letöltés</string>
|
||||||
@@ -315,7 +313,7 @@
|
|||||||
<string name="clear_clipboard_notification_title">Zárolás bezáráskor</string>
|
<string name="clear_clipboard_notification_title">Zárolás bezáráskor</string>
|
||||||
<string name="lock_database_show_button_summary">Megjeleníti a zárolás gombot a felhasználói felületen</string>
|
<string name="lock_database_show_button_summary">Megjeleníti a zárolás gombot a felhasználói felületen</string>
|
||||||
<string name="lock_database_show_button_title">Zárolás gomb megjelenítése</string>
|
<string name="lock_database_show_button_title">Zárolás gomb megjelenítése</string>
|
||||||
<string name="lock_database_back_root_summary">Az adatbázis zárolása, ha a felhasználó a vissza gombra kattint az indítóképernyőn</string>
|
<string name="lock_database_back_root_summary">Nyomja meg a „Vissza” gombot az adatbázis zárolásához, ha az adatbázis indítóképernyőjén tartózkodik</string>
|
||||||
<string name="autofill_preference_title">Automatikus kitöltés beállításai</string>
|
<string name="autofill_preference_title">Automatikus kitöltés beállításai</string>
|
||||||
<string name="warning_database_link_revoked">A fájlhoz történő hozzáférést visszavonta a fájlkezelő</string>
|
<string name="warning_database_link_revoked">A fájlhoz történő hozzáférést visszavonta a fájlkezelő</string>
|
||||||
<string name="warning_database_read_only">Fájlírási-hozzáférés megadása az adatbázis-változások mentéséhez</string>
|
<string name="warning_database_read_only">Fájlírási-hozzáférés megadása az adatbázis-változások mentéséhez</string>
|
||||||
@@ -330,7 +328,7 @@
|
|||||||
<string name="auto_focus_search_summary">Keresés kérése az adatbázis megnyitásakor</string>
|
<string name="auto_focus_search_summary">Keresés kérése az adatbázis megnyitásakor</string>
|
||||||
<string name="error_create_database">Az adatbázisfájl létrehozása sikertelen.</string>
|
<string name="error_create_database">Az adatbázisfájl létrehozása sikertelen.</string>
|
||||||
<string name="error_label_exists">Ez a címke már létezik.</string>
|
<string name="error_label_exists">Ez a címke már létezik.</string>
|
||||||
<string name="html_about_contribution">A <strong>szabadságunk megtartása</strong>, a <strong>hibák javítása</strong>, a <strong>funkciók hozzáadása</strong> és az <strong>állandó aktivitás</strong> érdekében számítunk a <strong>támogatására</strong>.</string>
|
<string name="html_about_contribution">A <strong>szabadságunk megtartása</strong>, a <strong>hibák javítása</strong>, a <strong>funkciók hozzáadása</strong> és az <strong>állandó aktivitás</strong> érdekében számítunk a <strong>közreműködésére</strong>.</string>
|
||||||
<string name="entry_add_attachment">Melléklet hozzáadása</string>
|
<string name="entry_add_attachment">Melléklet hozzáadása</string>
|
||||||
<string name="entry_add_field">Mező hozzáadása</string>
|
<string name="entry_add_field">Mező hozzáadása</string>
|
||||||
<string name="entry_password_generator">Jelszógenerátor</string>
|
<string name="entry_password_generator">Jelszógenerátor</string>
|
||||||
@@ -355,7 +353,7 @@
|
|||||||
<string name="enable_auto_save_database_summary">Az adatbázis mentése minden fontos művelet után („Módosítható” módban)</string>
|
<string name="enable_auto_save_database_summary">Az adatbázis mentése minden fontos művelet után („Módosítható” módban)</string>
|
||||||
<string name="enable_auto_save_database_title">Adatbázis automatikus mentése</string>
|
<string name="enable_auto_save_database_title">Adatbázis automatikus mentése</string>
|
||||||
<string name="recycle_bin_group_title">Kuka csoportja</string>
|
<string name="recycle_bin_group_title">Kuka csoportja</string>
|
||||||
<string name="keystore_not_accessible">Az kulcstár nincs helyesen előkészítve.</string>
|
<string name="keystore_not_accessible">A KeyStore nincs helyesen előkészítve.</string>
|
||||||
<string name="warning_permanently_delete_nodes">Biztos, hogy végleg törli a kiválasztott csomópontokat\?</string>
|
<string name="warning_permanently_delete_nodes">Biztos, hogy végleg törli a kiválasztott csomópontokat\?</string>
|
||||||
<string name="command_execution">Parancs végrehajtása…</string>
|
<string name="command_execution">Parancs végrehajtása…</string>
|
||||||
<string name="menu_empty_recycle_bin">Kuka ürítése</string>
|
<string name="menu_empty_recycle_bin">Kuka ürítése</string>
|
||||||
@@ -393,7 +391,7 @@
|
|||||||
<string name="error_otp_counter">A számlálónak %1$d és %2$d között kell lennie.</string>
|
<string name="error_otp_counter">A számlálónak %1$d és %2$d között kell lennie.</string>
|
||||||
<string name="error_otp_secret_key">A titkos kulcsnak Base32 formátumban kell lennie.</string>
|
<string name="error_otp_secret_key">A titkos kulcsnak Base32 formátumban kell lennie.</string>
|
||||||
<string name="error_copy_group_here">Csoport nem másolható ide.</string>
|
<string name="error_copy_group_here">Csoport nem másolható ide.</string>
|
||||||
<string name="error_disallow_no_credentials">Legalább egy hitelesíti módot be kell állítani.</string>
|
<string name="error_disallow_no_credentials">Legalább egy hitelesítési módot be kell állítani.</string>
|
||||||
<string name="error_invalid_OTP">Érvénytelen OTP titok.</string>
|
<string name="error_invalid_OTP">Érvénytelen OTP titok.</string>
|
||||||
<string name="entry_otp">OTP</string>
|
<string name="entry_otp">OTP</string>
|
||||||
<string name="otp_algorithm">Algoritmus</string>
|
<string name="otp_algorithm">Algoritmus</string>
|
||||||
@@ -421,7 +419,7 @@
|
|||||||
<string name="content_description_password_length">Jelszó hossza</string>
|
<string name="content_description_password_length">Jelszó hossza</string>
|
||||||
<string name="content_description_entry_icon">Bejegyzésikon</string>
|
<string name="content_description_entry_icon">Bejegyzésikon</string>
|
||||||
<string name="content_description_repeat_toggle_password_visibility">Jelszó láthatóságának átváltásának megismétlése</string>
|
<string name="content_description_repeat_toggle_password_visibility">Jelszó láthatóságának átváltásának megismétlése</string>
|
||||||
<string name="content_description_node_children">Csomópont gyermekei</string>
|
<string name="content_description_node_children">Alárendelt csomópontok</string>
|
||||||
<string name="delete_entered_password_summary">Törli a beírt jelszót az adatbázishoz való kapcsolódási kísérlet után</string>
|
<string name="delete_entered_password_summary">Törli a beírt jelszót az adatbázishoz való kapcsolódási kísérlet után</string>
|
||||||
<string name="delete_entered_password_title">Jelszó törlése</string>
|
<string name="delete_entered_password_title">Jelszó törlése</string>
|
||||||
<string name="keyboard_selection_entry_summary">A Mágikus billentyűzet kitöltése azzal a bejegyzéssel, amelyet megtekint a KeePassDX-ben</string>
|
<string name="keyboard_selection_entry_summary">A Mágikus billentyűzet kitöltése azzal a bejegyzéssel, amelyet megtekint a KeePassDX-ben</string>
|
||||||
@@ -430,7 +428,7 @@
|
|||||||
<string name="lock_database_back_root_title">Nyomja meg a „Vissza” gombot a zároláshoz</string>
|
<string name="lock_database_back_root_title">Nyomja meg a „Vissza” gombot a zároláshoz</string>
|
||||||
<string name="do_not_kill_app">Ne lője ki az alkalmazást…</string>
|
<string name="do_not_kill_app">Ne lője ki az alkalmazást…</string>
|
||||||
<string name="selection_mode">Kiválasztási mód</string>
|
<string name="selection_mode">Kiválasztási mód</string>
|
||||||
<string name="keyboard_previous_database_credentials_title">Adatbázis-hitelesítőadatok képernyője</string>
|
<string name="keyboard_previous_database_credentials_title">Adatbázis-hitelesítő képernyő</string>
|
||||||
<string name="keyboard_change">Billentyűzet váltása</string>
|
<string name="keyboard_change">Billentyűzet váltása</string>
|
||||||
<string name="keyboard_save_search_info_title">Megosztott információk mentése</string>
|
<string name="keyboard_save_search_info_title">Megosztott információk mentése</string>
|
||||||
<string name="notification">Értesítés</string>
|
<string name="notification">Értesítés</string>
|
||||||
@@ -438,7 +436,7 @@
|
|||||||
<string name="database_data_remove_unlinked_attachments_title">Nem összekapcsolt adatok eltávolítása</string>
|
<string name="database_data_remove_unlinked_attachments_title">Nem összekapcsolt adatok eltávolítása</string>
|
||||||
<string name="data">Adatok</string>
|
<string name="data">Adatok</string>
|
||||||
<string name="biometric_security_update_required">Biometrikus biztonsági frissítés szükséges.</string>
|
<string name="biometric_security_update_required">Biometrikus biztonsági frissítés szükséges.</string>
|
||||||
<string name="configure_biometric">Nincs biometrikus vagy eszközazonosító beállítva.</string>
|
<string name="configure_biometric">Nincs biometrikus vagy eszközhitelesítési adat beállítva.</string>
|
||||||
<string name="warning_empty_keyfile_explanation">A kulcsfájl tartalmának sosem szabad megváltoznia, és a legjobb esetben véletlenszerűen előállított adatokat kellene tartalmaznia.</string>
|
<string name="warning_empty_keyfile_explanation">A kulcsfájl tartalmának sosem szabad megváltoznia, és a legjobb esetben véletlenszerűen előállított adatokat kellene tartalmaznia.</string>
|
||||||
<string name="warning_empty_keyfile">Nem ajánlott, hogy üres kulcsfájl adjon hozzá.</string>
|
<string name="warning_empty_keyfile">Nem ajánlott, hogy üres kulcsfájl adjon hozzá.</string>
|
||||||
<string name="warning_sure_remove_data">Mindenképp törli ezeket az adatokat\?</string>
|
<string name="warning_sure_remove_data">Mindenképp törli ezeket az adatokat\?</string>
|
||||||
@@ -456,7 +454,7 @@
|
|||||||
<string name="subdomain_search_title">Aldomain keresés</string>
|
<string name="subdomain_search_title">Aldomain keresés</string>
|
||||||
<string name="error_registration_read_only">Az új elem mentése nem engedélyezett írásvédett adatbázisban.</string>
|
<string name="error_registration_read_only">Az új elem mentése nem engedélyezett írásvédett adatbázisban.</string>
|
||||||
<string name="error_string_type">A szöveg nem egyezik a kért elemmel.</string>
|
<string name="error_string_type">A szöveg nem egyezik a kért elemmel.</string>
|
||||||
<string name="content_description_credentials_information">Hitelesítő adatok információi</string>
|
<string name="content_description_credentials_information">Hitelesítési adatok információi</string>
|
||||||
<string name="content_description_add_item">Elem hozzáadása</string>
|
<string name="content_description_add_item">Elem hozzáadása</string>
|
||||||
<string name="export_app_properties_summary">Fájl létrehozása az alkalmazásbeállítások exportálásához</string>
|
<string name="export_app_properties_summary">Fájl létrehozása az alkalmazásbeállítások exportálásához</string>
|
||||||
<string name="export_app_properties_title">Alkalmazásbeállítások exportálása</string>
|
<string name="export_app_properties_title">Alkalmazásbeállítások exportálása</string>
|
||||||
@@ -473,7 +471,7 @@
|
|||||||
<string name="error_rebuild_list">A lista újbóli összeállítása sikertelen.</string>
|
<string name="error_rebuild_list">A lista újbóli összeállítása sikertelen.</string>
|
||||||
<string name="error_database_uri_null">Az adatbázis URI nem kérhető le.</string>
|
<string name="error_database_uri_null">Az adatbázis URI nem kérhető le.</string>
|
||||||
<string name="error_field_name_already_exists">A mezőnév már létezik.</string>
|
<string name="error_field_name_already_exists">A mezőnév már létezik.</string>
|
||||||
<string name="error_otp_type">A meglévő OTP típus nem ismert ebben a formában, a kiértékelése nem biztos, hogy helyes tokent fog előállítani.</string>
|
<string name="error_otp_type">A meglévő OTP típus nem felismerhető ebben az űrlapban, és érvényesítése már nem biztosítja a token helyes generálását.</string>
|
||||||
<string name="error_word_reserved">Ez egy foglalt szó, és nem használható.</string>
|
<string name="error_word_reserved">Ez egy foglalt szó, és nem használható.</string>
|
||||||
<string name="version">Verzió</string>
|
<string name="version">Verzió</string>
|
||||||
<string name="template">Sablon</string>
|
<string name="template">Sablon</string>
|
||||||
@@ -518,25 +516,25 @@
|
|||||||
<string name="autofill_select_entry">Válasszon bejegyzést…</string>
|
<string name="autofill_select_entry">Válasszon bejegyzést…</string>
|
||||||
<string name="warning_database_info_changed_options">Adatok egyesítése, majd a külső módosítások felülírása az adatbázis mentésével, vagy újratöltés a legfrissebb változtatásokkal.</string>
|
<string name="warning_database_info_changed_options">Adatok egyesítése, majd a külső módosítások felülírása az adatbázis mentésével, vagy újratöltés a legfrissebb változtatásokkal.</string>
|
||||||
<string name="device_unlock_prompt_store_credential_title">Hivatkozás az eszköz feloldásához</string>
|
<string name="device_unlock_prompt_store_credential_title">Hivatkozás az eszköz feloldásához</string>
|
||||||
<string name="device_unlock_prompt_store_credential_message">Továbbra is meg kell jegyeznie a széf fő jelszavát, ha az eszköz feloldásfelismerését használja.</string>
|
<string name="device_unlock_prompt_store_credential_message">Ha az eszköz feloldásának felismerését használja, akkor is meg kell jegyeznie a széf fő hitelesítési adatait.</string>
|
||||||
<string name="device_unlock_prompt_extract_credential_message">Adatbázis hitelesítő adatainak kinyerése az eszköz adatfeloldásával</string>
|
<string name="device_unlock_prompt_extract_credential_message">Adatbázis hitelesítési adatainak kinyerése az eszköz feloldási adatok alapján</string>
|
||||||
<string name="device_unlock_invalid_key">Az eszközfeloldási kulcs nem olvasható. Törölje, és ismételje meg a feloldásfelismerési folyamatot.</string>
|
<string name="device_unlock_invalid_key">Az eszközfeloldási kulcs nem olvasható. Törölje, és ismételje meg a feloldásfelismerési folyamatot.</string>
|
||||||
<string name="device_unlock_not_recognized">Az eszközfeloldási ujjlenyomat nem ismerhető fel</string>
|
<string name="device_unlock_not_recognized">Az eszközfeloldási ujjlenyomat nem ismerhető fel</string>
|
||||||
<string name="device_unlock_prompt_not_initialized">Az eszközfeloldási képernyő előkészítése sikertelen.</string>
|
<string name="device_unlock_prompt_not_initialized">Az eszközfeloldási képernyő előkészítése sikertelen.</string>
|
||||||
<string name="properties">Tulajdonságok</string>
|
<string name="properties">Tulajdonságok</string>
|
||||||
<string name="device_credential">Eszköz hitelesítő adatai</string>
|
<string name="device_credential">Eszköz hitelesítési adatai</string>
|
||||||
<string name="temp_device_unlock_enable_summary">Ne tároljon semmilyen titkosított tartalmat az eszközfeloldás használatához</string>
|
<string name="temp_device_unlock_enable_summary">Ne tároljon semmilyen titkosított tartalmat az eszközfeloldás használatához</string>
|
||||||
<string name="temp_device_unlock_timeout_title">Eszközfeloldás lejárati ideje</string>
|
<string name="temp_device_unlock_timeout_title">Eszközfeloldás lejárati ideje</string>
|
||||||
<string name="warning_database_revoked">A fájl elérését visszavonta a fájlkezelő, zárja be az adatbázist és nyissa meg újra a helyéről.</string>
|
<string name="warning_database_revoked">A fájl elérését visszavonta a fájlkezelő, zárja be az adatbázist és nyissa meg újra a helyéről.</string>
|
||||||
<string name="warning_exact_alarm">Nem engedélyezte az alkalmazásnak, hogy pontos riasztást használjon. Ezért az időzítőt használó funkciók nem a pontos időt fogják használni.</string>
|
<string name="warning_exact_alarm">Nem engedélyezte az alkalmazásnak, hogy pontos riasztást használjon. Ezért az időzítőt használó funkciók nem a pontos időt fogják használni.</string>
|
||||||
<string name="device_unlock_prompt_extract_credential_title">Eszköz feloldásfelismerése</string>
|
<string name="device_unlock_prompt_extract_credential_title">Eszköz feloldásának felismerése</string>
|
||||||
<string name="credential_before_click_device_unlock_button">Írja be a jelszót, majd kattintson erre a gombra.</string>
|
<string name="credential_before_click_device_unlock_button">Írja be a jelszót, majd kattintson erre a gombra.</string>
|
||||||
<string name="temp_device_unlock_enable_title">Ideiglenes eszközfeloldás</string>
|
<string name="temp_device_unlock_enable_title">Ideiglenes eszközfeloldás</string>
|
||||||
<string name="permission">Engedély</string>
|
<string name="permission">Engedély</string>
|
||||||
<string name="content">Tartalom</string>
|
<string name="content">Tartalom</string>
|
||||||
<string name="device_unlock_tap_delete">Koppintson az eszközfeloldási kulcsok törléséhez</string>
|
<string name="device_unlock_tap_delete">Koppintson az eszközfeloldási kulcsok törléséhez</string>
|
||||||
<string name="device_credential_unlock_enable_title">Eszköz hitelesítő adataival történő feloldás</string>
|
<string name="device_credential_unlock_enable_title">Eszköz hitelesítési adataival történő feloldás</string>
|
||||||
<string name="device_credential_unlock_enable_summary">Lehetővé teszi, hogy az eszköz hitelesítő adataival nyissa meg az adatbázist</string>
|
<string name="device_credential_unlock_enable_summary">Lehetővé teszi, hogy az eszköz hitelesítési adataival nyissa meg az adatbázist</string>
|
||||||
<string name="autofill_application_id_blocklist_title">Letiltott alkalmazások</string>
|
<string name="autofill_application_id_blocklist_title">Letiltott alkalmazások</string>
|
||||||
<string name="menu_merge_database">Adatok egyesítése</string>
|
<string name="menu_merge_database">Adatok egyesítése</string>
|
||||||
<string name="autofill_close_database_title">Adatbázis bezárása</string>
|
<string name="autofill_close_database_title">Adatbázis bezárása</string>
|
||||||
@@ -576,7 +574,7 @@
|
|||||||
<string name="show_uuid_summary">Megjeleníti a bejegyzéshez vagy csoporthoz tartozó UUID-t</string>
|
<string name="show_uuid_summary">Megjeleníti a bejegyzéshez vagy csoporthoz tartozó UUID-t</string>
|
||||||
<string name="show_otp_token_title">OTP token megjelenítése</string>
|
<string name="show_otp_token_title">OTP token megjelenítése</string>
|
||||||
<string name="device_unlock_delete_all_key_warning">Törli az összes, az eszközfeloldás-felismeréshez tartozó titkosítási kulcsot\?</string>
|
<string name="device_unlock_delete_all_key_warning">Törli az összes, az eszközfeloldás-felismeréshez tartozó titkosítási kulcsot\?</string>
|
||||||
<string name="keyboard_save_search_info_summary">A könnyebb jövőbeli használat érdekében próbálja menteni a megosztott információkat a kézi bejegyzéskiválasztásnál</string>
|
<string name="keyboard_save_search_info_summary">A könnyebb jövőbeli használat érdekében próbálja menteni a megosztott információkat a kézi bejegyzés kiválasztásánál</string>
|
||||||
<string name="custom_fields">Egyéni mezők</string>
|
<string name="custom_fields">Egyéni mezők</string>
|
||||||
<string name="back_to_previous_keyboard">Vissza az előző billentyűzethez</string>
|
<string name="back_to_previous_keyboard">Vissza az előző billentyűzethez</string>
|
||||||
<string name="upload_attachment">%1$s feltöltése</string>
|
<string name="upload_attachment">%1$s feltöltése</string>
|
||||||
@@ -587,10 +585,10 @@
|
|||||||
<string name="autofill_web_domain_blocklist_title">Letiltott webes domainek</string>
|
<string name="autofill_web_domain_blocklist_title">Letiltott webes domainek</string>
|
||||||
<string name="autofill_ask_to_save_data_title">Adatok mentésének kérése</string>
|
<string name="autofill_ask_to_save_data_title">Adatok mentésének kérése</string>
|
||||||
<string name="education_device_unlock_title">Eszközadatbázis feloldása</string>
|
<string name="education_device_unlock_title">Eszközadatbázis feloldása</string>
|
||||||
<string name="education_device_unlock_summary">A jelszó összekötése a leolvasott biometrikus adatokkal vagy eszköz-hitelesítőadatokkal, hogy gyorsan feloldhassa az adatbázist.</string>
|
<string name="education_device_unlock_summary">A jelszó összekapcsolása a leolvasott biometrikus adatokkal vagy eszközhitelesítő adatokkal, hogy gyorsan feloldhassa az adatbázist.</string>
|
||||||
<string name="show_otp_token_summary">Megjeleníti az OTP tokeneket a bejegyzések között</string>
|
<string name="show_otp_token_summary">Megjeleníti az OTP tokeneket a bejegyzések között</string>
|
||||||
<string name="education_add_attachment_title">Melléklet hozzáadása</string>
|
<string name="education_add_attachment_title">Melléklet hozzáadása</string>
|
||||||
<string name="keyboard_previous_database_credentials_summary">Automatikus visszaváltás az előző billentyűzetre az adatbázis-hitelesítőadatok képernyőn</string>
|
<string name="keyboard_previous_database_credentials_summary">Automatikus visszaváltás az előző billentyűzetre az adatbázis-hitelesítő adatok képernyőjén</string>
|
||||||
<string name="warning_database_info_reloaded">Az adatbázis újratöltése törli a helyileg módosított adatokat.</string>
|
<string name="warning_database_info_reloaded">Az adatbázis újratöltése törli a helyileg módosított adatokat.</string>
|
||||||
<string name="templates">Sablonok</string>
|
<string name="templates">Sablonok</string>
|
||||||
<string name="error_no_response_from_challenge">Nem kérhető le a válasz a kihívásból.</string>
|
<string name="error_no_response_from_challenge">Nem kérhető le a válasz a kihívásból.</string>
|
||||||
@@ -625,19 +623,19 @@
|
|||||||
<string name="navigation_drawer_close">A navigációs tálca bezárása</string>
|
<string name="navigation_drawer_close">A navigációs tálca bezárása</string>
|
||||||
<string name="html_about_privacy"><strong>Nincsenek felhasználói adatok lekérve</strong>, az alkalmazás nem kapcsolódik semmilyen külső kiszolgálóhoz, csak helyben működik, és teljes mértékben tiszteletben tartja a felhasználók adatvédelmét.</string>
|
<string name="html_about_privacy"><strong>Nincsenek felhasználói adatok lekérve</strong>, az alkalmazás nem kapcsolódik semmilyen külső kiszolgálóhoz, csak helyben működik, és teljes mértékben tiszteletben tartja a felhasználók adatvédelmét.</string>
|
||||||
<string name="enable_keep_screen_on_summary">Képernyő bekapcsolva tartása egy bejegyzés megtekintésekor vagy szerkesztésekor</string>
|
<string name="enable_keep_screen_on_summary">Képernyő bekapcsolva tartása egy bejegyzés megtekintésekor vagy szerkesztésekor</string>
|
||||||
<string name="title_case">Nagy Kezdőbetűs</string>
|
<string name="title_case">Nagy kezdőbetűs</string>
|
||||||
<string name="navigation_drawer_open">A navigációs tálca kinyitása</string>
|
<string name="navigation_drawer_open">A navigációs tálca kinyitása</string>
|
||||||
<string name="content_description_hardware_key_checkbox">Hardverkulcs jelölőnégyzete</string>
|
<string name="content_description_hardware_key_checkbox">Hardverkulcs jelölőnégyzete</string>
|
||||||
<string name="at_least_one_char">Legalább egy karakter mindegyikből</string>
|
<string name="at_least_one_char">Legalább egy karakter mindegyikből</string>
|
||||||
<string name="lower_case">kisbetűk</string>
|
<string name="lower_case">kisbetűk</string>
|
||||||
<string name="screenshot_mode_banner_text">Képernyőképmodul</string>
|
<string name="screenshot_mode_banner_text">Képernyőképmodul</string>
|
||||||
<string name="case_sensitive">Kis- és nagybetű eltérő</string>
|
<string name="case_sensitive">Kis- és nagybetűk megkülönböztetése</string>
|
||||||
<string name="error_location_unknown">Az adatbázis helye ismeretlen, az adatbázis-művelet nem hajtható végre.</string>
|
<string name="error_location_unknown">Az adatbázis helye ismeretlen, az adatbázis-művelet nem hajtható végre.</string>
|
||||||
<string name="content_description_passphrase_word_count">A jelmondat szószáma</string>
|
<string name="content_description_passphrase_word_count">A jelmondat szószáma</string>
|
||||||
<string name="regex">Reguláris kifejezés</string>
|
<string name="regex">Reguláris kifejezés</string>
|
||||||
<string name="show_entry_colors_title">Bejegyzésszínek</string>
|
<string name="show_entry_colors_title">Bejegyzésszínek</string>
|
||||||
<string name="passphrase">Jelmondat</string>
|
<string name="passphrase">Jelmondat</string>
|
||||||
<string name="menu_appearance_settings_summary">Témák, színek, attribútumok</string>
|
<string name="menu_appearance_settings_summary">Témák, színek, ikonok, betűkészletek, attribútumok</string>
|
||||||
<string name="expired">Lejárt</string>
|
<string name="expired">Lejárt</string>
|
||||||
<string name="error_response_already_provided">A válasz már megérkezett.</string>
|
<string name="error_response_already_provided">A válasz már megérkezett.</string>
|
||||||
<string name="colorize_password_summary">A jelszó karaktereinek színezése típus szerint</string>
|
<string name="colorize_password_summary">A jelszó karaktereinek színezése típus szerint</string>
|
||||||
@@ -652,7 +650,7 @@
|
|||||||
<string name="wireless">Wi-Fi</string>
|
<string name="wireless">Wi-Fi</string>
|
||||||
<string name="error_hardware_key_unsupported">A hardverkulcs nem támogatott.</string>
|
<string name="error_hardware_key_unsupported">A hardverkulcs nem támogatott.</string>
|
||||||
<string name="colorize_password_title">Jelszavak színezése</string>
|
<string name="colorize_password_title">Jelszavak színezése</string>
|
||||||
<string name="menu_device_unlock_settings_summary">Biometrikus adatok, eszköz-hitelesítőadatok</string>
|
<string name="menu_device_unlock_settings_summary">Biometrikus adatok, eszközhitelesítési adatok</string>
|
||||||
<string name="error_XML_malformed">Hibásan formázott XML.</string>
|
<string name="error_XML_malformed">Hibásan formázott XML.</string>
|
||||||
<string name="remember_hardware_key_summary">Követi a használt hardverkulcsokat</string>
|
<string name="remember_hardware_key_summary">Követi a használt hardverkulcsokat</string>
|
||||||
<string name="warning_database_already_opened">Egy adatbázis már nyitva van, előbb zárja be, hogy újat nyisson meg</string>
|
<string name="warning_database_already_opened">Egy adatbázis már nyitva van, előbb zárja be, hogy újat nyisson meg</string>
|
||||||
@@ -662,11 +660,7 @@
|
|||||||
<string name="warning_database_notification_permission">Az értesítési engedély lehetővé teszi az adatbázis állapotának megjelenítését, és az egyszerű ikonnal történő zárolást.
|
<string name="warning_database_notification_permission">Az értesítési engedély lehetővé teszi az adatbázis állapotának megjelenítését, és az egyszerű ikonnal történő zárolást.
|
||||||
\n
|
\n
|
||||||
\nHa nem aktiválja az engedélyt, akkor a háttérben nyitott adatbázis nem lesz látható, ha egy másik alkalmazás van előtérben.</string>
|
\nHa nem aktiválja az engedélyt, akkor a háttérben nyitott adatbázis nem lesz látható, ha egy másik alkalmazás van előtérben.</string>
|
||||||
<string name="device_unlock_keystore_warning">A funkció eltárolja a titkosított hitelesítőadatokat az eszköz biztonságos kulcstárában.
|
<string name="device_unlock_keystore_warning">A funkció eltárolja a titkosított hitelesítési adatokat az eszköz biztonságos KeyStore-jában. \n \nAz operációs rendszer natív API megvalósításától függően lehet, hogy nem lesz teljes értékű. \n \nEllenőrizze a KeyStore kompatibilitását és biztonságát az eszköz gyártójánál, valamint a használt ROM készítőjénél.</string>
|
||||||
\n
|
|
||||||
\nAz operációs rendszer natív API megvalósításától függően lehet, hogy nem lesz teljes értékű.
|
|
||||||
\n
|
|
||||||
\nEllenőrizze a kulcstár kompatibilitását és biztonságát az eszköz gyártójánál és a használt ROM készítőjénél.</string>
|
|
||||||
<string name="show_entry_colors_summary">Megjeleníti egy bejegyzés előtér- és háttérszínét</string>
|
<string name="show_entry_colors_summary">Megjeleníti egy bejegyzés előtér- és háttérszínét</string>
|
||||||
<string name="unlock_and_link_biometric">Eszközfeloldási hivatkozás</string>
|
<string name="unlock_and_link_biometric">Eszközfeloldási hivatkozás</string>
|
||||||
<string name="warning_copy_permission">Az értesítési engedély szükséges a vágólap-értesítési funkció használatához.</string>
|
<string name="warning_copy_permission">Az értesítési engedély szükséges a vágólap-értesítési funkció használatához.</string>
|
||||||
@@ -704,4 +698,45 @@
|
|||||||
<string name="generate_keyfile">Kulcsfájl előállítása</string>
|
<string name="generate_keyfile">Kulcsfájl előállítása</string>
|
||||||
<string name="hide_templates_title">Sablonok elrejtése</string>
|
<string name="hide_templates_title">Sablonok elrejtése</string>
|
||||||
<string name="error_otp_secret_length">A titkos kulcsnak legalább %1$d karakterből kell állnia.</string>
|
<string name="error_otp_secret_length">A titkos kulcsnak legalább %1$d karakterből kell állnia.</string>
|
||||||
|
<string name="entry_application_id">Alkalmazásazonosító</string>
|
||||||
|
<string name="warning_overwrite_data_title">Felülírja a meglévő adatokat?</string>
|
||||||
|
<string name="warning_overwrite_data_description">Ez a művelet felülírja a bejegyzésben található meglévő adatokat. Ha a előzmények funkció engedélyezve van, akkor a régi adatokat vissza lehet állítani.</string>
|
||||||
|
<string name="credential_provider">Hitelesítési adatok szolgáltatója</string>
|
||||||
|
<string name="passkeys">Hozzáférési kulcsok</string>
|
||||||
|
<string name="passkeys_explanation_summary">Hozzáférési kulcsok beállítása a gyors és biztonságos jelszó nélküli bejelentkezéshez</string>
|
||||||
|
<string name="passkeys_preference_title">Hozzáférési kulcsok beállításai</string>
|
||||||
|
<string name="passkeys_close_database_title">Adatbázis bezárása</string>
|
||||||
|
<string name="passkeys_close_database_summary">Adatbázis bezárása a hozzáférési kulcs kiválasztása után</string>
|
||||||
|
<string name="passkeys_privileged_apps_title">Emelt jogosultságú alkalmazások</string>
|
||||||
|
<string name="passkeys_privileged_apps_summary">A böngészők kezelése az emelt jogosultságú alkalmazások egyéni listájában</string>
|
||||||
|
<string name="passkeys_privileged_apps_explanation">FIGYELEM: Az emelt jogosultságú alkalmazás kapuként szolgál a hitelesítés eredetének lekéréséhez. Biztonsági okokból győződjön meg annak jogszerűségéről.</string>
|
||||||
|
<string name="passkeys_privileged_apps_ask_title">Az alkalmazás nem ismerhető fel</string>
|
||||||
|
<string name="passkeys_privileged_apps_ask_message">%1$s megkísérli végrehajtani a hozzáférési kulcsműveletet.\n\nHozzáadja az emelt jogosultságú alkalmazások listájához?</string>
|
||||||
|
<string name="passkeys_missing_signature_app_ask_title">Aláírás hiányzik</string>
|
||||||
|
<string name="passkeys_missing_signature_app_ask_explanation">FIGYELEM: A hozzáférési kulcsot egy másik kliens hozta létre, vagy az aláírás törölve lett. A biztonsági problémák elkerülése érdekében győződjön meg arról, hogy az azonosítani kívánt alkalmazás ugyanahhoz a szolgáltatáshoz tartozik, és jogszerű.\nHa az alkalmazás egy böngésző, ne adja hozzá az aláírását a bejegyzéshez, hanem a beállítások emelt jogosultságú alkalmazások listájához.</string>
|
||||||
|
<string name="passkeys_missing_signature_app_ask_message">%1$s nem ismerhető fel, és hitelesíteni próbál egy meglévő hozzáférési kulccsal.</string>
|
||||||
|
<string name="passkeys_missing_signature_app_ask_question">Alkalmazás-aláírás hozzáadása a hozzáférési kulcs bejegyzéséhez?</string>
|
||||||
|
<string name="passkeys_auto_select_title">Automatikus kiválasztás</string>
|
||||||
|
<string name="passkeys_auto_select_summary">Automatikus kiválasztás, ha csak egy bejegyzés szerepel, és az adatbázis nyitva van, csak akkor, ha a kérő alkalmazás kompatibilis</string>
|
||||||
|
<string name="passkeys_backup_eligibility_title">Biztonsági mentéshez való jogosultság</string>
|
||||||
|
<string name="passkeys_backup_eligibility_summary">A biztonsági mentés létrehozáskor határozza meg, hogy a nyilvános kulcs hitelesítési adatforrása jogosult-e visszaállítani a biztonsági mentést</string>
|
||||||
|
<string name="passkeys_backup_state_title">Biztonsági mentés állapota</string>
|
||||||
|
<string name="passkeys_backup_state_summary">Jelzi, hogy a hitelesítési adatokról biztonsági másolat lett létrehozva, és azok egyetlen eszköz elvesztése esetén is védve vannak</string>
|
||||||
|
<string name="credential_provider_service_subtitle">Biztonsági kulcsok, automatikus kitöltés hitelesítési adat szolgáltató</string>
|
||||||
|
<string name="passkey">Hozzáférési kulcs</string>
|
||||||
|
<string name="passkey_service_name">KeePassDX hitelesítési adatok szolgáltató</string>
|
||||||
|
<string name="passkey_creation_description">Hozzáférési kulcs mentése új bejegyzésben</string>
|
||||||
|
<string name="passkey_update_description">Hozzáférési kulcs frissítése a(z) %1$s fájlban</string>
|
||||||
|
<string name="passkey_selection_username">Nem található hozzáférési kulcs</string>
|
||||||
|
<string name="passkey_selection_description">Válasszon egy meglévő hozzáférési kulcsot</string>
|
||||||
|
<string name="passkey_database_username">KeePassDX adatbázis</string>
|
||||||
|
<string name="passkey_locked_database_description">Válassza a feloldáshoz</string>
|
||||||
|
<string name="passkey_username">Hozzáférési kulcs felhasználóneve</string>
|
||||||
|
<string name="passkey_private_key">Hozzáférési kulcs privát kulcsa</string>
|
||||||
|
<string name="passkey_credential_id">Hozzáférési kulcs hitelesítési azonosítója</string>
|
||||||
|
<string name="passkey_user_handle">Hozzáférési kulcs felhasználói kezelője</string>
|
||||||
|
<string name="passkey_relying_party">Hozzáférési kulcs megbízható fele</string>
|
||||||
|
<string name="passkey_backup_eligibility">Hozzáférési kulcs mentésének jogosultsága</string>
|
||||||
|
<string name="passkey_backup_state">Hozzáférési kulcs mentésének állapota</string>
|
||||||
|
<string name="error_passkey_result">A hozzáférési kulcs visszaadása nem lehetséges</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
@@ -659,7 +659,7 @@
|
|||||||
<string name="education_validate_entry_summary">Ingat untuk memvalidasi entri Anda dan simpan basis data Anda.
|
<string name="education_validate_entry_summary">Ingat untuk memvalidasi entri Anda dan simpan basis data Anda.
|
||||||
\n
|
\n
|
||||||
\nJika penguncian otomatis diaktifkan dan Anda lupa bahwa Anda sedang membuat perubahan, Anda berisiko kehilangan data Anda.</string>
|
\nJika penguncian otomatis diaktifkan dan Anda lupa bahwa Anda sedang membuat perubahan, Anda berisiko kehilangan data Anda.</string>
|
||||||
<string name="menu_appearance_settings_summary">Tema, warna, atribut</string>
|
<string name="menu_appearance_settings_summary">Tema, warna, ikon, fon, atribut</string>
|
||||||
<string name="unlock">Buka kunci</string>
|
<string name="unlock">Buka kunci</string>
|
||||||
<string name="education_validate_entry_title">Validasi entri</string>
|
<string name="education_validate_entry_title">Validasi entri</string>
|
||||||
<string name="style_name_moon">Bulan</string>
|
<string name="style_name_moon">Bulan</string>
|
||||||
|
|||||||
@@ -180,7 +180,7 @@
|
|||||||
<string name="autofill">Autocompletamento</string>
|
<string name="autofill">Autocompletamento</string>
|
||||||
<string name="autofill_sign_in_prompt">Accedi con KeePassDX</string>
|
<string name="autofill_sign_in_prompt">Accedi con KeePassDX</string>
|
||||||
<string name="set_credential_provider_service_title">Servizio predefinito di autocompletamento</string>
|
<string name="set_credential_provider_service_title">Servizio predefinito di autocompletamento</string>
|
||||||
<string name="autofill_explanation_summary">Attiva l\'autocompletamento per riempire velocemente i campi in altre app</string>
|
<string name="autofill_explanation_summary">Configura l\'autocompletamento per riempire velocemente i campi in altre app</string>
|
||||||
<string name="password_size_title">Dimensione password generata</string>
|
<string name="password_size_title">Dimensione password generata</string>
|
||||||
<string name="password_size_summary">Imposta la dimensione predefinita delle password generate</string>
|
<string name="password_size_summary">Imposta la dimensione predefinita delle password generate</string>
|
||||||
<string name="list_password_generator_options_title">Caratteri password</string>
|
<string name="list_password_generator_options_title">Caratteri password</string>
|
||||||
@@ -304,7 +304,7 @@
|
|||||||
<string name="selection_mode">Modalità selezione</string>
|
<string name="selection_mode">Modalità selezione</string>
|
||||||
<string name="do_not_kill_app">Non terminare l\'app…</string>
|
<string name="do_not_kill_app">Non terminare l\'app…</string>
|
||||||
<string name="lock_database_back_root_title">Premere \'\'Indietro\'\' per bloccare</string>
|
<string name="lock_database_back_root_title">Premere \'\'Indietro\'\' per bloccare</string>
|
||||||
<string name="lock_database_back_root_summary">Blocca il database quando l\'utente preme il pulsante Indietro nella schermata principale</string>
|
<string name="lock_database_back_root_summary">Premi \'Indietro\' per bloccare il database se sei nella schermata principale del database</string>
|
||||||
<string name="clear_clipboard_notification_title">Pulisci alla chiusura</string>
|
<string name="clear_clipboard_notification_title">Pulisci alla chiusura</string>
|
||||||
<string name="clear_clipboard_notification_summary">Blocca il database quando scade la durata degli appunti o la notifica viene chiusa dopo che inizi ad usarlo</string>
|
<string name="clear_clipboard_notification_summary">Blocca il database quando scade la durata degli appunti o la notifica viene chiusa dopo che inizi ad usarlo</string>
|
||||||
<string name="recycle_bin">Cestino</string>
|
<string name="recycle_bin">Cestino</string>
|
||||||
@@ -522,7 +522,7 @@
|
|||||||
<string name="warning_database_info_changed_options">Unisci i dati, sovrascrivi le modifiche esterne salvando il database o ricaricalo con le ultime modifiche.</string>
|
<string name="warning_database_info_changed_options">Unisci i dati, sovrascrivi le modifiche esterne salvando il database o ricaricalo con le ultime modifiche.</string>
|
||||||
<string name="warning_database_info_changed">I dati nel tuo database sono stati modificati al di fuori di questa app.</string>
|
<string name="warning_database_info_changed">I dati nel tuo database sono stati modificati al di fuori di questa app.</string>
|
||||||
<string name="menu_reload_database">Ricarica dati</string>
|
<string name="menu_reload_database">Ricarica dati</string>
|
||||||
<string name="error_otp_type">Il tipo di OTP esistente non è riconosciuto da questo modulo, la sua convalida potrebbe non generare più correttamente il token.</string>
|
<string name="error_otp_type">Il tipo di OTP esistente non è riconosciuto da questo modulo e la sua convalida potrebbe non generare più il token correttamente.</string>
|
||||||
<string name="download_canceled">Annullato!</string>
|
<string name="download_canceled">Annullato!</string>
|
||||||
<string name="unit_gibibyte">GiB</string>
|
<string name="unit_gibibyte">GiB</string>
|
||||||
<string name="unit_mebibyte">MiB</string>
|
<string name="unit_mebibyte">MiB</string>
|
||||||
@@ -678,7 +678,7 @@
|
|||||||
<string name="ask">Chiedi</string>
|
<string name="ask">Chiedi</string>
|
||||||
<string name="configure">Configura</string>
|
<string name="configure">Configura</string>
|
||||||
<string name="unlock_and_link_biometric">Collegamento sblocco con dispositivo</string>
|
<string name="unlock_and_link_biometric">Collegamento sblocco con dispositivo</string>
|
||||||
<string name="menu_appearance_settings_summary">Temi, colori, attributi</string>
|
<string name="menu_appearance_settings_summary">Temi, colori, icone, caratteri, attributi</string>
|
||||||
<string name="unlock">Sblocca</string>
|
<string name="unlock">Sblocca</string>
|
||||||
<string name="education_validate_entry_title">Conferma la voce</string>
|
<string name="education_validate_entry_title">Conferma la voce</string>
|
||||||
<string name="education_validate_entry_summary">Ricordati di confermare la voce e salvare il tuo database.
|
<string name="education_validate_entry_summary">Ricordati di confermare la voce e salvare il tuo database.
|
||||||
@@ -707,4 +707,45 @@
|
|||||||
<string name="recursive_number_entries_summary">Calcola in modo ricorsivo il numero di voci in un gruppo</string>
|
<string name="recursive_number_entries_summary">Calcola in modo ricorsivo il numero di voci in un gruppo</string>
|
||||||
<string name="hide_templates_summary">I template non vengono mostrati</string>
|
<string name="hide_templates_summary">I template non vengono mostrati</string>
|
||||||
<string name="error_otp_secret_length">La chiave segreta deve essere lunga almeno %1$d caratteri.</string>
|
<string name="error_otp_secret_length">La chiave segreta deve essere lunga almeno %1$d caratteri.</string>
|
||||||
|
<string name="entry_application_id">ID app</string>
|
||||||
|
<string name="warning_overwrite_data_title">Sovrascrivere i dati esistenti?</string>
|
||||||
|
<string name="warning_overwrite_data_description">Questa azione sostituirà i dati esistenti nella voce, puoi recuperare i vecchi dati se la cronologia è attiva.</string>
|
||||||
|
<string name="credential_provider">Fornitore di credenziali</string>
|
||||||
|
<string name="passkeys">Passkey</string>
|
||||||
|
<string name="passkeys_explanation_summary">Configura una passkey per un accesso veloce e sicuro senza password</string>
|
||||||
|
<string name="passkeys_preference_title">Impostazioni passkey</string>
|
||||||
|
<string name="passkeys_close_database_title">Chiudi database</string>
|
||||||
|
<string name="passkeys_close_database_summary">Chiudi il database dopo la selezione di una passkey</string>
|
||||||
|
<string name="passkeys_privileged_apps_title">App privilegiate</string>
|
||||||
|
<string name="passkeys_privileged_apps_summary">Gestisci i browser nell\'elenco personalizzato di app privilegiate</string>
|
||||||
|
<string name="passkeys_privileged_apps_explanation">ATTENZIONE: Un\'app privilegiata funge da gateway per recuperare l\'origine di un\'autenticazione. Assicurati della sua legittimità per evitare problemi di sicurezza.</string>
|
||||||
|
<string name="passkeys_privileged_apps_ask_title">App non riconosciuta</string>
|
||||||
|
<string name="passkeys_privileged_apps_ask_message">%1$s tentativi di eseguire un\'azione passkey.\n\nAggiungerla alla lista delle app privilegiate?</string>
|
||||||
|
<string name="passkeys_missing_signature_app_ask_title">Firma mancante</string>
|
||||||
|
<string name="passkeys_missing_signature_app_ask_explanation">ATTENZIONE: la passkey è stata creata da un altro client o la firma è stata eliminata. Assicurati che l\'app che vuoi autenticare sia parte dello stesso servizio e che sia legittima per evitare problemi di sicurezza.\nSe l\'app è un browser, non aggiungere la sua firma alla voce, ma all\'elenco delle app privilegiate nelle impostazioni.</string>
|
||||||
|
<string name="passkeys_missing_signature_app_ask_message">%1$s non è riconosciuto e tenta di autenticarsi con un passkey esistente.</string>
|
||||||
|
<string name="passkeys_missing_signature_app_ask_question">Aggiungere la firma dell\'app alla voce della passkey?</string>
|
||||||
|
<string name="passkeys_auto_select_title">Selezione automatica</string>
|
||||||
|
<string name="passkeys_auto_select_summary">Selezionare automaticamente se una sola voce e il database è aperto, solo se l\'app richiesta è compatibile</string>
|
||||||
|
<string name="passkeys_backup_eligibility_title">Ammissibilità del backup</string>
|
||||||
|
<string name="passkeys_backup_eligibility_summary">Determina al momento della creazione se l\'origine delle credenziali della chiave pubblica sia consentita per il backup</string>
|
||||||
|
<string name="passkeys_backup_state_title">Stato del backup</string>
|
||||||
|
<string name="passkeys_backup_state_summary">Indica che le credenziali sono dietro backup e protette contro la perdita di un singolo dispositivo</string>
|
||||||
|
<string name="credential_provider_service_subtitle">Passkey, fornitore di autocompletamento credenziali</string>
|
||||||
|
<string name="passkey">Passkey</string>
|
||||||
|
<string name="passkey_service_name">Fornitore di credenziali KeePassDX</string>
|
||||||
|
<string name="passkey_creation_description">Salva la passkey in una nuova voce</string>
|
||||||
|
<string name="passkey_update_description">Aggiorna la passkey in %1$s</string>
|
||||||
|
<string name="passkey_selection_username">Nessuna passkey trovata</string>
|
||||||
|
<string name="passkey_selection_description">Seleziona una passkey esistente</string>
|
||||||
|
<string name="passkey_database_username">Database di KeePassDX</string>
|
||||||
|
<string name="passkey_locked_database_description">Seleziona per sbloccare</string>
|
||||||
|
<string name="passkey_username">Nome utente passkey</string>
|
||||||
|
<string name="passkey_private_key">Chiave privata passkey</string>
|
||||||
|
<string name="passkey_credential_id">ID credenziali passkey</string>
|
||||||
|
<string name="passkey_user_handle">Handle utente passkey</string>
|
||||||
|
<string name="passkey_relying_party">Parte affidabile passkey</string>
|
||||||
|
<string name="passkey_backup_eligibility">Ammissibilità backup passkey</string>
|
||||||
|
<string name="passkey_backup_state">Stato backup passkey</string>
|
||||||
|
<string name="error_passkey_result">Impossibile ritornare la passkey</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
@@ -411,7 +411,7 @@
|
|||||||
<string name="autofill">מילוי אוטומטי</string>
|
<string name="autofill">מילוי אוטומטי</string>
|
||||||
<string name="autofill_sign_in_prompt">התחבר עם KeePassDX</string>
|
<string name="autofill_sign_in_prompt">התחבר עם KeePassDX</string>
|
||||||
<string name="general">כללי</string>
|
<string name="general">כללי</string>
|
||||||
<string name="autofill_explanation_summary">הפעל מילוי אוטומטי כדי למלא במהירות טפסים ביישומים אחרים</string>
|
<string name="autofill_explanation_summary">הגדר מילוי אוטומטי כדי למלא במהירות טפסים ביישומים אחרים</string>
|
||||||
<string name="set_credential_provider_service_title">הגדר שירות מילוי אוטומטי ברירת מחדל</string>
|
<string name="set_credential_provider_service_title">הגדר שירות מילוי אוטומטי ברירת מחדל</string>
|
||||||
<string name="password_size_title">גודל סיסמה שנוצרה</string>
|
<string name="password_size_title">גודל סיסמה שנוצרה</string>
|
||||||
<string name="password_size_summary">מגדיר גודל ברירת המחדל של הסיסמאות שנוצרו</string>
|
<string name="password_size_summary">מגדיר גודל ברירת המחדל של הסיסמאות שנוצרו</string>
|
||||||
@@ -420,7 +420,7 @@
|
|||||||
<string name="clipboard_warning">אם מחיקה אוטומטית של לוח ההעתקה נכשלת, מחק את ההיסטוריה שלו ידנית.</string>
|
<string name="clipboard_warning">אם מחיקה אוטומטית של לוח ההעתקה נכשלת, מחק את ההיסטוריה שלו ידנית.</string>
|
||||||
<string name="lock_database_screen_off_summary">נעל את מסד הנתונים לאחר כמה שניות ברגע שהמסך כבוי</string>
|
<string name="lock_database_screen_off_summary">נעל את מסד הנתונים לאחר כמה שניות ברגע שהמסך כבוי</string>
|
||||||
<string name="lock_database_screen_off_title">נעילת מסך</string>
|
<string name="lock_database_screen_off_title">נעילת מסך</string>
|
||||||
<string name="lock_database_back_root_summary">נעל את מסד הנתונים כאשר המשתמש לוחץ על כפתור החזרה במסך הראשי</string>
|
<string name="lock_database_back_root_summary">הקש על כפתור החזרה במסך הראשי בכדי לנעול את מסד הנתונים</string>
|
||||||
<string name="biometric_unlock_enable_title">ביטול נעילה ביומטרית</string>
|
<string name="biometric_unlock_enable_title">ביטול נעילה ביומטרית</string>
|
||||||
<string name="biometric_unlock_enable_summary">מאפשר לך לסרוק את האמצעי הביומטרי שלך כדי לפתוח את מסד הנתונים</string>
|
<string name="biometric_unlock_enable_summary">מאפשר לך לסרוק את האמצעי הביומטרי שלך כדי לפתוח את מסד הנתונים</string>
|
||||||
<string name="device_unlock_explanation_summary">השתמש בביטול נעילת המכשיר כדי לפתוח את מסד הנתונים ביתר קלות</string>
|
<string name="device_unlock_explanation_summary">השתמש בביטול נעילת המכשיר כדי לפתוח את מסד הנתונים ביתר קלות</string>
|
||||||
@@ -604,7 +604,7 @@
|
|||||||
<string name="unlock_and_link_biometric">קישור ביטול נעילת מכשיר</string>
|
<string name="unlock_and_link_biometric">קישור ביטול נעילת מכשיר</string>
|
||||||
<string name="encrypted_value_stored">סיסמה מוצפנת אוחסנה</string>
|
<string name="encrypted_value_stored">סיסמה מוצפנת אוחסנה</string>
|
||||||
<string name="unavailable">לא זמין</string>
|
<string name="unavailable">לא זמין</string>
|
||||||
<string name="menu_appearance_settings_summary">ערכות נושא, צבעים, תכונות</string>
|
<string name="menu_appearance_settings_summary">ערכות נושא, צבעים, סמלים, גופנים, תכונות</string>
|
||||||
<string name="autofill_select_entry">בחר רשומה…</string>
|
<string name="autofill_select_entry">בחר רשומה…</string>
|
||||||
<string name="templates_group_enable_title">שימוש בתבניות</string>
|
<string name="templates_group_enable_title">שימוש בתבניות</string>
|
||||||
<string name="templates_group_enable_summary">השתמש בתבניות דינמיות כדי למלא את השדות של רשומה</string>
|
<string name="templates_group_enable_summary">השתמש בתבניות דינמיות כדי למלא את השדות של רשומה</string>
|
||||||
@@ -686,4 +686,40 @@
|
|||||||
<string name="html_text_buy_pro">על ידי קניית גרסת הפרו, תהיה לך גישה ל<strong>סגנון החזותי</strong> הזה ותעזור במיוחד עם <strong>ההגשמה של פרויקטים קהילתיים.</strong></string>
|
<string name="html_text_buy_pro">על ידי קניית גרסת הפרו, תהיה לך גישה ל<strong>סגנון החזותי</strong> הזה ותעזור במיוחד עם <strong>ההגשמה של פרויקטים קהילתיים.</strong></string>
|
||||||
<string name="html_text_dev_feature_buy_pro">על ידי קניית גרסת ה<strong>פרו</strong>,</string>
|
<string name="html_text_dev_feature_buy_pro">על ידי קניית גרסת ה<strong>פרו</strong>,</string>
|
||||||
<string name="error_otp_secret_length">מפתח סודי חייב להיות לפחות %1$d תווים.</string>
|
<string name="error_otp_secret_length">מפתח סודי חייב להיות לפחות %1$d תווים.</string>
|
||||||
|
<string name="entry_application_id">מזהה אפליקציה</string>
|
||||||
|
<string name="warning_overwrite_data_title">להחליף נתונים קיימים?</string>
|
||||||
|
<string name="warning_overwrite_data_description">פעולה זו תחליף את הנתונים הקיימים בערך, ניתן לאחזר את הנתונים הישנים אם ההיסטוריה מופעלת.</string>
|
||||||
|
<string name="passkeys">מפתחות גישה</string>
|
||||||
|
<string name="passkeys_explanation_summary">הגדר מפתחות גישה בשביל התחברות ללא סיסמה מהירה ובטוחה</string>
|
||||||
|
<string name="passkeys_preference_title">הגדרות מפתחות גישה</string>
|
||||||
|
<string name="passkeys_close_database_title">סגור מסד נתונים</string>
|
||||||
|
<string name="passkeys_close_database_summary">סגור את מסד הנתונים לאחר בחירת מפתח גישה</string>
|
||||||
|
<string name="passkeys_privileged_apps_title">אפליקציות מורשות</string>
|
||||||
|
<string name="passkeys_privileged_apps_summary">ניהול דפדפנים ברשימה המותאמת אישית של אפליקציות מורשות</string>
|
||||||
|
<string name="passkeys_privileged_apps_ask_title">אפליקציה לא מזוהה</string>
|
||||||
|
<string name="passkeys_backup_eligibility_title">זכאות לגיבוי</string>
|
||||||
|
<string name="passkeys_backup_eligibility_summary">קבע בעת היצירה האם מותר לגבות את מפתחות הגישה</string>
|
||||||
|
<string name="passkeys_backup_state_title">מצב הגיבוי</string>
|
||||||
|
<string name="passkeys_backup_state_summary">ציון שמפתחות הגישה מגובים ומוגנים מפני אובדן של מכשיר בודד</string>
|
||||||
|
<string name="credential_provider_service_subtitle">ספק מפתחות גישה ומילוי אוטומטי</string>
|
||||||
|
<string name="passkey">מפתח גישה</string>
|
||||||
|
<string name="passkey_creation_description">שמו מפתח גישה ברשומה חדשה</string>
|
||||||
|
<string name="passkey_update_description">עדכן מפתח גישה ב-%1$s</string>
|
||||||
|
<string name="passkey_selection_username">לא נמצא מפתח גישה</string>
|
||||||
|
<string name="passkey_selection_description">בחר מפתח גישה קיים</string>
|
||||||
|
<string name="passkey_database_username">KeePassDX מסד נתונים</string>
|
||||||
|
<string name="passkey_locked_database_description">בחר בשביל לפתוח</string>
|
||||||
|
<string name="passkey_username">שם משתמש למפתח גישה</string>
|
||||||
|
<string name="passkey_private_key">מפתח פרטי למפתח גישה</string>
|
||||||
|
<string name="passkey_credential_id">מזהה ייחודי של מפתח גישה</string>
|
||||||
|
<string name="passkey_user_handle">משתמש של מפתח גישה</string>
|
||||||
|
<string name="passkey_relying_party">ספק מפתח גישה</string>
|
||||||
|
<string name="passkey_backup_eligibility">זמינות לגיבוי מפתח ראשי</string>
|
||||||
|
<string name="passkey_backup_state">מצב גיבוי מפתח ראשי</string>
|
||||||
|
<string name="error_passkey_result">לא ניתן להחזיר מפתח גישה</string>
|
||||||
|
<string name="passkeys_missing_signature_app_ask_title">חסר חתימה</string>
|
||||||
|
<string name="passkeys_missing_signature_app_ask_question">הוסף חתימת יישום לרשומת מפתח גישה?</string>
|
||||||
|
<string name="passkeys_auto_select_title">בחירה אוטומטית</string>
|
||||||
|
<string name="passkeys_auto_select_summary">בחר אוטומטית אם רק רשומה אחת מתאימה ומסד הנתונים פתוח, ורק אם היישום המבקש מתאים</string>
|
||||||
|
<string name="passkeys_privileged_apps_ask_message">%1$s מנסה לבצע פעולה עם מפתח גישה.\n\nלהוסיך אותו לרשימת יישומים מורשים?</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
@@ -273,7 +273,7 @@
|
|||||||
<string name="general">全般</string>
|
<string name="general">全般</string>
|
||||||
<string name="autofill">自動入力</string>
|
<string name="autofill">自動入力</string>
|
||||||
<string name="autofill_sign_in_prompt">KeePassDX でログイン</string>
|
<string name="autofill_sign_in_prompt">KeePassDX でログイン</string>
|
||||||
<string name="autofill_explanation_summary">自動入力を有効にして、他のアプリ内のフォームにすばやく入力します</string>
|
<string name="autofill_explanation_summary">自動入力を設定し、他のアプリ内のフォームにすばやく入力します</string>
|
||||||
<string name="set_credential_provider_service_title">デフォルトの自動入力サービスに設定</string>
|
<string name="set_credential_provider_service_title">デフォルトの自動入力サービスに設定</string>
|
||||||
<string name="autofill_preference_title">自動入力の設定</string>
|
<string name="autofill_preference_title">自動入力の設定</string>
|
||||||
<string name="password_size_title">生成されるパスワードの長さ</string>
|
<string name="password_size_title">生成されるパスワードの長さ</string>
|
||||||
@@ -290,7 +290,7 @@
|
|||||||
<string name="lock_database_screen_off_title">画面ロック</string>
|
<string name="lock_database_screen_off_title">画面ロック</string>
|
||||||
<string name="lock_database_screen_off_summary">画面がオフになった数秒後に、データベースをロックします</string>
|
<string name="lock_database_screen_off_summary">画面がオフになった数秒後に、データベースをロックします</string>
|
||||||
<string name="lock_database_back_root_title">[戻る] を押してロック</string>
|
<string name="lock_database_back_root_title">[戻る] を押してロック</string>
|
||||||
<string name="lock_database_back_root_summary">ユーザーがルート画面上で戻るボタンをタップしたとき、データベースをロックします</string>
|
<string name="lock_database_back_root_summary">データベースのルート画面にいる場合、‘戻る‘ を押してデータベースをロックしてください</string>
|
||||||
<string name="lock_database_show_button_title">ロックボタンを表示</string>
|
<string name="lock_database_show_button_title">ロックボタンを表示</string>
|
||||||
<string name="lock_database_show_button_summary">ユーザー インターフェースにロックボタンを表示します</string>
|
<string name="lock_database_show_button_summary">ユーザー インターフェースにロックボタンを表示します</string>
|
||||||
<string name="device_unlock">デバイスのロック解除</string>
|
<string name="device_unlock">デバイスのロック解除</string>
|
||||||
@@ -671,8 +671,8 @@
|
|||||||
<string name="ask">権限を要求する</string>
|
<string name="ask">権限を要求する</string>
|
||||||
<string name="merge_success">マージが正常に完了しました</string>
|
<string name="merge_success">マージが正常に完了しました</string>
|
||||||
<string name="configure">設定する</string>
|
<string name="configure">設定する</string>
|
||||||
<string name="menu_appearance_settings_summary">テーマ、色、属性</string>
|
<string name="menu_appearance_settings_summary">テーマ、色、アイコン、フォント、属性</string>
|
||||||
<string name="unlock">ロックを解除します</string>
|
<string name="unlock">ロックを解除</string>
|
||||||
<string name="style_name_moon">ムーン</string>
|
<string name="style_name_moon">ムーン</string>
|
||||||
<string name="style_name_dark">ダーク</string>
|
<string name="style_name_dark">ダーク</string>
|
||||||
<string name="style_name_light">ライト</string>
|
<string name="style_name_light">ライト</string>
|
||||||
@@ -695,4 +695,45 @@
|
|||||||
<string name="hide_templates_title">テンプレートを非表示にする</string>
|
<string name="hide_templates_title">テンプレートを非表示にする</string>
|
||||||
<string name="hide_templates_summary">テンプレートは表示されません</string>
|
<string name="hide_templates_summary">テンプレートは表示されません</string>
|
||||||
<string name="error_otp_secret_length">秘密鍵は少なくとも %1$d 文字以上でないといけません。</string>
|
<string name="error_otp_secret_length">秘密鍵は少なくとも %1$d 文字以上でないといけません。</string>
|
||||||
|
<string name="entry_application_id">アプリID</string>
|
||||||
|
<string name="warning_overwrite_data_title">既存データを上書きしますか?</string>
|
||||||
|
<string name="warning_overwrite_data_description">この操作でエントリの既存データが上書きされ、履歴機能が有効ならば古いデータから復元できます。</string>
|
||||||
|
<string name="credential_provider">認証プロバイダ</string>
|
||||||
|
<string name="passkeys">パスキー</string>
|
||||||
|
<string name="passkeys_explanation_summary">パスキーを設定し、迅速・安全なパスワード不要ログインを実現</string>
|
||||||
|
<string name="passkeys_preference_title">パスキーの設定</string>
|
||||||
|
<string name="passkeys_close_database_title">データベースを選択</string>
|
||||||
|
<string name="passkeys_close_database_summary">パスキー選択後にデータベースを閉じる</string>
|
||||||
|
<string name="passkeys_privileged_apps_title">特権アプリ</string>
|
||||||
|
<string name="passkeys_privileged_apps_summary">特権アプリのカスタム一覧でブラウザを管理</string>
|
||||||
|
<string name="passkeys_privileged_apps_explanation">警告: 特権アプリは認証起源を取得するためのゲートウェイとして機能します。セキュリティ上の問題回避の為に正当性を確認下さい。</string>
|
||||||
|
<string name="passkeys_privileged_apps_ask_title">アプリが認識されません</string>
|
||||||
|
<string name="passkeys_privileged_apps_ask_message">%1$s がパスキー操作を行おうとしています。\n\n特権アプリ一覧に追加しますか?</string>
|
||||||
|
<string name="passkeys_missing_signature_app_ask_title">署名がありません</string>
|
||||||
|
<string name="passkeys_missing_signature_app_ask_explanation">警告: パスキーは別なクライアントから作成されたか署名が削除されています。セキュリティ上の問題を避ける為に認証対象のアプリが同一サービスに属した正しいものかを確認してください。\nアプリがブラウザなら、当該署名をエントリへ追加せずに、設定内の特権アプリ一覧へ追加してください。</string>
|
||||||
|
<string name="passkeys_missing_signature_app_ask_message">%1$s は認識されなかったので既存パスキーでの認証を試みます。</string>
|
||||||
|
<string name="passkeys_missing_signature_app_ask_question">アプリ署名をパスキーエントリへ追加しますか?</string>
|
||||||
|
<string name="passkeys_auto_select_title">自動選択</string>
|
||||||
|
<string name="passkeys_auto_select_summary">データベースが開いていて要求元アプリに互換性がある場合に限り、エントリを1つだけ自動選択します</string>
|
||||||
|
<string name="passkeys_backup_eligibility_title">バックアップ資格</string>
|
||||||
|
<string name="passkeys_backup_eligibility_summary">作成時に公開鍵認証情報ソースのバックアップが許可されているか判定する</string>
|
||||||
|
<string name="passkeys_backup_state_title">バックアップの状態</string>
|
||||||
|
<string name="passkeys_backup_state_summary">認証情報がバックアップされ単一デバイスの紛失から保護されている事を示します</string>
|
||||||
|
<string name="credential_provider_service_subtitle">パスキー、自動入力認証情報プロバイダー</string>
|
||||||
|
<string name="passkey">パスキー</string>
|
||||||
|
<string name="passkey_service_name">KeePassDX 認証情報プロバイダー</string>
|
||||||
|
<string name="passkey_creation_description">新しいエントリにパスキーを保存</string>
|
||||||
|
<string name="passkey_update_description">%1$s のパスキーを更新</string>
|
||||||
|
<string name="passkey_selection_username">パスキーが見つかりません</string>
|
||||||
|
<string name="passkey_selection_description">既存のパスキーを選択</string>
|
||||||
|
<string name="passkey_database_username">KeePassDX データベース</string>
|
||||||
|
<string name="passkey_locked_database_description">選択してロックを解除</string>
|
||||||
|
<string name="passkey_username">パスキーのユーザー名</string>
|
||||||
|
<string name="passkey_private_key">パスキーのプライベートキー</string>
|
||||||
|
<string name="passkey_credential_id">パスキーの認証ID</string>
|
||||||
|
<string name="passkey_user_handle">パスキーのユーザーハンドル</string>
|
||||||
|
<string name="passkey_relying_party">パスキーの信頼者</string>
|
||||||
|
<string name="passkey_backup_eligibility">パスキーのバックアップ資格</string>
|
||||||
|
<string name="passkey_backup_state">パスキーのバックアップ状態</string>
|
||||||
|
<string name="error_passkey_result">パスキーを復元できません</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
@@ -19,7 +19,7 @@
|
|||||||
--><resources>
|
--><resources>
|
||||||
<string name="feedback">피드백</string>
|
<string name="feedback">피드백</string>
|
||||||
<string name="homepage">홈페이지</string>
|
<string name="homepage">홈페이지</string>
|
||||||
<string name="about_description">KeePass 암호 관리자의 Android 구현본</string>
|
<string name="about_description">KeePass 암호 관리자의 Android 구현체.</string>
|
||||||
<string name="accept">확인</string>
|
<string name="accept">확인</string>
|
||||||
<string name="add_entry">항목 추가</string>
|
<string name="add_entry">항목 추가</string>
|
||||||
<string name="edit_entry">항목 수정</string>
|
<string name="edit_entry">항목 수정</string>
|
||||||
@@ -40,14 +40,13 @@
|
|||||||
<string name="clipboard_error_clear">클립보드를 비울 수 없음</string>
|
<string name="clipboard_error_clear">클립보드를 비울 수 없음</string>
|
||||||
<string name="clipboard_timeout">클립보드 시간 초과</string>
|
<string name="clipboard_timeout">클립보드 시간 초과</string>
|
||||||
<string name="clipboard_timeout_summary">클립보드 저장이 유지될 시간 (장치가 지원한다면)</string>
|
<string name="clipboard_timeout_summary">클립보드 저장이 유지될 시간 (장치가 지원한다면)</string>
|
||||||
<string name="select_to_copy">%1$s 을(를) 클립보드에 복사하려면 선택하십시오.</string>
|
<string name="select_to_copy">%1$s 을(를) 클립보드에 복사하기</string>
|
||||||
<string name="retrieving_db_key">데이터베이스 키를 검색하는 중…</string>
|
<string name="retrieving_db_key">데이터베이스 키를 검색하는 중…</string>
|
||||||
<string name="database">데이터베이스</string>
|
<string name="database">데이터베이스</string>
|
||||||
<string name="decrypting_db">데이터베이스 컨텐츠 암호 해독 중…</string>
|
<string name="decrypting_db">데이터베이스 컨텐츠 암호 해독 중…</string>
|
||||||
<string name="default_checkbox">기본 데이터베이스로 사용</string>
|
<string name="default_checkbox">기본 데이터베이스로 사용</string>
|
||||||
<string name="digits">단위</string>
|
<string name="digits">단위</string>
|
||||||
<string name="html_about_licence">KeePassDX © %1$d Kunzisoft는 보증이 적용되지 않습니다; 이것은 자유 소프트웨어이며, 광고가 없습니다.
|
<string name="html_about_licence">KeePassDX © %1$d Kunzisoft는 보증이 적용되지 않습니다; 이것은 <strong>자유 소프트웨어</strong>이며, <strong>광고가 없습니다</strong>. \n이 것은 보증 없이 있는 그대로, <strong>GPL 버전 3</strong> 라이선스로 제공됩니다.</string>
|
||||||
\n이 것은 보증 없이 있는 그대로, GPL 버전 3하에 제공됩니다.</string>
|
|
||||||
<string name="entry_accessed">접근됨</string>
|
<string name="entry_accessed">접근됨</string>
|
||||||
<string name="entry_cancel">취소</string>
|
<string name="entry_cancel">취소</string>
|
||||||
<string name="entry_notes">노트</string>
|
<string name="entry_notes">노트</string>
|
||||||
@@ -81,22 +80,22 @@
|
|||||||
<string name="field_name">필드 이름</string>
|
<string name="field_name">필드 이름</string>
|
||||||
<string name="field_value">필드 값</string>
|
<string name="field_value">필드 값</string>
|
||||||
<string name="file_not_found_content">파일을 찾을 수 없습니다. 파일 탐색기에서 열리는지 확인해 주세요.</string>
|
<string name="file_not_found_content">파일을 찾을 수 없습니다. 파일 탐색기에서 열리는지 확인해 주세요.</string>
|
||||||
<string name="file_browser">파일 탐색기</string>
|
<string name="file_browser">파일 관리자</string>
|
||||||
<string name="generate_password">비밀번호 생성</string>
|
<string name="generate_password">비밀번호 생성</string>
|
||||||
<string name="hint_conf_pass">비밀번호 확인</string>
|
<string name="hint_conf_pass">패스워드 확인</string>
|
||||||
<string name="hint_generated_password">생성된 비밀번호</string>
|
<string name="hint_generated_password">생성된 패스워드</string>
|
||||||
<string name="hint_group_name">그룹 이름</string>
|
<string name="hint_group_name">그룹 이름</string>
|
||||||
<string name="hint_keyfile">키 파일</string>
|
<string name="hint_keyfile">키 파일</string>
|
||||||
<string name="hint_length">길이</string>
|
<string name="hint_length">길이</string>
|
||||||
<string name="hint_pass">비밀번호</string>
|
<string name="hint_pass">패스워드</string>
|
||||||
<string name="password">비밀번호</string>
|
<string name="password">비밀번호</string>
|
||||||
<string name="invalid_credentials">비밀번호나 키 파일을 읽을 수 없습니다.</string>
|
<string name="invalid_credentials">패스워드나 키 파일을 읽을 수 없습니다.</string>
|
||||||
<string name="invalid_algorithm">잘못된 알고리즘입니다.</string>
|
<string name="invalid_algorithm">잘못된 알고리즘입니다.</string>
|
||||||
<string name="invalid_db_sig">데이터베이스 형식을 인식할 수 없습니다.</string>
|
<string name="invalid_db_sig">데이터베이스 형식을 인식할 수 없습니다.</string>
|
||||||
<string name="keyfile_is_empty">이 키 파일은 비어 있습니다.</string>
|
<string name="keyfile_is_empty">이 키 파일은 비어 있습니다.</string>
|
||||||
<string name="length">길이</string>
|
<string name="length">길이</string>
|
||||||
<string name="list_entries_show_username_title">아이디 보이기</string>
|
<string name="list_entries_show_username_title">아이디 보이기</string>
|
||||||
<string name="list_entries_show_username_summary">엔트리 목록에 아이디 보이기</string>
|
<string name="list_entries_show_username_summary">항목 리스트에 사용자 이름을 표시합니다</string>
|
||||||
<string name="list_size_title">리스트 항목 크기</string>
|
<string name="list_size_title">리스트 항목 크기</string>
|
||||||
<string name="list_size_summary">요소 목록 텍스트 크기</string>
|
<string name="list_size_summary">요소 목록 텍스트 크기</string>
|
||||||
<string name="loading_database">데이터베이스 로딩 중…</string>
|
<string name="loading_database">데이터베이스 로딩 중…</string>
|
||||||
@@ -105,7 +104,7 @@
|
|||||||
<string name="hide_password_summary">기본 비밀번호를 (***) 로 가리기</string>
|
<string name="hide_password_summary">기본 비밀번호를 (***) 로 가리기</string>
|
||||||
<string name="about">정보</string>
|
<string name="about">정보</string>
|
||||||
<string name="menu_change_key_settings">마스터 키 바꾸기</string>
|
<string name="menu_change_key_settings">마스터 키 바꾸기</string>
|
||||||
<string name="copy_field">%1$s 복사됨</string>
|
<string name="copy_field">%1$s의 사본</string>
|
||||||
<string name="settings">설정</string>
|
<string name="settings">설정</string>
|
||||||
<string name="menu_app_settings">앱 설정</string>
|
<string name="menu_app_settings">앱 설정</string>
|
||||||
<string name="menu_form_filling_settings">폼 채우기</string>
|
<string name="menu_form_filling_settings">폼 채우기</string>
|
||||||
@@ -129,8 +128,8 @@
|
|||||||
<string name="never">절대 하지 않음</string>
|
<string name="never">절대 하지 않음</string>
|
||||||
<string name="no_results">검색 결과가 없음</string>
|
<string name="no_results">검색 결과가 없음</string>
|
||||||
<string name="no_url_handler">이 URL을 열기 위해 웹 브라우저를 설치하십시오.</string>
|
<string name="no_url_handler">이 URL을 열기 위해 웹 브라우저를 설치하십시오.</string>
|
||||||
<string name="select_database_file">가지고 있는 데이터베이스 열기</string>
|
<string name="select_database_file">기존 저장소 열기</string>
|
||||||
<string name="create_keepass_file">새 데이터베이스 생성</string>
|
<string name="create_keepass_file">새 저장소 생성</string>
|
||||||
<string name="progress_create">새 데이터베이스 생성 중…</string>
|
<string name="progress_create">새 데이터베이스 생성 중…</string>
|
||||||
<string name="progress_title">작업 중…</string>
|
<string name="progress_title">작업 중…</string>
|
||||||
<string name="protection">보호</string>
|
<string name="protection">보호</string>
|
||||||
@@ -138,7 +137,7 @@
|
|||||||
<string name="read_only_warning">KeePassDX는 데이터베이스를 수정하기 위해 쓰기 권한이 필요합니다.</string>
|
<string name="read_only_warning">KeePassDX는 데이터베이스를 수정하기 위해 쓰기 권한이 필요합니다.</string>
|
||||||
<string name="content_description_remove_from_list">삭제</string>
|
<string name="content_description_remove_from_list">삭제</string>
|
||||||
<string name="root">루트</string>
|
<string name="root">루트</string>
|
||||||
<string name="encryption_explanation">데이터베이스 암호화 알고리즘이 모든 데이터에 적용됩니다.</string>
|
<string name="encryption_explanation">데이터베이스 암호화 알고리즘이 모든 데이터에 적용됩니다</string>
|
||||||
<string name="memory_usage">메모리 사용량</string>
|
<string name="memory_usage">메모리 사용량</string>
|
||||||
<string name="memory_usage_explanation">바이너리 바이트 단위의 메모리 용량이 키 파생 기능에 사용됩니다.</string>
|
<string name="memory_usage_explanation">바이너리 바이트 단위의 메모리 용량이 키 파생 기능에 사용됩니다.</string>
|
||||||
<string name="saving_database">데이터베이스 저장 중…</string>
|
<string name="saving_database">데이터베이스 저장 중…</string>
|
||||||
@@ -250,10 +249,10 @@
|
|||||||
<string name="error_field_name_already_exists">그 필드 이름은 이미 존재합니다.</string>
|
<string name="error_field_name_already_exists">그 필드 이름은 이미 존재합니다.</string>
|
||||||
<string name="inherited">상속</string>
|
<string name="inherited">상속</string>
|
||||||
<string name="auto_type">자동입력</string>
|
<string name="auto_type">자동입력</string>
|
||||||
<string name="warning_database_already_opened">데이터베이스가 이미 열려있습니다. 새 것을 열려면 지금 것을 먼저 닫아주세요.</string>
|
<string name="warning_database_already_opened">데이터베이스가 이미 열려있습니다. 새 것을 열려면 지금 것을 먼저 닫아주세요</string>
|
||||||
<string name="hide_broken_locations_summary">최근 데이터베이스 목록에서 파손된 링크를 감춤</string>
|
<string name="hide_broken_locations_summary">최근 데이터베이스 목록에서 파손된 링크를 감춤</string>
|
||||||
<string name="import_app_properties_summary">앱 속성을 내보낼 파일을 선택</string>
|
<string name="import_app_properties_summary">가져올 앱 설정 파일 선택</string>
|
||||||
<string name="success_import_app_properties">앱 속성을 가져왔습니다.</string>
|
<string name="success_import_app_properties">앱 설정 가져옴</string>
|
||||||
<string name="kdf_explanation">암호화 알고리즘 용 키를 생성하기 위해, 마스터키는 임의의 솔트(salt) 키 파생 함수를 사용하여 변환됩니다.</string>
|
<string name="kdf_explanation">암호화 알고리즘 용 키를 생성하기 위해, 마스터키는 임의의 솔트(salt) 키 파생 함수를 사용하여 변환됩니다.</string>
|
||||||
<string name="warning">경고</string>
|
<string name="warning">경고</string>
|
||||||
<string name="error_challenge_already_requested">이미 요청된 시도입니다.</string>
|
<string name="error_challenge_already_requested">이미 요청된 시도입니다.</string>
|
||||||
@@ -262,14 +261,14 @@
|
|||||||
<string name="error_response_already_provided">이미 응답했습니다.</string>
|
<string name="error_response_already_provided">이미 응답했습니다.</string>
|
||||||
<string name="error_location_unknown">데이터 베이스 위치를 알 수 없어 데이터 베이스 액션을 수행할 수 없습니다.</string>
|
<string name="error_location_unknown">데이터 베이스 위치를 알 수 없어 데이터 베이스 액션을 수행할 수 없습니다.</string>
|
||||||
<string name="error_driver_required">%1$s 를 위한 드라이버가 요구됩니다.</string>
|
<string name="error_driver_required">%1$s 를 위한 드라이버가 요구됩니다.</string>
|
||||||
<string name="error_unable_merge_database_kdb">데이터베이스 V1로부터 병합할 수 없습니다.</string>
|
<string name="error_unable_merge_database_kdb">kdb 데이터베이스 파일과 병합할 수 없습니다.</string>
|
||||||
<string name="error_hardware_key_unsupported">하드웨어 키는 지원하지 않습니다.</string>
|
<string name="error_hardware_key_unsupported">하드웨어 키는 지원하지 않습니다.</string>
|
||||||
<string name="error_empty_key">키는 반드시 입력해야 합니다.</string>
|
<string name="error_empty_key">키는 반드시 입력해야 합니다.</string>
|
||||||
<string name="hint_icon_name">아이콘명</string>
|
<string name="hint_icon_name">아이콘명</string>
|
||||||
<string name="passphrase">암호문</string>
|
<string name="passphrase">암호문</string>
|
||||||
<string name="colorize_password_title">비밀번호에 색상 부여</string>
|
<string name="colorize_password_title">비밀번호에 색상 부여</string>
|
||||||
<string name="colorize_password_summary">타입에 따라 비밀번호 문자에 색상을 부여</string>
|
<string name="colorize_password_summary">타입에 따라 비밀번호 문자에 색상을 부여</string>
|
||||||
<string name="export_app_properties_title">앱 속성을 내보내기</string>
|
<string name="export_app_properties_title">앱 설정 내보내기</string>
|
||||||
<string name="uppercase">대문자</string>
|
<string name="uppercase">대문자</string>
|
||||||
<string name="menu_security_settings">보안 설정</string>
|
<string name="menu_security_settings">보안 설정</string>
|
||||||
<string name="menu_reload_database">데이터 다시 읽기</string>
|
<string name="menu_reload_database">데이터 다시 읽기</string>
|
||||||
@@ -280,7 +279,7 @@
|
|||||||
<string name="save_mode">저장 모드</string>
|
<string name="save_mode">저장 모드</string>
|
||||||
<string name="selection_mode">선택 모드</string>
|
<string name="selection_mode">선택 모드</string>
|
||||||
<string name="remember_hardware_key_title">하드웨어 키를 기억</string>
|
<string name="remember_hardware_key_title">하드웨어 키를 기억</string>
|
||||||
<string name="export_app_properties_summary">앱 속성을 내보낼 파일을 생성</string>
|
<string name="export_app_properties_summary">앱 설정을 내보내기 위해 파일 생성</string>
|
||||||
<string name="error_import_app_properties">앱 속성을 가져오던 중 오류 발생.</string>
|
<string name="error_import_app_properties">앱 속성을 가져오던 중 오류 발생.</string>
|
||||||
<string name="contains_duplicate_uuid">데이터베이스가 중복된 UUID를 포함하고 있습니다.</string>
|
<string name="contains_duplicate_uuid">데이터베이스가 중복된 UUID를 포함하고 있습니다.</string>
|
||||||
<string name="remember_database_locations_summary">데이터 베이스가 저장된 곳을 추적</string>
|
<string name="remember_database_locations_summary">데이터 베이스가 저장된 곳을 추적</string>
|
||||||
@@ -311,7 +310,7 @@
|
|||||||
<string name="menu_restore_entry_history">이력을 복구</string>
|
<string name="menu_restore_entry_history">이력을 복구</string>
|
||||||
<string name="subdomain_search_summary">보조 도메인 제한하에 웹 도메인을 검색</string>
|
<string name="subdomain_search_summary">보조 도메인 제한하에 웹 도메인을 검색</string>
|
||||||
<string name="contains_duplicate_uuid_procedure">중복에 대해 새로운 UUID를 생성하여 문제를 해결하고 진행할까요\?</string>
|
<string name="contains_duplicate_uuid_procedure">중복에 대해 새로운 UUID를 생성하여 문제를 해결하고 진행할까요\?</string>
|
||||||
<string name="success_export_app_properties">앱 속성을 내보냈습니다.</string>
|
<string name="success_export_app_properties">앱 설정 내보냄</string>
|
||||||
<string name="parallelism">병렬 처리</string>
|
<string name="parallelism">병렬 처리</string>
|
||||||
<string name="command_execution">명령 실행중…</string>
|
<string name="command_execution">명령 실행중…</string>
|
||||||
<string name="menu_master_key_settings">마스터 키 설정</string>
|
<string name="menu_master_key_settings">마스터 키 설정</string>
|
||||||
@@ -321,14 +320,14 @@
|
|||||||
<string name="menu_device_unlock_settings">고급 잠금 해제</string>
|
<string name="menu_device_unlock_settings">고급 잠금 해제</string>
|
||||||
<string name="search_mode">검색 모드</string>
|
<string name="search_mode">검색 모드</string>
|
||||||
<string name="rounds_explanation">추가적인 암호화 차수를 설정함으로써 무차별 대입 공격(brute force attack)에 대한 방어를 강화할 수 있습니다. 대신 읽기/저장시 느려질 수 있습니다.</string>
|
<string name="rounds_explanation">추가적인 암호화 차수를 설정함으로써 무차별 대입 공격(brute force attack)에 대한 방어를 강화할 수 있습니다. 대신 읽기/저장시 느려질 수 있습니다.</string>
|
||||||
<string name="do_not_kill_app">앱을 강제 종료하지 마세요.</string>
|
<string name="do_not_kill_app">앱을 강제 종료하지 마세요…</string>
|
||||||
<string name="sort_recycle_bin_bottom">휴지통을 바닥에</string>
|
<string name="sort_recycle_bin_bottom">휴지통을 바닥에</string>
|
||||||
<string name="warning_database_link_revoked">파일에 대한 접근이 파일 관리자에 의해 철회되었습니다.</string>
|
<string name="warning_database_link_revoked">파일에 대한 접근이 파일 관리자에 의해 철회되었습니다</string>
|
||||||
<string name="hide_broken_locations_title">파손된 데이터페이스 링크를 감춤</string>
|
<string name="hide_broken_locations_title">파손된 데이터페이스 링크를 감춤</string>
|
||||||
<string name="import_app_properties_title">앱 속성을 가져오기</string>
|
<string name="import_app_properties_title">앱 설정 가져오기</string>
|
||||||
<string name="error_export_app_properties">앱 속성을 내보내던 중 오류 발생.</string>
|
<string name="error_export_app_properties">앱 속성을 내보내던 중 오류 발생.</string>
|
||||||
<string name="rounds">변환 차수</string>
|
<string name="rounds">변환 차수</string>
|
||||||
<string name="parallelism_explanation">키 파생 함수에 사용되는 병렬 처리 수준 (즉, 스레드의 갯수)</string>
|
<string name="parallelism_explanation">키 파생 함수에 사용되는 병렬 처리 수준(즉, 스레드의 갯수).</string>
|
||||||
<string name="html_about_privacy"><strong>사용자 데이터를 받아오지 않습니다.</strong> 어떤 서버에도 연결하지 않고 로컬로만 동작하며 사용자의 사생활(프라이버시)를 최우선시합니다.</string>
|
<string name="html_about_privacy"><strong>사용자 데이터를 받아오지 않습니다.</strong> 어떤 서버에도 연결하지 않고 로컬로만 동작하며 사용자의 사생활(프라이버시)를 최우선시합니다.</string>
|
||||||
<string name="error_rebuild_list">목록 재구축을 알맞게 할 수 없습니다.</string>
|
<string name="error_rebuild_list">목록 재구축을 알맞게 할 수 없습니다.</string>
|
||||||
<string name="error_file_to_big">업로드하려는 파일이 너무 큽니다.</string>
|
<string name="error_file_to_big">업로드하려는 파일이 너무 큽니다.</string>
|
||||||
@@ -339,50 +338,50 @@
|
|||||||
<string name="show_otp_token_summary">항목 목록에서 OTP 토큰을 표시</string>
|
<string name="show_otp_token_summary">항목 목록에서 OTP 토큰을 표시</string>
|
||||||
<string name="show_uuid_title">UUID를 표시</string>
|
<string name="show_uuid_title">UUID를 표시</string>
|
||||||
<string name="show_uuid_summary">항목이나 그룹에 연결된 UUID를 표시</string>
|
<string name="show_uuid_summary">항목이나 그룹에 연결된 UUID를 표시</string>
|
||||||
<string name="creating_database">데이터 베이스를 생성</string>
|
<string name="creating_database">데이터베이스 생성중…</string>
|
||||||
<string name="menu_merge_database">데이터 병합</string>
|
<string name="menu_merge_database">데이터 병합</string>
|
||||||
<string name="menu_merge_from">... 로부터 병합</string>
|
<string name="menu_merge_from">…로부터 병합</string>
|
||||||
<string name="menu_save_copy_to">... 에 복사본 저장</string>
|
<string name="menu_save_copy_to">…에 복사본 저장</string>
|
||||||
<string name="menu_keystore_remove_key">고급 잠금 해제 키를 삭제</string>
|
<string name="menu_keystore_remove_key">디바이스 잠금 해제 키 삭제</string>
|
||||||
<string name="sort_last_access_time">접근</string>
|
<string name="sort_last_access_time">접근</string>
|
||||||
<string name="invalid_db_same_uuid">%1$s 와 동일한 UUID %2$s 가 이미 존재합니다.</string>
|
<string name="invalid_db_same_uuid">%1$s 와 동일한 UUID %2$s 가 이미 존재합니다.</string>
|
||||||
<string name="underline">밑줄</string>
|
<string name="underline">밑줄</string>
|
||||||
<string name="unsupported_db_version">지원하지 않는 데이터베이스 버전입니다.</string>
|
<string name="unsupported_db_version">지원하지 않는 데이터베이스 버전입니다.</string>
|
||||||
<string name="permission">허용</string>
|
<string name="permission">권한</string>
|
||||||
<string name="menu_appearance_settings">테마</string>
|
<string name="menu_appearance_settings">테마</string>
|
||||||
<string name="biometric">생체 인증</string>
|
<string name="biometric">생체 인증</string>
|
||||||
<string name="device_credential">기기 자격 증명</string>
|
<string name="device_credential">기기 자격 증명</string>
|
||||||
<string name="generate_keyfile">키 파일 생성하기</string>
|
<string name="generate_keyfile">키 파일 생성하기</string>
|
||||||
<string name="menu_form_filling_settings_summary">키보드, 자동 완성, 클립보드</string>
|
<string name="menu_form_filling_settings_summary">키보드, 자동 완성, 클립보드</string>
|
||||||
<string name="menu_app_settings_summary">검색, 잠금, 기록, 속성</string>
|
<string name="menu_app_settings_summary">검색, 잠금, 기록, 속성</string>
|
||||||
<string name="merge_success">병합을 성공했습니다</string>
|
<string name="merge_success">병합이 성공적으로 완료되었습니다</string>
|
||||||
<string name="version_label">버전 %1$s</string>
|
<string name="version_label">버전 %1$s</string>
|
||||||
<string name="encrypted_value_stored">암호화된 비밀번호가 저장되었습니다</string>
|
<string name="encrypted_value_stored">암호화된 비밀번호가 저장되었습니다</string>
|
||||||
<string name="info">정보</string>
|
<string name="info">정보</string>
|
||||||
<string name="build_label">빌드 %1$s</string>
|
<string name="build_label">빌드 %1$s</string>
|
||||||
<string name="configure_biometric">생체 인식 또는 장치 자격 증명이 등록되지 않았습니다.</string>
|
<string name="configure_biometric">생체 인식 또는 장치 자격 증명이 등록되지 않았습니다.</string>
|
||||||
<string name="properties">속성</string>
|
<string name="properties">속성</string>
|
||||||
<string name="menu_appearance_settings_summary">테마, 색상, 속성</string>
|
<string name="menu_appearance_settings_summary">테마, 색상, 아이콘, 글꼴, 속성</string>
|
||||||
<string name="autofill">자동 입력</string>
|
<string name="autofill">자동 입력</string>
|
||||||
<string name="credential_before_click_device_unlock_button">비밀번호 입력 후 이 버튼을 눌러주세요</string>
|
<string name="credential_before_click_device_unlock_button">비밀번호 입력 후 이 버튼을 눌러주세요.</string>
|
||||||
<string name="unavailable">사용할 수 없습니다</string>
|
<string name="unavailable">사용 불가</string>
|
||||||
<string name="database_history">기록</string>
|
<string name="database_history">이력</string>
|
||||||
<string name="type">유형</string>
|
<string name="type">유형</string>
|
||||||
<string name="configure">설정</string>
|
<string name="configure">설정</string>
|
||||||
<string name="biometric_security_update_required">등록된 생체정보를 업데이트해 주세요.</string>
|
<string name="biometric_security_update_required">등록된 생체정보를 업데이트해 주세요.</string>
|
||||||
<string name="autofill_select_entry">항목을 선택하세요</string>
|
<string name="autofill_select_entry">항목 선택…</string>
|
||||||
<string name="clipboard">클립보드</string>
|
<string name="clipboard">클립보드</string>
|
||||||
<string name="clipboard_notifications_title">클립보드 알림</string>
|
<string name="clipboard_notifications_title">클립보드 알림</string>
|
||||||
<string name="lock_database_screen_off_summary">화면이 꺼지면 몇 초 후에 데이터베이스를 잠급니다.</string>
|
<string name="lock_database_screen_off_summary">화면이 꺼지면 몇 초 후에 데이터베이스를 잠급니다</string>
|
||||||
<string name="lock_database_back_root_title">\'뒤로가기\'를 눌러 잠금</string>
|
<string name="lock_database_back_root_title">\'뒤로가기\'를 눌러 잠금</string>
|
||||||
<string name="unavailable_feature_text">이 기능을 사용할 수 없습니다.</string>
|
<string name="unavailable_feature_text">이 기능을 사용할 수 없습니다.</string>
|
||||||
<string name="lock_database_show_button_summary">UI에 잠금버튼을 표시합니다</string>
|
<string name="lock_database_show_button_summary">UI에 잠금버튼을 표시합니다</string>
|
||||||
<string name="lock_database_back_root_summary">사용자가 뒤로 가기 버튼을 누르면 데이터베이스를 잠급니다</string>
|
<string name="lock_database_back_root_summary">데이터베이스 루트 화면에 있는 경우 \'뒤로\' 버튼을 눌러 데이터베이스를 잠그십시오</string>
|
||||||
<string name="lock_database_show_button_title">잠금 버튼 표시</string>
|
<string name="lock_database_show_button_title">잠금 버튼 표시</string>
|
||||||
<string name="unlock">잠금 해제</string>
|
<string name="unlock">잠금 해제</string>
|
||||||
<string name="lock">잠금</string>
|
<string name="lock">잠금</string>
|
||||||
<string name="autofill_sign_in_prompt">KeePassDX로 로그인</string>
|
<string name="autofill_sign_in_prompt">KeePassDX로 로그인</string>
|
||||||
<string name="password_size_title">생성된 비밀번호 크기</string>
|
<string name="password_size_title">생성된 패스워드 길이</string>
|
||||||
<string name="autofill_preference_title">자동 완성 설정</string>
|
<string name="autofill_preference_title">자동 완성 설정</string>
|
||||||
<string name="set_credential_provider_service_title">기본 자동완성 서비스 설정</string>
|
<string name="set_credential_provider_service_title">기본 자동완성 서비스 설정</string>
|
||||||
<string name="lock_database_screen_off_title">화면 꺼짐 시 잠금</string>
|
<string name="lock_database_screen_off_title">화면 꺼짐 시 잠금</string>
|
||||||
|
|||||||
@@ -17,7 +17,7 @@
|
|||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with KeePassDX. If not, see <http://www.gnu.org/licenses/>.
|
along with KeePassDX. If not, see <http://www.gnu.org/licenses/>.
|
||||||
--><resources>
|
--><resources>
|
||||||
<string name="about_description">KeePass slaptažodžių tvarkyklės realizacija Android platformai</string>
|
<string name="about_description">KeePassDX slaptažodžių tvarkyklės realizacija Android platformai</string>
|
||||||
<string name="clipboard_cleared">Iškarpinė išvalyta</string>
|
<string name="clipboard_cleared">Iškarpinė išvalyta</string>
|
||||||
<string name="invalid_credentials">Nepavyko perskaityti prisijungimo duomenų.</string>
|
<string name="invalid_credentials">Nepavyko perskaityti prisijungimo duomenų.</string>
|
||||||
<string name="feedback">Atsiliepimai</string>
|
<string name="feedback">Atsiliepimai</string>
|
||||||
@@ -296,8 +296,8 @@
|
|||||||
<string name="menu_reload_database">Iš naujo įkelti duomenis</string>
|
<string name="menu_reload_database">Iš naujo įkelti duomenis</string>
|
||||||
<string name="menu_merge_from">Sujungti iš …</string>
|
<string name="menu_merge_from">Sujungti iš …</string>
|
||||||
<string name="menu_keystore_remove_key">Ištrinti įrenginio atrakinimo raktą</string>
|
<string name="menu_keystore_remove_key">Ištrinti įrenginio atrakinimo raktą</string>
|
||||||
<string name="menu_file_selection_read_only">Apsaugotas nuo rašymo</string>
|
<string name="menu_file_selection_read_only">Apsaugotas nuo įrašymo</string>
|
||||||
<string name="menu_open_file_read_and_write">Galima keisti</string>
|
<string name="menu_open_file_read_and_write">Modifikuojama</string>
|
||||||
<string name="menu_empty_recycle_bin">Ištuštinti šiukšliadėžę</string>
|
<string name="menu_empty_recycle_bin">Ištuštinti šiukšliadėžę</string>
|
||||||
<string name="no_results">Nėra paieškos rezultatų</string>
|
<string name="no_results">Nėra paieškos rezultatų</string>
|
||||||
<string name="no_url_handler">Įdiekite žiniatinklio naršyklę, kad atidaryti šį URL adresą.</string>
|
<string name="no_url_handler">Įdiekite žiniatinklio naršyklę, kad atidaryti šį URL adresą.</string>
|
||||||
@@ -376,7 +376,7 @@
|
|||||||
<string name="error_location_unknown">Duomenų bazės vieta nežinoma, duomenų bazės veiksmo atlikti negalima.</string>
|
<string name="error_location_unknown">Duomenų bazės vieta nežinoma, duomenų bazės veiksmo atlikti negalima.</string>
|
||||||
<string name="error_empty_key">Raktas negali būti tuščias.</string>
|
<string name="error_empty_key">Raktas negali būti tuščias.</string>
|
||||||
<string name="corrupted_file">Sugadintas failas.</string>
|
<string name="corrupted_file">Sugadintas failas.</string>
|
||||||
<string name="passphrase">Slapta frazė</string>
|
<string name="passphrase">Slaptafrazė</string>
|
||||||
<string name="menu_app_settings_summary">Paieška, užraktas, istorija, savybės</string>
|
<string name="menu_app_settings_summary">Paieška, užraktas, istorija, savybės</string>
|
||||||
<string name="master_key_settings_summary">Keisti, atnaujinti</string>
|
<string name="master_key_settings_summary">Keisti, atnaujinti</string>
|
||||||
<string name="parallelism">Lygiagretumas</string>
|
<string name="parallelism">Lygiagretumas</string>
|
||||||
@@ -420,7 +420,7 @@
|
|||||||
<string name="warning_empty_keyfile_explanation">Raktų failo turinys niekada neturėtų būti keičiamas, o geriausiu atveju jame turėtų būti atsitiktinai sugeneruoti duomenys.</string>
|
<string name="warning_empty_keyfile_explanation">Raktų failo turinys niekada neturėtų būti keičiamas, o geriausiu atveju jame turėtų būti atsitiktinai sugeneruoti duomenys.</string>
|
||||||
<string name="warning_remove_unlinked_attachment">Pašalinus nesusietus duomenis gali sumažėti saugyklos dydis, tačiau taip pat gali būti pašalinti \"KeePass\" papildiniams naudojami duomenys.</string>
|
<string name="warning_remove_unlinked_attachment">Pašalinus nesusietus duomenis gali sumažėti saugyklos dydis, tačiau taip pat gali būti pašalinti \"KeePass\" papildiniams naudojami duomenys.</string>
|
||||||
<string name="warning_database_info_changed">Saugyklos faile esanti informacija buvo pakeista už programos ribų.</string>
|
<string name="warning_database_info_changed">Saugyklos faile esanti informacija buvo pakeista už programos ribų.</string>
|
||||||
<string name="rounds">Transformacijų kiekis</string>
|
<string name="rounds">Transformacijos etapai</string>
|
||||||
<string name="colorize_password_title">Slaptažodžių spalvinimas</string>
|
<string name="colorize_password_title">Slaptažodžių spalvinimas</string>
|
||||||
<string name="colorize_password_summary">Slaptažodžio simbolių spalvinimas pagal tipą</string>
|
<string name="colorize_password_summary">Slaptažodžio simbolių spalvinimas pagal tipą</string>
|
||||||
<string name="show_otp_token_title">Rodyti OTP Token</string>
|
<string name="show_otp_token_title">Rodyti OTP Token</string>
|
||||||
@@ -432,4 +432,297 @@
|
|||||||
<string name="device_unlock_prompt_extract_credential_title">Įrenginio atrakinimo atpažinimas</string>
|
<string name="device_unlock_prompt_extract_credential_title">Įrenginio atrakinimo atpažinimas</string>
|
||||||
<string name="lock_database_show_button_title">Rodyti užrakto mygtuką</string>
|
<string name="lock_database_show_button_title">Rodyti užrakto mygtuką</string>
|
||||||
<string name="content">Turinys</string>
|
<string name="content">Turinys</string>
|
||||||
|
<string name="content_description_node_children">Mazgo vaikai</string>
|
||||||
|
<string name="entry_application_id">Programos ID</string>
|
||||||
|
<string name="error_otp_secret_length">Slaptasis raktas turi būti mažiausiai %1$d simbolių.</string>
|
||||||
|
<string name="generate_keyfile">Generuoti rakto failą</string>
|
||||||
|
<string name="nodes">Mazgai</string>
|
||||||
|
<string name="recursive_number_entries_title">Įrašų rekursinis skaičius</string>
|
||||||
|
<string name="recursive_number_entries_summary">Rekursiškai apskaičiuoja įrašų skaičių grupėje</string>
|
||||||
|
<string name="show_otp_token_summary">Rodo OTP žetonus įrašų sąraše</string>
|
||||||
|
<string name="menu_device_unlock_settings_summary">Biometrija, prietaiso kredencialai</string>
|
||||||
|
<string name="kdf_explanation">Norint sugeneruoti raktą šifravimo algoritmui, pagrindinis raktas yra transformuojamas naudojant atsitiktinai su druska užpildytą rakto išvedimo funkciją.</string>
|
||||||
|
<string name="warning_large_keyfile">Nerekomenduojama pridėti didelio rakto failo, tai gali sutrukdyti atidaryti duomenų bazę.</string>
|
||||||
|
<string name="warning_database_notification_permission">Pranešimo leidimas leidžia rodyti duomenų bazės būseną ir užrakinti ją lengvai prieinamu mygtuku.\n\nJei neaktyvuosite šio leidimo, duomenų bazė, atidaryta fone, nebus matoma, jei priekyje yra kita programa.</string>
|
||||||
|
<string name="warning_copy_permission">Reikalingas pranešimo leidimas iškarpinės pranešimo funkcijos naudojimui.</string>
|
||||||
|
<string name="warning_overwrite_data_title">Perrašyti esamus duomenis?</string>
|
||||||
|
<string name="warning_overwrite_data_description">Šis veiksmas pakeis esamus duomenis įraše, senus duomenis galite atgauti jei įjungta istorija.</string>
|
||||||
|
<string name="build_label">Sukurta %1$s</string>
|
||||||
|
<string name="keystore_not_accessible">Raktinė nėra tinkamai inicializuota.</string>
|
||||||
|
<string name="unlock_and_link_biometric">Prietaiso atrakinimo nuoroda</string>
|
||||||
|
<string name="device_unlock_prompt_store_credential_title">Nuoroda į prietaiso atrakinimą</string>
|
||||||
|
<string name="device_unlock_prompt_extract_credential_message">Ištraukti duomenų bazės kredencialus su prietaiso atrakinimo duomenimis</string>
|
||||||
|
<string name="encrypted_value_stored">Užšifruotas slaptažodis išsaugotas</string>
|
||||||
|
<string name="device_unlock_invalid_key">Negalima perskaityti prietaiso atrakinimo rakto. Prašome jį ištrinti ir pakartoti atrakinimo atpažinimo procedūrą.</string>
|
||||||
|
<string name="device_unlock_not_recognized">Nepavyko atpažinti prietaiso atrakinimo pėdsako</string>
|
||||||
|
<string name="unavailable">Neprieinama</string>
|
||||||
|
<string name="device_unlock_prompt_not_initialized">Nepavyko inicializuoti prietaiso atrakinimo užklausos.</string>
|
||||||
|
<string name="device_credential">Prietaiso kredencialas</string>
|
||||||
|
<string name="credential_provider">Kredencialo teikėjas</string>
|
||||||
|
<string name="passkeys">Raktų sistemos</string>
|
||||||
|
<string name="passkeys_explanation_summary">Konfigūruoti raktų sistemas greitam ir saugiam prisijungimui be slaptažodžio</string>
|
||||||
|
<string name="passkeys_preference_title">Raktų sistemų nustatymai</string>
|
||||||
|
<string name="passkeys_close_database_title">Uždaryti duomenų bazę</string>
|
||||||
|
<string name="passkeys_close_database_summary">Uždaryti duomenų bazę po raktų sistemos pasirinkimo</string>
|
||||||
|
<string name="passkeys_privileged_apps_title">Privilegijuotos programos</string>
|
||||||
|
<string name="passkeys_privileged_apps_summary">Valdyti naršykles privilegijuotų programų sąraše</string>
|
||||||
|
<string name="passkeys_privileged_apps_explanation">ĮSPĖJIMAS: Privilegijuota programa veikia kaip vartai autentifikacijos šaltinio gavimui. Užtikrinkite jos teisėtumą, kad išvengtumėte saugumo problemų.</string>
|
||||||
|
<string name="passkeys_privileged_apps_ask_title">Programa neatpažinta</string>
|
||||||
|
<string name="passkeys_privileged_apps_ask_message">%1$s bando atlikti prieigos rakto veiksmą.\n\nPridėti jį prie privilegijuotų programų sąrašo?</string>
|
||||||
|
<string name="passkeys_missing_signature_app_ask_title">Parašas trūksta</string>
|
||||||
|
<string name="passkeys_missing_signature_app_ask_explanation">ĮSPĖJIMAS: Prieigos raktas buvo sukurtas iš kito kliento arba parašas buvo ištrintas. Užtikrinkite, kad programa, kurią norite autentifikuoti, yra tos pačios paslaugos dalis ir yra teisėta, kad išvengtumėte saugumo problemų.\nJei programa yra naršyklė, nepridėkite jos parašo prie įrašo, bet prie privilegijuotų programų sąrašo nustatymuose.</string>
|
||||||
|
<string name="passkeys_missing_signature_app_ask_message">%1$s neatpažinta ir bando autentifikuotis su esama raktų sistema.</string>
|
||||||
|
<string name="passkeys_missing_signature_app_ask_question">Pridėti programos parašą prie raktų sistemos įrašo?</string>
|
||||||
|
<string name="passkeys_auto_select_title">Automatinis pasirinkimas</string>
|
||||||
|
<string name="passkeys_auto_select_summary">Automatinis pasirinkimas jei tik vienas įrašas ir duomenų bazė atidaryta, tik jei prašanti programa suderinama</string>
|
||||||
|
<string name="passkeys_backup_eligibility_title">Atsarginio kopijavimo tinkamumas</string>
|
||||||
|
<string name="passkeys_backup_eligibility_summary">Nustatyti sukūrimo metu ar viešo rakto kredencialo šaltinis gali būti atsarginės kopijos</string>
|
||||||
|
<string name="passkeys_backup_state_title">Atsarginio kopijavimo būsena</string>
|
||||||
|
<string name="passkeys_backup_state_summary">Nurodyti, kad kredencialai yra atsarginėje kopijoje ir apsaugoti nuo vieno įrenginio praradimo</string>
|
||||||
|
<string name="credential_provider_service_subtitle">Raktų sistemos, automatinio pildymo kredencialų teikėjas</string>
|
||||||
|
<string name="clipboard">Iškarpinė</string>
|
||||||
|
<string name="clipboard_explanation_summary">Kopijuoti įrašų laukus naudojant jūsų prietaiso iškarpinę</string>
|
||||||
|
<string name="clipboard_notifications_title">Iškarpinės pranešimai</string>
|
||||||
|
<string name="clipboard_notifications_summary">Rodyti iškarpinės pranešimus laukų kopijavimui žiūrint įrašą</string>
|
||||||
|
<string name="clipboard_warning">Jei automatinis iškarpinės ištrynimas nepavyksta, ištrinkite jos istoriją rankiniu būdu.</string>
|
||||||
|
<string name="lock_database_back_root_summary">Paspauskite \"Atgal\", kad užrakintumėte duomenų bazę, jei esate duomenų bazės šakniniame ekrane</string>
|
||||||
|
<string name="device_unlock_tap_delete">Bakstelėkite, kad ištrintumėte įrenginio atrakinimo raktus</string>
|
||||||
|
<string name="device_unlock_explanation_summary">Naudokite įrenginio atrakinimą, kad lengviau atvertumėte duomenų bazę</string>
|
||||||
|
<string name="device_credential_unlock_enable_title">Įrenginio kredencialo atrakinimas</string>
|
||||||
|
<string name="device_credential_unlock_enable_summary">Leidžia naudoti jūsų įrenginio kredencialą duomenų bazei atverti</string>
|
||||||
|
<string name="biometric_auto_open_prompt_title">Automatinis atidarymo raginimas</string>
|
||||||
|
<string name="biometric_auto_open_prompt_summary">Automatiškai prašyti įrenginio atrakinimo, jei duomenų bazė nustatyta jį naudoti</string>
|
||||||
|
<string name="temp_device_unlock_enable_title">Laikinas įrenginio atrakinimas</string>
|
||||||
|
<string name="temp_device_unlock_enable_summary">Nesaugoti jokio užšifruoto turinio įrenginio atrakinimui naudoti</string>
|
||||||
|
<string name="temp_device_unlock_timeout_title">Įrenginio atrakinimo galiojimo pabaiga</string>
|
||||||
|
<string name="temp_device_unlock_timeout_summary">Įrenginio atrakinimo naudojimo trukmė prieš ištrinant jo turinį</string>
|
||||||
|
<string name="device_unlock_timeout">Įrenginio atrakinimo laukimo laikas</string>
|
||||||
|
<string name="biometric_delete_all_key_title">Ištrinti šifravimo raktus</string>
|
||||||
|
<string name="biometric_delete_all_key_summary">Ištrinti visus šifravimo raktus, susijusius su įrenginio atrakinimo atpažinimu</string>
|
||||||
|
<string name="device_unlock_delete_all_key_warning">Ištrinti visus šifravimo raktus, susijusius su įrenginio atrakinimo atpažinimu?</string>
|
||||||
|
<string name="device_unlock_keystore_warning">Ši funkcija išsaugos užšifruotus kredencialų duomenis jūsų įrenginio saugiam KeyStore.\n\nPriklausomai nuo operacinės sistemos vietinio API įgyvendinimo, jis gali neveikti visiškai.\n\nPatikrinkite KeyStore suderinamumą ir saugumą su jūsų įrenginio gamintoju ir naudojamos ROM kūrėju.</string>
|
||||||
|
<string name="unavailable_feature_text">Nepavyko paleisti šios funkcijos.</string>
|
||||||
|
<string name="unavailable_feature_hardware">Nepavyko rasti atitinkamos aparatinės įrangos.</string>
|
||||||
|
<string name="database_data_remove_unlinked_attachments_summary">Pašalina priedus, esančius duomenų bazėje, bet nesusietus su įrašu</string>
|
||||||
|
<string name="templates_group_enable_title">Šablonų naudojimas</string>
|
||||||
|
<string name="templates_group_enable_summary">Naudoti dinaminius šablonus įrašo laukams užpildyti</string>
|
||||||
|
<string name="templates_group_uuid_title">Šablonų grupė</string>
|
||||||
|
<string name="max_history_items_title">Maksimalus skaičius</string>
|
||||||
|
<string name="max_history_items_summary">Riboti istorijos elementų skaičių vienam įrašui</string>
|
||||||
|
<string name="max_history_size_title">Maksimalus dydis</string>
|
||||||
|
<string name="max_history_size_summary">Riboti istorijos dydį vienam įrašui</string>
|
||||||
|
<string name="settings_database_recommend_changing_master_key_title">Rekomenduoti atnaujinimą</string>
|
||||||
|
<string name="settings_database_recommend_changing_master_key_summary">Rekomenduoti pakeisti pagrindinį raktą (dienomis)</string>
|
||||||
|
<string name="settings_database_force_changing_master_key_title">Priversti atnaujinti</string>
|
||||||
|
<string name="settings_database_force_changing_master_key_summary">Reikalauti pakeisti pagrindinį raktą (dienomis)</string>
|
||||||
|
<string name="settings_database_force_changing_master_key_next_time_title">Priversti atnaujinti kitą kartą</string>
|
||||||
|
<string name="settings_database_force_changing_master_key_next_time_summary">Reikalauti pakeisti pagrindinį raktą kitą kartą (vieną kartą)</string>
|
||||||
|
<string name="monospace_font_fields_enable_title">Lauko šriftas</string>
|
||||||
|
<string name="monospace_font_fields_enable_summary">Pakeisti laukuose naudojamą šriftą geresniam simbolių matomumui</string>
|
||||||
|
<string name="allow_copy_password_title">Iškarpinės patikimumas</string>
|
||||||
|
<string name="allow_copy_password_summary">Leisti kopijuoti įrašo slaptažodį ir apsaugotus laukus į iškarpinę</string>
|
||||||
|
<string name="allow_copy_password_warning">Įspėjimas: Iškarpinė yra bendra visoms programoms. Jei nukopijuojami jautrūs duomenys, kita programinė įranga gali juos atkurti.</string>
|
||||||
|
<string name="enable">Įgalinti</string>
|
||||||
|
<string name="disable">Išjungti</string>
|
||||||
|
<string name="notification">Pranešimas</string>
|
||||||
|
<string name="clear_clipboard_notification_title">Išvalyti uždarant</string>
|
||||||
|
<string name="clear_clipboard_notification_summary">Užrakinti duomenų bazę, kai iškarpinės trukmė baigiasi arba pranešimas uždaromas po to, kai pradėjote ją naudoti</string>
|
||||||
|
<string name="database_name_title">Duomenų bazės pavadinimas</string>
|
||||||
|
<string name="database_description_title">Duomenų bazės aprašymas</string>
|
||||||
|
<string name="database_default_username_title">Numatytasis vartotojo vardas</string>
|
||||||
|
<string name="database_custom_color_title">Tinkinta duomenų bazės spalva</string>
|
||||||
|
<string name="database_version_title">Duomenų bazės versija</string>
|
||||||
|
<string name="text_appearance">Tekstas</string>
|
||||||
|
<string name="application_appearance">Sąsaja</string>
|
||||||
|
<string name="other">Kita</string>
|
||||||
|
<string name="compression">Suspaudimas</string>
|
||||||
|
<string name="compression_none">Nėra</string>
|
||||||
|
<string name="compression_gzip">Gzip</string>
|
||||||
|
<string name="recycle_bin">Šiukšliadėžė</string>
|
||||||
|
<string name="templates">Šablonai</string>
|
||||||
|
<string name="keyboard">Klaviatūra</string>
|
||||||
|
<string name="magic_keyboard_title">Magikeyboard</string>
|
||||||
|
<string name="magic_keyboard_explanation_summary">Aktyvuoti tinkintą klaviatūrą, užpildančią jūsų slaptažodžius ir visus tapatybės laukus</string>
|
||||||
|
<string name="device_keyboard_setting_title">Įrenginio klaviatūros nustatymai</string>
|
||||||
|
<string name="keyboard_name">Magikeyboard</string>
|
||||||
|
<string name="keyboard_label">Magikeyboard (KeePassDX)</string>
|
||||||
|
<string name="keyboard_setting_label">Magikeyboard nustatymai</string>
|
||||||
|
<string name="keyboard_entry_category">Įrašas</string>
|
||||||
|
<string name="keyboard_selection_entry_title">Įrašo pasirinkimas</string>
|
||||||
|
<string name="keyboard_selection_entry_summary">Kai peržiūrite įrašą KeePassDX, užpildyti Magikeyboard tuo įrašu</string>
|
||||||
|
<string name="keyboard_notification_entry_title">Pranešimo informacija</string>
|
||||||
|
<string name="keyboard_notification_entry_summary">Rodyti pranešimą, kai įrašas yra prieinamas</string>
|
||||||
|
<string name="keyboard_save_search_info_title">Išsaugoti bendrinamą informaciją</string>
|
||||||
|
<string name="keyboard_save_search_info_summary">Bandyti išsaugoti bendrinamą informaciją atliekant rankinį įrašo pasirinkimą lengvesniam būsimam naudojimui</string>
|
||||||
|
<string name="keyboard_notification_entry_clear_close_title">Išvalyti uždarant</string>
|
||||||
|
<string name="keyboard_notification_entry_clear_close_summary">Uždaryti duomenų bazę uždarant pranešimą</string>
|
||||||
|
<string name="keyboard_entry_timeout_title">Laukimo laikas</string>
|
||||||
|
<string name="keyboard_entry_timeout_summary">Laukimo laikas klaviatūros įrašui išvalyti</string>
|
||||||
|
<string name="keyboard_notification_entry_content_title_text">Įrašas</string>
|
||||||
|
<string name="keyboard_notification_entry_content_title">%1$s prieinamas Magikeyboard</string>
|
||||||
|
<string name="keyboard_notification_entry_content_text">%1$s</string>
|
||||||
|
<string name="keyboard_appearance_category">Išvaizda</string>
|
||||||
|
<string name="keyboard_theme_title">Klaviatūros tema</string>
|
||||||
|
<string name="keyboard_keys_category">Klavišai</string>
|
||||||
|
<string name="keyboard_auto_go_action_title">Automatinis klavišo veiksmas</string>
|
||||||
|
<string name="keyboard_auto_go_action_summary">\"Eiti\" klavišo veiksmas po \"Lauko\" klavišo paspaudimo</string>
|
||||||
|
<string name="keyboard_key_vibrate_title">Vibruojantys klavišų paspaudimai</string>
|
||||||
|
<string name="keyboard_key_sound_title">Girdimi klavišų paspaudimai</string>
|
||||||
|
<string name="keyboard_change">Perjungti klaviatūrą</string>
|
||||||
|
<string name="keyboard_previous_database_credentials_title">Duomenų bazės prisijungimo duomenų ekranas</string>
|
||||||
|
<string name="keyboard_previous_database_credentials_summary">Automatiškai perjungti atgal į ankstesnę klaviatūrą duomenų bazės prisijungimo duomenų ekrane</string>
|
||||||
|
<string name="keyboard_previous_search_title">Paieškos ekranas</string>
|
||||||
|
<string name="keyboard_previous_search_summary">Automatiškai perjungti atgal į ankstesnę klaviatūrą paieškos ekrane</string>
|
||||||
|
<string name="keyboard_previous_fill_in_title">Persijungti atgal</string>
|
||||||
|
<string name="keyboard_previous_fill_in_summary">Automatiškai persijungti atgal į ankstesnę klaviatūrą po \"Auto key action\" vykdymo</string>
|
||||||
|
<string name="keyboard_previous_lock_title">Užrakinti duomenų bazę</string>
|
||||||
|
<string name="keyboard_previous_lock_summary">Automatiškai persijungti atgal į ankstesnę klaviatūrą po duomenų bazės užrakinimo</string>
|
||||||
|
<string name="custom_fields">Tinkinti laukai</string>
|
||||||
|
<string name="back_to_previous_keyboard">Atgal į ankstesnę klaviatūrą</string>
|
||||||
|
<string name="select_entry">Pasirinkti įrašą</string>
|
||||||
|
<string name="backspace">Atgal</string>
|
||||||
|
<string name="enter">Įvesti</string>
|
||||||
|
<string name="autofill_close_database_title">Uždaryti duomenų bazę</string>
|
||||||
|
<string name="autofill_close_database_summary">Uždaryti duomenų bazę po automatinio pildymo pasirinkimo</string>
|
||||||
|
<string name="autofill_inline_suggestions_title">Tiesioginiai pasiūlymai</string>
|
||||||
|
<string name="autofill_inline_suggestions_summary">Bandyti rodyti automatinio pildymo pasiūlymus tiesiogiai iš suderinamos klaviatūros</string>
|
||||||
|
<string name="autofill_manual_selection_title">Rankinis pasirinkimas</string>
|
||||||
|
<string name="autofill_manual_selection_summary">Rodyti parinktį, leidžiančią naudotojui pasirinkti duomenų bazės įrašą</string>
|
||||||
|
<string name="autofill_save_search_info_title">Išsaugoti paieškos informaciją</string>
|
||||||
|
<string name="autofill_save_search_info_summary">Bandyti išsaugoti paieškos informaciją atliekant rankinį įrašo pasirinkimą, kad būtų lengviau naudoti ateityje</string>
|
||||||
|
<string name="autofill_ask_to_save_data_title">Klausti apie duomenų išsaugojimą</string>
|
||||||
|
<string name="autofill_ask_to_save_data_summary">Klausti apie duomenų išsaugojimą, kai formos pildymas užbaigiamas</string>
|
||||||
|
<string name="autofill_application_id_blocklist_title">Programų blokavimo sąrašas</string>
|
||||||
|
<string name="autofill_application_id_blocklist_summary">Blokavimo sąrašas, kuris neleidžia automatiškai pildyti programų</string>
|
||||||
|
<string name="autofill_web_domain_blocklist_title">Žiniatinklio domenų blokavimo sąrašas</string>
|
||||||
|
<string name="autofill_web_domain_blocklist_summary">Blokavimo sąrašas, kuris neleidžia automatiškai pildyti žiniatinklio domenų</string>
|
||||||
|
<string name="autofill_block">Blokuoti automatinį pildymą</string>
|
||||||
|
<string name="autofill_block_restart">Paleiskite iš naujo programą, kurioje yra forma, kad aktyvuotumėte blokavimą.</string>
|
||||||
|
<string name="error_save_read_only">Duomenų išsaugojimas neleidžiamas duomenų bazei, atidarytai tik skaitymui.</string>
|
||||||
|
<string name="autofill_inline_suggestions_keyboard">Automatinio pildymo pasiūlymai pridėti.</string>
|
||||||
|
<string name="allow_no_password_title">Leisti be pagrindinio rakto</string>
|
||||||
|
<string name="allow_no_password_summary">Leidžia paspausti \"Atidaryti\" mygtuką, jei nėra pasirinkti jokie kredencialai</string>
|
||||||
|
<string name="delete_entered_password_title">Ištrinti slaptažodį</string>
|
||||||
|
<string name="delete_entered_password_summary">Ištrina įvestą slaptažodį po bandymo prisijungti prie duomenų bazės</string>
|
||||||
|
<string name="enable_auto_save_database_title">Automatiškai išsaugoti duomenų bazę</string>
|
||||||
|
<string name="enable_auto_save_database_summary">Išsaugoti duomenų bazę po kiekvieno svarbaus veiksmo (\"Modifikuojamame\" režime)</string>
|
||||||
|
<string name="enable_keep_screen_on_title">Laikyti ekraną įjungtą</string>
|
||||||
|
<string name="enable_keep_screen_on_summary">Laikyti ekraną įjungtą žiūrint arba redaguojant įrašą</string>
|
||||||
|
<string name="enable_screenshot_mode_title">Ekrano nuotraukos režimas</string>
|
||||||
|
<string name="enable_screenshot_mode_summary">Leisti trečiųjų šalių programoms įrašyti arba daryti ekrano nuotraukas programos</string>
|
||||||
|
<string name="enable_education_screens_title">Mokomieji patarimai</string>
|
||||||
|
<string name="enable_education_screens_summary">Paryškinti elementus, kad išmokti kaip veikia programa</string>
|
||||||
|
<string name="reset_education_screens_title">Atstatyti mokomuosius patarimus</string>
|
||||||
|
<string name="reset_education_screens_summary">Rodyti visą mokomąją informaciją dar kartą</string>
|
||||||
|
<string name="reset_education_screens_text">Mokomieji patarimai atstatyti</string>
|
||||||
|
<string name="education_create_database_title">Sukurkite savo duomenų bazės failą</string>
|
||||||
|
<string name="education_create_database_summary">Sukurkite savo pirmąjį slaptažodžių valdymo failą.</string>
|
||||||
|
<string name="education_select_database_title">Atverti esamą duomenų bazę</string>
|
||||||
|
<string name="education_select_database_summary">Atverkite savo ankstesnį duomenų bazės failą iš failų naršyklės, kad tęstumėte jį naudoti.</string>
|
||||||
|
<string name="education_new_node_title">Pridėti elementus į savo duomenų bazę</string>
|
||||||
|
<string name="education_new_node_summary">Įrašai padeda valdyti jūsų skaitmenines tapatybes.\n\nGrupės (~aplankai) organizuoja įrašus jūsų duomenų bazėje.</string>
|
||||||
|
<string name="education_search_title">Ieškoti per įrašus</string>
|
||||||
|
<string name="education_search_summary">Įveskite pavadinimą, vartotojo vardą arba kitų laukelių turinį, kad gautumėte savo slaptažodžius.</string>
|
||||||
|
<string name="education_device_unlock_title">Įrenginio duomenų bazės atrakinimas</string>
|
||||||
|
<string name="education_device_unlock_summary">Susiekite savo slaptažodį su nuskaitytu biometriniu arba įrenginio kredencialu, kad greitai atrakintumėte savo duomenų bazę.</string>
|
||||||
|
<string name="education_entry_edit_title">Redaguoti įrašą</string>
|
||||||
|
<string name="education_entry_edit_summary">Redaguokite savo įrašą su tinkintais laukais. Duomenų telkinys gali būti nurodomas tarp skirtingų įrašo laukelių.</string>
|
||||||
|
<string name="education_generate_password_title">Sukurti stiprų slaptažodį</string>
|
||||||
|
<string name="education_generate_password_summary">Sugeneruokite stiprų slaptažodį, susietą su jūsų įrašu, lengvai apibrėžkite jį pagal formos kriterijus ir nepamirškite saugaus slaptažodžio.</string>
|
||||||
|
<string name="education_validate_entry_title">Patvirtinti įrašą</string>
|
||||||
|
<string name="education_validate_entry_summary">Prisiminkite patvirtinti savo įrašą ir išsaugoti savo duomenų bazę.\n\nJei automatinis užraktas yra aktyvuotas ir pamiršote, kad darėte modifikaciją, rizikuojate prarasti savo duomenis.</string>
|
||||||
|
<string name="education_entry_new_field_title">Pridėti tinkintus laukus</string>
|
||||||
|
<string name="education_entry_new_field_summary">Užregistruokite papildomą lauką, pridėkite reikšmę ir pasirinktinai apsaugokite jį.</string>
|
||||||
|
<string name="education_add_attachment_title">Pridėti priedą</string>
|
||||||
|
<string name="education_add_attachment_summary">Įkelkite priedą į savo įrašą, kad išsaugotumėte svarbius išorinius duomenis.</string>
|
||||||
|
<string name="education_setup_OTP_title">Nustatyti OTP</string>
|
||||||
|
<string name="education_setup_OTP_summary">Nustatykite vienkartinio slaptažodžio valdymą (HOTP / TOTP), kad sugeneruotumėte žetoną, reikalingą dviejų faktorių autentifikacijai (2FA).</string>
|
||||||
|
<string name="education_read_only_title">Apsaugoti savo duomenų bazę nuo rašymo</string>
|
||||||
|
<string name="education_field_copy_title">Kopijuoti lauką</string>
|
||||||
|
<string name="education_field_copy_summary">Nukopijuoti laukai gali būti įklijuoti bet kur.\n\nNaudokite formos pildymo metodą, kurį pageidaujate.</string>
|
||||||
|
<string name="education_lock_title">Užrakinti duomenų bazę</string>
|
||||||
|
<string name="education_lock_summary">Greitai užrakinkite savo duomenų bazę, galite nustatyti programą, kad ji užsirakintų po kurio laiko ir kai ekranas išsijungia.</string>
|
||||||
|
<string name="education_sort_title">Elementų rikiavimas</string>
|
||||||
|
<string name="education_sort_summary">Pasirinkite kaip rikiuojami įrašai ir grupės.</string>
|
||||||
|
<string name="education_donation_title">Dalyvauti</string>
|
||||||
|
<string name="education_donation_summary">Padėkite padidinti stabilumą, saugumą ir pridėti daugiau funkcijų.</string>
|
||||||
|
<string name="html_text_dev_feature_thanks">Labai dėkojame už jūsų indėlį.</string>
|
||||||
|
<string name="html_text_dev_feature_work_hard">Mes sunkiai dirbame, kad greitai išleistume šią funkciją.</string>
|
||||||
|
<string name="html_text_dev_feature_upgrade">Prisiminkite laikyti savo programą atnaujintą įdiegiant naujas versijas.</string>
|
||||||
|
<string name="download">Parsisiųsti</string>
|
||||||
|
<string name="contribute">Prisidėti</string>
|
||||||
|
<string name="download_attachment">Parsisiųsti %1$s</string>
|
||||||
|
<string name="upload_attachment">Įkelti %1$s</string>
|
||||||
|
<string name="download_initialization">Inicijuojama…</string>
|
||||||
|
<string name="download_progression">Vykdoma: %1$d%%</string>
|
||||||
|
<string name="download_finalization">Užbaigiama…</string>
|
||||||
|
<string name="download_complete">Užbaigta!</string>
|
||||||
|
<string name="download_canceled">Atšaukta!</string>
|
||||||
|
<string name="unit_byte">B</string>
|
||||||
|
<string name="unit_kibibyte">KiB</string>
|
||||||
|
<string name="unit_mebibyte">MiB</string>
|
||||||
|
<string name="unit_gibibyte">GiB</string>
|
||||||
|
<string name="entropy">Entropija: %1$s bit</string>
|
||||||
|
<string name="entropy_high">Entropija: Aukšta</string>
|
||||||
|
<string name="entropy_calculate">Entropija: Skaičiuojama…</string>
|
||||||
|
<string name="at_least_one_char">Bent po vieną simbolį iš kiekvienos</string>
|
||||||
|
<string name="exclude_ambiguous_chars">Neįtraukti dviprasmiškų simbolių</string>
|
||||||
|
<string name="consider_chars_filter">Apsvarstyti simbolius</string>
|
||||||
|
<string name="word_separator">Skyriklis</string>
|
||||||
|
<string name="ignore_chars_filter">Ignoruoti simbolius</string>
|
||||||
|
<string name="lower_case">mažosios raidės</string>
|
||||||
|
<string name="upper_case">DIDŽIOSIOS RAIDĖS</string>
|
||||||
|
<string name="title_case">Pavadinimo rašyba</string>
|
||||||
|
<string name="character_count">Simbolių skaičius: %1$d</string>
|
||||||
|
<string name="screenshot_mode_banner_text">Ekrano nuotraukos režimas</string>
|
||||||
|
<string name="style_choose_title">Programos tema</string>
|
||||||
|
<string name="style_choose_summary">Tema naudojama programoje</string>
|
||||||
|
<string name="style_name_forest">Miškas</string>
|
||||||
|
<string name="style_name_divine">Dieviškas</string>
|
||||||
|
<string name="style_name_classic">Klasikinis</string>
|
||||||
|
<string name="style_name_simple">Paprastas</string>
|
||||||
|
<string name="style_name_moon">Mėnulis</string>
|
||||||
|
<string name="style_name_sun">Saulė</string>
|
||||||
|
<string name="style_name_reply">Atsakymas</string>
|
||||||
|
<string name="style_name_kunzite">Kunzitas</string>
|
||||||
|
<string name="style_name_follow_system">Sekti sistemą</string>
|
||||||
|
<string name="style_brightness_title">Temos ryškumas</string>
|
||||||
|
<string name="style_brightness_summary">Pasirinkti šviesias arba tamsias temas</string>
|
||||||
|
<string name="style_name_light">Šviesi</string>
|
||||||
|
<string name="style_name_dark">Tamsi</string>
|
||||||
|
<string name="icon_section_standard">Standartinis</string>
|
||||||
|
<string name="icon_section_custom">Tinkintas</string>
|
||||||
|
<string name="icon_pack_choose_title">Piktogramų paketas</string>
|
||||||
|
<string name="icon_pack_choose_summary">Piktogramų paketas naudojamas programoje</string>
|
||||||
|
<string name="show_entry_colors_title">Įrašo spalvos</string>
|
||||||
|
<string name="show_entry_colors_summary">Rodo pirmojo plano ir fono spalvas įrašui</string>
|
||||||
|
<string name="hide_expired_entries_title">Slėpti nebegaliojančius įrašus</string>
|
||||||
|
<string name="hide_templates_title">Slėpti šablonus</string>
|
||||||
|
<string name="hide_templates_summary">Šablonai nėra rodomi</string>
|
||||||
|
<string name="passkey">Prieigos raktas</string>
|
||||||
|
<string name="passkey_service_name">KeePassDX kredencialų teikėjas</string>
|
||||||
|
<string name="passkey_creation_description">Išsaugoti prieigos raktą naujame įraše</string>
|
||||||
|
<string name="passkey_update_description">Atnaujinti prieigos raktą %1$s</string>
|
||||||
|
<string name="passkey_selection_username">Prieigos raktas nerastas</string>
|
||||||
|
<string name="passkey_selection_description">Pasirinkti esamą prieigos raktą</string>
|
||||||
|
<string name="passkey_database_username">KeePassDX duomenų bazė</string>
|
||||||
|
<string name="passkey_locked_database_description">Pasirinkti atrakinti</string>
|
||||||
|
<string name="passkey_username">Prieigos rakto vartotojo vardas</string>
|
||||||
|
<string name="passkey_private_key">Prieigos rakto privatus raktas</string>
|
||||||
|
<string name="passkey_credential_id">Prieigos rakto kredencialo ID</string>
|
||||||
|
<string name="passkey_user_handle">Prieigos rakto naudotojo rankena</string>
|
||||||
|
<string name="passkey_relying_party">Prieigos rakto pasikliaujanti šalis</string>
|
||||||
|
<string name="passkey_backup_eligibility">Prieigos rakto atsarginės kopijos tinkamumas</string>
|
||||||
|
<string name="passkey_backup_state">Prieigos rakto atsarginės kopijos būsena</string>
|
||||||
|
<string name="error_passkey_result">Nepavyko grąžinti prieigos rakto</string>
|
||||||
|
<string name="html_about_contribution">Kad <strong>išlaikytume savo laisvę</strong>, <strong>ištaisytume klaidas</strong>, <strong>pridėtume funkcijų</strong> ir <strong>būtume visada aktyvūs</strong>, mes pasikliaujame jūsų <strong>indėliu</strong>.</string>
|
||||||
|
<string name="education_read_only_summary">Pakeiskite atidarymo režimą sesijai.\n\n\"Raišymo apsauga\" apsaugo nuo netyčinių duomenų bazės pakeitimų.\n\"Modifikuojamas\" leidžia pridėti, ištrinti arba modifikuoti visus elementus kaip norite.</string>
|
||||||
|
<string name="html_text_ad_free">Skirtingai nuo daugelio slaptažodžių valdymo programų, ši yra <strong>be reklamų</strong>, <strong>copylefted libre programinė įranga</strong> ir nerenka asmeninių duomenų savo serveriuose, nesvarbu kokią versiją naudojate.</string>
|
||||||
|
<string name="html_text_buy_pro">Perkant pro versiją, turėsite prieigą prie šio <strong>vizualinio stiliaus</strong> ir ypač padėsite <strong>bendruomenės projektų realizacijai.</strong></string>
|
||||||
|
<string name="html_text_feature_generosity">Šis <strong>vizualinis stilius</strong> yra prieinamas dėka jūsų dosnumo.</string>
|
||||||
|
<string name="html_text_donation"><strong>Prisidėdami</strong> prie projekto <i>(pinigais, kodu, vertimu)</i>, padėsite jam gyventi ir klestėti, ir taip pat turėsite teisę į <strong>temos</strong> atrakinimo procedūrą.</string>
|
||||||
|
<string name="html_text_dev_feature">Ši funkcija yra <strong>kūrimo stadijoje</strong> ir reikalauja jūsų <strong>indėlio</strong>, kad būtų prieinama greitai.</string>
|
||||||
|
<string name="html_text_dev_feature_buy_pro">Perkant <strong>pro</strong> versiją,</string>
|
||||||
|
<string name="html_text_dev_feature_contibute"><strong>Prisidėdami</strong>,</string>
|
||||||
|
<string name="html_text_dev_feature_encourage">skatiname kūrėjus kurti <strong>naujas funkcijas</strong> ir <strong>ištaisyti klaidas</strong> pagal jūsų pastabas.</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
@@ -6,7 +6,12 @@
|
|||||||
<string name="contact">संपर्क</string>
|
<string name="contact">संपर्क</string>
|
||||||
<string name="accept">स्वीकार करा</string>
|
<string name="accept">स्वीकार करा</string>
|
||||||
<string name="about_description">किपास सांकेतांक व्यवस्थापनाचे अँड्रॉइड अंतर्भूतीकरण</string>
|
<string name="about_description">किपास सांकेतांक व्यवस्थापनाचे अँड्रॉइड अंतर्भूतीकरण</string>
|
||||||
<string name="master_key">राणी चावी</string>
|
<string name="master_key">मास्टर की</string>
|
||||||
<string name="add_group">गट जोडा</string>
|
<string name="add_group">गट जोडा</string>
|
||||||
<string name="security">सुरक्षा</string>
|
<string name="security">सुरक्षा</string>
|
||||||
|
<string name="info">माहिती</string>
|
||||||
|
<string name="add_entry">नोंद जोडा</string>
|
||||||
|
<string name="edit_entry">नोंद संपादित करा</string>
|
||||||
|
<string name="encryption">एन्क्रिप्शन</string>
|
||||||
|
<string name="encryption_algorithm">एन्क्रिप्शन अल्गोरिदम</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
@@ -90,7 +90,7 @@
|
|||||||
<string name="hint_length">Lengde</string>
|
<string name="hint_length">Lengde</string>
|
||||||
<string name="hint_pass">Passord</string>
|
<string name="hint_pass">Passord</string>
|
||||||
<string name="password">Passord</string>
|
<string name="password">Passord</string>
|
||||||
<string name="invalid_credentials">Kunne ikke lese autentiseringsopplysningene.</string>
|
<string name="invalid_credentials">Kunne ikke lese påloggingsdata.</string>
|
||||||
<string name="invalid_algorithm">Ugyldig algoritme.</string>
|
<string name="invalid_algorithm">Ugyldig algoritme.</string>
|
||||||
<string name="invalid_db_sig">Fremmed databaseformat.</string>
|
<string name="invalid_db_sig">Fremmed databaseformat.</string>
|
||||||
<string name="keyfile_is_empty">Nøkkelfilen er tom.</string>
|
<string name="keyfile_is_empty">Nøkkelfilen er tom.</string>
|
||||||
@@ -175,7 +175,7 @@
|
|||||||
<string name="autofill">Autofyll</string>
|
<string name="autofill">Autofyll</string>
|
||||||
<string name="autofill_sign_in_prompt">Logg inn med KeePassDX</string>
|
<string name="autofill_sign_in_prompt">Logg inn med KeePassDX</string>
|
||||||
<string name="set_credential_provider_service_title">Sett forvalgt autofyll-tjeneste</string>
|
<string name="set_credential_provider_service_title">Sett forvalgt autofyll-tjeneste</string>
|
||||||
<string name="autofill_explanation_summary">Skru på tjenesten for å fylle ut skjema fra andre programmer</string>
|
<string name="autofill_explanation_summary">Konfigurer tjenesten for å fylle ut skjema fra andre programmer</string>
|
||||||
<string name="password_size_title">Passordsstørrelse</string>
|
<string name="password_size_title">Passordsstørrelse</string>
|
||||||
<string name="password_size_summary">Sett forvalgt størrelse for generert passord</string>
|
<string name="password_size_summary">Sett forvalgt størrelse for generert passord</string>
|
||||||
<string name="list_password_generator_options_title">Passordtegn</string>
|
<string name="list_password_generator_options_title">Passordtegn</string>
|
||||||
@@ -216,7 +216,7 @@
|
|||||||
<string name="magic_keyboard_title">Magikeyboard</string>
|
<string name="magic_keyboard_title">Magikeyboard</string>
|
||||||
<string name="magic_keyboard_explanation_summary">Aktiver et egendefinert tastatur som fyller inn passordene og alle identitetsfelter</string>
|
<string name="magic_keyboard_explanation_summary">Aktiver et egendefinert tastatur som fyller inn passordene og alle identitetsfelter</string>
|
||||||
<string name="allow_no_password_title">Tillat ingen hovednøkkel</string>
|
<string name="allow_no_password_title">Tillat ingen hovednøkkel</string>
|
||||||
<string name="allow_no_password_summary">Tillater å trykke på \"Åpne\"-knappen hvis ingen legitimasjon er valgt</string>
|
<string name="allow_no_password_summary">Tillater å trykke på «Åpne»-knappen hvis ingen opplysninger er valgt</string>
|
||||||
<string name="enable_education_screens_title">Lærerike tips</string>
|
<string name="enable_education_screens_title">Lærerike tips</string>
|
||||||
<string name="enable_education_screens_summary">Fremhev elementer for å finne ut hvordan appen fungerer</string>
|
<string name="enable_education_screens_summary">Fremhev elementer for å finne ut hvordan appen fungerer</string>
|
||||||
<string name="reset_education_screens_title">Tilbakestill lærerike tips</string>
|
<string name="reset_education_screens_title">Tilbakestill lærerike tips</string>
|
||||||
@@ -291,7 +291,7 @@
|
|||||||
<string name="selection_mode">Valgmodus</string>
|
<string name="selection_mode">Valgmodus</string>
|
||||||
<string name="do_not_kill_app">Ikke drep programmet…</string>
|
<string name="do_not_kill_app">Ikke drep programmet…</string>
|
||||||
<string name="lock_database_back_root_title">Trykk «Tilbake» for å låse</string>
|
<string name="lock_database_back_root_title">Trykk «Tilbake» for å låse</string>
|
||||||
<string name="lock_database_back_root_summary">Lås databasen når brukeren klikker tilbakeknappen på root-skjermen</string>
|
<string name="lock_database_back_root_summary">Trykk «Tilbake» for å låse databasen hvis du er ved rotskjermen til databasen</string>
|
||||||
<string name="clear_clipboard_notification_title">Tøm ved lukking</string>
|
<string name="clear_clipboard_notification_title">Tøm ved lukking</string>
|
||||||
<string name="clear_clipboard_notification_summary">Lås databasen når utklippstavlens varighet utløper eller varselet lukkes etter at du begynner å bruke den</string>
|
<string name="clear_clipboard_notification_summary">Lås databasen når utklippstavlens varighet utløper eller varselet lukkes etter at du begynner å bruke den</string>
|
||||||
<string name="recycle_bin">Papirkurv</string>
|
<string name="recycle_bin">Papirkurv</string>
|
||||||
@@ -340,7 +340,7 @@
|
|||||||
<string name="content_description_password_checkbox">Passordsavkryssningsboks</string>
|
<string name="content_description_password_checkbox">Passordsavkryssningsboks</string>
|
||||||
<string name="content_description_keyfile_checkbox">Avkrysningsrute for nøkkelfil</string>
|
<string name="content_description_keyfile_checkbox">Avkrysningsrute for nøkkelfil</string>
|
||||||
<string name="biometric">Biometrisk</string>
|
<string name="biometric">Biometrisk</string>
|
||||||
<string name="error_disallow_no_credentials">Minst én identitetsdetalj må angis.</string>
|
<string name="error_disallow_no_credentials">Minst én påloggingsdetalj må angis.</string>
|
||||||
<string name="error_copy_group_here">Du kan ikke kopiere en gruppe hit.</string>
|
<string name="error_copy_group_here">Du kan ikke kopiere en gruppe hit.</string>
|
||||||
<string name="error_otp_secret_key">Hemmelig nøkkel må være i Base32-format.</string>
|
<string name="error_otp_secret_key">Hemmelig nøkkel må være i Base32-format.</string>
|
||||||
<string name="error_otp_digits">Symbolet må inneholde %1$d til %2$d siffer.</string>
|
<string name="error_otp_digits">Symbolet må inneholde %1$d til %2$d siffer.</string>
|
||||||
@@ -428,7 +428,7 @@
|
|||||||
<string name="autofill_block_restart">Start appen på nytt som inneholder skjemaet for å aktivere blokkeringen.</string>
|
<string name="autofill_block_restart">Start appen på nytt som inneholder skjemaet for å aktivere blokkeringen.</string>
|
||||||
<string name="error_save_read_only">Datalagring er ikke tillatt for en database som er skrivebeskyttet.</string>
|
<string name="error_save_read_only">Datalagring er ikke tillatt for en database som er skrivebeskyttet.</string>
|
||||||
<string name="autofill_inline_suggestions_keyboard">Forslag til autofyll er lagt til.</string>
|
<string name="autofill_inline_suggestions_keyboard">Forslag til autofyll er lagt til.</string>
|
||||||
<string name="education_device_unlock_summary">Koble passordet ditt til den skannede biometriske eller enhetslegitimasjonen for å raskt låse opp databasen din.</string>
|
<string name="education_device_unlock_summary">Koble passordet ditt til den skannede biometriske eller påloggingsinformasjonen på enheten din for å raskt låse opp databasen din.</string>
|
||||||
<string name="education_setup_OTP_title">Sett opp OTP</string>
|
<string name="education_setup_OTP_title">Sett opp OTP</string>
|
||||||
<string name="download_canceled">Avbrutt!</string>
|
<string name="download_canceled">Avbrutt!</string>
|
||||||
<string name="error_string_type">Denne teksten samsvarer ikke med det valgte elementet.</string>
|
<string name="error_string_type">Denne teksten samsvarer ikke med det valgte elementet.</string>
|
||||||
@@ -479,7 +479,7 @@
|
|||||||
<string name="holder">Innehaver</string>
|
<string name="holder">Innehaver</string>
|
||||||
<string name="content_description_otp_information">Éngangspassordsinfo</string>
|
<string name="content_description_otp_information">Éngangspassordsinfo</string>
|
||||||
<string name="template_group_name">Maler</string>
|
<string name="template_group_name">Maler</string>
|
||||||
<string name="content_description_credentials_information">Identitetdetaljsinfo</string>
|
<string name="content_description_credentials_information">Påloggingsinformasjon</string>
|
||||||
<string name="templates_group_enable_summary">Bruk dynamiske maler for å fylle inn feltene for en oppføring</string>
|
<string name="templates_group_enable_summary">Bruk dynamiske maler for å fylle inn feltene for en oppføring</string>
|
||||||
<string name="templates">Maler</string>
|
<string name="templates">Maler</string>
|
||||||
<string name="error_word_reserved">Dette ordet er reservert og kan ikke brukes.</string>
|
<string name="error_word_reserved">Dette ordet er reservert og kan ikke brukes.</string>
|
||||||
@@ -527,11 +527,11 @@
|
|||||||
<string name="device_unlock_prompt_store_credential_message">Du må fortsatt huske hovedlegitimasjonen for hvelvet selv om du bruker enhetens opplåsingsgjenkjenning.</string>
|
<string name="device_unlock_prompt_store_credential_message">Du må fortsatt huske hovedlegitimasjonen for hvelvet selv om du bruker enhetens opplåsingsgjenkjenning.</string>
|
||||||
<string name="device_unlock_not_recognized">Kunne ikke gjenkjenne enhetens oppåsningsmetode</string>
|
<string name="device_unlock_not_recognized">Kunne ikke gjenkjenne enhetens oppåsningsmetode</string>
|
||||||
<string name="credential_before_click_device_unlock_button">Skriv inn passordet, og klikk deretter på denne knappen.</string>
|
<string name="credential_before_click_device_unlock_button">Skriv inn passordet, og klikk deretter på denne knappen.</string>
|
||||||
<string name="device_credential">Enhets-identitetsdetalj</string>
|
<string name="device_credential">Enhetens påloggingsinformasjon</string>
|
||||||
<string name="autofill_select_entry">Velg oppføring …</string>
|
<string name="autofill_select_entry">Velg oppføring …</string>
|
||||||
<string name="temp_device_unlock_enable_title">Midlertidig enhets opplåsing</string>
|
<string name="temp_device_unlock_enable_title">Midlertidig enhets opplåsing</string>
|
||||||
<string name="temp_device_unlock_timeout_title">Utløpsdato for opplåsing av enhet</string>
|
<string name="temp_device_unlock_timeout_title">Utløpsdato for opplåsing av enhet</string>
|
||||||
<string name="device_credential_unlock_enable_summary">Lar deg bruke din enhets-identitetsdetalj for å åpne databasen</string>
|
<string name="device_credential_unlock_enable_summary">Lar deg bruke påloggingsinformasjonen på enheten din for å åpne databasen</string>
|
||||||
<string name="temp_device_unlock_timeout_summary">Varigheten av enhetens opplåsingsbruk før innholdet blir slettet</string>
|
<string name="temp_device_unlock_timeout_summary">Varigheten av enhetens opplåsingsbruk før innholdet blir slettet</string>
|
||||||
<string name="device_unlock_explanation_summary">Bruk enhetsopplåsing for å åpne en database enklere</string>
|
<string name="device_unlock_explanation_summary">Bruk enhetsopplåsing for å åpne en database enklere</string>
|
||||||
<string name="device_credential_unlock_enable_title">Opplåsing av enhetslegitimasjon</string>
|
<string name="device_credential_unlock_enable_title">Opplåsing av enhetslegitimasjon</string>
|
||||||
@@ -539,8 +539,8 @@
|
|||||||
<string name="templates_group_enable_title">Mal-bruk</string>
|
<string name="templates_group_enable_title">Mal-bruk</string>
|
||||||
<string name="database_data_remove_unlinked_attachments_summary">Fjerner vedlegg som er å finne i databasen, men som ikke er lenket til en oppføring</string>
|
<string name="database_data_remove_unlinked_attachments_summary">Fjerner vedlegg som er å finne i databasen, men som ikke er lenket til en oppføring</string>
|
||||||
<string name="keyboard_save_search_info_summary">Prøv å lagre delt informasjon når du foretar en manuell oppføring for enklere fremtidig bruk</string>
|
<string name="keyboard_save_search_info_summary">Prøv å lagre delt informasjon når du foretar en manuell oppføring for enklere fremtidig bruk</string>
|
||||||
<string name="keyboard_previous_database_credentials_title">Skjem for database-identitetsdetaljer</string>
|
<string name="keyboard_previous_database_credentials_title">Skjerm for påloggingsinformasjon til database</string>
|
||||||
<string name="keyboard_previous_database_credentials_summary">Bytt tilbake til forrige tastatur atuomatisk på skjermen for database-identitetsdetaljer</string>
|
<string name="keyboard_previous_database_credentials_summary">Bytt tilbake til forrige tastatur automatisk på skjermen for påloggingsinformasjonen til databasen</string>
|
||||||
<string name="autofill_inline_suggestions_title">Forslag på linjen</string>
|
<string name="autofill_inline_suggestions_title">Forslag på linjen</string>
|
||||||
<string name="autofill_inline_suggestions_summary">Prøv å vise autofullføringsforslag direkte fra et kompatibelt tastatur</string>
|
<string name="autofill_inline_suggestions_summary">Prøv å vise autofullføringsforslag direkte fra et kompatibelt tastatur</string>
|
||||||
<string name="autofill_manual_selection_title">Manuellt utvalg</string>
|
<string name="autofill_manual_selection_title">Manuellt utvalg</string>
|
||||||
@@ -562,7 +562,7 @@
|
|||||||
<string name="biometric_auto_open_prompt_summary">Forespør opplasting automatisk hvis databasen er satt opp til å bruke det</string>
|
<string name="biometric_auto_open_prompt_summary">Forespør opplasting automatisk hvis databasen er satt opp til å bruke det</string>
|
||||||
<string name="menu_external_icon">Eksternt ikon</string>
|
<string name="menu_external_icon">Eksternt ikon</string>
|
||||||
<string name="subdomain_search_title">Underdomenesøk</string>
|
<string name="subdomain_search_title">Underdomenesøk</string>
|
||||||
<string name="error_otp_type">Eksisterende OTP-type gjenkjennes ikke av dette skjemaet og valideringen kan derfor ikke lenger generere tokenet.</string>
|
<string name="error_otp_type">Den eksisterende OTP-typen gjenkjennes ikke av dette skjemaet og valideringen kan derfor ikke lenger generere tokenet.</string>
|
||||||
<string name="error_start_database_action">En feil inntraff under utføring av en databasehandling.</string>
|
<string name="error_start_database_action">En feil inntraff under utføring av en databasehandling.</string>
|
||||||
<string name="temp_device_unlock_enable_summary">Ikke lagre noe kryptert innhold for å bruke enhets opplåsing</string>
|
<string name="temp_device_unlock_enable_summary">Ikke lagre noe kryptert innhold for å bruke enhets opplåsing</string>
|
||||||
<string name="subdomain_search_summary">Søk i vev-domener med underdomene-begrensninger</string>
|
<string name="subdomain_search_summary">Søk i vev-domener med underdomene-begrensninger</string>
|
||||||
@@ -661,7 +661,7 @@
|
|||||||
<string name="ask">Spør</string>
|
<string name="ask">Spør</string>
|
||||||
<string name="merge_success">Sammenslåingen er fullført</string>
|
<string name="merge_success">Sammenslåingen er fullført</string>
|
||||||
<string name="configure">Konfigurer</string>
|
<string name="configure">Konfigurer</string>
|
||||||
<string name="menu_appearance_settings_summary">Drakter, farger, attributter</string>
|
<string name="menu_appearance_settings_summary">Drakter, farger, ikoner, skrifttyper, attributter</string>
|
||||||
<string name="enable_screenshot_mode_title">Skjermbilde-modus</string>
|
<string name="enable_screenshot_mode_title">Skjermbilde-modus</string>
|
||||||
<string name="consider_chars_filter">Vurder karakterer</string>
|
<string name="consider_chars_filter">Vurder karakterer</string>
|
||||||
<string name="entropy_calculate">Entropi: Beregn…</string>
|
<string name="entropy_calculate">Entropi: Beregn…</string>
|
||||||
@@ -694,4 +694,45 @@
|
|||||||
<string name="warning_large_keyfile">Det anbefales ikke å legge til en stor nøkkelfil, siden dette kan hindre databasen i å åpnes.</string>
|
<string name="warning_large_keyfile">Det anbefales ikke å legge til en stor nøkkelfil, siden dette kan hindre databasen i å åpnes.</string>
|
||||||
<string name="hide_templates_title">Skjul maler</string>
|
<string name="hide_templates_title">Skjul maler</string>
|
||||||
<string name="hide_templates_summary">Maler vises ikke</string>
|
<string name="hide_templates_summary">Maler vises ikke</string>
|
||||||
|
<string name="entry_application_id">App-ID</string>
|
||||||
|
<string name="warning_overwrite_data_title">Overskriv eksisterende data?</string>
|
||||||
|
<string name="warning_overwrite_data_description">Denne handlingen vil erstatte de eksisterende dataene i feltet, og du kan hente frem de gamle i historikken hvis det er skrudd på.</string>
|
||||||
|
<string name="passkeys">Passnøkler</string>
|
||||||
|
<string name="passkeys_explanation_summary">Konfigurer passnøkler for rask og sikker passordløs innlogging</string>
|
||||||
|
<string name="passkeys_preference_title">Passnøkkel-innstillinger</string>
|
||||||
|
<string name="passkeys_close_database_title">Lukk database</string>
|
||||||
|
<string name="passkeys_close_database_summary">Lukk databasen etter å ha valgt en passnøkkel</string>
|
||||||
|
<string name="passkeys_privileged_apps_title">Privilegerte apper</string>
|
||||||
|
<string name="passkeys_privileged_apps_summary">Håndter nettlesere i den brukerdefinerte listen over privilegerte apper</string>
|
||||||
|
<string name="passkeys_privileged_apps_explanation">ADVARSEL: En priveligert app fungerer som mellommann for å hente opphavet til en autentisering. Bekreft at den er legitim for å unngå sikkerhetsproblemer.</string>
|
||||||
|
<string name="passkeys_privileged_apps_ask_title">App kjennes ikke igjen</string>
|
||||||
|
<string name="passkeys_privileged_apps_ask_message">%1$s prøver i gjøre noe med en passnøkkel.\n\nLegg den til listen over privilegerte apper?</string>
|
||||||
|
<string name="passkeys_missing_signature_app_ask_title">Mangler signatur</string>
|
||||||
|
<string name="passkeys_missing_signature_app_ask_explanation">ADVARSEL: Denne passnøkkelen ble laget av en annen klient eller så har signaturen blitt slettet. Pass på at appen du vil autentisere er en del av samme tjeneste og er legitim for å unngå sikkerhetsproblemer.\nHvis appen er en nettleser, så ikke legg til dens signatur til feltet, men legg den til som en privilegert app i innstillingene.</string>
|
||||||
|
<string name="passkeys_missing_signature_app_ask_message">%1$s kjennes ikke igjen og prøver å autentisere seg med en eksisterende passnøkkel.</string>
|
||||||
|
<string name="passkeys_missing_signature_app_ask_question">Legg til appsignaturen til passnøkkelen?</string>
|
||||||
|
<string name="passkeys_auto_select_title">Automatisk valg</string>
|
||||||
|
<string name="passkeys_auto_select_summary">Velg automatisk hvis det bare er en oppføring og databasen er åpen, bare hvis appen er kompatibel</string>
|
||||||
|
<string name="passkeys_backup_eligibility_title">Mulighet til å ta sikkerhetskopi</string>
|
||||||
|
<string name="passkeys_backup_eligibility_summary">Sjekk ved opprettelse om den offentlige nøkkelen kan sikkerhetskopieres</string>
|
||||||
|
<string name="passkeys_backup_state_title">Status til sikkerhetskopi</string>
|
||||||
|
<string name="passkeys_backup_state_summary">Indikerer at oppføringen er sikkerhetskopiert og beskyttet mot tap av én enkel enhet</string>
|
||||||
|
<string name="credential_provider_service_subtitle">Passnøkler, fyll inn automatisk leverandør</string>
|
||||||
|
<string name="passkey">Passnøkkel</string>
|
||||||
|
<string name="passkey_creation_description">Lagre passnøkkel i ny oppføring</string>
|
||||||
|
<string name="passkey_update_description">Oppdater passnøkkel i %1$s</string>
|
||||||
|
<string name="passkey_selection_username">Ingen passnøkkel funnet</string>
|
||||||
|
<string name="passkey_selection_description">Velg en eksisterende passnøkkel</string>
|
||||||
|
<string name="passkey_database_username">KeePassDX-database</string>
|
||||||
|
<string name="passkey_locked_database_description">Velg for å låse opp</string>
|
||||||
|
<string name="passkey_username">Passnøkkel-brukernavn</string>
|
||||||
|
<string name="passkey_private_key">Passnøkkel-privatnøkkel</string>
|
||||||
|
<string name="passkey_user_handle">Passnøkkel-brukernavn</string>
|
||||||
|
<string name="error_passkey_result">Kunne ikke returnere passnøkkelen</string>
|
||||||
|
<string name="credential_provider">Påloggingsinformasjons-leverandør</string>
|
||||||
|
<string name="passkey_service_name">Påloggingsleverandør til KeePassDX</string>
|
||||||
|
<string name="passkey_credential_id">Passnøkkel-ID</string>
|
||||||
|
<string name="passkey_relying_party">Passnøkkelens tillitspart</string>
|
||||||
|
<string name="passkey_backup_eligibility">Mulighet for sikkerhetskopiering av passnøkkelen</string>
|
||||||
|
<string name="passkey_backup_state">Tilstand til sikkerhetskopien til passnøkkelen</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
@@ -186,8 +186,8 @@
|
|||||||
<string name="general">Algemeen</string>
|
<string name="general">Algemeen</string>
|
||||||
<string name="autofill">Automatisch aanvullen</string>
|
<string name="autofill">Automatisch aanvullen</string>
|
||||||
<string name="autofill_sign_in_prompt">Inloggen met KeePassDX</string>
|
<string name="autofill_sign_in_prompt">Inloggen met KeePassDX</string>
|
||||||
<string name="set_credential_provider_service_title">Dienst automatisch aanvullen</string>
|
<string name="set_credential_provider_service_title">Dienst Automatisch aanvullen</string>
|
||||||
<string name="autofill_explanation_summary">Schakel de dienst in om formulieren in andere apps in te vullen</string>
|
<string name="autofill_explanation_summary">Dienst Automatisch aanvullen configureren om formulieren in andere apps in te vullen</string>
|
||||||
<string name="password_size_title">Gegenereerde wachtwoordlengte</string>
|
<string name="password_size_title">Gegenereerde wachtwoordlengte</string>
|
||||||
<string name="password_size_summary">Stel de standaardlengte van gegenereerde wachtwoorden in</string>
|
<string name="password_size_summary">Stel de standaardlengte van gegenereerde wachtwoorden in</string>
|
||||||
<string name="list_password_generator_options_title">Wachtwoordtekens</string>
|
<string name="list_password_generator_options_title">Wachtwoordtekens</string>
|
||||||
@@ -305,7 +305,7 @@
|
|||||||
<string name="selection_mode">Selectiemodus</string>
|
<string name="selection_mode">Selectiemodus</string>
|
||||||
<string name="do_not_kill_app">App niet afsluiten…</string>
|
<string name="do_not_kill_app">App niet afsluiten…</string>
|
||||||
<string name="lock_database_back_root_title">Druk \'Terug\' om te vergrendelen</string>
|
<string name="lock_database_back_root_title">Druk \'Terug\' om te vergrendelen</string>
|
||||||
<string name="lock_database_back_root_summary">Vergrendel de database wanneer de gebruiker in het hoofdscherm op de knop Terug klikt</string>
|
<string name="lock_database_back_root_summary">Druk in het hoofdscherm van de database op \'Terug\' om de database te vergrendelen</string>
|
||||||
<string name="clear_clipboard_notification_title">Wissen bij afsluiten</string>
|
<string name="clear_clipboard_notification_title">Wissen bij afsluiten</string>
|
||||||
<string name="clear_clipboard_notification_summary">Vergrendel de database wanneer het klembord verlopen is of wanneer de melding wordt gesloten nadat u deze hebt gebruikt</string>
|
<string name="clear_clipboard_notification_summary">Vergrendel de database wanneer het klembord verlopen is of wanneer de melding wordt gesloten nadat u deze hebt gebruikt</string>
|
||||||
<string name="recycle_bin">Prullenbak</string>
|
<string name="recycle_bin">Prullenbak</string>
|
||||||
@@ -526,7 +526,7 @@
|
|||||||
<string name="menu_reload_database">Gegevens opnieuw laden</string>
|
<string name="menu_reload_database">Gegevens opnieuw laden</string>
|
||||||
<string name="error_rebuild_list">Kan de lijst niet correct opnieuw opbouwen.</string>
|
<string name="error_rebuild_list">Kan de lijst niet correct opnieuw opbouwen.</string>
|
||||||
<string name="error_database_uri_null">Database-URI kan niet worden opgehaald.</string>
|
<string name="error_database_uri_null">Database-URI kan niet worden opgehaald.</string>
|
||||||
<string name="error_otp_type">Het bestaande OTP-type wordt niet herkend door dit formulier, de validatie ervan genereert het token mogelijk niet langer.</string>
|
<string name="error_otp_type">Het bestaande OTP-type wordt niet herkend door dit formulier en de validatie ervan genereert het token mogelijk niet meer correct.</string>
|
||||||
<string name="icon_section_custom">Aangepast</string>
|
<string name="icon_section_custom">Aangepast</string>
|
||||||
<string name="icon_section_standard">Standaard</string>
|
<string name="icon_section_standard">Standaard</string>
|
||||||
<string name="style_brightness_summary">Selecteer lichte of donkere thema\'s</string>
|
<string name="style_brightness_summary">Selecteer lichte of donkere thema\'s</string>
|
||||||
@@ -672,7 +672,7 @@
|
|||||||
<string name="later">Later</string>
|
<string name="later">Later</string>
|
||||||
<string name="ask">Vragen</string>
|
<string name="ask">Vragen</string>
|
||||||
<string name="configure">Configureren</string>
|
<string name="configure">Configureren</string>
|
||||||
<string name="menu_appearance_settings_summary">Thema\'s, kleuren, attributen</string>
|
<string name="menu_appearance_settings_summary">Thema\'s, kleuren, pictogrammen, lettertypen, attributen</string>
|
||||||
<string name="menu_app_settings_summary">Zoeken, vergrendelen, geschiedenis, eigenschappen</string>
|
<string name="menu_app_settings_summary">Zoeken, vergrendelen, geschiedenis, eigenschappen</string>
|
||||||
<string name="menu_form_filling_settings_summary">Toetsenbord, automatisch aanvullen, klembord</string>
|
<string name="menu_form_filling_settings_summary">Toetsenbord, automatisch aanvullen, klembord</string>
|
||||||
<string name="info">Informatie</string>
|
<string name="info">Informatie</string>
|
||||||
@@ -706,4 +706,45 @@
|
|||||||
<string name="recursive_number_entries_summary">Berekent recursief het aantal items in een groep</string>
|
<string name="recursive_number_entries_summary">Berekent recursief het aantal items in een groep</string>
|
||||||
<string name="warning_large_keyfile">Het is niet verstandig om een groot sleutelbestand toe te voegen, aangezien dit het openen van de database kan belemmeren.</string>
|
<string name="warning_large_keyfile">Het is niet verstandig om een groot sleutelbestand toe te voegen, aangezien dit het openen van de database kan belemmeren.</string>
|
||||||
<string name="error_otp_secret_length">Geheime sleutel moet minimaal %1$d tekens bevatten.</string>
|
<string name="error_otp_secret_length">Geheime sleutel moet minimaal %1$d tekens bevatten.</string>
|
||||||
|
<string name="entry_application_id">App-ID</string>
|
||||||
|
<string name="warning_overwrite_data_title">Bestaande gegevens overschrijven?</string>
|
||||||
|
<string name="warning_overwrite_data_description">Deze actie vervangt de bestaande gegevens van het item. Je kunt de oude gegevens ophalen als de geschiedenis is ingeschakeld.</string>
|
||||||
|
<string name="credential_provider">Dienst Automatisch aanvullen</string>
|
||||||
|
<string name="credential_provider_service_subtitle">Passkeys, Dienst Automatisch aanvullen</string>
|
||||||
|
<string name="passkey_service_name">KeePassDX Dienst Automatisch aanvullen</string>
|
||||||
|
<string name="passkeys">Passkeys</string>
|
||||||
|
<string name="passkeys_explanation_summary">Configureer Passkeys voor snelle en veilige wachtwoordloze login</string>
|
||||||
|
<string name="passkeys_preference_title">Instellingen voor passkeys</string>
|
||||||
|
<string name="passkeys_close_database_title">Database sluiten</string>
|
||||||
|
<string name="passkeys_close_database_summary">Database sluiten na selectie van passkey</string>
|
||||||
|
<string name="passkeys_privileged_apps_title">Bevoorrechte apps</string>
|
||||||
|
<string name="passkeys_privileged_apps_summary">Browsers beheren in de aangepaste lijst met bevoorrechte apps</string>
|
||||||
|
<string name="passkeys_privileged_apps_explanation">WAARSCHUWING: Een bevoorrechte app fungeert als toegangspoort om de oorsprong van een authenticatie op te halen. Zorg voor de legitimiteit ervan om veiligheidsproblemen te voorkomen.</string>
|
||||||
|
<string name="passkeys_privileged_apps_ask_title">App niet herkend</string>
|
||||||
|
<string name="passkeys_privileged_apps_ask_message">%1$s probeert een Passkey-actie uit te voeren.\n\nToevoegen aan de lijst met bevoorrechte apps?</string>
|
||||||
|
<string name="passkeys_missing_signature_app_ask_title">Handtekening ontbreekt</string>
|
||||||
|
<string name="passkeys_missing_signature_app_ask_question">App-handtekening toevoegen aan passkey-item?</string>
|
||||||
|
<string name="passkeys_auto_select_title">Autom. selecteren</string>
|
||||||
|
<string name="passkeys_auto_select_summary">Automatisch selecteren bij slechts één item, een geopende database en alleen als de aanvragende app compatibel is</string>
|
||||||
|
<string name="passkeys_backup_eligibility_summary">Bepaal bij het aanmaken of een back-up mag worden gemaakt van de bron van de publieke sleutel</string>
|
||||||
|
<string name="passkeys_backup_eligibility_title">Geschikt voor back-up</string>
|
||||||
|
<string name="passkeys_backup_state_title">Back-upstatus</string>
|
||||||
|
<string name="passkeys_backup_state_summary">Aangeven dat er een back-up van de inloggegevens wordt gemaakt en beschermd tegen het verlies van een enkel apparaat</string>
|
||||||
|
<string name="passkey">Passkey</string>
|
||||||
|
<string name="passkey_creation_description">Passkey opslaan in nieuw item</string>
|
||||||
|
<string name="passkey_update_description">Passkey in %1$s bijwerken</string>
|
||||||
|
<string name="passkey_selection_username">Geen passkey gevonden</string>
|
||||||
|
<string name="passkey_selection_description">Bestaande passkey selecteren</string>
|
||||||
|
<string name="passkey_database_username">KeePassDX-database</string>
|
||||||
|
<string name="passkey_locked_database_description">Selecteren voor ontgrendeling</string>
|
||||||
|
<string name="passkey_username">Passkey Gebruikersnaam</string>
|
||||||
|
<string name="passkey_private_key">Passkey Privésleutel</string>
|
||||||
|
<string name="passkey_credential_id">Passkey Inlog-ID</string>
|
||||||
|
<string name="passkey_user_handle">Passkey Gebruikershandvat</string>
|
||||||
|
<string name="passkey_relying_party">Passkey Vertrouwde partij</string>
|
||||||
|
<string name="passkey_backup_eligibility">Passkey Back-upgeschiktheid</string>
|
||||||
|
<string name="passkey_backup_state">Passkey Back-upstatus</string>
|
||||||
|
<string name="error_passkey_result">Kan de passkey niet retourneren</string>
|
||||||
|
<string name="passkeys_missing_signature_app_ask_message">%1$s wordt niet herkend en probeert te authenticeren met een bestaande passkey.</string>
|
||||||
|
<string name="passkeys_missing_signature_app_ask_explanation">WAARSCHUWING: De passkey is aangemaakt door een andere client of de handtekening is verwijderd. Zorg ervoor dat de app die je wilt authenticeren deel uitmaakt van dezelfde service en legitiem is om beveiligingsproblemen te voorkomen.\nAls de app een browser is, voeg dan niet de handtekening toe aan het item, maar aan de lijst met bevoorrechte apps in de instellingen.</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
@@ -135,7 +135,7 @@
|
|||||||
<string name="error_load_database">Nie można załadować bazy danych.</string>
|
<string name="error_load_database">Nie można załadować bazy danych.</string>
|
||||||
<string name="error_load_database_KDF_memory">Nie można załadować klucza. Spróbuj zmniejszyć „Użycie pamięci” KDF.</string>
|
<string name="error_load_database_KDF_memory">Nie można załadować klucza. Spróbuj zmniejszyć „Użycie pamięci” KDF.</string>
|
||||||
<string name="error_string_key">Każdy ciąg musi mieć nazwę pola.</string>
|
<string name="error_string_key">Każdy ciąg musi mieć nazwę pola.</string>
|
||||||
<string name="error_autofill_enable_service">Nie można włączyć usługi autouzupełniania.</string>
|
<string name="error_autofill_enable_service">Nie można włączyć usługi automatycznego wypełniania.</string>
|
||||||
<string name="field_name">Nazwa pola</string>
|
<string name="field_name">Nazwa pola</string>
|
||||||
<string name="field_value">Wartość pola</string>
|
<string name="field_value">Wartość pola</string>
|
||||||
<string name="file_not_found_content">Nie znaleziono pliku. Spróbuj ponownie otworzyć go w przeglądarce plików.</string>
|
<string name="file_not_found_content">Nie znaleziono pliku. Spróbuj ponownie otworzyć go w przeglądarce plików.</string>
|
||||||
@@ -182,7 +182,7 @@
|
|||||||
<string name="autofill">Wypełnij automatycznie</string>
|
<string name="autofill">Wypełnij automatycznie</string>
|
||||||
<string name="autofill_sign_in_prompt">Zaloguj się za pomocą KeePassDX</string>
|
<string name="autofill_sign_in_prompt">Zaloguj się za pomocą KeePassDX</string>
|
||||||
<string name="set_credential_provider_service_title">Ustaw domyślną usługę autouzupełniania</string>
|
<string name="set_credential_provider_service_title">Ustaw domyślną usługę autouzupełniania</string>
|
||||||
<string name="autofill_explanation_summary">Włącz autouzupełnianie, aby móc szybko wypełniać formularze w innych aplikacjach</string>
|
<string name="autofill_explanation_summary">Skonfiguruj funkcję automatycznego wypełniania, aby szybko wypełniać formularze w innych aplikacjach</string>
|
||||||
<string name="password_size_title">Wygenerowany rozmiar hasła</string>
|
<string name="password_size_title">Wygenerowany rozmiar hasła</string>
|
||||||
<string name="password_size_summary">Ustawia domyślny rozmiar wygenerowanych haseł</string>
|
<string name="password_size_summary">Ustawia domyślny rozmiar wygenerowanych haseł</string>
|
||||||
<string name="list_password_generator_options_title">Znaki hasła</string>
|
<string name="list_password_generator_options_title">Znaki hasła</string>
|
||||||
@@ -296,7 +296,7 @@
|
|||||||
<string name="keyboard_key_sound_title">Dźwięk przy naciskaniu klawiszy</string>
|
<string name="keyboard_key_sound_title">Dźwięk przy naciskaniu klawiszy</string>
|
||||||
<string name="do_not_kill_app">Nie zamykaj aplikacji…</string>
|
<string name="do_not_kill_app">Nie zamykaj aplikacji…</string>
|
||||||
<string name="lock_database_back_root_title">Naciśnij „Wstecz”, aby zablokować</string>
|
<string name="lock_database_back_root_title">Naciśnij „Wstecz”, aby zablokować</string>
|
||||||
<string name="lock_database_back_root_summary">Zablokuj bazę danych, gdy użytkownik kliknie przycisk „Wstecz” na ekranie głównym</string>
|
<string name="lock_database_back_root_summary">Naciśnij „Wstecz”, aby zablokować bazę danych, jeśli znajdujesz się na ekranie głównym bazy danych</string>
|
||||||
<string name="clear_clipboard_notification_title">Wyczyść po zamknięciu</string>
|
<string name="clear_clipboard_notification_title">Wyczyść po zamknięciu</string>
|
||||||
<string name="clear_clipboard_notification_summary">Blokowanie bazy danych po wygaśnięciu czasu trwania schowka lub zamknięciu powiadomienia po rozpoczęciu korzystania z niej</string>
|
<string name="clear_clipboard_notification_summary">Blokowanie bazy danych po wygaśnięciu czasu trwania schowka lub zamknięciu powiadomienia po rozpoczęciu korzystania z niej</string>
|
||||||
<string name="recycle_bin">Kosz</string>
|
<string name="recycle_bin">Kosz</string>
|
||||||
@@ -423,11 +423,11 @@
|
|||||||
<string name="validate">Walidacja</string>
|
<string name="validate">Walidacja</string>
|
||||||
<string name="lock_database_show_button_summary">Wyświetla przycisk blokady w interfejsie użytkownika</string>
|
<string name="lock_database_show_button_summary">Wyświetla przycisk blokady w interfejsie użytkownika</string>
|
||||||
<string name="lock_database_show_button_title">Pokaż przycisk blokady</string>
|
<string name="lock_database_show_button_title">Pokaż przycisk blokady</string>
|
||||||
<string name="autofill_preference_title">Ustawienia autouzupełniania</string>
|
<string name="autofill_preference_title">Ustawienia automatycznego wypełniania</string>
|
||||||
<string name="warning_database_link_revoked">Dostęp do pliku anulowany przez menedżer plików</string>
|
<string name="warning_database_link_revoked">Dostęp do pliku anulowany przez menedżer plików</string>
|
||||||
<string name="error_label_exists">Ta etykieta już istnieje.</string>
|
<string name="error_label_exists">Ta etykieta już istnieje.</string>
|
||||||
<string name="autofill_block_restart">Zrestartuj aplikację zawierającą formularz, aby aktywować blokadę.</string>
|
<string name="autofill_block_restart">Zrestartuj aplikację zawierającą formularz, aby aktywować blokadę.</string>
|
||||||
<string name="autofill_block">Blokowanie autouzupełniania</string>
|
<string name="autofill_block">Blokowanie automatycznego wypełniania</string>
|
||||||
<string name="autofill_application_id_blocklist_summary">Lista zablokowanych, która uniemożliwia automatyczne wypełnianie aplikacji</string>
|
<string name="autofill_application_id_blocklist_summary">Lista zablokowanych, która uniemożliwia automatyczne wypełnianie aplikacji</string>
|
||||||
<string name="filter">Filtr</string>
|
<string name="filter">Filtr</string>
|
||||||
<string name="subdomain_search_title">Wyszukiwanie subdomen</string>
|
<string name="subdomain_search_title">Wyszukiwanie subdomen</string>
|
||||||
@@ -463,7 +463,7 @@
|
|||||||
<string name="autofill_ask_to_save_data_title">Pytaj o zapisanie danych</string>
|
<string name="autofill_ask_to_save_data_title">Pytaj o zapisanie danych</string>
|
||||||
<string name="autofill_save_search_info_summary">Staraj się zapisywać informacje wyszukiwania podczas dokonywania ręcznego wyboru wpisu, aby ułatwić sobie przyszłe użycie</string>
|
<string name="autofill_save_search_info_summary">Staraj się zapisywać informacje wyszukiwania podczas dokonywania ręcznego wyboru wpisu, aby ułatwić sobie przyszłe użycie</string>
|
||||||
<string name="autofill_save_search_info_title">Zapisz informacje wyszukiwania</string>
|
<string name="autofill_save_search_info_title">Zapisz informacje wyszukiwania</string>
|
||||||
<string name="autofill_close_database_summary">Zamknij bazę danych po wybraniu autouzupełniania</string>
|
<string name="autofill_close_database_summary">Zamknij bazę danych po wybraniu automatycznego wypełniania</string>
|
||||||
<string name="autofill_close_database_title">Zamknij bazę danych</string>
|
<string name="autofill_close_database_title">Zamknij bazę danych</string>
|
||||||
<string name="keyboard_previous_lock_summary">Automatycznie przełącz z powrotem do poprzedniej klawiatury po zablokowaniu bazy danych</string>
|
<string name="keyboard_previous_lock_summary">Automatycznie przełącz z powrotem do poprzedniej klawiatury po zablokowaniu bazy danych</string>
|
||||||
<string name="keyboard_previous_lock_title">Zablokuj bazę danych</string>
|
<string name="keyboard_previous_lock_title">Zablokuj bazę danych</string>
|
||||||
@@ -504,9 +504,9 @@
|
|||||||
<string name="device_unlock_prompt_extract_credential_title">Rozpoznawanie odblokowania urządzenia</string>
|
<string name="device_unlock_prompt_extract_credential_title">Rozpoznawanie odblokowania urządzenia</string>
|
||||||
<string name="error_rebuild_list">Nie można poprawnie odbudować listy.</string>
|
<string name="error_rebuild_list">Nie można poprawnie odbudować listy.</string>
|
||||||
<string name="error_database_uri_null">Nie można pobrać identyfikatora URI bazy danych.</string>
|
<string name="error_database_uri_null">Nie można pobrać identyfikatora URI bazy danych.</string>
|
||||||
<string name="autofill_inline_suggestions_keyboard">Dodano sugestie autouzupełniania.</string>
|
<string name="autofill_inline_suggestions_keyboard">Dodano sugestie automatycznego wypełniania.</string>
|
||||||
<string name="autofill_inline_suggestions_title">Sugestie wbudowane</string>
|
<string name="autofill_inline_suggestions_title">Sugestie wbudowane</string>
|
||||||
<string name="autofill_inline_suggestions_summary">Spróbuj wyświetlić sugestie autouzupełniania bezpośrednio z kompatybilnej klawiatury</string>
|
<string name="autofill_inline_suggestions_summary">Spróbuj wyświetlić sugestie automatycznego wypełniania bezpośrednio z kompatybilnej klawiatury</string>
|
||||||
<string name="temp_device_unlock_enable_title">Odblokowywanie tymczasowe urządzenia</string>
|
<string name="temp_device_unlock_enable_title">Odblokowywanie tymczasowe urządzenia</string>
|
||||||
<string name="device_unlock_prompt_not_initialized">Nie można zainicjować monitu o odblokowanie urządzenia.</string>
|
<string name="device_unlock_prompt_not_initialized">Nie można zainicjować monitu o odblokowanie urządzenia.</string>
|
||||||
<string name="warning_database_revoked">Dostęp do pliku odwołany przez menedżera plików, zamknij bazę danych i otwórz ją ponownie z jej lokalizacji.</string>
|
<string name="warning_database_revoked">Dostęp do pliku odwołany przez menedżera plików, zamknij bazę danych i otwórz ją ponownie z jej lokalizacji.</string>
|
||||||
@@ -517,7 +517,7 @@
|
|||||||
<string name="unit_mebibyte">MiB</string>
|
<string name="unit_mebibyte">MiB</string>
|
||||||
<string name="unit_kibibyte">KiB</string>
|
<string name="unit_kibibyte">KiB</string>
|
||||||
<string name="unit_byte">B</string>
|
<string name="unit_byte">B</string>
|
||||||
<string name="error_otp_type">Istniejący typ OTP nie jest rozpoznawany przez ten formularz, jego walidacja może już nie generować poprawnie tokenu.</string>
|
<string name="error_otp_type">Istniejący typ OTP nie jest rozpoznawany przez ten formularz, a jego walidacja może już nie generować poprawnie tokenu.</string>
|
||||||
<string name="download_canceled">Anulowano!</string>
|
<string name="download_canceled">Anulowano!</string>
|
||||||
<string name="icon_section_custom">Niestandardowy</string>
|
<string name="icon_section_custom">Niestandardowy</string>
|
||||||
<string name="icon_section_standard">Standardowy</string>
|
<string name="icon_section_standard">Standardowy</string>
|
||||||
@@ -655,7 +655,7 @@
|
|||||||
<string name="merge_success">Scalanie zostało pomyślnie zakończone</string>
|
<string name="merge_success">Scalanie zostało pomyślnie zakończone</string>
|
||||||
<string name="info">Informacje</string>
|
<string name="info">Informacje</string>
|
||||||
<string name="menu_app_settings_summary">Wyszukiwanie, blokada, historia, właściwości</string>
|
<string name="menu_app_settings_summary">Wyszukiwanie, blokada, historia, właściwości</string>
|
||||||
<string name="menu_form_filling_settings_summary">Klawiatura, autouzupełnianie, schowek</string>
|
<string name="menu_form_filling_settings_summary">Klawiatura, automatyczne wypełnianie, schowek</string>
|
||||||
<string name="menu_database_settings_summary">Metadane, kosz, szablony, historia</string>
|
<string name="menu_database_settings_summary">Metadane, kosz, szablony, historia</string>
|
||||||
<string name="menu_security_settings_summary">Szyfrowanie, funkcja wyprowadzania klucza</string>
|
<string name="menu_security_settings_summary">Szyfrowanie, funkcja wyprowadzania klucza</string>
|
||||||
<string name="master_key_settings_summary">Zmiana, odnowienie</string>
|
<string name="master_key_settings_summary">Zmiana, odnowienie</string>
|
||||||
@@ -664,7 +664,7 @@
|
|||||||
<string name="ask">Zapytaj</string>
|
<string name="ask">Zapytaj</string>
|
||||||
<string name="configure">Skonfiguruj</string>
|
<string name="configure">Skonfiguruj</string>
|
||||||
<string name="unlock_and_link_biometric">Łącze do odblokowania urządzenia</string>
|
<string name="unlock_and_link_biometric">Łącze do odblokowania urządzenia</string>
|
||||||
<string name="menu_appearance_settings_summary">Motywy, kolory, atrybuty</string>
|
<string name="menu_appearance_settings_summary">Motywy, kolory, ikony, czcionki, atrybuty</string>
|
||||||
<string name="unlock">Odblokuj</string>
|
<string name="unlock">Odblokuj</string>
|
||||||
<string name="education_validate_entry_title">Sprawdź poprawność wpisu</string>
|
<string name="education_validate_entry_title">Sprawdź poprawność wpisu</string>
|
||||||
<string name="menu_device_unlock_settings_summary">Biometria, poświadczenie urządzenia</string>
|
<string name="menu_device_unlock_settings_summary">Biometria, poświadczenie urządzenia</string>
|
||||||
@@ -694,4 +694,45 @@
|
|||||||
<string name="hide_templates_title">Ukryj szablony</string>
|
<string name="hide_templates_title">Ukryj szablony</string>
|
||||||
<string name="hide_templates_summary">Szablony nie są wyświetlane</string>
|
<string name="hide_templates_summary">Szablony nie są wyświetlane</string>
|
||||||
<string name="error_otp_secret_length">Klucz tajny musi składać się z co najmniej %1$d znaków.</string>
|
<string name="error_otp_secret_length">Klucz tajny musi składać się z co najmniej %1$d znaków.</string>
|
||||||
|
<string name="entry_application_id">Identyfikator aplikacji</string>
|
||||||
|
<string name="warning_overwrite_data_title">Nadpisać istniejące dane?</string>
|
||||||
|
<string name="warning_overwrite_data_description">Ta czynność spowoduje zastąpienie istniejących danych we wpisie. Możesz odzyskać stare dane, jeśli historia jest włączona.</string>
|
||||||
|
<string name="credential_provider">Dostawca poświadczeń</string>
|
||||||
|
<string name="passkeys">Klucze dostępu</string>
|
||||||
|
<string name="passkeys_explanation_summary">Skonfiguruj klucze dostępu, aby zapewnić szybkie i bezpieczne logowanie bez hasła</string>
|
||||||
|
<string name="passkeys_preference_title">Ustawienia kluczy dostępu</string>
|
||||||
|
<string name="passkeys_close_database_title">Zamknij bazę danych</string>
|
||||||
|
<string name="passkeys_close_database_summary">Zamknij bazę danych po wybraniu klucza dostępu</string>
|
||||||
|
<string name="passkeys_privileged_apps_title">Aplikacje uprzywilejowane</string>
|
||||||
|
<string name="passkeys_privileged_apps_summary">Zarządzaj przeglądarkami na liście niestandardowej aplikacji uprzywilejowanych</string>
|
||||||
|
<string name="passkeys_privileged_apps_explanation">OSTRZEŻENIE: aplikacja uprzywilejowana działa jako brama do pobierania źródła uwierzytelnienia. Upewnij się, że jest właściwa, aby uniknąć problemów z bezpieczeństwem.</string>
|
||||||
|
<string name="passkeys_privileged_apps_ask_title">Aplikacja nie została rozpoznana</string>
|
||||||
|
<string name="passkeys_privileged_apps_ask_message">%1$s próbuje wykonać czynność klucza dostępu.\n\nDodać ją do listy aplikacji uprzywilejowanych?</string>
|
||||||
|
<string name="passkeys_missing_signature_app_ask_title">Brak podpisu</string>
|
||||||
|
<string name="passkeys_missing_signature_app_ask_explanation">OSTRZEŻENIE: klucz dostępu został utworzony z innego klienta lub podpis został usunięty. Upewnij się, że aplikacja, którą chcesz uwierzytelnić, jest częścią tej samej usługi i jest właściwa, aby uniknąć problemów z bezpieczeństwem.\nJeśli aplikacja jest przeglądarką, nie dodawaj jej podpisu do wpisu, ale do listy aplikacji uprzywilejowanych w ustawieniach.</string>
|
||||||
|
<string name="passkeys_missing_signature_app_ask_message">%1$s nie został rozpoznany i próbuje uwierzytelnić się przy użyciu istniejącego klucza dostępu.</string>
|
||||||
|
<string name="passkeys_missing_signature_app_ask_question">Dodać podpis aplikacji do wpisu klucza dostępu?</string>
|
||||||
|
<string name="passkeys_auto_select_title">Wybór automatyczny</string>
|
||||||
|
<string name="passkeys_auto_select_summary">Wybierz automatycznie, jeśli otwarty jest tylko jeden wpis i baza danych, a także tylko wtedy, gdy żądająca aplikacja jest zgodna</string>
|
||||||
|
<string name="passkeys_backup_eligibility_title">Uprawnienia do tworzenia kopii zapasowych</string>
|
||||||
|
<string name="passkeys_backup_eligibility_summary">Określ w momencie tworzenia, czy można wykonać kopię zapasową źródła poświadczeń klucza publicznego</string>
|
||||||
|
<string name="passkeys_backup_state_title">Stan kopii zapasowej</string>
|
||||||
|
<string name="passkeys_backup_state_summary">Oznaczaj, że dane uwierzytelniające są tworzone w kopii zapasowej i chronione przed utratą na pojedynczym urządzeniu</string>
|
||||||
|
<string name="credential_provider_service_subtitle">Dostawca poświadczeń automatycznego wypełniania, kluczy dostępu</string>
|
||||||
|
<string name="passkey">Klucz dostępu</string>
|
||||||
|
<string name="passkey_service_name">Dostawca poświadczeń KeePassDX</string>
|
||||||
|
<string name="passkey_creation_description">Zapisz klucz dostępu w nowym wpisie</string>
|
||||||
|
<string name="passkey_update_description">Zaktualizuj klucz dostępu w %1$s</string>
|
||||||
|
<string name="passkey_selection_username">Nie znaleziono klucza dostępu</string>
|
||||||
|
<string name="passkey_selection_description">Wybierz istniejący klucz dostępu</string>
|
||||||
|
<string name="passkey_database_username">Baza danych KeePassDX</string>
|
||||||
|
<string name="passkey_locked_database_description">Wybierz, aby odblokować</string>
|
||||||
|
<string name="passkey_username">Nazwa użytkownika klucza dostępu</string>
|
||||||
|
<string name="passkey_private_key">Klucz prywatny klucza dostępu</string>
|
||||||
|
<string name="passkey_credential_id">Identyfikator poświadczenia klucza dostępu</string>
|
||||||
|
<string name="passkey_user_handle">Identyfikator użytkownika klucza dostępu</string>
|
||||||
|
<string name="passkey_relying_party">Strona ufająca kluczu dostępu</string>
|
||||||
|
<string name="passkey_backup_eligibility">Uprawnienie do utworzenia kopii zapasowej klucza dostępu</string>
|
||||||
|
<string name="passkey_backup_state">Stan kopii zapasowej klucza dostępu</string>
|
||||||
|
<string name="error_passkey_result">Nie można zwrócić klucza dostępu</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
@@ -19,7 +19,7 @@
|
|||||||
--><resources>
|
--><resources>
|
||||||
<string name="feedback">Comentários</string>
|
<string name="feedback">Comentários</string>
|
||||||
<string name="homepage">Página inicial</string>
|
<string name="homepage">Página inicial</string>
|
||||||
<string name="about_description">Implementação para Android do gerenciador de senhas KeePass</string>
|
<string name="about_description">Implementação do gerenciador de senhas KeePass no Android.</string>
|
||||||
<string name="accept">Aceitar</string>
|
<string name="accept">Aceitar</string>
|
||||||
<string name="add_entry">Adicionar entrada</string>
|
<string name="add_entry">Adicionar entrada</string>
|
||||||
<string name="add_group">Adicionar grupo</string>
|
<string name="add_group">Adicionar grupo</string>
|
||||||
@@ -29,7 +29,7 @@
|
|||||||
<string name="application">Aplicativo</string>
|
<string name="application">Aplicativo</string>
|
||||||
<string name="menu_app_settings">Configurações do aplicativo</string>
|
<string name="menu_app_settings">Configurações do aplicativo</string>
|
||||||
<string name="brackets">Parênteses</string>
|
<string name="brackets">Parênteses</string>
|
||||||
<string name="file_manager_install_description">Um gerenciador de arquivos que aceita a ação Intenção ACTION_CREATE_DOCUMENT e ACTION_OPEN_DOCUMENT é necessário para criar, abrir e salvar arquivos de banco de dados.</string>
|
<string name="file_manager_install_description">Um gerenciador de arquivos que aceita a ação de intenção ACTION_CREATE_DOCUMENT e ACTION_OPEN_DOCUMENT é necessário para criar, abrir e salvar arquivos de banco de dados.</string>
|
||||||
<string name="clipboard_cleared">Área de transferência limpa</string>
|
<string name="clipboard_cleared">Área de transferência limpa</string>
|
||||||
<string name="clipboard_timeout">Tempo limite para a área de transferência</string>
|
<string name="clipboard_timeout">Tempo limite para a área de transferência</string>
|
||||||
<string name="clipboard_timeout_summary">Duração do armazenamento na área de transferência (se suportado pelo seu dispositivo)</string>
|
<string name="clipboard_timeout_summary">Duração do armazenamento na área de transferência (se suportado pelo seu dispositivo)</string>
|
||||||
@@ -180,7 +180,7 @@
|
|||||||
<string name="autofill">Preenchimento automático</string>
|
<string name="autofill">Preenchimento automático</string>
|
||||||
<string name="autofill_sign_in_prompt">Entre com o KeePassDX</string>
|
<string name="autofill_sign_in_prompt">Entre com o KeePassDX</string>
|
||||||
<string name="set_credential_provider_service_title">Definir serviço padrão de preenchimento automático</string>
|
<string name="set_credential_provider_service_title">Definir serviço padrão de preenchimento automático</string>
|
||||||
<string name="autofill_explanation_summary">Habilite o serviço para rapidamente preencher formulários em outros aplicativos</string>
|
<string name="autofill_explanation_summary">Configure o serviço para rapidamente preencher formulários em outros aplicativos</string>
|
||||||
<string name="password_size_title">Comprimento da senha gerada</string>
|
<string name="password_size_title">Comprimento da senha gerada</string>
|
||||||
<string name="password_size_summary">Define o tamanho padrão para senhas geradas</string>
|
<string name="password_size_summary">Define o tamanho padrão para senhas geradas</string>
|
||||||
<string name="list_password_generator_options_title">Caracteres da senha</string>
|
<string name="list_password_generator_options_title">Caracteres da senha</string>
|
||||||
@@ -303,7 +303,7 @@
|
|||||||
<string name="selection_mode">Modo seleção</string>
|
<string name="selection_mode">Modo seleção</string>
|
||||||
<string name="do_not_kill_app">Não feche o aplicativo…</string>
|
<string name="do_not_kill_app">Não feche o aplicativo…</string>
|
||||||
<string name="lock_database_back_root_title">Pressionar \'Voltar\' para bloquear</string>
|
<string name="lock_database_back_root_title">Pressionar \'Voltar\' para bloquear</string>
|
||||||
<string name="lock_database_back_root_summary">Tranca o banco de dados quando o usuário pressiona o botão \"Voltar\" na tela inicial</string>
|
<string name="lock_database_back_root_summary">Pressione \'Voltar\' para bloquear o banco de dados se você estiver na tela principal do banco de dados</string>
|
||||||
<string name="clear_clipboard_notification_title">Limpar ao fechar</string>
|
<string name="clear_clipboard_notification_title">Limpar ao fechar</string>
|
||||||
<string name="clear_clipboard_notification_summary">Bloquear o banco de dados quando a duração da área de transferência expirar ou a notificação for fechada depois do início do uso</string>
|
<string name="clear_clipboard_notification_summary">Bloquear o banco de dados quando a duração da área de transferência expirar ou a notificação for fechada depois do início do uso</string>
|
||||||
<string name="recycle_bin">Lixeira</string>
|
<string name="recycle_bin">Lixeira</string>
|
||||||
@@ -330,7 +330,7 @@
|
|||||||
<string name="content_description_password_checkbox">Caixa de seleção da senha</string>
|
<string name="content_description_password_checkbox">Caixa de seleção da senha</string>
|
||||||
<string name="content_description_keyfile_checkbox">Caixa de seleção do arquivo-chave</string>
|
<string name="content_description_keyfile_checkbox">Caixa de seleção do arquivo-chave</string>
|
||||||
<string name="content_description_repeat_toggle_password_visibility">Repetir mudança de visibilidade da senha</string>
|
<string name="content_description_repeat_toggle_password_visibility">Repetir mudança de visibilidade da senha</string>
|
||||||
<string name="content_description_background">Plano de fundo</string>
|
<string name="content_description_background">Segundo plano</string>
|
||||||
<string name="content_description_update_from_list">Atualizar</string>
|
<string name="content_description_update_from_list">Atualizar</string>
|
||||||
<string name="content_description_keyboard_close_fields">Campos fechados</string>
|
<string name="content_description_keyboard_close_fields">Campos fechados</string>
|
||||||
<string name="error_create_database_file">Impossibilitado de criar um banco de dados com essa senha e arquivo-chave.</string>
|
<string name="error_create_database_file">Impossibilitado de criar um banco de dados com essa senha e arquivo-chave.</string>
|
||||||
@@ -473,7 +473,7 @@
|
|||||||
<string name="error_database_uri_null">O URI do banco de dados não pode ser recuperado.</string>
|
<string name="error_database_uri_null">O URI do banco de dados não pode ser recuperado.</string>
|
||||||
<string name="error_field_name_already_exists">O nome do campo já existe.</string>
|
<string name="error_field_name_already_exists">O nome do campo já existe.</string>
|
||||||
<string name="error_registration_read_only">Não é permitido salvar um novo item em um banco de dados somente de leitura.</string>
|
<string name="error_registration_read_only">Não é permitido salvar um novo item em um banco de dados somente de leitura.</string>
|
||||||
<string name="error_otp_type">O tipo de OTP existente não é reconhecido por este formulário, sua validação pode não gerar mais o token corretamente.</string>
|
<string name="error_otp_type">O tipo de OTP existente não é reconhecido por este formulário, e sua validação pode não gerar mais o token corretamente.</string>
|
||||||
<string name="error_word_reserved">Esta palavra é reservada e não pode ser usada.</string>
|
<string name="error_word_reserved">Esta palavra é reservada e não pode ser usada.</string>
|
||||||
<string name="version">Versão</string>
|
<string name="version">Versão</string>
|
||||||
<string name="template">Modelo</string>
|
<string name="template">Modelo</string>
|
||||||
@@ -663,7 +663,7 @@
|
|||||||
<string name="auto_type">Digitação automática</string>
|
<string name="auto_type">Digitação automática</string>
|
||||||
<string name="content_description_hardware_key_checkbox">Caixa de verificação da chave física</string>
|
<string name="content_description_hardware_key_checkbox">Caixa de verificação da chave física</string>
|
||||||
<string name="merge_success">Merge concluído com sucesso</string>
|
<string name="merge_success">Merge concluído com sucesso</string>
|
||||||
<string name="info">Info</string>
|
<string name="info">Informação</string>
|
||||||
<string name="menu_device_unlock_settings_summary">Biometria, credencial do dispositivo</string>
|
<string name="menu_device_unlock_settings_summary">Biometria, credencial do dispositivo</string>
|
||||||
<string name="menu_database_settings_summary">Metadados, lixeira, modelos, histórico</string>
|
<string name="menu_database_settings_summary">Metadados, lixeira, modelos, histórico</string>
|
||||||
<string name="menu_security_settings_summary">Criptografia, função de derivação chave</string>
|
<string name="menu_security_settings_summary">Criptografia, função de derivação chave</string>
|
||||||
@@ -673,7 +673,7 @@
|
|||||||
<string name="ask">Perguntar</string>
|
<string name="ask">Perguntar</string>
|
||||||
<string name="configure">Configurar</string>
|
<string name="configure">Configurar</string>
|
||||||
<string name="unlock_and_link_biometric">Link de desbloqueio do dispositivo</string>
|
<string name="unlock_and_link_biometric">Link de desbloqueio do dispositivo</string>
|
||||||
<string name="menu_appearance_settings_summary">Temas, cores, atributos</string>
|
<string name="menu_appearance_settings_summary">Temas, cores, ícones, fontes, atributos</string>
|
||||||
<string name="unlock">Desbloquear</string>
|
<string name="unlock">Desbloquear</string>
|
||||||
<string name="education_validate_entry_title">Validar a entrada</string>
|
<string name="education_validate_entry_title">Validar a entrada</string>
|
||||||
<string name="menu_app_settings_summary">Pesquisar, bloquear, histórico, propriedades</string>
|
<string name="menu_app_settings_summary">Pesquisar, bloquear, histórico, propriedades</string>
|
||||||
@@ -703,4 +703,46 @@
|
|||||||
<string name="warning_large_keyfile">Não é recomendável adicionar um arquivo-chave grande, pois isso pode impedir a abertura do banco de dados.</string>
|
<string name="warning_large_keyfile">Não é recomendável adicionar um arquivo-chave grande, pois isso pode impedir a abertura do banco de dados.</string>
|
||||||
<string name="hide_templates_title">Ocultar modelos</string>
|
<string name="hide_templates_title">Ocultar modelos</string>
|
||||||
<string name="hide_templates_summary">Os modelos não são exibidos</string>
|
<string name="hide_templates_summary">Os modelos não são exibidos</string>
|
||||||
|
<string name="entry_application_id">Id do App</string>
|
||||||
|
<string name="error_otp_secret_length">Chave secreta deve ter pelo menos %1$d caracteres.</string>
|
||||||
|
<string name="warning_overwrite_data_title">Sobrescrever dados existentes?</string>
|
||||||
|
<string name="warning_overwrite_data_description">Esta ação irá substituir os dados existentes na entrada, você pode recuperar os dados antigos se o histórico estiver habilitado.</string>
|
||||||
|
<string name="credential_provider">Provedor de credencial</string>
|
||||||
|
<string name="passkeys_privileged_apps_summary">Gerencie navegadores na lista customizada de aplicações privilegiadas</string>
|
||||||
|
<string name="passkeys_privileged_apps_explanation">AVISO: Um aplicativo privilegiado age como portão para obter a origem de uma autenticação. Certifique sua legitimidade para evitar problemas de segurança.</string>
|
||||||
|
<string name="passkeys_privileged_apps_ask_title">App não reconhecido</string>
|
||||||
|
<string name="passkeys_privileged_apps_ask_message">%1$s tenta fazer uma ação de Passkey.\n\nAdicionar à lista de aplicativos privilegiados?</string>
|
||||||
|
<string name="passkeys_missing_signature_app_ask_title">Assinatura faltando</string>
|
||||||
|
<string name="passkeys_missing_signature_app_ask_explanation">AVISO: A chave de acesso foi criada a partir de outro cliente ou a assinatura foi excluída. Certifique-se de que o aplicativo que você deseja autenticar faz parte do mesmo serviço e é legítimo para evitar problemas de segurança.\nSe o aplicativo for um navegador, não adicione sua assinatura à entrada, mas à lista de aplicativos privilegiados nas configurações.</string>
|
||||||
|
<string name="passkeys_missing_signature_app_ask_message">%1$s não é reconhecido e tenta autenticar com uma Passkey existente.</string>
|
||||||
|
<string name="passkeys_missing_signature_app_ask_question">Adicionar a assinatura do aplicativo à entrada de chave de acesso?</string>
|
||||||
|
<string name="passkeys_auto_select_title">Auto selecionar</string>
|
||||||
|
<string name="passkeys_auto_select_summary">Selecionar automaticamente se houver apenas uma entrada e o banco de dados estiver aberto, apenas se o aplicativo solicitante for compatível</string>
|
||||||
|
<string name="passkeys_backup_eligibility_title">Elegibilidade de Backup</string>
|
||||||
|
<string name="passkeys_backup_eligibility_summary">Determine no tempo de criação se é permitido que seja feito o backup da fonte da credencial de chaves públicas</string>
|
||||||
|
<string name="passkeys_backup_state_title">Estado do Backup</string>
|
||||||
|
<string name="passkey">Chave de acesso</string>
|
||||||
|
<string name="passkey_service_name">Provedor de Credenciais KeePassDX</string>
|
||||||
|
<string name="passkeys">Chaves de acesso</string>
|
||||||
|
<string name="passkeys_explanation_summary">Configure Chaves de Acesso para um login rápido e seguro sem senha</string>
|
||||||
|
<string name="passkeys_preference_title">Configurações de chaves de acesso</string>
|
||||||
|
<string name="passkeys_close_database_title">Fechar banco de dados</string>
|
||||||
|
<string name="passkeys_close_database_summary">Fechar o banco de dados após selecionar uma chave de acesso</string>
|
||||||
|
<string name="passkeys_privileged_apps_title">Aplicativos privilegiados</string>
|
||||||
|
<string name="passkeys_backup_state_summary">Indica quando as credenciais estiverem armazenadas e protegidas contra a perda de um dispositivo</string>
|
||||||
|
<string name="credential_provider_service_subtitle">Chaves de acesso, preenchimento automático provedor de credenciais</string>
|
||||||
|
<string name="passkey_creation_description">Salvar chave de acesso na nova entrada</string>
|
||||||
|
<string name="passkey_update_description">Atualizar chave de acesso em %1$s</string>
|
||||||
|
<string name="passkey_selection_username">Nenhuma chave de acesso encontrada</string>
|
||||||
|
<string name="passkey_selection_description">Selecione uma chave de acesso existente</string>
|
||||||
|
<string name="passkey_database_username">Banco de dados KeePassDX</string>
|
||||||
|
<string name="passkey_locked_database_description">Selecione para desbloquear</string>
|
||||||
|
<string name="passkey_username">Nome da chave de acesso</string>
|
||||||
|
<string name="passkey_private_key">Chavde de acesso privada</string>
|
||||||
|
<string name="passkey_credential_id">ID de credencial de chave de acesso</string>
|
||||||
|
<string name="passkey_user_handle">Nome de usuário da chave de acesso</string>
|
||||||
|
<string name="passkey_backup_eligibility">Elegibilidade para Backup de chave de acesso</string>
|
||||||
|
<string name="passkey_backup_state">Status de backup da chave de acesso</string>
|
||||||
|
<string name="error_passkey_result">Incapaz de retornar a chave de acesso</string>
|
||||||
|
<string name="passkey_relying_party">Chave de acesso com autenticador externo</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
@@ -546,7 +546,7 @@
|
|||||||
<string name="error_import_app_properties">Eroare în timpul importării setărilor aplicației.</string>
|
<string name="error_import_app_properties">Eroare în timpul importării setărilor aplicației.</string>
|
||||||
<string name="warning_exact_alarm">Nu ați permis aplicației să utilizeze o alarmă exactă. Ca urmare, funcțiile care necesită un cronometru nu se vor face cu o oră exactă.</string>
|
<string name="warning_exact_alarm">Nu ați permis aplicației să utilizeze o alarmă exactă. Ca urmare, funcțiile care necesită un cronometru nu se vor face cu o oră exactă.</string>
|
||||||
<string name="warning_database_info_reloaded">Reîncărcarea bazei de date va șterge datele modificate local.</string>
|
<string name="warning_database_info_reloaded">Reîncărcarea bazei de date va șterge datele modificate local.</string>
|
||||||
<string name="menu_appearance_settings_summary">Teme, culori, atribute</string>
|
<string name="menu_appearance_settings_summary">Teme, culori, incoane, fonturi, atribute.</string>
|
||||||
<string name="autofill_preference_title">Setări de autocompletare</string>
|
<string name="autofill_preference_title">Setări de autocompletare</string>
|
||||||
<string name="warning_replace_file">Încărcarea acestui fișier îl va înlocui pe cel existent.</string>
|
<string name="warning_replace_file">Încărcarea acestui fișier îl va înlocui pe cel existent.</string>
|
||||||
<string name="content">Conținut</string>
|
<string name="content">Conținut</string>
|
||||||
@@ -698,4 +698,17 @@
|
|||||||
<string name="hide_templates_title">Ascundeți șabloanele</string>
|
<string name="hide_templates_title">Ascundeți șabloanele</string>
|
||||||
<string name="hide_templates_summary">Șabloanele nu sunt afișate</string>
|
<string name="hide_templates_summary">Șabloanele nu sunt afișate</string>
|
||||||
<string name="error_otp_secret_length">Cheia secretă trebuie să conțină cel puțin %1$d caractere.</string>
|
<string name="error_otp_secret_length">Cheia secretă trebuie să conțină cel puțin %1$d caractere.</string>
|
||||||
|
<string name="entry_application_id">ID-ul Aplicației</string>
|
||||||
|
<string name="warning_overwrite_data_title">Suprascrii datele existente?</string>
|
||||||
|
<string name="warning_overwrite_data_description">Această acțiune va înlocui datele existente din intrare, puteți recupera datele vechi dacă istoricul este activat.</string>
|
||||||
|
<string name="credential_provider">Credențialele furnizorului</string>
|
||||||
|
<string name="passkeys_privileged_apps_title">Aplicații privilegiate</string>
|
||||||
|
<string name="passkeys_privileged_apps_summary">Gestionați browserele din lista personalizată de aplicații privilegiate</string>
|
||||||
|
<string name="passkeys_privileged_apps_explanation">AVERTISMENT: O aplicație privilegiată acționează ca o poartă de acces pentru a determina originea unei autentificări. Asigurați-vă că este legitimă pentru a evita probleme de securitate.</string>
|
||||||
|
<string name="passkeys_privileged_apps_ask_title">Aplicație nerecunoscută</string>
|
||||||
|
<string name="passkeys_missing_signature_app_ask_title">Lipsește semnătura</string>
|
||||||
|
<string name="passkeys_auto_select_title">Selectare automată</string>
|
||||||
|
<string name="passkeys_auto_select_summary">Selectare automată dacă există o singură intrare și baza de date este deschisă, doar dacă aplicația solicitantă este compatibilă</string>
|
||||||
|
<string name="passkeys_backup_eligibility_title">Eligibilitate pentru copia de siguranță</string>
|
||||||
|
<string name="passkey_locked_database_description">Selectează ca să deblochezi</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
@@ -181,9 +181,9 @@
|
|||||||
<string name="menu_appearance_settings">Внешний вид</string>
|
<string name="menu_appearance_settings">Внешний вид</string>
|
||||||
<string name="general">Общие</string>
|
<string name="general">Общие</string>
|
||||||
<string name="autofill">Автозаполнение</string>
|
<string name="autofill">Автозаполнение</string>
|
||||||
<string name="autofill_sign_in_prompt">Войти с помощью KeePassDX</string>
|
<string name="autofill_sign_in_prompt">Войти с KeePassDX</string>
|
||||||
<string name="autofill_explanation_summary">Включите службу для быстрого заполнения форм в других приложениях</string>
|
<string name="autofill_explanation_summary">Настройте службу для быстрого заполнения форм в других приложениях</string>
|
||||||
<string name="set_credential_provider_service_title">Использовать службу автозаполнения</string>
|
<string name="set_credential_provider_service_title">Служба автозаполнения</string>
|
||||||
<string name="password_size_title">Длина создаваемого пароля</string>
|
<string name="password_size_title">Длина создаваемого пароля</string>
|
||||||
<string name="password_size_summary">Настройка длины создаваемых паролей по умолчанию</string>
|
<string name="password_size_summary">Настройка длины создаваемых паролей по умолчанию</string>
|
||||||
<string name="list_password_generator_options_title">Символы пароля</string>
|
<string name="list_password_generator_options_title">Символы пароля</string>
|
||||||
@@ -300,7 +300,7 @@
|
|||||||
<string name="keyboard_key_sound_title">Звук при нажатии</string>
|
<string name="keyboard_key_sound_title">Звук при нажатии</string>
|
||||||
<string name="do_not_kill_app">Не закрывайте приложение…</string>
|
<string name="do_not_kill_app">Не закрывайте приложение…</string>
|
||||||
<string name="lock_database_back_root_title">Блокировка нажатием \"Назад\"</string>
|
<string name="lock_database_back_root_title">Блокировка нажатием \"Назад\"</string>
|
||||||
<string name="lock_database_back_root_summary">Блокировка базы нажатием кнопки \"Назад\" на начальном экране</string>
|
<string name="lock_database_back_root_summary">Блокировка базы нажатием кнопки \"Назад\", если открыт её корневой раздел</string>
|
||||||
<string name="clear_clipboard_notification_title">Очищать при закрытии</string>
|
<string name="clear_clipboard_notification_title">Очищать при закрытии</string>
|
||||||
<string name="clear_clipboard_notification_summary">Блокировать базу при закрытии уведомления после использования или истечения времени ожидания</string>
|
<string name="clear_clipboard_notification_summary">Блокировать базу при закрытии уведомления после использования или истечения времени ожидания</string>
|
||||||
<string name="recycle_bin">Корзина</string>
|
<string name="recycle_bin">Корзина</string>
|
||||||
@@ -475,7 +475,7 @@
|
|||||||
<string name="autofill_ask_to_save_data_summary">Запрашивать сохранение данных после завершения заполнения формы</string>
|
<string name="autofill_ask_to_save_data_summary">Запрашивать сохранение данных после завершения заполнения формы</string>
|
||||||
<string name="autofill_ask_to_save_data_title">Запрос сохранения данных</string>
|
<string name="autofill_ask_to_save_data_title">Запрос сохранения данных</string>
|
||||||
<string name="autofill_close_database_summary">Закрывать базу после выбора автозаполнения</string>
|
<string name="autofill_close_database_summary">Закрывать базу после выбора автозаполнения</string>
|
||||||
<string name="autofill_close_database_title">Закрыть базу</string>
|
<string name="autofill_close_database_title">Закрывать базу</string>
|
||||||
<string name="notification">Уведомление</string>
|
<string name="notification">Уведомление</string>
|
||||||
<string name="biometric_security_update_required">Требуется обновление биометрической системы безопасности.</string>
|
<string name="biometric_security_update_required">Требуется обновление биометрической системы безопасности.</string>
|
||||||
<string name="warning_empty_recycle_bin">Удалить всё содержимое корзины безвозвратно\?</string>
|
<string name="warning_empty_recycle_bin">Удалить всё содержимое корзины безвозвратно\?</string>
|
||||||
@@ -519,7 +519,7 @@
|
|||||||
<string name="warning_database_info_changed_options">Объединить данные, перезаписав внешние изменения, или перезагрузить её с последними изменениями.</string>
|
<string name="warning_database_info_changed_options">Объединить данные, перезаписав внешние изменения, или перезагрузить её с последними изменениями.</string>
|
||||||
<string name="warning_database_info_changed">Информация, содержащаяся в файле базы, была изменена вне этого приложения.</string>
|
<string name="warning_database_info_changed">Информация, содержащаяся в файле базы, была изменена вне этого приложения.</string>
|
||||||
<string name="menu_reload_database">Перезагрузить данные</string>
|
<string name="menu_reload_database">Перезагрузить данные</string>
|
||||||
<string name="error_otp_type">Существующий тип OTP не распознаётся данной формой, его проверка больше не может корректно генерировать токен.</string>
|
<string name="error_otp_type">Существующий тип OTP не распознаётся данной формой и его проверка больше не может корректно генерировать токен.</string>
|
||||||
<string name="unit_gibibyte">ГиБ</string>
|
<string name="unit_gibibyte">ГиБ</string>
|
||||||
<string name="unit_mebibyte">МиБ</string>
|
<string name="unit_mebibyte">МиБ</string>
|
||||||
<string name="unit_kibibyte">КиБ</string>
|
<string name="unit_kibibyte">КиБ</string>
|
||||||
@@ -585,7 +585,7 @@
|
|||||||
<string name="show_otp_token_summary">Показывать токены OTP в списке записей</string>
|
<string name="show_otp_token_summary">Показывать токены OTP в списке записей</string>
|
||||||
<string name="menu_external_icon">Внешний значок</string>
|
<string name="menu_external_icon">Внешний значок</string>
|
||||||
<string name="autofill_select_entry">Выбор записи…</string>
|
<string name="autofill_select_entry">Выбор записи…</string>
|
||||||
<string name="autofill_manual_selection_summary">Показывать функцию, позволяющую пользователю вручную выбирать запись из базы</string>
|
<string name="autofill_manual_selection_summary">Показывать элемент управления для ручного выбора пользователем записи из базы</string>
|
||||||
<string name="autofill_manual_selection_title">Ручной выбор</string>
|
<string name="autofill_manual_selection_title">Ручной выбор</string>
|
||||||
<string name="hint_icon_name">Название значка</string>
|
<string name="hint_icon_name">Название значка</string>
|
||||||
<string name="permission">Разрешение</string>
|
<string name="permission">Разрешение</string>
|
||||||
@@ -677,7 +677,7 @@
|
|||||||
<string name="info">Информация</string>
|
<string name="info">Информация</string>
|
||||||
<string name="master_key_settings_summary">Изменение, обновление</string>
|
<string name="master_key_settings_summary">Изменение, обновление</string>
|
||||||
<string name="warning_copy_permission">Разрешение необходимо для использования функции уведомления буфера обмена.</string>
|
<string name="warning_copy_permission">Разрешение необходимо для использования функции уведомления буфера обмена.</string>
|
||||||
<string name="menu_appearance_settings_summary">Темы, цвета, атрибуты</string>
|
<string name="menu_appearance_settings_summary">Темы, цвета, значки, шрифты, атрибуты</string>
|
||||||
<string name="configure">Настройка</string>
|
<string name="configure">Настройка</string>
|
||||||
<string name="education_validate_entry_title">Проверка записи</string>
|
<string name="education_validate_entry_title">Проверка записи</string>
|
||||||
<string name="unlock_and_link_biometric">Настройка разблокировки устройства</string>
|
<string name="unlock_and_link_biometric">Настройка разблокировки устройства</string>
|
||||||
@@ -704,4 +704,45 @@
|
|||||||
<string name="hide_templates_title">Скрывать шаблоны</string>
|
<string name="hide_templates_title">Скрывать шаблоны</string>
|
||||||
<string name="hide_templates_summary">Не показывать шаблоны</string>
|
<string name="hide_templates_summary">Не показывать шаблоны</string>
|
||||||
<string name="error_otp_secret_length">Секретный ключ должен содержать не менее %1$d символов.</string>
|
<string name="error_otp_secret_length">Секретный ключ должен содержать не менее %1$d символов.</string>
|
||||||
|
<string name="entry_application_id">ID приложения</string>
|
||||||
|
<string name="warning_overwrite_data_title">Перезаписать существующие данные?</string>
|
||||||
|
<string name="warning_overwrite_data_description">Будут заменены существующие данные в записи. Если включена история, там могут оказаться старые данные.</string>
|
||||||
|
<string name="credential_provider">Поставщик учётных данных</string>
|
||||||
|
<string name="passkeys_explanation_summary">Настройка ключей доступа для быстрого и безопасного входа без ввода пароля</string>
|
||||||
|
<string name="passkeys">Ключи доступа</string>
|
||||||
|
<string name="passkeys_preference_title">Настройки ключей доступа</string>
|
||||||
|
<string name="passkeys_close_database_title">Закрыть базу</string>
|
||||||
|
<string name="passkeys_close_database_summary">Закрыть базу после выбора ключа доступа</string>
|
||||||
|
<string name="passkeys_privileged_apps_title">Привилегированные приложения</string>
|
||||||
|
<string name="passkeys_privileged_apps_summary">Управление пользовательским списком привилегированных приложений</string>
|
||||||
|
<string name="passkeys_privileged_apps_explanation">ВНИМАНИЕ: привилегированное приложение действует как шлюз для получения информации о происхождении аутентификации. Убедитесь в его легитимности, чтобы избежать проблем с безопасностью.</string>
|
||||||
|
<string name="passkeys_privileged_apps_ask_title">Приложение не распознано</string>
|
||||||
|
<string name="passkeys_privileged_apps_ask_message">%1$s пытается взаимодействовать с ключом доступа.\n\nДобавить его в список привилегированных приложений?</string>
|
||||||
|
<string name="passkeys_missing_signature_app_ask_title">Отсутствует подпись</string>
|
||||||
|
<string name="passkeys_missing_signature_app_ask_explanation">ВНИМАНИЕ: ключ доступа был создан в другом клиенте или подпись была удалена. Убедитесь, что приложение, которое вы хотите аутентифицировать, является частью той же службы и является легитимным, чтобы избежать проблем с безопасностью.\nЕсли приложение является браузером, добавьте его в список привилегированных приложений в настройках, но не добавляйте его подпись к записи ключа доступа.</string>
|
||||||
|
<string name="passkeys_missing_signature_app_ask_message">%1$s не распознано и пытается пройти аутентификацию с помощью существующего ключа доступа.</string>
|
||||||
|
<string name="passkeys_missing_signature_app_ask_question">Добавить подпись приложения к записи ключа доступа?</string>
|
||||||
|
<string name="passkeys_auto_select_title">Автовыбор</string>
|
||||||
|
<string name="passkeys_auto_select_summary">Автоматический выбор, если открыта одна запись в единственной отрытой базе и при условии совместимости запрашивающего приложения</string>
|
||||||
|
<string name="passkeys_backup_eligibility_title">Возможность резервирования</string>
|
||||||
|
<string name="passkeys_backup_eligibility_summary">Настройка разрешения резервного копирования источника учётных данных открытого ключа при создании</string>
|
||||||
|
<string name="passkeys_backup_state_title">Статус резервирования</string>
|
||||||
|
<string name="passkeys_backup_state_summary">Указывает, резервируются ли учётные данные и защищены ли они от потери одного устройства</string>
|
||||||
|
<string name="credential_provider_service_subtitle">Ключи доступа, поставщик учётных данных для автозаполнения</string>
|
||||||
|
<string name="passkey">Ключ доступа</string>
|
||||||
|
<string name="passkey_service_name">Поставщик учётных данных KeePassDX</string>
|
||||||
|
<string name="passkey_creation_description">Сохранить ключ доступа в новой записи</string>
|
||||||
|
<string name="passkey_update_description">Обновить ключ доступа в %1$s</string>
|
||||||
|
<string name="passkey_selection_username">Ключ доступа не найден</string>
|
||||||
|
<string name="passkey_selection_description">Выберите существующий ключ доступа</string>
|
||||||
|
<string name="passkey_database_username">База KeePassDX</string>
|
||||||
|
<string name="passkey_locked_database_description">Выберите для разблокировки</string>
|
||||||
|
<string name="passkey_username">Пользователь ключа доступа</string>
|
||||||
|
<string name="passkey_private_key">Закрытый ключ доступа</string>
|
||||||
|
<string name="passkey_credential_id">ID учётных данных ключа доступа</string>
|
||||||
|
<string name="passkey_user_handle">Идентификатор пользователя ключа доступа</string>
|
||||||
|
<string name="passkey_relying_party">Доверяющая сторона ключа доступа</string>
|
||||||
|
<string name="passkey_backup_eligibility">Возможность резервирования ключа доступа</string>
|
||||||
|
<string name="passkey_backup_state">Статус резервирования ключа доступа</string>
|
||||||
|
<string name="error_passkey_result">Невозможно вернуть ключ доступа</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
@@ -345,7 +345,7 @@
|
|||||||
<string name="error_XML_malformed">XML e keqformuar.</string>
|
<string name="error_XML_malformed">XML e keqformuar.</string>
|
||||||
<string name="autofill_block">Blloko vetëplotësim</string>
|
<string name="autofill_block">Blloko vetëplotësim</string>
|
||||||
<string name="allow_no_password_summary">Lejon prekjen e butoni “Hape”, nëse s’janë përzgjedhur kredenciale</string>
|
<string name="allow_no_password_summary">Lejon prekjen e butoni “Hape”, nëse s’janë përzgjedhur kredenciale</string>
|
||||||
<string name="about_description">Sendërtim për Android i përgjegjësit KeePass të fjalëkalimeve</string>
|
<string name="about_description">Sendërtim për Android i përgjegjësit KeePass të fjalëkalimeve.</string>
|
||||||
<string name="auto_focus_search_summary">Kërko një kërkim, kur hapet një bazë të dhënash</string>
|
<string name="auto_focus_search_summary">Kërko një kërkim, kur hapet një bazë të dhënash</string>
|
||||||
<string name="warning_replace_file">Ngarkimi i kësaj kartele do të zëvendësojë atë ekzistuesen.</string>
|
<string name="warning_replace_file">Ngarkimi i kësaj kartele do të zëvendësojë atë ekzistuesen.</string>
|
||||||
<string name="autofill">Vetëplotësoje</string>
|
<string name="autofill">Vetëplotësoje</string>
|
||||||
@@ -364,7 +364,7 @@
|
|||||||
<string name="style_name_simple">E thjeshtë</string>
|
<string name="style_name_simple">E thjeshtë</string>
|
||||||
<string name="style_name_reply">Përgjigju</string>
|
<string name="style_name_reply">Përgjigju</string>
|
||||||
<string name="content_description_hardware_key_checkbox">Kutizë kyçi hardware</string>
|
<string name="content_description_hardware_key_checkbox">Kutizë kyçi hardware</string>
|
||||||
<string name="content_description_repeat_toggle_password_visibility"/>
|
<string name="content_description_repeat_toggle_password_visibility">Përsërit ndryshim dukshmërie fjalëkalimi</string>
|
||||||
<string name="content_description_entry_foreground_color">Ngjyrë e përparme e zërit</string>
|
<string name="content_description_entry_foreground_color">Ngjyrë e përparme e zërit</string>
|
||||||
<string name="content_description_entry_background_color">Ngjyrë sfondi e zërit</string>
|
<string name="content_description_entry_background_color">Ngjyrë sfondi e zërit</string>
|
||||||
<string name="navigation_drawer_open">Panel lëvizjesh i hapur</string>
|
<string name="navigation_drawer_open">Panel lëvizjesh i hapur</string>
|
||||||
@@ -382,14 +382,14 @@
|
|||||||
<string name="menu_form_filling_settings">Plotësim formularësh</string>
|
<string name="menu_form_filling_settings">Plotësim formularësh</string>
|
||||||
<string name="menu_open_file_read_and_write">E ndryshueshme</string>
|
<string name="menu_open_file_read_and_write">E ndryshueshme</string>
|
||||||
<string name="search_mode">Mënyra kërkim</string>
|
<string name="search_mode">Mënyra kërkim</string>
|
||||||
<string name="save_mode"/>
|
<string name="save_mode">Mënyra Kursim</string>
|
||||||
<string name="remember_keyfile_locations_summary">Ndjek se ku depozitohen kartela kyç</string>
|
<string name="remember_keyfile_locations_summary">Ndjek se ku depozitohen kartela kyç</string>
|
||||||
<string name="remember_hardware_key_title">Mbaj mend kyçe hardware</string>
|
<string name="remember_hardware_key_title">Mbaj mend kyçe hardware</string>
|
||||||
<string name="remember_hardware_key_summary">Ndjek kyçet hardware të përdorur</string>
|
<string name="remember_hardware_key_summary">Ndjek kyçet hardware të përdorur</string>
|
||||||
<string name="hide_broken_locations_summary">Fshihi lidhjen e dëmtuara te lista e bazave të të dhënave së fundi</string>
|
<string name="hide_broken_locations_summary">Fshihi lidhjen e dëmtuara te lista e bazave të të dhënave së fundi</string>
|
||||||
<string name="export_app_properties_summary">Krijoni një kartelë ku të eksportohen rregullime aplikacioni</string>
|
<string name="export_app_properties_summary">Krijoni një kartelë ku të eksportohen rregullime aplikacioni</string>
|
||||||
<string name="success_import_app_properties">Rregullimet e aplikacionit u importuan</string>
|
<string name="success_import_app_properties">Rregullimet e aplikacionit u importuan</string>
|
||||||
<string name="error_import_app_properties">Gabim gjatë importimit të rregullimeve të aplikacionit</string>
|
<string name="error_import_app_properties">Gabim gjatë importimit të rregullimeve të aplikacionit.</string>
|
||||||
<string name="success_export_app_properties">Rregullimet e aplikacionit u eksportuan</string>
|
<string name="success_export_app_properties">Rregullimet e aplikacionit u eksportuan</string>
|
||||||
<string name="encryption_explanation">Algoritëm fshehtëzimi të dhënash i përdorur për krejt të dhënat</string>
|
<string name="encryption_explanation">Algoritëm fshehtëzimi të dhënash i përdorur për krejt të dhënat</string>
|
||||||
<string name="rounds_explanation">Më tepër raunde fshehtëzimi furnizojnë mbrojtje më të madhe kundër sulmesh hyrjeje me zor, por mund të ngadalësojnë vërtet ngarkimin dhe ruajtjen e gjërave.</string>
|
<string name="rounds_explanation">Më tepër raunde fshehtëzimi furnizojnë mbrojtje më të madhe kundër sulmesh hyrjeje me zor, por mund të ngadalësojnë vërtet ngarkimin dhe ruajtjen e gjërave.</string>
|
||||||
@@ -428,7 +428,7 @@
|
|||||||
<string name="temp_device_unlock_enable_title">Shkyçje e përkohshme pajisjeje</string>
|
<string name="temp_device_unlock_enable_title">Shkyçje e përkohshme pajisjeje</string>
|
||||||
<string name="file_manager_install_description">Që të krijohen, hapen dhe ruhen kartela bazash të dhënash, lypset një përgjegjës kartelash që pranon veprime ACTION_CREATE_DOCUMENT dhe ACTION_OPEN_DOCUMENT.</string>
|
<string name="file_manager_install_description">Që të krijohen, hapen dhe ruhen kartela bazash të dhënash, lypset një përgjegjës kartelash që pranon veprime ACTION_CREATE_DOCUMENT dhe ACTION_OPEN_DOCUMENT.</string>
|
||||||
<string name="content_description_keyfile_checkbox">Kutizë për kartelë kyçi</string>
|
<string name="content_description_keyfile_checkbox">Kutizë për kartelë kyçi</string>
|
||||||
<string name="content_description_nav_header"/>
|
<string name="content_description_nav_header">Krye lëvizjesh</string>
|
||||||
<string name="navigation_drawer_close">Panel lëvizjesh i mbyllur</string>
|
<string name="navigation_drawer_close">Panel lëvizjesh i mbyllur</string>
|
||||||
<string name="searchable"/>
|
<string name="searchable"/>
|
||||||
<string name="search_filters">Filtra kërkimesh</string>
|
<string name="search_filters">Filtra kërkimesh</string>
|
||||||
@@ -476,9 +476,9 @@
|
|||||||
<string name="error_load_database_KDF_memory">S’u ngarkua dot kyçi. Provoni të ulni “Përdorim Kujtese” KDF.</string>
|
<string name="error_load_database_KDF_memory">S’u ngarkua dot kyçi. Provoni të ulni “Përdorim Kujtese” KDF.</string>
|
||||||
<string name="error_pass_gen_type">Duhet përzgjedhur të paktën një lloj prodhimi fjalëkalimi.</string>
|
<string name="error_pass_gen_type">Duhet përzgjedhur të paktën një lloj prodhimi fjalëkalimi.</string>
|
||||||
<string name="error_create_database_file">S’arrihet të krijohet bazë të dhënash me këtë fjalëkalim dhe kartelë kyç.</string>
|
<string name="error_create_database_file">S’arrihet të krijohet bazë të dhënash me këtë fjalëkalim dhe kartelë kyç.</string>
|
||||||
<string name="error_registration_read_only">Në baza të dhënash që janë vetëm-për-lexim s’lejohet ruajtja e një objekti të ri</string>
|
<string name="error_registration_read_only">Në baza të dhënash që janë vetëm-për-lexim s’lejohet ruajtja e një objekti të ri.</string>
|
||||||
<string name="error_database_uri_null">S’mund të merret URI baze të dhënash.</string>
|
<string name="error_database_uri_null">S’mund të merret URI baze të dhënash.</string>
|
||||||
<string name="error_challenge_already_requested">Sfida është kërkuar tashmë</string>
|
<string name="error_challenge_already_requested">Sfida është kërkuar tashmë.</string>
|
||||||
<string name="error_response_already_provided">Përgjigja është dhënë tashmë.</string>
|
<string name="error_response_already_provided">Përgjigja është dhënë tashmë.</string>
|
||||||
<string name="error_no_response_from_challenge">S’arrihet të merret përgjigja nga sfida.</string>
|
<string name="error_no_response_from_challenge">S’arrihet të merret përgjigja nga sfida.</string>
|
||||||
<string name="error_driver_required">Përudhësi për %1$s është i domosdoshëm.</string>
|
<string name="error_driver_required">Përudhësi për %1$s është i domosdoshëm.</string>
|
||||||
@@ -487,13 +487,13 @@
|
|||||||
<string name="menu_database_settings_summary">Tejtëdhëna, kosh ricklimesh, gjedhe, historik</string>
|
<string name="menu_database_settings_summary">Tejtëdhëna, kosh ricklimesh, gjedhe, historik</string>
|
||||||
<string name="menu_security_settings_summary">Fshehtëzim, funksion derivimi kyçesh</string>
|
<string name="menu_security_settings_summary">Fshehtëzim, funksion derivimi kyçesh</string>
|
||||||
<string name="master_key_settings_summary">Ndryshojeni, rinovim</string>
|
<string name="master_key_settings_summary">Ndryshojeni, rinovim</string>
|
||||||
<string name="menu_move"/>
|
<string name="menu_move">Lëvize</string>
|
||||||
<string name="menu_merge_database">Përzieni të dhëna</string>
|
<string name="menu_merge_database">Përzieni të dhëna</string>
|
||||||
<string name="menu_keystore_remove_key">Fshi kyç shkyçjeje pajisjeje</string>
|
<string name="menu_keystore_remove_key">Fshi kyç shkyçjeje pajisjeje</string>
|
||||||
<string name="subdomain_search_title">Kërkim nënpërkatësie</string>
|
<string name="subdomain_search_title">Kërkim nënpërkatësie</string>
|
||||||
<string name="read_only_warning">Në varësi të përgjegjësit tuaj të kartelave, KeePassDX-i mund të mos lejojë të shkruhet në depozitën tuaj.</string>
|
<string name="read_only_warning">Në varësi të përgjegjësit tuaj të kartelave, KeePassDX-i mund të mos lejojë të shkruhet në depozitën tuaj.</string>
|
||||||
<string name="remember_database_locations_summary">Ndjek se ku depozitohen bazat e të dhënave</string>
|
<string name="remember_database_locations_summary">Ndjek se ku depozitohen bazat e të dhënave</string>
|
||||||
<string name="error_export_app_properties">Gabim gjatë eksportimit të rregullimeve të aplikacionit</string>
|
<string name="error_export_app_properties">Gabim gjatë eksportimit të rregullimeve të aplikacionit.</string>
|
||||||
<string name="memory_usage_explanation">Sasi kujtese për t’u përdorur nga funksioni i derivimit të kyçeve.</string>
|
<string name="memory_usage_explanation">Sasi kujtese për t’u përdorur nga funksioni i derivimit të kyçeve.</string>
|
||||||
<string name="command_execution">Po përmbushet urdhri…</string>
|
<string name="command_execution">Po përmbushet urdhri…</string>
|
||||||
<string name="sort_ascending">Më i ulti së pari ↓</string>
|
<string name="sort_ascending">Më i ulti së pari ↓</string>
|
||||||
@@ -522,7 +522,7 @@
|
|||||||
<string name="clipboard_notifications_title">Njoftime mbi të papastrën</string>
|
<string name="clipboard_notifications_title">Njoftime mbi të papastrën</string>
|
||||||
<string name="clipboard_notifications_summary">Shfaq njoftime të papastre te fusha kopjimi, kur shihet një zë</string>
|
<string name="clipboard_notifications_summary">Shfaq njoftime të papastre te fusha kopjimi, kur shihet një zë</string>
|
||||||
<string name="lock_database_back_root_title">Shtypni “Mbrapsht”, që të kyçet</string>
|
<string name="lock_database_back_root_title">Shtypni “Mbrapsht”, që të kyçet</string>
|
||||||
<string name="lock_database_back_root_summary">Kyçe bazën e të dhënave, kur përdoruesi klikon butonin “Mbrapsht” te skena e rrënjës</string>
|
<string name="lock_database_back_root_summary">Shtypni “Mbrapsht” për kyçje të bazës së të dhënave, nëse gjendeni te skena rrënjë e bazës së të dhënave</string>
|
||||||
<string name="lock_database_show_button_summary">Bën shfaqjen të butonit të kyçjeve te ndërfaqja e përdoruesit</string>
|
<string name="lock_database_show_button_summary">Bën shfaqjen të butonit të kyçjeve te ndërfaqja e përdoruesit</string>
|
||||||
<string name="device_unlock_explanation_summary">Përdorni shkyçjen e pajisjes, për ta hapur më kollaj bazën e të dhënave</string>
|
<string name="device_unlock_explanation_summary">Përdorni shkyçjen e pajisjes, për ta hapur më kollaj bazën e të dhënave</string>
|
||||||
<string name="device_unlock_timeout">Mbarim kohe shkyçjeje pajisjeje</string>
|
<string name="device_unlock_timeout">Mbarim kohe shkyçjeje pajisjeje</string>
|
||||||
@@ -569,7 +569,7 @@
|
|||||||
<string name="icon_pack_choose_summary">Paketë ikonash të përdorura te aplikacioni</string>
|
<string name="icon_pack_choose_summary">Paketë ikonash të përdorura te aplikacioni</string>
|
||||||
<string name="hide_expired_entries_summary">Zërat e skaduar nuk shfaqen</string>
|
<string name="hide_expired_entries_summary">Zërat e skaduar nuk shfaqen</string>
|
||||||
<string name="set_credential_provider_service_title">Caktoni shërbim parazgjedhje vetëplotësimesh</string>
|
<string name="set_credential_provider_service_title">Caktoni shërbim parazgjedhje vetëplotësimesh</string>
|
||||||
<string name="autofill_explanation_summary">Aktivizoni vetëplotësimet, për të plotësuar shpejt formularë në aplikacione të tjerë</string>
|
<string name="autofill_explanation_summary">Formësoni vetëplotësimet, për të plotësuar shpejt formularë në aplikacione të tjerë</string>
|
||||||
<string name="autofill_preference_title">Rregullime vetëplotësimi</string>
|
<string name="autofill_preference_title">Rregullime vetëplotësimi</string>
|
||||||
<string name="password_size_summary">Cakton madhësinë parazgjedhje për fjalëkalimet e prodhuar</string>
|
<string name="password_size_summary">Cakton madhësinë parazgjedhje për fjalëkalimet e prodhuar</string>
|
||||||
<string name="list_password_generator_options_summary">Caktoni shenja të lejuara për prodhuesin e fjalëkalimeve</string>
|
<string name="list_password_generator_options_summary">Caktoni shenja të lejuara për prodhuesin e fjalëkalimeve</string>
|
||||||
@@ -623,14 +623,14 @@
|
|||||||
<string name="education_field_copy_summary">Ç’kopjohet te fusha, mund të ngjitet kudo.\n\nPërdorni metodën mbushje formularësh, nëse parapëlqeni.</string>
|
<string name="education_field_copy_summary">Ç’kopjohet te fusha, mund të ngjitet kudo.\n\nPërdorni metodën mbushje formularësh, nëse parapëlqeni.</string>
|
||||||
<string name="education_donation_summary">Ndihmoni të shtohet qëndrueshmëria, siguria dhe në shtimin e më tepër veçorive.</string>
|
<string name="education_donation_summary">Ndihmoni të shtohet qëndrueshmëria, siguria dhe në shtimin e më tepër veçorive.</string>
|
||||||
<string name="html_text_ad_free">Ndryshe nga shumë aplikacione administrimi fjalëkalimesh, ky është <strong>pa reklama</strong>, <strong><em>software</em> i lirë në <em>copylef</em></strong> dhe s’grumbullon të dhëna personale në shërbyesit e tij, pavarësisht versionit që përdorni.</string>
|
<string name="html_text_ad_free">Ndryshe nga shumë aplikacione administrimi fjalëkalimesh, ky është <strong>pa reklama</strong>, <strong><em>software</em> i lirë në <em>copylef</em></strong> dhe s’grumbullon të dhëna personale në shërbyesit e tij, pavarësisht versionit që përdorni.</string>
|
||||||
<string name="html_text_buy_pro">Duke blerë versionin Pro, do të mund të përdorni këtë <strong>stil pamor</strong> dhe do të ndihmoni veçanërisht në <strong>realizimin e projekteve të bashkësisë.<strong></string>
|
<string name="html_text_buy_pro">Duke blerë versionin Pro, do të mund të përdorni këtë <strong>stil pamor</strong> dhe do të ndihmoni veçanërisht në <strong>realizimin e projekteve të bashkësisë.</strong></string>
|
||||||
<string name="error_arc4">S’mbulohet shifër “Arcfour stream”.</string>
|
<string name="error_arc4">S’mbulohet shifër “Arcfour stream”.</string>
|
||||||
<string name="warning_file_too_big">Një bazë të dhënash KeePass supozohet se përmban vetëm kartela të vockla mjetesh (b.f., kartela kyçesh PGP).\n\nMe këtë ngarkim baza juaj e të dhënave mund të bëhet shumë e madhe dhe të ulet funksionimi i saj.</string>
|
<string name="warning_file_too_big">Një bazë të dhënash KeePass supozohet se përmban vetëm kartela të vockla mjetesh (b.f., kartela kyçesh PGP).\n\nMe këtë ngarkim baza juaj e të dhënave mund të bëhet shumë e madhe dhe të ulet funksionimi i saj.</string>
|
||||||
<string name="education_read_only_summary">Ndryshoni mënyrë hapjeje për këtë sesion. \n \n“Mbrojtur nga shkimi” parandalon ndryshime të paqëllimta te baza e të dhënave. \n“E ndryshueshme” ju lejon të shtoni, fshini ose ndryshoni krejt elementët, sipas dëshirës.</string>
|
<string name="education_read_only_summary">Ndryshoni mënyrë hapjeje për këtë sesion. \n \n“Mbrojtur nga shkimi” parandalon ndryshime të paqëllimta te baza e të dhënave. \n“E ndryshueshme” ju lejon të shtoni, fshini ose ndryshoni krejt elementët, sipas dëshirës.</string>
|
||||||
<string name="html_text_dev_feature_encourage">po i nxisni zhvilluesit të krijojnë <strong>veçori të reja</strong> dhe të <strong>ndreqin të meta</strong> në përputhje me sugjerimet tuaja.</string>
|
<string name="html_text_dev_feature_encourage">po i nxisni zhvilluesit të krijojnë <strong>veçori të reja</strong> dhe të <strong>ndreqin të meta</strong> në përputhje me sugjerimet tuaja.</string>
|
||||||
<string name="warning_large_keyfile">Nuk rekomandohet të shtohet një kartelë kyç e madhe, kjo mund të pengojë hapjen e bazës së të dhënave.</string>
|
<string name="warning_large_keyfile">Nuk rekomandohet të shtohet një kartelë kyç e madhe, kjo mund të pengojë hapjen e bazës së të dhënave.</string>
|
||||||
<string name="education_entry_edit_summary">Përpunojeni zërin tuaj me fusha vetjake. Pool data can be referenced between different entry fields.</string>
|
<string name="education_entry_edit_summary">Përpunojeni zërin tuaj me fusha vetjake. Pool data can be referenced between different entry fields.</string>
|
||||||
<string name="error_otp_type">Lloji OTP ekzistues s’njihet nga ky formular, vlerësimi i tij mund të mos prodhojë më saktë token-in.</string>
|
<string name="error_otp_type">Lloji OTP ekzistues s’njihet nga ky formular dhe vlerësimi i tij mund të mos prodhojë më saktë token-in.</string>
|
||||||
<string name="warning_database_read_only">Akordo hyrje për shkrim kartelash, që të ruhen ndryshimet e bazës së të dhënave</string>
|
<string name="warning_database_read_only">Akordo hyrje për shkrim kartelash, që të ruhen ndryshimet e bazës së të dhënave</string>
|
||||||
<string name="warning_database_info_changed_options">Përzieni të dhënat, mbishkruani ndryshimet që nga jashtë duke e ruajtur bazën e të dhënave, ose duke e ringarkuar me ndryshimet më të reja.</string>
|
<string name="warning_database_info_changed_options">Përzieni të dhënat, mbishkruani ndryshimet që nga jashtë duke e ruajtur bazën e të dhënave, ose duke e ringarkuar me ndryshimet më të reja.</string>
|
||||||
<string name="warning_database_revoked">Hyrja te kartela e shfuqizuar nga përgjegjësi i kartelave, mbylleni bazën e të dhënave dhe rihapeni që prej vendndodhjes së saj.</string>
|
<string name="warning_database_revoked">Hyrja te kartela e shfuqizuar nga përgjegjësi i kartelave, mbylleni bazën e të dhënave dhe rihapeni që prej vendndodhjes së saj.</string>
|
||||||
@@ -653,4 +653,5 @@
|
|||||||
<string name="education_device_unlock_summary">Lidheni fjalëkalimin tuaj me hollësi biometrike të skanuara, ose kredenciale pajisjeje, për të shkyçur shpejt bazën tuaj të dhënave.</string>
|
<string name="education_device_unlock_summary">Lidheni fjalëkalimin tuaj me hollësi biometrike të skanuara, ose kredenciale pajisjeje, për të shkyçur shpejt bazën tuaj të dhënave.</string>
|
||||||
<string name="warning_empty_password">Të vazhdohet pa mbrojtje shkyçjeje fjalëkalimesh?</string>
|
<string name="warning_empty_password">Të vazhdohet pa mbrojtje shkyçjeje fjalëkalimesh?</string>
|
||||||
<string name="device_unlock_prompt_not_initialized">S’arrihet të bëhet gati hapi i shkyçjes së pajisjes.</string>
|
<string name="device_unlock_prompt_not_initialized">S’arrihet të bëhet gati hapi i shkyçjes së pajisjes.</string>
|
||||||
|
<string name="error_otp_secret_length">Kyçi i fshehtë duhet të jetë të paktën %1$d shenja.</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
@@ -32,7 +32,7 @@
|
|||||||
<string name="application">Uygulama</string>
|
<string name="application">Uygulama</string>
|
||||||
<string name="brackets">Parantez</string>
|
<string name="brackets">Parantez</string>
|
||||||
<string name="extended_ASCII">Genişletilmiş ASCII</string>
|
<string name="extended_ASCII">Genişletilmiş ASCII</string>
|
||||||
<string name="file_manager_install_description">Veritabanı dosyalarını oluşturmak, açmak ve kaydetmek için ACTION_CREATE_DOCUMENT ve ACTION_OPEN_DOCUMENT intent eylemlerini kabul eden bir dosya yöneticisi gereklidir.</string>
|
<string name="file_manager_install_description">Veri tabanı dosyalarını oluşturmak, açmak ve kaydetmek için ACTION_CREATE_DOCUMENT ve ACTION_OPEN_DOCUMENT intent eylemlerini kabul eden bir dosya yöneticisi gereklidir.</string>
|
||||||
<string name="allow">İzin ver</string>
|
<string name="allow">İzin ver</string>
|
||||||
<string name="clipboard_cleared">Pano temizlendi</string>
|
<string name="clipboard_cleared">Pano temizlendi</string>
|
||||||
<string name="clipboard_error_title">Pano hatası</string>
|
<string name="clipboard_error_title">Pano hatası</string>
|
||||||
@@ -174,9 +174,9 @@
|
|||||||
<string name="menu_appearance_settings">Görünüm</string>
|
<string name="menu_appearance_settings">Görünüm</string>
|
||||||
<string name="general">Genel</string>
|
<string name="general">Genel</string>
|
||||||
<string name="autofill">Otomatik Doldurma</string>
|
<string name="autofill">Otomatik Doldurma</string>
|
||||||
<string name="autofill_sign_in_prompt">KeePassDX ile giriş yap</string>
|
<string name="autofill_sign_in_prompt">KeePassDX ile oturum aç</string>
|
||||||
<string name="set_credential_provider_service_title">Öntanımlı otomatik doldurma hizmetini ayarla</string>
|
<string name="set_credential_provider_service_title">Öntanımlı otomatik doldurma hizmetini ayarla</string>
|
||||||
<string name="autofill_explanation_summary">Diğer uygulamalardaki formları hızlı doldurmak için otomatik doldurmayı etkinleştirin</string>
|
<string name="autofill_explanation_summary">Diğer uygulamalardaki formları hızlı doldurmak için otomatik doldurmayı yapılandırın</string>
|
||||||
<string name="password_size_title">Oluşturulan parola boyutu</string>
|
<string name="password_size_title">Oluşturulan parola boyutu</string>
|
||||||
<string name="password_size_summary">Oluşturulan parolaların öntanımlı boyutunu ayarlar</string>
|
<string name="password_size_summary">Oluşturulan parolaların öntanımlı boyutunu ayarlar</string>
|
||||||
<string name="list_password_generator_options_title">Parola karakterleri</string>
|
<string name="list_password_generator_options_title">Parola karakterleri</string>
|
||||||
@@ -188,11 +188,11 @@
|
|||||||
<string name="lock">Kilit</string>
|
<string name="lock">Kilit</string>
|
||||||
<string name="lock_database_screen_off_title">Ekran kilidi</string>
|
<string name="lock_database_screen_off_title">Ekran kilidi</string>
|
||||||
<string name="lock_database_screen_off_summary">Ekran kapandığında birkaç saniye sonra veri tabanını kilitle</string>
|
<string name="lock_database_screen_off_summary">Ekran kapandığında birkaç saniye sonra veri tabanını kilitle</string>
|
||||||
<string name="device_unlock">Cihaz kilidini aç</string>
|
<string name="device_unlock">Aygıt kilidini aç</string>
|
||||||
<string name="biometric_unlock_enable_title">Biyometrik kilit açma</string>
|
<string name="biometric_unlock_enable_title">Biyometrik kilit açma</string>
|
||||||
<string name="biometric_unlock_enable_summary">Veri tabanını açmak için biyometriklerinizi taramanızı sağlar</string>
|
<string name="biometric_unlock_enable_summary">Veri tabanını açmak için biyometriklerinizi taramanızı sağlar</string>
|
||||||
<string name="biometric_delete_all_key_title">Şifreleme anahtarlarını silin</string>
|
<string name="biometric_delete_all_key_title">Şifreleme anahtarlarını silin</string>
|
||||||
<string name="biometric_delete_all_key_summary">Cihaz kilit açma tanımayla ilgili tüm şifreleme anahtarlarını silin</string>
|
<string name="biometric_delete_all_key_summary">Aygıt kilidi açma tanımayla ilgili tüm şifreleme anahtarlarını silin</string>
|
||||||
<string name="unavailable_feature_text">Bu özellik başlatılamadı.</string>
|
<string name="unavailable_feature_text">Bu özellik başlatılamadı.</string>
|
||||||
<string name="unavailable_feature_version">Aygıtta Android %1$s çalışıyor, ancak %2$s veya sonraki bir sürüm gerekli.</string>
|
<string name="unavailable_feature_version">Aygıtta Android %1$s çalışıyor, ancak %2$s veya sonraki bir sürüm gerekli.</string>
|
||||||
<string name="unavailable_feature_hardware">İlgili donanım bulunamadı.</string>
|
<string name="unavailable_feature_hardware">İlgili donanım bulunamadı.</string>
|
||||||
@@ -294,7 +294,7 @@
|
|||||||
<string name="icon_pack_choose_summary">Uygulamada kullanılan simge paketi</string>
|
<string name="icon_pack_choose_summary">Uygulamada kullanılan simge paketi</string>
|
||||||
<string name="selection_mode">Seçim modu</string>
|
<string name="selection_mode">Seçim modu</string>
|
||||||
<string name="do_not_kill_app">Uygulamayı sonlandırmayın…</string>
|
<string name="do_not_kill_app">Uygulamayı sonlandırmayın…</string>
|
||||||
<string name="lock_database_back_root_summary">Kullanıcı kök ekranda geri düğmesine tıkladığında veri tabanını kilitle</string>
|
<string name="lock_database_back_root_summary">Veri tabanının kök ekranındaysanız, \'Geri\' düğmesine basarak veri tabanını kilitleyin</string>
|
||||||
<string name="clear_clipboard_notification_title">Kapanışta temizle</string>
|
<string name="clear_clipboard_notification_title">Kapanışta temizle</string>
|
||||||
<string name="clear_clipboard_notification_summary">Panonun süresi dolduğunda veya kullanmaya başladıktan sonra bildirim kapatıldığında veri tabanını kilitle</string>
|
<string name="clear_clipboard_notification_summary">Panonun süresi dolduğunda veya kullanmaya başladıktan sonra bildirim kapatıldığında veri tabanını kilitle</string>
|
||||||
<string name="content_description_open_file">Dosya aç</string>
|
<string name="content_description_open_file">Dosya aç</string>
|
||||||
@@ -317,7 +317,7 @@
|
|||||||
<string name="lock_database_back_root_title">Kilitlemek için \'Geri\'ye basın</string>
|
<string name="lock_database_back_root_title">Kilitlemek için \'Geri\'ye basın</string>
|
||||||
<string name="recycle_bin">Geri dönüşüm kutusu</string>
|
<string name="recycle_bin">Geri dönüşüm kutusu</string>
|
||||||
<string name="keyboard_selection_entry_title">Girdi seçimi</string>
|
<string name="keyboard_selection_entry_title">Girdi seçimi</string>
|
||||||
<string name="keyboard_selection_entry_summary">Bir girdiyi görüntülerken Magikeyboard\'da giriş alanlarını göster</string>
|
<string name="keyboard_selection_entry_summary">Bir girdiyi görüntülerken Magikeyboard\'da o girdiyi göster</string>
|
||||||
<string name="delete_entered_password_title">Parolayı sil</string>
|
<string name="delete_entered_password_title">Parolayı sil</string>
|
||||||
<string name="delete_entered_password_summary">Veri tabanına bağlantı denemesinden sonra girilen parolayı siler</string>
|
<string name="delete_entered_password_summary">Veri tabanına bağlantı denemesinden sonra girilen parolayı siler</string>
|
||||||
<string name="content_description_node_children">Alt düğüm</string>
|
<string name="content_description_node_children">Alt düğüm</string>
|
||||||
@@ -326,10 +326,10 @@
|
|||||||
<string name="content_description_update_from_list">Güncelle</string>
|
<string name="content_description_update_from_list">Güncelle</string>
|
||||||
<string name="content_description_keyboard_close_fields">Alanları kapat</string>
|
<string name="content_description_keyboard_close_fields">Alanları kapat</string>
|
||||||
<string name="error_create_database_file">Bu parola ve anahtar dosyası ile veri tabanı oluşturulamıyor.</string>
|
<string name="error_create_database_file">Bu parola ve anahtar dosyası ile veri tabanı oluşturulamıyor.</string>
|
||||||
<string name="menu_device_unlock_settings">Cihaz kilidini aç</string>
|
<string name="menu_device_unlock_settings">Aygıt kilidini aç</string>
|
||||||
<string name="biometric">Biyometrik</string>
|
<string name="biometric">Biyometrik</string>
|
||||||
<string name="biometric_auto_open_prompt_title">Otomatik açma istemi</string>
|
<string name="biometric_auto_open_prompt_title">Otomatik açma istemi</string>
|
||||||
<string name="biometric_auto_open_prompt_summary">Veritabanı onu kullanacak şekilde ayarlanmışsa cihazın kilidini otomatik olarak talep et</string>
|
<string name="biometric_auto_open_prompt_summary">Veri tabanı onu kullanacak şekilde ayarlanmışsa aygıt kilidini otomatik olarak talep et</string>
|
||||||
<string name="enable">Etkinleştir</string>
|
<string name="enable">Etkinleştir</string>
|
||||||
<string name="disable">Devre dışı</string>
|
<string name="disable">Devre dışı</string>
|
||||||
<string name="master_key">Ana anahtar</string>
|
<string name="master_key">Ana anahtar</string>
|
||||||
@@ -358,7 +358,7 @@
|
|||||||
<string name="contains_duplicate_uuid_procedure">Tekrarlananlar için yeni UUID\'ler oluşturarak sorunu çöz ve devam et\?</string>
|
<string name="contains_duplicate_uuid_procedure">Tekrarlananlar için yeni UUID\'ler oluşturarak sorunu çöz ve devam et\?</string>
|
||||||
<string name="database_opened">Veri tabanı açıldı</string>
|
<string name="database_opened">Veri tabanı açıldı</string>
|
||||||
<string name="clipboard_explanation_summary">Aygıtınızın panosunu kullanarak girdi alanlarını kopyalayın</string>
|
<string name="clipboard_explanation_summary">Aygıtınızın panosunu kullanarak girdi alanlarını kopyalayın</string>
|
||||||
<string name="device_unlock_explanation_summary">Bir veritabanını daha kolay açmak için cihazın kilidini açmayı kullanın</string>
|
<string name="device_unlock_explanation_summary">Bir veri tabanını daha kolay açmak için aygıt kilidini açmayı kullanın</string>
|
||||||
<string name="database_data_compression_title">Veri sıkıştırma</string>
|
<string name="database_data_compression_title">Veri sıkıştırma</string>
|
||||||
<string name="database_data_compression_summary">Veri sıkıştırma veri tabanı boyutunu azaltır</string>
|
<string name="database_data_compression_summary">Veri sıkıştırma veri tabanı boyutunu azaltır</string>
|
||||||
<string name="max_history_items_title">Azami sayı</string>
|
<string name="max_history_items_title">Azami sayı</string>
|
||||||
@@ -461,13 +461,13 @@
|
|||||||
<string name="error_save_read_only">Salt okunur olarak açılan bir veri tabanı için veri kaydına izin verilmiyor.</string>
|
<string name="error_save_read_only">Salt okunur olarak açılan bir veri tabanı için veri kaydına izin verilmiyor.</string>
|
||||||
<string name="autofill_ask_to_save_data_summary">Form doldurma işlemi tamamlandığında verileri kaydetmek için sor</string>
|
<string name="autofill_ask_to_save_data_summary">Form doldurma işlemi tamamlandığında verileri kaydetmek için sor</string>
|
||||||
<string name="autofill_ask_to_save_data_title">Verileri kaydetmek için sor</string>
|
<string name="autofill_ask_to_save_data_title">Verileri kaydetmek için sor</string>
|
||||||
<string name="autofill_save_search_info_summary">Gelecekteki daha kolay kullanımlar için el ile giriş seçimi yaparken arama bilgilerini kaydetmeyi deneyin</string>
|
<string name="autofill_save_search_info_summary">Gelecekteki daha kolay kullanımlar için el ile girdi seçimi yaparken arama bilgilerini kaydetmeyi deneyin</string>
|
||||||
<string name="autofill_save_search_info_title">Arama bilgilerini kaydet</string>
|
<string name="autofill_save_search_info_title">Arama bilgilerini kaydet</string>
|
||||||
<string name="autofill_close_database_summary">Otomatik doldurma seçiminden sonra veri tabanını kapat</string>
|
<string name="autofill_close_database_summary">Otomatik doldurma seçiminden sonra veri tabanını kapat</string>
|
||||||
<string name="autofill_close_database_title">Veri tabanını kapat</string>
|
<string name="autofill_close_database_title">Veri tabanını kapat</string>
|
||||||
<string name="keyboard_previous_lock_summary">Veri tabanını kilitledikten sonra otomatik olarak önceki klavyeye dön</string>
|
<string name="keyboard_previous_lock_summary">Veri tabanını kilitledikten sonra otomatik olarak önceki klavyeye dön</string>
|
||||||
<string name="keyboard_previous_lock_title">Veri tabanını kilitle</string>
|
<string name="keyboard_previous_lock_title">Veri tabanını kilitle</string>
|
||||||
<string name="keyboard_save_search_info_summary">Gelecekteki daha kolay kullanımlar için el ile giriş seçimi yaparken paylaşılan bilgileri kaydetmeyi deneyin</string>
|
<string name="keyboard_save_search_info_summary">Gelecekteki daha kolay kullanımlar için el ile girdi seçimi yaparken paylaşılan bilgileri kaydetmeyi deneyin</string>
|
||||||
<string name="keyboard_save_search_info_title">Paylaşılan bilgileri kaydet</string>
|
<string name="keyboard_save_search_info_title">Paylaşılan bilgileri kaydet</string>
|
||||||
<string name="notification">Bildirim</string>
|
<string name="notification">Bildirim</string>
|
||||||
<string name="biometric_security_update_required">Biyometrik güvenlik güncellemesi gerekli.</string>
|
<string name="biometric_security_update_required">Biyometrik güvenlik güncellemesi gerekli.</string>
|
||||||
@@ -477,33 +477,33 @@
|
|||||||
<string name="search_mode">Arama modu</string>
|
<string name="search_mode">Arama modu</string>
|
||||||
<string name="error_registration_read_only">Salt okunur bir veri tabanında yeni bir öge kaydetmeye izin verilmiyor.</string>
|
<string name="error_registration_read_only">Salt okunur bir veri tabanında yeni bir öge kaydetmeye izin verilmiyor.</string>
|
||||||
<string name="error_field_name_already_exists">Alan adı zaten var.</string>
|
<string name="error_field_name_already_exists">Alan adı zaten var.</string>
|
||||||
<string name="device_unlock_delete_all_key_warning">Cihaz kilit açma tanımayla ilgili tüm şifreleme anahtarları silinsin mi\?</string>
|
<string name="device_unlock_delete_all_key_warning">Aygıt kilidi açma tanımayla ilgili tüm şifreleme anahtarları silinsin mi?</string>
|
||||||
<string name="device_credential_unlock_enable_summary">Veri tabanını açmak için aygıt kimlik bilgilerinizi kullanmanıza olanak tanır</string>
|
<string name="device_credential_unlock_enable_summary">Veri tabanını açmak için aygıt kimlik bilgilerinizi kullanmanıza olanak tanır</string>
|
||||||
<string name="device_credential_unlock_enable_title">Aygıt kimlik bilgisiyle kilit açma</string>
|
<string name="device_credential_unlock_enable_title">Aygıt kimlik bilgisiyle kilit açma</string>
|
||||||
<string name="device_credential">Aygıt kimlik bilgileri</string>
|
<string name="device_credential">Aygıt kimlik bilgileri</string>
|
||||||
<string name="credential_before_click_device_unlock_button">Parolayı yazın ve ardından bu düğmeye tıklayın.</string>
|
<string name="credential_before_click_device_unlock_button">Parolayı yazın ve ardından bu düğmeye tıklayın.</string>
|
||||||
<string name="device_unlock_prompt_not_initialized">Cihaz kilit açma istemi başlatılamıyor.</string>
|
<string name="device_unlock_prompt_not_initialized">Aygıt kilit açma istemi başlatılamıyor.</string>
|
||||||
<string name="unavailable">Kullanım dışı</string>
|
<string name="unavailable">Kullanım dışı</string>
|
||||||
<string name="device_unlock_not_recognized">Cihaz kilit açma parmak izi tanınamadı</string>
|
<string name="device_unlock_not_recognized">Aygıt kilit açma parmak izi tanınamadı</string>
|
||||||
<string name="device_unlock_invalid_key">Cihazın kilit açma anahtarı okunamıyor. Lütfen silin ve kilit açma tanıma prosedürünü tekrarlayın.</string>
|
<string name="device_unlock_invalid_key">Aygıtın kilit açma anahtarı okunamıyor. Lütfen silin ve kilit açma tanıma işlemini tekrarlayın.</string>
|
||||||
<string name="device_unlock_prompt_extract_credential_message">Cihaz kilit açma verileriyle veritabanı kimlik bilgilerini çıkarın</string>
|
<string name="device_unlock_prompt_extract_credential_message">Aygıt kilit açma verileriyle veri tabanı kimlik bilgilerini çıkarın</string>
|
||||||
<string name="device_unlock_prompt_extract_credential_title">Cihaz kilidini tanıma</string>
|
<string name="device_unlock_prompt_extract_credential_title">Aygıt kilidini tanıma</string>
|
||||||
<string name="device_unlock_prompt_store_credential_message">Cihaz kilit açma tanımayı kullanıyorsanız kasa ana kimlik bilgilerinizi yine de hatırlamanız gerekir.</string>
|
<string name="device_unlock_prompt_store_credential_message">Aygıt kilit açma tanımayı kullanıyorsanız kasa ana kimlik bilgilerinizi yine de hatırlamanız gerekir.</string>
|
||||||
<string name="device_unlock_prompt_store_credential_title">Cihaz kilidini açma bağlantısı</string>
|
<string name="device_unlock_prompt_store_credential_title">Aygıt kilidini açma bağlantısı</string>
|
||||||
<string name="menu_keystore_remove_key">Cihaz kilit açma anahtarını sil</string>
|
<string name="menu_keystore_remove_key">Aygıt kilit açma anahtarını sil</string>
|
||||||
<string name="enter">Enter</string>
|
<string name="enter">Enter</string>
|
||||||
<string name="backspace">Backspace</string>
|
<string name="backspace">Backspace</string>
|
||||||
<string name="select_entry">Girdi seç</string>
|
<string name="select_entry">Girdi seç</string>
|
||||||
<string name="back_to_previous_keyboard">Önceki klavyeye geri dön</string>
|
<string name="back_to_previous_keyboard">Önceki klavyeye geri dön</string>
|
||||||
<string name="custom_fields">Özel alanlar</string>
|
<string name="custom_fields">Özel alanlar</string>
|
||||||
<string name="education_device_unlock_summary">Veri tabanınızın kilidini hızlı bir şekilde açmak için parolanızı taranmış biyometrik veya aygıt kimlik bilgilerinize bağlayın.</string>
|
<string name="education_device_unlock_summary">Veri tabanınızın kilidini hızlı bir şekilde açmak için parolanızı taranmış biyometrik veya aygıt kimlik bilgilerinize bağlayın.</string>
|
||||||
<string name="education_device_unlock_title">Cihaz veritabanı kilidini açma</string>
|
<string name="education_device_unlock_title">Aygıt veri tabanı kilidini açma</string>
|
||||||
<string name="device_unlock_timeout">Cihaz kilidini açma zaman aşımı</string>
|
<string name="device_unlock_timeout">Aygıt kilidini açma zaman aşımı</string>
|
||||||
<string name="temp_device_unlock_timeout_summary">İçeriğini silmeden önce cihazın kilit açma kullanım süresi</string>
|
<string name="temp_device_unlock_timeout_summary">İçeriğini silmeden önce aygıt kilidi açma kullanım süresi</string>
|
||||||
<string name="temp_device_unlock_timeout_title">Cihaz kilidini açma süresi doldu</string>
|
<string name="temp_device_unlock_timeout_title">Aygıt kilidini açma süresi doldu</string>
|
||||||
<string name="temp_device_unlock_enable_summary">Cihaz kilidini açmak için şifrelenmiş içerik saklamayın</string>
|
<string name="temp_device_unlock_enable_summary">Aygıt kilidini açmak için şifreli içerik saklamayın</string>
|
||||||
<string name="temp_device_unlock_enable_title">Geçici kilit açma</string>
|
<string name="temp_device_unlock_enable_title">Geçici kilit açma</string>
|
||||||
<string name="device_unlock_tap_delete">Cihaz kilit açma anahtarlarını silmek için dokunun</string>
|
<string name="device_unlock_tap_delete">Aygıt kilit açma anahtarlarını silmek için dokunun</string>
|
||||||
<string name="content">İçerik</string>
|
<string name="content">İçerik</string>
|
||||||
<string name="error_rebuild_list">Liste düzgün şekilde yeniden oluşturulamıyor.</string>
|
<string name="error_rebuild_list">Liste düzgün şekilde yeniden oluşturulamıyor.</string>
|
||||||
<string name="error_database_uri_null">Veri tabanı URI\'si alınamıyor.</string>
|
<string name="error_database_uri_null">Veri tabanı URI\'si alınamıyor.</string>
|
||||||
@@ -518,7 +518,7 @@
|
|||||||
<string name="unit_mebibyte">MiB</string>
|
<string name="unit_mebibyte">MiB</string>
|
||||||
<string name="unit_kibibyte">KiB</string>
|
<string name="unit_kibibyte">KiB</string>
|
||||||
<string name="unit_byte">B</string>
|
<string name="unit_byte">B</string>
|
||||||
<string name="error_otp_type">Mevcut OTP türü bu form tarafından tanınmıyor, doğrulaması artık belirteci doğru şekilde oluşturmayabilir.</string>
|
<string name="error_otp_type">Var olan OTP türü bu form tarafından tanınmıyor ve doğrulaması artık belirteci doğru şekilde oluşturmayabilir.</string>
|
||||||
<string name="download_canceled">İptal edildi!</string>
|
<string name="download_canceled">İptal edildi!</string>
|
||||||
<string name="icon_section_custom">Özel</string>
|
<string name="icon_section_custom">Özel</string>
|
||||||
<string name="icon_section_standard">Standart</string>
|
<string name="icon_section_standard">Standart</string>
|
||||||
@@ -595,7 +595,7 @@
|
|||||||
<string name="enable_keep_screen_on_title">Ekranı açık tut</string>
|
<string name="enable_keep_screen_on_title">Ekranı açık tut</string>
|
||||||
<string name="show_entry_colors_title">Girdi renkleri</string>
|
<string name="show_entry_colors_title">Girdi renkleri</string>
|
||||||
<string name="show_entry_colors_summary">Bir girdi için ön plan ve arka plan renklerini görüntüler</string>
|
<string name="show_entry_colors_summary">Bir girdi için ön plan ve arka plan renklerini görüntüler</string>
|
||||||
<string name="enable_keep_screen_on_summary">Bir girişi izlerken veya düzenlerken ekranı açık tutun</string>
|
<string name="enable_keep_screen_on_summary">Bir girdiyi izlerken veya düzenlerken ekranı açık tutun</string>
|
||||||
<string name="content_description_nav_header">Gezinme başlığı</string>
|
<string name="content_description_nav_header">Gezinme başlığı</string>
|
||||||
<string name="navigation_drawer_open">Gezinme çekmecesi açık</string>
|
<string name="navigation_drawer_open">Gezinme çekmecesi açık</string>
|
||||||
<string name="navigation_drawer_close">Gezinme çekmecesi kapalı</string>
|
<string name="navigation_drawer_close">Gezinme çekmecesi kapalı</string>
|
||||||
@@ -661,20 +661,16 @@
|
|||||||
<string name="unlock">Kilidi aç</string>
|
<string name="unlock">Kilidi aç</string>
|
||||||
<string name="master_key_settings_summary">Değişim, yenilenme</string>
|
<string name="master_key_settings_summary">Değişim, yenilenme</string>
|
||||||
<string name="info">Bilgi</string>
|
<string name="info">Bilgi</string>
|
||||||
<string name="education_validate_entry_title">Girişi doğrula</string>
|
<string name="education_validate_entry_title">Girdiyi doğrula</string>
|
||||||
<string name="ask">Sor</string>
|
<string name="ask">Sor</string>
|
||||||
<string name="menu_form_filling_settings_summary">Klavye, otomatik doldur, pano</string>
|
<string name="menu_form_filling_settings_summary">Klavye, otomatik doldur, pano</string>
|
||||||
<string name="configure">Yapılandır</string>
|
<string name="configure">Yapılandır</string>
|
||||||
<string name="menu_appearance_settings_summary">Temalar, renkler, öznitellikler</string>
|
<string name="menu_appearance_settings_summary">Temalar, renkler, simgeler, yazı tipleri, öznitellikler</string>
|
||||||
<string name="menu_security_settings_summary">Şifreleme, anahtar türetme işlevi</string>
|
<string name="menu_security_settings_summary">Şifreleme, anahtar türetme işlevi</string>
|
||||||
<string name="menu_device_unlock_settings_summary">Biyometri, cihaz kimlik bilgisi</string>
|
<string name="menu_device_unlock_settings_summary">Biyometri, aygıt kimlik bilgisi</string>
|
||||||
<string name="education_validate_entry_summary">Girişinizi doğrulamayı ve veritabanınızı kaydetmeyi unutmayın.
|
<string name="education_validate_entry_summary">Girdinizi doğrulamayı ve veri tabanınızı kaydetmeyi unutmayın. \n \nOtomatik kilitleme etkinleştirilirse ve değişiklik yaptığınızı unutursanız verilerinizi kaybetme riskiyle karşı karşıya kalırsınız.</string>
|
||||||
\n
|
<string name="warning_database_notification_permission">Bildirim izni, veri tabanının durumunu görüntülemenize ve kolayca erişilebilen bir düğmeyle kilitlemenize olanak tanır. \n \nBu izni etkinleştirmezseniz arka planda açık olan veri tabanı, ön planda başka bir uygulama varken görünmeyecektir.</string>
|
||||||
\nOtomatik kilitleme etkinleştirilirse ve değişiklik yaptığınızı unutursanız verilerinizi kaybetme riskiyle karşı karşıya kalırsınız.</string>
|
<string name="unlock_and_link_biometric">Aygıt kilit açma bağlantısı</string>
|
||||||
<string name="warning_database_notification_permission">Bildirim izni, veritabanının durumunu görüntülemenize ve kolayca erişilebilen bir düğmeyle kilitlemenize olanak tanır.
|
|
||||||
\n
|
|
||||||
\nBu izni aktifleştirmezseniz arka planda açık olan veritabanı, ön planda başka bir uygulama varken görünmeyecektir.</string>
|
|
||||||
<string name="unlock_and_link_biometric">Cihaz kilit açma bağlantısı</string>
|
|
||||||
<string name="warning_copy_permission">Pano bildirim özelliğini kullanmak için bildirim izni gereklidir.</string>
|
<string name="warning_copy_permission">Pano bildirim özelliğini kullanmak için bildirim izni gereklidir.</string>
|
||||||
<string name="menu_database_settings_summary">Meta veriler, geri dönüşüm kutusu, şablonlar, geçmiş</string>
|
<string name="menu_database_settings_summary">Meta veriler, geri dönüşüm kutusu, şablonlar, geçmiş</string>
|
||||||
<string name="menu_app_settings_summary">Ara, kilit, geçmiş, özellikler</string>
|
<string name="menu_app_settings_summary">Ara, kilit, geçmiş, özellikler</string>
|
||||||
@@ -693,10 +689,51 @@
|
|||||||
<string name="warning_database_info_changed_options_read_only">Veri tabanını en son değişikliklerle yeniden yükle.</string>
|
<string name="warning_database_info_changed_options_read_only">Veri tabanını en son değişikliklerle yeniden yükle.</string>
|
||||||
<string name="generate_keyfile">Anahtar dosyası oluştur</string>
|
<string name="generate_keyfile">Anahtar dosyası oluştur</string>
|
||||||
<string name="nodes">Düğümler</string>
|
<string name="nodes">Düğümler</string>
|
||||||
<string name="recursive_number_entries_title">Yinelenen giriş sayısı</string>
|
<string name="recursive_number_entries_title">Yinelenen girdi sayısı</string>
|
||||||
<string name="recursive_number_entries_summary">Bir gruptaki girişlerin sayısını yinelemeli olarak hesaplar</string>
|
<string name="recursive_number_entries_summary">Bir gruptaki girdilerin sayısını yinelemeli olarak hesaplar</string>
|
||||||
<string name="warning_large_keyfile">Büyük bir anahtar dosya eklenmesi önerilmez, bu durum veri tabanının açılmasını engelleyebilir.</string>
|
<string name="warning_large_keyfile">Büyük bir anahtar dosya eklenmesi önerilmez, bu durum veri tabanının açılmasını engelleyebilir.</string>
|
||||||
<string name="hide_templates_title">Şablonları gizle</string>
|
<string name="hide_templates_title">Şablonları gizle</string>
|
||||||
<string name="hide_templates_summary">Şablonlar gösterilmiyor</string>
|
<string name="hide_templates_summary">Şablonlar gösterilmiyor</string>
|
||||||
<string name="error_otp_secret_length">Gizli anahtar en az %1$d karakter uzunluğunda olmalıdır.</string>
|
<string name="error_otp_secret_length">Gizli anahtar en az %1$d karakter uzunluğunda olmalıdır.</string>
|
||||||
|
<string name="entry_application_id">Uygulama Kimliği</string>
|
||||||
|
<string name="warning_overwrite_data_title">Var olan verilerin üzerine yazılsın mı?</string>
|
||||||
|
<string name="warning_overwrite_data_description">Bu işlem, girdideki var olan verileri değiştirecektir. Geçmiş etkinleştirildiyse eski verileri geri alabilirsiniz.</string>
|
||||||
|
<string name="credential_provider">Kimlik bilgisi sağlayıcısı</string>
|
||||||
|
<string name="passkeys_close_database_title">Veri tabanını kapat</string>
|
||||||
|
<string name="passkeys_privileged_apps_title">Ayrıcalıklı uygulamalar</string>
|
||||||
|
<string name="passkeys_privileged_apps_summary">Ayrıcalıklı uygulamaların özel listesindeki tarayıcıları yönetin</string>
|
||||||
|
<string name="passkeys_privileged_apps_explanation">UYARI: Ayrıcalıklı bir uygulama, kimlik doğrulamanın kaynağını almak için bir ağ geçidi görevi görür. Güvenlik sorunlarını önlemek için uygulamanın doğruluğundan emin olun.</string>
|
||||||
|
<string name="passkeys_privileged_apps_ask_title">Uygulama tanınmıyor</string>
|
||||||
|
<string name="passkeys_missing_signature_app_ask_title">İmza eksik</string>
|
||||||
|
<string name="passkeys_auto_select_title">Otomatik seç</string>
|
||||||
|
<string name="passkeys_auto_select_summary">Yalnızca bir girdi varsa ve veri tabanı açıksa, yalnızca isteyen uygulama uyumluysa otomatik seç</string>
|
||||||
|
<string name="passkeys_backup_eligibility_summary">Oluşturma sırasında, ortak anahtar kimlik bilgisi kaynağının yedeklenmesine izin verilip verilmeyeceğini belirleyin</string>
|
||||||
|
<string name="passkeys_backup_state_title">Yedekleme Durumu</string>
|
||||||
|
<string name="passkeys_backup_state_summary">Kimlik bilgilerinin yedeklendiğini ve tek bir aygıtın kaybolmasına karşı korunduğunu belirtir</string>
|
||||||
|
<string name="passkey_service_name">KeePassDX Kimlik Bilgisi Sağlayıcısı</string>
|
||||||
|
<string name="passkey_database_username">KeePassDX Veri Tabanı</string>
|
||||||
|
<string name="passkey_locked_database_description">Kilidini açmak için seçin</string>
|
||||||
|
<string name="passkeys">Geçiş anahtarları</string>
|
||||||
|
<string name="passkeys_explanation_summary">Hızlı ve güvenli parolasız oturum açma için geçiş anahtarlarını yapılandırın</string>
|
||||||
|
<string name="passkeys_preference_title">Geçiş anahtarı ayarları</string>
|
||||||
|
<string name="passkeys_close_database_summary">Geçiş anahtarı seçildikten sonra veri tabanını kapatın</string>
|
||||||
|
<string name="passkeys_privileged_apps_ask_message">%1$s, geçiş anahtarı eylemi gerçekleştirmeye çalışıyor.\n\nAyrıcalıklı uygulamalar listesine eklemek ister misiniz?</string>
|
||||||
|
<string name="passkeys_missing_signature_app_ask_explanation">UYARI: Geçiş anahtarı başka bir istemciden oluşturuldu veya imza silindi. Güvenlik sorunlarını önlemek için, kimlik doğrulamasını yapmak istediğiniz uygulamanın aynı hizmetin parçası ve güvenilir olduğundan emin olun.\nUygulama bir tarayıcıysa, imzasını girdiye değil, ayarlardaki ayrıcalıklı uygulamalar listesine ekleyin.</string>
|
||||||
|
<string name="passkeys_missing_signature_app_ask_message">%1$s tanınmıyor ve var olan bir geçiş anahtarıyla kimlik doğrulaması yapmaya çalışıyor.</string>
|
||||||
|
<string name="passkeys_missing_signature_app_ask_question">Uygulama imzası geçiş anahtarı girdisine eklensin mi?</string>
|
||||||
|
<string name="passkeys_backup_eligibility_title">Yedekleme Uygunluğu</string>
|
||||||
|
<string name="credential_provider_service_subtitle">Geçiş anahtarları, Otomatik doldurma kimlik bilgisi sağlayıcısı</string>
|
||||||
|
<string name="passkey">Geçiş anahtarı</string>
|
||||||
|
<string name="passkey_creation_description">Geçiş anahtarını yeni girdiye kaydet</string>
|
||||||
|
<string name="passkey_update_description">%1$s içindeki geçiş anahtarını güncelle</string>
|
||||||
|
<string name="passkey_selection_username">Geçiş anahtarı bulunamadı</string>
|
||||||
|
<string name="passkey_selection_description">Var olan bir geçiş anahtarı seçin</string>
|
||||||
|
<string name="passkey_username">Geçiş Anahtarı Kullanıcı Adı</string>
|
||||||
|
<string name="passkey_private_key">Geçiş Anahtarı Özel Anahtarı</string>
|
||||||
|
<string name="passkey_credential_id">Geçiş Anahtarı Kimlik Bilgisi</string>
|
||||||
|
<string name="passkey_user_handle">Geçiş Anahtarı Kullanıcı Kimliği</string>
|
||||||
|
<string name="passkey_relying_party">Geçiş Anahtarı Güvenilen Taraf</string>
|
||||||
|
<string name="passkey_backup_eligibility">Geçiş Anahtarı Yedekleme Uygunluğu</string>
|
||||||
|
<string name="passkey_backup_state">Geçiş Anahtarı Yedekleme Durumu</string>
|
||||||
|
<string name="error_passkey_result">Geçiş anahtarı döndürülemiyor</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
@@ -29,7 +29,7 @@
|
|||||||
<string name="application">Застосунок</string>
|
<string name="application">Застосунок</string>
|
||||||
<string name="menu_app_settings">Налаштування застосунку</string>
|
<string name="menu_app_settings">Налаштування застосунку</string>
|
||||||
<string name="brackets">Дужки</string>
|
<string name="brackets">Дужки</string>
|
||||||
<string name="file_manager_install_description">Для створення, відкриття та збереження файлів баз даних потрібен файловий менеджер, який приймає дії Intent ACTION_CREATE_DOCUMENT та ACTION_OPEN_DOCUMENT.</string>
|
<string name="file_manager_install_description">Для створення, відкриття та збереження файлів бази даних необхідний файловий менеджер, який підтримує дії ACTION_CREATE_DOCUMENT та ACTION_OPEN_DOCUMENT.</string>
|
||||||
<string name="clipboard_cleared">Буфер обміну очищено</string>
|
<string name="clipboard_cleared">Буфер обміну очищено</string>
|
||||||
<string name="clipboard_timeout">Час до очищення буфера обміну</string>
|
<string name="clipboard_timeout">Час до очищення буфера обміну</string>
|
||||||
<string name="clipboard_timeout_summary">Тривалість зберігання в буфері обміну (якщо підтримується пристроєм)</string>
|
<string name="clipboard_timeout_summary">Тривалість зберігання в буфері обміну (якщо підтримується пристроєм)</string>
|
||||||
@@ -187,7 +187,7 @@
|
|||||||
<string name="menu_paste">Вставити</string>
|
<string name="menu_paste">Вставити</string>
|
||||||
<string name="menu_move">Перемістити</string>
|
<string name="menu_move">Перемістити</string>
|
||||||
<string name="menu_copy">Скопіювати</string>
|
<string name="menu_copy">Скопіювати</string>
|
||||||
<string name="content_description_keyfile_checkbox">Поле файла ключа</string>
|
<string name="content_description_keyfile_checkbox">Прапорець «Ключ файл»</string>
|
||||||
<string name="menu_master_key_settings">Налаштування головного ключа</string>
|
<string name="menu_master_key_settings">Налаштування головного ключа</string>
|
||||||
<string name="menu_security_settings">Налаштування безпеки</string>
|
<string name="menu_security_settings">Налаштування безпеки</string>
|
||||||
<string name="menu_device_unlock_settings">Розблокування пристрою</string>
|
<string name="menu_device_unlock_settings">Розблокування пристрою</string>
|
||||||
@@ -244,7 +244,7 @@
|
|||||||
<string name="validate">Перевірити</string>
|
<string name="validate">Перевірити</string>
|
||||||
<string name="content_description_entry_icon">Піктограма запису</string>
|
<string name="content_description_entry_icon">Піктограма запису</string>
|
||||||
<string name="content_description_repeat_toggle_password_visibility">Повторне перемикання видимості пароля</string>
|
<string name="content_description_repeat_toggle_password_visibility">Повторне перемикання видимості пароля</string>
|
||||||
<string name="content_description_password_checkbox">Поле пароля</string>
|
<string name="content_description_password_checkbox">Прапорець «Пароль»</string>
|
||||||
<string name="content_description_add_node">Додати вузол</string>
|
<string name="content_description_add_node">Додати вузол</string>
|
||||||
<string name="content_description_node_children">Дочірні вузли</string>
|
<string name="content_description_node_children">Дочірні вузли</string>
|
||||||
<string name="unavailable_feature_hardware">Не вдалося знайти відповідне обладнання.</string>
|
<string name="unavailable_feature_hardware">Не вдалося знайти відповідне обладнання.</string>
|
||||||
@@ -378,7 +378,7 @@
|
|||||||
<string name="device_unlock">Розблокування пристрою</string>
|
<string name="device_unlock">Розблокування пристрою</string>
|
||||||
<string name="lock_database_show_button_summary">Показувати кнопку блокування в інтерфейсі користувача</string>
|
<string name="lock_database_show_button_summary">Показувати кнопку блокування в інтерфейсі користувача</string>
|
||||||
<string name="lock_database_show_button_title">Показувати кнопку блокування</string>
|
<string name="lock_database_show_button_title">Показувати кнопку блокування</string>
|
||||||
<string name="lock_database_back_root_summary">Блокувати базу даних, коли користувач натисне кнопку назад на головному екрані</string>
|
<string name="lock_database_back_root_summary">Натисніть «Назад», щоб заблокувати базу даних, якщо ви перебуваєте на головному екрані бази дани</string>
|
||||||
<string name="lock_database_back_root_title">Натисніть \'Назад\', щоб заблокувати</string>
|
<string name="lock_database_back_root_title">Натисніть \'Назад\', щоб заблокувати</string>
|
||||||
<string name="lock_database_screen_off_summary">Блокувати базу даних за кілька секунд після вимкнення екрана</string>
|
<string name="lock_database_screen_off_summary">Блокувати базу даних за кілька секунд після вимкнення екрана</string>
|
||||||
<string name="lock_database_screen_off_title">Блокування екрана</string>
|
<string name="lock_database_screen_off_title">Блокування екрана</string>
|
||||||
@@ -395,7 +395,7 @@
|
|||||||
<string name="password_size_title">Довжина створюваного пароля</string>
|
<string name="password_size_title">Довжина створюваного пароля</string>
|
||||||
<string name="autofill_preference_title">Налаштування автозаповнення</string>
|
<string name="autofill_preference_title">Налаштування автозаповнення</string>
|
||||||
<string name="set_credential_provider_service_title">Встановити типовою службою автозаповнення</string>
|
<string name="set_credential_provider_service_title">Встановити типовою службою автозаповнення</string>
|
||||||
<string name="autofill_explanation_summary">Увімкнути автозаповнення для швидкого заповнення форм в інших застосунках</string>
|
<string name="autofill_explanation_summary">Налаштуйте автозаповнення для швидкого заповнення форм в інших застосунках</string>
|
||||||
<string name="autofill_sign_in_prompt">Увійти за допомогою KeePassDX</string>
|
<string name="autofill_sign_in_prompt">Увійти за допомогою KeePassDX</string>
|
||||||
<string name="autofill">Автозаповнення</string>
|
<string name="autofill">Автозаповнення</string>
|
||||||
<string name="general">Загальні</string>
|
<string name="general">Загальні</string>
|
||||||
@@ -523,7 +523,7 @@
|
|||||||
<string name="unit_mebibyte">МіБ</string>
|
<string name="unit_mebibyte">МіБ</string>
|
||||||
<string name="unit_kibibyte">КіБ</string>
|
<string name="unit_kibibyte">КіБ</string>
|
||||||
<string name="unit_byte">Б</string>
|
<string name="unit_byte">Б</string>
|
||||||
<string name="error_otp_type">Ця форма не розпізнає наявний тип OTP, його перевірка може надалі створювати не дійсний токен.</string>
|
<string name="error_otp_type">Наявний тип OTP не розпізнається цією формою, і його перевірка може більше не генерувати токен правильно.</string>
|
||||||
<string name="download_canceled">Скасовано!</string>
|
<string name="download_canceled">Скасовано!</string>
|
||||||
<string name="icon_section_custom">Власні</string>
|
<string name="icon_section_custom">Власні</string>
|
||||||
<string name="icon_section_standard">Стандартні</string>
|
<string name="icon_section_standard">Стандартні</string>
|
||||||
@@ -639,7 +639,7 @@
|
|||||||
<string name="title_case">Регістр Заголовка</string>
|
<string name="title_case">Регістр Заголовка</string>
|
||||||
<string name="word_separator">Роздільник</string>
|
<string name="word_separator">Роздільник</string>
|
||||||
<string name="upper_case">ВЕРХНІЙ РЕГІСТР</string>
|
<string name="upper_case">ВЕРХНІЙ РЕГІСТР</string>
|
||||||
<string name="content_description_hardware_key_checkbox">Прапорець апаратного ключа</string>
|
<string name="content_description_hardware_key_checkbox">Прапорець «Апаратний ключ»</string>
|
||||||
<string name="hardware_key">Апаратний ключ</string>
|
<string name="hardware_key">Апаратний ключ</string>
|
||||||
<string name="error_XML_malformed">Хибний XML.</string>
|
<string name="error_XML_malformed">Хибний XML.</string>
|
||||||
<string name="error_response_already_provided">Відповідь уже надана.</string>
|
<string name="error_response_already_provided">Відповідь уже надана.</string>
|
||||||
@@ -674,7 +674,7 @@
|
|||||||
<string name="ask">Запитувати</string>
|
<string name="ask">Запитувати</string>
|
||||||
<string name="configure">Сконфігурувати</string>
|
<string name="configure">Сконфігурувати</string>
|
||||||
<string name="unlock_and_link_biometric">Посилання для розблокування пристрою</string>
|
<string name="unlock_and_link_biometric">Посилання для розблокування пристрою</string>
|
||||||
<string name="menu_appearance_settings_summary">Теми, кольори, атрибути</string>
|
<string name="menu_appearance_settings_summary">Теми, кольори, піктограми, шрифти, атрибути</string>
|
||||||
<string name="unlock">Розблокувати</string>
|
<string name="unlock">Розблокувати</string>
|
||||||
<string name="education_validate_entry_title">Перевірте запис</string>
|
<string name="education_validate_entry_title">Перевірте запис</string>
|
||||||
<string name="education_validate_entry_summary">Не забувайте перевірити свій запис і зберегти базу даних.
|
<string name="education_validate_entry_summary">Не забувайте перевірити свій запис і зберегти базу даних.
|
||||||
@@ -704,4 +704,45 @@
|
|||||||
<string name="hide_templates_summary">Шаблони не показано</string>
|
<string name="hide_templates_summary">Шаблони не показано</string>
|
||||||
<string name="warning_large_keyfile">Не рекомендується додавати великий файл ключа, це може завадити створенню бази даних.</string>
|
<string name="warning_large_keyfile">Не рекомендується додавати великий файл ключа, це може завадити створенню бази даних.</string>
|
||||||
<string name="error_otp_secret_length">Секретний ключ повинен містити не менше %1$d символів.</string>
|
<string name="error_otp_secret_length">Секретний ключ повинен містити не менше %1$d символів.</string>
|
||||||
|
<string name="entry_application_id">ID застосунку</string>
|
||||||
|
<string name="warning_overwrite_data_title">Перезаписати наявні дані?</string>
|
||||||
|
<string name="warning_overwrite_data_description">Ця дія замінить наявні дані у записі. Ви можете відновити старі дані, якщо ввімкнено історію.</string>
|
||||||
|
<string name="credential_provider">Постачальник облікових даних</string>
|
||||||
|
<string name="passkeys">Ключі доступу</string>
|
||||||
|
<string name="passkeys_explanation_summary">Налаштуйте ключі доступу для швидкого та безпечного входу без пароля</string>
|
||||||
|
<string name="passkeys_preference_title">Налаштування ключів доступу</string>
|
||||||
|
<string name="passkeys_close_database_title">Закрити базу даних</string>
|
||||||
|
<string name="passkeys_close_database_summary">Закрити базу даних після вибору ключа доступу</string>
|
||||||
|
<string name="passkeys_privileged_apps_title">Привілейовані програми</string>
|
||||||
|
<string name="passkeys_privileged_apps_summary">Керуйте браузерами у спеціальному списку привілейованих програм</string>
|
||||||
|
<string name="passkeys_privileged_apps_explanation">ПОПЕРЕДЖЕННЯ: Привілейована програма діє як шлюз для отримання інформації про походження автентифікації. Переконайтеся в її легітимності, щоб уникнути проблем із безпекою.</string>
|
||||||
|
<string name="passkeys_privileged_apps_ask_title">Програма не розпізнається</string>
|
||||||
|
<string name="passkeys_privileged_apps_ask_message">%1$s намагається виконати дію з ключем доступу.\n\nДодати до списку привілейованих програм?</string>
|
||||||
|
<string name="passkeys_missing_signature_app_ask_title">Відсутній підпис</string>
|
||||||
|
<string name="passkeys_missing_signature_app_ask_explanation">ПОПЕРЕДЖЕННЯ: Ключ доступу було створено з іншого клієнта або підпис було видалено. Щоб уникнути проблем із безпекою, переконайтеся, що програма, яку ви хочете автентифікувати, є частиною тієї самої служби та є легітимною.\nЯкщо ця програма є браузером, не додавайте її підпис до запису, а додайте до списку привілейованих програм у налаштуваннях.</string>
|
||||||
|
<string name="passkeys_missing_signature_app_ask_message">%1$s не розпізнається і намагається пройти автентифікацію за допомогою наявного ключа доступу.</string>
|
||||||
|
<string name="passkeys_missing_signature_app_ask_question">Додати підпис програми до запису ключа доступу?</string>
|
||||||
|
<string name="passkeys_auto_select_title">Автоматичний вибір</string>
|
||||||
|
<string name="passkeys_auto_select_summary">Автоматичний вибір, якщо є лише один запис і база даних відкрита, лише якщо застосунок, що запитує це, сумісний</string>
|
||||||
|
<string name="passkeys_backup_eligibility_title">Право на резервне копіювання</string>
|
||||||
|
<string name="passkeys_backup_eligibility_summary">Визначити під час створення, чи дозволено створювати резервні копії джерела облікових даних відкритого ключа</string>
|
||||||
|
<string name="passkeys_backup_state_title">Стан резервного копіювання</string>
|
||||||
|
<string name="passkeys_backup_state_summary">Показувати, що облікові дані резервно копіюються та захищені від втрати одного пристрою</string>
|
||||||
|
<string name="credential_provider_service_subtitle">Ключі доступу, постачальник даних для автозаповнення</string>
|
||||||
|
<string name="passkey">Ключ доступу</string>
|
||||||
|
<string name="passkey_service_name">Постачальник облікових даних KeePassDX</string>
|
||||||
|
<string name="passkey_creation_description">Зберегти ключ доступу у новому записі</string>
|
||||||
|
<string name="passkey_update_description">Оновити ключ доступу в %1$s</string>
|
||||||
|
<string name="passkey_selection_username">Ключ доступу не знайдено</string>
|
||||||
|
<string name="passkey_selection_description">Вибрати наявний ключ доступу</string>
|
||||||
|
<string name="passkey_database_username">База даних KeePassDX</string>
|
||||||
|
<string name="passkey_locked_database_description">Виберіть, щоб розблокувати</string>
|
||||||
|
<string name="passkey_username">Ім\'я користувача ключа доступу</string>
|
||||||
|
<string name="passkey_private_key">Приватний ключ ключа доступу</string>
|
||||||
|
<string name="passkey_credential_id">Ідентифікатор облікового запису ключа доступу</string>
|
||||||
|
<string name="passkey_user_handle">Ідентифікатор користувача ключа доступу</string>
|
||||||
|
<string name="passkey_relying_party">Сторона, що покладається на ключ доступу</string>
|
||||||
|
<string name="passkey_backup_eligibility">Право на резервне копіювання ключа доступу</string>
|
||||||
|
<string name="passkey_backup_state">Стан резервного копіювання ключа доступу</string>
|
||||||
|
<string name="error_passkey_result">Не вдалося повернути ключ доступу</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
<string name="contribution">Đóng góp</string>
|
<string name="contribution">Đóng góp</string>
|
||||||
<string name="feedback">Phản hồi</string>
|
<string name="feedback">Phản hồi</string>
|
||||||
<string name="homepage">Trang chủ</string>
|
<string name="homepage">Trang chủ</string>
|
||||||
<string name="about_description">Triển khai Android của trình quản lý mật khẩu KeePass</string>
|
<string name="about_description">Phiên bản Android của trình quản lý mật khẩu KeePass.</string>
|
||||||
<string name="accept">Chấp nhận</string>
|
<string name="accept">Chấp nhận</string>
|
||||||
<string name="add_entry">Thêm mục</string>
|
<string name="add_entry">Thêm mục</string>
|
||||||
<string name="edit_entry">Chỉnh sửa mục</string>
|
<string name="edit_entry">Chỉnh sửa mục</string>
|
||||||
@@ -33,7 +33,7 @@
|
|||||||
<string name="encryption_algorithm">Thuật toán mã hóa</string>
|
<string name="encryption_algorithm">Thuật toán mã hóa</string>
|
||||||
<string name="key_derivation_function">Hàm dẫn xuất khóa</string>
|
<string name="key_derivation_function">Hàm dẫn xuất khóa</string>
|
||||||
<string name="app_timeout">Hết thời gian</string>
|
<string name="app_timeout">Hết thời gian</string>
|
||||||
<string name="app_timeout_summary">Thời gian rảnh trước khi khóa cơ sở dữ liệu</string>
|
<string name="app_timeout_summary">Thời gian ngưng trước khi khóa cơ sở dữ liệu</string>
|
||||||
<string name="application">Ứng dụng</string>
|
<string name="application">Ứng dụng</string>
|
||||||
<string name="brackets">Dấu ngoặc</string>
|
<string name="brackets">Dấu ngoặc</string>
|
||||||
<string name="extended_ASCII">ASCII mở rộng</string>
|
<string name="extended_ASCII">ASCII mở rộng</string>
|
||||||
@@ -43,17 +43,17 @@
|
|||||||
<string name="clipboard_error_title">Lỗi bảng nhớ tạm</string>
|
<string name="clipboard_error_title">Lỗi bảng nhớ tạm</string>
|
||||||
<string name="clipboard_error">Một số thiết bị sẽ không cho phép ứng dụng sử dụng bảng nhớ tạm.</string>
|
<string name="clipboard_error">Một số thiết bị sẽ không cho phép ứng dụng sử dụng bảng nhớ tạm.</string>
|
||||||
<string name="clipboard_error_clear">Không thể xóa bảng nhớ tạm</string>
|
<string name="clipboard_error_clear">Không thể xóa bảng nhớ tạm</string>
|
||||||
<string name="clipboard_timeout">Hết thời gian tạm dừng bảng nhớ tạm</string>
|
<string name="clipboard_timeout">Hết thời gian lưu trong bảng nhớ tạm</string>
|
||||||
<string name="clipboard_timeout_summary">Thời lượng lưu trữ trong bảng nhớ tạm (nếu được thiết bị của bạn hỗ trợ)</string>
|
<string name="clipboard_timeout_summary">Thời lượng lưu trữ trong bảng nhớ tạm (nếu được thiết bị của bạn hỗ trợ)</string>
|
||||||
<string name="content_description_background">Nền</string>
|
<string name="content_description_background">Nền</string>
|
||||||
<string name="content_description_open_file">Mở tệp</string>
|
<string name="content_description_open_file">Mở tệp</string>
|
||||||
<string name="content_description_node_children">Nút con</string>
|
<string name="content_description_node_children">Nút con</string>
|
||||||
<string name="content_description_add_node">Thêm nút</string>
|
<string name="content_description_add_node">Thêm nút</string>
|
||||||
<string name="content_description_add_entry">Thêm mục nhập</string>
|
<string name="content_description_add_entry">Thêm mục</string>
|
||||||
<string name="content_description_add_group">Thêm nhóm</string>
|
<string name="content_description_add_group">Thêm nhóm</string>
|
||||||
<string name="content_description_add_item">Thêm mục</string>
|
<string name="content_description_add_item">Thêm mục</string>
|
||||||
<string name="content_description_file_information">Thông tin tệp</string>
|
<string name="content_description_file_information">Thông tin tệp</string>
|
||||||
<string name="content_description_credentials_information">Thông tin xác thực</string>
|
<string name="content_description_credentials_information">Thông tin đăng nhập</string>
|
||||||
<string name="content_description_otp_information">Thông tin mật khẩu một lần</string>
|
<string name="content_description_otp_information">Thông tin mật khẩu một lần</string>
|
||||||
<string name="content_description_password_checkbox">Hộp kiểm mật khẩu</string>
|
<string name="content_description_password_checkbox">Hộp kiểm mật khẩu</string>
|
||||||
<string name="content_description_keyfile_checkbox">Hộp kiểm tệp khóa</string>
|
<string name="content_description_keyfile_checkbox">Hộp kiểm tệp khóa</string>
|
||||||
@@ -190,7 +190,7 @@
|
|||||||
<string name="error_otp_counter">Bộ đếm phải nằm trong khoảng từ %1$d đến %2$d.</string>
|
<string name="error_otp_counter">Bộ đếm phải nằm trong khoảng từ %1$d đến %2$d.</string>
|
||||||
<string name="error_otp_period">Khoảng thời gian phải nằm trong khoảng từ %1$d đến %2$d giây.</string>
|
<string name="error_otp_period">Khoảng thời gian phải nằm trong khoảng từ %1$d đến %2$d giây.</string>
|
||||||
<string name="error_otp_digits">Mã thông báo phải chứa %1$d đến %2$d chữ số.</string>
|
<string name="error_otp_digits">Mã thông báo phải chứa %1$d đến %2$d chữ số.</string>
|
||||||
<string name="error_otp_type">Loại OTP hiện tại không được biểu mẫu này nhận dạng, quá trình xác thực của nó có thể không tạo ra mã thông báo chính xác nữa.</string>
|
<string name="error_otp_type">Loại OTP hiện tại không thể được nhận dạng bởi biểu mẫu này, nó có khả năng không tạo ra mã thông báo chính xác nữa.</string>
|
||||||
<string name="error_string_type">Văn bản này không khớp với mục được yêu cầu.</string>
|
<string name="error_string_type">Văn bản này không khớp với mục được yêu cầu.</string>
|
||||||
<string name="error_registration_read_only">Không được phép lưu mục mới trong cơ sở dữ liệu chỉ đọc.</string>
|
<string name="error_registration_read_only">Không được phép lưu mục mới trong cơ sở dữ liệu chỉ đọc.</string>
|
||||||
<string name="error_field_name_already_exists">Tên trường đã tồn tại.</string>
|
<string name="error_field_name_already_exists">Tên trường đã tồn tại.</string>
|
||||||
@@ -206,7 +206,7 @@
|
|||||||
<string name="error_no_response_from_challenge">Không thể nhận được phản hồi từ thử thách.</string>
|
<string name="error_no_response_from_challenge">Không thể nhận được phản hồi từ thử thách.</string>
|
||||||
<string name="error_cancel_by_user">Đã bị người dùng hủy.</string>
|
<string name="error_cancel_by_user">Đã bị người dùng hủy.</string>
|
||||||
<string name="error_driver_required">Cần có trình điều khiển cho %1$s.</string>
|
<string name="error_driver_required">Cần có trình điều khiển cho %1$s.</string>
|
||||||
<string name="error_unable_merge_database_kdb">Không thể hợp nhất từ cơ sở dữ liệu V1.</string>
|
<string name="error_unable_merge_database_kdb">Không thể hợp nhất với cơ sở dữ liệu của tệp kdb.</string>
|
||||||
<string name="error_location_unknown">Vị trí cơ sở dữ liệu không xác định, hành động cơ sở dữ liệu không thể được thực hiện.</string>
|
<string name="error_location_unknown">Vị trí cơ sở dữ liệu không xác định, hành động cơ sở dữ liệu không thể được thực hiện.</string>
|
||||||
<string name="error_hardware_key_unsupported">Khóa phần cứng không được hỗ trợ.</string>
|
<string name="error_hardware_key_unsupported">Khóa phần cứng không được hỗ trợ.</string>
|
||||||
<string name="error_empty_key">Khóa không được để trống.</string>
|
<string name="error_empty_key">Khóa không được để trống.</string>
|
||||||
@@ -260,7 +260,7 @@
|
|||||||
<string name="menu_device_unlock_settings_summary">Sinh trắc học, thông tin xác thực thiết bị</string>
|
<string name="menu_device_unlock_settings_summary">Sinh trắc học, thông tin xác thực thiết bị</string>
|
||||||
<string name="menu_database_settings">Thiết đặt cơ sở dữ liệu</string>
|
<string name="menu_database_settings">Thiết đặt cơ sở dữ liệu</string>
|
||||||
<string name="menu_database_settings_summary">Siêu dữ liệu, thùng rác, mẫu, lịch sử</string>
|
<string name="menu_database_settings_summary">Siêu dữ liệu, thùng rác, mẫu, lịch sử</string>
|
||||||
<string name="menu_security_settings">Thiết đặt bảo mật</string>
|
<string name="menu_security_settings">Thiết lập bảo mật</string>
|
||||||
<string name="menu_security_settings_summary">Mã hóa, hàm dẫn xuất khóa</string>
|
<string name="menu_security_settings_summary">Mã hóa, hàm dẫn xuất khóa</string>
|
||||||
<string name="menu_master_key_settings">Thiết đặt khóa chính</string>
|
<string name="menu_master_key_settings">Thiết đặt khóa chính</string>
|
||||||
<string name="master_key_settings_summary">Thay đổi, gia hạn</string>
|
<string name="master_key_settings_summary">Thay đổi, gia hạn</string>
|
||||||
@@ -726,4 +726,7 @@
|
|||||||
<string name="hide_expired_entries_title">Ẩn các mục đã hết hạn</string>
|
<string name="hide_expired_entries_title">Ẩn các mục đã hết hạn</string>
|
||||||
<string name="hide_expired_entries_summary">Các mục hết hạn không được hiển thị</string>
|
<string name="hide_expired_entries_summary">Các mục hết hạn không được hiển thị</string>
|
||||||
<string name="warning_database_info_changed_options_read_only">Tải lại cơ sở dữ liệu với những thay đổi mới nhất.</string>
|
<string name="warning_database_info_changed_options_read_only">Tải lại cơ sở dữ liệu với những thay đổi mới nhất.</string>
|
||||||
|
<string name="entry_application_id">ID ứng dụng</string>
|
||||||
|
<string name="error_otp_secret_length">Mã bí mật tối thiểu phải có %1$d ký tự.</string>
|
||||||
|
<string name="generate_keyfile">Tạo ra tệp khóa</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
@@ -205,14 +205,14 @@
|
|||||||
<string name="build_label">构建 %1$s</string>
|
<string name="build_label">构建 %1$s</string>
|
||||||
<string name="encrypted_value_stored">加密密码已保存</string>
|
<string name="encrypted_value_stored">加密密码已保存</string>
|
||||||
<string name="unavailable">不可用</string>
|
<string name="unavailable">不可用</string>
|
||||||
<string name="set_credential_provider_service_title">设为默认自动填充服务</string>
|
<string name="set_credential_provider_service_title">凭据提供程序服务</string>
|
||||||
<string name="autofill_explanation_summary">启用自动填充功能,以快速填写其他应用中的表单</string>
|
<string name="autofill_explanation_summary">配置自动填充功能以快速填写其他应用中的表单</string>
|
||||||
<string name="password_size_title">密码生成长度</string>
|
<string name="password_size_title">密码生成长度</string>
|
||||||
<string name="password_size_summary">设置生成密码的默认长度</string>
|
<string name="password_size_summary">设置生成密码的默认长度</string>
|
||||||
<string name="list_password_generator_options_title">密码字符集</string>
|
<string name="list_password_generator_options_title">密码字符集</string>
|
||||||
<string name="list_password_generator_options_summary">设置密码生成时所允许的字符集</string>
|
<string name="list_password_generator_options_summary">设置密码生成时所允许的字符集</string>
|
||||||
<string name="clipboard_notifications_summary">显示剪贴板通知,以便在查看条目时复制字段</string>
|
<string name="clipboard_notifications_summary">显示剪贴板通知,以便在查看条目时复制字段</string>
|
||||||
<string name="clipboard_warning">如自动清空剪切板失败,则请手动清空。</string>
|
<string name="clipboard_warning">如果自动删除剪贴板失败,请手动删除其历史记录。</string>
|
||||||
<string name="lock_database_screen_off_title">锁定屏幕</string>
|
<string name="lock_database_screen_off_title">锁定屏幕</string>
|
||||||
<string name="lock_database_screen_off_summary">屏幕关闭几秒钟后锁定数据库</string>
|
<string name="lock_database_screen_off_summary">屏幕关闭几秒钟后锁定数据库</string>
|
||||||
<string name="biometric_unlock_enable_title">生物识别解锁</string>
|
<string name="biometric_unlock_enable_title">生物识别解锁</string>
|
||||||
@@ -250,7 +250,7 @@
|
|||||||
<string name="keyboard_key_vibrate_title">按键震动</string>
|
<string name="keyboard_key_vibrate_title">按键震动</string>
|
||||||
<string name="keyboard_key_sound_title">按键声音</string>
|
<string name="keyboard_key_sound_title">按键声音</string>
|
||||||
<string name="allow_no_password_title">允许主密钥为空</string>
|
<string name="allow_no_password_title">允许主密钥为空</string>
|
||||||
<string name="allow_no_password_summary">如果没有凭证被选中,允许轻按“打开”按钮</string>
|
<string name="allow_no_password_summary">如果未选择任何凭据,仍可点按“打开”按钮</string>
|
||||||
<string name="enable_education_screens_title">新手引导</string>
|
<string name="enable_education_screens_title">新手引导</string>
|
||||||
<string name="enable_education_screens_summary">高亮界面元素来学习本应用工作方式</string>
|
<string name="enable_education_screens_summary">高亮界面元素来学习本应用工作方式</string>
|
||||||
<string name="reset_education_screens_title">重置新手引导</string>
|
<string name="reset_education_screens_title">重置新手引导</string>
|
||||||
@@ -301,8 +301,8 @@
|
|||||||
<string name="html_text_dev_feature_upgrade">别忘了通过安装新版本来保持你的应用是最新的。</string>
|
<string name="html_text_dev_feature_upgrade">别忘了通过安装新版本来保持你的应用是最新的。</string>
|
||||||
<string name="selection_mode">选择模式</string>
|
<string name="selection_mode">选择模式</string>
|
||||||
<string name="do_not_kill_app">不要终止应用…</string>
|
<string name="do_not_kill_app">不要终止应用…</string>
|
||||||
<string name="lock_database_back_root_title">按返回键以锁定</string>
|
<string name="lock_database_back_root_title">按“返回”锁定</string>
|
||||||
<string name="lock_database_back_root_summary">当用户单击根屏幕上的返回按钮时锁定数据库</string>
|
<string name="lock_database_back_root_summary">如果您位于数据库的根屏幕,请按“返回”锁定数据库</string>
|
||||||
<string name="clear_clipboard_notification_title">关闭应用时清空剪贴板</string>
|
<string name="clear_clipboard_notification_title">关闭应用时清空剪贴板</string>
|
||||||
<string name="clear_clipboard_notification_summary">剪贴板持续时间过期或通知在您开始使用后关闭时,锁定数据库</string>
|
<string name="clear_clipboard_notification_summary">剪贴板持续时间过期或通知在您开始使用后关闭时,锁定数据库</string>
|
||||||
<string name="recycle_bin">回收站</string>
|
<string name="recycle_bin">回收站</string>
|
||||||
@@ -324,7 +324,7 @@
|
|||||||
<string name="content_description_password_length">密码长度</string>
|
<string name="content_description_password_length">密码长度</string>
|
||||||
<string name="entry_add_field">添加字段</string>
|
<string name="entry_add_field">添加字段</string>
|
||||||
<string name="content_description_remove_field">删除字段</string>
|
<string name="content_description_remove_field">删除字段</string>
|
||||||
<string name="entry_UUID">UUID,通用唯一识别码(Universally Unique Identifier)</string>
|
<string name="entry_UUID">UUID</string>
|
||||||
<string name="error_move_entry_here">你不能将条目移到此处。</string>
|
<string name="error_move_entry_here">你不能将条目移到此处。</string>
|
||||||
<string name="error_copy_entry_here">您不能将条目复制到此处。</string>
|
<string name="error_copy_entry_here">您不能将条目复制到此处。</string>
|
||||||
<string name="list_groups_show_number_entries_title">显示条目数量</string>
|
<string name="list_groups_show_number_entries_title">显示条目数量</string>
|
||||||
@@ -341,7 +341,7 @@
|
|||||||
<string name="disable">禁用</string>
|
<string name="disable">禁用</string>
|
||||||
<string name="master_key">主密钥</string>
|
<string name="master_key">主密钥</string>
|
||||||
<string name="security">安全</string>
|
<string name="security">安全</string>
|
||||||
<string name="entry_history">修改历史</string>
|
<string name="entry_history">历史</string>
|
||||||
<string name="entry_setup_otp">设置 OTP</string>
|
<string name="entry_setup_otp">设置 OTP</string>
|
||||||
<string name="otp_type">OTP 类型</string>
|
<string name="otp_type">OTP 类型</string>
|
||||||
<string name="otp_secret">OTP 密钥</string>
|
<string name="otp_secret">OTP 密钥</string>
|
||||||
@@ -431,10 +431,10 @@
|
|||||||
<string name="error_label_exists">该标签已经存在。</string>
|
<string name="error_label_exists">该标签已经存在。</string>
|
||||||
<string name="autofill_block_restart">重新启动包含该表单的应用以激活拦截。</string>
|
<string name="autofill_block_restart">重新启动包含该表单的应用以激活拦截。</string>
|
||||||
<string name="autofill_block">阻止自动填充</string>
|
<string name="autofill_block">阻止自动填充</string>
|
||||||
<string name="autofill_web_domain_blocklist_summary">禁止在下列域名中自动填充凭证</string>
|
<string name="autofill_web_domain_blocklist_summary">用于阻止网络域名自动填充的阻止名单</string>
|
||||||
<string name="autofill_web_domain_blocklist_title">网址域名黑名单</string>
|
<string name="autofill_web_domain_blocklist_title">网络域名阻止名单</string>
|
||||||
<string name="autofill_application_id_blocklist_summary">禁止应用自动填充的黑名单</string>
|
<string name="autofill_application_id_blocklist_summary">用于阻止应用自动填充的阻止名单</string>
|
||||||
<string name="autofill_application_id_blocklist_title">应用拦截列表</string>
|
<string name="autofill_application_id_blocklist_title">应用阻止名单</string>
|
||||||
<string name="filter">过滤器</string>
|
<string name="filter">过滤器</string>
|
||||||
<string name="subdomain_search_summary">搜索带有子域约束的网址域名</string>
|
<string name="subdomain_search_summary">搜索带有子域约束的网址域名</string>
|
||||||
<string name="subdomain_search_title">子域搜索</string>
|
<string name="subdomain_search_title">子域搜索</string>
|
||||||
@@ -453,7 +453,7 @@
|
|||||||
<string name="warning_file_too_big">KeePass 数据库应该只包含小的实用程序文件(例如 PGP 密钥文件)。
|
<string name="warning_file_too_big">KeePass 数据库应该只包含小的实用程序文件(例如 PGP 密钥文件)。
|
||||||
\n
|
\n
|
||||||
\n上传大文件会使增大数据库体积并降低性能。</string>
|
\n上传大文件会使增大数据库体积并降低性能。</string>
|
||||||
<string name="content_description_credentials_information">凭证信息</string>
|
<string name="content_description_credentials_information">凭据信息</string>
|
||||||
<string name="warning_remove_unlinked_attachment">删除未链接的数据可能会减少数据库的大小,但也可能会删除用于 KeePass 插件的数据。</string>
|
<string name="warning_remove_unlinked_attachment">删除未链接的数据可能会减少数据库的大小,但也可能会删除用于 KeePass 插件的数据。</string>
|
||||||
<string name="warning_sure_remove_data">无论如何要删除这些数据\?</string>
|
<string name="warning_sure_remove_data">无论如何要删除这些数据\?</string>
|
||||||
<string name="warning_empty_keyfile">不推荐添加一个空的密钥文件。</string>
|
<string name="warning_empty_keyfile">不推荐添加一个空的密钥文件。</string>
|
||||||
@@ -476,7 +476,7 @@
|
|||||||
<string name="keyboard_save_search_info_title">保存分享的信息</string>
|
<string name="keyboard_save_search_info_title">保存分享的信息</string>
|
||||||
<string name="notification">通知</string>
|
<string name="notification">通知</string>
|
||||||
<string name="biometric_security_update_required">需要生物识别安全更新。</string>
|
<string name="biometric_security_update_required">需要生物识别安全更新。</string>
|
||||||
<string name="configure_biometric">未登记生物识别或设备凭证。</string>
|
<string name="configure_biometric">未注册生物识别或设备凭据。</string>
|
||||||
<string name="warning_empty_recycle_bin">从回收站永久删除所有节点?</string>
|
<string name="warning_empty_recycle_bin">从回收站永久删除所有节点?</string>
|
||||||
<string name="save_mode">保存模式</string>
|
<string name="save_mode">保存模式</string>
|
||||||
<string name="search_mode">搜索模式</string>
|
<string name="search_mode">搜索模式</string>
|
||||||
@@ -507,7 +507,7 @@
|
|||||||
<string name="temp_device_unlock_timeout_title">设备解锁过期</string>
|
<string name="temp_device_unlock_timeout_title">设备解锁过期</string>
|
||||||
<string name="temp_device_unlock_enable_summary">使用设备解锁但不存储任何加密内容</string>
|
<string name="temp_device_unlock_enable_summary">使用设备解锁但不存储任何加密内容</string>
|
||||||
<string name="temp_device_unlock_enable_title">临时性设备解锁</string>
|
<string name="temp_device_unlock_enable_title">临时性设备解锁</string>
|
||||||
<string name="device_unlock_tap_delete">轻按删除设备解锁密钥</string>
|
<string name="device_unlock_tap_delete">点按删除设备解锁密钥</string>
|
||||||
<string name="content">内容</string>
|
<string name="content">内容</string>
|
||||||
<string name="error_rebuild_list">无法正确地重建列表。</string>
|
<string name="error_rebuild_list">无法正确地重建列表。</string>
|
||||||
<string name="error_database_uri_null">无法检索数据库 URI 。</string>
|
<string name="error_database_uri_null">无法检索数据库 URI 。</string>
|
||||||
@@ -522,7 +522,7 @@
|
|||||||
<string name="unit_mebibyte">兆字节</string>
|
<string name="unit_mebibyte">兆字节</string>
|
||||||
<string name="unit_kibibyte">千位字节</string>
|
<string name="unit_kibibyte">千位字节</string>
|
||||||
<string name="unit_byte">字节</string>
|
<string name="unit_byte">字节</string>
|
||||||
<string name="error_otp_type">现有的 OTP 类型未被此表单所识别,其验证可能不再正确生成令牌。</string>
|
<string name="error_otp_type">现有的 OTP 类型未被此表单所识别,并且其验证可能不再正确生成令牌。</string>
|
||||||
<string name="download_canceled">已取消!</string>
|
<string name="download_canceled">已取消!</string>
|
||||||
<string name="icon_section_custom">自定义</string>
|
<string name="icon_section_custom">自定义</string>
|
||||||
<string name="icon_section_standard">标准</string>
|
<string name="icon_section_standard">标准</string>
|
||||||
@@ -671,7 +671,7 @@
|
|||||||
<string name="later">以后再说</string>
|
<string name="later">以后再说</string>
|
||||||
<string name="configure">配置</string>
|
<string name="configure">配置</string>
|
||||||
<string name="unlock_and_link_biometric">设备解锁链接</string>
|
<string name="unlock_and_link_biometric">设备解锁链接</string>
|
||||||
<string name="menu_appearance_settings_summary">主题、颜色、属性</string>
|
<string name="menu_appearance_settings_summary">主题、颜色、图标、字体、属性</string>
|
||||||
<string name="unlock">解锁</string>
|
<string name="unlock">解锁</string>
|
||||||
<string name="education_validate_entry_title">验证条目</string>
|
<string name="education_validate_entry_title">验证条目</string>
|
||||||
<string name="info">信息</string>
|
<string name="info">信息</string>
|
||||||
@@ -703,4 +703,45 @@
|
|||||||
<string name="nodes">节点</string>
|
<string name="nodes">节点</string>
|
||||||
<string name="recursive_number_entries_title">条目的递归数</string>
|
<string name="recursive_number_entries_title">条目的递归数</string>
|
||||||
<string name="error_otp_secret_length">密钥长度至少为 %1$d 个字符。</string>
|
<string name="error_otp_secret_length">密钥长度至少为 %1$d 个字符。</string>
|
||||||
|
<string name="passkeys_missing_signature_app_ask_message">%1$s 未被识别,并尝试使用现有通行密钥进行身份验证。</string>
|
||||||
|
<string name="entry_application_id">应用 ID</string>
|
||||||
|
<string name="warning_overwrite_data_title">覆盖现有数据?</string>
|
||||||
|
<string name="warning_overwrite_data_description">此操作将替换条目中的现有数据,如果启用了历史记录,您可以检索旧数据。</string>
|
||||||
|
<string name="passkeys">通行密钥</string>
|
||||||
|
<string name="passkeys_explanation_summary">配置通行密钥以实现快速安全的无密码登录</string>
|
||||||
|
<string name="passkeys_preference_title">通行密钥设置</string>
|
||||||
|
<string name="passkeys_close_database_title">关闭数据库</string>
|
||||||
|
<string name="passkeys_close_database_summary">在选择通行密钥后关闭数据库</string>
|
||||||
|
<string name="passkeys_privileged_apps_title">特权应用</string>
|
||||||
|
<string name="passkey">通行密钥</string>
|
||||||
|
<string name="passkey_creation_description">在新条目中保存通行密钥</string>
|
||||||
|
<string name="passkey_update_description">在 %1$s 中更新通行密钥</string>
|
||||||
|
<string name="passkey_selection_username">未找到通行密钥</string>
|
||||||
|
<string name="passkey_selection_description">选择现有通行密钥</string>
|
||||||
|
<string name="passkey_database_username">KeePassDX 数据库</string>
|
||||||
|
<string name="passkey_username">通行密钥用户名</string>
|
||||||
|
<string name="passkey_private_key">通行密钥私钥</string>
|
||||||
|
<string name="passkey_credential_id">通行密钥凭据 ID</string>
|
||||||
|
<string name="passkey_relying_party">通行密钥依赖方</string>
|
||||||
|
<string name="passkey_backup_eligibility">通行密钥备份资格</string>
|
||||||
|
<string name="passkey_backup_state">通行密钥备份状态</string>
|
||||||
|
<string name="error_passkey_result">无法返回通行密钥</string>
|
||||||
|
<string name="passkeys_backup_eligibility_title">备份资格</string>
|
||||||
|
<string name="passkeys_backup_state_title">备份状态</string>
|
||||||
|
<string name="passkeys_auto_select_title">自动选择</string>
|
||||||
|
<string name="passkeys_missing_signature_app_ask_title">签名缺失</string>
|
||||||
|
<string name="passkey_user_handle">通行密钥用户句柄</string>
|
||||||
|
<string name="passkey_locked_database_description">选择以解锁</string>
|
||||||
|
<string name="credential_provider">凭据提供程序</string>
|
||||||
|
<string name="passkey_service_name">KeePassDX 凭据提供程序</string>
|
||||||
|
<string name="credential_provider_service_subtitle">通行密钥、自动填充凭据提供程序</string>
|
||||||
|
<string name="passkeys_privileged_apps_summary">管理自定义特权应用列表中的浏览器</string>
|
||||||
|
<string name="passkeys_privileged_apps_ask_title">应用未被识别</string>
|
||||||
|
<string name="passkeys_privileged_apps_ask_message">%1$s 尝试执行通行密钥操作。\n\n是否将其添加到特权应用列表?</string>
|
||||||
|
<string name="passkeys_privileged_apps_explanation">警告:特权应用充当检索身份验证来源的网关。请确保其合法性以避免安全问题。</string>
|
||||||
|
<string name="passkeys_auto_select_summary">仅当请求的应用兼容时,如果只有一个条目且数据库打开,则自动选择</string>
|
||||||
|
<string name="passkeys_backup_eligibility_summary">在创建时确定是否允许备份公钥凭据来源</string>
|
||||||
|
<string name="passkeys_backup_state_summary">指示凭据已备份并受到保护,防止单设备丢失的影响</string>
|
||||||
|
<string name="passkeys_missing_signature_app_ask_explanation">警告:通行密钥是从其他客户端创建的,或者签名已被删除。请确保您要验证的应用属于同一服务并且合法,以避免安全问题。\n如果应用是浏览器,请勿将其签名添加到条目中,而是添加到设置中的特权应用列表中。</string>
|
||||||
|
<string name="passkeys_missing_signature_app_ask_question">是否将应用签名添加到通行密钥条目?</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
@@ -192,7 +192,7 @@
|
|||||||
<string name="error_otp_counter">Counter must be between %1$d and %2$d.</string>
|
<string name="error_otp_counter">Counter must be between %1$d and %2$d.</string>
|
||||||
<string name="error_otp_period">Period must be between %1$d and %2$d seconds.</string>
|
<string name="error_otp_period">Period must be between %1$d and %2$d seconds.</string>
|
||||||
<string name="error_otp_digits">Token must contain %1$d to %2$d digits.</string>
|
<string name="error_otp_digits">Token must contain %1$d to %2$d digits.</string>
|
||||||
<string name="error_otp_type">The existing OTP type is not recognized by this form, its validation may no longer correctly generate the token.</string>
|
<string name="error_otp_type">The existing OTP type is not recognized by this form, and its validation may no longer correctly generate the token.</string>
|
||||||
<string name="error_string_type">This text does not match the requested item.</string>
|
<string name="error_string_type">This text does not match the requested item.</string>
|
||||||
<string name="error_registration_read_only">Saving a new item is not allowed in a read-only database.</string>
|
<string name="error_registration_read_only">Saving a new item is not allowed in a read-only database.</string>
|
||||||
<string name="error_field_name_already_exists">The field name already exists.</string>
|
<string name="error_field_name_already_exists">The field name already exists.</string>
|
||||||
@@ -461,7 +461,7 @@
|
|||||||
<string name="lock_database_screen_off_title">Screen lock</string>
|
<string name="lock_database_screen_off_title">Screen lock</string>
|
||||||
<string name="lock_database_screen_off_summary">Lock the database after a few seconds once the screen is off</string>
|
<string name="lock_database_screen_off_summary">Lock the database after a few seconds once the screen is off</string>
|
||||||
<string name="lock_database_back_root_title">Press \'Back\' to lock</string>
|
<string name="lock_database_back_root_title">Press \'Back\' to lock</string>
|
||||||
<string name="lock_database_back_root_summary">Lock the database when the user clicks the back button on the root screen</string>
|
<string name="lock_database_back_root_summary">Press \'Back\' to lock the database if you\'re at the root screen of the database</string>
|
||||||
<string name="lock_database_show_button_title">Show lock button</string>
|
<string name="lock_database_show_button_title">Show lock button</string>
|
||||||
<string name="lock_database_show_button_summary">Displays the lock button in the user interface</string>
|
<string name="lock_database_show_button_summary">Displays the lock button in the user interface</string>
|
||||||
<string name="content">Content</string>
|
<string name="content">Content</string>
|
||||||
|
|||||||
@@ -55,7 +55,7 @@ Settings Activity. This is pointed to in the service's meta-data in the applicat
|
|||||||
android:maxLongVersionCode="10000000000" />
|
android:maxLongVersionCode="10000000000" />
|
||||||
<compatibility-package
|
<compatibility-package
|
||||||
android:name="com.brave.browser"
|
android:name="com.brave.browser"
|
||||||
android:maxLongVersionCode="10000000000" />
|
android:maxLongVersionCode="427912623" />
|
||||||
<compatibility-package
|
<compatibility-package
|
||||||
android:name="com.brave.browser_beta"
|
android:name="com.brave.browser_beta"
|
||||||
android:maxLongVersionCode="10000000000" />
|
android:maxLongVersionCode="10000000000" />
|
||||||
@@ -263,6 +263,9 @@ Settings Activity. This is pointed to in the service's meta-data in the applicat
|
|||||||
<compatibility-package
|
<compatibility-package
|
||||||
android:name="org.ironfoxoss.ironfox"
|
android:name="org.ironfoxoss.ironfox"
|
||||||
android:maxLongVersionCode="10000000000" />
|
android:maxLongVersionCode="10000000000" />
|
||||||
|
<compatibility-package
|
||||||
|
android:name="org.ironfoxoss.ironfox.nightly"
|
||||||
|
android:maxLongVersionCode="10000000000" />
|
||||||
<compatibility-package
|
<compatibility-package
|
||||||
android:name="org.mozilla.fenix"
|
android:name="org.mozilla.fenix"
|
||||||
android:maxLongVersionCode="10000000000" />
|
android:maxLongVersionCode="10000000000" />
|
||||||
|
|||||||
@@ -224,6 +224,10 @@ class DateInstant : Parcelable {
|
|||||||
return this.mInstant.isAfter(dateInstant.mInstant)
|
return this.mInstant.isAfter(dateInstant.mInstant)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun isEquals(dateInstant: DateInstant): Boolean {
|
||||||
|
return this.mInstant.isEqual(dateInstant.mInstant)
|
||||||
|
}
|
||||||
|
|
||||||
fun compareTo(other: DateInstant): Int {
|
fun compareTo(other: DateInstant): Int {
|
||||||
return mInstant.compareTo(other.mInstant)
|
return mInstant.compareTo(other.mInstant)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -433,6 +433,32 @@ class DatabaseKDBXMerger(private var database: DatabaseKDBX) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return the real parent in database from a group defined as parent
|
||||||
|
* If the parent is null, simply return the root group
|
||||||
|
* Guaranteed that a return group is linked to the database tree through its ancestors
|
||||||
|
*/
|
||||||
|
private fun getAttachedParent(
|
||||||
|
group: GroupKDBX?
|
||||||
|
): GroupKDBX {
|
||||||
|
var realParent: GroupKDBX = database.rootGroup!!
|
||||||
|
group?.let { parent ->
|
||||||
|
val parentInDatabase = database.getGroupById(parent.nodeId)
|
||||||
|
if (parentInDatabase == null) {
|
||||||
|
realParent = GroupKDBX().apply {
|
||||||
|
updateWith(parent, updateParents = false)
|
||||||
|
}
|
||||||
|
database.addGroupTo(
|
||||||
|
realParent,
|
||||||
|
getAttachedParent(parent.parent)
|
||||||
|
)
|
||||||
|
} else {
|
||||||
|
realParent = parentInDatabase
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return realParent
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Utility method to merge a KDBX entry
|
* Utility method to merge a KDBX entry
|
||||||
*/
|
*/
|
||||||
@@ -443,10 +469,7 @@ class DatabaseKDBXMerger(private var database: DatabaseKDBX) {
|
|||||||
|
|
||||||
databaseToMerge.getEntryById(entryId)?.let { srcEntryToMerge ->
|
databaseToMerge.getEntryById(entryId)?.let { srcEntryToMerge ->
|
||||||
// Retrieve parent in current database
|
// Retrieve parent in current database
|
||||||
var parentEntryToMerge: GroupKDBX? = null
|
val parentEntryToMerge: GroupKDBX = getAttachedParent(srcEntryToMerge.parent)
|
||||||
srcEntryToMerge.parent?.nodeId?.let {
|
|
||||||
parentEntryToMerge = database.getGroupById(it)
|
|
||||||
}
|
|
||||||
val entryToMerge = EntryKDBX().apply {
|
val entryToMerge = EntryKDBX().apply {
|
||||||
updateWith(srcEntryToMerge, copyHistory = true, updateParents = false)
|
updateWith(srcEntryToMerge, copyHistory = true, updateParents = false)
|
||||||
}
|
}
|
||||||
@@ -478,57 +501,55 @@ class DatabaseKDBXMerger(private var database: DatabaseKDBX) {
|
|||||||
// If it's a deleted object, but another instance was updated
|
// If it's a deleted object, but another instance was updated
|
||||||
// If entry parent to add exists and in current database
|
// If entry parent to add exists and in current database
|
||||||
if ((deletedObject == null
|
if ((deletedObject == null
|
||||||
|| deletedObject.deletionTime.isBefore(entryToMerge.lastModificationTime))
|
|| deletedObject.deletionTime.isBefore(entryToMerge.lastModificationTime))) {
|
||||||
&& parentEntryToMerge != null) {
|
|
||||||
database.addEntryTo(entryToMerge, parentEntryToMerge)
|
database.addEntryTo(entryToMerge, parentEntryToMerge)
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// Merge independently custom data
|
// Merge independently custom data
|
||||||
mergeCustomData(entry.customData, entryToMerge.customData)
|
mergeCustomData(entry.customData, entryToMerge.customData)
|
||||||
// Merge by modification time
|
// Merge by modification time
|
||||||
if (entry.lastModificationTime.isBefore(entryToMerge.lastModificationTime)
|
if (entry.lastModificationTime.isBefore(entryToMerge.lastModificationTime)) {
|
||||||
) {
|
// Update entry with databaseEntryToMerge and merge history
|
||||||
addHistory(entry, entryToMerge)
|
entryToMerge.addHistoryFrom(entry)
|
||||||
if (parentEntryToMerge == entry.parent) {
|
entry.updateWith(entryToMerge, copyHistory = true, updateParents = false)
|
||||||
entry.updateWith(entryToMerge, copyHistory = true, updateParents = false)
|
// Move the current entry to the verified location
|
||||||
} else {
|
database.removeEntryFrom(entry, entry.parent)
|
||||||
// Update entry with databaseEntryToMerge and merge history
|
database.addEntryTo(entry, parentEntryToMerge)
|
||||||
database.removeEntryFrom(entry, entry.parent)
|
} else if (entry.lastModificationTime.isAfter(entryToMerge.lastModificationTime)) {
|
||||||
if (parentEntryToMerge != null) {
|
// Don't touch the location but update the entry history
|
||||||
database.addEntryTo(entryToMerge, parentEntryToMerge)
|
entry.addHistoryFrom(entryToMerge)
|
||||||
}
|
} else if (entry.lastModificationTime.isEquals(entryToMerge.lastModificationTime)) {
|
||||||
}
|
// If it's the same modification time, simply move entry to the right location,
|
||||||
} else if (entry.lastModificationTime.isAfter(entryToMerge.lastModificationTime)
|
// Current entry and entry to merge are normally the same
|
||||||
) {
|
database.removeEntryFrom(entry, entry.parent)
|
||||||
addHistory(entryToMerge, entry)
|
database.addEntryTo(entry, parentEntryToMerge)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Utility method to merge an history from an [entryA] to an [entryB],
|
* Utility method to merge an history from an [entryA]
|
||||||
* [entryB] is modified
|
|
||||||
*/
|
*/
|
||||||
private fun addHistory(entryA: EntryKDBX, entryB: EntryKDBX) {
|
private fun EntryKDBX.addHistoryFrom(entryA: EntryKDBX) {
|
||||||
// Keep entry as history if already not present
|
// Keep entry as history if already not present
|
||||||
entryA.history.forEach { history ->
|
entryA.history.forEach { history ->
|
||||||
// If history not present
|
// If history not present
|
||||||
if (!entryB.history.any {
|
if (!this.history.any {
|
||||||
it.lastModificationTime == history.lastModificationTime
|
it.lastModificationTime == history.lastModificationTime
|
||||||
}) {
|
}) {
|
||||||
entryB.addEntryToHistory(history)
|
this.addEntryToHistory(history)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Last entry not present
|
// Last entry not present
|
||||||
if (entryB.history.find {
|
if (this.history.find {
|
||||||
it.lastModificationTime == entryA.lastModificationTime
|
it.lastModificationTime == entryA.lastModificationTime
|
||||||
} == null) {
|
} == null) {
|
||||||
val history = EntryKDBX().apply {
|
val history = EntryKDBX().apply {
|
||||||
updateWith(entryA, copyHistory = false, updateParents = false)
|
updateWith(entryA, copyHistory = false, updateParents = false)
|
||||||
parent = null
|
parent = null
|
||||||
}
|
}
|
||||||
entryB.addEntryToHistory(history)
|
this.addEntryToHistory(history)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -542,10 +563,7 @@ class DatabaseKDBXMerger(private var database: DatabaseKDBX) {
|
|||||||
|
|
||||||
databaseToMerge.getGroupById(groupId)?.let { srcGroupToMerge ->
|
databaseToMerge.getGroupById(groupId)?.let { srcGroupToMerge ->
|
||||||
// Retrieve parent in current database
|
// Retrieve parent in current database
|
||||||
var parentGroupToMerge: GroupKDBX? = null
|
val parentGroupToMerge: GroupKDBX = getAttachedParent(srcGroupToMerge.parent)
|
||||||
srcGroupToMerge.parent?.nodeId?.let {
|
|
||||||
parentGroupToMerge = database.getGroupById(it)
|
|
||||||
}
|
|
||||||
val groupToMerge = GroupKDBX().apply {
|
val groupToMerge = GroupKDBX().apply {
|
||||||
updateWith(srcGroupToMerge, updateParents = false)
|
updateWith(srcGroupToMerge, updateParents = false)
|
||||||
}
|
}
|
||||||
@@ -553,24 +571,24 @@ class DatabaseKDBXMerger(private var database: DatabaseKDBX) {
|
|||||||
if (group == null) {
|
if (group == null) {
|
||||||
// If group parent to add exists and in current database
|
// If group parent to add exists and in current database
|
||||||
if ((deletedObject == null
|
if ((deletedObject == null
|
||||||
|| deletedObject.deletionTime.isBefore(groupToMerge.lastModificationTime))
|
|| deletedObject.deletionTime.isBefore(groupToMerge.lastModificationTime))) {
|
||||||
&& parentGroupToMerge != null) {
|
|
||||||
database.addGroupTo(groupToMerge, parentGroupToMerge)
|
database.addGroupTo(groupToMerge, parentGroupToMerge)
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// Merge independently custom data
|
// Merge independently custom data
|
||||||
mergeCustomData(group.customData, groupToMerge.customData)
|
mergeCustomData(group.customData, groupToMerge.customData)
|
||||||
// Merge by modification time
|
// Merge by modification time
|
||||||
if (group.lastModificationTime.isBefore(groupToMerge.lastModificationTime)
|
if (group.lastModificationTime.isBefore(groupToMerge.lastModificationTime)) {
|
||||||
) {
|
group.updateWith(groupToMerge, updateParents = false)
|
||||||
if (parentGroupToMerge == group.parent) {
|
// Update the current group location to the verified one
|
||||||
group.updateWith(groupToMerge, false)
|
database.removeGroupFrom(group, group.parent)
|
||||||
} else {
|
database.addGroupTo(group, parentGroupToMerge)
|
||||||
database.removeGroupFrom(group, group.parent)
|
} else if (group.lastModificationTime.isAfter(group.lastModificationTime)) {
|
||||||
if (parentGroupToMerge != null) {
|
// Don't touch the location
|
||||||
database.addGroupTo(groupToMerge, parentGroupToMerge)
|
} else if (group.lastModificationTime.isEquals(groupToMerge.lastModificationTime)) {
|
||||||
}
|
// If it's the same modification time, simply move group to the right location
|
||||||
}
|
database.removeGroupFrom(group, group.parent)
|
||||||
|
database.addGroupTo(group, parentGroupToMerge)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -71,7 +71,7 @@ object AppOriginEntryField {
|
|||||||
/**
|
/**
|
||||||
* Useful to detect if an other KeePass compatibility app already add a web domain or an app id
|
* Useful to detect if an other KeePass compatibility app already add a web domain or an app id
|
||||||
*/
|
*/
|
||||||
private fun EntryInfo.containsDomainOrApplicationId(search: String): Boolean {
|
fun EntryInfo.containsDomainOrApplicationId(search: String): Boolean {
|
||||||
if (url.contains(search))
|
if (url.contains(search))
|
||||||
return true
|
return true
|
||||||
return customFields.find {
|
return customFields.find {
|
||||||
@@ -159,5 +159,7 @@ object AppOriginEntryField {
|
|||||||
*/
|
*/
|
||||||
fun Field.isWebDomain(): Boolean {
|
fun Field.isWebDomain(): Boolean {
|
||||||
return this.name.startsWith(WEB_DOMAIN_FIELD_NAME)
|
return this.name.startsWith(WEB_DOMAIN_FIELD_NAME)
|
||||||
|
|| this.name.contains("_$WEB_DOMAIN_FIELD_NAME")
|
||||||
|
|| this.name.contains("${WEB_DOMAIN_FIELD_NAME}_")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -27,6 +27,7 @@ import com.kunzisoft.keepass.database.element.Database
|
|||||||
import com.kunzisoft.keepass.database.element.Field
|
import com.kunzisoft.keepass.database.element.Field
|
||||||
import com.kunzisoft.keepass.database.element.Tags
|
import com.kunzisoft.keepass.database.element.Tags
|
||||||
import com.kunzisoft.keepass.database.element.entry.AutoType
|
import com.kunzisoft.keepass.database.element.entry.AutoType
|
||||||
|
import com.kunzisoft.keepass.model.AppOriginEntryField.containsDomainOrApplicationId
|
||||||
import com.kunzisoft.keepass.model.AppOriginEntryField.setAppOrigin
|
import com.kunzisoft.keepass.model.AppOriginEntryField.setAppOrigin
|
||||||
import com.kunzisoft.keepass.model.AppOriginEntryField.setApplicationId
|
import com.kunzisoft.keepass.model.AppOriginEntryField.setApplicationId
|
||||||
import com.kunzisoft.keepass.model.AppOriginEntryField.setWebDomain
|
import com.kunzisoft.keepass.model.AppOriginEntryField.setWebDomain
|
||||||
@@ -183,6 +184,18 @@ class EntryInfo : NodeInfo {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* True if this entry contains domain or applicationId,
|
||||||
|
* OTP is ignored and considered not present
|
||||||
|
*/
|
||||||
|
fun containsSearchInfo(searchInfo: SearchInfo): Boolean {
|
||||||
|
return searchInfo.webDomain?.let { webDomain ->
|
||||||
|
containsDomainOrApplicationId(webDomain)
|
||||||
|
} ?: searchInfo.applicationId?.let { applicationId ->
|
||||||
|
containsDomainOrApplicationId(applicationId)
|
||||||
|
} ?: false
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add searchInfo to current EntryInfo
|
* Add searchInfo to current EntryInfo
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -82,6 +82,13 @@ inline fun <reified E : Parcelable> Bundle.getParcelableList(key: String?): Muta
|
|||||||
else -> @Suppress("DEPRECATION", "UNCHECKED_CAST") (getParcelableArray(key) as? Array<E>)?.toMutableList()
|
else -> @Suppress("DEPRECATION", "UNCHECKED_CAST") (getParcelableArray(key) as? Array<E>)?.toMutableList()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
inline fun <reified T : Enum<T>> Bundle.putEnum(key: String?, value: T?) =
|
||||||
|
putString(key, value?.name)
|
||||||
|
|
||||||
|
inline fun <reified T : Enum<T>> Bundle.getEnum(key: String?): T? {
|
||||||
|
return getString(key)?.let { enumValueOf<T>(it) }
|
||||||
|
}
|
||||||
|
|
||||||
// -------- Parcel --------
|
// -------- Parcel --------
|
||||||
|
|
||||||
inline fun <reified T : Parcelable> Parcel.readParcelableCompat(): T? = when {
|
inline fun <reified T : Parcelable> Parcel.readParcelableCompat(): T? = when {
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
مدير وحافظة كلمات سر آمنة ومفتوحة المصدر
|
أدر كلمات السر / Passkey في مخزن محلي ومفتوح المصدر
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
KeePassDX - مدير كلمات سر مفتوح المصدر
|
KeePassDX
|
||||||
|
|||||||
@@ -1,19 +1,21 @@
|
|||||||
KeePassDX je <b>trezor a správce hesel</b>, který umožňuje upravovat <b>šifrovaná data v jednom souboru</b> v otevřeném formátu KeePass a <b>bezpečně vyplňovat formuláře</b>, <b>nevyžaduje připojení k internetu</b> a integruje standardy designu systému Android. Aplikace je <b>open source a bez reklam</b>.
|
KeePassDX je open-source <b>trezor a správce hesel a přístupových klíčů</b>, který umožňuje upravovat <b>šifrovaná data v jednom souboru</b> v otevřeném formátu KeePass a <b>bezpečně vyplňovat formuláře</b>, <b>nevyžaduje připojení k internetu</b> a integruje standardy designu systému Android. Aplikace je <b>open source a bez reklam</b>.
|
||||||
|
|
||||||
<b>Funkce</b>
|
<b>Funkce</b>
|
||||||
|
|
||||||
- Vytváření databázových souborů / záznamů a skupin.
|
- Přístupové klíče pro přihlašování a lokální ukládání soukromých klíčů.
|
||||||
- Podpora souborů .kdb a .kdbx (verze 1 až 4) s algoritmy AES - Twofish - ChaCha20 - Argon2.
|
- Biometrické rozpoznávání pro rychlé odemykání (otisk prstu / odemykání obličejem / …).
|
||||||
- Kompatibilní s většinou alternativních programů (KeePass, KeePassXC, KeeWeb, …).
|
|
||||||
- Umožňuje rychlé otevírání a kopírování polí URI / URL.
|
|
||||||
- Biometrické rozpoznávání pro rychlé odemykání (otisk prstu / rozpoznání obličeje / …).
|
|
||||||
- Správa jednorázových hesel (HOTP / TOTP) pro dvoufaktorové ověřování (2FA).
|
- Správa jednorázových hesel (HOTP / TOTP) pro dvoufaktorové ověřování (2FA).
|
||||||
- Material Design s motivy.
|
- Automatické vyplňování pro snadné vyplňování formulářů s hesly.
|
||||||
- Automatické vyplňování a integrace.
|
- Magikeyboard pro efektivní vyplňování libovolných polí.
|
||||||
- Klávesnice pro vyplňování polí.
|
- Vytváření šifrovaných databázových souborů.
|
||||||
- Dynamické šablony.
|
- Organizace přihlašovacích údajů podle záznamů a ve skupinových stromech.
|
||||||
|
- Umožňuje rychlé otevírání a kopírování polí URI / URL.
|
||||||
|
- Dynamické šablony pro každý typ záznamu.
|
||||||
- Historie každého záznamu.
|
- Historie každého záznamu.
|
||||||
- Přesná správa nastavení.
|
- Přesná správa nastavení.
|
||||||
|
- Material Design s motivy.
|
||||||
|
- Podpora souborů .kdb a .kdbx (verze 1 až 4) s algoritmem AES - Twofish - ChaCha20 - Argon2.
|
||||||
|
- Kompatibilní s většinou alternativních programů (KeePass, KeePassXC, KeeWeb, …).
|
||||||
- Kód napsaný v nativních jazycích (Kotlin / Java / JNI / C).
|
- Kód napsaný v nativních jazycích (Kotlin / Java / JNI / C).
|
||||||
|
|
||||||
Můžete přispět nebo si koupit profesionální verzi pro lepší služby a rychlejší vývoj funkcí, které si přejete: <a href="https://play.google.com/store/apps/details?id=com.kunzisoft.keepass.pro">https://play.google.com/store/apps/details?id=com.kunzisoft.keepass.pro</a>
|
Můžete přispět nebo si koupit profesionální verzi pro lepší služby a rychlejší vývoj funkcí, které si přejete: <a href="https://play.google.com/store/apps/details?id=com.kunzisoft.keepass.pro">https://play.google.com/store/apps/details?id=com.kunzisoft.keepass.pro</a>
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
Bezpečný open-source trezor a správce hesel
|
Spravujte přístupové klíče a hesla v lokálním a open-source trezoru
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
KeePassDX – FOSS trezor hesel
|
KeePassDX – Trezor pro hesla
|
||||||
|
|||||||
@@ -1,19 +1,21 @@
|
|||||||
KeePassDX ist ein <b>Passwort-Safe und -Manager</b>, der es ermöglicht, verschlüsselte <b>Daten in einer einzigen Datei</b> im offenen KeePass-Format zu bearbeiten und <b>die Formulare auf sichere Weise auszufüllen</b>, <b>erfordert keine Internetverbindung</b> und integriert Android-Designstandards. Die App ist <b>Open Source, ohne Werbung</b>.
|
KeePassDX ist ein Open-Source-<b>Passwort-Tresor und -Manager</b>, der es ermöglicht, verschlüsselte <b>Daten in einer einzigen Datei</b> im offenen KeePass-Format zu bearbeiten und <b>die Formulare auf sichere Weise auszufüllen</b>, <b>erfordert keine Internetverbindung</b> und integriert Android-Designstandards. Die App ist <b>Open Source, ohne Werbung</b>.
|
||||||
|
|
||||||
<b>Funktionalitäten</b>
|
<b>Funktionalitäten</b>
|
||||||
|
|
||||||
- Erstellung von Datenbanken / Einträgen und Gruppen.
|
- Passkeys für die Authentifizierung und lokales Speichern privater Schlüssel.
|
||||||
- Unterstützung von .kdb- und .kdbx-Dateien (Version 1 bis 4) mit AES - Twofish - ChaCha20 - Argon2 Algorithmus.
|
- Biometrische Erkennung für schnelles Entsperren (Fingerabdruck / Entsperren durch Gesicht / …).
|
||||||
- Kompatibel mit den meisten alternativen Programmen (KeePass, KeePassXC, KeeWeb, ...).
|
- Verwaltung von Einmalpasswörtern (HOTP / TOTP) für die Zwei-Faktor-Authentifizierung (2FA).
|
||||||
- Ermöglicht das schnelle Kopieren von Feldern und das Öffnen von URIs /URLs.
|
- Automatisches Ausfüllen von Formularen mit Passwörtern.
|
||||||
- Biometrische Erkennung für eine schnelle Entsperrung (Fingerabdrücke / Entsperrung durch Gesicht / ...).
|
- Magikeyboard zum effizienten Ausfüllen beliebiger Felder.
|
||||||
- Verwaltung von Einmalpasswörtern (One-Time Password HOTP / TOTP) für die Zwei-Faktor-Authentifizierung (2FA).
|
- Erstellen verschlüsselter Datenbankdateien.
|
||||||
- Material Design mit Themen.
|
- Organisation von Anmeldedaten nach Einträgen und in Gruppenbäumen.
|
||||||
- Automatisches Ausfüllen von Feldern.
|
- Ermöglicht das schnelle Öffnen und Kopieren von URI-/URL-Feldern.
|
||||||
- Tastatur zum Ausfüllen von Feldern.
|
- Dynamische Vorlagen für jeden Eintragstyp.
|
||||||
- Dynamische Schablonen.
|
- Verlauf jedes Eintrags.
|
||||||
- Historie jedes Eintrags.
|
- Präzise Verwaltung der Einstellungen.
|
||||||
- Präzise Verwaltung der Parameter.
|
- Material Design.
|
||||||
|
- Unterstützung von .kdb- und .kdbx-Dateien (Version 1 bis 4) mit AES – Twofish – ChaCha20 – Argon2-Algorithmus.
|
||||||
|
- Kompatibel mit den meisten alternativen Programmen (KeePass, KeePassXC, KeeWeb, …).
|
||||||
- In nativen Sprachen geschriebener Code (Kotlin / Java / JNI / C).
|
- In nativen Sprachen geschriebener Code (Kotlin / Java / JNI / C).
|
||||||
|
|
||||||
Sie können spenden oder die Pro-Version kaufen, um einen besseren Service und eine schnelle Entwicklung der von Ihnen gewünschten Funktionen zu erhalten: <a href="https://play.google.com/store/apps/details?id=com.kunzisoft.keepass.pro">https://play.google.com/store/apps/details?id=com.kunzisoft.keepass.pro</a>
|
Sie können spenden oder die Pro-Version kaufen, um einen besseren Service und eine schnelle Entwicklung der von Ihnen gewünschten Funktionen zu erhalten: <a href="https://play.google.com/store/apps/details?id=com.kunzisoft.keepass.pro">https://play.google.com/store/apps/details?id=com.kunzisoft.keepass.pro</a>
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
Sicherer Open-Source-Passwort-Tresor und -Manager
|
Passkey/Passwort in einem lokalen Open-Source-Tresor verwalten
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
KeePassDX – FOSS-Passworttresor
|
KeePassDX Pass(key/wort)-Tresor
|
||||||
|
|||||||
5
fastlane/metadata/android/en-US/changelogs/146.txt
Normal file
5
fastlane/metadata/android/en-US/changelogs/146.txt
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
* Fix Magikeyboard autosearch #2233
|
||||||
|
* Fix database merge #2223
|
||||||
|
* Fix dialog database action #2234
|
||||||
|
* Fix autofill selection #2238 #2235
|
||||||
|
* Small fixes
|
||||||
4
fastlane/metadata/android/en-US/changelogs/147.txt
Normal file
4
fastlane/metadata/android/en-US/changelogs/147.txt
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
* Fix database merge algorithm #2223
|
||||||
|
* Fix save search info #2243
|
||||||
|
* Fix Play Service as privileged app for Passkey Cross Device Authentication #2244
|
||||||
|
* Small fixes
|
||||||
4
fastlane/metadata/android/en-US/changelogs/148.txt
Normal file
4
fastlane/metadata/android/en-US/changelogs/148.txt
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
* Fix multiple Passkey selection #2253
|
||||||
|
* Fix database dialog subtitle #2254
|
||||||
|
* Fix save search info if URL present #2255
|
||||||
|
* Small fixes
|
||||||
1
fastlane/metadata/android/en-US/changelogs/149.txt
Normal file
1
fastlane/metadata/android/en-US/changelogs/149.txt
Normal file
@@ -0,0 +1 @@
|
|||||||
|
* Fix remembering database location #2262
|
||||||
@@ -1 +1 @@
|
|||||||
KeePassDX - Pass(key/word) Vault
|
KeePassDX Pass(key/word) Vault
|
||||||
@@ -1 +1 @@
|
|||||||
KeePassDX - Contraseñas FOSS
|
KeePassDX Pass(key/word) Vault
|
||||||
|
|||||||
@@ -1,23 +1,25 @@
|
|||||||
KeePassDX on <b>salasõnalaegas ja -haldur</b>, mis võimaldab <b>muuta krüptitud andmeid avatud KeePass vormingus ühes failis</b> ja <b>täita vorme turvaliselt</b>, ei vaja <b>internetiühendust</b> ning järgib Androidi kujundus-standardeid. Rakendus on <b>avatud lähtekoodiga ja reklaamivaba</b>.
|
KeePassDX on avatud lähtekoodiga <b>salavõtmete ja salasõnade laegas ja -haldur</b>, mis võimaldab <b>muuta krüptitud andmeid avatud KeePass vormingus ühe failina</b> ja <b>täita vorme turvaliselt</b>, ei vaja <b>internetiühendust</b> ning järgib Androidi kujundus-standardeid. Rakendus on <b>avatud lähtekoodiga ja reklaamivaba</b>.
|
||||||
|
|
||||||
<b>Funktsionaaldus</b>
|
<b>Funktsionaalsus</b>
|
||||||
|
|
||||||
- Andmebaasi failide, kirjete ja gruppide loomine.
|
- Autentimiseks kasutatavad salavõtmed ja privaatvõtmete salvestamine kohalikus andmeruumis.
|
||||||
- .kdb ja .kdbx failide tugi (versioonid 1 kuni 4) AES - Twofish - ChaCha20 - Argon2 algoritmidega.
|
- .kdb ja .kdbx failide tugi (versioonid 1 kuni 4) AES - Twofish - ChaCha20 - Argon2 algoritmidega.
|
||||||
- Ühildub enamiku alternatiivsete prakendustega (KeePass, KeePassXC, KeeWeb, …).
|
|
||||||
- Kiire võrguaadresside (URI / URL) väljade avamine ja kopeerimine.
|
|
||||||
- Biomeetriline autentimine kiireks lukustuse eemaldamiseks (sõrmejälg / näotuvastus / …).
|
- Biomeetriline autentimine kiireks lukustuse eemaldamiseks (sõrmejälg / näotuvastus / …).
|
||||||
- Ühekordsete slasõnade haldus (HOTP / TOTP) kahefaktorilise autentimise (2FA) jaoks.
|
- Ühekordsete salasõnade haldus (HOTP / TOTP) kahefaktorilise autentimise (2FA) jaoks.
|
||||||
- MD kujunduskeel koos kujundustega.
|
- Automaattäide ja lõiming sisestusvormide mugavaks täitmiseks.
|
||||||
- Automaattäide ja lõiming.
|
- Maagiline klahvistik kõikide väljade tõhusaks täitmiseks.
|
||||||
- Klahvistik väljade täitmiseks.
|
- Krüptitud andmebaasifailide loomine.
|
||||||
- Dünaamilised mallid.
|
- Andmed on kirjete kaupa ja neid saad rühmitada gruppidena,
|
||||||
|
- Kiire võrguaadresside (URI / URL) väljade avamine ja kopeerimine.
|
||||||
|
- Dünaamilised mallid iga sisestustüübi jaoks.
|
||||||
- Iga kirje ajalugu.
|
- Iga kirje ajalugu.
|
||||||
- Täpne seadistuste haldus.
|
- Täpne seadistuste haldus.
|
||||||
- Lähtekood on kirjutatud platvormiomases keeltes (Kotlin / Java / JNI / C).
|
- MD kujunduskeel koos erinevate kujundustega.
|
||||||
|
- .kdb ja .kdbx failide tugi (versioonid 1 kuni 4), kui kasutusel on AES - Twofish - ChaCha20 - Argon2 algoritmid.
|
||||||
|
- Ühildub enamiku alternatiivsete rakendustega (KeePass, KeePassXC, KeeWeb, …).- Lähtekood on kirjutatud platvormiomases keeltes (Kotlin / Java / JNI / C).
|
||||||
|
|
||||||
Parema teenuse ja kiirema arendustöö huvides saad sa annetada või osta pro versiooni: <a href="https://play.google.com/store/apps/details?id=com.kunzisoft.keepass.pro">https://play.google.com/store/apps/details?id=com.kunzisoft.keepass.pro</a>
|
Parema teenuse ja kiirema arendustöö huvides saad sa annetada või osta pro versiooni: <a href="https://play.google.com/store/apps/details?id=com.kunzisoft.keepass.pro">https://play.google.com/store/apps/details?id=com.kunzisoft.keepass.pro</a>
|
||||||
|
|
||||||
Projekt areneb pidevalt. Ära kõhkle kontrollimast järgmiste arenduste olekut: <a href="https://github.com/Kunzisoft/KeePassDX/projects">https://github.com/Kunzisoft/KeePassDX/projects</a>
|
Projekt areneb pidevalt. Ära kõhkle kontrollimast järgmiste uuenduste ja arenduste olekut: <a href="https://github.com/Kunzisoft/KeePassDX/projects">https://github.com/Kunzisoft/KeePassDX/projects</a>
|
||||||
|
|
||||||
Veateated lisa palun siia: <a href="https://github.com/Kunzisoft/KeePassDX/issues">https://github.com/Kunzisoft/KeePassDX/issues</a>
|
Veateated lisa palun siia: <a href="https://github.com/Kunzisoft/KeePassDX/issues">https://github.com/Kunzisoft/KeePassDX/issues</a>
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
Turvaline avatud lähtekoodiga salasõnalaegas ja -haldur
|
Halda salasõnu ja -võtmeid avatud lähtekoodiga kohalikus salasõnalaekas
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
* Correction de la recherche URL #1940 #1946 #2003 #2040 #2044
|
* Correction de la recherche URL #1940 #1946 #2003 #2040 #2044
|
||||||
* Correction de la boite de dialogue de remplissage automatique #2054
|
* Correction de la boite de dialogue de remplissage automatique #2054
|
||||||
* Correction des notes de groupes #2053
|
* Correction des notes de groupes #2053
|
||||||
* Correction du fond de boite de dialogue #2005 #2004 (Thx @codokie)
|
* Correction du fond de boite de dialogue #2005 #2004 (Thx @codokie)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
* Correction de l'enregistrement pour le remplissage automatique #2089
|
* Correction de l'enregistrement pour le remplissage automatique #2089
|
||||||
* Correction des erreurs biométriques #2081
|
* Correction des erreurs biométriques #2081
|
||||||
* Correction du timestamp dans le fichier de copie #1981 #1983
|
* Correction du timestamp dans le fichier de copie #1981 #1983
|
||||||
* Correction des gabaris Email #1986
|
* Correction des gabaris Email #1986
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
* Correction UnlockManager #2098 #2101
|
* Correction UnlockManager #2098 #2101
|
||||||
* Invite de déverrouillage automatique de l'appareil #2105
|
* Invite de déverrouillage automatique de l'appareil #2105
|
||||||
* Petites corrections ##2066
|
* Petites corrections ##2066
|
||||||
@@ -1 +1 @@
|
|||||||
* Correction invite de commande auto #2111
|
* Correction invite de commande auto #2111
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
* Ouverture auto de la prompt biometrique depuis la liste des bases #2113
|
* Ouverture auto de la prompt biometrique depuis la liste des bases #2113
|
||||||
* Correction d'erreurs du Keystore #2114 #2115
|
* Correction d'erreurs du Keystore #2114 #2115
|
||||||
* Refactoring complet de l'invite biométrique pour une meilleure compatibilité
|
* Refactoring complet de l'invite biométrique pour une meilleure compatibilité
|
||||||
@@ -1 +1 @@
|
|||||||
* Correction du CipherDatabase pour les états biométriques #2119
|
* Correction du CipherDatabase pour les états biométriques #2119
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
* Mise à jour vers API 35 minimum SDK 19 #2073 #2138 #2067 #2133 (Thx @Dev-ClayP)
|
* Mise à jour vers API 35 minimum SDK 19 #2073 #2138 #2067 #2133 (Thx @Dev-ClayP)
|
||||||
* Gestion des Passkeys #1421 #2097 (Thx @cali-95)
|
* Gestion des Passkeys #1421 #2097 (Thx @cali-95)
|
||||||
* Garde en mémoire la lecture seule #2099 #2100 (Thx @rmacklin)
|
* Garde en mémoire la lecture seule #2099 #2100 (Thx @rmacklin)
|
||||||
* Petites corrections
|
* Petites corrections
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
* Mise à jour vers API 35 minimum SDK 19 #2073 #2138 #2067 #2133 #1687 (Thx @Dev-ClayP)
|
* Mise à jour vers API 35 minimum SDK 19 #2073 #2138 #2067 #2133 #1687 (Thx @Dev-ClayP)
|
||||||
* Sauvegarde du dernier état lecture seule #2099 #2100 (Thx @rmacklin)
|
* Sauvegarde du dernier état lecture seule #2099 #2100 (Thx @rmacklin)
|
||||||
* Correction de la suppression lors d'un merge #1516
|
* Correction de la suppression lors d'un merge #1516
|
||||||
* Correction des espaces dans la recherche #175
|
* Correction des espaces dans la recherche #175
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
* Gestion des Passkeys #1421 #2097 (Thx @cali-95)
|
* Gestion des Passkeys #1421 #2097 (Thx @cali-95)
|
||||||
* Confirmation de l'usage de passkey #2165
|
* Confirmation de l'usage de passkey #2165
|
||||||
* Dialogue pour gérer les signatures manquantes #2152 #2155 #2161 #2160
|
* Dialogue pour gérer les signatures manquantes #2152 #2155 #2161 #2160
|
||||||
* Capture des erreurs #2159
|
* Capture des erreurs #2159
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
* Correction de l'interface en paysage #2198 #2200 (@chenxiaolong)
|
* Correction de l'interface en paysage #2198 #2200 (@chenxiaolong)
|
||||||
* Correction du démarrage en boucle et de l'écran clignotant #2201
|
* Correction du démarrage en boucle et de l'écran clignotant #2201
|
||||||
* Petites corrections
|
* Petites corrections
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
* Gestion de Passkeys #1421 (Thx @cali-95)
|
* Gestion de Passkeys #1421 (Thx @cali-95)
|
||||||
* Paramètres de recherche #2112 #2181
|
* Paramètres de recherche #2112 #2181
|
||||||
* Paramètre de fermeture de la base après une sélection de Passkey #2187
|
* Paramètre de fermeture de la base après une sélection de Passkey #2187
|
||||||
* Mise en garde lors de l'écrasement d'un Passkey existant #21124
|
* Mise en garde lors de l'écrasement d'un Passkey existant #21124
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user